daimon 0.5.0 → 0.6.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 +54 -0
- package/dist/cli.js +71 -67
- package/dist/dashboard/3rdpartylicenses.txt +4 -4
- package/dist/dashboard/browser/chunk-4VNZXWQZ.js +3 -0
- package/dist/dashboard/browser/chunk-4ZR4NTJW.js +1 -0
- package/dist/dashboard/browser/{chunk-HFJ25UTJ.js → chunk-7L4DWDGL.js} +4 -4
- package/dist/dashboard/browser/{chunk-C65CUT7O.js → chunk-BLNPJ4WD.js} +4 -4
- package/dist/dashboard/browser/chunk-E3HUMJ6S.js +6 -0
- package/dist/dashboard/browser/chunk-EBOHC6KX.js +1 -0
- package/dist/dashboard/browser/chunk-ESDYJ3BP.js +1 -0
- package/dist/dashboard/browser/chunk-JUZHAE4L.js +2 -0
- package/dist/dashboard/browser/chunk-K43KW4K2.js +4 -0
- package/dist/dashboard/browser/chunk-K46KCL6L.js +1 -0
- package/dist/dashboard/browser/chunk-KDCKLTCZ.js +1 -0
- package/dist/dashboard/browser/{chunk-JX3IOOXU.js → chunk-L63FHXGH.js} +1 -1
- package/dist/dashboard/browser/{chunk-Q7R63OUT.js → chunk-LBRCWYRN.js} +1 -1
- package/dist/dashboard/browser/chunk-MHOSWLRR.js +3 -0
- package/dist/dashboard/browser/{chunk-TSB6OOH2.js → chunk-N5GRSTMJ.js} +1 -1
- package/dist/dashboard/browser/{chunk-AEERNAF7.js → chunk-NDSAQ2HK.js} +1 -1
- package/dist/dashboard/browser/chunk-NN2YNLGP.js +3 -0
- package/dist/dashboard/browser/{chunk-3TYCIBMV.js → chunk-PJPGLT4T.js} +1 -1
- package/dist/dashboard/browser/chunk-R6J2WYUD.js +1 -0
- package/dist/dashboard/browser/chunk-T2YKGOEM.js +3 -0
- package/dist/dashboard/browser/chunk-U6AY7XZK.js +5 -0
- package/dist/dashboard/browser/{chunk-ZVU34B5S.js → chunk-UC3XMN2Y.js} +1 -1
- package/dist/dashboard/browser/chunk-UNT27XFJ.js +2 -0
- package/dist/dashboard/browser/chunk-V2CQL6W5.js +1 -0
- package/dist/dashboard/browser/chunk-VZ6E4VQY.js +2 -0
- package/dist/dashboard/browser/chunk-WJUGRIIZ.js +1 -0
- package/dist/dashboard/browser/{chunk-D4BFRQ63.js → chunk-WRBP4DQN.js} +4 -4
- package/dist/dashboard/browser/chunk-XUU4AY4M.js +2 -0
- package/dist/dashboard/browser/chunk-XYVF5I5T.js +1 -0
- package/dist/dashboard/browser/chunk-Y6B6X4Y6.js +2 -0
- package/dist/dashboard/browser/chunk-YNQPX5G6.js +1 -0
- package/dist/dashboard/browser/{chunk-SLQ2WBUA.js → chunk-YYAZGY5M.js} +1 -1
- package/dist/dashboard/browser/index.html +1 -1
- package/dist/dashboard/browser/main-ZADV4SOC.js +1 -0
- package/dist/main.js +48 -44
- package/dist/mcp.js +3 -2
- package/package.json +2 -2
- package/dist/dashboard/browser/chunk-5UAN6ETO.js +0 -1
- package/dist/dashboard/browser/chunk-AX3RJNG4.js +0 -1
- package/dist/dashboard/browser/chunk-BADBUP5C.js +0 -3
- package/dist/dashboard/browser/chunk-BF6RQFHS.js +0 -2
- package/dist/dashboard/browser/chunk-CNIZYK4A.js +0 -1
- package/dist/dashboard/browser/chunk-E235WGFQ.js +0 -3
- package/dist/dashboard/browser/chunk-F2EDJ6FT.js +0 -4
- package/dist/dashboard/browser/chunk-HFAARBWL.js +0 -1
- package/dist/dashboard/browser/chunk-LQNYSOSZ.js +0 -1
- package/dist/dashboard/browser/chunk-MBVVV35N.js +0 -1
- package/dist/dashboard/browser/chunk-NC2VPB4Y.js +0 -2
- package/dist/dashboard/browser/chunk-NXNVIINH.js +0 -1
- package/dist/dashboard/browser/chunk-QLKOKZDG.js +0 -9
- package/dist/dashboard/browser/chunk-QQSPJIPQ.js +0 -1
- package/dist/dashboard/browser/chunk-SCAIGUJL.js +0 -6
- package/dist/dashboard/browser/chunk-WWUKM5OG.js +0 -1
- package/dist/dashboard/browser/chunk-ZYE3XQS4.js +0 -2
- package/dist/dashboard/browser/main-Z6L5VPBT.js +0 -4
package/dist/mcp.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import{McpServer as
|
|
2
|
-
`,"utf8"),{kind:"stub-created",path:
|
|
1
|
+
import{McpServer as Z}from"@modelcontextprotocol/sdk/server/mcp.js";import{StdioServerTransport as tt}from"@modelcontextprotocol/sdk/server/stdio.js";import{z as a}from"zod";import y from"node:fs";import h from"node:path";import w from"node:os";import{fileURLToPath as q}from"node:url";var J=q(import.meta.url),C=h.dirname(J);function O(){return{searchRoots:[],portRange:[4200,4299],apiPort:4999,overrides:{},autoStart:[],profiles:{},tags:{},autoRestart:{enabled:!1,maxAttempts:5,windowMs:3e5},healthProbe:{enabled:!0,intervalMs:3e4,timeoutMs:2e3,path:"/",host:null,scheme:null,rejectUnauthorized:!1,fallbackHosts:["127.0.0.1","::1"]},logs:{enabled:!1,dir:h.join(w.homedir(),".daimon","logs"),maxFiles:5,maxBytesPerFile:1e7},depends:{},cascadeRestart:!1,history:{enabled:!0,path:h.join(w.homedir(),".daimon","history.db"),retentionDays:30},notifications:{enabled:!0,onError:!0,onUnhealthy:!0,tray:!1},staleDetect:{enabled:!0,silentMs:3e4},headless:!1,envFiles:{},requestLog:{enabled:!1,portOffset:1e3},metrics:{enabled:!1},editor:{scheme:"vscode"},apiToken:null,output:{format:"compact",ndjson:!1},doctor:{autoFix:{onInit:!1,permitted:["orphan-daemon","stale-lock","missing-search-root","corrupt-history-db","port-conflict-pred","node-version-mismatch","orphan-node-modules","dead-search-root"]}},dashboard:{theme:"auto",density:"comfortable"}}}function _(o){return o.startsWith("~/")||o.startsWith("~\\")?h.join(w.homedir(),o.slice(2)):o==="~"?w.homedir():o}function j(o,i){if(!o||typeof o!="object")throw new Error(`Config at ${i} is not a JSON object`);let t=o,e=O();if(t.searchRoots!==void 0){if(!Array.isArray(t.searchRoots)||!t.searchRoots.every(r=>typeof r=="string"||r&&typeof r=="object"&&typeof r.path=="string"))throw new Error(`Config "searchRoots" must be an array of strings or { path, viteSubfolders? } objects (${i})`);e.searchRoots=t.searchRoots}if(t.portRange!==void 0){if(!Array.isArray(t.portRange)||t.portRange.length!==2||typeof t.portRange[0]!="number"||typeof t.portRange[1]!="number"||t.portRange[0]>t.portRange[1])throw new Error(`Config "portRange" must be [min, max] numbers (${i})`);e.portRange=[t.portRange[0],t.portRange[1]]}if(t.apiPort!==void 0){if(typeof t.apiPort!="number")throw new Error(`Config "apiPort" must be a number (${i})`);e.apiPort=t.apiPort}if(t.overrides!==void 0){if(typeof t.overrides!="object"||t.overrides===null||Array.isArray(t.overrides))throw new Error(`Config "overrides" must be an object (${i})`);e.overrides=t.overrides}if(t.autoStart!==void 0){if(!Array.isArray(t.autoStart)||!t.autoStart.every(r=>typeof r=="string"))throw new Error(`Config "autoStart" must be an array of strings (${i})`);e.autoStart=t.autoStart}if(t.profiles!==void 0){if(typeof t.profiles!="object"||t.profiles===null||Array.isArray(t.profiles))throw new Error(`Config "profiles" must be an object (${i})`);for(let[r,n]of Object.entries(t.profiles))if(!Array.isArray(n)||!n.every(s=>typeof s=="string"))throw new Error(`Config "profiles.${r}" must be an array of strings (${i})`);e.profiles=t.profiles}if(t.tags!==void 0){if(typeof t.tags!="object"||t.tags===null||Array.isArray(t.tags))throw new Error(`Config "tags" must be an object (${i})`);e.tags=t.tags}if(t.autoRestart&&typeof t.autoRestart=="object"&&(e.autoRestart={...e.autoRestart,...t.autoRestart}),t.healthProbe&&typeof t.healthProbe=="object"&&(e.healthProbe={...e.healthProbe,...t.healthProbe}),t.logs&&typeof t.logs=="object"&&(e.logs={...e.logs,...t.logs},e.logs.dir=_(e.logs.dir)),t.depends&&typeof t.depends=="object"&&!Array.isArray(t.depends)){for(let[r,n]of Object.entries(t.depends))if(!Array.isArray(n)||!n.every(s=>typeof s=="string"))throw new Error(`Config "depends.${r}" must be an array of strings (${i})`);e.depends=t.depends}if(typeof t.cascadeRestart=="boolean"&&(e.cascadeRestart=t.cascadeRestart),t.history&&typeof t.history=="object"&&(e.history={...e.history,...t.history},e.history.path=_(e.history.path)),t.notifications&&typeof t.notifications=="object"&&(e.notifications={...e.notifications,...t.notifications}),t.staleDetect&&typeof t.staleDetect=="object"&&(e.staleDetect={...e.staleDetect,...t.staleDetect}),typeof t.headless=="boolean"&&(e.headless=t.headless),t.envFiles&&typeof t.envFiles=="object"&&!Array.isArray(t.envFiles)&&(e.envFiles=t.envFiles),t.requestLog&&typeof t.requestLog=="object"&&(e.requestLog={...e.requestLog,...t.requestLog}),t.metrics&&typeof t.metrics=="object"&&(e.metrics={...e.metrics,...t.metrics}),t.editor&&typeof t.editor=="object"){let r=t.editor.scheme;typeof r=="string"&&r.trim()&&(e.editor={scheme:r.trim()})}if((typeof t.apiToken=="string"||t.apiToken===null)&&(e.apiToken=t.apiToken),t.output&&typeof t.output=="object"){let r=t.output;(r.format==="compact"||r.format==="full")&&(e.output.format=r.format),typeof r.ndjson=="boolean"&&(e.output.ndjson=r.ndjson)}if(t.doctor&&typeof t.doctor=="object"){let r=t.doctor.autoFix;r&&typeof r=="object"&&(typeof r.onInit=="boolean"&&(e.doctor.autoFix.onInit=r.onInit),Array.isArray(r.permitted)&&(e.doctor.autoFix.permitted=r.permitted.filter(n=>typeof n=="string")))}if(t.dashboard&&typeof t.dashboard=="object"){let r=t.dashboard;(r.theme==="auto"||r.theme==="light"||r.theme==="dark")&&(e.dashboard.theme=r.theme),(r.density==="comfortable"||r.density==="compact")&&(e.dashboard.density=r.density)}return e}function G(){return{local:h.join(process.cwd(),"daimon.config.json"),user:h.join(w.homedir(),".daimon","config.json")}}function T(){let{local:o,user:i}=G();if(y.existsSync(o)){let r=JSON.parse(y.readFileSync(o,"utf8"));return{kind:"loaded",config:j(r,o),path:o}}if(y.existsSync(i)){let r=JSON.parse(y.readFileSync(i,"utf8"));return{kind:"loaded",config:j(r,i),path:i}}let e=[h.resolve(C,"..","daimon.config.example.json"),h.resolve(C,"..","..","daimon.config.example.json")].find(r=>y.existsSync(r));return y.mkdirSync(h.dirname(i),{recursive:!0}),e?y.copyFileSync(e,i):y.writeFileSync(i,JSON.stringify(O(),null,2)+`
|
|
2
|
+
`,"utf8"),{kind:"stub-created",path:i}}import L from"node:fs";import S from"node:path";import B from"node:os";import{spawn as W}from"node:child_process";import{fileURLToPath as K}from"node:url";import H from"node:fs";import R from"node:path";import{fileURLToPath as V}from"node:url";var I=R.dirname(V(import.meta.url));function z(){let o=[R.resolve(I,"..","package.json"),R.resolve(I,"..","..","package.json")];for(let i of o)try{return JSON.parse(H.readFileSync(i,"utf8"))}catch{}return{}}var P=z().version||"0.0.0";var Q=S.join(B.homedir(),".daimon"),M=S.join(Q,"daemon.lock");function X(o){try{return process.kill(o,0),!0}catch(i){return i&&i.code==="EPERM"}}function v(){try{let o=L.readFileSync(M,"utf8"),i=JSON.parse(o);if(!i||typeof i.pid!="number")return null;if(!X(i.pid)){try{L.unlinkSync(M)}catch{}return null}return i}catch{return null}}function Y(){let o=S.dirname(K(import.meta.url));return S.join(o,"main.js")}async function $(o={}){let i={...process.env};o.port&&(i.DAIMON_PORT=String(o.port)),W(process.execPath,[Y(),"--headless"],{detached:!0,stdio:"ignore",env:i,windowsHide:!0}).unref();let e=Date.now();for(;Date.now()-e<5e3;){let r=v();if(r&&(!o.port||r.apiPort===o.port))return r;await new Promise(n=>setTimeout(n,100))}throw new Error("daemon failed to start within 5s")}function et(){if(process.env.DAIMON_PORT){let i=Number(process.env.DAIMON_PORT);if(Number.isFinite(i)&&i>0)return i}let o=v();if(o)return o.apiPort;try{let i=T();if(i.kind==="loaded")return i.config.apiPort}catch{}return 4999}var D=()=>`http://127.0.0.1:${et()}`,N=!1;async function U(){if(!N&&(N=!0,process.env.DAIMON_NO_SPAWN!=="1"&&!v()))try{let o=process.env.DAIMON_PORT?Number(process.env.DAIMON_PORT):void 0;await $({port:Number.isFinite(o)&&o>0?o:void 0})}catch{}}async function f(o,i="GET"){await U();try{let t=await fetch(D()+o,{method:i}),e=await t.text();try{return{status:t.status,body:JSON.parse(e)}}catch{return{status:t.status,body:e}}}catch{return{status:0,body:{error:"daimon is not running \u2014 start it with: daimon daemon start --detach"}}}}function u(o){return{content:[{type:"text",text:JSON.stringify(o)}]}}function p(o){return{content:[{type:"text",text:JSON.stringify({error:o})}],isError:!0}}async function rt(){let o=new Z({name:"daimon",version:P});o.registerTool("list_apps",{description:"List apps in compact form: name, status, port, health, errCount, lastChangeMs. Use list_apps_full for the verbose v0.4 shape.",inputSchema:{}},async()=>{let t=await f("/api/apps?format=compact");return t.status===0?p(t.body?.error||"unknown"):u(t.body)}),o.registerTool("list_apps_full",{description:"List apps in the verbose v0.4 form (uptimeMs, lastCompileMs, metrics, etc.). Heavier \u2014 prefer list_apps unless you need extra fields.",inputSchema:{}},async()=>{let t=await f("/api/apps?format=full");return t.status===0?p(t.body?.error||"unknown"):u(t.body)}),o.registerTool("get_status",{description:"Compact status: name, status, port, url, health, errCount, lastChangeMs, uptime. Use get_status_full for the verbose v0.4 shape.",inputSchema:{name:a.string()}},async({name:t})=>{let e=await f(`/api/apps/${encodeURIComponent(t)}?format=compact`);return e.status===0?p(e.body?.error||"unknown"):e.status===404?p("unknown app"):u(e.body)}),o.registerTool("get_status_full",{description:"Verbose v0.4 status form including events, compile history, metrics. Prefer get_status unless you need extra fields.",inputSchema:{name:a.string()}},async({name:t})=>{let e=await f(`/api/apps/${encodeURIComponent(t)}?format=full`);return e.status===0?p(e.body?.error||"unknown"):e.status===404?p("unknown app"):u(e.body)}),o.registerTool("get_errors",{description:"Get errors for an app. Supports --since duration, --since-last cursor, optional structured form.",inputSchema:{name:a.string(),since:a.string().optional(),sinceLast:a.boolean().optional(),client:a.string().optional(),structured:a.boolean().optional()}},async({name:t,since:e,sinceLast:r,client:n,structured:s})=>{let c=`/api/apps/${encodeURIComponent(t)}/errors`,g=new URLSearchParams;r?(c+="/since-last",n&&g.set("client",n)):e&&g.set("since",e);let b=g.toString(),m=await f(c+(b?"?"+b:""));if(m.status===0)return p(m.body?.error||"unknown");if(m.status===404)return p("unknown app");let l=m.body;return s&&Array.isArray(l)&&(l=l.map(d=>d.parsed??{message:d.message})),u(l)}),o.registerTool("get_logs",{description:"Get recent log lines for an app.",inputSchema:{name:a.string(),tail:a.number().int().positive().optional(),since:a.string().optional()}},async({name:t,tail:e,since:r})=>{let n=new URLSearchParams;e&&n.set("tail",String(e)),r&&n.set("since",r);let s=n.toString(),c=await f(`/api/apps/${encodeURIComponent(t)}/logs${s?"?"+s:""}`);return c.status===0?p(c.body?.error||"unknown"):c.status===404?p("unknown app"):u(c.body)});for(let t of["start","stop","restart"])o.registerTool(`${t}_app`,{description:`${t} an app.`,inputSchema:{name:a.string()}},async({name:e})=>{let r=await f(`/api/apps/${encodeURIComponent(e)}/${t}`,"POST");return r.status===0?p(r.body?.error||"unknown"):u(r.body)});o.registerTool("overview",{description:'Decision-ready snapshot of the workspace: totals, byStatus, needsAttention (with first parsed error per failing app), recentlyChanged. The recommended first call in a session \u2014 answers "what is going on right now?" in one round-trip. Pass `budget` (tokens) to cap response size; overflow collapses to _meta.omitted.',inputSchema:{workspace:a.string().optional(),profile:a.string().optional(),budget:a.number().int().positive().max(5e4).optional()}},async({workspace:t,profile:e,budget:r})=>{let n=new URLSearchParams;t&&n.set("workspace",t),e&&n.set("profile",e),r&&n.set("budget",String(r));let s=n.toString(),c=await f("/api/overview"+(s?"?"+s:""));return c.status===0?p(c.body?.error||"unknown"):u(c.body)}),o.registerTool("diff_errors",{description:'Errors that appeared since the last call by this client. Compact list of {file,line,col,code,message,tool}; bounded by `budget` tokens \u2014 overflow collapses to {omitted:N}. Use this as the "did my last change introduce new errors?" round-trip.',inputSchema:{name:a.string(),client:a.string().optional(),budget:a.number().int().positive().max(5e4).optional()}},async({name:t,client:e,budget:r})=>{let n=new URLSearchParams;n.set("client",e||"mcp-default");let s=await f(`/api/apps/${encodeURIComponent(t)}/errors/since-last?${n.toString()}`);if(s.status===0)return p(s.body?.error||"unknown");if(s.status===404)return p("unknown app");let g=(Array.isArray(s.body)?s.body:[]).map(d=>({file:d.file??null,line:d.line??null,col:d.col??null,code:d.code??null,tool:d.tool??null,message:d.message??""})),b=(r??800)*4,m=0,l=g;for(;JSON.stringify(l).length>b&&l.length>0;)l.pop(),m++;return u({errors:l,_meta:{omitted:m,total:g.length,budget:r??800}})}),o.registerTool("try_fix",{description:"Composite remediation: run doctor --auto-fix for permitted rules, restart the named app, wait for the target state, return {before, after, fixed:[ruleName], stillFailing:[\u2026parsed first 5]}. Never edits user source code, only daemon state. Pair with `focus` for narration; use this for the action.",inputSchema:{name:a.string(),until:a.enum(["serving","healthy"]).optional(),timeoutMs:a.number().int().positive().max(6e5).optional()}},async({name:t,until:e,timeoutMs:r})=>{let n=new URLSearchParams;n.set("until",e||"healthy"),n.set("timeoutMs",String(Math.min(r??18e4,6e5)));let s=await f(`/api/apps/${encodeURIComponent(t)}/try-fix?${n.toString()}`,"POST");return s.status===0?p(s.body?.error||"unknown"):s.status===404?p("unknown app"):u(s.body)}),o.registerTool("focus",{description:'Single round-trip "subscribe-then-act" snapshot for one app: starts the app if stopped, then narrates status/error/health events until target state (serving|healthy|stable) or timeout. Returns the captured event list plus final state. Use as a coherent narrative instead of polling.',inputSchema:{name:a.string(),until:a.enum(["serving","healthy","stable"]).optional(),timeoutMs:a.number().int().positive().max(6e5).optional()}},async({name:t,until:e,timeoutMs:r})=>{let n=new URLSearchParams;n.set("until",e||"healthy"),n.set("timeoutMs",String(Math.min(r??18e4,6e5))),await U();try{let s=await fetch(D()+`/api/apps/${encodeURIComponent(t)}/focus?${n.toString()}`,{method:"POST"});if(s.status===404)return p("unknown app");if(!s.body)return p("no response body");let c=s.body.getReader(),g=new TextDecoder,b=[],m=null,l="";for(;;){let{done:d,value:E}=await c.read();if(d)break;l+=g.decode(E,{stream:!0});let A=l.split(`
|
|
3
|
+
`);l=A.pop()??"";for(let F of A){let x=F.trim();if(x)try{let k=JSON.parse(x);k.kind==="done"?m=k:b.push(k)}catch{}}}return u({events:b,final:m})}catch(s){return p(s?.message||String(s))}}),o.registerTool("ensure",{description:'One-call lifecycle: if the app is stopped/crashed/error, start it; then block until it reaches the target state. Idempotent \u2014 returns immediately on already-terminal apps. Replaces the list\u2192status\u2192start\u2192wait\u2192status sequence. Returns compact AppSummary plus _meta.startedFromState / waitedMs. On timeout the body is { error: "timeout", state, _meta: { timedOut: true } } \u2014 treat as exit 2 equivalent.',inputSchema:{name:a.string(),until:a.enum(["serving","healthy"]).optional(),timeoutMs:a.number().int().positive().max(6e5).optional()}},async({name:t,until:e,timeoutMs:r})=>{let n=new URLSearchParams;n.set("until",e||"healthy"),n.set("timeoutMs",String(Math.min(r??18e4,6e5)));let s=await f(`/api/apps/${encodeURIComponent(t)}/ensure?${n.toString()}`,"POST");return s.status===0?p(s.body?.error||"unknown"):s.status===404?p("unknown app"):u(s.body)}),o.registerTool("ensure_up",{description:"One-call profile bring-up: cascade-start every app in the profile (resolving deps) and block until each reaches the target. Returns per-app terminal state plus _meta.totalMs. Use this instead of daimon up + per-app waits.",inputSchema:{profile:a.string(),until:a.enum(["serving","healthy"]).optional(),timeoutMs:a.number().int().positive().max(12e5).optional()}},async({profile:t,until:e,timeoutMs:r})=>{let n=new URLSearchParams;n.set("until",e||"healthy"),n.set("timeoutMs",String(Math.min(r??3e5,12e5)));let s=await f(`/api/profiles/${encodeURIComponent(t)}/ensure-up?${n.toString()}`,"POST");return s.status===0?p(s.body?.error||"unknown"):s.status===404?p("unknown profile"):u(s.body)}),o.registerTool("wait_for_app",{description:"Block until app reaches the given state or timeout (max 600s).",inputSchema:{name:a.string(),until:a.enum(["serving","healthy","stopped","error"]).optional(),timeout:a.number().int().positive().max(600).optional()}},async({name:t,until:e,timeout:r})=>{let n=new URLSearchParams;n.set("until",e||"serving"),n.set("timeout",String(Math.min(r??120,600)));let s=await f(`/api/apps/${encodeURIComponent(t)}/wait?${n.toString()}`);return s.status===0?p(s.body?.error||"unknown"):s.status===404?p("unknown app"):u(s.body)});let i=new tt;await o.connect(i)}rt().catch(o=>{process.stderr.write(`[daimon-mcp] fatal: ${o?.stack||o}
|
|
3
4
|
`),process.exit(1)});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "daimon",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Local dev-server manager for Angular/Nx/Vite/Storybook — TUI, loopback HTTP API, JSON CLI, and MCP server for Claude Code",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"author": "Yosi Azulay (https://flycotech.com)",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"start": "npm run build && node dist/main.js",
|
|
42
42
|
"cli": "node dist/cli.js",
|
|
43
43
|
"mcp": "node dist/mcp.js",
|
|
44
|
-
"test": "node --test test/depends.test.mjs test/bundle.test.mjs test/notifier.test.mjs test/regression.test.mjs",
|
|
44
|
+
"test": "node --test test/depends.test.mjs test/bundle.test.mjs test/notifier.test.mjs test/regression.test.mjs test/parser-corpus.test.mjs test/overview-budget.test.mjs test/autofix-rules.test.mjs",
|
|
45
45
|
"clean:dist": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
46
46
|
"build:bundle": "npm run clean:dist && esbuild src/cli.ts src/main.ts src/mcp.ts --bundle --platform=node --target=node20 --format=esm --minify --legal-comments=none --outdir=dist --packages=external",
|
|
47
47
|
"build:dashboard": "node -e \"const fs=require('fs');if(fs.existsSync('dashboard/node_modules')){require('child_process').execSync('npm run build',{cwd:'dashboard',stdio:'inherit'});}else{console.log('[daimon] dashboard/node_modules missing — skipping ng build. Run: (cd dashboard && npm install) to enable the Angular SPA bundle.');}\"",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as X,b as Y,c as Z,d as ee,e as te,f as ne}from"./chunk-JX3IOOXU.js";import{a as Q,b as W}from"./chunk-ZYE3XQS4.js";import{a as L,b as q}from"./chunk-HFJ25UTJ.js";import{d as z,f as V,g as K}from"./chunk-TSB6OOH2.js";import{b as U,c as G,d as J}from"./chunk-NXNVIINH.js";import{c as $}from"./chunk-LQNYSOSZ.js";import{N as A,P as j,Q as B,i as N,ua as H}from"./chunk-QLKOKZDG.js";import{Ab as v,Bb as _,Db as E,Eb as h,Fb as b,Gb as y,Hb as a,Ib as o,Jb as x,Ob as R,Qb as C,Sb as p,Za as d,aa as F,ea as M,ec as r,fc as u,gc as P,ja as D,ka as O,ob as S,pb as I,s as T,ta as g,tc as w,zb as k}from"./chunk-F2EDJ6FT.js";var ie=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=I({type:n});static \u0275inj=F({imports:[A,A]})}return n})();var de=(n,e)=>e.name,se=(n,e)=>e.reason;function le(n,e){n&1&&(a(0,"div",7),x(1,"dm-skeleton",23)(2,"dm-skeleton",24)(3,"dm-skeleton",25),o())}function me(n,e){if(n&1&&(a(0,"div",26)(1,"span",27),r(2,"Connection"),o(),a(3,"span",28)(4,"span",29),x(5,"span",30),r(6),o()()(),a(7,"div",26)(8,"span",27),r(9,"Version"),o(),a(10,"span",28)(11,"dm-mono"),r(12),o()()(),a(13,"div",26)(14,"span",27),r(15,"API port"),o(),a(16,"span",28)(17,"dm-mono"),r(18),o()()(),a(19,"div",26)(20,"span",27),r(21,"Apps tracked"),o(),a(22,"span",28)(23,"dm-mono"),r(24),o()()()),n&2){let t=p();d(4),k("data-kind",t.api.connected()?"ok":"err"),d(2),P("",t.api.connected()?"connected":"disconnected"," "),d(6),u(t.daemonVersion()||"unknown"),d(6),u(t.daemonPort()||"-"),d(6),u(t.api.apps().length)}}function ce(n,e){n&1&&(a(0,"div",7),x(1,"dm-skeleton",31)(2,"dm-skeleton",25)(3,"dm-skeleton",32),o())}function pe(n,e){if(n&1&&(a(0,"dm-empty",8)(1,"dm-mono"),r(2,"daimon init --auto"),o()()),n&2){let t=p();y("title","No apps discovered")("hint",t.discovery().suggestion||"Run daimon init --auto in your workspace")}}function ue(n,e){if(n&1&&(a(0,"li")(1,"dm-mono"),r(2),o()()),n&2){let t=e.$implicit;d(2),u(t)}}function ge(n,e){if(n&1&&(a(0,"tr")(1,"td")(2,"dm-mono"),r(3),o()(),a(4,"td",37)(5,"dm-mono"),r(6),o()()()),n&2){let t=e.$implicit;d(3),u(t.reason),d(3),u(t.count)}}function fe(n,e){if(n&1&&(a(0,"div",33)(1,"div",27),r(2,"Rejected"),o(),a(3,"table",36)(4,"tbody"),h(5,ge,7,2,"tr",null,se),o()()()),n&2){let t=p(2);d(5),b(t.rejectedRows())}}function ve(n,e){if(n&1&&(a(0,"li")(1,"dm-mono"),r(2),o()()),n&2){let t=e.$implicit;d(2),u(t)}}function _e(n,e){if(n&1&&(a(0,"div",33)(1,"div",27),r(2,"Warnings"),o(),a(3,"ul",38),h(4,ve,3,1,"li",null,E),o()()),n&2){let t=p(2);d(4),b(t.discovery().warnings)}}function xe(n,e){if(n&1&&(a(0,"div",35),r(1),o()),n&2){let t=p(2);d(),u(t.discovery().suggestion)}}function ye(n,e){if(n&1&&(a(0,"div",26)(1,"span",27),r(2,"Apps found"),o(),a(3,"span",28)(4,"dm-mono"),r(5),o()()(),a(6,"div",26)(7,"span",27),r(8,"Scanned"),o(),a(9,"span",28)(10,"dm-mono"),r(11),o()()(),a(12,"div",33)(13,"div",27),r(14,"Search roots"),o(),a(15,"ul",34),h(16,ue,3,1,"li",null,E),o()(),v(18,fe,7,0,"div",33),v(19,_e,6,0,"div",33),v(20,xe,2,1,"div",35)),n&2){let t=p();d(5),u(t.discovery().appsFound),d(6),u(t.discovery().scanned),d(5),b(t.discovery().searchRoots),d(2),_(t.rejectedRows().length?18:-1),d(),_(t.discovery().warnings.length?19:-1),d(),_(t.discovery().suggestion?20:-1)}}function Ce(n,e){n&1&&(a(0,"div",9),r(1,"Discovery info unavailable."),o())}function he(n,e){n&1&&x(0,"mat-spinner",14)}function be(n,e){n&1&&(a(0,"mat-icon"),r(1,"play_arrow"),o())}function Me(n,e){n&1&&x(0,"mat-spinner",14)}function ke(n,e){n&1&&(a(0,"mat-icon"),r(1,"build"),o())}function Pe(n,e){if(n&1&&(a(0,"dm-mono"),r(1),o()),n&2){let t=p(2).$implicit,i=p();d(),u(i.state(t.name).detail)}}function we(n,e){if(n&1&&(a(0,"span"),r(1),o()),n&2){let t=p(2).$implicit,i=p();d(),u(i.state(t.name).detail)}}function De(n,e){if(n&1&&(a(0,"div",41),v(1,Pe,2,1,"dm-mono")(2,we,2,1,"span"),o()),n&2){let t=p().$implicit,i=p();d(),_(i.state(t.name).isPath?1:2)}}function Oe(n,e){n&1&&x(0,"mat-spinner",14)}function Se(n,e){n&1&&(a(0,"mat-icon"),r(1,"search"),o())}function Ee(n,e){n&1&&x(0,"mat-spinner",14)}function Ae(n,e){n&1&&(a(0,"mat-icon"),r(1,"build"),o())}function Te(n,e){if(n&1){let t=R();a(0,"mat-card",6)(1,"mat-card-header")(2,"mat-card-title"),r(3),o()(),a(4,"mat-card-content")(5,"div",39)(6,"div",40),r(7),o(),a(8,"span",29),x(9,"span",30),r(10),o()(),v(11,De,3,1,"div",41),o(),a(12,"mat-card-actions",42)(13,"button",13),C("click",function(){let s=D(t).$implicit,m=p();return O(m.runOne(s.name,!0))}),v(14,Oe,1,0,"mat-spinner",14)(15,Se,2,0,"mat-icon"),r(16," Dry-run "),o(),a(17,"button",43),C("click",function(){let s=D(t).$implicit,m=p();return O(m.runOne(s.name,!1))}),v(18,Ee,1,0,"mat-spinner",14)(19,Ae,2,0,"mat-icon"),r(20," Fix "),o()()()}if(n&2){let t=e.$implicit,i=p();d(3),u(t.title),d(4),u(t.description),d(),k("data-kind",i.state(t.name).status),d(2),P("",i.state(t.name).status," "),d(),_(i.state(t.name).detail?11:-1),d(2),y("disabled",i.busy(t.name)||i.busyAll()),d(),_(i.busy(t.name)==="dry"?14:15),d(3),y("disabled",i.busy(t.name)||i.busyAll()),d(),_(i.busy(t.name)==="fix"?18:19)}}function Fe(n,e){n&1&&x(0,"mat-spinner",14)}function Ie(n,e){n&1&&(a(0,"mat-icon"),r(1,"refresh"),o())}var Re=[{name:"orphan-daemon",title:"Orphan daemon",description:"Daemon may be running from the wrong cwd, ignoring your local daimon.config.json"},{name:"stale-lock",title:"Stale lock",description:"Lock file exists but the daemon process is dead"},{name:"missing-search-root",title:"Missing search root",description:"Current cwd has an nx/angular/vite project but isn\u2019t configured"},{name:"corrupt-history-db",title:"Corrupt history DB",description:"History SQLite DB failed quickCheck()"}],oe=class n{api=M(H);http=M(N);snack=M(L);routines=Re;results=g(new Map);results_lastIntent=g(new Map);errored=g(new Set);loading=g(!0);discovery=g(null);daemonVersion=g("");daemonPort=g(null);configLoaded=g(!1);overview=g(null);busyMap=g(new Map);busyAll=g(!1);busyAllKind=g(null);reloading=g(!1);rejectedRows=w(()=>{let e=this.discovery();return e?Object.entries(e.rejected||{}).map(([t,i])=>({reason:t,count:i})).sort((t,i)=>i.count-t.count):[]});subtitle=w(()=>{let e=this.results(),t=0;for(let i of e.values())i.detected&&t++;return this.loading()&&e.size===0?"Checking system health\u2026":e.size===0?"Run diagnostics to see if any routines need fixing.":t===0?"All checked routines look clean.":`${t} routine${t===1?"":"s"} need${t===1?"s":""} fixing`});tokenEstimate=w(()=>120+this.api.apps().length*34);async ngOnInit(){await this.refreshAll()}async refreshAll(){this.loading.set(!0);try{let[e,t,i]=await Promise.all([this.api.getConfig().catch(()=>null),this.api.discoveryExplain().catch(()=>null),T(this.http.get("/api/overview")).catch(()=>null)]);e&&e.config&&(this.configLoaded.set(!0),this.daemonPort.set(e.config.apiPort??e.config.api?.port??null)),this.discovery.set(t),this.overview.set(i),i?.version&&this.daemonVersion.set(i.version),this.api.apps().length||await this.api.refresh()}finally{this.loading.set(!1)}}state(e){let t=this.results().get(e),i=this.results_lastIntent().get(e),s=this.errored().has(e);if(!t)return{status:"unknown",detail:"",isPath:!1};let m;s?m="error":i==="fix"?m=t.detected?"fixed":"clean":m=t.detected?"detected":"clean";let f=t.description||"",c=/[\\/]/.test(f)||f.includes(":\\")||f.startsWith("/");return{status:m,detail:f,isPath:c}}busy(e){return this.busyMap().get(e)}async runOne(e,t){if(!t&&!window.confirm(`Run fix for "${e}"? This will modify daemon state.`))return;let i=t?"dry":"fix";this.setBusy(e,i);try{let s=await this.api.runAutoFix({dryRun:t,permitted:[e]});this.ingestResults(s,i);let m=this.results().get(e);m?this.snack.open(t?m.detected?`${e}: issue detected`:`${e}: clean`:m.detected?`${e}: fix applied`:`${e}: no action needed`,"OK",{duration:3500}):this.snack.open(`${e}: no result returned`,"OK",{duration:3e3})}catch(s){this.markError(e,s?.message||String(s)),this.snack.open(`${e} failed: ${s?.message||s}`,"Dismiss",{duration:5e3})}finally{this.setBusy(e,null)}}async runAllDry(){this.busyAll.set(!0),this.busyAllKind.set("dry");try{let e=await this.api.runAutoFix({dryRun:!0});this.ingestResults(e,"dry"),this.snack.open("Dry-run complete","OK",{duration:2500})}catch(e){this.snack.open(`Dry-run failed: ${e?.message||e}`,"Dismiss",{duration:5e3})}finally{this.busyAll.set(!1),this.busyAllKind.set(null)}}async fixAll(){if(window.confirm("Run every fix routine without dry-run? This will modify daemon state.")){this.busyAll.set(!0),this.busyAllKind.set("fix");try{let t=await this.api.runAutoFix({dryRun:!1});this.ingestResults(t,"fix"),this.snack.open("Fix-all complete","OK",{duration:2500})}catch(t){this.snack.open(`Fix-all failed: ${t?.message||t}`,"Dismiss",{duration:5e3})}finally{this.busyAll.set(!1),this.busyAllKind.set(null)}}}async reloadConfig(){this.reloading.set(!0);try{await this.api.reloadConfig(),this.snack.open("Config reloaded","OK",{duration:2500}),await this.refreshAll()}catch(e){this.snack.open(`Reload failed: ${e?.message||e}`,"Dismiss",{duration:5e3})}finally{this.reloading.set(!1)}}setBusy(e,t){this.busyMap.update(i=>{let s=new Map(i);return t===null?s.delete(e):s.set(e,t),s})}ingestResults(e,t){let i=Array.isArray(e?.ran)?e.ran:[],s=Array.isArray(e?.skipped)?e.skipped:[],m=Array.isArray(e?.errors)?e.errors:[];if(this.results.update(f=>{let c=new Map(f);for(let l of i)c.set(l.name,l);for(let l of s)c.set(l.name,l);for(let l of m){let ae=c.get(l.name);c.set(l.name,{name:l.name,detected:ae?.detected??!1,description:l.error||"error"})}return c}),this.errored.update(f=>{let c=new Set(f);for(let l of i)c.delete(l.name);for(let l of s)c.delete(l.name);for(let l of m)c.add(l.name);return c}),this.results_lastIntent.update(f=>{let c=new Map(f);for(let l of i)c.set(l.name,t);for(let l of s)c.set(l.name,t);for(let l of m)c.set(l.name,"fix");return c}),m.length)for(let f of m)this.markError(f.name,f.error)}markError(e,t){this.results.update(i=>{let s=new Map(i);return s.set(e,{name:e,detected:!1,description:t||"error"}),s}),this.results_lastIntent.update(i=>{let s=new Map(i);return s.set(e,"fix"),s}),this.errored.update(i=>{let s=new Set(i);return s.add(e),s})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=S({type:n,selectors:[["dm-doctor-page"]],decls:74,vars:11,consts:[[1,"dm-page-header"],[1,"dm-page-sub"],["mat-icon-button","","aria-label","Refresh",3,"click","disabled"],[1,"dm-section"],[1,"dm-section-title"],[1,"dm-grid-2"],[1,"dm-card"],[1,"dm-stack"],["icon","search_off",3,"title","hint"],[1,"dm-muted"],[1,"dm-banner"],[1,"dm-banner-text"],[1,"dm-banner-actions"],["mat-stroked-button","",3,"click","disabled"],["diameter","16"],["mat-flat-button","","color","warn",3,"click","disabled"],[1,"dm-quick"],["mat-stroked-button","","routerLink","/config"],["mat-stroked-button","","routerLink","/events"],[1,"dm-stat"],[1,"dm-stat-icon"],[1,"dm-stat-label"],[1,"dm-stat-value"],["height","1.25rem","width","60%"],["height","1rem","width","40%"],["height","1rem","width","50%"],[1,"dm-kv"],[1,"dm-k"],[1,"dm-v"],[1,"dm-pill"],[1,"dm-dot"],["height","1rem","width","70%"],["height","1rem","width","80%"],[1,"dm-block"],[1,"dm-list"],[1,"dm-callout"],[1,"dm-table"],[1,"dm-num"],[1,"dm-list","dm-warn"],[1,"dm-row-between"],[1,"dm-routine-desc"],[1,"dm-detail"],["align","end"],["mat-flat-button","","color","primary",3,"click","disabled"]],template:function(t,i){t&1&&(a(0,"div",0)(1,"div")(2,"h1"),r(3,"Doctor"),o(),a(4,"div",1),r(5),o()(),a(6,"button",2),C("click",function(){return i.refreshAll()}),a(7,"mat-icon"),r(8,"refresh"),o()()(),a(9,"section",3)(10,"h2",4),r(11,"System overview"),o(),a(12,"div",5)(13,"mat-card",6)(14,"mat-card-header")(15,"mat-card-title"),r(16,"Daemon"),o()(),a(17,"mat-card-content"),v(18,le,4,0,"div",7)(19,me,25,5),o()(),a(20,"mat-card",6)(21,"mat-card-header")(22,"mat-card-title"),r(23,"Discovery"),o()(),a(24,"mat-card-content"),v(25,ce,4,0,"div",7)(26,pe,3,2,"dm-empty",8)(27,ye,21,5)(28,Ce,2,0,"div",9),o()()()(),a(29,"section",3)(30,"h2",4),r(31,"Auto-fix routines"),o(),a(32,"div",10)(33,"div",11),r(34,"Run diagnostics across every routine, or attempt all fixes in one go."),o(),a(35,"div",12)(36,"button",13),C("click",function(){return i.runAllDry()}),v(37,he,1,0,"mat-spinner",14)(38,be,2,0,"mat-icon"),r(39," Run all dry-run "),o(),a(40,"button",15),C("click",function(){return i.fixAll()}),v(41,Me,1,0,"mat-spinner",14)(42,ke,2,0,"mat-icon"),r(43," Fix everything (be careful) "),o()()(),a(44,"div",5),h(45,Te,21,9,"mat-card",6,de),o()(),a(47,"section",3)(48,"h2",4),r(49,"Quick links"),o(),a(50,"div",16)(51,"button",17)(52,"mat-icon"),r(53,"tune"),o(),r(54," Open Config editor "),o(),a(55,"button",18)(56,"mat-icon"),r(57,"timeline"),o(),r(58," View Events "),o(),a(59,"button",13),C("click",function(){return i.reloadConfig()}),v(60,Fe,1,0,"mat-spinner",14)(61,Ie,2,0,"mat-icon"),r(62," Reload config "),o(),a(63,"div",19)(64,"div",20)(65,"mat-icon"),r(66,"token"),o()(),a(67,"div")(68,"div",21),r(69,"API token footprint"),o(),a(70,"div",22)(71,"dm-mono"),r(72),o(),r(73," per Claude session"),o()()()()()),t&2&&(d(5),u(i.subtitle()),d(),y("disabled",i.loading()),d(12),_(i.loading()&&!i.configLoaded()?18:19),d(7),_(i.loading()&&!i.discovery()?25:i.discovery()&&i.discovery().appsFound===0?26:i.discovery()?27:28),d(11),y("disabled",i.busyAll()),d(),_(i.busyAll()&&i.busyAllKind()==="dry"?37:38),d(3),y("disabled",i.busyAll()),d(),_(i.busyAll()&&i.busyAllKind()==="fix"?41:42),d(4),b(i.routines),d(14),y("disabled",i.reloading()),d(),_(i.reloading()?60:61),d(12),P("~ ",i.tokenEstimate()," tokens"))},dependencies:[$,ne,X,ee,Z,te,Y,K,V,z,B,j,W,Q,q,ie,U,G,J],styles:["[_nghost-%COMP%]{display:block;max-width:1200px;margin:0 auto}.dm-section[_ngcontent-%COMP%]{margin-bottom:1.25rem}.dm-section-title[_ngcontent-%COMP%]{margin:0 0 .5rem;font:500 .6875rem/1rem Roboto;color:var(--mat-sys-on-surface-variant);letter-spacing:.06em;text-transform:uppercase}.dm-grid-2[_ngcontent-%COMP%]{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:800px){.dm-grid-2[_ngcontent-%COMP%]{grid-template-columns:1fr}}.dm-card[_ngcontent-%COMP%]{background:var(--mat-sys-surface-container-low)}.dm-stack[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.dm-kv[_ngcontent-%COMP%]{display:flex;align-items:baseline;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid var(--mat-sys-outline-variant)}.dm-kv[_ngcontent-%COMP%]:last-child{border-bottom:0}.dm-k[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:.8125rem}.dm-v[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface)}.dm-block[_ngcontent-%COMP%]{margin-top:.75rem}.dm-block[_ngcontent-%COMP%] .dm-k[_ngcontent-%COMP%]{display:block;margin-bottom:.35rem}.dm-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.dm-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{padding:.25rem .5rem;background:var(--mat-sys-surface-container);border-radius:6px;overflow-wrap:anywhere}.dm-warn[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{color:var(--mat-sys-error)}.dm-table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse;font-size:.8125rem}.dm-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:.25rem .5rem;border-bottom:1px solid var(--mat-sys-outline-variant)}.dm-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child td[_ngcontent-%COMP%]{border-bottom:0}.dm-num[_ngcontent-%COMP%]{text-align:right;color:var(--mat-sys-on-surface-variant)}.dm-callout[_ngcontent-%COMP%]{margin-top:.75rem;padding:.65rem .85rem;border-radius:10px;background:color-mix(in oklch,var(--mat-sys-tertiary) 12%,transparent);border:1px solid color-mix(in oklch,var(--mat-sys-tertiary) 28%,transparent);color:var(--mat-sys-on-surface);font-size:.875rem}.dm-muted[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:.875rem}.dm-pill[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.4rem;padding:2px 10px;border-radius:999px;border:1px solid var(--mat-sys-outline-variant);background:var(--mat-sys-surface-container);color:var(--mat-sys-on-surface);font:500 .75rem/1rem Roboto;letter-spacing:.025rem}.dm-pill[_ngcontent-%COMP%] .dm-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:999px;background:var(--mat-sys-outline)}.dm-pill[data-kind=ok][_ngcontent-%COMP%], .dm-pill[data-kind=clean][_ngcontent-%COMP%], .dm-pill[data-kind=fixed][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 12%,transparent);border-color:color-mix(in oklch,var(--mat-sys-primary) 28%,transparent)}.dm-pill[data-kind=ok][_ngcontent-%COMP%] .dm-dot[_ngcontent-%COMP%], .dm-pill[data-kind=clean][_ngcontent-%COMP%] .dm-dot[_ngcontent-%COMP%], .dm-pill[data-kind=fixed][_ngcontent-%COMP%] .dm-dot[_ngcontent-%COMP%]{background:var(--mat-sys-primary)}.dm-pill[data-kind=detected][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-tertiary) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-tertiary) 28%,transparent)}.dm-pill[data-kind=detected][_ngcontent-%COMP%] .dm-dot[_ngcontent-%COMP%]{background:var(--mat-sys-tertiary)}.dm-pill[data-kind=err][_ngcontent-%COMP%], .dm-pill[data-kind=error][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-error) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-error) 30%,transparent);color:var(--mat-sys-error)}.dm-pill[data-kind=err][_ngcontent-%COMP%] .dm-dot[_ngcontent-%COMP%], .dm-pill[data-kind=error][_ngcontent-%COMP%] .dm-dot[_ngcontent-%COMP%]{background:var(--mat-sys-error)}.dm-banner[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .85rem;margin-bottom:.75rem;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);border-radius:10px}.dm-banner-text[_ngcontent-%COMP%]{font-size:.875rem;color:var(--mat-sys-on-surface-variant)}.dm-banner-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}@media(max-width:700px){.dm-banner[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}.dm-banner-actions[_ngcontent-%COMP%]{flex-wrap:wrap}}.dm-row-between[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.dm-routine-desc[_ngcontent-%COMP%]{font-size:.875rem;color:var(--mat-sys-on-surface-variant);flex:1}.dm-detail[_ngcontent-%COMP%]{margin-top:.75rem;padding:.5rem .65rem;background:var(--mat-sys-surface-container);border-radius:8px;font-size:.8125rem;overflow-wrap:anywhere}.dm-quick[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.dm-quick[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{justify-content:flex-start;padding:.5rem .75rem;height:auto;min-height:40px}.dm-stat[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border:1px solid var(--mat-sys-outline-variant);border-radius:10px;background:var(--mat-sys-surface-container-low)}.dm-stat-icon[_ngcontent-%COMP%]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:color-mix(in oklch,var(--mat-sys-primary) 14%,transparent);color:var(--mat-sys-primary)}.dm-stat-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.dm-stat-label[_ngcontent-%COMP%]{font-size:.75rem;color:var(--mat-sys-on-surface-variant);text-transform:uppercase;letter-spacing:.025rem}.dm-stat-value[_ngcontent-%COMP%]{font-size:.875rem;color:var(--mat-sys-on-surface)}mat-spinner[_ngcontent-%COMP%]{display:inline-block;margin-right:.35rem}"],changeDetection:0})};export{oe as DoctorPageComponent};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as E,b as ot}from"./chunk-Q7R63OUT.js";import{a as X,b as Y}from"./chunk-NC2VPB4Y.js";import{a as rt,b as st,c as mt,e as lt,f as dt}from"./chunk-JX3IOOXU.js";import{g as U}from"./chunk-TSB6OOH2.js";import{a as et,b as nt,c as it,d as at}from"./chunk-NXNVIINH.js";import{b as Z,c as G}from"./chunk-LQNYSOSZ.js";import{P as J,Q as K,f as j,ua as tt}from"./chunk-QLKOKZDG.js";import{Ab as d,Bb as c,Cb as W,Eb as x,Fb as b,Gb as h,Hb as a,Ib as i,Jb as g,Kb as $,Lb as z,Mb as B,Sb as l,Wb as M,Xb as P,Yb as S,Za as s,ea as O,ec as r,fc as p,gc as f,hc as V,ob as k,oc as q,ta as _,tc as y,za as T,zb as H}from"./chunk-F2EDJ6FT.js";var ft=["canvas"],ct=["chart"],_t=e=>["/history",e],ht=(e,n)=>n.name,Ct=(e,n)=>n.ts;function yt(e,n){if(e&1&&g(0,"dm-status-pill",7),e&2){let t=n;h("status",t.status)("health",t.health)}}function vt(e,n){if(e&1&&(a(0,"span",5),r(1,"\xB7"),i(),a(2,"dm-mono")(3,"span",6),r(4),i()(),d(5,yt,1,2,"dm-status-pill",7)),e&2){let t,o=l();s(4),p(o.name),s(),c((t=o.currentApp())?5:-1,t)}}function xt(e,n){e&1&&(a(0,"a",3)(1,"mat-icon"),r(2,"arrow_back"),i(),r(3," All apps "),i())}function bt(e,n){e&1&&(a(0,"span"),r(1,"Compile-time history across all apps"),i())}function Mt(e,n){e&1&&(a(0,"div",4),g(1,"dm-skeleton",8)(2,"dm-skeleton",8)(3,"dm-skeleton",8),i())}function Pt(e,n){e&1&&g(0,"dm-empty",9)}function St(e,n){if(e&1&&g(0,"dm-status-pill",7),e&2){let t=n;h("status",t.status)("health",t.health)}}function Et(e,n){if(e&1&&(g(0,"dm-history-spark",15),a(1,"div",16)(2,"span",17)(3,"span",18),r(4,"count"),i(),a(5,"span",19)(6,"dm-mono"),r(7),i()()(),a(8,"span",17)(9,"span",18),r(10,"p50"),i(),a(11,"span",19)(12,"dm-mono"),r(13),i()()(),a(14,"span",17)(15,"span",18),r(16,"p95"),i(),a(17,"span",19)(18,"dm-mono"),r(19),i()()()()),e&2){let t=l().$implicit;h("samples",t.samples),s(7),p(t.stats.count),s(6),f("",t.stats.p50," ms"),s(6),f("",t.stats.p95," ms")}}function wt(e,n){e&1&&(a(0,"div",14),r(1,"no data"),i())}function Ot(e,n){if(e&1&&(a(0,"a",11)(1,"div",12)(2,"dm-mono")(3,"span",13),r(4),i()(),d(5,St,1,2,"dm-status-pill",7),i(),d(6,Et,20,4)(7,wt,2,0,"div",14),i()),e&2){let t,o=n.$implicit,m=l(3);h("routerLink",q(4,_t,o.name)),s(4),p(o.name),s(),c((t=m.byName(o.name))?5:-1,t),s(),c(o.samples.length?6:7)}}function Tt(e,n){if(e&1&&(a(0,"div",10),x(1,Ot,8,6,"a",11,ht),i()),e&2){let t=l(2);s(),b(t.overview())}}function kt(e,n){if(e&1&&d(0,Pt,1,0,"dm-empty",9)(1,Tt,3,0,"div",10),e&2){let t=l();c(t.overview().length===0?0:1)}}function Ht(e,n){e&1&&g(0,"dm-empty",9)}function It(e,n){if(e&1&&(a(0,"tr")(1,"td")(2,"span",32),r(3),i()(),a(4,"td",31)(5,"dm-mono"),r(6),i()()()),e&2){let t=n.$implicit,o=l(3);s(2),h("matTooltip",o.absTime(t.ts)),s(),p(o.relTime(t.ts)),s(3),f("",t.ms," ms")}}function Dt(e,n){if(e&1&&(a(0,"div",23)(1,"div",24)(2,"div",25),r(3,"count"),i(),a(4,"div",26)(5,"dm-mono"),r(6),i()()(),a(7,"div",24)(8,"div",25),r(9,"p50"),i(),a(10,"div",26)(11,"dm-mono"),r(12),i()()(),a(13,"div",24)(14,"div",25),r(15,"p95"),i(),a(16,"div",26)(17,"dm-mono"),r(18),i()()(),a(19,"div",24)(20,"div",25),r(21,"slowest"),i(),a(22,"div",26)(23,"dm-mono"),r(24),i()()(),a(25,"div",24)(26,"div",25),r(27,"fastest"),i(),a(28,"div",26)(29,"dm-mono"),r(30),i()()()(),a(31,"mat-card",27)(32,"mat-card-header")(33,"mat-card-title"),r(34,"Compile time (ms)"),i()(),a(35,"mat-card-content")(36,"div",28),g(37,"canvas",null,0),i()()(),a(39,"mat-card",29)(40,"mat-card-header")(41,"mat-card-title"),r(42,"Recent compiles"),i()(),a(43,"mat-card-content")(44,"table",30)(45,"thead")(46,"tr")(47,"th"),r(48,"time"),i(),a(49,"th",31),r(50,"duration"),i()()(),a(51,"tbody"),x(52,It,7,3,"tr",null,Ct),i()()()()),e&2){let t=l(2);s(6),p(t.stats().count),s(6),f("",t.stats().p50," ms"),s(6),f("",t.stats().p95," ms"),s(6),f("",t.stats().slowest," ms"),s(6),f("",t.stats().fastest," ms"),s(22),b(t.recent())}}function Rt(e,n){e&1&&g(0,"dm-skeleton",21)}function Nt(e,n){e&1&&(a(0,"div",22),r(1,"No state transitions recorded."),i())}function Lt(e,n){if(e&1&&(a(0,"span",5),r(1,"\xB7"),i(),a(2,"span",40),r(3),i()),e&2){let t=l();s(3),p(t.message)}}function At(e,n){if(e&1&&(a(0,"div",33)(1,"div",35)(2,"span",36),r(3),i(),a(4,"mat-icon",37),r(5,"arrow_forward"),i(),a(6,"span",38),r(7),i()(),a(8,"div",39)(9,"dm-mono"),r(10),i(),d(11,Lt,4,1),i()()),e&2){let t=n,o=l(3);s(3),p(t.from||"\u2014"),s(3),H("data-to",t.to),s(),p(t.to||"\u2014"),s(3),p(o.fmtTs(t.ts)),s(),c(t.message?11:-1)}}function Ft(e,n){if(e&1&&(a(0,"span",5),r(1,"\xB7"),i(),a(2,"span")(3,"dm-mono"),r(4),i()()),e&2){let t=l().$implicit;s(4),V("",t.from||"\u2014"," \u2192 ",t.to||"\u2014")}}function Qt(e,n){if(e&1&&(a(0,"span",5),r(1,"\xB7"),i(),a(2,"span"),r(3),i()),e&2){let t=l().$implicit;s(3),p(t.message)}}function Wt(e,n){if(e&1&&(a(0,"li"),g(1,"span",41),a(2,"div",42)(3,"div",43)(4,"strong"),r(5),i(),d(6,Ft,5,2),i(),a(7,"div",44)(8,"dm-mono"),r(9),i(),d(10,Qt,4,1),i()()()),e&2){let t=n.$implicit,o=l(4);s(),H("data-kind",t.type),s(4),p(t.type),s(),c(t.from||t.to?6:-1),s(3),p(o.fmtTs(t.ts)),s(),c(t.message?10:-1)}}function $t(e,n){if(e&1&&(a(0,"ol",34),x(1,Wt,11,5,"li",null,W),i()),e&2){let t=l(3);s(),b(t.priorEvents())}}function zt(e,n){if(e&1&&(d(0,At,12,5,"div",33),d(1,$t,3,0,"ol",34)),e&2){let t,o=l(2);c((t=(t=o.why())==null?null:t.lastTransition)?0:-1,t),s(),c(o.priorEvents().length?1:-1)}}function Bt(e,n){if(e&1&&(d(0,Ht,1,0,"dm-empty",9)(1,Dt,54,5),a(2,"mat-card",20)(3,"mat-card-header")(4,"mat-card-title"),r(5,"Why"),i()(),a(6,"mat-card-content"),d(7,Rt,1,0,"dm-skeleton",21)(8,Nt,2,0,"div",22)(9,zt,2,2),i()()),e&2){let t=l();c(t.samples().length===0?0:1),s(7),c(t.whyLoading()?7:t.why()?9:8)}}E.register(...ot);function pt(e,n){if(e.length===0)return 0;let t=Math.min(e.length-1,Math.max(0,Math.floor(n/100*(e.length-1))));return e[t]}function I(e){if(e.length===0)return{count:0,p50:0,p95:0,slowest:0,fastest:0};let n=e.map(t=>t.ms).slice().sort((t,o)=>t-o);return{count:e.length,p50:pt(n,50),p95:pt(n,95),slowest:n[n.length-1],fastest:n[0]}}function Vt(e,n=Date.now()){let t=Math.max(0,n-e),o=Math.floor(t/1e3);if(o<5)return"just now";if(o<60)return o+"s ago";let m=Math.floor(o/60);if(m<60)return m+"m ago";let u=Math.floor(m/60);return u<24?u+"h ago":Math.floor(u/24)+"d ago"}function qt(e){return e?new Date(e).toLocaleString():"\u2014"}function v(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()}var D=class e{samples=[];canvasRef;chart;ngAfterViewInit(){let n=matchMedia("(prefers-reduced-motion: reduce)").matches,t=v("--mat-sys-primary")||"var(--mat-sys-primary)",o={type:"line",data:{labels:this.samples.map((m,u)=>u),datasets:[{data:this.samples.map(m=>m.ms),borderColor:t,backgroundColor:"transparent",borderWidth:1.4,tension:.3,pointRadius:0,fill:!1}]},options:{responsive:!0,maintainAspectRatio:!1,animation:n?!1:{duration:200},plugins:{legend:{display:!1},tooltip:{enabled:!1}},scales:{x:{display:!1},y:{display:!1}}}};this.chart=new E(this.canvasRef.nativeElement,o)}ngOnChanges(n){n.samples&&this.chart&&(this.chart.data.labels=this.samples.map((t,o)=>o),this.chart.data.datasets[0].data=this.samples.map(t=>t.ms),this.chart.update("none"))}ngOnDestroy(){this.chart?.destroy()}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=k({type:e,selectors:[["dm-history-spark"]],viewQuery:function(t,o){if(t&1&&M(ft,7),t&2){let m;P(m=S())&&(o.canvasRef=m.first)}},inputs:{samples:"samples"},features:[T],decls:3,vars:0,consts:[["canvas",""],[1,"dm-spark-box"]],template:function(t,o){t&1&&($(0,"div",1),B(1,"canvas",null,0),z())},styles:["[_nghost-%COMP%]{display:block}.dm-spark-box[_ngcontent-%COMP%]{position:relative;height:56px}"],changeDetection:0})},ut=class e{name="";api=O(tt);router=O(Z);chartCanvas;chartCanvases;loading=_(!0);samples=_([]);overview=_([]);why=_(null);whyLoading=_(!1);stats=y(()=>I(this.samples()));recent=y(()=>this.samples().slice().sort((n,t)=>t.ts-n.ts).slice(0,20));priorEvents=y(()=>{let n=this.why();return Array.isArray(n?.priorEvents)?n.priorEvents:[]});currentApp=y(()=>this.name?this.api.byName(this.name):void 0);chart;refreshTimer;nowTick;tick=_(0);byName(n){return this.api.byName(n)}ngOnInit(){this.load(),this.refreshTimer=setInterval(()=>{this.load(!0)},1e4),this.nowTick=setInterval(()=>this.tick.update(n=>n+1),3e4)}ngOnChanges(n){"name"in n&&!n.name.firstChange&&(this.destroyChart(),this.load())}ngOnDestroy(){this.destroyChart(),this.refreshTimer&&clearInterval(this.refreshTimer),this.nowTick&&clearInterval(this.nowTick)}destroyChart(){this.chart?.destroy(),this.chart=void 0}async load(n=!1){n||this.loading.set(!0);try{if(this.name){let[t,o]=await Promise.all([this.api.getCompileTimes(this.name,200),this.fetchWhy(this.name)]);this.samples.set(Array.isArray(t)?t:[]),this.why.set(o),queueMicrotask(()=>this.renderChart())}else{this.api.apps().length===0&&await this.api.refresh();let o=this.api.apps(),m=await Promise.all(o.map(async u=>{let C=await this.api.getCompileTimes(u.name,100);return{name:u.name,samples:C,stats:I(C)}}));this.overview.set(m)}}finally{n||this.loading.set(!1)}}async fetchWhy(n){this.whyLoading.set(!0);try{return await this.api.getHistoryWhy(n)}finally{this.whyLoading.set(!1)}}renderChart(){let n=this.chartCanvas?.nativeElement??this.chartCanvases?.first?.nativeElement;if(!n)return;let t=this.samples();if(t.length===0){this.destroyChart();return}let o=matchMedia("(prefers-reduced-motion: reduce)").matches,m=v("--mat-sys-primary")||"var(--mat-sys-primary)",u=v("--mat-sys-tertiary")||"var(--mat-sys-tertiary)",C=v("--mat-sys-error")||"var(--mat-sys-error)",R=v("--mat-sys-outline-variant")||"rgba(120,120,120,0.3)",N=t.map(w=>new Date(w.ts).toLocaleTimeString()),L=t.map(w=>w.ms),A=I(t),F=new Array(t.length).fill(A.p50),Q=new Array(t.length).fill(A.p95);if(this.chart){this.chart.data.labels=N,this.chart.data.datasets[0].data=L,this.chart.data.datasets[1].data=F,this.chart.data.datasets[2].data=Q,this.chart.update("none");return}let gt={type:"line",data:{labels:N,datasets:[{label:"ms",data:L,borderColor:m,backgroundColor:"transparent",borderWidth:1.6,tension:.25,pointRadius:0,fill:!1},{label:"p50",data:F,borderColor:u,borderDash:[4,4],borderWidth:1,pointRadius:0,fill:!1},{label:"p95",data:Q,borderColor:C,borderDash:[4,4],borderWidth:1,pointRadius:0,fill:!1}]},options:{responsive:!0,maintainAspectRatio:!1,animation:o?!1:{duration:200},plugins:{legend:{position:"bottom",labels:{boxWidth:12}}},scales:{x:{ticks:{maxTicksLimit:6,autoSkip:!0},grid:{color:R}},y:{beginAtZero:!0,title:{display:!0,text:"ms"},grid:{color:R}}}}};this.chart=new E(n,gt)}relTime(n){return this.tick(),Vt(n)}absTime(n){return new Date(n).toLocaleString()}fmtTs(n){return qt(n)}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=k({type:e,selectors:[["dm-history-page"]],viewQuery:function(t,o){if(t&1&&(M(ct,5),M(ct,5)),t&2){let m;P(m=S())&&(o.chartCanvas=m.first),P(m=S())&&(o.chartCanvases=m)}},inputs:{name:"name"},features:[T],decls:11,vars:3,consts:[["chart",""],[1,"dm-page-header"],[1,"dm-page-sub"],["routerLink","/history",1,"dm-back"],[1,"dm-skel-grid"],[1,"dm-sep"],[1,"dm-app"],[3,"status","health"],["height","8rem"],["icon","query_stats","title","No compile data yet","hint","Compile times appear here as the app builds"],[1,"dm-grid"],[1,"dm-card",3,"routerLink"],[1,"dm-card-head"],[1,"dm-card-name"],[1,"dm-card-empty"],[3,"samples"],[1,"dm-card-foot"],[1,"dm-foot-cell"],[1,"dm-foot-label"],[1,"dm-foot-value"],[1,"dm-why-card"],["height","3rem"],[1,"dm-why-empty"],[1,"dm-stats"],[1,"dm-tile"],[1,"dm-tile-label"],[1,"dm-tile-value"],[1,"dm-chart-card"],[1,"dm-chart-box"],[1,"dm-table-card"],[1,"dm-table"],[1,"dm-num"],[3,"matTooltip"],[1,"dm-transition"],[1,"dm-timeline"],[1,"dm-transition-arrow"],[1,"dm-transition-from"],[1,"dm-transition-icon"],[1,"dm-transition-to"],[1,"dm-transition-meta"],[1,"dm-transition-msg"],[1,"dm-timeline-dot"],[1,"dm-timeline-body"],[1,"dm-timeline-head"],[1,"dm-timeline-meta"]],template:function(t,o){t&1&&(a(0,"div",1)(1,"div")(2,"h1"),r(3," History "),d(4,vt,6,2),i(),a(5,"div",2),d(6,xt,4,0,"a",3)(7,bt,2,0,"span"),i()()(),d(8,Mt,4,0,"div",4)(9,kt,2,1)(10,Bt,10,2)),t&2&&(s(4),c(o.name?4:-1),s(2),c(o.name?6:7),s(2),c(o.loading()?8:o.name?10:9))},dependencies:[j,G,dt,rt,mt,lt,st,U,K,J,Y,X,et,it,nt,at,D],styles:["[_nghost-%COMP%]{display:block}.dm-page-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.dm-sep[_ngcontent-%COMP%]{color:var(--mat-sys-outline);margin:0 .15rem}.dm-app[_ngcontent-%COMP%]{color:var(--mat-sys-primary);font-weight:500}.dm-back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;color:var(--mat-sys-primary);text-decoration:none}.dm-back[_ngcontent-%COMP%]:hover{text-decoration:underline}.dm-skel-grid[_ngcontent-%COMP%], .dm-grid[_ngcontent-%COMP%]{display:grid;gap:1rem}.dm-skel-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.dm-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr))}.dm-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:14px;border:1px solid var(--mat-sys-outline-variant);background:var(--mat-sys-surface-container-lowest);color:inherit;text-decoration:none;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}.dm-card[_ngcontent-%COMP%]:hover{border-color:color-mix(in oklch,var(--mat-sys-primary) 40%,var(--mat-sys-outline-variant));box-shadow:var(--mat-sys-level1)}.dm-card-head[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dm-card-name[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface);font-weight:500}.dm-card-foot[_ngcontent-%COMP%]{display:flex;gap:1rem}.dm-foot-cell[_ngcontent-%COMP%]{display:flex;flex-direction:column}.dm-foot-label[_ngcontent-%COMP%], .dm-tile-label[_ngcontent-%COMP%], .dm-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font:500 .6875rem/1rem Roboto;text-transform:uppercase;letter-spacing:.04rem;color:var(--mat-sys-on-surface-variant)}.dm-foot-value[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface)}.dm-card-empty[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:.875rem;padding:1rem 0}.dm-stats[_ngcontent-%COMP%]{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));margin-bottom:1rem}.dm-tile[_ngcontent-%COMP%]{padding:.85rem 1rem;border-radius:12px;border:1px solid var(--mat-sys-outline-variant);background:var(--mat-sys-surface-container-lowest)}.dm-tile-value[_ngcontent-%COMP%]{font:400 1.5rem/2rem Roboto;color:var(--mat-sys-on-surface);margin-top:.25rem}.dm-chart-card[_ngcontent-%COMP%]{margin-bottom:1rem}.dm-chart-box[_ngcontent-%COMP%]{position:relative;height:320px}.dm-table-card[_ngcontent-%COMP%]{margin-bottom:1rem}.dm-table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse}.dm-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .dm-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--mat-sys-outline-variant);font-size:.875rem}.dm-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background:color-mix(in oklch,var(--mat-sys-primary) 6%,transparent)}.dm-num[_ngcontent-%COMP%]{text-align:right}.dm-why-empty[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:.875rem}.dm-transition[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem;padding:.75rem 1rem;border-radius:10px;background:var(--mat-sys-surface-container);margin-bottom:1rem}.dm-transition-arrow[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font:500 1rem/1.5rem Roboto}.dm-transition-from[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.dm-transition-icon[_ngcontent-%COMP%]{font-size:18px;height:18px;width:18px;color:var(--mat-sys-outline)}.dm-transition-to[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.dm-transition-to[data-to=error][_ngcontent-%COMP%]{color:var(--mat-sys-error)}.dm-transition-to[data-to=stopped][_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.dm-transition-meta[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:.8125rem}.dm-transition-msg[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface)}.dm-timeline[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0 0 0 1rem;border-left:2px solid var(--mat-sys-outline-variant)}.dm-timeline[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{position:relative;padding:.5rem 0 .5rem .75rem}.dm-timeline-dot[_ngcontent-%COMP%]{position:absolute;left:-1.42rem;top:.9rem;width:10px;height:10px;border-radius:999px;background:var(--mat-sys-outline);box-shadow:0 0 0 3px var(--mat-sys-surface)}.dm-timeline-dot[data-kind=status][_ngcontent-%COMP%]{background:var(--mat-sys-primary)}.dm-timeline-dot[data-kind=error][_ngcontent-%COMP%]{background:var(--mat-sys-error)}.dm-timeline-dot[data-kind=health][_ngcontent-%COMP%]{background:var(--mat-sys-tertiary)}.dm-timeline-head[_ngcontent-%COMP%]{font-size:.875rem;color:var(--mat-sys-on-surface)}.dm-timeline-meta[_ngcontent-%COMP%]{font-size:.75rem;color:var(--mat-sys-on-surface-variant);margin-top:.15rem}"],changeDetection:0})};export{ut as HistoryPageComponent,D as HistorySparkComponent};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{a as M}from"./chunk-AEERNAF7.js";import{$ as pe,F as C,G as oe,N as se,U as re,W as de,Y as le,aa as ce,u as ae,w as ie}from"./chunk-QLKOKZDG.js";import{Ab as K,Ac as E,B as F,Bb as X,C as c,Ca as P,Dc as h,Ec as ne,Gb as k,Hb as G,I as R,Ib as I,Kb as b,Lb as H,Mb as Y,Qb as J,T as z,Tb as S,Ub as d,Vb as $,Wb as O,Xb as y,Yb as _,Za as m,aa as u,bc as ee,ca as l,cb as r,cc as v,d as g,db as V,ea as i,fb as B,hb as q,i as A,kb as U,la as j,m as N,nc as w,oa as L,ob as T,pb as x,qb as p,rb as W,sb as Z,ta as Q,vc as te,za as D,zb as f}from"./chunk-F2EDJ6FT.js";var me=new l("CdkAccordion");var he=(()=>{class n{accordion=i(me,{optional:!0,skipSelf:!0});_changeDetectorRef=i(E);_expansionDispatcher=i(M);_openCloseAllSubscription=g.EMPTY;closed=new r;opened=new r;destroyed=new r;expandedChange=new r;id=i(C).getId("cdk-accordion-child-");get expanded(){return this._expanded}set expanded(e){if(this._expanded!==e){if(this._expanded=e,this.expandedChange.emit(e),e){this.opened.emit();let t=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,t)}else this.closed.emit();this._changeDetectorRef.markForCheck()}}_expanded=!1;get disabled(){return this._disabled()}set disabled(e){this._disabled.set(e)}_disabled=Q(!1);_removeUniqueSelectionListener=()=>{};constructor(){}ngOnInit(){this._removeUniqueSelectionListener=this._expansionDispatcher.listen((e,t)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===t&&this.id!==e&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(e=>{this.disabled||(this.expanded=e)})}static \u0275fac=function(t){return new(t||n)};static \u0275dir=p({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",h],disabled:[2,"disabled","disabled",h]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[w([{provide:me,useValue:void 0}])]})}return n})(),ge=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=x({type:n});static \u0275inj=u({})}return n})();var we=["body"],Ee=["bodyWrapper"],Ce=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],Me=["mat-expansion-panel-header","*","mat-action-row"];function Ae(n,be){}var De=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],Pe=["mat-panel-title","mat-panel-description","*"];function Te(n,be){n&1&&(b(0,"span",1),j(),b(1,"svg",2),Y(2,"path",3),H()())}var ue=new l("MAT_ACCORDION"),xe=new l("MAT_EXPANSION_PANEL"),ke=(()=>{class n{_template=i(B);_expansionPanel=i(xe,{optional:!0});constructor(){}static \u0275fac=function(t){return new(t||n)};static \u0275dir=p({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]})}return n})(),fe=new l("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),Ie=(()=>{class n extends he{_viewContainerRef=i(U);_animationsDisabled=re();_document=i(L);_ngZone=i(V);_elementRef=i(P);_renderer=i(q);_cleanupTransitionEnd;get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(e){this._hideToggle=e}_hideToggle=!1;get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(e){this._togglePosition=e}_togglePosition;afterExpand=new r;afterCollapse=new r;_inputChanges=new A;accordion=i(ue,{optional:!0,skipSelf:!0});_lazyContent;_body;_bodyWrapper;_portal;_headerId=i(C).getId("mat-expansion-panel-header-");constructor(){super();let e=i(fe,{optional:!0});this._expansionDispatcher=i(M),e&&(this.hideToggle=e.hideToggle)}_hasSpacing(){return this.accordion?this.expanded&&this.accordion.displayMode==="default":!1}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(z(null),c(()=>this.expanded&&!this._portal),R(1)).subscribe(()=>{this._portal=new le(this._lazyContent._template,this._viewContainerRef)}),this._setupAnimationEvents()}ngOnChanges(e){this._inputChanges.next(e)}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTransitionEnd?.(),this._inputChanges.complete()}_containsFocus(){if(this._body){let e=this._document.activeElement,t=this._body.nativeElement;return e===t||t.contains(e)}return!1}_transitionEndListener=({target:e,propertyName:t})=>{e===this._bodyWrapper?.nativeElement&&t==="grid-template-rows"&&this._ngZone.run(()=>{this.expanded?this.afterExpand.emit():this.afterCollapse.emit()})};_setupAnimationEvents(){this._ngZone.runOutsideAngular(()=>{this._animationsDisabled?(this.opened.subscribe(()=>this._ngZone.run(()=>this.afterExpand.emit())),this.closed.subscribe(()=>this._ngZone.run(()=>this.afterCollapse.emit()))):setTimeout(()=>{let e=this._elementRef.nativeElement;this._cleanupTransitionEnd=this._renderer.listen(e,"transitionend",this._transitionEndListener),e.classList.add("mat-expansion-panel-animations-enabled")},200)})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,a,s){if(t&1&&$(s,ke,5),t&2){let o;y(o=_())&&(a._lazyContent=o.first)}},viewQuery:function(t,a){if(t&1&&(O(we,5),O(Ee,5)),t&2){let s;y(s=_())&&(a._body=s.first),y(s=_())&&(a._bodyWrapper=s.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(t,a){t&2&&v("mat-expanded",a.expanded)("mat-expansion-panel-spacing",a._hasSpacing())},inputs:{hideToggle:[2,"hideToggle","hideToggle",h],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[w([{provide:ue,useValue:void 0},{provide:xe,useExisting:n}]),W,D],ngContentSelectors:Me,decls:9,vars:4,consts:[["bodyWrapper",""],["body",""],[1,"mat-expansion-panel-content-wrapper"],["role","region",1,"mat-expansion-panel-content",3,"id"],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,a){t&1&&(S(Ce),d(0),G(1,"div",2,0)(3,"div",3,1)(5,"div",4),d(6,1),Z(7,Ae,0,0,"ng-template",5),I(),d(8,2),I()()),t&2&&(m(),f("inert",a.expanded?null:""),m(2),k("id",a.id),f("aria-labelledby",a._headerId),m(4),k("cdkPortalOutlet",a._portal))},dependencies:[pe],styles:[`.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:var(--mat-expansion-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}
|
|
2
|
-
`],encapsulation:2,changeDetection:0})}return n})();var ht=(()=>{class n{panel=i(Ie,{host:!0});_element=i(P);_focusMonitor=i(ae);_changeDetectorRef=i(E);_parentChangeSubscription=g.EMPTY;constructor(){i(ie).load(de);let e=this.panel,t=i(fe,{optional:!0}),a=i(new te("tabindex"),{optional:!0}),s=e.accordion?e.accordion._stateChanges.pipe(c(o=>!!(o.hideToggle||o.togglePosition))):N;this.tabIndex=parseInt(a||"")||0,this._parentChangeSubscription=F(e.opened,e.closed,s,e._inputChanges.pipe(c(o=>!!(o.hideToggle||o.disabled||o.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),e.closed.pipe(c(()=>e._containsFocus())).subscribe(()=>this._focusMonitor.focusVia(this._element,"program")),t&&(this.expandedHeight=t.expandedHeight,this.collapsedHeight=t.collapsedHeight)}expandedHeight;collapsedHeight;tabIndex=0;get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){let e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}_keydown(e){switch(e.keyCode){case 32:case 13:oe(e)||(e.preventDefault(),this._toggle());break;default:this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e);return}}focus(e,t){e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(e=>{e&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:13,hostBindings:function(t,a){t&1&&J("click",function(){return a._toggle()})("keydown",function(o){return a._keydown(o)}),t&2&&(f("id",a.panel._headerId)("tabindex",a.disabled?-1:a.tabIndex)("aria-controls",a._getPanelId())("aria-expanded",a._isExpanded())("aria-disabled",a.panel.disabled),ee("height",a._getHeaderHeight()),v("mat-expanded",a._isExpanded())("mat-expansion-toggle-indicator-after",a._getTogglePosition()==="after")("mat-expansion-toggle-indicator-before",a._getTogglePosition()==="before"))},inputs:{expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight",tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:ne(e)]},ngContentSelectors:Pe,decls:5,vars:3,consts:[[1,"mat-content"],[1,"mat-expansion-indicator"],["xmlns","http://www.w3.org/2000/svg","viewBox","0 -960 960 960","aria-hidden","true","focusable","false"],["d","M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z"]],template:function(t,a){t&1&&(S(De),b(0,"span",0),d(1),d(2,1),d(3,2),H(),K(4,Te,3,0,"span",1)),t&2&&(v("mat-content-hide-toggle",!a._showToggle()),m(4),X(a._showToggle()?4:-1))},styles:[`.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color, var(--mat-sys-on-surface))}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color, var(--mat-sys-on-surface-variant))}.mat-expansion-panel-animations-enabled .mat-expansion-indicator{transition:transform 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header.mat-expanded .mat-expansion-indicator{transform:rotate(180deg)}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-legacy-header-indicator-display, none)}.mat-expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-header-indicator-display, inline-block)}@media(forced-colors: active){.mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}}
|
|
3
|
-
`],encapsulation:2,changeDetection:0})}return n})(),gt=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=p({type:n,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]})}return n})(),ut=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=p({type:n,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return n})();var xt=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=x({type:n});static \u0275inj=u({imports:[se,ge,ce]})}return n})();export{Ie as a,ht as b,gt as c,ut as d,xt as e};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{d as gt}from"./chunk-E235WGFQ.js";import{a as at,b as rt,c as lt,d as st,f as mt,h as ct,i as dt,l as pt,m as ut}from"./chunk-SCAIGUJL.js";import{b as Y,f as Z,h as tt,j as et}from"./chunk-SLQ2WBUA.js";import"./chunk-3TYCIBMV.js";import"./chunk-AEERNAF7.js";import{a as X,b as G}from"./chunk-NC2VPB4Y.js";import{d as z,f as H,g as Q}from"./chunk-TSB6OOH2.js";import{a as nt,c as it,d as ot}from"./chunk-NXNVIINH.js";import{b as B}from"./chunk-LQNYSOSZ.js";import{P as $,Q as j,ba as q,f as N,fa as U,ga as W,ia as J,ua as K}from"./chunk-QLKOKZDG.js";import{Ab as u,Bb as g,Eb as E,Fb as O,Gb as C,Hb as r,Ib as o,Jb as h,Ob as f,Qb as _,Sb as m,Va as P,Wb as I,Xb as R,Yb as D,Za as l,cc as F,ea as y,ec as s,fc as v,gc as b,hc as S,ja as d,ka as p,ob as T,sb as L,ta as x,tc as M,uc as A,za as k,zb as V}from"./chunk-F2EDJ6FT.js";var Ct=["viewport"],ht=(n,e)=>e.name;function xt(n,e){if(n&1&&(r(0,"span",7),s(1,"\xB7"),o(),r(2,"dm-mono")(3,"span",8),s(4),o()(),h(5,"dm-status-pill",9)),n&2){let t=e;l(4),v(t.name),l(),C("status",t.status)("health",t.health)}}function vt(n,e){if(n&1&&(r(0,"span",7),s(1,"\xB7"),o(),r(2,"span"),s(3),o()),n&2){let t=m();l(3),S("",t.filtered().length," / ",t.lines().length," lines")}}function wt(n,e){if(n&1){let t=f();r(0,"div",5)(1,"button",10),_("click",function(){d(t);let a=m();return p(a.togglePause())}),r(2,"mat-icon"),s(3),o(),s(4),o(),r(5,"button",11),_("click",function(){d(t);let a=m();return p(a.copyAll())}),r(6,"mat-icon"),s(7,"content_copy"),o(),s(8," Copy "),o(),r(9,"button",12),_("click",function(){d(t);let a=m();return p(a.clear())}),r(10,"mat-icon"),s(11,"delete_sweep"),o(),s(12," Clear "),o()()}if(n&2){let t=m();l(),C("matTooltip",t.paused()?"Resume":"Pause"),l(2),v(t.paused()?"play_arrow":"pause"),l(),b(" ",t.paused()?"Resume":"Pause"," ")}}function yt(n,e){n&1&&h(0,"dm-empty",13)}function bt(n,e){if(n&1&&(r(0,"mat-option",16),s(1),o()),n&2){let t=e.$implicit;C("value",t.name),l(),S("",t.name," (",t.status,")")}}function St(n,e){if(n&1){let t=f();r(0,"mat-form-field",14)(1,"mat-label"),s(2,"Application"),o(),r(3,"mat-select",15),_("selectionChange",function(a){d(t);let c=m(2);return p(c.goto(a.value))}),E(4,bt,2,3,"mat-option",16,ht),o()()}if(n&2){let t=m(2);l(4),O(t.api.apps())}}function Mt(n,e){if(n&1&&(r(0,"div",6)(1,"h3"),s(2,"Pick an app to tail"),o(),u(3,yt,1,0,"dm-empty",13)(4,St,6,0,"mat-form-field",14),o()),n&2){let t=m();l(3),g(t.api.apps().length===0?3:4)}}function kt(n,e){if(n&1){let t=f();r(0,"button",25),_("click",function(){d(t);let a=m(2);return p(a.filter.set(""))}),r(1,"mat-icon"),s(2,"close"),o()()}}function Pt(n,e){if(n&1){let t=f();r(0,"button",26),_("click",function(){d(t);let a=m(2);return p(a.jumpToLatest())}),r(1,"mat-icon"),s(2,"arrow_downward"),o(),s(3," Jump to latest "),o()}}function Tt(n,e){if(n&1){let t=f();r(0,"button",28),_("click",function(){d(t);let a=m(3);return p(a.startApp())}),r(1,"mat-icon"),s(2,"play_arrow"),o(),s(3," Start app "),o()}}function Lt(n,e){if(n&1&&(r(0,"dm-empty",22),u(1,Tt,4,0,"button",27),o()),n&2){let t,i=m(2);l(),g(((t=i.currentApp())==null?null:t.status)==="stopped"?1:-1)}}function Vt(n,e){n&1&&h(0,"dm-empty",23)}function Et(n,e){if(n&1&&(r(0,"div",31)(1,"span",32),s(2),o(),h(3,"span",33),o()),n&2){let t=e.$implicit,i=m(3);V("data-sev",t.severity),l(2),v(i.fmtTs(t.ts)),l(),C("innerHTML",i.render(t.line),P)}}function Ot(n,e){if(n&1){let t=f();r(0,"cdk-virtual-scroll-viewport",29,0),_("scrolledIndexChange",function(){d(t);let a=m(2);return p(a.onScroll())}),L(2,Et,4,3,"div",30),o()}if(n&2){let t=m(2);l(2),C("cdkVirtualForOf",t.filtered())("cdkVirtualForTrackBy",t.trackTs)("cdkVirtualForTemplateCacheSize",0)}}function It(n,e){if(n&1){let t=f();r(0,"div",17)(1,"mat-form-field",18)(2,"mat-label"),s(3,"Filter"),o(),r(4,"input",19),_("ngModelChange",function(a){d(t);let c=m();return p(c.filter.set(a))}),o(),u(5,kt,3,0,"button",20),o(),u(6,Pt,4,0,"button",21),o(),u(7,Lt,2,1,"dm-empty",22)(8,Vt,1,0,"dm-empty",23)(9,Ot,3,3,"cdk-virtual-scroll-viewport",24)}if(n&2){let t=m();l(4),C("ngModel",t.filter()),l(),g(t.filter()?5:-1),l(),g(t.stuckToBottom()?-1:6),l(),g(t.filtered().length===0&&t.lines().length===0?7:t.filtered().length===0?8:9)}}var w=1e3,Rt=/\x1b\[[0-9;]*m/g;function Dt(n){return/\berror:|\bERROR\b|\bError\b/.test(n)?"error":/\bWARN\b|\bWarning\b/.test(n)?"warn":"info"}function _t(n){let e=new Date(n),t=String(e.getHours()).padStart(2,"0"),i=String(e.getMinutes()).padStart(2,"0"),a=String(e.getSeconds()).padStart(2,"0"),c=String(e.getMilliseconds()).padStart(3,"0");return`${t}:${i}:${a}.${c}`}function Ft(n){return n.replace(/[&<>"']/g,e=>e==="&"?"&":e==="<"?"<":e===">"?">":e==='"'?""":"'")}function At(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var ft=class n{name="";api=y(K);router=y(B);viewport;lines=x([]);filter=x("");paused=x(!1);stuckToBottom=x(!0);buffered=[];stop;rafScheduled=!1;currentApp=M(()=>this.name?this.api.byName(this.name):void 0);filtered=M(()=>{let e=this.filter().toLowerCase(),t=this.lines();return e?t.filter(i=>i.line.toLowerCase().includes(e)):t});constructor(){A(()=>{this.filtered(),this.stuckToBottom()&&this.scrollSoon()})}ngOnChanges(e){"name"in e&&(this.teardown(),this.lines.set([]),this.buffered=[],this.filter.set(""),this.stuckToBottom.set(!0),this.name&&this.openStream())}ngOnDestroy(){this.teardown()}openStream(){let e=this.name;this.stop=this.api.openLogStream(e,({ts:t,line:i})=>{let a=(i??"").replace(Rt,""),c={ts:t,line:a,severity:Dt(a)};if(this.paused()){this.buffered.push(c),this.buffered.length>w&&this.buffered.splice(0,this.buffered.length-w);return}this.append([c])})}append(e){this.lines.update(t=>{let i=t.concat(e);return i.length>w?i.slice(i.length-w):i})}teardown(){this.stop?.(),this.stop=void 0}togglePause(){let e=!this.paused();if(this.paused.set(e),!e&&this.buffered.length){let t=this.buffered;this.buffered=[],this.append(t)}}clear(){this.lines.set([]),this.buffered=[]}async copyAll(){let e=this.lines().map(t=>`${_t(t.ts)} ${t.line}`).join(`
|
|
2
|
-
`);try{await navigator.clipboard.writeText(e)}catch{}}onScroll(){let e=this.viewport;if(!e)return;let t=e.getRenderedRange().end,i=e.getDataLength();this.stuckToBottom.set(i===0||t>=i-1)}jumpToLatest(){this.stuckToBottom.set(!0),this.scrollSoon()}scrollSoon(){this.rafScheduled||(this.rafScheduled=!0,requestAnimationFrame(()=>{this.rafScheduled=!1;let e=this.viewport;if(!e)return;let t=e.getDataLength();t>0&&e.scrollToIndex(t,"auto")}))}goto(e){this.router.navigateByUrl(`/logs/${encodeURIComponent(e)}`)}startApp(){this.name&&this.api.startApp(this.name)}fmtTs(e){return _t(e)}trackTs=(e,t)=>t.ts+":"+t.line.length;render(e){let t=this.filter(),i=Ft(e);if(!t)return i;let a=new RegExp(At(t),"gi");return i.replace(a,c=>`<mark>${c}</mark>`)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["dm-logs-page"]],viewQuery:function(t,i){if(t&1&&I(Ct,5),t&2){let a;R(a=D())&&(i.viewport=a.first)}},inputs:{name:"name"},features:[k],decls:13,vars:7,consts:[["viewport",""],[1,"dm-page-header"],[1,"dm-page-sub"],[1,"dm-conn"],[1,"dm-conn-dot"],[1,"dm-actions"],[1,"dm-picker"],[1,"dm-sep"],[1,"dm-app"],[3,"status","health"],["mat-stroked-button","",3,"click","matTooltip"],["mat-stroked-button","","matTooltip","Copy buffer",3,"click"],["mat-stroked-button","","matTooltip","Clear buffer",3,"click"],["icon","apps","title","No apps registered","hint","Add apps to your daimon config to see logs"],["appearance","outline",1,"dm-picker-field"],[3,"selectionChange"],[3,"value"],[1,"dm-toolbar"],["appearance","outline",1,"dm-filter"],["matInput","","placeholder","case-insensitive substring",3,"ngModelChange","ngModel"],["matSuffix","","mat-icon-button",""],["mat-flat-button","","color","primary",1,"dm-jump"],["icon","terminal","title","No logs yet","hint","Start the app or wait for output"],["icon","filter_alt_off","title","No matches","hint","Adjust your filter to see lines"],["itemSize","22",1,"dm-viewport"],["matSuffix","","mat-icon-button","",3,"click"],["mat-flat-button","","color","primary",1,"dm-jump",3,"click"],["mat-flat-button","","color","primary"],["mat-flat-button","","color","primary",3,"click"],["itemSize","22",1,"dm-viewport",3,"scrolledIndexChange"],["class","dm-row",4,"cdkVirtualFor","cdkVirtualForOf","cdkVirtualForTrackBy","cdkVirtualForTemplateCacheSize"],[1,"dm-row"],[1,"dm-ts"],[1,"dm-line",3,"innerHTML"]],template:function(t,i){if(t&1&&(r(0,"div",1)(1,"div")(2,"h1"),s(3," Logs "),u(4,xt,6,3),o(),r(5,"div",2)(6,"span",3),h(7,"span",4),s(8),o(),u(9,vt,4,2),o()(),u(10,wt,13,3,"div",5),o(),u(11,Mt,5,1,"div",6)(12,It,10,4)),t&2){let a;l(4),g((a=i.currentApp())?4:-1,a),l(2),F("dm-conn-on",i.api.connected()),l(2),b(" ",i.api.connected()?"stream connected":"disconnected"," "),l(),g(i.name?9:-1),l(),g(i.name?10:-1),l(),g(i.name?12:11)}},dependencies:[N,et,Y,Z,tt,J,q,W,U,st,lt,at,rt,dt,ct,mt,ut,pt,Q,H,z,j,$,gt,G,X,nt,it,ot],styles:["[_nghost-%COMP%]{display:block}.dm-page-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.dm-sep[_ngcontent-%COMP%]{color:var(--mat-sys-outline);margin:0 .15rem}.dm-app[_ngcontent-%COMP%]{color:var(--mat-sys-primary);font-weight:500}.dm-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:flex-end}.dm-conn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.35rem}.dm-conn-dot[_ngcontent-%COMP%]{width:7px;height:7px;border-radius:999px;background:var(--mat-sys-outline)}.dm-conn-on[_ngcontent-%COMP%] .dm-conn-dot[_ngcontent-%COMP%]{background:var(--mat-sys-primary);box-shadow:0 0 0 3px color-mix(in oklch,var(--mat-sys-primary) 24%,transparent)}.dm-picker[_ngcontent-%COMP%]{max-width:32rem;margin:2rem auto;text-align:center}.dm-picker[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-weight:400;color:var(--mat-sys-on-surface-variant)}.dm-picker-field[_ngcontent-%COMP%]{width:100%}.dm-toolbar[_ngcontent-%COMP%]{display:flex;gap:1rem;align-items:center;margin-bottom:.75rem}.dm-filter[_ngcontent-%COMP%]{flex:1;max-width:28rem}.dm-jump[_ngcontent-%COMP%]{margin-left:auto}.dm-viewport[_ngcontent-%COMP%]{height:calc(100vh - 13rem);min-height:24rem;border:1px solid var(--mat-sys-outline-variant);border-radius:10px;background:var(--mat-sys-surface-container-lowest);contain:strict}.dm-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;height:22px;padding:0 .75rem;font-family:var(--dm-mono);font-size:.8125rem;line-height:22px;white-space:pre;border-left:3px solid transparent;color:var(--mat-sys-on-surface)}.dm-row[data-sev=error][_ngcontent-%COMP%]{border-left-color:var(--mat-sys-error);background:color-mix(in oklch,var(--mat-sys-error) 6%,transparent)}.dm-row[data-sev=warn][_ngcontent-%COMP%]{border-left-color:var(--mat-sys-tertiary);background:color-mix(in oklch,var(--mat-sys-tertiary) 5%,transparent)}.dm-ts[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);flex:0 0 auto}.dm-line[_ngcontent-%COMP%]{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.dm-line[_ngcontent-%COMP%] mark{background:color-mix(in oklch,var(--mat-sys-tertiary) 35%,transparent);color:var(--mat-sys-on-tertiary-container);padding:0 2px;border-radius:3px}"],changeDetection:0})};export{ft as LogsPageComponent};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as J,b as X,c as Z,d as ee,e as te}from"./chunk-BADBUP5C.js";import{a as Y}from"./chunk-WAN7TQQW.js";import"./chunk-AEERNAF7.js";import{a as G,b as U}from"./chunk-NC2VPB4Y.js";import{a as H,b as W,c as Q,d as K}from"./chunk-NXNVIINH.js";import{c as z}from"./chunk-LQNYSOSZ.js";import{Q as j,ua as q}from"./chunk-QLKOKZDG.js";import{Ab as p,Bb as d,Cb as T,Db as B,Eb as y,Fb as v,Gb as u,Hb as r,Ib as l,Jb as E,Ob as h,Qb as f,Sb as c,Wa as S,Ya as V,Za as o,bc as N,cc as w,ea as O,ec as s,fc as _,gc as b,ic as L,ja as x,ka as C,ob as R,oc as F,pa as $,ta as k,tc as P,uc as A,zb as I}from"./chunk-F2EDJ6FT.js";var D=t=>["/apps",t],M=(t,n)=>n.key;function oe(t,n){t&1&&E(0,"dm-skeleton",3)}function re(t,n){if(t&1&&(s(0," \xB7 workspace "),r(1,"dm-mono"),s(2),l()),t&2){let e=c(2);o(2),_(e.workspace())}}function ae(t,n){if(t&1&&(s(0),p(1,re,3,1)),t&2){let e=c();L(" ",e.totalErrors()," ",e.totalErrors()===1?"error":"errors"," across ",e.appsWithErrors()," ",e.appsWithErrors()===1?"app":"apps"," "),o(),d(e.workspace()?1:-1)}}function le(t,n){if(t&1){let e=h();r(0,"button",20),f("click",function(){x(e);let a=c();return C(a.onQuery(""))}),r(1,"span",6),s(2,"close"),l()()}}function se(t,n){if(t&1){let e=h();r(0,"button",21),f("click",function(){let a=x(e).$implicit,m=c();return C(m.setSeverity(a.key))}),s(1),l()}if(t&2){let e=n.$implicit,i=c();w("active",i.severity()===e.key),I("aria-selected",i.severity()===e.key),o(),_(e.label)}}function ce(t,n){if(t&1){let e=h();r(0,"button",21),f("click",function(){let a=x(e).$implicit,m=c();return C(m.setGroupBy(a.key))}),s(1),l()}if(t&2){let e=n.$implicit,i=c();w("active",i.groupBy()===e.key),I("aria-selected",i.groupBy()===e.key),o(),_(e.label)}}function pe(t,n){t&1&&(r(0,"article",22),E(1,"div",23),r(2,"div",24),E(3,"dm-skeleton",25)(4,"dm-skeleton",26)(5,"dm-skeleton",27),l()())}function de(t,n){if(t&1&&(r(0,"div",16),y(1,pe,6,0,"article",22,B),l()),t&2){let e=c();o(),v(e.skeletonItems)}}function me(t,n){t&1&&(r(0,"dm-empty",17)(1,"div",28)(2,"a",29)(3,"span",6),s(4,"home"),l(),s(5,"Go home "),l()()())}function _e(t,n){if(t&1&&E(0,"dm-empty",18),t&2){let e=c();u("title","Clean \u2014 0 errors across "+e.api.apps().length+" apps")}}function ue(t,n){t&1&&E(0,"dm-empty",19)}function fe(t,n){if(t&1){let e=h();r(0,"div",30)(1,"span",6),s(2,"info"),l(),r(3,"span"),s(4,"None of these errors include a file path on the same line as the error. Try "),r(5,"button",31),f("click",function(){x(e);let a=c(2);return C(a.setGroupBy("app"))}),s(6,"group by app"),l(),s(7,"."),l()()}}function ge(t,n){if(t&1&&E(0,"dm-status-pill",35),t&2){let e=c().$implicit;u("status",e.app.status)("health",e.app.health)}}function xe(t,n){if(t&1&&s(0),t&2){let e=c(3).$implicit;b(":",e.col)}}function Ce(t,n){if(t&1&&(r(0,"span",46),s(1),p(2,xe,1,1),l()),t&2){let e=c(2).$implicit;o(),b(":",e.line),o(),d(e.col?2:-1)}}function ye(t,n){if(t&1){let e=h();r(0,"a",45),f("click",function(a){x(e);let m=c().$implicit,g=c(4);return C(g.openEditor(a,m))}),r(1,"dm-mono"),s(2),p(3,Ce,3,2,"span",46),l()()}if(t&2){let e=c().$implicit,i=c(4);u("href",i.editorUrl(e),S)("matTooltip",e.file),o(2),_(i.shortPath(e.file)),o(),d(e.line?3:-1)}}function ve(t,n){t&1&&(r(0,"span",41)(1,"dm-mono"),s(2,"\u2014"),l()())}function he(t,n){if(t&1&&(r(0,"span",42)(1,"dm-mono"),s(2),l()()),t&2){let e=c().$implicit;o(2),_(e.code)}}function be(t,n){if(t&1&&(r(0,"span",44),s(1),l()),t&2){let e=c().$implicit;o(),b("\xD7",e.count)}}function Pe(t,n){if(t&1&&(r(0,"div",39),p(1,ye,4,4,"a",40)(2,ve,3,0,"span",41),p(3,he,3,1,"span",42),r(4,"span",43),s(5),l(),p(6,be,2,1,"span",44),l()),t&2){let e=n.$implicit,i=c().$implicit;o(),d(e.file?1:i.allMissingFile?-1:2),o(2),d(e.code?3:-1),o(),u("matTooltip",e.message),o(),_(e.message),o(),d(e.count>1?6:-1)}}function Ee(t,n){if(t&1){let e=h();r(0,"mat-expansion-panel",32)(1,"mat-expansion-panel-header")(2,"mat-panel-title"),E(3,"div",33),r(4,"span",34)(5,"dm-mono"),s(6),l()(),p(7,ge,1,2,"dm-status-pill",35),r(8,"span",36),s(9),l()(),r(10,"mat-panel-description")(11,"a",37),f("click",function(a){return x(e),C(a.stopPropagation())}),s(12," Open app"),r(13,"span",6),s(14,"chevron_right"),l()()()(),r(15,"div",38),y(16,Pe,7,5,"div",39,T),l()()}if(t&2){let e=n.$implicit,i=c(3);o(3),N("background",i.tone(e.workspaceLabel)),o(3),_(e.key),o(),d(e.app?7:-1),o(2),_(e.errors.length),o(2),u("routerLink",F(8,D,e.key)),o(4),w("rows-nofile",e.allMissingFile),o(),v(e.errors)}}function ke(t,n){if(t&1&&y(0,Ee,18,10,"mat-expansion-panel",32,M),t&2){let e=c(2);v(e.byApp())}}function we(t,n){if(t&1&&(r(0,"span",42)(1,"dm-mono"),s(2),l()()),t&2){let e=c().$implicit;o(2),_(e.code)}}function Me(t,n){if(t&1&&s(0),t&2){let e=c(2).$implicit;b(":",e.col)}}function Se(t,n){if(t&1){let e=h();r(0,"a",49),f("click",function(a){x(e);let m=c().$implicit,g=c(4);return C(g.openEditor(a,m))}),r(1,"dm-mono"),s(2),p(3,Me,1,1),l()()}if(t&2){let e=c().$implicit,i=c(4);u("href",i.editorUrl(e),S),o(2),b(":",e.line),o(),d(e.col?3:-1)}}function Te(t,n){if(t&1&&(r(0,"span",44),s(1),l()),t&2){let e=c().$implicit;o(),b("\xD7",e.count)}}function Fe(t,n){if(t&1){let e=h();r(0,"div",39)(1,"a",47),f("click",function(a){return x(e),C(a.stopPropagation())}),r(2,"dm-mono"),s(3),l()(),p(4,we,3,1,"span",42),r(5,"span",43),s(6),l(),p(7,Se,4,3,"a",48),p(8,Te,2,1,"span",44),l()}if(t&2){let e=n.$implicit;o(),u("routerLink",F(7,D,e.app)),o(2),_(e.app),o(),d(e.code?4:-1),o(),u("matTooltip",e.message),o(),_(e.message),o(),d(e.line?7:-1),o(),d(e.count>1?8:-1)}}function Oe(t,n){if(t&1&&(r(0,"mat-expansion-panel",32)(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"span",34)(4,"dm-mono"),s(5),l()(),r(6,"span",36),s(7),l()()(),r(8,"div",38),y(9,Fe,9,9,"div",39,T),l()()),t&2){let e=n.$implicit,i=c(3);o(5),_(i.shortPath(e.key)),o(2),_(e.errors.length),o(2),v(e.errors)}}function Ie(t,n){if(t&1&&y(0,Oe,11,2,"mat-expansion-panel",32,M),t&2){let e=c(2);v(e.byFile())}}function De(t,n){t&1&&(r(0,"span",50),s(1),l()),t&2&&(o(),_(n))}function $e(t,n){if(t&1&&s(0),t&2){let e=c(2).$implicit;b(":",e.col)}}function Ve(t,n){if(t&1&&(r(0,"span",46),s(1),p(2,$e,1,1),l()),t&2){let e=c().$implicit;o(),b(":",e.line),o(),d(e.col?2:-1)}}function Re(t,n){if(t&1&&(r(0,"span",44),s(1),l()),t&2){let e=c().$implicit;o(),b("\xD7",e.count)}}function Be(t,n){if(t&1){let e=h();r(0,"div",39)(1,"a",47),f("click",function(a){return x(e),C(a.stopPropagation())}),r(2,"dm-mono"),s(3),l()(),r(4,"a",45),f("click",function(a){let m=x(e).$implicit,g=c(4);return C(g.openEditor(a,m))}),r(5,"dm-mono"),s(6),p(7,Ve,3,2,"span",46),l()(),r(8,"span",43),s(9),l(),p(10,Re,2,1,"span",44),l()}if(t&2){let e=n.$implicit,i=c(4);o(),u("routerLink",F(9,D,e.app)),o(2),_(e.app),o(),u("href",i.editorUrl(e),S)("matTooltip",e.file),o(2),_(i.shortPath(e.file)),o(),d(e.line?7:-1),o(),u("matTooltip",e.message),o(),_(e.message),o(),d(e.count>1?10:-1)}}function Ne(t,n){if(t&1&&(r(0,"mat-expansion-panel",32)(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"span",34)(4,"dm-mono"),s(5),l()(),p(6,De,2,1,"span",50),r(7,"span",36),s(8),l()()(),r(9,"div",38),y(10,Be,11,11,"div",39,T),l()()),t&2){let e,i=n.$implicit,a=c(3);o(5),_(i.key),o(),d((e=a.codeHint(i.key))?6:-1,e),o(2),_(i.errors.length),o(2),v(i.errors)}}function Le(t,n){if(t&1&&y(0,Ne,12,3,"mat-expansion-panel",32,M),t&2){let e=c(2);v(e.byCode())}}function Ae(t,n){if(t&1&&(p(0,fe,8,0,"div",30),r(1,"div",16),p(2,ke,2,0)(3,Ie,2,0)(4,Le,2,0),l()),t&2){let e,i=c();d(i.groupBy()==="file"&&i.allFilesMissing()?0:-1),o(2),d((e=i.groupBy())==="app"?2:e==="file"?3:e==="code"?4:-1)}}var ne="daimon.workspace",ze={TS2322:"Type is not assignable to target type",TS2345:"Argument type mismatch",TS2339:"Property does not exist on type",TS18046:"Variable is of type unknown",TS2304:"Cannot find name",TS7006:"Parameter implicitly has an any type",TS6133:"Declared but never used",TS2769:"No overload matches this call"},ie=class t{api=O(q);destroyRef=O($);raw=k(new Map);loading=k(!1);query=k("");severity=k("with-errors");groupBy=k("app");workspace=k(null);skeletonItems=[0,1,2];severityFilters=[{key:"all",label:"all"},{key:"with-errors",label:"with-errors"},{key:"code:TS",label:"code:TS*"},{key:"code:other",label:"code:other"}];groupOptions=[{key:"app",label:"app"},{key:"file",label:"file"},{key:"code",label:"code"}];tone=Y;appsByName=P(()=>{let n=new Map;for(let e of this.api.apps())n.set(e.name,e);return n});flat=P(()=>{let n=[],e=this.appsByName();for(let[i,a]of this.raw()){let m=e.get(i);for(let g of a)n.push({app:i,workspaceLabel:m?.workspaceLabel??null,file:g.parsed?.file??"",line:g.parsed?.line??null,col:g.parsed?.col??null,code:g.parsed?.code??"",message:g.parsed?.message??g.message??"",count:g.count??1})}return n});totalErrors=P(()=>this.flat().reduce((n,e)=>n+e.count,0));appsWithErrors=P(()=>{let n=new Set;for(let e of this.flat())n.add(e.app);return n.size});filteredFlat=P(()=>{let n=this.query().trim().toLowerCase(),e=this.severity(),i=this.workspace();return this.flat().filter(a=>!(i&&a.workspaceLabel!==i||(e==="with-errors"&&!a.code&&a.file,e==="code:TS"&&!/^TS\d+/i.test(a.code))||e==="code:other"&&/^TS\d+/i.test(a.code)||n&&!`${a.file} ${a.code} ${a.message}`.toLowerCase().includes(n)))});byApp=P(()=>{let n=new Map;for(let i of this.filteredFlat()){let a=n.get(i.app);a?a.push(i):n.set(i.app,[i])}let e=this.appsByName();return Array.from(n.entries()).map(([i,a])=>({key:i,app:e.get(i)??null,workspaceLabel:e.get(i)?.workspaceLabel??null,errors:a,allMissingFile:a.every(m=>!m.file)})).sort((i,a)=>a.errors.length-i.errors.length)});byFile=P(()=>{let n=new Map;for(let e of this.filteredFlat()){let i=e.file||"(no file detected)",a=n.get(i);a?a.push(e):n.set(i,[e])}return Array.from(n.entries()).map(([e,i])=>({key:e,errors:i})).sort((e,i)=>i.errors.length-e.errors.length)});allFilesMissing=P(()=>{let n=this.filteredFlat();return n.length?n.every(e=>!e.file):!1});byCode=P(()=>{let n=new Map;for(let e of this.filteredFlat()){let i=e.code||"(no-code)",a=n.get(i);a?a.push(e):n.set(i,[e])}return Array.from(n.entries()).map(([e,i])=>({key:e,errors:i})).sort((e,i)=>i.errors.length-e.errors.length)});constructor(){this.workspace.set(localStorage.getItem(ne));let n=e=>this.workspace.set(e.detail??null);window.addEventListener("daimon:workspace",n),this.destroyRef.onDestroy(()=>window.removeEventListener("daimon:workspace",n)),A(()=>{this.api.apps().map(i=>i.name).sort().join("|")&&this.fetchAll()})}async ngOnInit(){this.api.apps().length===0&&!this.api.ready()?await this.api.refresh():await this.fetchAll()}ngOnDestroy(){}onStorage(n){n.key===ne&&this.workspace.set(n.newValue)}refresh(){this.fetchAll()}onQuery(n){this.query.set(n)}setSeverity(n){this.severity.set(n)}setGroupBy(n){this.groupBy.set(n)}codeHint(n){return ze[n]??""}shortPath(n){if(!n)return"\u2014";let e=n.split(/[\\/]/);return e.length<=3?n:"\u2026/"+e.slice(-2).join("/")}editorUrl(n){if(!n.file)return"#";let e=n.line??1,i=n.col??1;return`vscode://file/${n.file}:${e}:${i}`}openEditor(n,e){if(!e.file){n.preventDefault();return}n.preventDefault(),window.open(this.editorUrl(e),"_self")}async fetchAll(){if(!this.loading()){this.loading.set(!0);try{let n=this.api.apps(),e=await Promise.all(n.map(async a=>[a.name,await this.api.appErrors(a.name)])),i=new Map;for(let[a,m]of e)i.set(a,m);this.raw.set(i)}finally{this.loading.set(!1)}}}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=R({type:t,selectors:[["dm-errors-panel"]],hostBindings:function(e,i){e&1&&f("storage",function(m){return i.onStorage(m)},V)},decls:31,vars:7,consts:[[1,"dm-page"],[1,"dm-page-header"],[1,"dm-page-sub"],["width","14rem","height",".875rem"],[1,"dm-header-actions"],["type","button","matTooltip","Refresh","aria-label","Refresh",1,"ib",3,"click","disabled"],[1,"material-symbols-outlined"],[1,"dm-filterbar"],[1,"dm-search"],[1,"material-symbols-outlined","dm-search-icon"],["type","search","placeholder","Filter by file, code, or message\u2026","aria-label","Filter errors",3,"input","value"],["type","button","aria-label","Clear",1,"dm-search-clear"],["role","tablist","aria-label","Severity filter",1,"dm-chips"],["type","button","role","tab",1,"dm-chip",3,"active"],["role","tablist","aria-label","Group by",1,"dm-chips"],[1,"dm-chips-label"],[1,"dm-cards"],["icon","error","title","No apps to scan","hint","Discover some apps first"],["icon","check_circle","hint","The last build was clean. Keep going.",3,"title"],["icon","filter_alt_off","title","No matches","hint","Try clearing the search or severity filter"],["type","button","aria-label","Clear",1,"dm-search-clear",3,"click"],["type","button","role","tab",1,"dm-chip",3,"click"],[1,"dm-card-sk"],[1,"dm-sk-accent"],[1,"dm-sk-body"],["width","40%","height","1.125rem"],["width","70%","height",".875rem"],["width","55%","height",".875rem"],[1,"dm-empty-actions"],["routerLink","/",1,"dm-link-btn"],[1,"dm-hint"],["type","button",1,"dm-link",3,"click"],["expanded","",1,"dm-panel"],[1,"ac"],[1,"ttl"],[3,"status","health"],[1,"eb"],[1,"lnk",3,"click","routerLink"],[1,"rows"],[1,"row"],[1,"loc",3,"href","matTooltip"],[1,"loc","dim"],[1,"code"],[1,"msg",3,"matTooltip"],[1,"cnt"],[1,"loc",3,"click","href","matTooltip"],[1,"dim"],[1,"loc",3,"click","routerLink"],[1,"dim","ln",3,"href"],[1,"dim","ln",3,"click","href"],[1,"hint"]],template:function(e,i){e&1&&(r(0,"div",0)(1,"header",1)(2,"div")(3,"h1"),s(4,"Errors"),l(),r(5,"div",2),p(6,oe,1,0,"dm-skeleton",3)(7,ae,2,5),l()(),r(8,"div",4)(9,"button",5),f("click",function(){return i.refresh()}),r(10,"span",6),s(11,"refresh"),l()()()(),r(12,"div",7)(13,"div",8)(14,"span",9),s(15,"search"),l(),r(16,"input",10),f("input",function(m){return i.onQuery(m.target.value)}),l(),p(17,le,3,0,"button",11),l(),r(18,"div",12),y(19,se,2,4,"button",13,M),l(),r(21,"div",14)(22,"span",15),s(23,"Group by"),l(),y(24,ce,2,4,"button",13,M),l()(),p(26,de,3,0,"div",16)(27,me,6,0,"dm-empty",17)(28,_e,1,1,"dm-empty",18)(29,ue,1,0,"dm-empty",19)(30,Ae,5,2),l()),e&2&&(o(6),d(i.loading()?6:7),o(3),u("disabled",i.loading()),o(),w("spin",i.loading()),o(6),u("value",i.query()),o(),d(i.query()?17:-1),o(2),v(i.severityFilters),o(5),v(i.groupOptions),o(2),d(i.loading()&&!i.raw().size?26:i.api.apps().length===0?27:i.totalErrors()===0?28:i.filteredFlat().length===0?29:30))},dependencies:[z,te,J,X,ee,Z,j,U,G,H,W,Q,K],styles:["[_nghost-%COMP%]{display:block}.dm-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.dm-page-header[_ngcontent-%COMP%]{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.dm-page-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font:400 1.5rem/2rem Roboto}.dm-page-sub[_ngcontent-%COMP%]{font:400 .8125rem/1.25rem Roboto;color:var(--mat-sys-on-surface-variant);margin-top:.25rem;display:flex;gap:.25rem;flex-wrap:wrap;align-items:center}.dm-header-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.ib[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--mat-sys-outline-variant);border-radius:10px;color:var(--mat-sys-on-surface-variant);cursor:pointer}.ib[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface)}.ib[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed}.ib[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:20px}.spin[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_dm-spin 1s linear infinite}@keyframes _ngcontent-%COMP%_dm-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin[_ngcontent-%COMP%]{animation:none}}.dm-filterbar[_ngcontent-%COMP%]{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.5rem;background:var(--mat-sys-surface);border:1px solid var(--mat-sys-outline-variant);border-radius:12px}.dm-search[_ngcontent-%COMP%]{position:relative;flex:1;min-width:220px;display:inline-flex;align-items:center;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);border-radius:10px}.dm-search[_ngcontent-%COMP%]:focus-within{border-color:var(--mat-sys-primary)}.dm-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;border:0;outline:0;background:transparent;padding:8px 36px;font:400 .875rem/1.25rem Roboto;color:var(--mat-sys-on-surface)}.dm-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder{color:var(--mat-sys-on-surface-variant)}.dm-search-icon[_ngcontent-%COMP%]{position:absolute;left:10px;pointer-events:none;font-size:18px;color:var(--mat-sys-on-surface-variant)}.dm-search-clear[_ngcontent-%COMP%]{position:absolute;right:6px;background:transparent;border:0;cursor:pointer;color:var(--mat-sys-on-surface-variant);width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.dm-search-clear[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-high)}.dm-search-clear[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:16px}.dm-chips[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:2px;border-radius:10px;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);gap:2px}.dm-chips-label[_ngcontent-%COMP%]{font:500 .6875rem/1rem Roboto;text-transform:uppercase;letter-spacing:.04rem;color:var(--mat-sys-on-surface-variant);padding:0 .5rem 0 .25rem}.dm-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:5px 10px;border-radius:8px;background:transparent;border:0;color:var(--mat-sys-on-surface-variant);cursor:pointer;font:500 .8125rem/1rem Roboto}.dm-chip[_ngcontent-%COMP%]:hover{color:var(--mat-sys-on-surface)}.dm-chip.active[_ngcontent-%COMP%]{background:var(--mat-sys-surface);color:var(--mat-sys-primary);box-shadow:var(--mat-sys-level1)}.dm-cards[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.dm-hint[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:10px;background:color-mix(in oklch,var(--mat-sys-tertiary) 10%,transparent);border:1px solid color-mix(in oklch,var(--mat-sys-tertiary) 24%,transparent);color:var(--mat-sys-on-surface);font:400 .8125rem/1.25rem Roboto}.dm-hint[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px;color:var(--mat-sys-tertiary)}.dm-hint[_ngcontent-%COMP%] .dm-link[_ngcontent-%COMP%]{background:transparent;border:0;padding:0;color:var(--mat-sys-primary);cursor:pointer;font:500 .8125rem/1.25rem Roboto;text-decoration:underline}.dm-panel[_ngcontent-%COMP%]{background:var(--mat-sys-surface-container-low)!important;border:1px solid var(--mat-sys-outline-variant);border-radius:14px!important;overflow:hidden;box-shadow:none!important}.dm-panel.mat-expanded[_ngcontent-%COMP%]{box-shadow:var(--mat-sys-level1)!important} .dm-panel .mat-expansion-panel-header{padding:0 1rem;height:56px;background:var(--mat-sys-surface-container-low)} .dm-panel .mat-expansion-panel-header:hover{background:var(--mat-sys-surface-container)!important} .dm-panel .mat-expansion-panel-body{padding:0 1rem 1rem} .dm-panel .mat-expansion-panel-content{background:var(--mat-sys-surface-container-low)}.ac[_ngcontent-%COMP%]{width:4px;height:24px;border-radius:2px;margin-right:.5rem}.ttl[_ngcontent-%COMP%]{font:500 .9375rem/1.25rem Roboto;display:inline-flex;align-items:center;gap:.5rem}.hint[_ngcontent-%COMP%]{font:400 .75rem/1rem Roboto;color:var(--mat-sys-on-surface-variant);margin-left:.5rem}mat-panel-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}mat-panel-description[_ngcontent-%COMP%]{justify-content:flex-end;color:var(--mat-sys-on-surface-variant)}.eb[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font:600 .75rem/1rem Roboto;background:color-mix(in oklch,var(--mat-sys-error) 14%,transparent);color:var(--mat-sys-error);border:1px solid color-mix(in oklch,var(--mat-sys-error) 30%,transparent);margin-left:.25rem}.lnk[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.125rem;color:var(--mat-sys-primary);text-decoration:none;font:500 .8125rem/1.25rem Roboto}.lnk[_ngcontent-%COMP%]:hover{text-decoration:underline}.lnk[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:16px}.rows[_ngcontent-%COMP%]{display:flex;flex-direction:column}.row[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(0,2fr) auto;align-items:center;gap:.75rem;padding:.5rem .25rem;border-bottom:1px solid var(--mat-sys-outline-variant)}.rows-nofile[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{grid-template-columns:auto minmax(0,1fr) auto}.row[_ngcontent-%COMP%]:last-child{border-bottom:0}.row[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container)}.loc[_ngcontent-%COMP%]{color:var(--mat-sys-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.loc[_ngcontent-%COMP%]:hover{text-decoration:underline}.dim[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.ln[_ngcontent-%COMP%]{justify-self:end}.code[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:1px 8px;border-radius:6px;background:color-mix(in oklch,var(--mat-sys-tertiary) 14%,transparent);color:var(--mat-sys-tertiary);border:1px solid color-mix(in oklch,var(--mat-sys-tertiary) 28%,transparent);font-weight:500}.msg[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface);font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cnt[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font:500 .75rem/1rem Roboto;justify-self:end}.dm-card-sk[_ngcontent-%COMP%]{background:var(--mat-sys-surface-container-low);border:1px solid var(--mat-sys-outline-variant);border-radius:14px;overflow:hidden}.dm-sk-accent[_ngcontent-%COMP%]{height:4px;background:var(--mat-sys-surface-container)}.dm-sk-body[_ngcontent-%COMP%]{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.dm-empty-actions[_ngcontent-%COMP%]{margin-top:.75rem}.dm-link-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:6px 14px;border-radius:10px;background:var(--mat-sys-primary);color:var(--mat-sys-on-primary);text-decoration:none;font:500 .875rem/1.25rem Roboto}.dm-link-btn[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}@media(max-width:760px){.row[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:.25rem}.ln[_ngcontent-%COMP%], .cnt[_ngcontent-%COMP%]{justify-self:start}}"],changeDetection:0})};export{ie as ErrorsPanelComponent};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{g as hi}from"./chunk-SCAIGUJL.js";import{a as di,c as si,e as li}from"./chunk-TSB6OOH2.js";import{F as ci,I as oi,M as ni,N as P,U as ri,W as L,u as ei,w as B,x as ai}from"./chunk-QLKOKZDG.js";import{Aa as q,Ab as E,Ac as R,B as C,Bb as S,Ca as f,Da as N,Dc as h,Ec as T,Gb as Z,Hb as u,Ib as b,Jb as D,Kb as X,Lb as J,Pb as Y,Qb as w,T as g,Tb as M,U as V,Ub as _,V as p,Vb as s,Wb as $,Xb as r,Yb as d,Za as y,aa as Q,ca as l,cb as I,cc as A,db as K,dc as ii,ea as n,i as v,na as G,nc as F,oa as j,ob as x,pb as W,qb as k,rb as U,wc as ti,zb as m}from"./chunk-F2EDJ6FT.js";var yi=["*",[["mat-chip-avatar"],["","matChipAvatar",""]],[["mat-chip-trailing-icon"],["","matChipRemove",""],["","matChipTrailingIcon",""]]],bi=["*","mat-chip-avatar, [matChipAvatar]","mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]"];function wi(a,vi){a&1&&(u(0,"span",3),_(1,1),b())}function Ci(a,vi){a&1&&(u(0,"span",6),_(1,2),b())}var Ii=["*"];var xi=new l("mat-chips-default-options",{providedIn:"root",factory:()=>({separatorKeyCodes:[13]})}),pi=new l("MatChipAvatar"),mi=new l("MatChipTrailingIcon"),ui=new l("MatChipEdit"),O=new l("MatChipRemove"),_i=new l("MatChip"),H=(()=>{class a{_elementRef=n(f);_parentChip=n(_i);isInteractive=!0;_isPrimary=!0;_isLeading=!1;get disabled(){return this._disabled||this._parentChip?.disabled||!1}set disabled(i){this._disabled=i}_disabled=!1;tabIndex=-1;_allowFocusWhenDisabled=!1;_getDisabledAttribute(){return this.disabled&&!this._allowFocusWhenDisabled?"":null}_getTabindex(){return this.disabled&&!this._allowFocusWhenDisabled||!this.isInteractive?null:this.tabIndex.toString()}constructor(){n(B).load(L),this._elementRef.nativeElement.nodeName==="BUTTON"&&this._elementRef.nativeElement.setAttribute("type","button")}focus(){this._elementRef.nativeElement.focus()}_handleClick(i){!this.disabled&&this.isInteractive&&this._isPrimary&&(i.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}_handleKeydown(i){(i.keyCode===13||i.keyCode===32)&&!this.disabled&&this.isInteractive&&this._isPrimary&&!this._parentChip._isEditing&&(i.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}static \u0275fac=function(e){return new(e||a)};static \u0275dir=k({type:a,selectors:[["","matChipAction",""]],hostAttrs:[1,"mdc-evolution-chip__action","mat-mdc-chip-action"],hostVars:11,hostBindings:function(e,t){e&1&&w("click",function(c){return t._handleClick(c)})("keydown",function(c){return t._handleKeydown(c)}),e&2&&(m("tabindex",t._getTabindex())("disabled",t._getDisabledAttribute())("aria-disabled",t.disabled),A("mdc-evolution-chip__action--primary",t._isPrimary)("mdc-evolution-chip__action--presentational",!t.isInteractive)("mdc-evolution-chip__action--secondary",!t._isPrimary)("mdc-evolution-chip__action--trailing",!t._isPrimary&&!t._isLeading))},inputs:{isInteractive:"isInteractive",disabled:[2,"disabled","disabled",h],tabIndex:[2,"tabIndex","tabIndex",i=>i==null?-1:T(i)],_allowFocusWhenDisabled:"_allowFocusWhenDisabled"}})}return a})();var at=(()=>{class a extends H{_isPrimary=!1;_handleClick(i){this.disabled||(i.stopPropagation(),i.preventDefault(),this._parentChip.remove())}_handleKeydown(i){(i.keyCode===13||i.keyCode===32)&&!this.disabled&&(i.stopPropagation(),i.preventDefault(),this._parentChip.remove())}static \u0275fac=(()=>{let i;return function(t){return(i||(i=q(a)))(t||a)}})();static \u0275dir=k({type:a,selectors:[["","matChipRemove",""]],hostAttrs:["role","button",1,"mat-mdc-chip-remove","mat-mdc-chip-trailing-icon","mat-focus-indicator","mdc-evolution-chip__icon","mdc-evolution-chip__icon--trailing"],hostVars:1,hostBindings:function(e,t){e&2&&m("aria-hidden",null)},features:[F([{provide:O,useExisting:a}]),U]})}return a})(),ki=(()=>{class a{_changeDetectorRef=n(R);_elementRef=n(f);_tagName=n(ti);_ngZone=n(K);_focusMonitor=n(ei);_globalRippleOptions=n(di,{optional:!0});_document=n(j);_onFocus=new v;_onBlur=new v;_isBasicChip;role=null;_hasFocusInternal=!1;_pendingFocus;_actionChanges;_animationsDisabled=ri();_allLeadingIcons;_allTrailingIcons;_allEditIcons;_allRemoveIcons;_hasFocus(){return this._hasFocusInternal}id=n(ci).getId("mat-mdc-chip-");ariaLabel=null;ariaDescription=null;_chipListDisabled=!1;_hadFocusOnRemove=!1;_textElement;get value(){return this._value!==void 0?this._value:this._textElement.textContent.trim()}set value(i){this._value=i}_value;color;removable=!0;highlighted=!1;disableRipple=!1;get disabled(){return this._disabled||this._chipListDisabled}set disabled(i){this._disabled=i}_disabled=!1;removed=new I;destroyed=new I;basicChipAttrName="mat-basic-chip";leadingIcon;editIcon;trailingIcon;removeIcon;primaryAction;_rippleLoader=n(si);_injector=n(G);constructor(){let i=n(B);i.load(L),i.load(ai),this._monitorFocus(),this._rippleLoader?.configureRipple(this._elementRef.nativeElement,{className:"mat-mdc-chip-ripple",disabled:this._isRippleDisabled()})}ngOnInit(){this._isBasicChip=this._elementRef.nativeElement.hasAttribute(this.basicChipAttrName)||this._tagName.toLowerCase()===this.basicChipAttrName}ngAfterViewInit(){this._textElement=this._elementRef.nativeElement.querySelector(".mat-mdc-chip-action-label"),this._pendingFocus&&(this._pendingFocus=!1,this.focus())}ngAfterContentInit(){this._actionChanges=C(this._allLeadingIcons.changes,this._allTrailingIcons.changes,this._allEditIcons.changes,this._allRemoveIcons.changes).subscribe(()=>this._changeDetectorRef.markForCheck())}ngDoCheck(){this._rippleLoader.setDisabled(this._elementRef.nativeElement,this._isRippleDisabled())}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement),this._actionChanges?.unsubscribe(),this.destroyed.emit({chip:this}),this.destroyed.complete()}remove(){this.removable&&(this._hadFocusOnRemove=this._hasFocus(),this.removed.emit({chip:this}))}_isRippleDisabled(){return this.disabled||this.disableRipple||this._animationsDisabled||this._isBasicChip||!this._hasInteractiveActions()||!!this._globalRippleOptions?.disabled}_hasTrailingIcon(){return!!(this.trailingIcon||this.removeIcon)}_handleKeydown(i){(i.keyCode===8&&!i.repeat||i.keyCode===46)&&(i.preventDefault(),this.remove())}focus(){this.disabled||(this.primaryAction?this.primaryAction.focus():this._pendingFocus=!0)}_getSourceAction(i){return this._getActions().find(e=>{let t=e._elementRef.nativeElement;return t===i||t.contains(i)})}_getActions(){let i=[];return this.editIcon&&i.push(this.editIcon),this.primaryAction&&i.push(this.primaryAction),this.removeIcon&&i.push(this.removeIcon),this.trailingIcon&&i.push(this.trailingIcon),i}_handlePrimaryActionInteraction(){}_hasInteractiveActions(){return this._getActions().some(i=>i.isInteractive)}_edit(i){}_monitorFocus(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(i=>{let e=i!==null;e!==this._hasFocusInternal&&(this._hasFocusInternal=e,e?this._onFocus.next({chip:this}):(this._changeDetectorRef.markForCheck(),setTimeout(()=>this._ngZone.run(()=>this._onBlur.next({chip:this})))))})}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=x({type:a,selectors:[["mat-basic-chip"],["","mat-basic-chip",""],["mat-chip"],["","mat-chip",""]],contentQueries:function(e,t,o){if(e&1&&(s(o,pi,5),s(o,ui,5),s(o,mi,5),s(o,O,5),s(o,pi,5),s(o,mi,5),s(o,ui,5),s(o,O,5)),e&2){let c;r(c=d())&&(t.leadingIcon=c.first),r(c=d())&&(t.editIcon=c.first),r(c=d())&&(t.trailingIcon=c.first),r(c=d())&&(t.removeIcon=c.first),r(c=d())&&(t._allLeadingIcons=c),r(c=d())&&(t._allTrailingIcons=c),r(c=d())&&(t._allEditIcons=c),r(c=d())&&(t._allRemoveIcons=c)}},viewQuery:function(e,t){if(e&1&&$(H,5),e&2){let o;r(o=d())&&(t.primaryAction=o.first)}},hostAttrs:[1,"mat-mdc-chip"],hostVars:31,hostBindings:function(e,t){e&1&&w("keydown",function(c){return t._handleKeydown(c)}),e&2&&(Y("id",t.id),m("role",t.role)("aria-label",t.ariaLabel),ii("mat-"+(t.color||"primary")),A("mdc-evolution-chip",!t._isBasicChip)("mdc-evolution-chip--disabled",t.disabled)("mdc-evolution-chip--with-trailing-action",t._hasTrailingIcon())("mdc-evolution-chip--with-primary-graphic",t.leadingIcon)("mdc-evolution-chip--with-primary-icon",t.leadingIcon)("mdc-evolution-chip--with-avatar",t.leadingIcon)("mat-mdc-chip-with-avatar",t.leadingIcon)("mat-mdc-chip-highlighted",t.highlighted)("mat-mdc-chip-disabled",t.disabled)("mat-mdc-basic-chip",t._isBasicChip)("mat-mdc-standard-chip",!t._isBasicChip)("mat-mdc-chip-with-trailing-icon",t._hasTrailingIcon())("_mat-animation-noopable",t._animationsDisabled))},inputs:{role:"role",id:"id",ariaLabel:[0,"aria-label","ariaLabel"],ariaDescription:[0,"aria-description","ariaDescription"],value:"value",color:"color",removable:[2,"removable","removable",h],highlighted:[2,"highlighted","highlighted",h],disableRipple:[2,"disableRipple","disableRipple",h],disabled:[2,"disabled","disabled",h]},outputs:{removed:"removed",destroyed:"destroyed"},exportAs:["matChip"],features:[F([{provide:_i,useExisting:a}])],ngContentSelectors:bi,decls:8,vars:3,consts:[[1,"mat-mdc-chip-focus-overlay"],[1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--primary"],["matChipAction","",3,"isInteractive"],[1,"mdc-evolution-chip__graphic","mat-mdc-chip-graphic"],[1,"mdc-evolution-chip__text-label","mat-mdc-chip-action-label"],[1,"mat-mdc-chip-primary-focus-indicator","mat-focus-indicator"],[1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--trailing"]],template:function(e,t){e&1&&(M(yi),D(0,"span",0),u(1,"span",1)(2,"span",2),E(3,wi,2,0,"span",3),u(4,"span",4),_(5),D(6,"span",5),b()()(),E(7,Ci,2,0,"span",6)),e&2&&(y(2),Z("isInteractive",!1),y(),S(t.leadingIcon?3:-1),y(4),S(t._hasTrailingIcon()?7:-1))},dependencies:[H],styles:[`.mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}@media(forced-colors: active){.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{forced-color-adjust:none}}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary::before{border-width:var(--mat-chip-outline-width, 1px);border-radius:var(--mat-chip-container-shape-radius, 8px);box-sizing:border-box;content:"";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary::before{border-color:var(--mat-chip-outline-color, var(--mat-sys-outline))}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):not(.mdc-ripple-upgraded):focus::before{border-color:var(--mat-chip-focus-outline-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary::before{border-color:var(--mat-chip-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary::before{border-width:var(--mat-chip-flat-selected-outline-width, 0)}.mat-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--secondary{position:relative;overflow:visible}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--secondary{color:var(--mat-chip-with-trailing-icon-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--secondary{color:var(--mat-chip-with-trailing-icon-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:var(--mat-chip-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-chip-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-chip-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mat-chip-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-chip-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mat-chip-label-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mat-chip-selected-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:var(--mat-chip-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.mat-mdc-standard-chip .mdc-evolution-chip__graphic{width:var(--mat-chip-with-avatar-avatar-size, 24px);height:var(--mat-chip-with-avatar-avatar-size, 24px);font-size:var(--mat-chip-with-avatar-avatar-size, 24px)}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__graphic{padding-left:0}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:var(--mat-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:var(--mat-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);transform:translate(-75%, -50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%, -50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}@media(forced-colors: active){.mdc-evolution-chip__checkmark-path{stroke:CanvasText !important}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove{opacity:calc(var(--mat-chip-trailing-action-opacity, 1)*var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove:focus{opacity:calc(var(--mat-chip-trailing-action-focus-opacity, 1)*var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mat-mdc-standard-chip{border-radius:var(--mat-chip-container-shape-radius, 8px);height:var(--mat-chip-container-height, 32px)}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:var(--mat-chip-elevated-container-color, transparent)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:var(--mat-chip-elevated-disabled-container-color)}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:var(--mat-chip-elevated-selected-container-color, var(--mat-sys-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:var(--mat-chip-flat-disabled-selected-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}@media(forced-colors: active){.mat-mdc-standard-chip{outline:solid 1px}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:var(--mat-chip-with-avatar-avatar-shape-radius, 24px);width:var(--mat-chip-with-icon-icon-size, 18px);height:var(--mat-chip-with-icon-icon-size, 18px);font-size:var(--mat-chip-with-icon-icon-size, 18px)}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:var(--mat-chip-with-icon-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:var(--mat-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-highlighted{--mat-chip-with-icon-icon-color: var(--mat-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container));--mat-chip-elevated-container-color: var(--mat-chip-elevated-selected-container-color, var(--mat-sys-secondary-container));--mat-chip-label-text-color: var(--mat-chip-selected-label-text-color, var(--mat-sys-on-secondary-container));--mat-chip-outline-width: var(--mat-chip-flat-selected-outline-width, 0)}.mat-mdc-chip-focus-overlay{background:var(--mat-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-selected .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip:hover .mat-mdc-chip-focus-overlay{background:var(--mat-chip-hover-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-focus-overlay .mat-mdc-chip-selected:hover,.mat-mdc-chip-highlighted:hover .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-hover-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mat-chip-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mat-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mat-chip-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected.cdk-focused .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .mat-mdc-chip-avatar{opacity:var(--mat-chip-with-avatar-disabled-avatar-opacity, 0.38)}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{opacity:var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38)}.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:var(--mat-chip-with-icon-disabled-icon-opacity, 0.38)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:var(--mat-chip-disabled-container-opacity, 1)}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-trailing-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-edit,.mat-mdc-chip-remove{opacity:var(--mat-chip-trailing-action-opacity, 1)}.mat-mdc-chip-edit:focus,.mat-mdc-chip-remove:focus{opacity:var(--mat-chip-trailing-action-focus-opacity, 1)}.mat-mdc-chip-edit::after,.mat-mdc-chip-remove::after{background-color:var(--mat-chip-trailing-action-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-edit:hover::after,.mat-mdc-chip-remove:hover::after{opacity:var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-edit:focus::after,.mat-mdc-chip-remove:focus::after{opacity:var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected .mat-mdc-chip-remove::after,.mat-mdc-chip-highlighted .mat-mdc-chip-remove::after{background-color:var(--mat-chip-selected-trailing-action-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-standard-chip .mdc-evolution-chip__cell--primary,.mat-mdc-standard-chip .mdc-evolution-chip__action--primary,.mat-mdc-standard-chip .mat-mdc-chip-action-label{overflow:visible}.mat-mdc-standard-chip .mat-mdc-chip-graphic,.mat-mdc-standard-chip .mat-mdc-chip-trailing-icon{box-sizing:content-box}.mat-mdc-standard-chip._mat-animation-noopable,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__graphic,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.mat-mdc-chip-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity 150ms linear}._mat-animation-noopable .mat-mdc-chip-focus-overlay{transition:none}.mat-mdc-basic-chip .mat-mdc-chip-focus-overlay{display:none}.mat-mdc-chip .mat-ripple.mat-mdc-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-chip-avatar{text-align:center;line-height:1;color:var(--mat-chip-with-icon-icon-color, currentColor)}.mat-mdc-chip{position:relative;z-index:0}.mat-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .mat-mdc-chip-action-label{text-align:right}.mat-mdc-chip.mdc-evolution-chip--with-trailing-action .mat-mdc-chip-action-label{position:relative}.mat-mdc-chip-action-label .mat-mdc-chip-primary-focus-indicator{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mat-mdc-chip-action-label .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-chip-edit::before,.mat-mdc-chip-remove::before{margin:calc(var(--mat-focus-indicator-border-width, 3px)*-1);left:8px;right:8px}.mat-mdc-chip-edit::after,.mat-mdc-chip-remove::after{content:"";display:block;opacity:0;position:absolute;top:-3px;bottom:-3px;left:5px;right:5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.mat-mdc-chip-edit .mat-icon,.mat-mdc-chip-remove .mat-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.mat-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}@media(forced-colors: active){.mat-mdc-chip-selected:not(.mat-mdc-chip-multiple){outline-width:3px}}.mat-mdc-chip-action:focus .mat-focus-indicator::before{content:""}.mdc-evolution-chip__icon,.mat-mdc-chip-edit .mat-icon,.mat-mdc-chip-remove .mat-icon{min-height:fit-content}img.mdc-evolution-chip__icon{min-height:0}
|
|
2
|
-
`],encapsulation:2,changeDetection:0})}return a})();var ct=(()=>{class a{_elementRef=n(f);_changeDetectorRef=n(R);_dir=n(ni,{optional:!0});_lastDestroyedFocusedChipIndex=null;_keyManager;_destroyed=new v;_defaultRole="presentation";get chipFocusChanges(){return this._getChipStream(i=>i._onFocus)}get chipDestroyedChanges(){return this._getChipStream(i=>i.destroyed)}get chipRemovedChanges(){return this._getChipStream(i=>i.removed)}get disabled(){return this._disabled}set disabled(i){this._disabled=i,this._syncChipsState()}_disabled=!1;get empty(){return!this._chips||this._chips.length===0}get role(){return this._explicitRole?this._explicitRole:this.empty?null:this._defaultRole}tabIndex=0;set role(i){this._explicitRole=i}_explicitRole=null;get focused(){return this._hasFocusedChip()}_chips;_chipActions=new N;constructor(){}ngAfterViewInit(){this._setUpFocusManagement(),this._trackChipSetChanges(),this._trackDestroyedFocusedChip()}ngOnDestroy(){this._keyManager?.destroy(),this._chipActions.destroy(),this._destroyed.next(),this._destroyed.complete()}_hasFocusedChip(){return this._chips&&this._chips.some(i=>i._hasFocus())}_syncChipsState(){this._chips?.forEach(i=>{i._chipListDisabled=this._disabled,i._changeDetectorRef.markForCheck()})}focus(){}_handleKeydown(i){this._originatesFromChip(i)&&this._keyManager.onKeydown(i)}_isValidIndex(i){return i>=0&&i<this._chips.length}_allowFocusEscape(){let i=this._elementRef.nativeElement.tabIndex;i!==-1&&(this._elementRef.nativeElement.tabIndex=-1,setTimeout(()=>this._elementRef.nativeElement.tabIndex=i))}_getChipStream(i){return this._chips.changes.pipe(g(null),V(()=>C(...this._chips.map(i))))}_originatesFromChip(i){let e=i.target;for(;e&&e!==this._elementRef.nativeElement;){if(e.classList.contains("mat-mdc-chip"))return!0;e=e.parentElement}return!1}_setUpFocusManagement(){this._chips.changes.pipe(g(this._chips)).subscribe(i=>{let e=[];i.forEach(t=>t._getActions().forEach(o=>e.push(o))),this._chipActions.reset(e),this._chipActions.notifyOnChanges()}),this._keyManager=new oi(this._chipActions).withVerticalOrientation().withHorizontalOrientation(this._dir?this._dir.value:"ltr").withHomeAndEnd().skipPredicate(i=>this._skipPredicate(i)),this.chipFocusChanges.pipe(p(this._destroyed)).subscribe(({chip:i})=>{let e=i._getSourceAction(document.activeElement);e&&this._keyManager.updateActiveItem(e)}),this._dir?.change.pipe(p(this._destroyed)).subscribe(i=>this._keyManager.withHorizontalOrientation(i))}_skipPredicate(i){return!i.isInteractive||i.disabled}_trackChipSetChanges(){this._chips.changes.pipe(g(null),p(this._destroyed)).subscribe(()=>{this.disabled&&Promise.resolve().then(()=>this._syncChipsState()),this._redirectDestroyedChipFocus()})}_trackDestroyedFocusedChip(){this.chipDestroyedChanges.pipe(p(this._destroyed)).subscribe(i=>{let t=this._chips.toArray().indexOf(i.chip),o=i.chip._hasFocus(),c=i.chip._hadFocusOnRemove&&this._keyManager.activeItem&&i.chip._getActions().includes(this._keyManager.activeItem),gi=o||c;this._isValidIndex(t)&&gi&&(this._lastDestroyedFocusedChipIndex=t)})}_redirectDestroyedChipFocus(){if(this._lastDestroyedFocusedChipIndex!=null){if(this._chips.length){let i=Math.min(this._lastDestroyedFocusedChipIndex,this._chips.length-1),e=this._chips.toArray()[i];e.disabled?this._chips.length===1?this.focus():this._keyManager.setPreviousItemActive():e.focus()}else this.focus();this._lastDestroyedFocusedChipIndex=null}}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=x({type:a,selectors:[["mat-chip-set"]],contentQueries:function(e,t,o){if(e&1&&s(o,ki,5),e&2){let c;r(c=d())&&(t._chips=c)}},hostAttrs:[1,"mat-mdc-chip-set","mdc-evolution-chip-set"],hostVars:1,hostBindings:function(e,t){e&1&&w("keydown",function(c){return t._handleKeydown(c)}),e&2&&m("role",t.role)},inputs:{disabled:[2,"disabled","disabled",h],role:"role",tabIndex:[2,"tabIndex","tabIndex",i=>i==null?0:T(i)]},ngContentSelectors:Ii,decls:2,vars:0,consts:[["role","presentation",1,"mdc-evolution-chip-set__chips"]],template:function(e,t){e&1&&(M(),X(0,"div",0),_(1),J())},styles:[`.mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-moz-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-webkit-input-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input:-ms-input-placeholder{opacity:1}.mat-mdc-chip-set+input.mat-mdc-chip-input{margin-left:0;margin-right:0}
|
|
3
|
-
`],encapsulation:2,changeDetection:0})}return a})();var ot=(()=>{class a{static \u0275fac=function(e){return new(e||a)};static \u0275mod=W({type:a});static \u0275inj=Q({providers:[hi,{provide:xi,useValue:{separatorKeyCodes:[13]}}],imports:[P,li,P]})}return a})();export{at as a,ki as b,ct as c,ot as d};
|