daimon 0.5.0 → 0.7.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 +106 -0
- package/README.md +43 -29
- package/dist/cli.js +79 -66
- package/dist/dashboard/3rdpartylicenses.txt +4 -4
- package/dist/dashboard/browser/{chunk-HFJ25UTJ.js → chunk-25VLDASM.js} +4 -4
- package/dist/dashboard/browser/chunk-5PAHWCG5.js +1 -0
- package/dist/dashboard/browser/chunk-6BDWIJ3G.js +3 -0
- package/dist/dashboard/browser/chunk-6C6GHU3A.js +1 -0
- package/dist/dashboard/browser/{chunk-JX3IOOXU.js → chunk-7NRE3SNA.js} +3 -3
- package/dist/dashboard/browser/chunk-BDYOKQF3.js +1 -0
- package/dist/dashboard/browser/chunk-CILFSVSP.js +2 -0
- package/dist/dashboard/browser/chunk-GDJOSLWM.js +1 -0
- package/dist/dashboard/browser/chunk-HYGMRGYR.js +4 -0
- package/dist/dashboard/browser/chunk-HYIZMKSF.js +1 -0
- package/dist/dashboard/browser/chunk-IQZZO5IM.js +3 -0
- package/dist/dashboard/browser/chunk-J5UK77OJ.js +1 -0
- package/dist/dashboard/browser/chunk-JI63U3KC.js +2 -0
- package/dist/dashboard/browser/chunk-K43KW4K2.js +4 -0
- package/dist/dashboard/browser/chunk-KLH6B22T.js +1 -0
- package/dist/dashboard/browser/chunk-L2PHC6DL.js +1 -0
- package/dist/dashboard/browser/{chunk-Q7R63OUT.js → chunk-LBRCWYRN.js} +1 -1
- package/dist/dashboard/browser/chunk-MHYQENOC.js +1 -0
- package/dist/dashboard/browser/{chunk-AEERNAF7.js → chunk-NDSAQ2HK.js} +1 -1
- package/dist/dashboard/browser/chunk-OHX55ZU4.js +2 -0
- package/dist/dashboard/browser/chunk-OUXULJ3Z.js +3 -0
- package/dist/dashboard/browser/chunk-P5IU57TV.js +2 -0
- package/dist/dashboard/browser/{chunk-3TYCIBMV.js → chunk-PJPGLT4T.js} +1 -1
- package/dist/dashboard/browser/chunk-Q3N4MMWW.js +5 -0
- package/dist/dashboard/browser/chunk-RIDV4B55.js +5 -0
- package/dist/dashboard/browser/chunk-SR5JAOLW.js +2 -0
- package/dist/dashboard/browser/{chunk-ZVU34B5S.js → chunk-UC3XMN2Y.js} +1 -1
- package/dist/dashboard/browser/chunk-UU5K6ZPO.js +1 -0
- package/dist/dashboard/browser/chunk-XXIJQBCQ.js +2 -0
- package/dist/dashboard/browser/chunk-Y6B6X4Y6.js +2 -0
- package/dist/dashboard/browser/chunk-YA4AZONZ.js +5 -0
- package/dist/dashboard/browser/chunk-YNCTXEXX.js +3 -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/chunk-ZDNBWNU5.js +1 -0
- package/dist/dashboard/browser/chunk-ZEO5YLWG.js +3 -0
- package/dist/dashboard/browser/chunk-ZVUH3ISD.js +2 -0
- package/dist/dashboard/browser/index.html +1 -1
- package/dist/dashboard/browser/main-IDF27PFI.js +1 -0
- package/dist/main.js +57 -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-C65CUT7O.js +0 -4
- package/dist/dashboard/browser/chunk-CNIZYK4A.js +0 -1
- package/dist/dashboard/browser/chunk-D4BFRQ63.js +0 -4
- 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-TSB6OOH2.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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as X,b as Y,c as Z,e as ee,f as te,g as ne}from"./chunk-7NRE3SNA.js";import{a as V,b as K}from"./chunk-CILFSVSP.js";import{a as Q,b as W}from"./chunk-25VLDASM.js";import{b as L,c as q,d as H}from"./chunk-RIDV4B55.js";import"./chunk-OHX55ZU4.js";import{c as U,d as G,e as J}from"./chunk-SR5JAOLW.js";import"./chunk-YNQPX5G6.js";import"./chunk-IQZZO5IM.js";import"./chunk-KLH6B22T.js";import{c as $}from"./chunk-5PAHWCG5.js";import{c as N,h as j,i as B,j as z}from"./chunk-Q3N4MMWW.js";import{P as A}from"./chunk-Y6B6X4Y6.js";import{Db as k,Eb as v,Fb as _,Hb as E,Ib as h,Jb as b,Kb as y,Lb as a,Mb as o,Nb as x,Sb as R,Ub as C,Wb as p,_a as d,aa as F,ea as M,ic as r,ja as D,jc as u,ka as O,kc as P,pb as S,qb as I,s as T,ta as g,xc as w}from"./chunk-K43KW4K2.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(z);http=M(N);snack=M(Q);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,H,q,L,B,j,K,V,W,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 +1 @@
|
|
|
1
|
-
import{$ as l,i as o}from"./chunk-
|
|
1
|
+
import{$ as l,i as o}from"./chunk-K43KW4K2.js";var c=(()=>{class r{_listeners=[];notify(t,i){for(let n of this._listeners)n(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}static \u0275fac=function(i){return new(i||r)};static \u0275prov=l({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var h=class{_multiple;_emitChanges;compareWith;_selection=new Set;_deselectedToEmit=[];_selectedToEmit=[];_selected;get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}changed=new o;constructor(e=!1,t,i=!0,n){this._multiple=e,this._emitChanges=i,this.compareWith=n,t&&t.length&&(e?t.forEach(s=>this._markSelected(s)):this._markSelected(t[0]),this._selectedToEmit.length=0)}select(...e){this._verifyValueAssignment(e),e.forEach(i=>this._markSelected(i));let t=this._hasQueuedChanges();return this._emitChangeEvent(),t}deselect(...e){this._verifyValueAssignment(e),e.forEach(i=>this._unmarkSelected(i));let t=this._hasQueuedChanges();return this._emitChangeEvent(),t}setSelection(...e){this._verifyValueAssignment(e);let t=this.selected,i=new Set(e.map(s=>this._getConcreteValue(s)));e.forEach(s=>this._markSelected(s)),t.filter(s=>!i.has(this._getConcreteValue(s,i))).forEach(s=>this._unmarkSelected(s));let n=this._hasQueuedChanges();return this._emitChangeEvent(),n}toggle(e){return this.isSelected(e)?this.deselect(e):this.select(e)}clear(e=!0){this._unmarkAll();let t=this._hasQueuedChanges();return e&&this._emitChangeEvent(),t}isSelected(e){return this._selection.has(this._getConcreteValue(e))}isEmpty(){return this._selection.size===0}hasValue(){return!this.isEmpty()}sort(e){this._multiple&&this.selected&&this._selected.sort(e)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(e){e=this._getConcreteValue(e),this.isSelected(e)||(this._multiple||this._unmarkAll(),this.isSelected(e)||this._selection.add(e),this._emitChanges&&this._selectedToEmit.push(e))}_unmarkSelected(e){e=this._getConcreteValue(e),this.isSelected(e)&&(this._selection.delete(e),this._emitChanges&&this._deselectedToEmit.push(e))}_unmarkAll(){this.isEmpty()||this._selection.forEach(e=>this._unmarkSelected(e))}_verifyValueAssignment(e){e.length>1&&this._multiple}_hasQueuedChanges(){return!!(this._deselectedToEmit.length||this._selectedToEmit.length)}_getConcreteValue(e,t){if(this.compareWith){t=t??this._selection;for(let i of t)if(this.compareWith(e,i))return i;return e}else return e}};export{c as a,h as b};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{m as G}from"./chunk-KLH6B22T.js";import{P as v,l as U,m as S,o as k,p as x,q as _,s as f,v as H}from"./chunk-Y6B6X4Y6.js";import{Ca as A,a,aa as O,ca as w,ea as p,eb as F,gc as L,na as M,pb as C,qb as N,rb as P}from"./chunk-K43KW4K2.js";var l=(function(s){return s[s.FADING_IN=0]="FADING_IN",s[s.VISIBLE=1]="VISIBLE",s[s.FADING_OUT=2]="FADING_OUT",s[s.HIDDEN=3]="HIDDEN",s})(l||{}),E=class{_renderer;element;config;_animationForciblyDisabledThroughCss;state=l.HIDDEN;constructor(t,e,i,n=!1){this._renderer=t,this.element=e,this.config=i,this._animationForciblyDisabledThroughCss=n}fadeOut(){this._renderer.fadeOutRipple(this)}},B=_({passive:!0,capture:!0}),D=class{_events=new Map;addHandler(t,e,i,n){let r=this._events.get(e);if(r){let d=r.get(i);d?d.add(n):r.set(i,new Set([n]))}else this._events.set(e,new Map([[i,new Set([n])]])),t.runOutsideAngular(()=>{document.addEventListener(e,this._delegateEventHandler,B)})}removeHandler(t,e,i){let n=this._events.get(t);if(!n)return;let r=n.get(e);r&&(r.delete(i),r.size===0&&n.delete(e),n.size===0&&(this._events.delete(t),document.removeEventListener(t,this._delegateEventHandler,B)))}_delegateEventHandler=t=>{let e=k(t);e&&this._events.get(t.type)?.forEach((i,n)=>{(n===e||n.contains(e))&&i.forEach(r=>r.handleEvent(t))})}},z={enterDuration:225,exitDuration:150},J=800,Z=_({passive:!0,capture:!0}),V=["mousedown","touchstart"],$=["mouseup","mouseleave","touchend","touchcancel"],K=(()=>{class s{static \u0275fac=function(i){return new(i||s)};static \u0275cmp=C({type:s,selectors:[["ng-component"]],hostAttrs:["mat-ripple-style-loader",""],decls:0,vars:0,template:function(i,n){},styles:[`.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale3d(0, 0, 0);background-color:var(--mat-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface) 10%, transparent))}@media(forced-colors: active){.mat-ripple-element{display:none}}.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none}
|
|
2
|
+
`],encapsulation:2,changeDetection:0})}return s})(),b=class s{_target;_ngZone;_platform;_containerElement;_triggerElement;_isPointerDown=!1;_activeRipples=new Map;_mostRecentTransientRipple;_lastTouchStartEvent;_pointerUpEventsRegistered=!1;_containerRect;static _eventManager=new D;constructor(t,e,i,n,r){this._target=t,this._ngZone=e,this._platform=n,n.isBrowser&&(this._containerElement=f(i)),r&&r.get(H).load(K)}fadeInRipple(t,e,i={}){let n=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),r=a(a({},z),i.animation);i.centered&&(t=n.left+n.width/2,e=n.top+n.height/2);let d=i.radius||Q(t,e,n),j=t-n.left,Y=e-n.top,h=r.enterDuration,o=document.createElement("div");o.classList.add("mat-ripple-element"),o.style.left=`${j-d}px`,o.style.top=`${Y-d}px`,o.style.height=`${d*2}px`,o.style.width=`${d*2}px`,i.color!=null&&(o.style.backgroundColor=i.color),o.style.transitionDuration=`${h}ms`,this._containerElement.appendChild(o);let T=window.getComputedStyle(o),X=T.transitionProperty,R=T.transitionDuration,m=X==="none"||R==="0s"||R==="0s, 0s"||n.width===0&&n.height===0,c=new E(this,o,i,m);o.style.transform="scale3d(1, 1, 1)",c.state=l.FADING_IN,i.persistent||(this._mostRecentTransientRipple=c);let u=null;return!m&&(h||r.exitDuration)&&this._ngZone.runOutsideAngular(()=>{let I=()=>{u&&(u.fallbackTimer=null),clearTimeout(y),this._finishRippleTransition(c)},g=()=>this._destroyRipple(c),y=setTimeout(g,h+100);o.addEventListener("transitionend",I),o.addEventListener("transitioncancel",g),u={onTransitionEnd:I,onTransitionCancel:g,fallbackTimer:y}}),this._activeRipples.set(c,u),(m||!h)&&this._finishRippleTransition(c),c}fadeOutRipple(t){if(t.state===l.FADING_OUT||t.state===l.HIDDEN)return;let e=t.element,i=a(a({},z),t.config.animation);e.style.transitionDuration=`${i.exitDuration}ms`,e.style.opacity="0",t.state=l.FADING_OUT,(t._animationForciblyDisabledThroughCss||!i.exitDuration)&&this._finishRippleTransition(t)}fadeOutAll(){this._getActiveRipples().forEach(t=>t.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(t=>{t.config.persistent||t.fadeOut()})}setupTriggerEvents(t){let e=f(t);!this._platform.isBrowser||!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,V.forEach(i=>{s._eventManager.addHandler(this._ngZone,i,e,this)}))}handleEvent(t){t.type==="mousedown"?this._onMousedown(t):t.type==="touchstart"?this._onTouchStart(t):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{$.forEach(e=>{this._triggerElement.addEventListener(e,this,Z)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(t){t.state===l.FADING_IN?this._startFadeOutTransition(t):t.state===l.FADING_OUT&&this._destroyRipple(t)}_startFadeOutTransition(t){let e=t===this._mostRecentTransientRipple,{persistent:i}=t.config;t.state=l.VISIBLE,!i&&(!e||!this._isPointerDown)&&t.fadeOut()}_destroyRipple(t){let e=this._activeRipples.get(t)??null;this._activeRipples.delete(t),this._activeRipples.size||(this._containerRect=null),t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),t.state=l.HIDDEN,e!==null&&(t.element.removeEventListener("transitionend",e.onTransitionEnd),t.element.removeEventListener("transitioncancel",e.onTransitionCancel),e.fallbackTimer!==null&&clearTimeout(e.fallbackTimer)),t.element.remove()}_onMousedown(t){let e=U(t),i=this._lastTouchStartEvent&&Date.now()<this._lastTouchStartEvent+J;!this._target.rippleDisabled&&!e&&!i&&(this._isPointerDown=!0,this.fadeInRipple(t.clientX,t.clientY,this._target.rippleConfig))}_onTouchStart(t){if(!this._target.rippleDisabled&&!S(t)){this._lastTouchStartEvent=Date.now(),this._isPointerDown=!0;let e=t.changedTouches;if(e)for(let i=0;i<e.length;i++)this.fadeInRipple(e[i].clientX,e[i].clientY,this._target.rippleConfig)}}_onPointerUp(){this._isPointerDown&&(this._isPointerDown=!1,this._getActiveRipples().forEach(t=>{let e=t.state===l.VISIBLE||t.config.terminateOnPointerUp&&t.state===l.FADING_IN;!t.config.persistent&&e&&t.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){let t=this._triggerElement;t&&(V.forEach(e=>s._eventManager.removeHandler(e,t,this)),this._pointerUpEventsRegistered&&($.forEach(e=>t.removeEventListener(e,this,Z)),this._pointerUpEventsRegistered=!1))}};function Q(s,t,e){let i=Math.max(Math.abs(s-e.left),Math.abs(s-e.right)),n=Math.max(Math.abs(t-e.top),Math.abs(t-e.bottom));return Math.sqrt(i*i+n*n)}var W=new w("mat-ripple-global-options"),pt=(()=>{class s{_elementRef=p(A);_animationsDisabled=G();color;unbounded;centered;radius=0;animation;get disabled(){return this._disabled}set disabled(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}_disabled=!1;get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}_trigger;_rippleRenderer;_globalOptions;_isInitialized=!1;constructor(){let e=p(F),i=p(x),n=p(W,{optional:!0}),r=p(M);this._globalOptions=n||{},this._rippleRenderer=new b(this,e,this._elementRef,i,r)}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:a(a(a({},this._globalOptions.animation),this._animationsDisabled?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(e,i=0,n){return typeof e=="number"?this._rippleRenderer.fadeInRipple(e,i,a(a({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,a(a({},this.rippleConfig),e))}static \u0275fac=function(i){return new(i||s)};static \u0275dir=P({type:s,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(i,n){i&2&&L("mat-ripple-unbounded",n.unbounded)},inputs:{color:[0,"matRippleColor","color"],unbounded:[0,"matRippleUnbounded","unbounded"],centered:[0,"matRippleCentered","centered"],radius:[0,"matRippleRadius","radius"],animation:[0,"matRippleAnimation","animation"],disabled:[0,"matRippleDisabled","disabled"],trigger:[0,"matRippleTrigger","trigger"]},exportAs:["matRipple"]})}return s})();var gt=(()=>{class s{static \u0275fac=function(i){return new(i||s)};static \u0275mod=N({type:s});static \u0275inj=O({imports:[v,v]})}return s})();export{z as a,b,W as c,pt as d,gt as e};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{a as Xe,b as Ge,c as Qe,d as Ye,e as Ze}from"./chunk-6BDWIJ3G.js";import{a as et,b as tt,c as it}from"./chunk-ZVUH3ISD.js";import{a as Se,b as Me}from"./chunk-CILFSVSP.js";import{a as Ve}from"./chunk-25VLDASM.js";import{a as Je,b as We,c as Ue,d as Ke}from"./chunk-ZEO5YLWG.js";import{a as Ae,b as Ne,c as ze,d as $e,h as je,i as Le,j as qe,k as Be,l as He}from"./chunk-YA4AZONZ.js";import"./chunk-P5IU57TV.js";import"./chunk-NDSAQ2HK.js";import{a as ye,b as we,c as xe,f as Ce,h as ke,j as Ee}from"./chunk-YYAZGY5M.js";import"./chunk-PJPGLT4T.js";import{b as Oe,c as Ie,d as Pe}from"./chunk-RIDV4B55.js";import{d as Te}from"./chunk-OHX55ZU4.js";import{a as Fe,c as De,e as Re}from"./chunk-SR5JAOLW.js";import{a as be,b as ve}from"./chunk-XXIJQBCQ.js";import"./chunk-YNQPX5G6.js";import"./chunk-IQZZO5IM.js";import{m as fe}from"./chunk-KLH6B22T.js";import{c as me,h as ue,i as _e}from"./chunk-Q3N4MMWW.js";import{G as ge,P as H,h as ce,t as pe,v as he}from"./chunk-Y6B6X4Y6.js";import{$b as ne,Ca as Q,Db as O,Eb as f,Ec as le,Fb as b,Gb as ee,Hb as A,Hc as T,Ib as k,Ic as de,Jb as E,Kb as u,Lb as o,Mb as r,Nb as x,Sb as _,Tb as te,Ub as p,Wb as l,Xb as N,Ya as Y,Yb as z,_ as W,_a as c,_b as ie,a as L,aa as U,ac as ae,b as q,ca as K,db as B,ea as y,ec as S,gc as M,hc as oe,ic as d,ja as h,jc as C,ka as g,kc as P,la as X,pb as F,qb as Z,rc as re,s as R,ta as w,xc as V,za as G,zc as se}from"./chunk-K43KW4K2.js";var dt=["mat-internal-form-field",""],ct=["*"],at=(()=>{class a{labelPosition;static \u0275fac=function(t){return new(t||a)};static \u0275cmp=F({type:a,selectors:[["div","mat-internal-form-field",""]],hostAttrs:[1,"mdc-form-field","mat-internal-form-field"],hostVars:2,hostBindings:function(t,n){t&2&&M("mdc-form-field--align-end",n.labelPosition==="before")},inputs:{labelPosition:"labelPosition"},attrs:dt,ngContentSelectors:ct,decls:1,vars:0,template:function(t,n){t&1&&(N(),z(0))},styles:[`.mat-internal-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-flex;align-items:center;vertical-align:middle}.mat-internal-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mat-internal-form-field>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end .mdc-form-field--align-end label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0}
|
|
2
|
+
`],encapsulation:2,changeDetection:0})}return a})();var mt=["switch"],pt=["*"];function ht(a,i){a&1&&(o(0,"span",11),X(),o(1,"svg",13),x(2,"path",14),r(),o(3,"svg",15),x(4,"path",16),r()())}var gt=new K("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1,disabledInteractive:!1})}),$=class{source;checked;constructor(i,e){this.source=i,this.checked=e}},J=(()=>{class a{_elementRef=y(Q);_focusMonitor=y(pe);_changeDetectorRef=y(le);defaults=y(gt);_onChange=e=>{};_onTouched=()=>{};_validatorOnChange=()=>{};_uniqueId;_checked=!1;_createChangeEvent(e){return new $(this,e)}_labelId;get buttonId(){return`${this.id||this._uniqueId}-button`}_switchElement;focus(){this._switchElement.nativeElement.focus()}_noopAnimations=fe();_focused;name=null;id;labelPosition="after";ariaLabel=null;ariaLabelledby=null;ariaDescribedby;required;color;disabled=!1;disableRipple=!1;tabIndex=0;get checked(){return this._checked}set checked(e){this._checked=e,this._changeDetectorRef.markForCheck()}hideIcon;disabledInteractive;change=new B;toggleChange=new B;get inputId(){return`${this.id||this._uniqueId}-input`}constructor(){y(he).load(Fe);let e=y(new se("tabindex"),{optional:!0}),t=this.defaults;this.tabIndex=e==null?0:parseInt(e)||0,this.color=t.color||"accent",this.id=this._uniqueId=y(ge).getId("mat-mdc-slide-toggle-"),this.hideIcon=t.hideIcon??!1,this.disabledInteractive=t.disabledInteractive??!1,this._labelId=this._uniqueId+"-label"}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(e=>{e==="keyboard"||e==="program"?(this._focused=!0,this._changeDetectorRef.markForCheck()):e||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnChanges(e){e.required&&this._validatorOnChange()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(e){this.checked=!!e}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}validate(e){return this.required&&e.value!==!0?{required:!0}:null}registerOnValidatorChange(e){this._validatorOnChange=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}_handleClick(){this.disabled||(this.toggleChange.emit(),this.defaults.disableToggleValue||(this.checked=!this.checked,this._onChange(this.checked),this.change.emit(new $(this,this.checked))))}_getAriaLabelledBy(){return this.ariaLabelledby?this.ariaLabelledby:this.ariaLabel?null:this._labelId}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=F({type:a,selectors:[["mat-slide-toggle"]],viewQuery:function(t,n){if(t&1&&ie(mt,5),t&2){let s;ne(s=ae())&&(n._switchElement=s.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(t,n){t&2&&(te("id",n.id),O("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),oe(n.color?"mat-"+n.color:""),M("mat-mdc-slide-toggle-focused",n._focused)("mat-mdc-slide-toggle-checked",n.checked)("_mat-animation-noopable",n._noopAnimations))},inputs:{name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],required:[2,"required","required",T],color:"color",disabled:[2,"disabled","disabled",T],disableRipple:[2,"disableRipple","disableRipple",T],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:de(e)],checked:[2,"checked","checked",T],hideIcon:[2,"hideIcon","hideIcon",T],disabledInteractive:[2,"disabledInteractive","disabledInteractive",T]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[re([{provide:ye,useExisting:W(()=>a),multi:!0},{provide:xe,useExisting:a,multi:!0}]),G],ngContentSelectors:pt,decls:14,vars:27,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mat-mdc-slide-toggle-touch-target"],[1,"mdc-switch__track"],[1,"mdc-switch__handle-track"],[1,"mdc-switch__handle"],[1,"mdc-switch__shadow"],[1,"mdc-elevation-overlay"],[1,"mdc-switch__ripple"],["mat-ripple","",1,"mat-mdc-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-switch__icons"],[1,"mdc-label",3,"click","for"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--on"],["d","M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--off"],["d","M20 13H4v-2h16v2z"]],template:function(t,n){if(t&1){let s=_();N(),o(0,"div",1)(1,"button",2,0),p("click",function(){return h(s),g(n._handleClick())}),x(3,"div",3)(4,"span",4),o(5,"span",5)(6,"span",6)(7,"span",7),x(8,"span",8),r(),o(9,"span",9),x(10,"span",10),r(),f(11,ht,5,0,"span",11),r()()(),o(12,"label",12),p("click",function(v){return h(s),g(v.stopPropagation())}),z(13),r()()}if(t&2){let s=S(2);u("labelPosition",n.labelPosition),c(),M("mdc-switch--selected",n.checked)("mdc-switch--unselected",!n.checked)("mdc-switch--checked",n.checked)("mdc-switch--disabled",n.disabled)("mat-mdc-slide-toggle-disabled-interactive",n.disabledInteractive),u("tabIndex",n.disabled&&!n.disabledInteractive?-1:n.tabIndex)("disabled",n.disabled&&!n.disabledInteractive),O("id",n.buttonId)("name",n.name)("aria-label",n.ariaLabel)("aria-labelledby",n._getAriaLabelledBy())("aria-describedby",n.ariaDescribedby)("aria-required",n.required||null)("aria-checked",n.checked)("aria-disabled",n.disabled&&n.disabledInteractive?"true":null),c(9),u("matRippleTrigger",s)("matRippleDisabled",n.disableRipple||n.disabled)("matRippleCentered",!0),c(),b(n.hideIcon?-1:11),c(),u("for",n.buttonId),O("id",n._labelId)}},dependencies:[Te,at],styles:[`.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative;width:var(--mat-slide-toggle-track-width, 52px)}.mdc-switch.mdc-switch--disabled{cursor:default;pointer-events:none}.mdc-switch.mat-mdc-slide-toggle-disabled-interactive{pointer-events:auto}.mdc-switch__track{overflow:hidden;position:relative;width:100%;height:var(--mat-slide-toggle-track-height, 32px);border-radius:var(--mat-slide-toggle-track-shape, var(--mat-sys-corner-full))}.mdc-switch--disabled.mdc-switch .mdc-switch__track{opacity:var(--mat-slide-toggle-disabled-track-opacity, 0.12)}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%;border-width:var(--mat-slide-toggle-track-outline-width, 2px);border-color:var(--mat-slide-toggle-track-outline-color, var(--mat-sys-outline))}.mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track::after{border-width:var(--mat-slide-toggle-selected-track-outline-width, 2px);border-color:var(--mat-slide-toggle-selected-track-outline-color, transparent)}.mdc-switch--disabled .mdc-switch__track::before,.mdc-switch--disabled .mdc-switch__track::after{border-width:var(--mat-slide-toggle-disabled-unselected-track-outline-width, 2px);border-color:var(--mat-slide-toggle-disabled-unselected-track-outline-color, var(--mat-sys-on-surface))}@media(forced-colors: active){.mdc-switch__track{border-color:currentColor}}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0);background:var(--mat-slide-toggle-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch--selected .mdc-switch__track::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::before{opacity:var(--mat-slide-toggle-hidden-track-opacity, 0);transition:var(--mat-slide-toggle-hidden-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::before{opacity:var(--mat-slide-toggle-visible-track-opacity, 1);transition:var(--mat-slide-toggle-visible-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-hover-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-focus-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-pressed-track-color, var(--mat-sys-surface-variant))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::before,.mdc-switch.mdc-switch--disabled .mdc-switch__track::before{background:var(--mat-slide-toggle-disabled-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch__track::after{transform:translateX(-100%);background:var(--mat-slide-toggle-selected-track-color, var(--mat-sys-primary))}[dir=rtl] .mdc-switch__track::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::after{transform:translateX(0)}.mdc-switch--selected .mdc-switch__track::after{opacity:var(--mat-slide-toggle-visible-track-opacity, 1);transition:var(--mat-slide-toggle-visible-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::after{opacity:var(--mat-slide-toggle-hidden-track-opacity, 0);transition:var(--mat-slide-toggle-hidden-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-hover-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-focus-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-pressed-track-color, var(--mat-sys-primary))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::after,.mdc-switch.mdc-switch--disabled .mdc-switch__track::after{background:var(--mat-slide-toggle-disabled-selected-track-color, var(--mat-sys-on-surface))}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0);width:calc(100% - var(--mat-slide-toggle-handle-width))}[dir=rtl] .mdc-switch__handle-track{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto;transition:width 75ms cubic-bezier(0.4, 0, 0.2, 1),height 75ms cubic-bezier(0.4, 0, 0.2, 1),margin 75ms cubic-bezier(0.4, 0, 0.2, 1);width:var(--mat-slide-toggle-handle-width);height:var(--mat-slide-toggle-handle-height);border-radius:var(--mat-slide-toggle-handle-shape, var(--mat-sys-corner-full))}[dir=rtl] .mdc-switch__handle{left:auto;right:0}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{width:var(--mat-slide-toggle-unselected-handle-size, 16px);height:var(--mat-slide-toggle-unselected-handle-size, 16px);margin:var(--mat-slide-toggle-unselected-handle-horizontal-margin, 0 8px)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-slide-toggle-unselected-with-icon-handle-horizontal-margin, 0 4px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{width:var(--mat-slide-toggle-selected-handle-size, 24px);height:var(--mat-slide-toggle-selected-handle-size, 24px);margin:var(--mat-slide-toggle-selected-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-slide-toggle-selected-with-icon-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch__handle:has(.mdc-switch__icons){width:var(--mat-slide-toggle-with-icon-handle-size, 24px);height:var(--mat-slide-toggle-with-icon-handle-size, 24px)}.mat-mdc-slide-toggle .mdc-switch:active:not(.mdc-switch--disabled) .mdc-switch__handle{width:var(--mat-slide-toggle-pressed-handle-size, 28px);height:var(--mat-slide-toggle-pressed-handle-size, 28px)}.mat-mdc-slide-toggle .mdc-switch--selected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-slide-toggle-selected-pressed-handle-horizontal-margin, 0 22px)}.mat-mdc-slide-toggle .mdc-switch--unselected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-slide-toggle-unselected-pressed-handle-horizontal-margin, 0 2px)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__handle::after{opacity:var(--mat-slide-toggle-disabled-selected-handle-opacity, 1)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__handle::after{opacity:var(--mat-slide-toggle-disabled-unselected-handle-opacity, 0.38)}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}@media(forced-colors: active){.mdc-switch__handle::before,.mdc-switch__handle::after{border-color:currentColor}}.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-handle-color, var(--mat-sys-on-primary))}.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-hover-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-focus-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-pressed-handle-color, var(--mat-sys-primary-container))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:hover:not(:focus):not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:focus:not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:active .mdc-switch__handle::after,.mdc-switch--selected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-disabled-selected-handle-color, var(--mat-sys-surface))}.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-handle-color, var(--mat-sys-outline))}.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-hover-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-focus-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-pressed-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-disabled-unselected-handle-color, var(--mat-sys-on-surface))}.mdc-switch__handle::before{background:var(--mat-slide-toggle-handle-surface-color)}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mat-slide-toggle-handle-elevation-shadow)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__shadow,.mdc-switch.mdc-switch--disabled .mdc-switch__shadow{box-shadow:var(--mat-slide-toggle-disabled-handle-elevation-shadow)}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1;width:var(--mat-slide-toggle-state-layer-size, 40px);height:var(--mat-slide-toggle-state-layer-size, 40px)}.mdc-switch__ripple::after{content:"";opacity:0}.mdc-switch--disabled .mdc-switch__ripple::after{display:none}.mat-mdc-slide-toggle-disabled-interactive .mdc-switch__ripple::after{display:block}.mdc-switch:hover .mdc-switch__ripple::after{transition:75ms opacity cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:focus .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:active .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:hover:not(:focus) .mdc-switch__ripple::after,.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-hover-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-focus-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-pressed-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-hover-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-focus-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-pressed-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch__icons{position:relative;height:100%;width:100%;z-index:1;transform:translateZ(0)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__icons{opacity:var(--mat-slide-toggle-disabled-unselected-icon-opacity, 0.38)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__icons{opacity:var(--mat-slide-toggle-disabled-selected-icon-opacity, 0.38)}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--unselected .mdc-switch__icon{width:var(--mat-slide-toggle-unselected-icon-size, 16px);height:var(--mat-slide-toggle-unselected-icon-size, 16px);fill:var(--mat-slide-toggle-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mat-slide-toggle-disabled-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__icon{width:var(--mat-slide-toggle-selected-icon-size, 16px);height:var(--mat-slide-toggle-selected-icon-size, 16px);fill:var(--mat-slide-toggle-selected-icon-color, var(--mat-sys-on-primary-container))}.mdc-switch--selected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mat-slide-toggle-disabled-selected-icon-color, var(--mat-sys-on-surface))}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle{-webkit-user-select:none;user-select:none;display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mat-focus-indicator::before{content:""}.mat-mdc-slide-toggle .mat-internal-form-field{color:var(--mat-slide-toggle-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-slide-toggle-label-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-slide-toggle-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-slide-toggle-label-text-size, var(--mat-sys-body-medium-size));letter-spacing:var(--mat-slide-toggle-label-text-tracking, var(--mat-sys-body-medium-tracking));font-weight:var(--mat-slide-toggle-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.mat-mdc-slide-toggle .mat-focus-indicator::before{border-radius:50%}.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle-track,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__icon,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::after,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::after{transition:none}.mat-mdc-slide-toggle .mdc-switch:enabled+.mdc-label{cursor:pointer}.mat-mdc-slide-toggle .mdc-switch--disabled+label{color:var(--mat-slide-toggle-disabled-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-slide-toggle-touch-target{position:absolute;top:50%;left:50%;height:var(--mat-slide-toggle-touch-target-size, 48px);width:100%;transform:translate(-50%, -50%);display:var(--mat-slide-toggle-touch-target-display, block)}[dir=rtl] .mat-mdc-slide-toggle-touch-target{left:auto;right:50%;transform:translate(50%, -50%)}
|
|
3
|
+
`],encapsulation:2,changeDetection:0})}return a})(),ot=(()=>{class a{static \u0275fac=function(t){return new(t||a)};static \u0275mod=Z({type:a});static \u0275inj=U({imports:[J,H,H]})}return a})();var j=[{id:"network",title:"Network",icon:"lan",description:"Ports and bind behavior. daimon always binds to 127.0.0.1 \u2014 never the LAN.",fields:[{key:"apiPort",label:"API port",kind:"number",help:"The port the daimon daemon serves the HTTP API and dashboard on. Default 4999. If something else is on this port, daimon refuses to start.",min:1024,max:65535,restartRequired:!0},{key:"portRange",label:"Dev server port range",kind:"number-pair",help:"Range of ports daimon hands out to apps when their config does not pin one. Ports outside this range will not be auto-assigned, but explicit pins in overrides[].port still work.",min:1024,max:65535},{key:"headless",label:"Headless mode",kind:"boolean",help:"When ON, daimon never opens the TUI in this daemon instance \u2014 useful when running as a background service. The CLI still works the same.",restartRequired:!0}]},{id:"discovery",title:"Discovery",icon:"travel_explore",description:"Which folders daimon scans for Angular / Nx / Vite / Storybook projects.",fields:[{key:"searchRoots",label:"Search roots",kind:"path-objects",help:"Absolute paths to workspace folders. daimon will look for nx.json / angular.json / vite.config.* / .storybook in each. Soft-reloaded on save \u2014 no daemon restart needed.",placeholder:"C:\\path\\to\\workspace"}]},{id:"apps",title:"Apps",icon:"apps",description:"Which apps run automatically and what runs together.",fields:[{key:"autoStart",label:"Auto-start apps",kind:"string-array",help:"Apps to start automatically when the daemon spawns. Match the discovered app names. Empty list means nothing auto-starts.",placeholder:"app-name"},{key:"cascadeRestart",label:"Cascade restart on error",kind:"boolean",help:"When ON, an app entering error state restarts any apps that depend on it. Use with caution if you have noisy compile errors."}]},{id:"healthProbe",title:"Health probe",icon:"monitor_heart",description:'How daimon decides an app is "healthy" \u2014 a HEAD/GET against the announced URL.',fields:[{key:"healthProbe.enabled",label:"Enabled",kind:"boolean",help:'Master switch. When OFF, "serving" is treated as the terminal state for daimon wait / daimon ensure.'},{key:"healthProbe.intervalMs",label:"Interval",kind:"number",help:"How often to re-probe a serving app. Lower values catch outages faster but spend CPU.",min:1e3,max:6e5,unit:"ms"},{key:"healthProbe.timeoutMs",label:"Per-probe timeout",kind:"number",help:"How long to wait for a single probe response before marking unhealthy.",min:200,max:3e4,unit:"ms"},{key:"healthProbe.path",label:"Path",kind:"string",help:'URL path to probe. "/" is fine for most apps; some Nx apps need "/index.html" or a custom health route.',placeholder:"/"},{key:"healthProbe.host",label:"Host override",kind:"string",help:'Optional. Force a specific host (e.g. "127.0.0.1") instead of what the dev server announced. Leave blank to use the announced host.',placeholder:"(announced)"},{key:"healthProbe.scheme",label:"Scheme override",kind:"enum",enumValues:["(announced)","http","https"],help:'Force a specific scheme. Leave on "(announced)" to use whatever the dev server printed in its "Local:" line.'},{key:"healthProbe.rejectUnauthorized",label:"Strict HTTPS certs",kind:"boolean",help:"When OFF, self-signed certs (mkcert, Vite's auto-cert) are accepted. v0.5 forces this OFF for loopback hosts regardless \u2014 this setting only affects off-loopback probes."}]},{id:"autoRestart",title:"Auto-restart",icon:"restart_alt",description:"How daimon recovers from crashed dev servers.",fields:[{key:"autoRestart.enabled",label:"Enabled",kind:"boolean",help:"When ON, daimon respawns an app that exits non-zero, up to the cap below."},{key:"autoRestart.maxAttempts",label:"Max attempts per window",kind:"number",help:"Stops retrying after this many consecutive restarts inside the time window. Prevents thrashing.",min:1,max:50},{key:"autoRestart.windowMs",label:"Retry window",kind:"number",help:'Time window over which max-attempts is counted. Resets after a successful "serving" state.',min:1e4,max:36e5,unit:"ms"}]},{id:"history",title:"History",icon:"history",description:"Persistent SQLite database of events, compile times, and task runs.",fields:[{key:"history.enabled",label:"Enabled",kind:"boolean",help:"When OFF, daimon still tracks live state but does not persist history across daemon restarts.",restartRequired:!0},{key:"history.path",label:"Database path",kind:"path",help:"Where the SQLite file lives. Defaults to ~/.daimon/history.db. Use forward slashes or the path syntax of your OS.",restartRequired:!0},{key:"history.retentionDays",label:"Retention",kind:"number",help:"Days of history to keep. Older rows are purged at startup. 0 disables pruning.",min:0,max:3650,unit:"days"}]},{id:"notifications",title:"Desktop notifications",icon:"notifications",description:"OS notifications via node-notifier. Disable if they're too noisy.",fields:[{key:"notifications.enabled",label:"Enabled",kind:"boolean",help:"Master switch for desktop notifications."},{key:"notifications.onError",label:"On compile error",kind:"boolean",help:'Notify when an app transitions into "error" state.'},{key:"notifications.onUnhealthy",label:"On health failure",kind:"boolean",help:"Notify when an app fails its health probe enough times to flip to unhealthy."},{key:"notifications.tray",label:"Show tray icon",kind:"boolean",help:"Reserve space in the OS tray (where supported). Most users leave this off."}]},{id:"staleDetect",title:"Stale detection",icon:"hourglass_empty",description:"Flag apps that have gone quiet without printing anything.",fields:[{key:"staleDetect.enabled",label:"Enabled",kind:"boolean",help:'When ON, daimon marks an app "stale" if it has not printed output for the duration below \u2014 useful for catching hung dev servers.'},{key:"staleDetect.silentMs",label:"Silent threshold",kind:"number",help:"Quiet duration before marking stale. Most dev servers print at least heartbeats, so 30s is a safe default.",min:5e3,max:6e5,unit:"ms"}]},{id:"logs",title:"Log persistence",icon:"description",description:"Save app stdout/stderr to disk for later inspection.",fields:[{key:"logs.enabled",label:"Enabled",kind:"boolean",help:"When ON, daimon writes per-app log files to the directory below. Default OFF \u2014 daimon already keeps the last 500 lines per app in memory for the dashboard."},{key:"logs.dir",label:"Directory",kind:"path",help:"Where rotated log files live. Defaults to ~/.daimon/logs."},{key:"logs.maxFiles",label:"Files per app",kind:"number",help:"Rotation depth. After this many files, the oldest is deleted.",min:1,max:100},{key:"logs.maxBytesPerFile",label:"Max size per file",kind:"number",help:"Rotate when a single file reaches this many bytes. 10000000 = 10 MB.",min:1e5,max:1e9,unit:"bytes"}]},{id:"requestLog",title:"Request log (proxy)",icon:"compare_arrows",description:"Reverse-proxy your dev server through a sibling port to capture every HTTP request.",fields:[{key:"requestLog.enabled",label:"Enabled",kind:"boolean",help:"When ON, daimon proxies the dev server on a sibling port (announced port + offset). The Requests page becomes useful. OFF by default because it adds a hop.",restartRequired:!0},{key:"requestLog.portOffset",label:"Proxy port offset",kind:"number",help:"Added to the app's dev-server port to compute the proxy port (e.g. dev=4200 + offset=1000 \u2192 5200).",min:100,max:5e4,restartRequired:!0}]},{id:"metrics",title:"Prometheus metrics",icon:"monitoring",description:"Expose CPU / memory / status / compile-time as Prometheus text on /metrics.",fields:[{key:"metrics.enabled",label:"Enabled",kind:"boolean",help:"Turn this on if you scrape the dashboard with Prometheus. The /metrics endpoint stays loopback-only \u2014 no remote scraping."}]},{id:"dashboard",title:"Dashboard",icon:"tune",description:"How this web UI looks. Applies after page reload.",fields:[{key:"dashboard.theme",label:"Theme",kind:"enum",enumValues:["auto","light","dark"],help:'"auto" follows your OS preference. The theme toggle in the topbar overrides this per-browser via localStorage.'},{key:"dashboard.density",label:"Density",kind:"enum",enumValues:["comfortable","compact"],help:"Material 3 density. Compact shows more rows per screen at the cost of click targets."}]},{id:"output",title:"CLI output",icon:"terminal",description:"Defaults for the daimon CLI (the `daimon list` / `status` / `errors` you invoke from a shell).",fields:[{key:"output.format",label:"Default format",kind:"enum",enumValues:["compact","full"],help:'"compact" returns ~10 fields per app, optimized for agents. "full" returns the v0.4 verbose shape. The --full / --compact flags at the call site always win.'},{key:"output.ndjson",label:"Default NDJSON",kind:"boolean",help:"When ON, `daimon list` emits one JSON record per line instead of a single JSON array."}]},{id:"doctor",title:"Doctor auto-fix",icon:"medical_services",description:"Which repair routines `daimon doctor --auto-fix` is allowed to run.",fields:[{key:"doctor.autoFix.onInit",label:"Run after `daimon init`",kind:"boolean",help:"When ON, daimon will run auto-fix at the end of `daimon init`. Most users leave this OFF \u2014 init only writes a config file and doesn't need fixes."},{key:"doctor.autoFix.permitted",label:"Allowed routines",kind:"string-array",help:"Subset of: orphan-daemon, stale-lock, missing-search-root, corrupt-history-db. Removing a name disables that routine entirely."}]},{id:"editor",title:"Editor integration",icon:"edit_note",description:"How clicking on error file paths opens your editor.",fields:[{key:"editor.scheme",label:"URL scheme",kind:"enum",enumValues:["vscode","vscode-insiders","cursor","jetbrains"],help:"When you click a file:line:col in the dashboard, daimon opens `<scheme>://file/<path>:<line>:<col>`. Pick the editor you actually use."}]},{id:"auth",title:"API authentication",icon:"lock",description:"Optional bearer token. Most users leave this empty since daimon is loopback-only.",fields:[{key:"apiToken",label:"Bearer token",kind:"token",help:"When set, mutating endpoints require an Authorization: Bearer <token> header. The CLI reads this from DAIMON_TOKEN env var. Leave blank if you trust everything on this machine.",restartRequired:!0}]}];function I(a,i){let e=i.split("."),t=a;for(let n of e){if(t==null)return;t=t[n]}return t}function rt(a,i,e){let t=i.split("."),n=a;for(let s=0;s<t.length-1;s++){let m=t[s];(n[m]==null||typeof n[m]!="object")&&(n[m]={}),n=n[m]}n[t[t.length-1]]=e}var _t=(a,i)=>i.id,ft=(a,i)=>i.key;function bt(a,i){if(a&1&&(d(0," \xB7 "),o(1,"dm-mono"),d(2),r()),a&2){let e=l();c(2),P("etag ",e.etag().slice(0,8))}}function vt(a,i){if(a&1){let e=_();o(0,"button",18),p("click",function(){h(e);let n=l();return g(n.discard())}),o(1,"mat-icon",7),d(2,"undo"),r(),d(3," Discard "),r()}}function yt(a,i){a&1&&x(0,"mat-spinner",12)}function wt(a,i){a&1&&(o(0,"mat-icon",7),d(1,"save"),r())}function xt(a,i){if(a&1){let e=_();o(0,"div",13)(1,"mat-icon",7),d(2,"sync_problem"),r(),o(3,"div")(4,"strong"),d(5,"Config changed elsewhere."),r(),d(6," Your local edits are stale. Reload to pull the latest, then re-apply. "),r(),o(7,"button",19),p("click",function(){h(e);let n=l();return g(n.reload())}),d(8,"Reload"),r()()}}function Ct(a,i){if(a&1&&(o(0,"span",20)(1,"dm-mono"),d(2),r()()),a&2){let e=i.$implicit;c(2),C(e)}}function kt(a,i){if(a&1&&(o(0,"div",14)(1,"mat-icon",7),d(2,"restart_alt"),r(),o(3,"div")(4,"strong"),d(5,"Some changes need a daemon restart to take effect."),r(),k(6,Ct,3,1,"span",20,A),r(),x(8,"span"),r()),a&2){let e=l();c(6),E(e.restartHints())}}function Et(a,i){a&1&&(o(0,"div",15),x(1,"dm-skeleton",21)(2,"dm-skeleton",22)(3,"dm-skeleton",22)(4,"dm-skeleton",22),r())}function St(a,i){a&1&&(o(0,"span",32),d(1,"restart"),r())}function Mt(a,i){a&1&&(o(0,"span",33),d(1,"modified"),r())}function Tt(a,i){if(a&1){let e=_();o(0,"mat-slide-toggle",41),p("change",function(n){h(e);let s=l().$implicit,m=l(3);return g(m.setVal(s.key,n.checked))}),d(1),r()}if(a&2){let e=l().$implicit,t=l(3);u("checked",!!t.getVal(e.key)),c(),P(" ",t.getVal(e.key)?"On":"Off"," ")}}function Ft(a,i){if(a&1&&(o(0,"span",43),d(1),r()),a&2){let e=l(2).$implicit;c(),C(e.unit)}}function Ot(a,i){if(a&1){let e=_();o(0,"mat-form-field",36)(1,"input",42),p("input",function(n){h(e);let s=l().$implicit,m=l(3);return g(m.setVal(s.key,m.toNum(n.target.value)))}),r(),f(2,Ft,2,1,"span",43),r()}if(a&2){let e=l().$implicit,t=l(3);c(),u("min",e.min??null)("max",e.max??null)("value",t.getVal(e.key)),c(),b(e.unit?2:-1)}}function It(a,i){if(a&1){let e=_();o(0,"div",37)(1,"mat-form-field",36)(2,"mat-label"),d(3,"min"),r(),o(4,"input",42),p("input",function(n){h(e);let s=l().$implicit,m=l(3);return g(m.setPairIdx(s.key,0,m.toNum(n.target.value)))}),r()(),o(5,"span",44),d(6,"\u2013"),r(),o(7,"mat-form-field",36)(8,"mat-label"),d(9,"max"),r(),o(10,"input",42),p("input",function(n){h(e);let s=l().$implicit,m=l(3);return g(m.setPairIdx(s.key,1,m.toNum(n.target.value)))}),r()()()}if(a&2){let e=l().$implicit,t=l(3);c(4),u("min",e.min??null)("max",e.max??null)("value",t.getPair(e.key)[0]),c(6),u("min",e.min??null)("max",e.max??null)("value",t.getPair(e.key)[1])}}function Pt(a,i){if(a&1){let e=_();o(0,"mat-form-field",36)(1,"input",45),p("input",function(n){h(e);let s=l().$implicit,m=l(3);return g(m.setVal(s.key,n.target.value||(s.kind==="string"?"":null)))}),r()()}if(a&2){let e=l().$implicit,t=l(3);c(),u("placeholder",e.placeholder??"")("value",t.getStrOrEmpty(e.key))}}function Vt(a,i){if(a&1){let e=_();o(0,"mat-form-field",36)(1,"input",46),p("input",function(n){h(e);let s=l().$implicit,m=l(3);return g(m.setVal(s.key,n.target.value))}),r()()}if(a&2){let e=l().$implicit,t=l(3);c(),u("placeholder",e.placeholder??"")("value",t.getStrOrEmpty(e.key))}}function Dt(a,i){if(a&1){let e=_();o(0,"mat-form-field",36)(1,"input",47),p("input",function(n){h(e);let s=l().$implicit,m=l(3);return g(m.setVal(s.key,n.target.value||null))}),r(),o(2,"button",48),p("click",function(){h(e);let n=l(4);return g(n.showToken.set(!n.showToken()))}),o(3,"mat-icon",7),d(4),r()()()}if(a&2){let e=l().$implicit,t=l(3);c(),u("type",t.showToken()?"text":"password")("placeholder","(unset)")("value",t.getStrOrEmpty(e.key)),c(),O("aria-label",t.showToken()?"Hide token":"Show token"),c(2),C(t.showToken()?"visibility_off":"visibility")}}function Rt(a,i){if(a&1&&(o(0,"mat-button-toggle",49),d(1),r()),a&2){let e=i.$implicit;u("value",e),c(),C(e)}}function At(a,i){if(a&1){let e=_();o(0,"mat-button-toggle-group",5),p("change",function(n){h(e);let s=l().$implicit,m=l(3);return g(m.setEnum(s,n.value))}),k(1,Rt,2,2,"mat-button-toggle",49,A),r()}if(a&2){let e=l().$implicit,t=l(3);u("value",t.enumValue(e.key,e)),c(),E(e.enumValues)}}function Nt(a,i){if(a&1){let e=_();o(0,"mat-chip",53),p("removed",function(){let n=h(e).$index,s=l(2).$implicit,m=l(3);return g(m.removeAt(s.key,n))}),o(1,"dm-mono"),d(2),r(),o(3,"button",54)(4,"mat-icon",7),d(5,"cancel"),r()()()}if(a&2){let e=i.$implicit;u("removable",!0),c(2),C(e)}}function zt(a,i){if(a&1){let e=_();o(0,"div",39)(1,"mat-chip-set"),k(2,Nt,6,2,"mat-chip",50,A),r(),o(4,"mat-form-field",51)(5,"input",52,0),p("keydown.enter",function(n){h(e);let s=S(6),m=l().$implicit;return l(3).addItem(m.key,s.value),s.value="",g(n.preventDefault())}),r(),o(7,"button",48),p("click",function(){h(e);let n=S(6),s=l().$implicit;return l(3).addItem(s.key,n.value),g(n.value="")}),o(8,"mat-icon",7),d(9,"add"),r()()()()}if(a&2){let e=l().$implicit,t=l(3);c(2),E(t.getArr(e.key)),c(3),u("placeholder",e.placeholder??"Add value and press Enter")}}function $t(a,i){if(a&1){let e=_();o(0,"div",55)(1,"mat-form-field",57)(2,"input",58),p("input",function(n){let s=h(e).$index,m=l(2).$implicit,v=l(3);return g(v.setObjAt(m.key,s,"path",n.target.value))}),r()(),o(3,"mat-form-field",59)(4,"mat-label"),d(5,"label"),r(),o(6,"input",60),p("input",function(n){let s=h(e).$index,m=l(2).$implicit,v=l(3);return g(v.setObjAt(m.key,s,"label",n.target.value||null))}),r()(),o(7,"button",61),p("click",function(){let n=h(e).$index,s=l(2).$implicit,m=l(3);return g(m.removeAt(s.key,n))}),o(8,"mat-icon",7),d(9,"delete"),r()()()}if(a&2){let e=i.$implicit;c(2),u("value",e.path),c(4),u("value",e.label??"")}}function jt(a,i){if(a&1){let e=_();o(0,"div",39),k(1,$t,10,2,"div",55,ee),o(3,"mat-form-field",51)(4,"input",56,1),p("keydown.enter",function(n){h(e);let s=S(5),m=l().$implicit;return l(3).addObj(m.key,s.value),s.value="",g(n.preventDefault())}),r(),o(6,"button",48),p("click",function(){h(e);let n=S(5),s=l().$implicit;return l(3).addObj(s.key,n.value),g(n.value="")}),o(7,"mat-icon",7),d(8,"add"),r()()()()}if(a&2){let e=l().$implicit,t=l(3);c(),E(t.getObjArr(e.key)),c(3),u("placeholder",e.placeholder??"Add absolute path and press Enter")}}function Lt(a,i){if(a&1&&(o(0,"div",29)(1,"div",30)(2,"label",31),d(3),r(),f(4,St,2,0,"span",32),f(5,Mt,2,0,"span",33),r(),o(6,"div",34),f(7,Tt,2,2,"mat-slide-toggle",35)(8,Ot,3,4,"mat-form-field",36)(9,It,11,6,"div",37)(10,Pt,2,2,"mat-form-field",36)(11,Vt,2,2,"mat-form-field",36)(12,Dt,5,5,"mat-form-field",36)(13,At,3,1,"mat-button-toggle-group",38)(14,zt,10,1,"div",39)(15,jt,9,1,"div",39),r(),o(16,"div",40),d(17),r()()),a&2){let e,t=i.$implicit,n=l(3);M("dm-field-dirty",n.isFieldDirty(t.key)),c(3),C(t.label),c(),b(t.restartRequired?4:-1),c(),b(n.isFieldDirty(t.key)?5:-1),c(2),b((e=t.kind)==="boolean"?7:e==="number"?8:e==="number-pair"?9:e==="string"?10:e==="path"?11:e==="token"?12:e==="enum"?13:e==="string-array"?14:e==="path-objects"?15:-1),c(10),C(t.help)}}function qt(a,i){if(a&1){let e=_();o(0,"mat-expansion-panel",25),p("afterExpand",function(){let n=h(e).$implicit,s=l(2);return g(s.onExpand(n.id,!0))})("afterCollapse",function(){let n=h(e).$implicit,s=l(2);return g(s.onExpand(n.id,!1))}),o(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"mat-icon",7),d(4),r(),o(5,"span",26),d(6),r()(),o(7,"mat-panel-description"),d(8),r()(),o(9,"div",27),k(10,Lt,18,7,"div",28,ft),r()()}if(a&2){let e=i.$implicit,t=l(2);u("expanded",t.isExpanded(e.id)),c(4),C(e.icon),c(2),C(e.title),c(2),P(" ",e.description," "),c(2),E(e.fields)}}function Bt(a,i){if(a&1&&(o(0,"div",16),k(1,qt,12,4,"mat-expansion-panel",23,_t),o(3,"section",24)(4,"p"),d(5," Some settings \u2014 "),o(6,"strong"),d(7,"overrides"),r(),d(8,", "),o(9,"strong"),d(10,"profiles"),r(),d(11,", "),o(12,"strong"),d(13,"tags"),r(),d(14,", "),o(15,"strong"),d(16,"depends"),r(),d(17,", "),o(18,"strong"),d(19,"envFiles"),r(),d(20," \u2014 are per-app dictionaries best edited as JSON. Switch to the JSON tab in the header to edit them. "),r()()()),a&2){let e=l();c(),E(e.sections)}}function Ht(a,i){if(a&1&&(o(0,"span",63)(1,"mat-icon",7),d(2,"error"),r(),d(3),r()),a&2){let e=l(2);c(3),P(" invalid JSON \xB7 ",e.parseError()," ")}}function Jt(a,i){a&1&&(o(0,"span",64)(1,"mat-icon",7),d(2,"check_circle"),r(),d(3," valid JSON "),r())}function Wt(a,i){if(a&1){let e=_();o(0,"div",17)(1,"div",62),f(2,Ht,4,1,"span",63)(3,Jt,4,0,"span",64),r(),o(4,"mat-form-field",65)(5,"textarea",66),p("ngModelChange",function(n){h(e);let s=l();return g(s.onJsonInput(n))}),r()()()}if(a&2){let e=l();c(2),b(e.parseError()?2:3),c(3),u("ngModel",e.jsonText())}}var st="daimon.config.mode",lt=class a{http=y(me);snack=y(Ve);sections=j;mode=w("form");loading=w(!0);saving=w(!1);etag=w("");original=w(null);working=w(null);jsonText=w("");conflict=w(!1);showToken=w(!1);expanded=w({});dirty=V(()=>JSON.stringify(this.working())!==JSON.stringify(this.original()));parseError=V(()=>{if(this.mode()!=="json")return null;try{return JSON.parse(this.jsonText()),null}catch(i){return i?.message??"parse error"}});canSave=V(()=>!this.saving()&&!this.loading()&&this.dirty()&&!this.parseError());restartHints=V(()=>{let i=this.original(),e=this.working();if(!i||!e)return[];let t=[];for(let n of j)for(let s of n.fields)s.restartRequired&&JSON.stringify(I(i,s.key))!==JSON.stringify(I(e,s.key))&&t.push(s.key);return t});async ngOnInit(){try{let e=localStorage.getItem(st);(e==="form"||e==="json")&&this.mode.set(e)}catch{}let i={};for(let e of j)i[e.id]=["network","discovery","healthProbe"].includes(e.id);this.expanded.set(i),await this.load()}setMode(i){if(i!==this.mode()){if(i==="json")this.jsonText.set(JSON.stringify(this.working(),null,2));else if(this.parseError()===null)try{this.working.set(JSON.parse(this.jsonText()))}catch{}else{this.snack.open("Fix the JSON parse error before switching back to the form view.","OK",{duration:4e3});return}this.mode.set(i);try{localStorage.setItem(st,i)}catch{}}}onJsonInput(i){this.jsonText.set(i);try{this.working.set(JSON.parse(i))}catch{}}isExpanded(i){return!!this.expanded()[i]}onExpand(i,e){this.expanded.update(t=>q(L({},t),{[i]:e}))}getVal(i){return I(this.working(),i)}getStrOrEmpty(i){let e=this.getVal(i);return e==null?"":String(e)}getArr(i){let e=this.getVal(i);return Array.isArray(e)?e:[]}getObjArr(i){let e=this.getVal(i);return Array.isArray(e)?e.map(t=>typeof t=="string"?{path:t}:{path:String(t?.path??""),label:t?.label??null}):[]}setObjAt(i,e,t,n){let s=this.getObjArr(i);if(!s[e])return;let m=s.slice();m[e]=q(L({},m[e]),{[t]:n}),t==="label"&&(n===""||n==null)&&delete m[e].label,this.setVal(i,m)}addObj(i,e){let t=e.trim();if(!t)return;let n=this.getObjArr(i);n.some(s=>s.path===t)||this.setVal(i,[...n,{path:t}])}getPair(i){let e=this.getVal(i);return Array.isArray(e)&&e.length>=2?[Number(e[0])||0,Number(e[1])||0]:[0,0]}setVal(i,e){let t=structuredClone(this.working());rt(t,i,e),this.working.set(t)}setPairIdx(i,e,t){let n=this.getPair(i);n[e]=t,this.setVal(i,n)}setEnum(i,e){if(i.key.startsWith("healthProbe.")&&(i.key.endsWith(".scheme")||i.key.endsWith(".host"))){this.setVal(i.key,e==="(announced)"?null:e);return}this.setVal(i.key,e)}enumValue(i,e){let t=this.getVal(i);return t==null&&e.enumValues?.includes("(announced)")?"(announced)":String(t??e.enumValues?.[0]??"")}addItem(i,e){let t=e.trim();if(!t)return;let n=[...this.getArr(i)];n.includes(t)||(n.push(t),this.setVal(i,n))}removeAt(i,e){let t=this.getVal(i);if(!Array.isArray(t))return;let n=t.slice();n.splice(e,1),this.setVal(i,n)}toNum(i){let e=Number(i);return Number.isFinite(e)?e:0}isFieldDirty(i){let e=this.original(),t=this.working();return!e||!t?!1:JSON.stringify(I(e,i))!==JSON.stringify(I(t,i))}async load(){this.loading.set(!0),this.conflict.set(!1);try{let i=await R(this.http.get("/api/config"));this.etag.set(i.etag??""),this.original.set(structuredClone(i.config)),this.working.set(structuredClone(i.config)),this.jsonText.set(JSON.stringify(i.config,null,2))}catch(i){this.snack.open(`Failed to load config: ${i?.message??i}`,"Dismiss",{duration:5e3})}finally{this.loading.set(!1)}}discard(){this.working.set(structuredClone(this.original())),this.jsonText.set(JSON.stringify(this.original(),null,2)),this.conflict.set(!1)}async reload(){try{await R(this.http.post("/api/config/reload",{}))}catch{}await this.load()}async save(){if(this.canSave()){this.saving.set(!0);try{let i=await R(this.http.patch("/api/config",this.working(),{headers:{"if-match":this.etag(),"content-type":"application/json"},observe:"response"})),e=i.body??{},t=i.headers.get("etag")??e.etag??"";t&&this.etag.set(t),this.original.set(structuredClone(this.working()));let n=Array.isArray(e.applied)?e.applied.length:0,s=Array.isArray(e.addedApps)?e.addedApps.length:0,m=Array.isArray(e.removedApps)?e.removedApps.length:0,v=Array.isArray(e.restartRequired)?e.restartRequired.length:0,D=`Applied ${n} change${n===1?"":"s"}`;s&&(D+=` \xB7 +${s} app${s===1?"":"s"}`),m&&(D+=` \xB7 \u2212${m} app${m===1?"":"s"}`),v&&(D+=` \xB7 ${v} setting${v===1?"":"s"} need restart`),this.snack.open(D,"OK",{duration:4e3})}catch(i){i?.status===412?(this.conflict.set(!0),this.snack.open("Config changed elsewhere \u2014 reload before saving.","Reload",{duration:6e3}).onAction().subscribe(()=>this.reload())):this.snack.open(`Save failed: ${i?.error?.error??i?.message??i}`,"Dismiss",{duration:6e3})}finally{this.saving.set(!1)}}}onKey(i){(i.metaKey||i.ctrlKey)&&i.key.toLowerCase()==="s"&&(i.preventDefault(),this.save())}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=F({type:a,selectors:[["dm-config-editor"]],hostBindings:function(e,t){e&1&&p("keydown",function(s){return t.onKey(s)},Y)},decls:31,vars:8,consts:[["addInput",""],["addObjInput",""],[1,"dm-page-header"],[1,"dm-page-sub"],[1,"dm-header-actions"],["hideSingleSelectionIndicator","",3,"change","value"],["value","form","matTooltip","Form editor with explanations"],["fontSet","material-symbols-outlined"],["value","json","matTooltip","Raw JSON editor"],["mat-button","","matTooltip","Throw away pending changes"],["mat-button","","matTooltip","Reload from daemon",3,"click"],["mat-flat-button","","color","primary",3,"click","disabled"],["diameter","18"],[1,"dm-banner","dm-banner-warn"],[1,"dm-banner","dm-banner-info"],[1,"dm-skel"],[1,"dm-settings"],[1,"dm-json"],["mat-button","","matTooltip","Throw away pending changes",3,"click"],["mat-stroked-button","",3,"click"],[1,"dm-restart-key"],["height","3rem"],["height","14rem"],[3,"expanded"],[1,"dm-advanced-note"],[3,"afterExpand","afterCollapse","expanded"],[1,"dm-sec-title"],[1,"dm-fields"],[1,"dm-field",3,"dm-field-dirty"],[1,"dm-field"],[1,"dm-field-label-row"],[1,"dm-field-label"],["matTooltip","A daemon restart applies this",1,"dm-field-tag"],[1,"dm-field-tag","dm-tag-dirty"],[1,"dm-field-control"],[3,"checked"],["appearance","outline","subscriptSizing","dynamic"],[1,"dm-pair"],["hideSingleSelectionIndicator","",3,"value"],[1,"dm-array"],[1,"dm-field-help"],[3,"change","checked"],["matInput","","type","number",3,"input","min","max","value"],["matTextSuffix","",1,"dm-suffix"],[1,"dm-pair-sep"],["matInput","",3,"input","placeholder","value"],["matInput","",1,"dm-mono",3,"input","placeholder","value"],["matInput","",3,"input","type","placeholder","value"],["matSuffix","","mat-icon-button","","type","button",3,"click"],[3,"value"],[3,"removable"],["appearance","outline","subscriptSizing","dynamic",1,"dm-array-input"],["matInput","",3,"keydown.enter","placeholder"],[3,"removed","removable"],["matChipRemove",""],[1,"dm-path-row"],["matInput","",1,"dm-mono",3,"keydown.enter","placeholder"],["appearance","outline","subscriptSizing","dynamic",1,"dm-path-input"],["matInput","",1,"dm-mono",3,"input","value"],["appearance","outline","subscriptSizing","dynamic",1,"dm-path-label"],["matInput","",3,"input","value"],["mat-icon-button","","type","button","matTooltip","Remove",3,"click"],[1,"dm-json-status"],[1,"dm-status","dm-status-bad"],[1,"dm-status","dm-status-ok"],["appearance","outline",1,"dm-json-field"],["matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","20","spellcheck","false",3,"ngModelChange","ngModel"]],template:function(e,t){e&1&&(o(0,"div",2)(1,"div")(2,"h1"),d(3,"Config"),r(),o(4,"div",3),d(5," Active configuration \xB7 changes apply via soft-reload where possible "),f(6,bt,3,1),r()(),o(7,"div",4)(8,"mat-button-toggle-group",5),p("change",function(s){return t.setMode(s.value)}),o(9,"mat-button-toggle",6)(10,"mat-icon",7),d(11,"tune"),r(),d(12," Settings "),r(),o(13,"mat-button-toggle",8)(14,"mat-icon",7),d(15,"data_object"),r(),d(16," JSON "),r()(),f(17,vt,4,0,"button",9),o(18,"button",10),p("click",function(){return t.reload()}),o(19,"mat-icon",7),d(20,"refresh"),r(),d(21," Reload "),r(),o(22,"button",11),p("click",function(){return t.save()}),f(23,yt,1,0,"mat-spinner",12)(24,wt,2,0,"mat-icon",7),d(25," Save "),r()()(),f(26,xt,9,0,"div",13),f(27,kt,9,0,"div",14),f(28,Et,5,0,"div",15)(29,Bt,21,0,"div",16)(30,Wt,6,2,"div",17)),e&2&&(c(6),b(t.etag()?6:-1),c(2),u("value",t.mode()),c(9),b(t.dirty()?17:-1),c(5),u("disabled",!t.canSave()),c(),b(t.saving()?23:24),c(3),b(t.conflict()?26:-1),c(),b(t.restartHints().length?27:-1),c(),b(t.loading()?28:t.mode()==="form"?29:30))},dependencies:[ce,Ee,we,Ce,ke,Pe,Ie,Oe,_e,ue,ve,be,$e,ze,Ae,Ne,He,Be,Le,je,ot,J,it,et,tt,Ke,We,Je,Ue,Ze,Xe,Ge,Ye,Qe,Me,Se,qe,De,Re],styles:["[_nghost-%COMP%]{display:block}.dm-header-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.dm-banner[_ngcontent-%COMP%]{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:12px 16px;border-radius:12px;margin-bottom:1rem}.dm-banner-warn[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-error) 14%,transparent);color:var(--mat-sys-on-surface);border:1px solid color-mix(in oklch,var(--mat-sys-error) 35%,transparent)}.dm-banner-warn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-error)}.dm-banner-info[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-tertiary) 14%,transparent);color:var(--mat-sys-on-surface);border:1px solid color-mix(in oklch,var(--mat-sys-tertiary) 35%,transparent)}.dm-banner-info[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-tertiary)}.dm-restart-key[_ngcontent-%COMP%]{margin-left:.35rem}.dm-skel[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.dm-settings[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.dm-sec-title[_ngcontent-%COMP%]{margin-left:.5rem;font:500 .9375rem/1.25rem Roboto}mat-expansion-panel[_ngcontent-%COMP%]{border-radius:12px!important;box-shadow:var(--mat-sys-level1)!important}mat-expansion-panel-header[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}mat-panel-description[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font:400 .8125rem/1.25rem Roboto}.dm-fields[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.875rem;padding:.25rem 0}.dm-field[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,200px) 1fr;gap:.125rem 1.25rem;align-items:start}.dm-field-label-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;padding-top:.4rem}.dm-field-label[_ngcontent-%COMP%]{font:500 .875rem/1.25rem Roboto;color:var(--mat-sys-on-surface)}.dm-field-tag[_ngcontent-%COMP%]{font:500 .625rem/.875rem Roboto;letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:999px;background:var(--mat-sys-surface-container);color:var(--mat-sys-on-surface-variant);border:1px solid var(--mat-sys-outline-variant)}.dm-tag-dirty[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-tertiary) 18%,transparent);color:var(--mat-sys-tertiary);border-color:color-mix(in oklch,var(--mat-sys-tertiary) 40%,transparent)}.dm-field-help[_ngcontent-%COMP%]{grid-column:2;color:var(--mat-sys-on-surface-variant);font:400 .75rem/1.125rem Roboto;max-width:64ch;margin-top:-.125rem}.dm-field-dirty[_ngcontent-%COMP%] .dm-field-label[_ngcontent-%COMP%]{color:var(--mat-sys-tertiary)}.dm-pair[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.dm-pair-sep[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.dm-suffix[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);margin-left:.25rem;font:400 .75rem/1rem Roboto}.dm-array[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.dm-array-input[_ngcontent-%COMP%]{max-width:32rem}.dm-path-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1fr) 12rem auto;gap:.5rem;align-items:center}.dm-path-input[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{font-family:var(--dm-mono)}@media(max-width:700px){.dm-path-row[_ngcontent-%COMP%]{grid-template-columns:1fr}}.dm-mono[_ngcontent-%COMP%] input.dm-mono[_ngcontent-%COMP%], input.dm-mono[_ngcontent-%COMP%]{font-family:var(--dm-mono)}.dm-advanced-note[_ngcontent-%COMP%]{margin-top:.5rem;padding:1rem 1.25rem;background:var(--mat-sys-surface-container);border-radius:12px;color:var(--mat-sys-on-surface-variant);font:400 .875rem/1.5rem Roboto}.dm-json[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.dm-json-status[_ngcontent-%COMP%]{display:flex;gap:.5rem}.dm-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.35rem;font:500 .75rem/1rem Roboto;padding:4px 10px;border-radius:999px;background:var(--mat-sys-surface-container)}.dm-status[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.dm-status-ok[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.dm-status-bad[_ngcontent-%COMP%]{color:var(--mat-sys-error)}.dm-json-field[_ngcontent-%COMP%]{width:100%}.dm-json-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{font-family:var(--dm-mono);font-size:.8125rem;line-height:1.5}@media(max-width:900px){.dm-field[_ngcontent-%COMP%]{grid-template-columns:1fr}.dm-field-help[_ngcontent-%COMP%]{grid-column:1}}"],changeDetection:0})};export{lt as ConfigEditorComponent};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{m as s}from"./chunk-KLH6B22T.js";import{gc as r,pb as c}from"./chunk-K43KW4K2.js";var n=(()=>{class o{_animationsDisabled=s();state="unchecked";disabled=!1;appearance="full";constructor(){}static \u0275fac=function(a){return new(a||o)};static \u0275cmp=c({type:o,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:12,hostBindings:function(a,e){a&2&&r("mat-pseudo-checkbox-indeterminate",e.state==="indeterminate")("mat-pseudo-checkbox-checked",e.state==="checked")("mat-pseudo-checkbox-disabled",e.disabled)("mat-pseudo-checkbox-minimal",e.appearance==="minimal")("mat-pseudo-checkbox-full",e.appearance==="full")("_mat-animation-noopable",e._animationsDisabled)},inputs:{state:"state",disabled:"disabled",appearance:"appearance"},decls:0,vars:0,template:function(a,e){},styles:[`.mat-pseudo-checkbox{border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-pseudo-checkbox-minimal-selected-checkmark-color, var(--mat-sys-primary))}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full{border-color:var(--mat-pseudo-checkbox-full-unselected-icon-color, var(--mat-sys-on-surface-variant));border-width:2px;border-style:solid}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled{border-color:var(--mat-pseudo-checkbox-full-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{background-color:var(--mat-pseudo-checkbox-full-selected-icon-color, var(--mat-sys-primary));border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-pseudo-checkbox-full-selected-checkmark-color, var(--mat-sys-on-primary))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background-color:var(--mat-pseudo-checkbox-full-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-pseudo-checkbox-full-disabled-selected-checkmark-color, var(--mat-sys-surface))}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after{width:14px;height:6px;transform-origin:center;top:-4.2426406871px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{top:8px;width:16px}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after{width:10px;height:4px;transform-origin:center;top:-2.8284271247px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px}
|
|
2
|
+
`],encapsulation:2,changeDetection:0})}return o})();export{n as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as a,C as c,R as d,V as l,
|
|
1
|
+
import{$ as a,C as c,R as d,V as l,ea as u,eb as v,f as b,i as n}from"./chunk-K43KW4K2.js";var i=class{_box;_destroyed=new n;_resizeSubject=new n;_resizeObserver;_elementObservables=new Map;constructor(r){this._box=r,typeof ResizeObserver<"u"&&(this._resizeObserver=new ResizeObserver(e=>this._resizeSubject.next(e)))}observe(r){return this._elementObservables.has(r)||this._elementObservables.set(r,new b(e=>{let s=this._resizeSubject.subscribe(e);return this._resizeObserver?.observe(r,{box:this._box}),()=>{this._resizeObserver?.unobserve(r),s.unsubscribe(),this._elementObservables.delete(r)}}).pipe(c(e=>e.some(s=>s.target===r)),d({bufferSize:1,refCount:!0}),l(this._destroyed))),this._elementObservables.get(r)}destroy(){this._destroyed.next(),this._destroyed.complete(),this._resizeSubject.complete(),this._elementObservables.clear()}},O=(()=>{class t{_cleanupErrorListener;_observers=new Map;_ngZone=u(v);constructor(){typeof ResizeObserver<"u"}ngOnDestroy(){for(let[,e]of this._observers)e.destroy();this._observers.clear(),this._cleanupErrorListener?.()}observe(e,s){let o=s?.box||"content-box";return this._observers.has(o)||this._observers.set(o,new i(o)),this._observers.get(o).observe(e)}static \u0275fac=function(s){return new(s||t)};static \u0275prov=a({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{O as a};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{P as Le,a as te,b as Lt,c as kt,i as fe,j as pe,k as xt}from"./chunk-Y6B6X4Y6.js";import{$ as m,$a as Q,C as et,Ca as ut,Db as It,E as tt,Ea as ht,F as nt,Fa as Ne,Ga as ft,Gc as Ot,Ha as he,Hc as Pt,I as rt,Ja as Oe,K as de,Ka as Pe,La as $,Ma as V,Na as pt,Oa as mt,Pa as gt,Q as ot,Qa as yt,Ra as vt,Sa as Et,Ta as _t,U as st,Ua as M,X as ue,Xb as Mt,Y as w,Yb as St,a as D,aa as q,ab as wt,b as Ae,bb as Tt,ca as T,d as Ze,da as u,ea as g,eb as z,f as Ce,fa as De,ga as it,gc as At,ha as at,hb as Rt,hc as Ct,ia as ct,o as L,oa as _,p as qe,pa as lt,pb as bt,qa as U,qb as ee,s as E,t as S,ta as H,wa as dt,xc as Dt,z as Qe,zc as Nt}from"./chunk-K43KW4K2.js";var ne=class{_doc;constructor(n){this._doc=n}manager},me=(()=>{class r extends ne{constructor(e){super(e)}supports(e){return!0}addEventListener(e,t,o,s){return e.addEventListener(t,o,s),()=>this.removeEventListener(e,t,o,s)}removeEventListener(e,t,o,s){return e.removeEventListener(t,o,s)}static \u0275fac=function(t){return new(t||r)(u(_))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),ye=new T(""),je=(()=>{class r{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,t){this._zone=t,e.forEach(i=>{i.manager=this});let o=e.filter(i=>!(i instanceof me));this._plugins=o.slice().reverse();let s=e.find(i=>i instanceof me);s&&this._plugins.push(s)}addEventListener(e,t,o,s){return this._findPluginFor(t).addEventListener(e,t,o,s)}getZone(){return this._zone}_findPluginFor(e){let t=this._eventNameToPlugin.get(e);if(t)return t;if(t=this._plugins.find(s=>s.supports(e)),!t)throw new w(5101,!1);return this._eventNameToPlugin.set(e,t),t}static \u0275fac=function(t){return new(t||r)(u(ye),u(z))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),ke="ng-app-id";function Ft(r){for(let n of r)n.remove()}function Ut(r,n){let e=n.createElement("style");return e.textContent=r,e}function fn(r,n,e,t){let o=r.head?.querySelectorAll(`style[${ke}="${n}"],link[${ke}="${n}"]`);if(o)for(let s of o)s.removeAttribute(ke),s instanceof HTMLLinkElement?t.set(s.href.slice(s.href.lastIndexOf("/")+1),{usage:0,elements:[s]}):s.textContent&&e.set(s.textContent,{usage:0,elements:[s]})}function Fe(r,n){let e=n.createElement("link");return e.setAttribute("rel","stylesheet"),e.setAttribute("href",r),e}var Be=(()=>{class r{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(e,t,o,s={}){this.doc=e,this.appId=t,this.nonce=o,fn(e,t,this.inline,this.external),this.hosts.add(e.head)}addStyles(e,t){for(let o of e)this.addUsage(o,this.inline,Ut);t?.forEach(o=>this.addUsage(o,this.external,Fe))}removeStyles(e,t){for(let o of e)this.removeUsage(o,this.inline);t?.forEach(o=>this.removeUsage(o,this.external))}addUsage(e,t,o){let s=t.get(e);s?s.usage++:t.set(e,{usage:1,elements:[...this.hosts].map(i=>this.addElement(i,o(e,this.doc)))})}removeUsage(e,t){let o=t.get(e);o&&(o.usage--,o.usage<=0&&(Ft(o.elements),t.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])Ft(e);this.hosts.clear()}addHost(e){this.hosts.add(e);for(let[t,{elements:o}]of this.inline)o.push(this.addElement(e,Ut(t,this.doc)));for(let[t,{elements:o}]of this.external)o.push(this.addElement(e,Fe(t,this.doc)))}removeHost(e){this.hosts.delete(e)}addElement(e,t){return this.nonce&&t.setAttribute("nonce",this.nonce),e.appendChild(t)}static \u0275fac=function(t){return new(t||r)(u(_),u(Ne),u(Oe,8),u(he))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),xe={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},ze=/%COMP%/g;var Bt="%COMP%",pn=`_nghost-${Bt}`,mn=`_ngcontent-${Bt}`,gn=!0,yn=new T("",{providedIn:"root",factory:()=>gn});function vn(r){return mn.replace(ze,r)}function En(r){return pn.replace(ze,r)}function zt(r,n){return n.map(e=>e.replace(ze,r))}var He=(()=>{class r{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(e,t,o,s,i,a,c=null,l=null){this.eventManager=e,this.sharedStylesHost=t,this.appId=o,this.removeStylesOnCompDestroy=s,this.doc=i,this.ngZone=a,this.nonce=c,this.tracingService=l,this.platformIsServer=!1,this.defaultRenderer=new re(e,i,a,this.platformIsServer,this.tracingService)}createRenderer(e,t){if(!e||!t)return this.defaultRenderer;let o=this.getOrCreateRenderer(e,t);return o instanceof ge?o.applyToHost(e):o instanceof oe&&o.applyStyles(),o}getOrCreateRenderer(e,t){let o=this.rendererByCompId,s=o.get(t.id);if(!s){let i=this.doc,a=this.ngZone,c=this.eventManager,l=this.sharedStylesHost,d=this.removeStylesOnCompDestroy,p=this.platformIsServer,y=this.tracingService;switch(t.encapsulation){case Pe.Emulated:s=new ge(c,l,t,this.appId,d,i,a,p,y);break;case Pe.ShadowDom:return new Ue(c,l,e,t,i,a,this.nonce,p,y);default:s=new oe(c,l,t,d,i,a,p,y);break}o.set(t.id,s)}return s}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static \u0275fac=function(t){return new(t||r)(u(je),u(Be),u(Ne),u(yn),u(_),u(z),u(Oe),u(Tt,8))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),re=class{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(n,e,t,o,s){this.eventManager=n,this.doc=e,this.ngZone=t,this.platformIsServer=o,this.tracingService=s}destroy(){}destroyNode=null;createElement(n,e){return e?this.doc.createElementNS(xe[e]||e,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,e){(jt(n)?n.content:n).appendChild(e)}insertBefore(n,e,t){n&&(jt(n)?n.content:n).insertBefore(e,t)}removeChild(n,e){e.remove()}selectRootElement(n,e){let t=typeof n=="string"?this.doc.querySelector(n):n;if(!t)throw new w(-5104,!1);return e||(t.textContent=""),t}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,t,o){if(o){e=o+":"+e;let s=xe[o];s?n.setAttributeNS(s,e,t):n.setAttribute(e,t)}else n.setAttribute(e,t)}removeAttribute(n,e,t){if(t){let o=xe[t];o?n.removeAttributeNS(o,e):n.removeAttribute(`${t}:${e}`)}else n.removeAttribute(e)}addClass(n,e){n.classList.add(e)}removeClass(n,e){n.classList.remove(e)}setStyle(n,e,t,o){o&(Q.DashCase|Q.Important)?n.style.setProperty(e,t,o&Q.Important?"important":""):n.style[e]=t}removeStyle(n,e,t){t&Q.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,t){n!=null&&(n[e]=t)}setValue(n,e){n.nodeValue=e}listen(n,e,t,o){if(typeof n=="string"&&(n=te().getGlobalEventTarget(this.doc,n),!n))throw new w(5102,!1);let s=this.decoratePreventDefault(t);return this.tracingService?.wrapEventListener&&(s=this.tracingService.wrapEventListener(n,e,s)),this.eventManager.addEventListener(n,e,s,o)}decoratePreventDefault(n){return e=>{if(e==="__ngUnwrap__")return n;n(e)===!1&&e.preventDefault()}}};function jt(r){return r.tagName==="TEMPLATE"&&r.content!==void 0}var Ue=class extends re{sharedStylesHost;hostEl;shadowRoot;constructor(n,e,t,o,s,i,a,c,l){super(n,s,i,c,l),this.sharedStylesHost=e,this.hostEl=t,this.shadowRoot=t.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let d=o.styles;d=zt(o.id,d);for(let y of d){let b=document.createElement("style");a&&b.setAttribute("nonce",a),b.textContent=y,this.shadowRoot.appendChild(b)}let p=o.getExternalStyles?.();if(p)for(let y of p){let b=Fe(y,s);a&&b.setAttribute("nonce",a),this.shadowRoot.appendChild(b)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,e){return super.appendChild(this.nodeOrShadowRoot(n),e)}insertBefore(n,e,t){return super.insertBefore(this.nodeOrShadowRoot(n),e,t)}removeChild(n,e){return super.removeChild(null,e)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},oe=class extends re{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(n,e,t,o,s,i,a,c,l){super(n,s,i,a,c),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=o;let d=t.styles;this.styles=l?zt(l,d):d,this.styleUrls=t.getExternalStyles?.(l)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&wt.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},ge=class extends oe{contentAttr;hostAttr;constructor(n,e,t,o,s,i,a,c,l){let d=o+"-"+t.id;super(n,e,t,s,i,a,c,l,d),this.contentAttr=vn(d),this.hostAttr=En(d)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,e){let t=super.createElement(n,e);return super.setAttribute(t,this.contentAttr,""),t}};var ve=class r extends kt{supportsDOMEvents=!0;static makeCurrent(){Lt(new r)}onAndCancel(n,e,t,o){return n.addEventListener(e,t,o),()=>{n.removeEventListener(e,t,o)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.remove()}createElement(n,e){return e=e||this.getDefaultDocument(),e.createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,e){return e==="window"?window:e==="document"?n:e==="body"?n.body:null}getBaseHref(n){let e=wn();return e==null?null:Tn(e)}resetBaseElement(){se=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return fe(document.cookie,n)}},se=null;function wn(){return se=se||document.head.querySelector("base"),se?se.getAttribute("href"):null}function Tn(r){return new URL(r,document.baseURI).pathname}var Rn=(()=>{class r{build(){return new XMLHttpRequest}static \u0275fac=function(t){return new(t||r)};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),Ht=["alt","control","meta","shift"],bn={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},In={alt:r=>r.altKey,control:r=>r.ctrlKey,meta:r=>r.metaKey,shift:r=>r.shiftKey},$t=(()=>{class r extends ne{constructor(e){super(e)}supports(e){return r.parseEventName(e)!=null}addEventListener(e,t,o,s){let i=r.parseEventName(t),a=r.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>te().onAndCancel(e,i.domEventName,a,s))}static parseEventName(e){let t=e.toLowerCase().split("."),o=t.shift();if(t.length===0||!(o==="keydown"||o==="keyup"))return null;let s=r._normalizeKey(t.pop()),i="",a=t.indexOf("code");if(a>-1&&(t.splice(a,1),i="code."),Ht.forEach(l=>{let d=t.indexOf(l);d>-1&&(t.splice(d,1),i+=l+".")}),i+=s,t.length!=0||s.length===0)return null;let c={};return c.domEventName=o,c.fullKey=i,c}static matchEventFullKeyCode(e,t){let o=bn[e.key]||e.key,s="";return t.indexOf("code.")>-1&&(o=e.code,s="code."),o==null||!o?!1:(o=o.toLowerCase(),o===" "?o="space":o==="."&&(o="dot"),Ht.forEach(i=>{if(i!==o){let a=In[i];a(e)&&(s+=i+".")}}),s+=o,s===t)}static eventCallback(e,t,o){return s=>{r.matchEventFullKeyCode(s,e)&&o.runGuarded(()=>t(s))}}static _normalizeKey(e){return e==="esc"?"escape":e}static \u0275fac=function(t){return new(t||r)(u(_))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})();function Mn(r,n,e){let t=D({rootComponent:r,platformRef:e?.platformRef},Sn(n));return Ot(t)}function Sn(r){return{appProviders:[...On,...r?.providers??[]],platformProviders:Nn}}function An(){ve.makeCurrent()}function Cn(){return new U}function Dn(){return ht(document),document}var Nn=[{provide:he,useValue:xt},{provide:ft,useValue:An,multi:!0},{provide:_,useFactory:Dn}];var On=[{provide:it,useValue:"root"},{provide:U,useFactory:Cn},{provide:ye,useClass:me,multi:!0,deps:[_]},{provide:ye,useClass:$t,multi:!0,deps:[_]},He,Be,je,{provide:Rt,useExisting:He},{provide:pe,useClass:Rn},[]];var J=class{},W=class{},O=class r{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(n){n?typeof n=="string"?this.lazyInit=()=>{this.headers=new Map,n.split(`
|
|
2
|
+
`).forEach(e=>{let t=e.indexOf(":");if(t>0){let o=e.slice(0,t),s=e.slice(t+1).trim();this.addHeaderEntry(o,s)}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((e,t)=>{this.addHeaderEntry(t,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([e,t])=>{this.setHeaderEntries(e,t)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();let e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof r?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){let e=new r;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof r?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){let e=n.name.toLowerCase();switch(n.op){case"a":case"s":let t=n.value;if(typeof t=="string"&&(t=[t]),t.length===0)return;this.maybeSetNormalizedName(n.name,e);let o=(n.op==="a"?this.headers.get(e):void 0)||[];o.push(...t),this.headers.set(e,o);break;case"d":let s=n.value;if(!s)this.headers.delete(e),this.normalizedNames.delete(e);else{let i=this.headers.get(e);if(!i)return;i=i.filter(a=>s.indexOf(a)===-1),i.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,i)}break}}addHeaderEntry(n,e){let t=n.toLowerCase();this.maybeSetNormalizedName(n,t),this.headers.has(t)?this.headers.get(t).push(e):this.headers.set(t,[e])}setHeaderEntries(n,e){let t=(Array.isArray(e)?e:[e]).map(s=>s.toString()),o=n.toLowerCase();this.headers.set(o,t),this.maybeSetNormalizedName(n,o)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}};var we=class{encodeKey(n){return Vt(n)}encodeValue(n){return Vt(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}};function Ln(r,n){let e=new Map;return r.length>0&&r.replace(/^\?/,"").split("&").forEach(o=>{let s=o.indexOf("="),[i,a]=s==-1?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,s)),n.decodeValue(o.slice(s+1))],c=e.get(i)||[];c.push(a),e.set(i,c)}),e}var kn=/%(\d[a-f0-9])/gi,xn={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Vt(r){return encodeURIComponent(r).replace(kn,(n,e)=>xn[e]??n)}function Ee(r){return`${r}`}var k=class r{map;encoder;updates=null;cloneFrom=null;constructor(n={}){if(this.encoder=n.encoder||new we,n.fromString){if(n.fromObject)throw new w(2805,!1);this.map=Ln(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{let t=n.fromObject[e],o=Array.isArray(t)?t.map(Ee):[Ee(t)];this.map.set(e,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();let e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){let e=[];return Object.keys(n).forEach(t=>{let o=n[t];Array.isArray(o)?o.forEach(s=>{e.push({param:t,value:s,op:"a"})}):e.push({param:t,value:o,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{let e=this.encoder.encodeKey(n);return this.map.get(n).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(n=>n!=="").join("&")}clone(n){let e=new r({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":let e=(n.op==="a"?this.map.get(n.param):void 0)||[];e.push(Ee(n.value)),this.map.set(n.param,e);break;case"d":if(n.value!==void 0){let t=this.map.get(n.param)||[],o=t.indexOf(Ee(n.value));o!==-1&&t.splice(o,1),t.length>0?this.map.set(n.param,t):this.map.delete(n.param)}else{this.map.delete(n.param);break}}}),this.cloneFrom=this.updates=null)}};var Te=class{map=new Map;set(n,e){return this.map.set(n,e),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}};function Fn(r){switch(r){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function Gt(r){return typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer}function Xt(r){return typeof Blob<"u"&&r instanceof Blob}function Jt(r){return typeof FormData<"u"&&r instanceof FormData}function Un(r){return typeof URLSearchParams<"u"&&r instanceof URLSearchParams}var ie="Content-Type",Re="Accept",Je="X-Request-URL",Yt="text/plain",Kt="application/json",Zt=`${Kt}, ${Yt}, */*`,X=class r{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;credentials;keepalive=!1;cache;priority;mode;redirect;referrer;integrity;responseType="json";method;params;urlWithParams;transferCache;timeout;constructor(n,e,t,o){this.url=e,this.method=n.toUpperCase();let s;if(Fn(this.method)||o?(this.body=t!==void 0?t:null,s=o):s=t,s){if(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,this.keepalive=!!s.keepalive,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params),s.priority&&(this.priority=s.priority),s.cache&&(this.cache=s.cache),s.credentials&&(this.credentials=s.credentials),typeof s.timeout=="number"){if(s.timeout<1||!Number.isInteger(s.timeout))throw new w(2822,"");this.timeout=s.timeout}s.mode&&(this.mode=s.mode),s.redirect&&(this.redirect=s.redirect),s.integrity&&(this.integrity=s.integrity),s.referrer&&(this.referrer=s.referrer),this.transferCache=s.transferCache}if(this.headers??=new O,this.context??=new Te,!this.params)this.params=new k,this.urlWithParams=e;else{let i=this.params.toString();if(i.length===0)this.urlWithParams=e;else{let a=e.indexOf("?"),c=a===-1?"?":a<e.length-1?"&":"";this.urlWithParams=e+c+i}}}serializeBody(){return this.body===null?null:typeof this.body=="string"||Gt(this.body)||Xt(this.body)||Jt(this.body)||Un(this.body)?this.body:this.body instanceof k?this.body.toString():typeof this.body=="object"||typeof this.body=="boolean"||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return this.body===null||Jt(this.body)?null:Xt(this.body)?this.body.type||null:Gt(this.body)?null:typeof this.body=="string"?Yt:this.body instanceof k?"application/x-www-form-urlencoded;charset=UTF-8":typeof this.body=="object"||typeof this.body=="number"||typeof this.body=="boolean"?Kt:null}clone(n={}){let e=n.method||this.method,t=n.url||this.url,o=n.responseType||this.responseType,s=n.keepalive??this.keepalive,i=n.priority||this.priority,a=n.cache||this.cache,c=n.mode||this.mode,l=n.redirect||this.redirect,d=n.credentials||this.credentials,p=n.referrer||this.referrer,y=n.integrity||this.integrity,b=n.transferCache??this.transferCache,R=n.timeout??this.timeout,j=n.body!==void 0?n.body:this.body,h=n.withCredentials??this.withCredentials,f=n.reportProgress??this.reportProgress,I=n.headers||this.headers,A=n.params||this.params,v=n.context??this.context;return n.setHeaders!==void 0&&(I=Object.keys(n.setHeaders).reduce((C,P)=>C.set(P,n.setHeaders[P]),I)),n.setParams&&(A=Object.keys(n.setParams).reduce((C,P)=>C.set(P,n.setParams[P]),A)),new r(e,t,j,{params:A,headers:I,context:v,reportProgress:f,responseType:o,withCredentials:h,transferCache:b,keepalive:s,cache:a,priority:i,timeout:R,mode:c,redirect:l,credentials:d,referrer:p,integrity:y})}},x=(function(r){return r[r.Sent=0]="Sent",r[r.UploadProgress=1]="UploadProgress",r[r.ResponseHeader=2]="ResponseHeader",r[r.DownloadProgress=3]="DownloadProgress",r[r.Response=4]="Response",r[r.User=5]="User",r})(x||{}),Y=class{headers;status;statusText;url;ok;type;redirected;constructor(n,e=200,t="OK"){this.headers=n.headers||new O,this.status=n.status!==void 0?n.status:e,this.statusText=n.statusText||t,this.url=n.url||null,this.redirected=n.redirected,this.ok=this.status>=200&&this.status<300}},ae=class r extends Y{constructor(n={}){super(n)}type=x.ResponseHeader;clone(n={}){return new r({headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}},K=class r extends Y{body;constructor(n={}){super(n),this.body=n.body!==void 0?n.body:null}type=x.Response;clone(n={}){return new r({body:n.body!==void 0?n.body:this.body,headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0,redirected:n.redirected??this.redirected})}},N=class extends Y{name="HttpErrorResponse";message;error;ok=!1;constructor(n){super(n,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${n.url||"(unknown url)"}`:this.message=`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}},qt=200,jn=204;function $e(r,n){return{body:n,headers:r.headers,context:r.context,observe:r.observe,params:r.params,reportProgress:r.reportProgress,responseType:r.responseType,withCredentials:r.withCredentials,credentials:r.credentials,transferCache:r.transferCache,timeout:r.timeout,keepalive:r.keepalive,priority:r.priority,cache:r.cache,mode:r.mode,redirect:r.redirect,integrity:r.integrity,referrer:r.referrer}}var Z=(()=>{class r{handler;constructor(e){this.handler=e}request(e,t,o={}){let s;if(e instanceof X)s=e;else{let c;o.headers instanceof O?c=o.headers:c=new O(o.headers);let l;o.params&&(o.params instanceof k?l=o.params:l=new k({fromObject:o.params})),s=new X(e,t,o.body!==void 0?o.body:null,{headers:c,context:o.context,params:l,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache,keepalive:o.keepalive,priority:o.priority,cache:o.cache,mode:o.mode,redirect:o.redirect,credentials:o.credentials,referrer:o.referrer,integrity:o.integrity,timeout:o.timeout})}let i=L(s).pipe(nt(c=>this.handler.handle(c)));if(e instanceof X||o.observe==="events")return i;let a=i.pipe(et(c=>c instanceof K));switch(o.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(S(c=>{if(c.body!==null&&!(c.body instanceof ArrayBuffer))throw new w(2806,!1);return c.body}));case"blob":return a.pipe(S(c=>{if(c.body!==null&&!(c.body instanceof Blob))throw new w(2807,!1);return c.body}));case"text":return a.pipe(S(c=>{if(c.body!==null&&typeof c.body!="string")throw new w(2808,!1);return c.body}));default:return a.pipe(S(c=>c.body))}case"response":return a;default:throw new w(2809,!1)}}delete(e,t={}){return this.request("DELETE",e,t)}get(e,t={}){return this.request("GET",e,t)}head(e,t={}){return this.request("HEAD",e,t)}jsonp(e,t){return this.request("JSONP",e,{params:new k().append(t,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,t={}){return this.request("OPTIONS",e,t)}patch(e,t,o={}){return this.request("PATCH",e,$e(o,t))}post(e,t,o={}){return this.request("POST",e,$e(o,t))}put(e,t,o={}){return this.request("PUT",e,$e(o,t))}static \u0275fac=function(t){return new(t||r)(u(J))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),Bn=/^\)\]\}',?\n/;function Wt(r){if(r.url)return r.url;let n=Je.toLocaleLowerCase();return r.headers.get(n)}var Qt=new T(""),_e=(()=>{class r{fetchImpl=g(Ve,{optional:!0})?.fetch??((...e)=>globalThis.fetch(...e));ngZone=g(z);destroyRef=g(lt);handle(e){return new Ce(t=>{let o=new AbortController;this.doRequest(e,o.signal,t).then(Ge,i=>t.error(new N({error:i})));let s;return e.timeout&&(s=this.ngZone.runOutsideAngular(()=>setTimeout(()=>{o.signal.aborted||o.abort(new DOMException("signal timed out","TimeoutError"))},e.timeout))),()=>{s!==void 0&&clearTimeout(s),o.abort()}})}async doRequest(e,t,o){let s=this.createRequestInit(e),i;try{let R=this.ngZone.runOutsideAngular(()=>this.fetchImpl(e.urlWithParams,D({signal:t},s)));zn(R),o.next({type:x.Sent}),i=await R}catch(R){o.error(new N({error:R,status:R.status??0,statusText:R.statusText,url:e.urlWithParams,headers:R.headers}));return}let a=new O(i.headers),c=i.statusText,l=Wt(i)??e.urlWithParams,d=i.status,p=null;if(e.reportProgress&&o.next(new ae({headers:a,status:d,statusText:c,url:l})),i.body){let R=i.headers.get("content-length"),j=[],h=i.body.getReader(),f=0,I,A,v=typeof Zone<"u"&&Zone.current,C=!1;if(await this.ngZone.runOutsideAngular(async()=>{for(;;){if(this.destroyRef.destroyed){await h.cancel(),C=!0;break}let{done:B,value:Se}=await h.read();if(B)break;if(j.push(Se),f+=Se.length,e.reportProgress){A=e.responseType==="text"?(A??"")+(I??=new TextDecoder).decode(Se,{stream:!0}):void 0;let Ke=()=>o.next({type:x.DownloadProgress,total:R?+R:void 0,loaded:f,partialText:A});v?v.run(Ke):Ke()}}}),C){o.complete();return}let P=this.concatChunks(j,f);try{let B=i.headers.get(ie)??"";p=this.parseBody(e,P,B,d)}catch(B){o.error(new N({error:B,headers:new O(i.headers),status:i.status,statusText:i.statusText,url:Wt(i)??e.urlWithParams}));return}}d===0&&(d=p?qt:0);let y=d>=200&&d<300,b=i.redirected;y?(o.next(new K({body:p,headers:a,status:d,statusText:c,url:l,redirected:b})),o.complete()):o.error(new N({error:p,headers:a,status:d,statusText:c,url:l,redirected:b}))}parseBody(e,t,o,s){switch(e.responseType){case"json":let i=new TextDecoder().decode(t).replace(Bn,"");if(i==="")return null;try{return JSON.parse(i)}catch(a){if(s<200||s>=300)return i;throw a}case"text":return new TextDecoder().decode(t);case"blob":return new Blob([t],{type:o});case"arraybuffer":return t.buffer}}createRequestInit(e){let t={},o;if(o=e.credentials,e.withCredentials&&(o="include"),e.headers.forEach((s,i)=>t[s]=i.join(",")),e.headers.has(Re)||(t[Re]=Zt),!e.headers.has(ie)){let s=e.detectContentTypeHeader();s!==null&&(t[ie]=s)}return{body:e.serializeBody(),method:e.method,headers:t,credentials:o,keepalive:e.keepalive,cache:e.cache,priority:e.priority,mode:e.mode,redirect:e.redirect,referrer:e.referrer,integrity:e.integrity}}concatChunks(e,t){let o=new Uint8Array(t),s=0;for(let i of e)o.set(i,s),s+=i.length;return o}static \u0275fac=function(t){return new(t||r)};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),Ve=class{};function Ge(){}function zn(r){r.then(Ge,Ge)}function Hn(r,n){return n(r)}function $n(r,n,e){return(t,o)=>ct(e,()=>n(t,s=>r(s,o)))}var en=new T(""),tn=new T(""),nn=new T("",{providedIn:"root",factory:()=>!0});var be=(()=>{class r extends J{backend;injector;chain=null;pendingTasks=g(dt);contributeToStability=g(nn);constructor(e,t){super(),this.backend=e,this.injector=t}handle(e){if(this.chain===null){let t=Array.from(new Set([...this.injector.get(en),...this.injector.get(tn,[])]));this.chain=t.reduceRight((o,s)=>$n(o,s,this.injector),Hn)}if(this.contributeToStability){let t=this.pendingTasks.add();return this.chain(e,o=>this.backend.handle(o)).pipe(de(t))}else return this.chain(e,t=>this.backend.handle(t))}static \u0275fac=function(t){return new(t||r)(u(W),u(at))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})();var Vn=/^\)\]\}',?\n/,Gn=RegExp(`^${Je}:`,"m");function Xn(r){return"responseURL"in r&&r.responseURL?r.responseURL:Gn.test(r.getAllResponseHeaders())?r.getResponseHeader(Je):null}var Xe=(()=>{class r{xhrFactory;constructor(e){this.xhrFactory=e}handle(e){if(e.method==="JSONP")throw new w(-2800,!1);let t=this.xhrFactory;return L(null).pipe(st(()=>new Ce(s=>{let i=t.build();if(i.open(e.method,e.urlWithParams),e.withCredentials&&(i.withCredentials=!0),e.headers.forEach((h,f)=>i.setRequestHeader(h,f.join(","))),e.headers.has(Re)||i.setRequestHeader(Re,Zt),!e.headers.has(ie)){let h=e.detectContentTypeHeader();h!==null&&i.setRequestHeader(ie,h)}if(e.timeout&&(i.timeout=e.timeout),e.responseType){let h=e.responseType.toLowerCase();i.responseType=h!=="json"?h:"text"}let a=e.serializeBody(),c=null,l=()=>{if(c!==null)return c;let h=i.statusText||"OK",f=new O(i.getAllResponseHeaders()),I=Xn(i)||e.url;return c=new ae({headers:f,status:i.status,statusText:h,url:I}),c},d=()=>{let{headers:h,status:f,statusText:I,url:A}=l(),v=null;f!==jn&&(v=typeof i.response>"u"?i.responseText:i.response),f===0&&(f=v?qt:0);let C=f>=200&&f<300;if(e.responseType==="json"&&typeof v=="string"){let P=v;v=v.replace(Vn,"");try{v=v!==""?JSON.parse(v):null}catch(B){v=P,C&&(C=!1,v={error:B,text:v})}}C?(s.next(new K({body:v,headers:h,status:f,statusText:I,url:A||void 0})),s.complete()):s.error(new N({error:v,headers:h,status:f,statusText:I,url:A||void 0}))},p=h=>{let{url:f}=l(),I=new N({error:h,status:i.status||0,statusText:i.statusText||"Unknown Error",url:f||void 0});s.error(I)},y=p;e.timeout&&(y=h=>{let{url:f}=l(),I=new N({error:new DOMException("Request timed out","TimeoutError"),status:i.status||0,statusText:i.statusText||"Request timeout",url:f||void 0});s.error(I)});let b=!1,R=h=>{b||(s.next(l()),b=!0);let f={type:x.DownloadProgress,loaded:h.loaded};h.lengthComputable&&(f.total=h.total),e.responseType==="text"&&i.responseText&&(f.partialText=i.responseText),s.next(f)},j=h=>{let f={type:x.UploadProgress,loaded:h.loaded};h.lengthComputable&&(f.total=h.total),s.next(f)};return i.addEventListener("load",d),i.addEventListener("error",p),i.addEventListener("timeout",y),i.addEventListener("abort",p),e.reportProgress&&(i.addEventListener("progress",R),a!==null&&i.upload&&i.upload.addEventListener("progress",j)),i.send(a),s.next({type:x.Sent}),()=>{i.removeEventListener("error",p),i.removeEventListener("abort",p),i.removeEventListener("load",d),i.removeEventListener("timeout",y),e.reportProgress&&(i.removeEventListener("progress",R),a!==null&&i.upload&&i.upload.removeEventListener("progress",j)),i.readyState!==i.DONE&&i.abort()}})))}static \u0275fac=function(t){return new(t||r)(u(pe))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),rn=new T(""),Jn="XSRF-TOKEN",Wn=new T("",{providedIn:"root",factory:()=>Jn}),Yn="X-XSRF-TOKEN",Kn=new T("",{providedIn:"root",factory:()=>Yn}),ce=class{},Zn=(()=>{class r{doc;cookieName;lastCookieString="";lastToken=null;parseCount=0;constructor(e,t){this.doc=e,this.cookieName=t}getToken(){let e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=fe(e,this.cookieName),this.lastCookieString=e),this.lastToken}static \u0275fac=function(t){return new(t||r)(u(_),u(Wn))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),qn=/^(?:https?:)?\/\//i;function Qn(r,n){if(!g(rn)||r.method==="GET"||r.method==="HEAD"||qn.test(r.url))return n(r);let e=g(ce).getToken(),t=g(Kn);return e!=null&&!r.headers.has(t)&&(r=r.clone({headers:r.headers.set(t,e)})),n(r)}var We=(function(r){return r[r.Interceptors=0]="Interceptors",r[r.LegacyInterceptors=1]="LegacyInterceptors",r[r.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",r[r.NoXsrfProtection=3]="NoXsrfProtection",r[r.JsonpSupport=4]="JsonpSupport",r[r.RequestsMadeViaParent=5]="RequestsMadeViaParent",r[r.Fetch=6]="Fetch",r})(We||{});function er(r,n){return{\u0275kind:r,\u0275providers:n}}function tr(...r){let n=[Z,Xe,be,{provide:J,useExisting:be},{provide:W,useFactory:()=>g(Qt,{optional:!0})??g(Xe)},{provide:en,useValue:Qn,multi:!0},{provide:rn,useValue:!0},{provide:ce,useClass:Zn}];for(let e of r)n.push(...e.\u0275providers);return De(n)}function nr(){return er(We.Fetch,[_e,{provide:Qt,useExisting:_e},{provide:W,useExisting:_e}])}var zo=(()=>{class r{_doc;constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static \u0275fac=function(t){return new(t||r)(u(_))};static \u0275prov=m({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var Ye=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275prov=m({token:r,factory:function(t){let o=null;return t?o=new(t||r):o=u(ir),o},providedIn:"root"})}return r})(),ir=(()=>{class r extends Ye{_doc;constructor(e){super(),this._doc=e}sanitize(e,t){if(t==null)return null;switch(e){case M.NONE:return t;case M.HTML:return V(t,"HTML")?$(t):_t(this._doc,String(t)).toString();case M.STYLE:return V(t,"Style")?$(t):t;case M.SCRIPT:if(V(t,"Script"))return $(t);throw new w(5200,!1);case M.URL:return V(t,"URL")?$(t):Et(String(t));case M.RESOURCE_URL:if(V(t,"ResourceURL"))return $(t);throw new w(5201,!1);default:throw new w(5202,!1)}}bypassSecurityTrustHtml(e){return pt(e)}bypassSecurityTrustStyle(e){return mt(e)}bypassSecurityTrustScript(e){return gt(e)}bypassSecurityTrustUrl(e){return yt(e)}bypassSecurityTrustResourceUrl(e){return vt(e)}static \u0275fac=function(t){return new(t||r)(u(_))};static \u0275prov=m({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var Ie;function cr(){if(Ie===void 0&&(Ie=null,typeof window<"u")){let r=window;r.trustedTypes!==void 0&&(Ie=r.trustedTypes.createPolicy("angular#components",{createHTML:n=>n}))}return Ie}function le(r){return cr()?.createHTML(r)||r}function on(r){return Error(`Unable to find icon with the name "${r}"`)}function lr(){return Error("Could not find HttpClient for use with Angular Material icons. Please add provideHttpClient() to your providers.")}function sn(r){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${r}".`)}function an(r){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${r}".`)}var F=class{url;svgText;options;svgElement;constructor(n,e,t){this.url=n,this.svgText=e,this.options=t}},ln=(()=>{class r{_httpClient;_sanitizer;_errorHandler;_document;_svgIconConfigs=new Map;_iconSetConfigs=new Map;_cachedIconsByUrl=new Map;_inProgressUrlFetches=new Map;_fontCssClassesByAlias=new Map;_resolvers=[];_defaultFontSetClass=["material-icons","mat-ligature-font"];constructor(e,t,o,s){this._httpClient=e,this._sanitizer=t,this._errorHandler=s,this._document=o}addSvgIcon(e,t,o){return this.addSvgIconInNamespace("",e,t,o)}addSvgIconLiteral(e,t,o){return this.addSvgIconLiteralInNamespace("",e,t,o)}addSvgIconInNamespace(e,t,o,s){return this._addSvgIconConfig(e,t,new F(o,null,s))}addSvgIconResolver(e){return this._resolvers.push(e),this}addSvgIconLiteralInNamespace(e,t,o,s){let i=this._sanitizer.sanitize(M.HTML,o);if(!i)throw an(o);let a=le(i);return this._addSvgIconConfig(e,t,new F("",a,s))}addSvgIconSet(e,t){return this.addSvgIconSetInNamespace("",e,t)}addSvgIconSetLiteral(e,t){return this.addSvgIconSetLiteralInNamespace("",e,t)}addSvgIconSetInNamespace(e,t,o){return this._addSvgIconSetConfig(e,new F(t,null,o))}addSvgIconSetLiteralInNamespace(e,t,o){let s=this._sanitizer.sanitize(M.HTML,t);if(!s)throw an(t);let i=le(s);return this._addSvgIconSetConfig(e,new F("",i,o))}registerFontClassAlias(e,t=e){return this._fontCssClassesByAlias.set(e,t),this}classNameForFontAlias(e){return this._fontCssClassesByAlias.get(e)||e}setDefaultFontSetClass(...e){return this._defaultFontSetClass=e,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(e){let t=this._sanitizer.sanitize(M.RESOURCE_URL,e);if(!t)throw sn(e);let o=this._cachedIconsByUrl.get(t);return o?L(Me(o)):this._loadSvgIconFromConfig(new F(e,null)).pipe(ue(s=>this._cachedIconsByUrl.set(t,s)),S(s=>Me(s)))}getNamedSvgIcon(e,t=""){let o=cn(t,e),s=this._svgIconConfigs.get(o);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(t,e),s)return this._svgIconConfigs.set(o,s),this._getSvgFromConfig(s);let i=this._iconSetConfigs.get(t);return i?this._getSvgFromIconSetConfigs(e,i):qe(on(o))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(e){return e.svgText?L(Me(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(S(t=>Me(t)))}_getSvgFromIconSetConfigs(e,t){let o=this._extractIconWithNameFromAnySet(e,t);if(o)return L(o);let s=t.filter(i=>!i.svgText).map(i=>this._loadSvgIconSetFromConfig(i).pipe(tt(a=>{let l=`Loading icon set URL: ${this._sanitizer.sanitize(M.RESOURCE_URL,i.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(l)),L(null)})));return Qe(s).pipe(S(()=>{let i=this._extractIconWithNameFromAnySet(e,t);if(!i)throw on(e);return i}))}_extractIconWithNameFromAnySet(e,t){for(let o=t.length-1;o>=0;o--){let s=t[o];if(s.svgText&&s.svgText.toString().indexOf(e)>-1){let i=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(i,e,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(e){return this._fetchIcon(e).pipe(ue(t=>e.svgText=t),S(()=>this._svgElementFromConfig(e)))}_loadSvgIconSetFromConfig(e){return e.svgText?L(null):this._fetchIcon(e).pipe(ue(t=>e.svgText=t))}_extractSvgIconFromSet(e,t,o){let s=e.querySelector(`[id="${t}"]`);if(!s)return null;let i=s.cloneNode(!0);if(i.removeAttribute("id"),i.nodeName.toLowerCase()==="svg")return this._setSvgAttributes(i,o);if(i.nodeName.toLowerCase()==="symbol")return this._setSvgAttributes(this._toSvgElement(i),o);let a=this._svgElementFromString(le("<svg></svg>"));return a.appendChild(i),this._setSvgAttributes(a,o)}_svgElementFromString(e){let t=this._document.createElement("DIV");t.innerHTML=e;let o=t.querySelector("svg");if(!o)throw Error("<svg> tag not found");return o}_toSvgElement(e){let t=this._svgElementFromString(le("<svg></svg>")),o=e.attributes;for(let s=0;s<o.length;s++){let{name:i,value:a}=o[s];i!=="id"&&t.setAttribute(i,a)}for(let s=0;s<e.childNodes.length;s++)e.childNodes[s].nodeType===this._document.ELEMENT_NODE&&t.appendChild(e.childNodes[s].cloneNode(!0));return t}_setSvgAttributes(e,t){return e.setAttribute("fit",""),e.setAttribute("height","100%"),e.setAttribute("width","100%"),e.setAttribute("preserveAspectRatio","xMidYMid meet"),e.setAttribute("focusable","false"),t&&t.viewBox&&e.setAttribute("viewBox",t.viewBox),e}_fetchIcon(e){let{url:t,options:o}=e,s=o?.withCredentials??!1;if(!this._httpClient)throw lr();if(t==null)throw Error(`Cannot fetch icon from URL "${t}".`);let i=this._sanitizer.sanitize(M.RESOURCE_URL,t);if(!i)throw sn(t);let a=this._inProgressUrlFetches.get(i);if(a)return a;let c=this._httpClient.get(i,{responseType:"text",withCredentials:s}).pipe(S(l=>le(l)),de(()=>this._inProgressUrlFetches.delete(i)),ot());return this._inProgressUrlFetches.set(i,c),c}_addSvgIconConfig(e,t,o){return this._svgIconConfigs.set(cn(e,t),o),this}_addSvgIconSetConfig(e,t){let o=this._iconSetConfigs.get(e);return o?o.push(t):this._iconSetConfigs.set(e,[t]),this}_svgElementFromConfig(e){if(!e.svgElement){let t=this._svgElementFromString(e.svgText);this._setSvgAttributes(t,e.options),e.svgElement=t}return e.svgElement}_getIconConfigFromResolvers(e,t){for(let o=0;o<this._resolvers.length;o++){let s=this._resolvers[o](t,e);if(s)return dr(s)?new F(s.url,null,s.options):new F(s,null)}}static \u0275fac=function(t){return new(t||r)(u(Z,8),u(Ye),u(_,8),u(U))};static \u0275prov=m({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();function Me(r){return r.cloneNode(!0)}function cn(r,n){return r+":"+n}function dr(r){return!!(r.url&&r.options)}var ur=["*"],hr=new T("MAT_ICON_DEFAULT_OPTIONS"),fr=new T("mat-icon-location",{providedIn:"root",factory:pr});function pr(){let r=g(_),n=r?r.location:null;return{getPathname:()=>n?n.pathname+n.search:""}}var dn=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],mr=dn.map(r=>`[${r}]`).join(", "),gr=/^url\(['"]?#(.*?)['"]?\)$/,is=(()=>{class r{_elementRef=g(ut);_iconRegistry=g(ln);_location=g(fr);_errorHandler=g(U);_defaultColor;get color(){return this._color||this._defaultColor}set color(e){this._color=e}_color;inline=!1;get svgIcon(){return this._svgIcon}set svgIcon(e){e!==this._svgIcon&&(e?this._updateSvgIcon(e):this._svgIcon&&this._clearSvgElement(),this._svgIcon=e)}_svgIcon;get fontSet(){return this._fontSet}set fontSet(e){let t=this._cleanupFontValue(e);t!==this._fontSet&&(this._fontSet=t,this._updateFontIconClasses())}_fontSet;get fontIcon(){return this._fontIcon}set fontIcon(e){let t=this._cleanupFontValue(e);t!==this._fontIcon&&(this._fontIcon=t,this._updateFontIconClasses())}_fontIcon;_previousFontSetClass=[];_previousFontIconClass;_svgName;_svgNamespace;_previousPath;_elementsWithExternalReferences;_currentIconFetch=Ze.EMPTY;constructor(){let e=g(new Nt("aria-hidden"),{optional:!0}),t=g(hr,{optional:!0});t&&(t.color&&(this.color=this._defaultColor=t.color),t.fontSet&&(this.fontSet=t.fontSet)),e||this._elementRef.nativeElement.setAttribute("aria-hidden","true")}_splitIconName(e){if(!e)return["",""];let t=e.split(":");switch(t.length){case 1:return["",t[0]];case 2:return t;default:throw Error(`Invalid icon name: "${e}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){let e=this._elementsWithExternalReferences;if(e&&e.size){let t=this._location.getPathname();t!==this._previousPath&&(this._previousPath=t,this._prependPathToReferences(t))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(e){this._clearSvgElement();let t=this._location.getPathname();this._previousPath=t,this._cacheChildrenWithExternalReferences(e),this._prependPathToReferences(t),this._elementRef.nativeElement.appendChild(e)}_clearSvgElement(){let e=this._elementRef.nativeElement,t=e.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();t--;){let o=e.childNodes[t];(o.nodeType!==1||o.nodeName.toLowerCase()==="svg")&&o.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;let e=this._elementRef.nativeElement,t=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(o=>o.length>0);this._previousFontSetClass.forEach(o=>e.classList.remove(o)),t.forEach(o=>e.classList.add(o)),this._previousFontSetClass=t,this.fontIcon!==this._previousFontIconClass&&!t.includes("mat-ligature-font")&&(this._previousFontIconClass&&e.classList.remove(this._previousFontIconClass),this.fontIcon&&e.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(e){return typeof e=="string"?e.trim().split(" ")[0]:e}_prependPathToReferences(e){let t=this._elementsWithExternalReferences;t&&t.forEach((o,s)=>{o.forEach(i=>{s.setAttribute(i.name,`url('${e}#${i.value}')`)})})}_cacheChildrenWithExternalReferences(e){let t=e.querySelectorAll(mr),o=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s<t.length;s++)dn.forEach(i=>{let a=t[s],c=a.getAttribute(i),l=c?c.match(gr):null;if(l){let d=o.get(a);d||(d=[],o.set(a,d)),d.push({name:i,value:l[1]})}})}_updateSvgIcon(e){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),e){let[t,o]=this._splitIconName(e);t&&(this._svgNamespace=t),o&&(this._svgName=o),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(o,t).pipe(rt(1)).subscribe(s=>this._setSvgElement(s),s=>{let i=`Error retrieving icon ${t}:${o}! ${s.message}`;this._errorHandler.handleError(new Error(i))})}}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=bt({type:r,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:10,hostBindings:function(t,o){t&2&&(It("data-mat-icon-type",o._usingFontIcon()?"font":"svg")("data-mat-icon-name",o._svgName||o.fontIcon)("data-mat-icon-namespace",o._svgNamespace||o.fontSet)("fontIcon",o._usingFontIcon()?o.fontIcon:null),Ct(o.color?"mat-"+o.color:""),At("mat-icon-inline",o.inline)("mat-icon-no-color",o.color!=="primary"&&o.color!=="accent"&&o.color!=="warn"))},inputs:{color:"color",inline:[2,"inline","inline",Pt],svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],ngContentSelectors:ur,decls:1,vars:0,template:function(t,o){t&1&&(Mt(),St(0))},styles:[`mat-icon,mat-icon.mat-primary,mat-icon.mat-accent,mat-icon.mat-warn{color:var(--mat-icon-color, inherit)}.mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}
|
|
3
|
+
`],encapsulation:2,changeDetection:0})}return r})(),as=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=ee({type:r});static \u0275inj=q({imports:[Le,Le]})}return r})();var un=200,yr=5e3,hn=class r{http=g(Z);apps=H([]);overview=H(null);events=H([]);connected=H(!1);ready=H(!1);workspaces=Dt(()=>{let n=new Set;for(let e of this.apps())e.workspaceLabel&&n.add(e.workspaceLabel);return Array.from(n).sort()});byName(n){return this.apps().find(e=>e.name===n)}streamStop;pollTimer;start(){this.streamStop||(this.refresh(),this.streamStop=this.openEventStream(),this.pollTimer=setInterval(()=>{this.refresh()},yr))}stop(){this.streamStop?.(),this.streamStop=void 0,this.pollTimer&&clearInterval(this.pollTimer),this.pollTimer=void 0}async refresh(){try{let[n,e]=await Promise.all([E(this.http.get("/api/apps?format=full")),E(this.http.get("/api/overview"))]);this.apps.set(Array.isArray(n)?n:[]),this.overview.set(e??null),this.connected.set(!0),this.ready.set(!0)}catch{this.connected.set(!1)}}async appDetail(n){try{return await E(this.http.get(`/api/apps/${encodeURIComponent(n)}?format=full`))}catch{return null}}async appErrors(n){try{let e=await E(this.http.get(`/api/apps/${encodeURIComponent(n)}/errors?format=full`));return Array.isArray(e)?e:[]}catch{return[]}}async startApp(n){this.patch(n,{status:"starting"}),await E(this.http.post(`/api/apps/${encodeURIComponent(n)}/start`,{})),await this.refresh()}async stopApp(n){this.patch(n,{status:"stopped"}),await E(this.http.post(`/api/apps/${encodeURIComponent(n)}/stop`,{})),await this.refresh()}async restartApp(n){this.patch(n,{status:"starting"}),await E(this.http.post(`/api/apps/${encodeURIComponent(n)}/restart`,{})),await this.refresh()}async ensureApp(n,e="healthy",t=18e4){return E(this.http.post(`/api/apps/${encodeURIComponent(n)}/ensure?until=${e}&timeoutMs=${t}`,{}))}async ensureUp(n,e="healthy",t=3e5){return E(this.http.post(`/api/profiles/${encodeURIComponent(n)}/ensure-up?until=${e}&timeoutMs=${t}`,{}))}async discoveryExplain(){try{return await E(this.http.get("/api/discovery/explain"))}catch{return null}}async getConfig(){try{return await E(this.http.get("/api/config"))}catch{return null}}async patchConfig(n,e){return E(this.http.patch("/api/config",e,{headers:{"if-match":n}}))}async reloadConfig(){return E(this.http.post("/api/config/reload",{}))}async runAutoFix(n={}){return E(this.http.post("/api/doctor/auto-fix",n))}async getCompileTimes(n,e=100){try{let t=await E(this.http.get(`/api/history/compile-times?app=${encodeURIComponent(n)}&limit=${e}`));return Array.isArray(t)?t:[]}catch{return[]}}async getTrends(n){try{let e=new URLSearchParams;return n.app&&e.set("app",n.app),e.set("metric",n.metric),e.set("since",n.since),await E(this.http.get(`/api/history/trends?${e.toString()}`))}catch{return null}}async getBundles(n,e=100){try{let t=await E(this.http.get(`/api/history/bundles?app=${encodeURIComponent(n)}&limit=${e}`));return Array.isArray(t)?t:[]}catch{return[]}}async getHistoryWhy(n){try{return await E(this.http.get(`/api/history/why/${encodeURIComponent(n)}`))}catch{return null}}openLogStream(n,e){let t=new AbortController;return(async()=>{try{let s=(await fetch(`/api/apps/${encodeURIComponent(n)}/logs/stream`,{signal:t.signal})).body?.getReader();if(!s)return;let i=new TextDecoder,a="";for(;;){let{done:c,value:l}=await s.read();if(c)break;a+=i.decode(l,{stream:!0});let d=a.split(`
|
|
4
|
+
`);a=d.pop()??"";for(let p of d){let y=p.startsWith("data: ")?p.slice(6):p;if(y.trim())try{e(JSON.parse(y))}catch{}}}}catch{}})(),()=>t.abort()}patch(n,e){this.apps.update(t=>t.map(o=>o.name===n?D(D({},o),e):o))}appendEvent(n){this.events.update(e=>{let t=e.concat(n);return t.length>un?t.slice(t.length-un):t})}applyEvent(n){this.appendEvent(n),n.app&&(n.type==="status"&&n.to?this.patch(n.app,{status:n.to,lastChangeMs:0}):n.type==="health"&&n.to?this.patch(n.app,{health:n.to}):n.type==="error"&&this.apps.update(e=>e.map(t=>t.name===n.app?Ae(D({},t),{errorCount:(t.errorCount??0)+1}):t)))}openEventStream(){let n=new AbortController;return(async()=>{try{let e=await fetch("/api/events?stream=ndjson",{signal:n.signal});this.connected.set(!0);let t=e.body?.getReader();if(!t)return;let o=new TextDecoder,s="";for(;;){let{done:i,value:a}=await t.read();if(i)break;s+=o.decode(a,{stream:!0});let c=s.split(`
|
|
5
|
+
`);s=c.pop()??"";for(let l of c)if(l.trim())try{this.applyEvent(JSON.parse(l))}catch{}}}catch{this.connected.set(!1)}})(),()=>n.abort()}static \u0275fac=function(e){return new(e||r)};static \u0275prov=m({token:r,factory:r.\u0275fac,providedIn:"root"})};function fs(r){switch(r.status){case"serving":return{color:"var(--mat-sys-primary)",label:r.health==="healthy"?"healthy":"serving",kind:"serving"};case"compiling":return{color:"var(--mat-sys-tertiary)",label:"compiling",kind:"compiling"};case"starting":return{color:"var(--mat-sys-secondary)",label:"starting",kind:"starting"};case"error":return{color:"var(--mat-sys-error)",label:"error",kind:"error"};default:return{color:"var(--mat-sys-outline)",label:"stopped",kind:"stopped"}}}export{He as a,Mn as b,Z as c,tr as d,nr as e,zo as f,hr as g,is as h,as as i,hn as j,fs as k};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{a as g,b as V,c as Y,e as H}from"./chunk-OHX55ZU4.js";import{a as G}from"./chunk-SR5JAOLW.js";import{m as u}from"./chunk-KLH6B22T.js";import{P as h,o as N,p as L,t as U,v as Z}from"./chunk-Y6B6X4Y6.js";import{$ as z,Ca as I,Db as T,Hc as m,Ic as S,Ob as j,Pb as P,Qb as r,Xb as l,Yb as i,aa as A,ca as D,ea as n,eb as s,gc as b,hb as R,hc as O,ib as B,na as M,oa as E,pb as c,qb as F,rb as C,sb as d}from"./chunk-K43KW4K2.js";var X={capture:!0},tt=["focus","mousedown","mouseenter","touchstart"],y="mat-ripple-loader-uninitialized",x="mat-ripple-loader-class-name",$="mat-ripple-loader-centered",p="mat-ripple-loader-disabled",J=(()=>{class e{_document=n(E);_animationsDisabled=u();_globalRippleOptions=n(Y,{optional:!0});_platform=n(L);_ngZone=n(s);_injector=n(M);_eventCleanups;_hosts=new Map;constructor(){let t=n(R).createRenderer(null,null);this._eventCleanups=this._ngZone.runOutsideAngular(()=>tt.map(a=>t.listen(this._document,a,this._onInteraction,X)))}ngOnDestroy(){let t=this._hosts.keys();for(let a of t)this.destroyRipple(a);this._eventCleanups.forEach(a=>a())}configureRipple(t,a){t.setAttribute(y,this._globalRippleOptions?.namespace??""),(a.className||!t.hasAttribute(x))&&t.setAttribute(x,a.className||""),a.centered&&t.setAttribute($,""),a.disabled&&t.setAttribute(p,"")}setDisabled(t,a){let o=this._hosts.get(t);o?(o.target.rippleDisabled=a,!a&&!o.hasSetUpEvents&&(o.hasSetUpEvents=!0,o.renderer.setupTriggerEvents(t))):a?t.setAttribute(p,""):t.removeAttribute(p)}_onInteraction=t=>{let a=N(t);if(a instanceof HTMLElement){let o=a.closest(`[${y}="${this._globalRippleOptions?.namespace??""}"]`);o&&this._createRipple(o)}};_createRipple(t){if(!this._document||this._hosts.has(t))return;t.querySelector(".mat-ripple")?.remove();let a=this._document.createElement("span");a.classList.add("mat-ripple",t.getAttribute(x)),t.append(a);let o=this._globalRippleOptions,f=this._animationsDisabled?0:o?.animation?.enterDuration??g.enterDuration,W=this._animationsDisabled?0:o?.animation?.exitDuration??g.exitDuration,v={rippleDisabled:this._animationsDisabled||o?.disabled||t.hasAttribute(p),rippleConfig:{centered:t.hasAttribute($),terminateOnPointerUp:o?.terminateOnPointerUp,animation:{enterDuration:f,exitDuration:W}}},w=new V(v,this._ngZone,a,this._platform,this._injector),k=!v.rippleDisabled;k&&w.setupTriggerEvents(t),this._hosts.set(t,{target:v,renderer:w,hasSetUpEvents:k}),t.removeAttribute(y)}destroyRipple(t){let a=this._hosts.get(t);a&&(a.renderer._removeTriggerEvents(),this._hosts.delete(t))}static \u0275fac=function(a){return new(a||e)};static \u0275prov=z({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var at=["mat-icon-button",""],et=["*"],ot=new D("MAT_BUTTON_CONFIG");function K(e){return e==null?void 0:S(e)}var _=(()=>{class e{_elementRef=n(I);_ngZone=n(s);_animationsDisabled=u();_config=n(ot,{optional:!0});_focusMonitor=n(U);_cleanupClick;_renderer=n(B);_rippleLoader=n(J);_isAnchor;_isFab=!1;color;get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=t,this._updateRippleDisabled()}_disableRipple=!1;get disabled(){return this._disabled}set disabled(t){this._disabled=t,this._updateRippleDisabled()}_disabled=!1;ariaDisabled;disabledInteractive;tabIndex;set _tabindex(t){this.tabIndex=t}constructor(){n(Z).load(G);let t=this._elementRef.nativeElement;this._isAnchor=t.tagName==="A",this.disabledInteractive=this._config?.disabledInteractive??!1,this.color=this._config?.color??null,this._rippleLoader?.configureRipple(t,{className:"mat-mdc-button-ripple"})}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0),this._isAnchor&&this._setupAsAnchor()}ngOnDestroy(){this._cleanupClick?.(),this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement)}focus(t="program",a){t?this._focusMonitor.focusVia(this._elementRef.nativeElement,t,a):this._elementRef.nativeElement.focus(a)}_getAriaDisabled(){return this.ariaDisabled!=null?this.ariaDisabled:this._isAnchor?this.disabled||null:this.disabled&&this.disabledInteractive?!0:null}_getDisabledAttribute(){return this.disabledInteractive||!this.disabled?null:!0}_updateRippleDisabled(){this._rippleLoader?.setDisabled(this._elementRef.nativeElement,this.disableRipple||this.disabled)}_getTabIndex(){return this._isAnchor?this.disabled&&!this.disabledInteractive?-1:this.tabIndex:this.tabIndex}_setupAsAnchor(){this._cleanupClick=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"click",t=>{this.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}))}static \u0275fac=function(a){return new(a||e)};static \u0275dir=C({type:e,hostAttrs:[1,"mat-mdc-button-base"],hostVars:13,hostBindings:function(a,o){a&2&&(T("disabled",o._getDisabledAttribute())("aria-disabled",o._getAriaDisabled())("tabindex",o._getTabIndex()),O(o.color?"mat-"+o.color:""),b("mat-mdc-button-disabled",o.disabled)("mat-mdc-button-disabled-interactive",o.disabledInteractive)("mat-unthemed",!o.color)("_mat-animation-noopable",o._animationsDisabled))},inputs:{color:"color",disableRipple:[2,"disableRipple","disableRipple",m],disabled:[2,"disabled","disabled",m],ariaDisabled:[2,"aria-disabled","ariaDisabled",m],disabledInteractive:[2,"disabledInteractive","disabledInteractive",m],tabIndex:[2,"tabIndex","tabIndex",K],_tabindex:[2,"tabindex","_tabindex",K]}})}return e})(),nt=(()=>{class e extends _{constructor(){super(),this._rippleLoader.configureRipple(this._elementRef.nativeElement,{centered:!0})}static \u0275fac=function(a){return new(a||e)};static \u0275cmp=c({type:e,selectors:[["button","mat-icon-button",""],["a","mat-icon-button",""],["button","matIconButton",""],["a","matIconButton",""]],hostAttrs:[1,"mdc-icon-button","mat-mdc-icon-button"],exportAs:["matButton","matAnchor"],features:[d],attrs:at,ngContentSelectors:et,decls:4,vars:0,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(a,o){a&1&&(l(),r(0,"span",0),i(1),r(2,"span",1)(3,"span",2))},styles:[`.mat-mdc-icon-button{-webkit-user-select:none;user-select:none;display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;text-decoration:none;cursor:pointer;z-index:0;overflow:visible;border-radius:var(--mat-icon-button-container-shape, var(--mat-sys-corner-full, 50%));flex-shrink:0;text-align:center;width:var(--mat-icon-button-state-layer-size, 40px);height:var(--mat-icon-button-state-layer-size, 40px);padding:calc(calc(var(--mat-icon-button-state-layer-size, 40px) - var(--mat-icon-button-icon-size, 24px)) / 2);font-size:var(--mat-icon-button-icon-size, 24px);color:var(--mat-icon-button-icon-color, var(--mat-sys-on-surface-variant));-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-icon-button .mdc-button__label,.mat-mdc-icon-button .mat-icon{z-index:1;position:relative}.mat-mdc-icon-button .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit}.mat-mdc-icon-button:focus>.mat-focus-indicator::before{content:"";border-radius:inherit}.mat-mdc-icon-button .mat-ripple-element{background-color:var(--mat-icon-button-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface-variant) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-icon-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-icon-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-icon-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-icon-button-touch-target-size, 48px);display:var(--mat-icon-button-touch-target-display, block);left:50%;width:var(--mat-icon-button-touch-target-size, 48px);transform:translate(-50%, -50%)}.mat-mdc-icon-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-icon-button[disabled],.mat-mdc-icon-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-icon-button-disabled-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-icon-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-icon-button img,.mat-mdc-icon-button svg{width:var(--mat-icon-button-icon-size, 24px);height:var(--mat-icon-button-icon-size, 24px);vertical-align:baseline}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:var(--mat-icon-button-container-shape, var(--mat-sys-corner-full, 50%))}.mat-mdc-icon-button[hidden]{display:none}.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before{background:rgba(0,0,0,0);opacity:1}
|
|
2
|
+
`,`@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-button-base.mat-tonal-button,.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}}
|
|
3
|
+
`],encapsulation:2,changeDetection:0})}return e})();var rt=["matButton",""],it=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],mt=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"];var Q=new Map([["text",["mat-mdc-button"]],["filled",["mdc-button--unelevated","mat-mdc-unelevated-button"]],["elevated",["mdc-button--raised","mat-mdc-raised-button"]],["outlined",["mdc-button--outlined","mat-mdc-outlined-button"]],["tonal",["mat-tonal-button"]]]),Rt=(()=>{class e extends _{get appearance(){return this._appearance}set appearance(t){this.setAppearance(t||this._config?.defaultAppearance||"text")}_appearance=null;constructor(){super();let t=st(this._elementRef.nativeElement);t&&this.setAppearance(t)}setAppearance(t){if(t===this._appearance)return;let a=this._elementRef.nativeElement.classList,o=this._appearance?Q.get(this._appearance):null,f=Q.get(t);o&&a.remove(...o),a.add(...f),this._appearance=t}static \u0275fac=function(a){return new(a||e)};static \u0275cmp=c({type:e,selectors:[["button","matButton",""],["a","matButton",""],["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""],["a","mat-button",""],["a","mat-raised-button",""],["a","mat-flat-button",""],["a","mat-stroked-button",""]],hostAttrs:[1,"mdc-button"],inputs:{appearance:[0,"matButton","appearance"]},exportAs:["matButton","matAnchor"],features:[d],attrs:rt,ngContentSelectors:mt,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(a,o){a&1&&(l(it),r(0,"span",0),i(1),j(2,"span",1),i(3,1),P(),i(4,2),r(5,"span",2)(6,"span",3)),a&2&&b("mdc-button__ripple",!o._isFab)("mdc-fab__ripple",o._isFab)},styles:[`.mat-mdc-button-base{text-decoration:none}.mat-mdc-button-base .mat-icon{min-height:fit-content;flex-shrink:0}.mdc-button{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0);padding:0 8px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__label{position:relative}.mat-mdc-button{padding:0 var(--mat-button-text-horizontal-padding, 12px);height:var(--mat-button-text-container-height, 40px);font-family:var(--mat-button-text-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-text-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-text-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-text-label-text-transform);font-weight:var(--mat-button-text-label-text-weight, var(--mat-sys-label-large-weight))}.mat-mdc-button,.mat-mdc-button .mdc-button__ripple{border-radius:var(--mat-button-text-container-shape, var(--mat-sys-corner-full))}.mat-mdc-button:not(:disabled){color:var(--mat-button-text-label-text-color, var(--mat-sys-primary))}.mat-mdc-button[disabled],.mat-mdc-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-text-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-button:has(.material-icons,mat-icon,[matButtonIcon]){padding:0 var(--mat-button-text-with-icon-horizontal-padding, 16px)}.mat-mdc-button>.mat-icon{margin-right:var(--mat-button-text-icon-spacing, 8px);margin-left:var(--mat-button-text-icon-offset, -4px)}[dir=rtl] .mat-mdc-button>.mat-icon{margin-right:var(--mat-button-text-icon-offset, -4px);margin-left:var(--mat-button-text-icon-spacing, 8px)}.mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-text-icon-offset, -4px);margin-left:var(--mat-button-text-icon-spacing, 8px)}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-text-icon-spacing, 8px);margin-left:var(--mat-button-text-icon-offset, -4px)}.mat-mdc-button .mat-ripple-element{background-color:var(--mat-button-text-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-text-state-layer-color, var(--mat-sys-primary))}.mat-mdc-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-text-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-text-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-text-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-text-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-text-touch-target-size, 48px);display:var(--mat-button-text-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-unelevated-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mat-button-filled-container-height, 40px);font-family:var(--mat-button-filled-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-filled-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-filled-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-filled-label-text-transform);font-weight:var(--mat-button-filled-label-text-weight, var(--mat-sys-label-large-weight));padding:0 var(--mat-button-filled-horizontal-padding, 24px)}.mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-button-filled-icon-spacing, 8px);margin-left:var(--mat-button-filled-icon-offset, -8px)}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-button-filled-icon-offset, -8px);margin-left:var(--mat-button-filled-icon-spacing, 8px)}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-filled-icon-offset, -8px);margin-left:var(--mat-button-filled-icon-spacing, 8px)}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-filled-icon-spacing, 8px);margin-left:var(--mat-button-filled-icon-offset, -8px)}.mat-mdc-unelevated-button .mat-ripple-element{background-color:var(--mat-button-filled-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-filled-state-layer-color, var(--mat-sys-on-primary))}.mat-mdc-unelevated-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-filled-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-unelevated-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-filled-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-unelevated-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-filled-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-unelevated-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-filled-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-unelevated-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-filled-touch-target-size, 48px);display:var(--mat-button-filled-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-unelevated-button:not(:disabled){color:var(--mat-button-filled-label-text-color, var(--mat-sys-on-primary));background-color:var(--mat-button-filled-container-color, var(--mat-sys-primary))}.mat-mdc-unelevated-button,.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mat-button-filled-container-shape, var(--mat-sys-corner-full))}.mat-mdc-unelevated-button[disabled],.mat-mdc-unelevated-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-filled-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-filled-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-raised-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);box-shadow:var(--mat-button-protected-container-elevation-shadow, var(--mat-sys-level1));height:var(--mat-button-protected-container-height, 40px);font-family:var(--mat-button-protected-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-protected-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-protected-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-protected-label-text-transform);font-weight:var(--mat-button-protected-label-text-weight, var(--mat-sys-label-large-weight));padding:0 var(--mat-button-protected-horizontal-padding, 24px)}.mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-button-protected-icon-spacing, 8px);margin-left:var(--mat-button-protected-icon-offset, -8px)}[dir=rtl] .mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-button-protected-icon-offset, -8px);margin-left:var(--mat-button-protected-icon-spacing, 8px)}.mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-protected-icon-offset, -8px);margin-left:var(--mat-button-protected-icon-spacing, 8px)}[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-protected-icon-spacing, 8px);margin-left:var(--mat-button-protected-icon-offset, -8px)}.mat-mdc-raised-button .mat-ripple-element{background-color:var(--mat-button-protected-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-protected-state-layer-color, var(--mat-sys-primary))}.mat-mdc-raised-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-protected-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-raised-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-protected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-raised-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-protected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-raised-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-protected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-raised-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-protected-touch-target-size, 48px);display:var(--mat-button-protected-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-raised-button:not(:disabled){color:var(--mat-button-protected-label-text-color, var(--mat-sys-primary));background-color:var(--mat-button-protected-container-color, var(--mat-sys-surface))}.mat-mdc-raised-button,.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mat-button-protected-container-shape, var(--mat-sys-corner-full))}.mat-mdc-raised-button:hover{box-shadow:var(--mat-button-protected-hover-container-elevation-shadow, var(--mat-sys-level2))}.mat-mdc-raised-button:focus{box-shadow:var(--mat-button-protected-focus-container-elevation-shadow, var(--mat-sys-level1))}.mat-mdc-raised-button:active,.mat-mdc-raised-button:focus:active{box-shadow:var(--mat-button-protected-pressed-container-elevation-shadow, var(--mat-sys-level1))}.mat-mdc-raised-button[disabled],.mat-mdc-raised-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-protected-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-protected-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-raised-button[disabled].mat-mdc-button-disabled,.mat-mdc-raised-button.mat-mdc-button-disabled.mat-mdc-button-disabled{box-shadow:var(--mat-button-protected-disabled-container-elevation-shadow, var(--mat-sys-level0))}.mat-mdc-raised-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-outlined-button{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mat-button-outlined-container-height, 40px);font-family:var(--mat-button-outlined-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-outlined-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-outlined-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-outlined-label-text-transform);font-weight:var(--mat-button-outlined-label-text-weight, var(--mat-sys-label-large-weight));border-radius:var(--mat-button-outlined-container-shape, var(--mat-sys-corner-full));border-width:var(--mat-button-outlined-outline-width, 1px);padding:0 var(--mat-button-outlined-horizontal-padding, 24px)}.mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-button-outlined-icon-spacing, 8px);margin-left:var(--mat-button-outlined-icon-offset, -8px)}[dir=rtl] .mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-button-outlined-icon-offset, -8px);margin-left:var(--mat-button-outlined-icon-spacing, 8px)}.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-outlined-icon-offset, -8px);margin-left:var(--mat-button-outlined-icon-spacing, 8px)}[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-outlined-icon-spacing, 8px);margin-left:var(--mat-button-outlined-icon-offset, -8px)}.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-button-outlined-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-outlined-state-layer-color, var(--mat-sys-primary))}.mat-mdc-outlined-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-outlined-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-outlined-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-outlined-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-outlined-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-outlined-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-outlined-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-outlined-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-outlined-touch-target-size, 48px);display:var(--mat-button-outlined-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-outlined-button:not(:disabled){color:var(--mat-button-outlined-label-text-color, var(--mat-sys-primary));border-color:var(--mat-button-outlined-outline-color, var(--mat-sys-outline))}.mat-mdc-outlined-button[disabled],.mat-mdc-outlined-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-outlined-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-color:var(--mat-button-outlined-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-tonal-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mat-button-tonal-container-height, 40px);font-family:var(--mat-button-tonal-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-tonal-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-tonal-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-tonal-label-text-transform);font-weight:var(--mat-button-tonal-label-text-weight, var(--mat-sys-label-large-weight));padding:0 var(--mat-button-tonal-horizontal-padding, 24px)}.mat-tonal-button:not(:disabled){color:var(--mat-button-tonal-label-text-color, var(--mat-sys-on-secondary-container));background-color:var(--mat-button-tonal-container-color, var(--mat-sys-secondary-container))}.mat-tonal-button,.mat-tonal-button .mdc-button__ripple{border-radius:var(--mat-button-tonal-container-shape, var(--mat-sys-corner-full))}.mat-tonal-button[disabled],.mat-tonal-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-tonal-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-tonal-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-tonal-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-tonal-button>.mat-icon{margin-right:var(--mat-button-tonal-icon-spacing, 8px);margin-left:var(--mat-button-tonal-icon-offset, -8px)}[dir=rtl] .mat-tonal-button>.mat-icon{margin-right:var(--mat-button-tonal-icon-offset, -8px);margin-left:var(--mat-button-tonal-icon-spacing, 8px)}.mat-tonal-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-tonal-icon-offset, -8px);margin-left:var(--mat-button-tonal-icon-spacing, 8px)}[dir=rtl] .mat-tonal-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-tonal-icon-spacing, 8px);margin-left:var(--mat-button-tonal-icon-offset, -8px)}.mat-tonal-button .mat-ripple-element{background-color:var(--mat-button-tonal-ripple-color, color-mix(in srgb, var(--mat-sys-on-secondary-container) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-tonal-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-tonal-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-tonal-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-tonal-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-tonal-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-tonal-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-tonal-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-tonal-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-tonal-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-tonal-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-tonal-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-tonal-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-tonal-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-tonal-touch-target-size, 48px);display:var(--mat-button-tonal-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button,.mat-tonal-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before,.mat-tonal-button .mat-mdc-button-ripple,.mat-tonal-button .mat-mdc-button-persistent-ripple,.mat-tonal-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-tonal-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before,.mat-tonal-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-button .mdc-button__label,.mat-mdc-button .mat-icon,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-unelevated-button .mat-icon,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-raised-button .mat-icon,.mat-mdc-outlined-button .mdc-button__label,.mat-mdc-outlined-button .mat-icon,.mat-tonal-button .mdc-button__label,.mat-tonal-button .mat-icon{z-index:1;position:relative}.mat-mdc-button .mat-focus-indicator,.mat-mdc-unelevated-button .mat-focus-indicator,.mat-mdc-raised-button .mat-focus-indicator,.mat-mdc-outlined-button .mat-focus-indicator,.mat-tonal-button .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit}.mat-mdc-button:focus>.mat-focus-indicator::before,.mat-mdc-unelevated-button:focus>.mat-focus-indicator::before,.mat-mdc-raised-button:focus>.mat-focus-indicator::before,.mat-mdc-outlined-button:focus>.mat-focus-indicator::before,.mat-tonal-button:focus>.mat-focus-indicator::before{content:"";border-radius:inherit}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable,.mat-tonal-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon,.mat-tonal-button>.mat-icon{display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px}.mat-mdc-unelevated-button .mat-focus-indicator::before,.mat-tonal-button .mat-focus-indicator::before,.mat-mdc-raised-button .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-outlined-button .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px)*-1)}
|
|
4
|
+
`,`@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-button-base.mat-tonal-button,.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}}
|
|
5
|
+
`],encapsulation:2,changeDetection:0})}return e})();function st(e){return e.hasAttribute("mat-raised-button")?"elevated":e.hasAttribute("mat-stroked-button")?"outlined":e.hasAttribute("mat-flat-button")?"filled":e.hasAttribute("mat-button")?"text":null}var Bt=(()=>{class e{static \u0275fac=function(a){return new(a||e)};static \u0275mod=F({type:e});static \u0275inj=A({imports:[h,H,h]})}return e})();export{J as a,nt as b,Rt as c,Bt as d};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{k as v}from"./chunk-Q3N4MMWW.js";import{Db as h,Eb as l,Fb as d,Ob as a,Pb as s,Qb as p,Wb as u,Xb as f,Yb as g,_a as i,fc as y,ic as c,jc as m,pb as r}from"./chunk-K43KW4K2.js";var M=["*"];function _(e,o){if(e&1&&(a(0,"span",1),c(1),s()),e&2){let t=u();i(),m(t.icon)}}function E(e,o){if(e&1&&(a(0,"p",3),c(1),s()),e&2){let t=u();i(),m(t.hint)}}var b=class e{status="stopped";health="unknown";badge=()=>v({status:this.status,health:this.health});kind=()=>this.badge().kind;static \u0275fac=function(t){return new(t||e)};static \u0275cmp=r({type:e,selectors:[["dm-status-pill"]],inputs:{status:"status",health:"health"},decls:4,vars:4,consts:[[1,"dm-pill"],[1,"dm-dot"]],template:function(t,n){t&1&&(a(0,"span",0),p(1,"span",1),a(2,"span"),c(3),s()()),t&2&&(h("data-kind",n.kind()),i(),y("background",n.badge().color),i(2),m(n.badge().label))},styles:["[_nghost-%COMP%]{display:inline-flex}.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[data-kind=serving][_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=compiling][_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=starting][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-secondary) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-secondary) 28%,transparent)}.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-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:999px;box-shadow:0 0 0 2px color-mix(in oklch,currentColor 18%,transparent)}"],changeDetection:0})},C=class e{width="100%";height="1em";static \u0275fac=function(t){return new(t||e)};static \u0275cmp=r({type:e,selectors:[["dm-skeleton"]],inputs:{width:"width",height:"height"},decls:1,vars:4,consts:[[1,"dm-sk"]],template:function(t,n){t&1&&p(0,"span",0),t&2&&y("width",n.width)("height",n.height)},styles:[".dm-sk[_ngcontent-%COMP%]{display:inline-block;border-radius:6px;background:linear-gradient(90deg,var(--mat-sys-surface-container) 0%,var(--mat-sys-surface-container-high) 50%,var(--mat-sys-surface-container) 100%);background-size:200% 100%;animation:_ngcontent-%COMP%_dm-shimmer 1.4s linear infinite}@keyframes _ngcontent-%COMP%_dm-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.dm-sk[_ngcontent-%COMP%]{animation:none}}"],changeDetection:0})},x=class e{icon="";title="";hint="";static \u0275fac=function(t){return new(t||e)};static \u0275cmp=r({type:e,selectors:[["dm-empty"]],inputs:{icon:"icon",title:"title",hint:"hint"},ngContentSelectors:M,decls:6,vars:3,consts:[[1,"dm-empty"],[1,"material-symbols-outlined","dm-empty-icon"],[1,"dm-empty-title"],[1,"dm-empty-hint"]],template:function(t,n){t&1&&(f(),a(0,"div",0),l(1,_,2,1,"span",1),a(2,"h3",2),c(3),s(),l(4,E,2,1,"p",3),g(5),s()),t&2&&(i(),d(n.icon?1:-1),i(2),m(n.title),i(),d(n.hint?4:-1))},styles:[".dm-empty[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1rem;text-align:center;color:var(--mat-sys-on-surface-variant)}.dm-empty-icon[_ngcontent-%COMP%]{font-size:48px;opacity:.55}.dm-empty-title[_ngcontent-%COMP%]{font:500 1.125rem/1.5rem Roboto;color:var(--mat-sys-on-surface);margin:0}.dm-empty-hint[_ngcontent-%COMP%]{font:400 .875rem/1.25rem Roboto;max-width:36rem;margin:0}"],changeDetection:0})},k=class e{static \u0275fac=function(t){return new(t||e)};static \u0275cmp=r({type:e,selectors:[["dm-mono"]],ngContentSelectors:M,decls:2,vars:0,consts:[[1,"dm-mono"]],template:function(t,n){t&1&&(f(),a(0,"span",0),g(1),s())},styles:[".dm-mono[_ngcontent-%COMP%]{font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;letter-spacing:0}"],changeDetection:0})};var T=(()=>{class e{static \u0275fac=function(n){return new(n||e)};static \u0275cmp=r({type:e,selectors:[["structural-styles"]],decls:0,vars:0,template:function(n,P){},styles:[`.mat-focus-indicator{position:relative}.mat-focus-indicator::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border-width:var(--mat-focus-indicator-border-width, 3px);border-style:var(--mat-focus-indicator-border-style, solid);border-color:var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus::before{content:""}@media(forced-colors: active){html{--mat-focus-indicator-display: block}}
|
|
2
|
+
`],encapsulation:2,changeDetection:0})}return e})();export{T as a,b,C as c,x as d,k as e};
|