@mechris3/glassbox 0.1.42 → 0.1.43
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/package.json
CHANGED
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
<style>:root{--bg-deep:#0d1117;--bg-panel:#161b22;--bg-surface:#1c2128;--bg-elevated:#21262d;--accent-primary:#e5a00d;--accent-hover:#f0b429;--accent-muted:#9e7a0c;--text-primary:#e6edf3;--text-secondary:#b1bac4;--text-muted:#7d8590;--color-success:#2ea043;--color-danger:#da3633;--color-warning:#d29922;--color-breakpoint:#f85149;--border-color:#30363d;--border-subtle:#21262d;--shadow-sm:0 1px 2px rgba(0, 0, 0, .3);--shadow-md:0 4px 12px rgba(0, 0, 0, .4);--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;--font-mono:"SF Mono", "Fira Code", "Cascadia Code", Consolas, monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-deep);-webkit-font-smoothing:antialiased}</style><link rel="stylesheet" href="styles-HMZYQRBV.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-HMZYQRBV.css"></noscript></head>
|
|
10
10
|
<body>
|
|
11
11
|
<gb-root></gb-root>
|
|
12
|
-
<script src="polyfills-5CFQRCPP.js" type="module"></script><script src="main-
|
|
12
|
+
<script src="polyfills-5CFQRCPP.js" type="module"></script><script src="main-NJEEJWKJ.js" type="module"></script></body>
|
|
13
13
|
</html>
|
|
@@ -13,4 +13,4 @@ ${n.map((r,o)=>`${o+1}) ${r.toString()}`).join(`
|
|
|
13
13
|
`],encapsulation:2})};function FI(e,t){if(e&1&&(v(0,"span",6),_(1),E(),v(2,"span",7),_(3),E()),e&2){let n=U();T(),Rt("\u2713 ",n.passed),T(2),Rt("\u2717 ",n.failed)}}function PI(e,t){if(e&1&&ge(0,FI,4,2),e&2){let n=t;me(n.passed>0||n.failed>0?0:-1)}}var wa=class e{constructor(t){this.store=t;this.connectionStatus$=this.store.select(rm),this.summary$=this.store.select(om),this.fsmState$=this.store.select(Ko)}connectionStatus$;summary$;fsmState$;static \u0275fac=function(n){return new(n||e)(ue(Z))};static \u0275cmp=_e({type:e,selectors:[["gb-footer"]],decls:14,vars:12,consts:[[1,"gb-footer"],[1,"footer-left"],[1,"connection-dot"],[1,"footer-text"],[1,"footer-center"],[1,"footer-right"],[1,"result-passed"],[1,"result-failed"]],template:function(n,r){if(n&1&&(v(0,"footer",0)(1,"div",1),At(2,"span",2),W(3,"async"),v(4,"span",3),_(5),W(6,"async"),E()(),v(7,"div",4),ge(8,PI,1,1),W(9,"async"),E(),v(10,"div",5)(11,"span",3),_(12),W(13,"async"),E()()()),n&2){let o;T(2),Ye("data-status",q(3,4,r.connectionStatus$)),T(3),be(q(6,6,r.connectionStatus$)==="connected"?"Connected":"Disconnected"),T(3),me((o=q(9,8,r.summary$))?8:-1,o),T(4),be(q(13,10,r.fsmState$))}},dependencies:[ke,Ve],styles:[`.gb-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-md);background:var(--bg-panel);border-top:1px solid var(--border-color);font-size:12px}.gb-footer .footer-left,.gb-footer .footer-center,.gb-footer .footer-right{display:flex;align-items:center;gap:var(--space-sm)}.gb-footer .connection-dot{width:8px;height:8px;border-radius:50%;background:var(--color-danger)}.gb-footer .connection-dot[data-status=connected]{background:var(--color-success)}.gb-footer .footer-text{color:var(--text-muted);font-family:var(--font-mono)}.gb-footer .result-passed{color:var(--color-success);font-family:var(--font-mono)}.gb-footer .result-failed{color:var(--color-danger);font-family:var(--font-mono)}
|
|
14
14
|
`],encapsulation:2})};var LI=3e4,Ca=class e{constructor(t){this.store=t}ws=null;reconnectInterval=1e3;messageHandlers=new Map([["action",t=>this.store.dispatch(A.actionReceived({index:t.index,status:t.status,description:t.description}))],["test-start",t=>this.store.dispatch(A.testStarted({journey:t.journey}))],["test-end",t=>this.store.dispatch(A.testEnded({journey:t.journey,status:t.status,duration:t.duration}))],["run-end",()=>this.store.dispatch(A.runEnded())],["log",t=>this.store.dispatch(A.logReceived({message:t.message,journey:t.journey}))],["error",t=>this.store.dispatch(A.errorReceived({message:t.message,journey:t.journey}))],["ui-control",t=>{t.action==="pause"?this.store.dispatch(A.pausedByRunner()):t.action==="resume"&&this.store.dispatch(A.resumedByRunner())}]]);connect(){let n=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;this.ws=new WebSocket(n),this.ws.onopen=()=>{this.reconnectInterval=1e3,this.store.dispatch(A.connectionStatusChanged({status:"connected"}))},this.ws.onclose=()=>{this.store.dispatch(A.connectionStatusChanged({status:"disconnected"})),setTimeout(()=>this.connect(),this.reconnectInterval),this.reconnectInterval=Math.min(this.reconnectInterval*2,LI)},this.ws.onmessage=r=>{try{let o=JSON.parse(r.data);this.dispatchMessage(o)}catch(o){}},this.ws.onerror=()=>{this.ws?.close()}}dispatchMessage(t){let n=this.messageHandlers.get(t.type);n&&n(t)}static \u0275fac=function(n){return new(n||e)(D(Z))};static \u0275prov=S({token:e,factory:e.\u0275fac,providedIn:"root"})};function BI(e,t){e&1&&(Oe(0,"div",12)(1,"span",13),_(2,"\u2717"),ze(),Oe(3,"span",14),_(4),ze()()),e&2&&(T(4),be(t))}function VI(e,t){e&1&&Nt(0,"gb-action-log")}function $I(e,t){e&1&&Nt(0,"gb-console-output")}var Ia=class e{constructor(t,n,r){this.wsService=t;this.themeService=n;this.store=r;this.settingsOpen$=this.store.select(Xg),this.activeTab$=this.store.select(em),this.sidebarWidth$=this.store.select(tm),this.fsmState$=this.store.select(Ko),this.lastError$=this.store.select(cm)}settingsOpen$;activeTab$;sidebarWidth$;fsmState$;lastError$;ngOnInit(){this.wsService.connect(),this.themeService.initialize(),this.store.dispatch(H.loadSettings())}toggleSettings(){this.store.dispatch(H.toggleSettingsPanel())}setTab(t){this.store.dispatch(H.updateSetting({key:"activeTab",value:t}))}copyContent(){return Je(this,null,function*(){let[t,n,r]=yield Promise.all([Bt(this.activeTab$),Bt(this.store.select(ga)),Bt(this.store.select(ma))]),o=t==="actions"?n.map(i=>`[${i.index}] ${i.description}`).join(`
|
|
15
15
|
`):r.map(i=>i.message).join(`
|
|
16
|
-
`);navigator.clipboard.writeText(o)})}clearContent(){return Je(this,null,function*(){(yield Bt(this.activeTab$))==="actions"?this.store.dispatch(A.clearActions()):this.store.dispatch(A.clearConsole())})}startResize(t){return Je(this,null,function*(){t.preventDefault();let n=t.clientX,r=yield Bt(this.sidebarWidth$),o=r,i=a=>{o=Math.max(150,Math.min(500,r+(a.clientX-n)));let c=document.querySelector("gb-sidebar");c&&(c.style.width=`${o}px`)},s=()=>{document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",s),document.body.style.cursor="",document.body.style.userSelect="",this.store.dispatch(H.updateSetting({key:"sidebarWidth",value:o}))};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",i),document.addEventListener("mouseup",s)})}static \u0275fac=function(n){return new(n||e)(ue(Ca),ue(mn),ue(Z))};static \u0275cmp=_e({type:e,selectors:[["gb-root"]],decls:30,vars:23,consts:[[1,"app-layout"],[3,"settingsToggled"],[3,"isOpen"],[1,"main-layout"],[1,"resize-handle",3,"mousedown"],[1,"content"],[1,"tab-bar"],[1,"tab",3,"click"],[1,"tab-spacer"],["title","Copy to clipboard",1,"tab-action",3,"click"],["title","Clear",1,"tab-action",3,"click"],[1,"tab-content"],[1,"error-banner"],[1,"error-banner__icon"],[1,"error-banner__text"]],template:function(n,r){if(n&1&&(Oe(0,"div",0)(1,"gb-header",1),qt("settingsToggled",function(){return r.toggleSettings()}),ze(),Nt(2,"gb-settings-panel",2),W(3,"async"),Oe(4,"div",3),Nt(5,"gb-sidebar"),W(6,"async"),Oe(7,"div",4),qt("mousedown",function(i){return r.startResize(i)}),ze(),Oe(8,"main",5),Nt(9,"gb-toolbar"),Oe(10,"div",6)(11,"button",7),W(12,"async"),qt("click",function(){return r.setTab("actions")}),_(13," Actions "),ze(),Oe(14,"button",7),W(15,"async"),qt("click",function(){return r.setTab("console")}),_(16," Console "),ze(),Nt(17,"span",8),Oe(18,"button",9),qt("click",function(){return r.copyContent()}),_(19,"\u{1F4CB}"),ze(),Oe(20,"button",10),qt("click",function(){return r.clearContent()}),_(21,"\u{1F5D1}\uFE0F"),ze()(),Oe(22,"div",11),ge(23,BI,5,1,"div",12),W(24,"async"),W(25,"async"),ge(26,VI,1,0,"gb-action-log"),W(27,"async"),Oo(28,$I,1,0,"gb-console-output"),ze()()(),Nt(29,"gb-footer"),ze()),n&2){let o;T(2),Us("isOpen",q(3,9,r.settingsOpen$)??!1),T(3),Hs("width",q(6,11,r.sidebarWidth$)??240,"px"),T(6),Lo("active",q(12,13,r.activeTab$)==="actions"),T(3),Lo("active",q(15,15,r.activeTab$)==="console"),T(9),me((o=q(24,17,r.fsmState$)==="errored"&&q(25,19,r.lastError$))?23:-1,o),T(3),me(q(27,21,r.activeTab$)==="actions"?26:28)}},dependencies:[ke,da,pa,va,Ea,Da,ba,wa,Ve],styles:[".app-layout[_ngcontent-%COMP%]{display:grid;grid-template-rows:auto auto 1fr auto;height:100vh;overflow:hidden}.main-layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:auto 4px 1fr;overflow:hidden;min-height:0}.resize-handle[_ngcontent-%COMP%]{cursor:col-resize;background:var(--border-color);transition:background .15s}.resize-handle[_ngcontent-%COMP%]:hover{background:var(--accent-primary)}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow:hidden;min-height:0}.tab-bar[_ngcontent-%COMP%]{display:flex;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--border-color);background:var(--bg-panel);align-items:center}.tab[_ngcontent-%COMP%]{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--text-secondary);font-weight:500;border:none;background:none;cursor:pointer;transition:color .15s}.tab[_ngcontent-%COMP%]:hover{color:var(--text-primary)}.tab.active[_ngcontent-%COMP%]{color:var(--accent-primary);border-bottom:2px solid var(--accent-primary)}.tab-spacer[_ngcontent-%COMP%]{flex:1}.tab-action[_ngcontent-%COMP%]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;opacity:.6;transition:opacity .15s,background .15s}.tab-action[_ngcontent-%COMP%]:hover{opacity:1;background:var(--bg-elevated)}.tab-content[_ngcontent-%COMP%]{flex:1;overflow:auto;min-height:0}.error-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#f851491a;border-bottom:1px solid var(--color-danger);color:var(--color-danger);font-size:13px;font-family:var(--font-mono)}.error-banner__icon[_ngcontent-%COMP%]{font-weight:700}.error-banner__text[_ngcontent-%COMP%]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]})};var UI={dispatch:!0,functional:!1,useEffectsErrorHandler:!0},_a="__@ngrx/effects_create__";function $e(e,t={}){let n=t.functional?e:e(),r=y(y({},UI),t);return Object.defineProperty(n,_a,{value:r}),n}function HI(e){return Object.getOwnPropertyNames(e).filter(r=>e[r]&&e[r].hasOwnProperty(_a)?e[r][_a].hasOwnProperty("dispatch"):!1).map(r=>{let o=e[r][_a];return y({propertyName:r},o)})}function zI(e){return HI(e)}function um(e){return Object.getPrototypeOf(e)}function GI(e){return!!e.constructor&&e.constructor.name!=="Object"&&e.constructor.name!=="Function"}function lm(e){return typeof e=="function"}function WI(e){return e.filter(lm)}function qI(e,t,n){let r=um(e),i=!!r&&r.constructor.name!=="Object"?r.constructor.name:null,s=zI(e).map(({propertyName:a,dispatch:c,useEffectsErrorHandler:u})=>{let l=typeof e[a]=="function"?e[a]():e[a],d=u?n(l,t):l;return c===!1?d.pipe(Ka()):d.pipe(tc()).pipe(L(p=>({effect:e[a],notification:p,propertyName:a,sourceName:i,sourceInstance:e})))});return Sn(...s)}var ZI=10;function dm(e,t,n=ZI){return e.pipe(Ce(r=>(t&&t.handleError(r),n<=1?e:dm(e,t,n-1))))}var Ur=(()=>{class e extends j{constructor(n){super(),n&&(this.source=n)}lift(n){let r=new e;return r.source=this,r.operator=n,r}static{this.\u0275fac=function(r){return new(r||e)(D(Kn))}}static{this.\u0275prov=S({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Ue(...e){return fe(t=>e.some(n=>typeof n=="string"?n===t.type:n.type===t.type))}var YI=new w("@ngrx/effects Effects Error Handler",{providedIn:"root",factory:()=>dm}),JI="@ngrx/effects/init",QI=$l(JI);function KI(e,t){if(e.notification.kind==="N"){let n=e.notification.value;!XI(n)&&t.handleError(new Error(`Effect ${e_(e)} dispatched an invalid action: ${t_(n)}`))}}function XI(e){return typeof e!="function"&&e&&e.type&&typeof e.type=="string"}function e_({propertyName:e,sourceInstance:t,sourceName:n}){let r=typeof t[e]=="function";return!!n?`"${n}.${String(e)}${r?"()":""}"`:`"${String(e)}()"`}function t_(e){try{return JSON.stringify(e)}catch(t){return e}}var n_="ngrxOnIdentifyEffects";function r_(e){return ql(e,n_)}var o_="ngrxOnRunEffects";function i_(e){return ql(e,o_)}var s_="ngrxOnInitEffects";function a_(e){return ql(e,s_)}function ql(e,t){return e&&t in e&&typeof e[t]=="function"}var fm=(()=>{class e extends ve{constructor(n,r){super(),this.errorHandler=n,this.effectsErrorHandler=r}addEffects(n){this.next(n)}toActions(){return this.pipe(Ri(n=>GI(n)?um(n):n),Et(n=>n.pipe(Ri(c_))),Et(n=>{let r=n.pipe(fr(i=>u_(this.errorHandler,this.effectsErrorHandler)(i)),L(i=>(KI(i,this.errorHandler),i.notification)),fe(i=>i.kind==="N"&&i.value!=null),Xa()),o=n.pipe(Kr(1),fe(a_),L(i=>i.ngrxOnInitEffects()));return Sn(r,o)}))}static{this.\u0275fac=function(r){return new(r||e)(D(Ae),D(YI))}}static{this.\u0275prov=S({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function c_(e){return r_(e)?e.ngrxOnIdentifyEffects():""}function u_(e,t){return n=>{let r=qI(n,e,t);return i_(n)?n.ngrxOnRunEffects(r):r}}var l_=(()=>{class e{get isStarted(){return!!this.effectsSubscription}constructor(n,r){this.effectSources=n,this.store=r,this.effectsSubscription=null}start(){this.effectsSubscription||(this.effectsSubscription=this.effectSources.toActions().subscribe(this.store))}ngOnDestroy(){this.effectsSubscription&&(this.effectsSubscription.unsubscribe(),this.effectsSubscription=null)}static{this.\u0275fac=function(r){return new(r||e)(D(fm),D(Z))}}static{this.\u0275prov=S({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function pm(...e){let t=e.flat(),n=WI(t);return Xe([n,mr(()=>{g(Yo),g(ca,{optional:!0});let r=g(l_),o=g(fm),i=!r.isStarted;i&&r.start();for(let s of t){let a=lm(s)?g(s):s;o.addEffects(a)}i&&g(Z).dispatch(QI())})])}var ei="PERFORM_ACTION",d_="REFRESH",Em="RESET",Dm="ROLLBACK",bm="COMMIT",wm="SWEEP",Cm="TOGGLE_ACTION",f_="SET_ACTIONS_ACTIVE",Im="JUMP_TO_STATE",_m="JUMP_TO_ACTION",sd="IMPORT_STATE",Sm="LOCK_CHANGES",Tm="PAUSE_RECORDING",Hr=class{constructor(t,n){if(this.action=t,this.timestamp=n,this.type=ei,typeof t.type>"u")throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?')}},Zl=class{constructor(){this.type=d_}},Yl=class{constructor(t){this.timestamp=t,this.type=Em}},Jl=class{constructor(t){this.timestamp=t,this.type=Dm}},Ql=class{constructor(t){this.timestamp=t,this.type=bm}},Kl=class{constructor(){this.type=wm}},Xl=class{constructor(t){this.id=t,this.type=Cm}};var ed=class{constructor(t){this.index=t,this.type=Im}},td=class{constructor(t){this.actionId=t,this.type=_m}},nd=class{constructor(t){this.nextLiftedState=t,this.type=sd}},rd=class{constructor(t){this.status=t,this.type=Sm}},od=class{constructor(t){this.status=t,this.type=Tm}};var xa=new w("@ngrx/store-devtools Options"),hm=new w("@ngrx/store-devtools Initial Config");function Mm(){return null}var p_="NgRx Store DevTools";function h_(e){let t={maxAge:!1,monitor:Mm,actionSanitizer:void 0,stateSanitizer:void 0,name:p_,serialize:!1,logOnly:!1,autoPause:!1,trace:!1,traceLimit:75,features:{pause:!0,lock:!0,persist:!0,export:!0,import:"custom",jump:!0,skip:!0,reorder:!0,dispatch:!0,test:!0},connectInZone:!1},n=typeof e=="function"?e():e,r=n.logOnly?{pause:!0,export:!0,test:!0}:!1,o=n.features||r||t.features;o.import===!0&&(o.import="custom");let i=Object.assign({},t,{features:o},n);if(i.maxAge&&i.maxAge<2)throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${i.maxAge}`);return i}function gm(e,t){return e.filter(n=>t.indexOf(n)<0)}function xm(e){let{computedStates:t,currentStateIndex:n}=e;if(n>=t.length){let{state:o}=t[t.length-1];return o}let{state:r}=t[n];return r}function Xo(e){return new Hr(e,+Date.now())}function g_(e,t){return Object.keys(t).reduce((n,r)=>{let o=Number(r);return n[o]=Nm(e,t[o],o),n},{})}function Nm(e,t,n){return I(y({},t),{action:e(t.action,n)})}function m_(e,t){return t.map((n,r)=>({state:Am(e,n.state,r),error:n.error}))}function Am(e,t,n){return e(t,n)}function Rm(e){return e.predicate||e.actionsSafelist||e.actionsBlocklist}function y_(e,t,n,r){let o=[],i={},s=[];return e.stagedActionIds.forEach((a,c)=>{let u=e.actionsById[a];u&&(c&&ad(e.computedStates[c],u,t,n,r)||(i[a]=u,o.push(a),s.push(e.computedStates[c])))}),I(y({},e),{stagedActionIds:o,actionsById:i,computedStates:s})}function ad(e,t,n,r,o){let i=n&&!n(e,t.action),s=r&&!t.action.type.match(r.map(c=>mm(c)).join("|")),a=o&&t.action.type.match(o.map(c=>mm(c)).join("|"));return i||s||a}function mm(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Om(e){return{ngZone:e?g(re):null,connectInZone:e}}var Na=(()=>{class e extends Ot{static{this.\u0275fac=(()=>{let n;return function(o){return(n||(n=To(e)))(o||e)}})()}static{this.\u0275prov=S({token:e,factory:e.\u0275fac})}}return e})(),Sa={START:"START",DISPATCH:"DISPATCH",STOP:"STOP",ACTION:"ACTION"},id=new w("@ngrx/store-devtools Redux Devtools Extension"),km=(()=>{class e{constructor(n,r,o){this.config=r,this.dispatcher=o,this.zoneConfig=Om(this.config.connectInZone),this.devtoolsExtension=n,this.createActionStreams()}notify(n,r){if(this.devtoolsExtension)if(n.type===ei){if(r.isLocked||r.isPaused)return;let o=xm(r);if(Rm(this.config)&&ad(o,n,this.config.predicate,this.config.actionsSafelist,this.config.actionsBlocklist))return;let i=this.config.stateSanitizer?Am(this.config.stateSanitizer,o,r.currentStateIndex):o,s=this.config.actionSanitizer?Nm(this.config.actionSanitizer,n,r.nextActionId):n;this.sendToReduxDevtools(()=>this.extensionConnection.send(s,i))}else{let o=I(y({},r),{stagedActionIds:r.stagedActionIds,actionsById:this.config.actionSanitizer?g_(this.config.actionSanitizer,r.actionsById):r.actionsById,computedStates:this.config.stateSanitizer?m_(this.config.stateSanitizer,r.computedStates):r.computedStates});this.sendToReduxDevtools(()=>this.devtoolsExtension.send(null,o,this.getExtensionConfig(this.config)))}}createChangesObservable(){return this.devtoolsExtension?new j(n=>{let r=this.zoneConfig.connectInZone?this.zoneConfig.ngZone.runOutsideAngular(()=>this.devtoolsExtension.connect(this.getExtensionConfig(this.config))):this.devtoolsExtension.connect(this.getExtensionConfig(this.config));return this.extensionConnection=r,r.init(),r.subscribe(o=>n.next(o)),r.unsubscribe}):se}createActionStreams(){let n=this.createChangesObservable().pipe(ic()),r=n.pipe(fe(u=>u.type===Sa.START)),o=n.pipe(fe(u=>u.type===Sa.STOP)),i=n.pipe(fe(u=>u.type===Sa.DISPATCH),L(u=>this.unwrapAction(u.payload)),Jr(u=>u.type===sd?this.dispatcher.pipe(fe(l=>l.type===la),Qa(1e3),Qr(1e3),L(()=>u),Ce(()=>at(u)),Kr(1)):at(u))),a=n.pipe(fe(u=>u.type===Sa.ACTION),L(u=>this.unwrapAction(u.payload))).pipe(Tn(o)),c=i.pipe(Tn(o));this.start$=r.pipe(Tn(o)),this.actions$=this.start$.pipe(pe(()=>a)),this.liftedActions$=this.start$.pipe(pe(()=>c))}unwrapAction(n){return typeof n=="string"?(0,eval)(`(${n})`):n}getExtensionConfig(n){let r={name:n.name,features:n.features,serialize:n.serialize,autoPause:n.autoPause??!1,trace:n.trace??!1,traceLimit:n.traceLimit??75};return n.maxAge!==!1&&(r.maxAge=n.maxAge),r}sendToReduxDevtools(n){try{n()}catch(r){console.warn("@ngrx/store-devtools: something went wrong inside the redux devtools",r)}}static{this.\u0275fac=function(r){return new(r||e)(D(id),D(xa),D(Na))}}static{this.\u0275prov=S({token:e,factory:e.\u0275fac})}}return e})(),Ma={type:Jo},v_="@ngrx/store-devtools/recompute",E_={type:v_};function Fm(e,t,n,r,o){if(r)return{state:n,error:"Interrupted by an error up the chain"};let i=n,s;try{i=e(n,t)}catch(a){s=a.toString(),o.handleError(a)}return{state:i,error:s}}function Ta(e,t,n,r,o,i,s,a,c){if(t>=e.length&&e.length===i.length)return e;let u=e.slice(0,t),l=i.length-(c?1:0);for(let d=t;d<l;d++){let f=i[d],p=o[f].action,h=u[d-1],m=h?h.state:r,b=h?h.error:void 0,B=s.indexOf(f)>-1?h:Fm(n,p,m,b,a);u.push(B)}return c&&u.push(e[e.length-1]),u}function D_(e,t){return{monitorState:t(void 0,{}),nextActionId:1,actionsById:{0:Xo(Ma)},stagedActionIds:[0],skippedActionIds:[],committedState:e,currentStateIndex:0,computedStates:[],isLocked:!1,isPaused:!1}}function b_(e,t,n,r,o={}){return i=>(s,a)=>{let{monitorState:c,actionsById:u,nextActionId:l,stagedActionIds:d,skippedActionIds:f,committedState:p,currentStateIndex:h,computedStates:m,isLocked:b,isPaused:C}=s||t;s||(u=Object.create(u));function B(ee){let K=ee,Me=d.slice(1,K+1);for(let ot=0;ot<Me.length;ot++)if(m[ot+1].error){K=ot,Me=d.slice(1,K+1);break}else delete u[Me[ot]];f=f.filter(ot=>Me.indexOf(ot)===-1),d=[0,...d.slice(K+1)],p=m[K].state,m=m.slice(K),h=h>K?h-K:0}function de(){u={0:Xo(Ma)},l=1,d=[0],f=[],p=m[h].state,h=0,m=[]}let F=0;switch(a.type){case Sm:{b=a.status,F=1/0;break}case Tm:{C=a.status,C?(d=[...d,l],u[l]=new Hr({type:"@ngrx/devtools/pause"},+Date.now()),l++,F=d.length-1,m=m.concat(m[m.length-1]),h===d.length-2&&h++,F=1/0):de();break}case Em:{u={0:Xo(Ma)},l=1,d=[0],f=[],p=e,h=0,m=[];break}case bm:{de();break}case Dm:{u={0:Xo(Ma)},l=1,d=[0],f=[],h=0,m=[];break}case Cm:{let{id:ee}=a;f.indexOf(ee)===-1?f=[ee,...f]:f=f.filter(Me=>Me!==ee),F=d.indexOf(ee);break}case f_:{let{start:ee,end:K,active:Me}=a,ot=[];for(let ka=ee;ka<K;ka++)ot.push(ka);Me?f=gm(f,ot):f=[...f,...ot],F=d.indexOf(ee);break}case Im:{h=a.index,F=1/0;break}case _m:{let ee=d.indexOf(a.actionId);ee!==-1&&(h=ee),F=1/0;break}case wm:{d=gm(d,f),f=[],h=Math.min(h,d.length-1);break}case ei:{if(b)return s||t;if(C||s&&ad(s.computedStates[h],a,o.predicate,o.actionsSafelist,o.actionsBlocklist)){let K=m[m.length-1];m=[...m.slice(0,-1),Fm(i,a.action,K.state,K.error,n)],F=1/0;break}o.maxAge&&d.length===o.maxAge&&B(1),h===d.length-1&&h++;let ee=l++;u[ee]=a,d=[...d,ee],F=d.length-1;break}case sd:{({monitorState:c,actionsById:u,nextActionId:l,stagedActionIds:d,skippedActionIds:f,committedState:p,currentStateIndex:h,computedStates:m,isLocked:b,isPaused:C}=a.nextLiftedState);break}case Jo:{F=0,o.maxAge&&d.length>o.maxAge&&(m=Ta(m,F,i,p,u,d,f,n,C),B(d.length-o.maxAge),F=1/0);break}case la:{if(m.filter(K=>K.error).length>0)F=0,o.maxAge&&d.length>o.maxAge&&(m=Ta(m,F,i,p,u,d,f,n,C),B(d.length-o.maxAge),F=1/0);else{if(!C&&!b){h===d.length-1&&h++;let K=l++;u[K]=new Hr(a,+Date.now()),d=[...d,K],F=d.length-1,m=Ta(m,F,i,p,u,d,f,n,C)}m=m.map(K=>I(y({},K),{state:i(K.state,E_)})),h=d.length-1,o.maxAge&&d.length>o.maxAge&&B(d.length-o.maxAge),F=1/0}break}default:{F=1/0;break}}return m=Ta(m,F,i,p,u,d,f,n,C),c=r(c,a),{monitorState:c,actionsById:u,nextActionId:l,stagedActionIds:d,skippedActionIds:f,committedState:p,currentStateIndex:h,computedStates:m,isLocked:b,isPaused:C}}}var ym=(()=>{class e{constructor(n,r,o,i,s,a,c,u){let l=D_(c,u.monitor),d=b_(c,l,a,u.monitor,u),f=Sn(Sn(r.asObservable().pipe(sc(1)),i.actions$).pipe(L(Xo)),n,i.liftedActions$).pipe(jt(Yr)),p=o.pipe(L(d)),h=Om(u.connectInZone),m=new sr(1);this.liftedStateSubscription=f.pipe(Qe(p),vm(h),Xr(({state:B},[de,F])=>{let ee=F(B,de);return de.type!==ei&&Rm(u)&&(ee=y_(ee,u.predicate,u.actionsSafelist,u.actionsBlocklist)),i.notify(de,ee),{state:ee,action:de}},{state:l,action:null})).subscribe(({state:B,action:de})=>{if(m.next(B),de.type===ei){let F=de.action;s.next(F)}}),this.extensionStartSubscription=i.start$.pipe(vm(h)).subscribe(()=>{this.refresh()});let b=m.asObservable(),C=b.pipe(L(xm));Object.defineProperty(C,"state",{value:sa(C,{manualCleanup:!0,requireSync:!0})}),this.dispatcher=n,this.liftedState=b,this.state=C}ngOnDestroy(){this.liftedStateSubscription.unsubscribe(),this.extensionStartSubscription.unsubscribe()}dispatch(n){this.dispatcher.next(n)}next(n){this.dispatcher.next(n)}error(n){}complete(){}performAction(n){this.dispatch(new Hr(n,+Date.now()))}refresh(){this.dispatch(new Zl)}reset(){this.dispatch(new Yl(+Date.now()))}rollback(){this.dispatch(new Jl(+Date.now()))}commit(){this.dispatch(new Ql(+Date.now()))}sweep(){this.dispatch(new Kl)}toggleAction(n){this.dispatch(new Xl(n))}jumpToAction(n){this.dispatch(new td(n))}jumpToState(n){this.dispatch(new ed(n))}importState(n){this.dispatch(new nd(n))}lockChanges(n){this.dispatch(new rd(n))}pauseRecording(n){this.dispatch(new od(n))}static{this.\u0275fac=function(r){return new(r||e)(D(Na),D(Ot),D(Qn),D(km),D(Kn),D(Ae),D(Qo),D(xa))}}static{this.\u0275prov=S({token:e,factory:e.\u0275fac})}}return e})();function vm({ngZone:e,connectInZone:t}){return n=>t?new j(r=>n.subscribe({next:o=>e.run(()=>r.next(o)),error:o=>e.run(()=>r.error(o)),complete:()=>e.run(()=>r.complete())})):n}var w_=new w("@ngrx/store-devtools Is Devtools Extension or Monitor Present");function C_(e,t){return!!e||t.monitor!==Mm}function I_(){let e="__REDUX_DEVTOOLS_EXTENSION__";return typeof window=="object"&&typeof window[e]<"u"?window[e]:null}function __(e){return e.state}function Pm(e={}){return Xe([km,Na,ym,{provide:hm,useValue:e},{provide:w_,deps:[id,xa],useFactory:C_},{provide:id,useFactory:I_},{provide:xa,deps:[hm],useFactory:h_},{provide:Lr,deps:[ym],useFactory:__},{provide:Pr,useExisting:Na}])}var S_={fsmState:"idle",actions:[],breakpoints:[],consoleLogs:[],connectionStatus:"disconnected",results:[],currentJourney:null},Lm=Vr(S_,Q(A.play,e=>I(y({},e),{fsmState:"running",actions:[],consoleLogs:[],results:[]})),Q(A.pause,e=>I(y({},e),{fsmState:"paused"})),Q(A.resume,e=>I(y({},e),{fsmState:"running"})),Q(A.step,e=>I(y({},e),{fsmState:"stepping"})),Q(A.stop,e=>I(y({},e),{fsmState:"idle"})),Q(A.pausedByRunner,e=>I(y({},e),{fsmState:"paused"})),Q(A.resumedByRunner,e=>I(y({},e),{fsmState:"running"})),Q(A.runEnded,e=>I(y({},e),{fsmState:"idle"})),Q(A.actionReceived,(e,{index:t,status:n,description:r})=>{let o=e.actions.find(a=>a.index===t),i=T_(n),s=n==="breakpoint"&&!e.breakpoints.includes(t)?[...e.breakpoints,t]:e.breakpoints;return o?I(y({},e),{breakpoints:s,actions:e.actions.map(a=>a.index===t?I(y({},a),{status:i}):a),fsmState:n==="breakpoint"?"paused":e.fsmState}):I(y({},e),{breakpoints:s,actions:[...e.actions,{index:t,description:r??"",status:i,hasBreakpoint:s.includes(t)}],fsmState:n==="breakpoint"?"paused":e.fsmState})}),Q(A.testStarted,(e,{journey:t})=>I(y({},e),{currentJourney:t,actions:[],consoleLogs:[...e.consoleLogs,{type:"separator",message:t,timestamp:Date.now()}]})),Q(A.testEnded,(e,{journey:t,status:n,duration:r})=>I(y({},e),{results:[...e.results,{journey:t,status:n,duration:r}],currentJourney:null,actions:n==="failed"?e.actions.map(o=>o.status==="running"?I(y({},o),{status:"failed"}):o):e.actions,fsmState:n==="failed"?"errored":e.fsmState})),Q(A.logReceived,(e,{message:t})=>I(y({},e),{consoleLogs:[...e.consoleLogs,{type:"log",message:t,timestamp:Date.now()}]})),Q(A.errorReceived,(e,{message:t})=>I(y({},e),{consoleLogs:[...e.consoleLogs,{type:"error",message:t,timestamp:Date.now()}]})),Q(A.connectionStatusChanged,(e,{status:t})=>I(y({},e),{connectionStatus:t})),Q(A.toggleBreakpoint,(e,{index:t})=>{let n=e.breakpoints.includes(t);return I(y({},e),{breakpoints:n?e.breakpoints.filter(r=>r!==t):[...e.breakpoints,t]})}),Q(A.clearActions,e=>I(y({},e),{actions:[]})),Q(A.clearConsole,e=>I(y({},e),{consoleLogs:[]})));function T_(e){switch(e){case"start":return"running";case"complete":return"complete";case"breakpoint":return"breakpoint";default:return"pending"}}var M_={journeys:[],selectedIds:[],loading:!1},jm=Vr(M_,Q(Te.loadJourneys,e=>I(y({},e),{loading:!0})),Q(Te.loadJourneysSuccess,(e,{journeys:t})=>I(y({},e),{journeys:t,selectedIds:e.selectedIds.length>0?e.selectedIds:t.map(n=>n.id),loading:!1})),Q(Te.toggleJourney,(e,{id:t})=>{let n=e.selectedIds.includes(t);return I(y({},e),{selectedIds:n?e.selectedIds.filter(r=>r!==t):[...e.selectedIds,t]})}),Q(Te.selectAll,e=>I(y({},e),{selectedIds:e.journeys.map(t=>t.id)})),Q(Te.deselectAll,e=>I(y({},e),{selectedIds:[]})),Q(H.loadSettingsSuccess,(e,{settings:t})=>{let n=t.selectedJourneyIds;return n&&n.length>0?I(y({},e),{selectedIds:n}):e}));var x_={targetUrl:"http://localhost:3000",browserPath:"",userDataDir:"",viewportWidth:1280,viewportHeight:720,actionDelay:0,devtools:!1,headless:!1,keepBrowserOpen:!1,settingsPanelOpen:!1,activeTab:"actions",sidebarWidth:240,selectedJourneyIds:[],targetUrlHistory:[],theme:""},Bm=Vr(x_,Q(H.loadSettingsSuccess,(e,{settings:t})=>y(y({},e),t)),Q(H.updateSetting,(e,{key:t,value:n})=>{let r=I(y({},e),{[t]:n});if(t==="targetUrl"&&typeof n=="string"&&n.trim()){let o=e.targetUrlHistory.filter(i=>i!==n);r.targetUrlHistory=[n,...o].slice(0,10)}return r}),Q(H.toggleSettingsPanel,e=>I(y({},e),{settingsPanelOpen:!e.settingsPanelOpen})),Q(H.removeUrlFromHistory,(e,{url:t})=>I(y({},e),{targetUrlHistory:e.targetUrlHistory.filter(n=>n!==t)})));var Aa=class e{actions$=g(Ur);api=g(Ft);store=g(Z);play$=$e(()=>this.actions$.pipe(Ue(A.play),Qe(this.store.select(Wl),this.store.select(nm)),fr(([,t,n])=>this.api.runTests(t,n).pipe(Ce(()=>se)))),{dispatch:!1});pause$=$e(()=>this.actions$.pipe(Ue(A.pause),pe(()=>this.api.pauseTests().pipe(Ce(()=>se)))),{dispatch:!1});resume$=$e(()=>this.actions$.pipe(Ue(A.resume),pe(()=>this.api.resumeTests().pipe(Ce(()=>se)))),{dispatch:!1});step$=$e(()=>this.actions$.pipe(Ue(A.step),pe(()=>this.api.stepTests().pipe(Ce(()=>se)))),{dispatch:!1});stop$=$e(()=>this.actions$.pipe(Ue(A.stop),pe(()=>this.api.stopTests().pipe(Ce(()=>se)))),{dispatch:!1});updateConfig$=$e(()=>this.actions$.pipe(Ue(A.updateConfig),pe(({actionDelay:t})=>this.api.updateConfig({actionDelay:t}).pipe(Ce(()=>se)))),{dispatch:!1});syncBreakpoints$=$e(()=>this.actions$.pipe(Ue(A.toggleBreakpoint),Qe(this.store.select(ya),this.store.select(Wl)),pe(([,t,n])=>{let r=n[0]??"";return r?this.api.setBreakpoints(r,t).pipe(Ce(()=>se)):se})),{dispatch:!1});static \u0275fac=function(n){return new(n||e)};static \u0275prov=S({token:e,factory:e.\u0275fac})};var Ra=class e{actions$=g(Ur);api=g(Ft);store=g(Z);themeService=g(mn);loadSettings$=$e(()=>this.actions$.pipe(Ue(H.loadSettings),pe(()=>this.api.getSettings()),L(t=>H.loadSettingsSuccess({settings:t}))));applyTheme$=$e(()=>this.actions$.pipe(Ue(H.loadSettingsSuccess),ct(({settings:t})=>{this.themeService.applyFromSettings(t.theme)})),{dispatch:!1});saveSettings$=$e(()=>this.actions$.pipe(Ue(H.updateSetting,H.toggleSettingsPanel,H.removeUrlFromHistory),Qr(500),Qe(this.store.select(fa)),pe(([,t])=>this.api.saveSettings(t).pipe(Ce(()=>se)))),{dispatch:!1});static \u0275fac=function(n){return new(n||e)};static \u0275prov=S({token:e,factory:e.\u0275fac})};var Oa=class e{actions$=g(Ur);api=g(Ft);store=g(Z);loadJourneys$=$e(()=>this.actions$.pipe(Ue(Te.loadJourneys),pe(()=>this.api.getJourneys().pipe(L(t=>Te.loadJourneysSuccess({journeys:t})),Ce(()=>se)))));persistSelection$=$e(()=>this.actions$.pipe(Ue(Te.toggleJourney,Te.selectAll,Te.deselectAll),Qe(this.store.select($r)),ct(([,t])=>{this.store.dispatch(H.updateSetting({key:"selectedJourneyIds",value:t}))})),{dispatch:!1});static \u0275fac=function(n){return new(n||e)};static \u0275prov=S({token:e,factory:e.\u0275fac})};var Vm={providers:[rg({eventCoalescing:!0}),kl(),Qg({execution:Lm,journeys:jm,settings:Bm}),pm(Aa,Ra,Oa),Pm({maxAge:50,logOnly:!Vo(),name:"Glassbox"})]};xl(Ia,Vm).catch(e=>console.error(e));
|
|
16
|
+
`);navigator.clipboard.writeText(o)})}clearContent(){return Je(this,null,function*(){(yield Bt(this.activeTab$))==="actions"?this.store.dispatch(A.clearActions()):this.store.dispatch(A.clearConsole())})}startResize(t){return Je(this,null,function*(){t.preventDefault();let n=t.clientX,r=yield Bt(this.sidebarWidth$),o=r,i=a=>{o=Math.max(150,Math.min(500,r+(a.clientX-n)));let c=document.querySelector("gb-sidebar");c&&(c.style.width=`${o}px`)},s=()=>{document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",s),document.body.style.cursor="",document.body.style.userSelect="",this.store.dispatch(H.updateSetting({key:"sidebarWidth",value:o}))};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",i),document.addEventListener("mouseup",s)})}static \u0275fac=function(n){return new(n||e)(ue(Ca),ue(mn),ue(Z))};static \u0275cmp=_e({type:e,selectors:[["gb-root"]],decls:30,vars:23,consts:[[1,"app-layout"],[3,"settingsToggled"],[3,"isOpen"],[1,"main-layout"],[1,"resize-handle",3,"mousedown"],[1,"content"],[1,"tab-bar"],[1,"tab",3,"click"],[1,"tab-spacer"],["title","Copy to clipboard",1,"tab-action",3,"click"],["title","Clear",1,"tab-action",3,"click"],[1,"tab-content"],[1,"error-banner"],[1,"error-banner__icon"],[1,"error-banner__text"]],template:function(n,r){if(n&1&&(Oe(0,"div",0)(1,"gb-header",1),qt("settingsToggled",function(){return r.toggleSettings()}),ze(),Nt(2,"gb-settings-panel",2),W(3,"async"),Oe(4,"div",3),Nt(5,"gb-sidebar"),W(6,"async"),Oe(7,"div",4),qt("mousedown",function(i){return r.startResize(i)}),ze(),Oe(8,"main",5),Nt(9,"gb-toolbar"),Oe(10,"div",6)(11,"button",7),W(12,"async"),qt("click",function(){return r.setTab("actions")}),_(13," Actions "),ze(),Oe(14,"button",7),W(15,"async"),qt("click",function(){return r.setTab("console")}),_(16," Console "),ze(),Nt(17,"span",8),Oe(18,"button",9),qt("click",function(){return r.copyContent()}),_(19,"\u{1F4CB}"),ze(),Oe(20,"button",10),qt("click",function(){return r.clearContent()}),_(21,"\u{1F5D1}\uFE0F"),ze()(),Oe(22,"div",11),ge(23,BI,5,1,"div",12),W(24,"async"),W(25,"async"),ge(26,VI,1,0,"gb-action-log"),W(27,"async"),Oo(28,$I,1,0,"gb-console-output"),ze()()(),Nt(29,"gb-footer"),ze()),n&2){let o;T(2),Us("isOpen",q(3,9,r.settingsOpen$)??!1),T(3),Hs("width",q(6,11,r.sidebarWidth$)??240,"px"),T(6),Lo("active",q(12,13,r.activeTab$)==="actions"),T(3),Lo("active",q(15,15,r.activeTab$)==="console"),T(9),me((o=q(24,17,r.fsmState$)==="errored"&&q(25,19,r.lastError$))?23:-1,o),T(3),me(q(27,21,r.activeTab$)==="actions"?26:28)}},dependencies:[ke,da,pa,va,Ea,Da,ba,wa,Ve],styles:[".app-layout[_ngcontent-%COMP%]{display:grid;grid-template-rows:auto auto 1fr auto;height:100vh;overflow:hidden}.main-layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:auto 4px 1fr;overflow:hidden;min-height:0}.resize-handle[_ngcontent-%COMP%]{cursor:col-resize;background:var(--border-color);transition:background .15s}.resize-handle[_ngcontent-%COMP%]:hover{background:var(--accent-primary)}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow:hidden;min-height:0}.tab-bar[_ngcontent-%COMP%]{display:flex;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--border-color);background:var(--bg-panel);align-items:center}.tab[_ngcontent-%COMP%]{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--text-secondary);font-weight:500;border:none;background:none;cursor:pointer;transition:color .15s}.tab[_ngcontent-%COMP%]:hover{color:var(--text-primary)}.tab.active[_ngcontent-%COMP%]{color:var(--accent-primary);border-bottom:2px solid var(--accent-primary)}.tab-spacer[_ngcontent-%COMP%]{flex:1}.tab-action[_ngcontent-%COMP%]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;opacity:.6;transition:opacity .15s,background .15s}.tab-action[_ngcontent-%COMP%]:hover{opacity:1;background:var(--bg-elevated)}.tab-content[_ngcontent-%COMP%]{flex:1;overflow:auto;min-height:0}.error-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#f851491a;border-bottom:1px solid var(--color-danger);color:var(--color-danger);font-size:13px;font-family:var(--font-mono)}.error-banner__icon[_ngcontent-%COMP%]{font-weight:700}.error-banner__text[_ngcontent-%COMP%]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]})};var UI={dispatch:!0,functional:!1,useEffectsErrorHandler:!0},_a="__@ngrx/effects_create__";function $e(e,t={}){let n=t.functional?e:e(),r=y(y({},UI),t);return Object.defineProperty(n,_a,{value:r}),n}function HI(e){return Object.getOwnPropertyNames(e).filter(r=>e[r]&&e[r].hasOwnProperty(_a)?e[r][_a].hasOwnProperty("dispatch"):!1).map(r=>{let o=e[r][_a];return y({propertyName:r},o)})}function zI(e){return HI(e)}function um(e){return Object.getPrototypeOf(e)}function GI(e){return!!e.constructor&&e.constructor.name!=="Object"&&e.constructor.name!=="Function"}function lm(e){return typeof e=="function"}function WI(e){return e.filter(lm)}function qI(e,t,n){let r=um(e),i=!!r&&r.constructor.name!=="Object"?r.constructor.name:null,s=zI(e).map(({propertyName:a,dispatch:c,useEffectsErrorHandler:u})=>{let l=typeof e[a]=="function"?e[a]():e[a],d=u?n(l,t):l;return c===!1?d.pipe(Ka()):d.pipe(tc()).pipe(L(p=>({effect:e[a],notification:p,propertyName:a,sourceName:i,sourceInstance:e})))});return Sn(...s)}var ZI=10;function dm(e,t,n=ZI){return e.pipe(Ce(r=>(t&&t.handleError(r),n<=1?e:dm(e,t,n-1))))}var Ur=(()=>{class e extends j{constructor(n){super(),n&&(this.source=n)}lift(n){let r=new e;return r.source=this,r.operator=n,r}static{this.\u0275fac=function(r){return new(r||e)(D(Kn))}}static{this.\u0275prov=S({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Ue(...e){return fe(t=>e.some(n=>typeof n=="string"?n===t.type:n.type===t.type))}var YI=new w("@ngrx/effects Effects Error Handler",{providedIn:"root",factory:()=>dm}),JI="@ngrx/effects/init",QI=$l(JI);function KI(e,t){if(e.notification.kind==="N"){let n=e.notification.value;!XI(n)&&t.handleError(new Error(`Effect ${e_(e)} dispatched an invalid action: ${t_(n)}`))}}function XI(e){return typeof e!="function"&&e&&e.type&&typeof e.type=="string"}function e_({propertyName:e,sourceInstance:t,sourceName:n}){let r=typeof t[e]=="function";return!!n?`"${n}.${String(e)}${r?"()":""}"`:`"${String(e)}()"`}function t_(e){try{return JSON.stringify(e)}catch(t){return e}}var n_="ngrxOnIdentifyEffects";function r_(e){return ql(e,n_)}var o_="ngrxOnRunEffects";function i_(e){return ql(e,o_)}var s_="ngrxOnInitEffects";function a_(e){return ql(e,s_)}function ql(e,t){return e&&t in e&&typeof e[t]=="function"}var fm=(()=>{class e extends ve{constructor(n,r){super(),this.errorHandler=n,this.effectsErrorHandler=r}addEffects(n){this.next(n)}toActions(){return this.pipe(Ri(n=>GI(n)?um(n):n),Et(n=>n.pipe(Ri(c_))),Et(n=>{let r=n.pipe(fr(i=>u_(this.errorHandler,this.effectsErrorHandler)(i)),L(i=>(KI(i,this.errorHandler),i.notification)),fe(i=>i.kind==="N"&&i.value!=null),Xa()),o=n.pipe(Kr(1),fe(a_),L(i=>i.ngrxOnInitEffects()));return Sn(r,o)}))}static{this.\u0275fac=function(r){return new(r||e)(D(Ae),D(YI))}}static{this.\u0275prov=S({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function c_(e){return r_(e)?e.ngrxOnIdentifyEffects():""}function u_(e,t){return n=>{let r=qI(n,e,t);return i_(n)?n.ngrxOnRunEffects(r):r}}var l_=(()=>{class e{get isStarted(){return!!this.effectsSubscription}constructor(n,r){this.effectSources=n,this.store=r,this.effectsSubscription=null}start(){this.effectsSubscription||(this.effectsSubscription=this.effectSources.toActions().subscribe(this.store))}ngOnDestroy(){this.effectsSubscription&&(this.effectsSubscription.unsubscribe(),this.effectsSubscription=null)}static{this.\u0275fac=function(r){return new(r||e)(D(fm),D(Z))}}static{this.\u0275prov=S({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function pm(...e){let t=e.flat(),n=WI(t);return Xe([n,mr(()=>{g(Yo),g(ca,{optional:!0});let r=g(l_),o=g(fm),i=!r.isStarted;i&&r.start();for(let s of t){let a=lm(s)?g(s):s;o.addEffects(a)}i&&g(Z).dispatch(QI())})])}var ei="PERFORM_ACTION",d_="REFRESH",Em="RESET",Dm="ROLLBACK",bm="COMMIT",wm="SWEEP",Cm="TOGGLE_ACTION",f_="SET_ACTIONS_ACTIVE",Im="JUMP_TO_STATE",_m="JUMP_TO_ACTION",sd="IMPORT_STATE",Sm="LOCK_CHANGES",Tm="PAUSE_RECORDING",Hr=class{constructor(t,n){if(this.action=t,this.timestamp=n,this.type=ei,typeof t.type>"u")throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?')}},Zl=class{constructor(){this.type=d_}},Yl=class{constructor(t){this.timestamp=t,this.type=Em}},Jl=class{constructor(t){this.timestamp=t,this.type=Dm}},Ql=class{constructor(t){this.timestamp=t,this.type=bm}},Kl=class{constructor(){this.type=wm}},Xl=class{constructor(t){this.id=t,this.type=Cm}};var ed=class{constructor(t){this.index=t,this.type=Im}},td=class{constructor(t){this.actionId=t,this.type=_m}},nd=class{constructor(t){this.nextLiftedState=t,this.type=sd}},rd=class{constructor(t){this.status=t,this.type=Sm}},od=class{constructor(t){this.status=t,this.type=Tm}};var xa=new w("@ngrx/store-devtools Options"),hm=new w("@ngrx/store-devtools Initial Config");function Mm(){return null}var p_="NgRx Store DevTools";function h_(e){let t={maxAge:!1,monitor:Mm,actionSanitizer:void 0,stateSanitizer:void 0,name:p_,serialize:!1,logOnly:!1,autoPause:!1,trace:!1,traceLimit:75,features:{pause:!0,lock:!0,persist:!0,export:!0,import:"custom",jump:!0,skip:!0,reorder:!0,dispatch:!0,test:!0},connectInZone:!1},n=typeof e=="function"?e():e,r=n.logOnly?{pause:!0,export:!0,test:!0}:!1,o=n.features||r||t.features;o.import===!0&&(o.import="custom");let i=Object.assign({},t,{features:o},n);if(i.maxAge&&i.maxAge<2)throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${i.maxAge}`);return i}function gm(e,t){return e.filter(n=>t.indexOf(n)<0)}function xm(e){let{computedStates:t,currentStateIndex:n}=e;if(n>=t.length){let{state:o}=t[t.length-1];return o}let{state:r}=t[n];return r}function Xo(e){return new Hr(e,+Date.now())}function g_(e,t){return Object.keys(t).reduce((n,r)=>{let o=Number(r);return n[o]=Nm(e,t[o],o),n},{})}function Nm(e,t,n){return I(y({},t),{action:e(t.action,n)})}function m_(e,t){return t.map((n,r)=>({state:Am(e,n.state,r),error:n.error}))}function Am(e,t,n){return e(t,n)}function Rm(e){return e.predicate||e.actionsSafelist||e.actionsBlocklist}function y_(e,t,n,r){let o=[],i={},s=[];return e.stagedActionIds.forEach((a,c)=>{let u=e.actionsById[a];u&&(c&&ad(e.computedStates[c],u,t,n,r)||(i[a]=u,o.push(a),s.push(e.computedStates[c])))}),I(y({},e),{stagedActionIds:o,actionsById:i,computedStates:s})}function ad(e,t,n,r,o){let i=n&&!n(e,t.action),s=r&&!t.action.type.match(r.map(c=>mm(c)).join("|")),a=o&&t.action.type.match(o.map(c=>mm(c)).join("|"));return i||s||a}function mm(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Om(e){return{ngZone:e?g(re):null,connectInZone:e}}var Na=(()=>{class e extends Ot{static{this.\u0275fac=(()=>{let n;return function(o){return(n||(n=To(e)))(o||e)}})()}static{this.\u0275prov=S({token:e,factory:e.\u0275fac})}}return e})(),Sa={START:"START",DISPATCH:"DISPATCH",STOP:"STOP",ACTION:"ACTION"},id=new w("@ngrx/store-devtools Redux Devtools Extension"),km=(()=>{class e{constructor(n,r,o){this.config=r,this.dispatcher=o,this.zoneConfig=Om(this.config.connectInZone),this.devtoolsExtension=n,this.createActionStreams()}notify(n,r){if(this.devtoolsExtension)if(n.type===ei){if(r.isLocked||r.isPaused)return;let o=xm(r);if(Rm(this.config)&&ad(o,n,this.config.predicate,this.config.actionsSafelist,this.config.actionsBlocklist))return;let i=this.config.stateSanitizer?Am(this.config.stateSanitizer,o,r.currentStateIndex):o,s=this.config.actionSanitizer?Nm(this.config.actionSanitizer,n,r.nextActionId):n;this.sendToReduxDevtools(()=>this.extensionConnection.send(s,i))}else{let o=I(y({},r),{stagedActionIds:r.stagedActionIds,actionsById:this.config.actionSanitizer?g_(this.config.actionSanitizer,r.actionsById):r.actionsById,computedStates:this.config.stateSanitizer?m_(this.config.stateSanitizer,r.computedStates):r.computedStates});this.sendToReduxDevtools(()=>this.devtoolsExtension.send(null,o,this.getExtensionConfig(this.config)))}}createChangesObservable(){return this.devtoolsExtension?new j(n=>{let r=this.zoneConfig.connectInZone?this.zoneConfig.ngZone.runOutsideAngular(()=>this.devtoolsExtension.connect(this.getExtensionConfig(this.config))):this.devtoolsExtension.connect(this.getExtensionConfig(this.config));return this.extensionConnection=r,r.init(),r.subscribe(o=>n.next(o)),r.unsubscribe}):se}createActionStreams(){let n=this.createChangesObservable().pipe(ic()),r=n.pipe(fe(u=>u.type===Sa.START)),o=n.pipe(fe(u=>u.type===Sa.STOP)),i=n.pipe(fe(u=>u.type===Sa.DISPATCH),L(u=>this.unwrapAction(u.payload)),Jr(u=>u.type===sd?this.dispatcher.pipe(fe(l=>l.type===la),Qa(1e3),Qr(1e3),L(()=>u),Ce(()=>at(u)),Kr(1)):at(u))),a=n.pipe(fe(u=>u.type===Sa.ACTION),L(u=>this.unwrapAction(u.payload))).pipe(Tn(o)),c=i.pipe(Tn(o));this.start$=r.pipe(Tn(o)),this.actions$=this.start$.pipe(pe(()=>a)),this.liftedActions$=this.start$.pipe(pe(()=>c))}unwrapAction(n){return typeof n=="string"?(0,eval)(`(${n})`):n}getExtensionConfig(n){let r={name:n.name,features:n.features,serialize:n.serialize,autoPause:n.autoPause??!1,trace:n.trace??!1,traceLimit:n.traceLimit??75};return n.maxAge!==!1&&(r.maxAge=n.maxAge),r}sendToReduxDevtools(n){try{n()}catch(r){console.warn("@ngrx/store-devtools: something went wrong inside the redux devtools",r)}}static{this.\u0275fac=function(r){return new(r||e)(D(id),D(xa),D(Na))}}static{this.\u0275prov=S({token:e,factory:e.\u0275fac})}}return e})(),Ma={type:Jo},v_="@ngrx/store-devtools/recompute",E_={type:v_};function Fm(e,t,n,r,o){if(r)return{state:n,error:"Interrupted by an error up the chain"};let i=n,s;try{i=e(n,t)}catch(a){s=a.toString(),o.handleError(a)}return{state:i,error:s}}function Ta(e,t,n,r,o,i,s,a,c){if(t>=e.length&&e.length===i.length)return e;let u=e.slice(0,t),l=i.length-(c?1:0);for(let d=t;d<l;d++){let f=i[d],p=o[f].action,h=u[d-1],m=h?h.state:r,b=h?h.error:void 0,B=s.indexOf(f)>-1?h:Fm(n,p,m,b,a);u.push(B)}return c&&u.push(e[e.length-1]),u}function D_(e,t){return{monitorState:t(void 0,{}),nextActionId:1,actionsById:{0:Xo(Ma)},stagedActionIds:[0],skippedActionIds:[],committedState:e,currentStateIndex:0,computedStates:[],isLocked:!1,isPaused:!1}}function b_(e,t,n,r,o={}){return i=>(s,a)=>{let{monitorState:c,actionsById:u,nextActionId:l,stagedActionIds:d,skippedActionIds:f,committedState:p,currentStateIndex:h,computedStates:m,isLocked:b,isPaused:C}=s||t;s||(u=Object.create(u));function B(ee){let K=ee,Me=d.slice(1,K+1);for(let ot=0;ot<Me.length;ot++)if(m[ot+1].error){K=ot,Me=d.slice(1,K+1);break}else delete u[Me[ot]];f=f.filter(ot=>Me.indexOf(ot)===-1),d=[0,...d.slice(K+1)],p=m[K].state,m=m.slice(K),h=h>K?h-K:0}function de(){u={0:Xo(Ma)},l=1,d=[0],f=[],p=m[h].state,h=0,m=[]}let F=0;switch(a.type){case Sm:{b=a.status,F=1/0;break}case Tm:{C=a.status,C?(d=[...d,l],u[l]=new Hr({type:"@ngrx/devtools/pause"},+Date.now()),l++,F=d.length-1,m=m.concat(m[m.length-1]),h===d.length-2&&h++,F=1/0):de();break}case Em:{u={0:Xo(Ma)},l=1,d=[0],f=[],p=e,h=0,m=[];break}case bm:{de();break}case Dm:{u={0:Xo(Ma)},l=1,d=[0],f=[],h=0,m=[];break}case Cm:{let{id:ee}=a;f.indexOf(ee)===-1?f=[ee,...f]:f=f.filter(Me=>Me!==ee),F=d.indexOf(ee);break}case f_:{let{start:ee,end:K,active:Me}=a,ot=[];for(let ka=ee;ka<K;ka++)ot.push(ka);Me?f=gm(f,ot):f=[...f,...ot],F=d.indexOf(ee);break}case Im:{h=a.index,F=1/0;break}case _m:{let ee=d.indexOf(a.actionId);ee!==-1&&(h=ee),F=1/0;break}case wm:{d=gm(d,f),f=[],h=Math.min(h,d.length-1);break}case ei:{if(b)return s||t;if(C||s&&ad(s.computedStates[h],a,o.predicate,o.actionsSafelist,o.actionsBlocklist)){let K=m[m.length-1];m=[...m.slice(0,-1),Fm(i,a.action,K.state,K.error,n)],F=1/0;break}o.maxAge&&d.length===o.maxAge&&B(1),h===d.length-1&&h++;let ee=l++;u[ee]=a,d=[...d,ee],F=d.length-1;break}case sd:{({monitorState:c,actionsById:u,nextActionId:l,stagedActionIds:d,skippedActionIds:f,committedState:p,currentStateIndex:h,computedStates:m,isLocked:b,isPaused:C}=a.nextLiftedState);break}case Jo:{F=0,o.maxAge&&d.length>o.maxAge&&(m=Ta(m,F,i,p,u,d,f,n,C),B(d.length-o.maxAge),F=1/0);break}case la:{if(m.filter(K=>K.error).length>0)F=0,o.maxAge&&d.length>o.maxAge&&(m=Ta(m,F,i,p,u,d,f,n,C),B(d.length-o.maxAge),F=1/0);else{if(!C&&!b){h===d.length-1&&h++;let K=l++;u[K]=new Hr(a,+Date.now()),d=[...d,K],F=d.length-1,m=Ta(m,F,i,p,u,d,f,n,C)}m=m.map(K=>I(y({},K),{state:i(K.state,E_)})),h=d.length-1,o.maxAge&&d.length>o.maxAge&&B(d.length-o.maxAge),F=1/0}break}default:{F=1/0;break}}return m=Ta(m,F,i,p,u,d,f,n,C),c=r(c,a),{monitorState:c,actionsById:u,nextActionId:l,stagedActionIds:d,skippedActionIds:f,committedState:p,currentStateIndex:h,computedStates:m,isLocked:b,isPaused:C}}}var ym=(()=>{class e{constructor(n,r,o,i,s,a,c,u){let l=D_(c,u.monitor),d=b_(c,l,a,u.monitor,u),f=Sn(Sn(r.asObservable().pipe(sc(1)),i.actions$).pipe(L(Xo)),n,i.liftedActions$).pipe(jt(Yr)),p=o.pipe(L(d)),h=Om(u.connectInZone),m=new sr(1);this.liftedStateSubscription=f.pipe(Qe(p),vm(h),Xr(({state:B},[de,F])=>{let ee=F(B,de);return de.type!==ei&&Rm(u)&&(ee=y_(ee,u.predicate,u.actionsSafelist,u.actionsBlocklist)),i.notify(de,ee),{state:ee,action:de}},{state:l,action:null})).subscribe(({state:B,action:de})=>{if(m.next(B),de.type===ei){let F=de.action;s.next(F)}}),this.extensionStartSubscription=i.start$.pipe(vm(h)).subscribe(()=>{this.refresh()});let b=m.asObservable(),C=b.pipe(L(xm));Object.defineProperty(C,"state",{value:sa(C,{manualCleanup:!0,requireSync:!0})}),this.dispatcher=n,this.liftedState=b,this.state=C}ngOnDestroy(){this.liftedStateSubscription.unsubscribe(),this.extensionStartSubscription.unsubscribe()}dispatch(n){this.dispatcher.next(n)}next(n){this.dispatcher.next(n)}error(n){}complete(){}performAction(n){this.dispatch(new Hr(n,+Date.now()))}refresh(){this.dispatch(new Zl)}reset(){this.dispatch(new Yl(+Date.now()))}rollback(){this.dispatch(new Jl(+Date.now()))}commit(){this.dispatch(new Ql(+Date.now()))}sweep(){this.dispatch(new Kl)}toggleAction(n){this.dispatch(new Xl(n))}jumpToAction(n){this.dispatch(new td(n))}jumpToState(n){this.dispatch(new ed(n))}importState(n){this.dispatch(new nd(n))}lockChanges(n){this.dispatch(new rd(n))}pauseRecording(n){this.dispatch(new od(n))}static{this.\u0275fac=function(r){return new(r||e)(D(Na),D(Ot),D(Qn),D(km),D(Kn),D(Ae),D(Qo),D(xa))}}static{this.\u0275prov=S({token:e,factory:e.\u0275fac})}}return e})();function vm({ngZone:e,connectInZone:t}){return n=>t?new j(r=>n.subscribe({next:o=>e.run(()=>r.next(o)),error:o=>e.run(()=>r.error(o)),complete:()=>e.run(()=>r.complete())})):n}var w_=new w("@ngrx/store-devtools Is Devtools Extension or Monitor Present");function C_(e,t){return!!e||t.monitor!==Mm}function I_(){let e="__REDUX_DEVTOOLS_EXTENSION__";return typeof window=="object"&&typeof window[e]<"u"?window[e]:null}function __(e){return e.state}function Pm(e={}){return Xe([km,Na,ym,{provide:hm,useValue:e},{provide:w_,deps:[id,xa],useFactory:C_},{provide:id,useFactory:I_},{provide:xa,deps:[hm],useFactory:h_},{provide:Lr,deps:[ym],useFactory:__},{provide:Pr,useExisting:Na}])}var S_={fsmState:"idle",actions:[],breakpoints:[],consoleLogs:[],connectionStatus:"disconnected",results:[],currentJourney:null},Lm=Vr(S_,Q(A.play,e=>I(y({},e),{fsmState:"running",actions:[],consoleLogs:[],results:[]})),Q(A.pause,e=>I(y({},e),{fsmState:"paused"})),Q(A.resume,e=>I(y({},e),{fsmState:"running"})),Q(A.step,e=>I(y({},e),{fsmState:"stepping"})),Q(A.stop,e=>I(y({},e),{fsmState:"idle"})),Q(A.pausedByRunner,e=>I(y({},e),{fsmState:"paused"})),Q(A.resumedByRunner,e=>I(y({},e),{fsmState:"running"})),Q(A.runEnded,e=>I(y({},e),{fsmState:"idle"})),Q(A.actionReceived,(e,{index:t,status:n,description:r})=>{let o=e.actions.find(a=>a.index===t),i=T_(n),s=n==="breakpoint"&&!e.breakpoints.includes(t)?[...e.breakpoints,t]:e.breakpoints;return o?I(y({},e),{breakpoints:s,actions:e.actions.map(a=>a.index===t?I(y({},a),{status:i}):a),fsmState:n==="breakpoint"?"paused":e.fsmState}):I(y({},e),{breakpoints:s,actions:[...e.actions,{index:t,description:r??"",status:i,hasBreakpoint:s.includes(t)}],fsmState:n==="breakpoint"?"paused":e.fsmState})}),Q(A.testStarted,(e,{journey:t})=>I(y({},e),{fsmState:"running",currentJourney:t,actions:[],consoleLogs:[...e.consoleLogs,{type:"separator",message:t,timestamp:Date.now()}]})),Q(A.testEnded,(e,{journey:t,status:n,duration:r})=>I(y({},e),{results:[...e.results,{journey:t,status:n,duration:r}],currentJourney:null,actions:n==="failed"?e.actions.map(o=>o.status==="running"?I(y({},o),{status:"failed"}):o):e.actions,fsmState:n==="failed"?"errored":e.fsmState})),Q(A.logReceived,(e,{message:t})=>I(y({},e),{consoleLogs:[...e.consoleLogs,{type:"log",message:t,timestamp:Date.now()}]})),Q(A.errorReceived,(e,{message:t})=>I(y({},e),{consoleLogs:[...e.consoleLogs,{type:"error",message:t,timestamp:Date.now()}]})),Q(A.connectionStatusChanged,(e,{status:t})=>I(y({},e),{connectionStatus:t})),Q(A.toggleBreakpoint,(e,{index:t})=>{let n=e.breakpoints.includes(t);return I(y({},e),{breakpoints:n?e.breakpoints.filter(r=>r!==t):[...e.breakpoints,t]})}),Q(A.clearActions,e=>I(y({},e),{actions:[]})),Q(A.clearConsole,e=>I(y({},e),{consoleLogs:[]})));function T_(e){switch(e){case"start":return"running";case"complete":return"complete";case"breakpoint":return"breakpoint";default:return"pending"}}var M_={journeys:[],selectedIds:[],loading:!1},jm=Vr(M_,Q(Te.loadJourneys,e=>I(y({},e),{loading:!0})),Q(Te.loadJourneysSuccess,(e,{journeys:t})=>I(y({},e),{journeys:t,selectedIds:e.selectedIds.length>0?e.selectedIds:t.map(n=>n.id),loading:!1})),Q(Te.toggleJourney,(e,{id:t})=>{let n=e.selectedIds.includes(t);return I(y({},e),{selectedIds:n?e.selectedIds.filter(r=>r!==t):[...e.selectedIds,t]})}),Q(Te.selectAll,e=>I(y({},e),{selectedIds:e.journeys.map(t=>t.id)})),Q(Te.deselectAll,e=>I(y({},e),{selectedIds:[]})),Q(H.loadSettingsSuccess,(e,{settings:t})=>{let n=t.selectedJourneyIds;return n&&n.length>0?I(y({},e),{selectedIds:n}):e}));var x_={targetUrl:"http://localhost:3000",browserPath:"",userDataDir:"",viewportWidth:1280,viewportHeight:720,actionDelay:0,devtools:!1,headless:!1,keepBrowserOpen:!1,settingsPanelOpen:!1,activeTab:"actions",sidebarWidth:240,selectedJourneyIds:[],targetUrlHistory:[],theme:""},Bm=Vr(x_,Q(H.loadSettingsSuccess,(e,{settings:t})=>y(y({},e),t)),Q(H.updateSetting,(e,{key:t,value:n})=>{let r=I(y({},e),{[t]:n});if(t==="targetUrl"&&typeof n=="string"&&n.trim()){let o=e.targetUrlHistory.filter(i=>i!==n);r.targetUrlHistory=[n,...o].slice(0,10)}return r}),Q(H.toggleSettingsPanel,e=>I(y({},e),{settingsPanelOpen:!e.settingsPanelOpen})),Q(H.removeUrlFromHistory,(e,{url:t})=>I(y({},e),{targetUrlHistory:e.targetUrlHistory.filter(n=>n!==t)})));var Aa=class e{actions$=g(Ur);api=g(Ft);store=g(Z);play$=$e(()=>this.actions$.pipe(Ue(A.play),Qe(this.store.select(Wl),this.store.select(nm)),fr(([,t,n])=>this.api.runTests(t,n).pipe(Ce(()=>se)))),{dispatch:!1});pause$=$e(()=>this.actions$.pipe(Ue(A.pause),pe(()=>this.api.pauseTests().pipe(Ce(()=>se)))),{dispatch:!1});resume$=$e(()=>this.actions$.pipe(Ue(A.resume),pe(()=>this.api.resumeTests().pipe(Ce(()=>se)))),{dispatch:!1});step$=$e(()=>this.actions$.pipe(Ue(A.step),pe(()=>this.api.stepTests().pipe(Ce(()=>se)))),{dispatch:!1});stop$=$e(()=>this.actions$.pipe(Ue(A.stop),pe(()=>this.api.stopTests().pipe(Ce(()=>se)))),{dispatch:!1});updateConfig$=$e(()=>this.actions$.pipe(Ue(A.updateConfig),pe(({actionDelay:t})=>this.api.updateConfig({actionDelay:t}).pipe(Ce(()=>se)))),{dispatch:!1});syncBreakpoints$=$e(()=>this.actions$.pipe(Ue(A.toggleBreakpoint),Qe(this.store.select(ya),this.store.select(Wl)),pe(([,t,n])=>{let r=n[0]??"";return r?this.api.setBreakpoints(r,t).pipe(Ce(()=>se)):se})),{dispatch:!1});static \u0275fac=function(n){return new(n||e)};static \u0275prov=S({token:e,factory:e.\u0275fac})};var Ra=class e{actions$=g(Ur);api=g(Ft);store=g(Z);themeService=g(mn);loadSettings$=$e(()=>this.actions$.pipe(Ue(H.loadSettings),pe(()=>this.api.getSettings()),L(t=>H.loadSettingsSuccess({settings:t}))));applyTheme$=$e(()=>this.actions$.pipe(Ue(H.loadSettingsSuccess),ct(({settings:t})=>{this.themeService.applyFromSettings(t.theme)})),{dispatch:!1});saveSettings$=$e(()=>this.actions$.pipe(Ue(H.updateSetting,H.toggleSettingsPanel,H.removeUrlFromHistory),Qr(500),Qe(this.store.select(fa)),pe(([,t])=>this.api.saveSettings(t).pipe(Ce(()=>se)))),{dispatch:!1});static \u0275fac=function(n){return new(n||e)};static \u0275prov=S({token:e,factory:e.\u0275fac})};var Oa=class e{actions$=g(Ur);api=g(Ft);store=g(Z);loadJourneys$=$e(()=>this.actions$.pipe(Ue(Te.loadJourneys),pe(()=>this.api.getJourneys().pipe(L(t=>Te.loadJourneysSuccess({journeys:t})),Ce(()=>se)))));persistSelection$=$e(()=>this.actions$.pipe(Ue(Te.toggleJourney,Te.selectAll,Te.deselectAll),Qe(this.store.select($r)),ct(([,t])=>{this.store.dispatch(H.updateSetting({key:"selectedJourneyIds",value:t}))})),{dispatch:!1});static \u0275fac=function(n){return new(n||e)};static \u0275prov=S({token:e,factory:e.\u0275fac})};var Vm={providers:[rg({eventCoalescing:!0}),kl(),Qg({execution:Lm,journeys:jm,settings:Bm}),pm(Aa,Ra,Oa),Pm({maxAge:50,logOnly:!Vo(),name:"Glassbox"})]};xl(Ia,Vm).catch(e=>console.error(e));
|