homebridge-config-ui-x 4.77.1-beta.8 → 4.78.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 +1 -1
- package/dist/modules/server/server.service.js +19 -13
- package/dist/modules/server/server.service.js.map +1 -1
- package/package.json +1 -1
- package/public/{chunk-TAOKRPHH.js → chunk-2L2DGESO.js} +1 -1
- package/public/{chunk-6633SWO7.js → chunk-3FDL63O7.js} +1 -1
- package/public/{chunk-37ABWSAZ.js → chunk-3FWNJIR2.js} +1 -1
- package/public/{chunk-URC672ZD.js → chunk-3HABUZ2B.js} +1 -1
- package/public/{chunk-OWYBIVUW.js → chunk-3KUSRF5T.js} +1 -1
- package/public/chunk-3WHF7HG7.js +1 -0
- package/public/chunk-64BVKXGY.js +1 -0
- package/public/{chunk-NE4WZ57E.js → chunk-77E33HRF.js} +1 -1
- package/public/{chunk-KXIKA7WO.js → chunk-7XYZ2A3F.js} +1 -1
- package/public/{chunk-2GQZUOEF.js → chunk-A6K2VSKW.js} +1 -1
- package/public/chunk-AKG77MGY.js +1 -0
- package/public/{chunk-DQB6ZFQK.js → chunk-C422HMAT.js} +1 -1
- package/public/chunk-CAAHDMHD.js +1 -0
- package/public/{chunk-S7OQX6GA.js → chunk-CYXS7QN5.js} +1 -1
- package/public/chunk-DB7E552E.js +1 -0
- package/public/{chunk-A6JL3BV3.js → chunk-E2W36M5Q.js} +1 -1
- package/public/chunk-EMFMKO2C.js +1 -0
- package/public/{chunk-XF4YKN3J.js → chunk-GK2B5J7M.js} +1 -1
- package/public/{chunk-7ZKKL7CC.js → chunk-GQOKY6T2.js} +1 -1
- package/public/{chunk-4EGADSPP.js → chunk-GWBSSANW.js} +1 -1
- package/public/{chunk-BRCQSCKY.js → chunk-HU5TRUP6.js} +1 -1
- package/public/chunk-HVSQ5KZO.js +1 -0
- package/public/{chunk-RRCDTPRL.js → chunk-IHMEPO5X.js} +1 -1
- package/public/chunk-IYWGQR7U.js +1 -0
- package/public/{chunk-R6INISRW.js → chunk-JBPUZNWV.js} +1 -1
- package/public/{chunk-BB6JT3SE.js → chunk-JEABQGBH.js} +1 -1
- package/public/{chunk-TE2TU2TD.js → chunk-KHBHSIQ5.js} +1 -1
- package/public/{chunk-T7ZT5HJB.js → chunk-KL6YS6NM.js} +1 -1
- package/public/{chunk-GT3IRCKC.js → chunk-KNJPGWRH.js} +1 -1
- package/public/{chunk-OZ2UBKY7.js → chunk-KTSWP7IK.js} +1 -1
- package/public/chunk-L6YJAXCZ.js +1 -0
- package/public/chunk-LBMQRUFA.js +1 -0
- package/public/{chunk-GQ3SXGA7.js → chunk-LSAXYTS2.js} +1 -1
- package/public/chunk-LXEOOV25.js +1 -0
- package/public/chunk-NBF36H6F.js +1 -0
- package/public/{chunk-PGN4QG4S.js → chunk-O262XIY7.js} +1 -1
- package/public/{chunk-YLDVNVDH.js → chunk-ODMYYIIB.js} +1 -1
- package/public/{chunk-6NEE6G3F.js → chunk-OOLYCT7N.js} +1 -1
- package/public/{chunk-QJZ4PU4J.js → chunk-PAAOHJ7A.js} +1 -1
- package/public/{chunk-ZILXAARV.js → chunk-PJBUPPF6.js} +1 -1
- package/public/{chunk-C2SAM2NO.js → chunk-R5J3D56Q.js} +1 -1
- package/public/{chunk-XF46NOEB.js → chunk-RDN6UQXF.js} +1 -1
- package/public/{chunk-VR4TFROI.js → chunk-RIB5TYUN.js} +1 -1
- package/public/{chunk-OP4XB75R.js → chunk-RRC5IVHL.js} +1 -1
- package/public/{chunk-BKVF3JKZ.js → chunk-RV6WEKCF.js} +1 -1
- package/public/{chunk-MKUEGQUV.js → chunk-S2LLA6CM.js} +1 -1
- package/public/{chunk-JD536DAZ.js → chunk-S3JIWNBN.js} +1 -1
- package/public/{chunk-Z5VWPQ56.js → chunk-SUGYRZG7.js} +1 -1
- package/public/{chunk-BQRGG5O3.js → chunk-UJUPAOTX.js} +1 -1
- package/public/{chunk-X4JFX3IR.js → chunk-UZPFLMFC.js} +1 -1
- package/public/{chunk-XL5X222X.js → chunk-VOYYSZ6P.js} +1 -1
- package/public/chunk-WYWGNNU3.js +1 -0
- package/public/{chunk-L23FZ5T5.js → chunk-XAXF5JVR.js} +1 -1
- package/public/{chunk-UC5RMIR4.js → chunk-XTRDRJ4J.js} +1 -1
- package/public/{chunk-7XCOJAHZ.js → chunk-Y4TQ6524.js} +1 -1
- package/public/{chunk-5XLJAE7V.js → chunk-YCO4F7I6.js} +1 -1
- package/public/chunk-YXGK4WNP.js +1 -0
- package/public/{chunk-XYSLIZL4.js → chunk-ZT2VR2UG.js} +1 -1
- package/public/index.html +1 -1
- package/public/{main-HZYQMW45.js → main-4RPKZQSM.js} +1 -1
- package/public/chunk-2FV6UO27.js +0 -1
- package/public/chunk-2TRKAQ6O.js +0 -1
- package/public/chunk-3ELHAD3P.js +0 -1
- package/public/chunk-4Y4M2PTX.js +0 -1
- package/public/chunk-5PS7F4JN.js +0 -1
- package/public/chunk-5QPWJVMS.js +0 -1
- package/public/chunk-C4IKYV3Z.js +0 -1
- package/public/chunk-EKP6Y74D.js +0 -1
- package/public/chunk-KOXAKZ7Q.js +0 -1
- package/public/chunk-OKDLJGHU.js +0 -1
- package/public/chunk-SMTY5QZV.js +0 -1
- package/public/chunk-U37VIF5W.js +0 -1
- package/public/chunk-U75SDBPH.js +0 -1
- package/public/chunk-VVPVK4DU.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as n}from"./chunk-JBQX4JBH.js";import{b as s}from"./chunk-
|
|
1
|
+
import{d as n}from"./chunk-JBQX4JBH.js";import{b as s}from"./chunk-XAXF5JVR.js";import{ga as o,h as r,la as e,w as i}from"./chunk-W6X46MTW.js";var l=(()=>{class t{$router=e(n);$settings=e(s);constructor(){}canActivate(){return r(this,null,function*(){return this.$settings.settingsLoaded||(yield i(this.$settings.onSettingsLoaded)),this.$settings.env.setupWizardComplete===!1||this.$router.navigate(["/"]),!0})}static \u0275fac=function(a){return new(a||t)};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{l as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as R}from"./chunk-
|
|
1
|
+
import{a as R}from"./chunk-RRC5IVHL.js";import"./chunk-7XYZ2A3F.js";import{c as S}from"./chunk-WTTWP6KF.js";import"./chunk-S6UXXPGF.js";import{v as d}from"./chunk-2NQ5FYSH.js";import{A as f,z as u}from"./chunk-5NG7YGKN.js";import{d as C,g as m}from"./chunk-JBQX4JBH.js";import"./chunk-KL6YS6NM.js";import"./chunk-KNJPGWRH.js";import"./chunk-XAXF5JVR.js";import{k as v,n as g}from"./chunk-LBMQRUFA.js";import"./chunk-EM4PY2IW.js";import{a as M,c as h}from"./chunk-555LSHXI.js";import{ga as c,h as p,ha as i,kd as l,la as e,mb as a,w as s}from"./chunk-W6X46MTW.js";var n=(()=>{class t{$api=e(g);$router=e(C);$toastr=e(v);$translate=e(M);constructor(){}resolve(){return p(this,null,function*(){try{return yield s(this.$api.get("/platform-tools/docker/startup-script"))}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(o){return new(o||t)};static \u0275prov=c({token:t,factory:t.\u0275fac})}return t})();var j=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"startup-script",loadComponent:()=>import("./chunk-IYWGQR7U.js").then(t=>t.StartupScriptComponent),resolve:{startupScript:n}},{path:"restart-container",loadComponent:()=>import("./chunk-L6YJAXCZ.js").then(t=>t.ContainerRestartComponent)}],$=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275mod=a({type:t});static \u0275inj=i({imports:[m.forChild(j),m]})}return t})();var Q=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275mod=a({type:t});static \u0275inj=i({providers:[n],imports:[l,u,f,S,d,h.forChild(),$,R]})}return t})();export{Q as DockerModule};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as a}from"./chunk-3FWNJIR2.js";import"./chunk-77E33HRF.js";import"./chunk-RDN6UQXF.js";import"./chunk-RV6WEKCF.js";import"./chunk-Z7NIAJEB.js";import"./chunk-A6K2VSKW.js";import"./chunk-6XANA56B.js";import"./chunk-WTTWP6KF.js";import"./chunk-QJQSHTGR.js";import"./chunk-S6UXXPGF.js";import"./chunk-Y4TQ6524.js";import"./chunk-AJTG3DAQ.js";import"./chunk-J764EFYE.js";import"./chunk-SCRWY2OT.js";import"./chunk-IMPGSXGE.js";import"./chunk-2NQ5FYSH.js";import"./chunk-5NG7YGKN.js";import"./chunk-JBQX4JBH.js";import"./chunk-KL6YS6NM.js";import"./chunk-KNJPGWRH.js";import"./chunk-XAXF5JVR.js";import"./chunk-LBMQRUFA.js";import"./chunk-EM4PY2IW.js";import"./chunk-555LSHXI.js";import"./chunk-W6X46MTW.js";export{a as StatusComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-XTRDRJ4J.js";import"./chunk-WUXDJZ6X.js";import"./chunk-A6K2VSKW.js";import"./chunk-6XANA56B.js";import"./chunk-WTTWP6KF.js";import"./chunk-QJQSHTGR.js";import"./chunk-S6UXXPGF.js";import"./chunk-Y4TQ6524.js";import"./chunk-AJTG3DAQ.js";import"./chunk-J764EFYE.js";import"./chunk-SCRWY2OT.js";import"./chunk-IMPGSXGE.js";import"./chunk-2NQ5FYSH.js";import"./chunk-5NG7YGKN.js";import"./chunk-JBQX4JBH.js";import"./chunk-KL6YS6NM.js";import"./chunk-KNJPGWRH.js";import"./chunk-XAXF5JVR.js";import"./chunk-LBMQRUFA.js";import"./chunk-EM4PY2IW.js";import"./chunk-555LSHXI.js";import"./chunk-W6X46MTW.js";export{a as PluginsComponent};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as p,b as w,c as b}from"./chunk-AJTG3DAQ.js";import{a as c}from"./chunk-
|
|
1
|
+
import{a as p,b as w,c as b}from"./chunk-AJTG3DAQ.js";import{a as c}from"./chunk-KL6YS6NM.js";import{M as i,g as o,ga as m,la as h,n}from"./chunk-W6X46MTW.js";var d=o(p(),1),a=o(w(),1),l=o(b(),1);var v=(()=>{class e{$ws=h(c);term;io;fitAddon;webLinksAddon;resize;elementResize;constructor(){}destroyTerminal(){this.io.end(),this.term.dispose(),this.resize.complete(),this.elementResize&&this.elementResize.complete()}startTerminal(r,s={},f){this.elementResize=f,this.io=this.$ws.connectToNamespace("platform-tools/terminal"),this.term=new d.Terminal(s),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new a.FitAddon,this.webLinksAddon=new l.WebLinksAddon,this.resize=new n,this.term.open(r.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.pipe(i(200)).subscribe(()=>{this.startSession()}),this.io.socket.on("disconnect",()=>{this.term.write(`
|
|
2
2
|
\r
|
|
3
3
|
\rTerminal disconnected. Is the server running?
|
|
4
4
|
\r
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as w}from"./chunk-JBQX4JBH.js";import{a as E}from"./chunk-
|
|
1
|
+
import{d as w}from"./chunk-JBQX4JBH.js";import{a as E}from"./chunk-KL6YS6NM.js";import{b}from"./chunk-XAXF5JVR.js";import{k,n as S}from"./chunk-LBMQRUFA.js";import{a as $,b as T}from"./chunk-555LSHXI.js";import{$a as n,Ac as c,Bc as m,Cc as C,Hb as d,Ib as f,Nb as g,Ob as r,Pb as i,Qb as l,Xa as x,Yb as h,jc as s,kc as o,la as a,lb as _,wc as y}from"./chunk-W6X46MTW.js";var I=t=>({command:t});function D(t,u){if(t&1&&(r(0,"div",7),s(1),i()),t&2){let e=h();n(),o(e.error)}}function R(t,u){t&1&&(r(0,"p",9),s(1),c(2,"translate"),i(),r(3,"div",10)(4,"div",11),l(5,"i",12),i()()),t&2&&(n(),o(m(2,1,"restart.please_wait_while_server_restarts")))}function B(t,u){if(t&1&&(r(0,"div",8)(1,"p"),s(2),c(3,"translate"),i(),l(4,"p",13),c(5,"translate"),i()),t&2){let e=h();n(2),o(m(3,2,"platform.docker.server_long_time")),n(2),g("innerHTML",C(5,4,"platform.docker.run_with_restart",y(7,I,e.command)),x)}}var U=(()=>{class t{$api=a(S);$router=a(w);$settings=a(b);$toastr=a(k);$translate=a($);$ws=a(E);checkTimeout;checkDelay;resp={};timeout=!1;error=!1;command='<span class="font-monospace">--restart=always</span>';io;constructor(){}ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch(()=>{})}),this.$api.put("/platform-tools/docker/restart-container",{}).subscribe({next:e=>{this.resp=e,this.checkIfServerUp()},error:e=>{this.error=this.$translate.instant("restart.toast_server_restart_error"),console.error(e),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"))}})}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",e=>{(e.status==="up"||e.status==="pending")&&(this.$toastr.success(this.$translate.instant("platform.docker.container_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]))})},1e4),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("restart.toast_server_restart_timeout"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},6e4)}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}static \u0275fac=function(p){return new(p||t)};static \u0275cmp=_({type:t,selectors:[["ng-component"]],decls:14,vars:8,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fab","fa-fw","fa-docker",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"alert","alert-error","my-4"],[1,"alert","alert-warning","my-4"],[1,"grey-text"],[1,"justify-content-center","my-4"],[1,"restart-progress-box","primary-text"],[1,"fas","fa-fw","fa-spinner","fa-spin"],[1,"grey-text","mb-0",3,"innerHTML"]],template:function(p,v){p&1&&(r(0,"div",0)(1,"h3",1),s(2),c(3,"translate"),i()(),r(4,"div",2)(5,"div",3),l(6,"i",4),i(),r(7,"div",5)(8,"h4",6),s(9),c(10,"translate"),i(),d(11,D,2,1,"div",7)(12,R,6,3),d(13,B,6,9,"div",8),i()()),p&2&&(n(2),o(m(3,4,"menu.restart.title")),n(7),o(m(10,6,"platform.docker.title_restarting")),n(2),f(v.error?11:12),n(2),f(v.timeout?13:-1))},dependencies:[T],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return t})();export{U as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as cu,b as ib}from"./chunk-6XANA56B.js";import{a as j1}from"./chunk-WTTWP6KF.js";import{a as Jr,b as Xr}from"./chunk-QJQSHTGR.js";import{a as q1}from"./chunk-S6UXXPGF.js";import{a as z1,b as ff}from"./chunk-7XCOJAHZ.js";import{a as R1,b as L1}from"./chunk-AJTG3DAQ.js";import{a as V1}from"./chunk-J764EFYE.js";import{a as Ds}from"./chunk-SCRWY2OT.js";import{a as N1}from"./chunk-IMPGSXGE.js";import{a as zr,b as Ur,c as Hr,d as Wr,e as Kr,f as Gr,g as Qi,m as Ae,n as it,o as k1,p as T1,q as P1,r as O1,s as M1,t as en}from"./chunk-2NQ5FYSH.js";import{A as nf,a as v1,b as Ju,c as Yi,e as vt,f as B1,h as x1,i as w1,j as S1,k as I1,l as Xu,m as A1,o as Yu,r as Zi,s as xi,t as wi,y as $1,z as uu}from"./chunk-5NG7YGKN.js";import{d as Ut}from"./chunk-JBQX4JBH.js";import{a as Qu}from"./chunk-T7ZT5HJB.js";import{b as Re}from"./chunk-L23FZ5T5.js";import{k as _e,m as Zu,n as be}from"./chunk-EKP6Y74D.js";import{e as y1}from"./chunk-EM4PY2IW.js";import{a as Ee,b as $e}from"./chunk-555LSHXI.js";import{$a as l,Ac as y,Bc as B,Ca as zu,Cc as He,D as o1,Da as d1,Fa as Uu,Gb as G,Hb as w,Ib as S,Jc as gt,Kb as nt,Kc as U,Lb as ft,Lc as Gu,M as Ki,Mb as rt,Nb as b,Nc as E1,Ob as c,Pb as p,Qb as x,Rb as F1,Sb as C1,Ub as H,Xa as me,Xb as M,Yb as C,Z as rs,_a as c1,a as X,aa as uf,ac as os,b as xe,bc as as,bd as zt,cc as ss,cd as Bi,dc as Hu,dd as bt,e as F,eb as qr,ec as Wu,fa as a1,fb as yu,fc as h1,g as Ue,ga as Ot,gc as eu,h as K,ha as Gi,hb as _i,hc as Ku,ic as Z,ja as s1,jc as E,k as i1,ka as D1,kc as R,kd as Lr,la as I,lb as Y,lc as q,mb as Ji,mc as yi,n as Pt,nb as vu,nc as Rr,o as fs,ob as p1,q as n1,qc as Pe,ra as j,rb as se,rc as Oe,sa as N,sc as Me,sd as _1,ta as l1,tb as m1,tc as g1,ub as Vr,uc as b1,v as f1,vc as Ie,w as re,wc as tu,x as r1,xc as vi,yc as Bu,za as Nr,zc as Xi}from"./chunk-W6X46MTW.js";var af=F(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.regexpCode=ge.getEsmExportName=ge.getProperty=ge.safeStringify=ge.stringify=ge.strConcat=ge.addCodeArg=ge.str=ge._=ge.nil=ge._Code=ge.Name=ge.IDENTIFIER=ge._CodeOrName=void 0;var rf=class{};ge._CodeOrName=rf;ge.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Si=class extends rf{constructor(u){if(super(),!ge.IDENTIFIER.test(u))throw new Error("CodeGen: name must be a valid identifier");this.str=u}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};ge.Name=Si;var Ht=class extends rf{constructor(u){super(),this._items=typeof u=="string"?[u]:u}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let u=this._items[0];return u===""||u==='""'}get str(){var u;return(u=this._str)!==null&&u!==void 0?u:this._str=this._items.reduce((t,i)=>`${t}${i}`,"")}get names(){var u;return(u=this._names)!==null&&u!==void 0?u:this._names=this._items.reduce((t,i)=>(i instanceof Si&&(t[i.str]=(t[i.str]||0)+1),t),{})}};ge._Code=Ht;ge.nil=new Ht("");function U1(e,...u){let t=[e[0]],i=0;for(;i<u.length;)ds(t,u[i]),t.push(e[++i]);return new Ht(t)}ge._=U1;var ls=new Ht("+");function H1(e,...u){let t=[of(e[0])],i=0;for(;i<u.length;)t.push(ls),ds(t,u[i]),t.push(ls,of(e[++i]));return fb(t),new Ht(t)}ge.str=H1;function ds(e,u){u instanceof Ht?e.push(...u._items):u instanceof Si?e.push(u):e.push(ab(u))}ge.addCodeArg=ds;function fb(e){let u=1;for(;u<e.length-1;){if(e[u]===ls){let t=rb(e[u-1],e[u+1]);if(t!==void 0){e.splice(u-1,3,t);continue}e[u++]="+"}u++}}function rb(e,u){if(u==='""')return e;if(e==='""')return u;if(typeof e=="string")return u instanceof Si||e[e.length-1]!=='"'?void 0:typeof u!="string"?`${e.slice(0,-1)}${u}"`:u[0]==='"'?e.slice(0,-1)+u.slice(1):void 0;if(typeof u=="string"&&u[0]==='"'&&!(e instanceof Si))return`"${e}${u.slice(1)}`}function ob(e,u){return u.emptyStr()?e:e.emptyStr()?u:H1`${e}${u}`}ge.strConcat=ob;function ab(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:of(Array.isArray(e)?e.join(","):e)}function sb(e){return new Ht(of(e))}ge.stringify=sb;function of(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}ge.safeStringify=of;function Db(e){return typeof e=="string"&&ge.IDENTIFIER.test(e)?new Ht(`.${e}`):U1`[${e}]`}ge.getProperty=Db;function lb(e){if(typeof e=="string"&&ge.IDENTIFIER.test(e))return new Ht(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}ge.getEsmExportName=lb;function db(e){return new Ht(e.toString())}ge.regexpCode=db});var ms=F(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.ValueScope=xt.ValueScopeName=xt.Scope=xt.varKinds=xt.UsedValueState=void 0;var Bt=af(),cs=class extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}},Yr=function(e){return e[e.Started=0]="Started",e[e.Completed=1]="Completed",e}(Yr||(xt.UsedValueState=Yr={}));xt.varKinds={const:new Bt.Name("const"),let:new Bt.Name("let"),var:new Bt.Name("var")};var Zr=class{constructor({prefixes:u,parent:t}={}){this._names={},this._prefixes=u,this._parent=t}toName(u){return u instanceof Bt.Name?u:this.name(u)}name(u){return new Bt.Name(this._newName(u))}_newName(u){let t=this._names[u]||this._nameGroup(u);return`${u}${t.index++}`}_nameGroup(u){var t,i;if(!((i=(t=this._parent)===null||t===void 0?void 0:t._prefixes)===null||i===void 0)&&i.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}};xt.Scope=Zr;var Qr=class extends Bt.Name{constructor(u,t){super(t),this.prefix=u}setValue(u,{property:t,itemIndex:i}){this.value=u,this.scopePath=(0,Bt._)`.${new Bt.Name(t)}[${i}]`}};xt.ValueScopeName=Qr;var cb=(0,Bt._)`\n`,ps=class extends Zr{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts=xe(X({},u),{_n:u.lines?cb:Bt.nil})}get(){return this._scope}name(u){return new Qr(u,this._newName(u))}value(u,t){var i;if(t.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let n=this.toName(u),{prefix:f}=n,r=(i=t.key)!==null&&i!==void 0?i:t.ref,o=this._values[f];if(o){let D=o.get(r);if(D)return D}else o=this._values[f]=new Map;o.set(r,n);let a=this._scope[f]||(this._scope[f]=[]),s=a.length;return a[s]=t.ref,n.setValue(t,{property:f,itemIndex:s}),n}getValue(u,t){let i=this._values[u];if(i)return i.get(t)}scopeRefs(u,t=this._values){return this._reduceValues(t,i=>{if(i.scopePath===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return(0,Bt._)`${u}${i.scopePath}`})}scopeCode(u=this._values,t,i){return this._reduceValues(u,n=>{if(n.value===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return n.value.code},t,i)}_reduceValues(u,t,i={},n){let f=Bt.nil;for(let r in u){let o=u[r];if(!o)continue;let a=i[r]=i[r]||new Map;o.forEach(s=>{if(a.has(s))return;a.set(s,Yr.Started);let D=t(s);if(D){let d=this.opts.es5?xt.varKinds.var:xt.varKinds.const;f=(0,Bt._)`${f}${d} ${s} = ${D};${this.opts._n}`}else if(D=n?.(s))f=(0,Bt._)`${f}${D}${this.opts._n}`;else throw new cs(s);a.set(s,Yr.Completed)})}return f}};xt.ValueScope=ps});var ee=F(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.or=De.and=De.not=De.CodeGen=De.operators=De.varKinds=De.ValueScopeName=De.ValueScope=De.Scope=De.Name=De.regexpCode=De.stringify=De.getProperty=De.nil=De.strConcat=De.str=De._=void 0;var Fe=af(),iu=ms(),ei=af();Object.defineProperty(De,"_",{enumerable:!0,get:function(){return ei._}});Object.defineProperty(De,"str",{enumerable:!0,get:function(){return ei.str}});Object.defineProperty(De,"strConcat",{enumerable:!0,get:function(){return ei.strConcat}});Object.defineProperty(De,"nil",{enumerable:!0,get:function(){return ei.nil}});Object.defineProperty(De,"getProperty",{enumerable:!0,get:function(){return ei.getProperty}});Object.defineProperty(De,"stringify",{enumerable:!0,get:function(){return ei.stringify}});Object.defineProperty(De,"regexpCode",{enumerable:!0,get:function(){return ei.regexpCode}});Object.defineProperty(De,"Name",{enumerable:!0,get:function(){return ei.Name}});var no=ms();Object.defineProperty(De,"Scope",{enumerable:!0,get:function(){return no.Scope}});Object.defineProperty(De,"ValueScope",{enumerable:!0,get:function(){return no.ValueScope}});Object.defineProperty(De,"ValueScopeName",{enumerable:!0,get:function(){return no.ValueScopeName}});Object.defineProperty(De,"varKinds",{enumerable:!0,get:function(){return no.varKinds}});De.operators={GT:new Fe._Code(">"),GTE:new Fe._Code(">="),LT:new Fe._Code("<"),LTE:new Fe._Code("<="),EQ:new Fe._Code("==="),NEQ:new Fe._Code("!=="),NOT:new Fe._Code("!"),OR:new Fe._Code("||"),AND:new Fe._Code("&&"),ADD:new Fe._Code("+")};var xu=class{optimizeNodes(){return this}optimizeNames(u,t){return this}},Fs=class extends xu{constructor(u,t,i){super(),this.varKind=u,this.name=t,this.rhs=i}render({es5:u,_n:t}){let i=u?iu.varKinds.var:this.varKind,n=this.rhs===void 0?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+t}optimizeNames(u,t){if(u[this.name.str])return this.rhs&&(this.rhs=un(this.rhs,u,t)),this}get names(){return this.rhs instanceof Fe._CodeOrName?this.rhs.names:{}}},to=class extends xu{constructor(u,t,i){super(),this.lhs=u,this.rhs=t,this.sideEffects=i}render({_n:u}){return`${this.lhs} = ${this.rhs};`+u}optimizeNames(u,t){if(!(this.lhs instanceof Fe.Name&&!u[this.lhs.str]&&!this.sideEffects))return this.rhs=un(this.rhs,u,t),this}get names(){let u=this.lhs instanceof Fe.Name?{}:X({},this.lhs.names);return io(u,this.rhs)}},Cs=class extends to{constructor(u,t,i,n){super(u,i,n),this.op=t}render({_n:u}){return`${this.lhs} ${this.op}= ${this.rhs};`+u}},hs=class extends xu{constructor(u){super(),this.label=u,this.names={}}render({_n:u}){return`${this.label}:`+u}},gs=class extends xu{constructor(u){super(),this.label=u,this.names={}}render({_n:u}){return`break${this.label?` ${this.label}`:""};`+u}},bs=class extends xu{constructor(u){super(),this.error=u}render({_n:u}){return`throw ${this.error};`+u}get names(){return this.error.names}},Es=class extends xu{constructor(u){super(),this.code=u}render({_n:u}){return`${this.code};`+u}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(u,t){return this.code=un(this.code,u,t),this}get names(){return this.code instanceof Fe._CodeOrName?this.code.names:{}}},sf=class extends xu{constructor(u=[]){super(),this.nodes=u}render(u){return this.nodes.reduce((t,i)=>t+i.render(u),"")}optimizeNodes(){let{nodes:u}=this,t=u.length;for(;t--;){let i=u[t].optimizeNodes();Array.isArray(i)?u.splice(t,1,...i):i?u[t]=i:u.splice(t,1)}return u.length>0?this:void 0}optimizeNames(u,t){let{nodes:i}=this,n=i.length;for(;n--;){let f=i[n];f.optimizeNames(u,t)||(pb(u,f.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce((u,t)=>Ii(u,t.names),{})}},wu=class extends sf{render(u){return"{"+u._n+super.render(u)+"}"+u._n}},_s=class extends sf{},ys=(()=>{class e extends wu{}return e.kind="else",e})(),eo=(()=>{class e extends wu{constructor(t,i){super(i),this.condition=t}render(t){let i=`if(${this.condition})`+super.render(t);return this.else&&(i+="else "+this.else.render(t)),i}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let i=this.else;if(i){let n=i.optimizeNodes();i=this.else=Array.isArray(n)?new ys(n):n}if(i)return t===!1?i instanceof e?i:i.nodes:this.nodes.length?this:new e(X1(t),i instanceof e?[i]:i.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,i){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,i),!!(super.optimizeNames(t,i)||this.else))return this.condition=un(this.condition,t,i),this}get names(){let t=super.names;return io(t,this.condition),this.else&&Ii(t,this.else.names),t}}return e.kind="if",e})(),fo=(()=>{class e extends wu{}return e.kind="for",e})(),vs=class extends fo{constructor(u){super(),this.iteration=u}render(u){return`for(${this.iteration})`+super.render(u)}optimizeNames(u,t){if(super.optimizeNames(u,t))return this.iteration=un(this.iteration,u,t),this}get names(){return Ii(super.names,this.iteration.names)}},Bs=class extends fo{constructor(u,t,i,n){super(),this.varKind=u,this.name=t,this.from=i,this.to=n}render(u){let t=u.es5?iu.varKinds.var:this.varKind,{name:i,from:n,to:f}=this;return`for(${t} ${i}=${n}; ${i}<${f}; ${i}++)`+super.render(u)}get names(){let u=io(super.names,this.from);return io(u,this.to)}},uo=class extends fo{constructor(u,t,i,n){super(),this.loop=u,this.varKind=t,this.name=i,this.iterable=n}render(u){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(u)}optimizeNames(u,t){if(super.optimizeNames(u,t))return this.iterable=un(this.iterable,u,t),this}get names(){return Ii(super.names,this.iterable.names)}},W1=(()=>{class e extends wu{constructor(t,i,n){super(),this.name=t,this.args=i,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}}return e.kind="func",e})(),K1=(()=>{class e extends sf{render(t){return"return "+super.render(t)}}return e.kind="return",e})(),xs=class extends wu{render(u){let t="try"+super.render(u);return this.catch&&(t+=this.catch.render(u)),this.finally&&(t+=this.finally.render(u)),t}optimizeNodes(){var u,t;return super.optimizeNodes(),(u=this.catch)===null||u===void 0||u.optimizeNodes(),(t=this.finally)===null||t===void 0||t.optimizeNodes(),this}optimizeNames(u,t){var i,n;return super.optimizeNames(u,t),(i=this.catch)===null||i===void 0||i.optimizeNames(u,t),(n=this.finally)===null||n===void 0||n.optimizeNames(u,t),this}get names(){let u=super.names;return this.catch&&Ii(u,this.catch.names),this.finally&&Ii(u,this.finally.names),u}},G1=(()=>{class e extends wu{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}}return e.kind="catch",e})(),J1=(()=>{class e extends wu{render(t){return"finally"+super.render(t)}}return e.kind="finally",e})(),ws=class{constructor(u,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts=xe(X({},t),{_n:t.lines?`
|
|
1
|
+
import{a as cu,b as ib}from"./chunk-6XANA56B.js";import{a as j1}from"./chunk-WTTWP6KF.js";import{a as Jr,b as Xr}from"./chunk-QJQSHTGR.js";import{a as q1}from"./chunk-S6UXXPGF.js";import{a as z1,b as ff}from"./chunk-Y4TQ6524.js";import{a as R1,b as L1}from"./chunk-AJTG3DAQ.js";import{a as V1}from"./chunk-J764EFYE.js";import{a as Ds}from"./chunk-SCRWY2OT.js";import{a as N1}from"./chunk-IMPGSXGE.js";import{a as zr,b as Ur,c as Hr,d as Wr,e as Kr,f as Gr,g as Qi,m as Ae,n as it,o as k1,p as T1,q as P1,r as O1,s as M1,t as en}from"./chunk-2NQ5FYSH.js";import{A as nf,a as v1,b as Ju,c as Yi,e as vt,f as B1,h as x1,i as w1,j as S1,k as I1,l as Xu,m as A1,o as Yu,r as Zi,s as xi,t as wi,y as $1,z as uu}from"./chunk-5NG7YGKN.js";import{d as Ut}from"./chunk-JBQX4JBH.js";import{a as Qu}from"./chunk-KL6YS6NM.js";import{b as Re}from"./chunk-XAXF5JVR.js";import{k as _e,m as Zu,n as be}from"./chunk-LBMQRUFA.js";import{e as y1}from"./chunk-EM4PY2IW.js";import{a as Ee,b as $e}from"./chunk-555LSHXI.js";import{$a as l,Ac as y,Bc as B,Ca as zu,Cc as He,D as o1,Da as d1,Fa as Uu,Gb as G,Hb as w,Ib as S,Jc as gt,Kb as nt,Kc as U,Lb as ft,Lc as Gu,M as Ki,Mb as rt,Nb as b,Nc as E1,Ob as c,Pb as p,Qb as x,Rb as F1,Sb as C1,Ub as H,Xa as me,Xb as M,Yb as C,Z as rs,_a as c1,a as X,aa as uf,ac as os,b as xe,bc as as,bd as zt,cc as ss,cd as Bi,dc as Hu,dd as bt,e as F,eb as qr,ec as Wu,fa as a1,fb as yu,fc as h1,g as Ue,ga as Ot,gc as eu,h as K,ha as Gi,hb as _i,hc as Ku,ic as Z,ja as s1,jc as E,k as i1,ka as D1,kc as R,kd as Lr,la as I,lb as Y,lc as q,mb as Ji,mc as yi,n as Pt,nb as vu,nc as Rr,o as fs,ob as p1,q as n1,qc as Pe,ra as j,rb as se,rc as Oe,sa as N,sc as Me,sd as _1,ta as l1,tb as m1,tc as g1,ub as Vr,uc as b1,v as f1,vc as Ie,w as re,wc as tu,x as r1,xc as vi,yc as Bu,za as Nr,zc as Xi}from"./chunk-W6X46MTW.js";var af=F(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.regexpCode=ge.getEsmExportName=ge.getProperty=ge.safeStringify=ge.stringify=ge.strConcat=ge.addCodeArg=ge.str=ge._=ge.nil=ge._Code=ge.Name=ge.IDENTIFIER=ge._CodeOrName=void 0;var rf=class{};ge._CodeOrName=rf;ge.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Si=class extends rf{constructor(u){if(super(),!ge.IDENTIFIER.test(u))throw new Error("CodeGen: name must be a valid identifier");this.str=u}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};ge.Name=Si;var Ht=class extends rf{constructor(u){super(),this._items=typeof u=="string"?[u]:u}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let u=this._items[0];return u===""||u==='""'}get str(){var u;return(u=this._str)!==null&&u!==void 0?u:this._str=this._items.reduce((t,i)=>`${t}${i}`,"")}get names(){var u;return(u=this._names)!==null&&u!==void 0?u:this._names=this._items.reduce((t,i)=>(i instanceof Si&&(t[i.str]=(t[i.str]||0)+1),t),{})}};ge._Code=Ht;ge.nil=new Ht("");function U1(e,...u){let t=[e[0]],i=0;for(;i<u.length;)ds(t,u[i]),t.push(e[++i]);return new Ht(t)}ge._=U1;var ls=new Ht("+");function H1(e,...u){let t=[of(e[0])],i=0;for(;i<u.length;)t.push(ls),ds(t,u[i]),t.push(ls,of(e[++i]));return fb(t),new Ht(t)}ge.str=H1;function ds(e,u){u instanceof Ht?e.push(...u._items):u instanceof Si?e.push(u):e.push(ab(u))}ge.addCodeArg=ds;function fb(e){let u=1;for(;u<e.length-1;){if(e[u]===ls){let t=rb(e[u-1],e[u+1]);if(t!==void 0){e.splice(u-1,3,t);continue}e[u++]="+"}u++}}function rb(e,u){if(u==='""')return e;if(e==='""')return u;if(typeof e=="string")return u instanceof Si||e[e.length-1]!=='"'?void 0:typeof u!="string"?`${e.slice(0,-1)}${u}"`:u[0]==='"'?e.slice(0,-1)+u.slice(1):void 0;if(typeof u=="string"&&u[0]==='"'&&!(e instanceof Si))return`"${e}${u.slice(1)}`}function ob(e,u){return u.emptyStr()?e:e.emptyStr()?u:H1`${e}${u}`}ge.strConcat=ob;function ab(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:of(Array.isArray(e)?e.join(","):e)}function sb(e){return new Ht(of(e))}ge.stringify=sb;function of(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}ge.safeStringify=of;function Db(e){return typeof e=="string"&&ge.IDENTIFIER.test(e)?new Ht(`.${e}`):U1`[${e}]`}ge.getProperty=Db;function lb(e){if(typeof e=="string"&&ge.IDENTIFIER.test(e))return new Ht(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}ge.getEsmExportName=lb;function db(e){return new Ht(e.toString())}ge.regexpCode=db});var ms=F(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.ValueScope=xt.ValueScopeName=xt.Scope=xt.varKinds=xt.UsedValueState=void 0;var Bt=af(),cs=class extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}},Yr=function(e){return e[e.Started=0]="Started",e[e.Completed=1]="Completed",e}(Yr||(xt.UsedValueState=Yr={}));xt.varKinds={const:new Bt.Name("const"),let:new Bt.Name("let"),var:new Bt.Name("var")};var Zr=class{constructor({prefixes:u,parent:t}={}){this._names={},this._prefixes=u,this._parent=t}toName(u){return u instanceof Bt.Name?u:this.name(u)}name(u){return new Bt.Name(this._newName(u))}_newName(u){let t=this._names[u]||this._nameGroup(u);return`${u}${t.index++}`}_nameGroup(u){var t,i;if(!((i=(t=this._parent)===null||t===void 0?void 0:t._prefixes)===null||i===void 0)&&i.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}};xt.Scope=Zr;var Qr=class extends Bt.Name{constructor(u,t){super(t),this.prefix=u}setValue(u,{property:t,itemIndex:i}){this.value=u,this.scopePath=(0,Bt._)`.${new Bt.Name(t)}[${i}]`}};xt.ValueScopeName=Qr;var cb=(0,Bt._)`\n`,ps=class extends Zr{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts=xe(X({},u),{_n:u.lines?cb:Bt.nil})}get(){return this._scope}name(u){return new Qr(u,this._newName(u))}value(u,t){var i;if(t.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let n=this.toName(u),{prefix:f}=n,r=(i=t.key)!==null&&i!==void 0?i:t.ref,o=this._values[f];if(o){let D=o.get(r);if(D)return D}else o=this._values[f]=new Map;o.set(r,n);let a=this._scope[f]||(this._scope[f]=[]),s=a.length;return a[s]=t.ref,n.setValue(t,{property:f,itemIndex:s}),n}getValue(u,t){let i=this._values[u];if(i)return i.get(t)}scopeRefs(u,t=this._values){return this._reduceValues(t,i=>{if(i.scopePath===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return(0,Bt._)`${u}${i.scopePath}`})}scopeCode(u=this._values,t,i){return this._reduceValues(u,n=>{if(n.value===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return n.value.code},t,i)}_reduceValues(u,t,i={},n){let f=Bt.nil;for(let r in u){let o=u[r];if(!o)continue;let a=i[r]=i[r]||new Map;o.forEach(s=>{if(a.has(s))return;a.set(s,Yr.Started);let D=t(s);if(D){let d=this.opts.es5?xt.varKinds.var:xt.varKinds.const;f=(0,Bt._)`${f}${d} ${s} = ${D};${this.opts._n}`}else if(D=n?.(s))f=(0,Bt._)`${f}${D}${this.opts._n}`;else throw new cs(s);a.set(s,Yr.Completed)})}return f}};xt.ValueScope=ps});var ee=F(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.or=De.and=De.not=De.CodeGen=De.operators=De.varKinds=De.ValueScopeName=De.ValueScope=De.Scope=De.Name=De.regexpCode=De.stringify=De.getProperty=De.nil=De.strConcat=De.str=De._=void 0;var Fe=af(),iu=ms(),ei=af();Object.defineProperty(De,"_",{enumerable:!0,get:function(){return ei._}});Object.defineProperty(De,"str",{enumerable:!0,get:function(){return ei.str}});Object.defineProperty(De,"strConcat",{enumerable:!0,get:function(){return ei.strConcat}});Object.defineProperty(De,"nil",{enumerable:!0,get:function(){return ei.nil}});Object.defineProperty(De,"getProperty",{enumerable:!0,get:function(){return ei.getProperty}});Object.defineProperty(De,"stringify",{enumerable:!0,get:function(){return ei.stringify}});Object.defineProperty(De,"regexpCode",{enumerable:!0,get:function(){return ei.regexpCode}});Object.defineProperty(De,"Name",{enumerable:!0,get:function(){return ei.Name}});var no=ms();Object.defineProperty(De,"Scope",{enumerable:!0,get:function(){return no.Scope}});Object.defineProperty(De,"ValueScope",{enumerable:!0,get:function(){return no.ValueScope}});Object.defineProperty(De,"ValueScopeName",{enumerable:!0,get:function(){return no.ValueScopeName}});Object.defineProperty(De,"varKinds",{enumerable:!0,get:function(){return no.varKinds}});De.operators={GT:new Fe._Code(">"),GTE:new Fe._Code(">="),LT:new Fe._Code("<"),LTE:new Fe._Code("<="),EQ:new Fe._Code("==="),NEQ:new Fe._Code("!=="),NOT:new Fe._Code("!"),OR:new Fe._Code("||"),AND:new Fe._Code("&&"),ADD:new Fe._Code("+")};var xu=class{optimizeNodes(){return this}optimizeNames(u,t){return this}},Fs=class extends xu{constructor(u,t,i){super(),this.varKind=u,this.name=t,this.rhs=i}render({es5:u,_n:t}){let i=u?iu.varKinds.var:this.varKind,n=this.rhs===void 0?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+t}optimizeNames(u,t){if(u[this.name.str])return this.rhs&&(this.rhs=un(this.rhs,u,t)),this}get names(){return this.rhs instanceof Fe._CodeOrName?this.rhs.names:{}}},to=class extends xu{constructor(u,t,i){super(),this.lhs=u,this.rhs=t,this.sideEffects=i}render({_n:u}){return`${this.lhs} = ${this.rhs};`+u}optimizeNames(u,t){if(!(this.lhs instanceof Fe.Name&&!u[this.lhs.str]&&!this.sideEffects))return this.rhs=un(this.rhs,u,t),this}get names(){let u=this.lhs instanceof Fe.Name?{}:X({},this.lhs.names);return io(u,this.rhs)}},Cs=class extends to{constructor(u,t,i,n){super(u,i,n),this.op=t}render({_n:u}){return`${this.lhs} ${this.op}= ${this.rhs};`+u}},hs=class extends xu{constructor(u){super(),this.label=u,this.names={}}render({_n:u}){return`${this.label}:`+u}},gs=class extends xu{constructor(u){super(),this.label=u,this.names={}}render({_n:u}){return`break${this.label?` ${this.label}`:""};`+u}},bs=class extends xu{constructor(u){super(),this.error=u}render({_n:u}){return`throw ${this.error};`+u}get names(){return this.error.names}},Es=class extends xu{constructor(u){super(),this.code=u}render({_n:u}){return`${this.code};`+u}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(u,t){return this.code=un(this.code,u,t),this}get names(){return this.code instanceof Fe._CodeOrName?this.code.names:{}}},sf=class extends xu{constructor(u=[]){super(),this.nodes=u}render(u){return this.nodes.reduce((t,i)=>t+i.render(u),"")}optimizeNodes(){let{nodes:u}=this,t=u.length;for(;t--;){let i=u[t].optimizeNodes();Array.isArray(i)?u.splice(t,1,...i):i?u[t]=i:u.splice(t,1)}return u.length>0?this:void 0}optimizeNames(u,t){let{nodes:i}=this,n=i.length;for(;n--;){let f=i[n];f.optimizeNames(u,t)||(pb(u,f.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce((u,t)=>Ii(u,t.names),{})}},wu=class extends sf{render(u){return"{"+u._n+super.render(u)+"}"+u._n}},_s=class extends sf{},ys=(()=>{class e extends wu{}return e.kind="else",e})(),eo=(()=>{class e extends wu{constructor(t,i){super(i),this.condition=t}render(t){let i=`if(${this.condition})`+super.render(t);return this.else&&(i+="else "+this.else.render(t)),i}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let i=this.else;if(i){let n=i.optimizeNodes();i=this.else=Array.isArray(n)?new ys(n):n}if(i)return t===!1?i instanceof e?i:i.nodes:this.nodes.length?this:new e(X1(t),i instanceof e?[i]:i.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,i){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,i),!!(super.optimizeNames(t,i)||this.else))return this.condition=un(this.condition,t,i),this}get names(){let t=super.names;return io(t,this.condition),this.else&&Ii(t,this.else.names),t}}return e.kind="if",e})(),fo=(()=>{class e extends wu{}return e.kind="for",e})(),vs=class extends fo{constructor(u){super(),this.iteration=u}render(u){return`for(${this.iteration})`+super.render(u)}optimizeNames(u,t){if(super.optimizeNames(u,t))return this.iteration=un(this.iteration,u,t),this}get names(){return Ii(super.names,this.iteration.names)}},Bs=class extends fo{constructor(u,t,i,n){super(),this.varKind=u,this.name=t,this.from=i,this.to=n}render(u){let t=u.es5?iu.varKinds.var:this.varKind,{name:i,from:n,to:f}=this;return`for(${t} ${i}=${n}; ${i}<${f}; ${i}++)`+super.render(u)}get names(){let u=io(super.names,this.from);return io(u,this.to)}},uo=class extends fo{constructor(u,t,i,n){super(),this.loop=u,this.varKind=t,this.name=i,this.iterable=n}render(u){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(u)}optimizeNames(u,t){if(super.optimizeNames(u,t))return this.iterable=un(this.iterable,u,t),this}get names(){return Ii(super.names,this.iterable.names)}},W1=(()=>{class e extends wu{constructor(t,i,n){super(),this.name=t,this.args=i,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}}return e.kind="func",e})(),K1=(()=>{class e extends sf{render(t){return"return "+super.render(t)}}return e.kind="return",e})(),xs=class extends wu{render(u){let t="try"+super.render(u);return this.catch&&(t+=this.catch.render(u)),this.finally&&(t+=this.finally.render(u)),t}optimizeNodes(){var u,t;return super.optimizeNodes(),(u=this.catch)===null||u===void 0||u.optimizeNodes(),(t=this.finally)===null||t===void 0||t.optimizeNodes(),this}optimizeNames(u,t){var i,n;return super.optimizeNames(u,t),(i=this.catch)===null||i===void 0||i.optimizeNames(u,t),(n=this.finally)===null||n===void 0||n.optimizeNames(u,t),this}get names(){let u=super.names;return this.catch&&Ii(u,this.catch.names),this.finally&&Ii(u,this.finally.names),u}},G1=(()=>{class e extends wu{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}}return e.kind="catch",e})(),J1=(()=>{class e extends wu{render(t){return"finally"+super.render(t)}}return e.kind="finally",e})(),ws=class{constructor(u,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts=xe(X({},t),{_n:t.lines?`
|
|
2
2
|
`:""}),this._extScope=u,this._scope=new iu.Scope({parent:u}),this._nodes=[new _s]}toString(){return this._root.render(this.opts)}name(u){return this._scope.name(u)}scopeName(u){return this._extScope.name(u)}scopeValue(u,t){let i=this._extScope.value(u,t);return(this._values[i.prefix]||(this._values[i.prefix]=new Set)).add(i),i}getScopeValue(u,t){return this._extScope.getValue(u,t)}scopeRefs(u){return this._extScope.scopeRefs(u,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(u,t,i,n){let f=this._scope.toName(t);return i!==void 0&&n&&(this._constants[f.str]=i),this._leafNode(new Fs(u,f,i)),f}const(u,t,i){return this._def(iu.varKinds.const,u,t,i)}let(u,t,i){return this._def(iu.varKinds.let,u,t,i)}var(u,t,i){return this._def(iu.varKinds.var,u,t,i)}assign(u,t,i){return this._leafNode(new to(u,t,i))}add(u,t){return this._leafNode(new Cs(u,De.operators.ADD,t))}code(u){return typeof u=="function"?u():u!==Fe.nil&&this._leafNode(new Es(u)),this}object(...u){let t=["{"];for(let[i,n]of u)t.length>1&&t.push(","),t.push(i),(i!==n||this.opts.es5)&&(t.push(":"),(0,Fe.addCodeArg)(t,n));return t.push("}"),new Fe._Code(t)}if(u,t,i){if(this._blockNode(new eo(u)),t&&i)this.code(t).else().code(i).endIf();else if(t)this.code(t).endIf();else if(i)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(u){return this._elseNode(new eo(u))}else(){return this._elseNode(new ys)}endIf(){return this._endBlockNode(eo,ys)}_for(u,t){return this._blockNode(u),t&&this.code(t).endFor(),this}for(u,t){return this._for(new vs(u),t)}forRange(u,t,i,n,f=this.opts.es5?iu.varKinds.var:iu.varKinds.let){let r=this._scope.toName(u);return this._for(new Bs(f,r,t,i),()=>n(r))}forOf(u,t,i,n=iu.varKinds.const){let f=this._scope.toName(u);if(this.opts.es5){let r=t instanceof Fe.Name?t:this.var("_arr",t);return this.forRange("_i",0,(0,Fe._)`${r}.length`,o=>{this.var(f,(0,Fe._)`${r}[${o}]`),i(f)})}return this._for(new uo("of",n,f,t),()=>i(f))}forIn(u,t,i,n=this.opts.es5?iu.varKinds.var:iu.varKinds.const){if(this.opts.ownProperties)return this.forOf(u,(0,Fe._)`Object.keys(${t})`,i);let f=this._scope.toName(u);return this._for(new uo("in",n,f,t),()=>i(f))}endFor(){return this._endBlockNode(fo)}label(u){return this._leafNode(new hs(u))}break(u){return this._leafNode(new gs(u))}return(u){let t=new K1;if(this._blockNode(t),this.code(u),t.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(K1)}try(u,t,i){if(!t&&!i)throw new Error('CodeGen: "try" without "catch" and "finally"');let n=new xs;if(this._blockNode(n),this.code(u),t){let f=this.name("e");this._currNode=n.catch=new G1(f),t(f)}return i&&(this._currNode=n.finally=new J1,this.code(i)),this._endBlockNode(G1,J1)}throw(u){return this._leafNode(new bs(u))}block(u,t){return this._blockStarts.push(this._nodes.length),u&&this.code(u).endBlock(t),this}endBlock(u){let t=this._blockStarts.pop();if(t===void 0)throw new Error("CodeGen: not in self-balancing block");let i=this._nodes.length-t;if(i<0||u!==void 0&&i!==u)throw new Error(`CodeGen: wrong number of nodes: ${i} vs ${u} expected`);return this._nodes.length=t,this}func(u,t=Fe.nil,i,n){return this._blockNode(new W1(u,t,i)),n&&this.code(n).endFunc(),this}endFunc(){return this._endBlockNode(W1)}optimize(u=1){for(;u-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(u){return this._currNode.nodes.push(u),this}_blockNode(u){this._currNode.nodes.push(u),this._nodes.push(u)}_endBlockNode(u,t){let i=this._currNode;if(i instanceof u||t&&i instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${u.kind}/${t.kind}`:u.kind}"`)}_elseNode(u){let t=this._currNode;if(!(t instanceof eo))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=u,this}get _root(){return this._nodes[0]}get _currNode(){let u=this._nodes;return u[u.length-1]}set _currNode(u){let t=this._nodes;t[t.length-1]=u}};De.CodeGen=ws;function Ii(e,u){for(let t in u)e[t]=(e[t]||0)+(u[t]||0);return e}function io(e,u){return u instanceof Fe._CodeOrName?Ii(e,u.names):e}function un(e,u,t){if(e instanceof Fe.Name)return i(e);if(!n(e))return e;return new Fe._Code(e._items.reduce((f,r)=>(r instanceof Fe.Name&&(r=i(r)),r instanceof Fe._Code?f.push(...r._items):f.push(r),f),[]));function i(f){let r=t[f.str];return r===void 0||u[f.str]!==1?f:(delete u[f.str],r)}function n(f){return f instanceof Fe._Code&&f._items.some(r=>r instanceof Fe.Name&&u[r.str]===1&&t[r.str]!==void 0)}}function pb(e,u){for(let t in u)e[t]=(e[t]||0)-(u[t]||0)}function X1(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,Fe._)`!${Ss(e)}`}De.not=X1;var mb=Y1(De.operators.AND);function Fb(...e){return e.reduce(mb)}De.and=Fb;var Cb=Y1(De.operators.OR);function hb(...e){return e.reduce(Cb)}De.or=hb;function Y1(e){return(u,t)=>u===Fe.nil?t:t===Fe.nil?u:(0,Fe._)`${Ss(u)} ${e} ${Ss(t)}`}function Ss(e){return e instanceof Fe.Name?e:(0,Fe._)`(${e})`}});var de=F(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.checkStrictMode=le.getErrorPath=le.Type=le.useFunc=le.setEvaluated=le.evaluatedPropsToName=le.mergeEvaluated=le.eachItem=le.unescapeJsonPointer=le.escapeJsonPointer=le.escapeFragment=le.unescapeFragment=le.schemaRefOrVal=le.schemaHasRulesButRef=le.schemaHasRules=le.checkUnknownRules=le.alwaysValidSchema=le.toHash=void 0;var we=ee(),gb=af();function bb(e){let u={};for(let t of e)u[t]=!0;return u}le.toHash=bb;function Eb(e,u){return typeof u=="boolean"?u:Object.keys(u).length===0?!0:(ed(e,u),!td(u,e.self.RULES.all))}le.alwaysValidSchema=Eb;function ed(e,u=e.schema){let{opts:t,self:i}=e;if(!t.strictSchema||typeof u=="boolean")return;let n=i.RULES.keywords;for(let f in u)n[f]||nd(e,`unknown keyword: "${f}"`)}le.checkUnknownRules=ed;function td(e,u){if(typeof e=="boolean")return!e;for(let t in e)if(u[t])return!0;return!1}le.schemaHasRules=td;function _b(e,u){if(typeof e=="boolean")return!e;for(let t in e)if(t!=="$ref"&&u.all[t])return!0;return!1}le.schemaHasRulesButRef=_b;function yb({topSchemaRef:e,schemaPath:u},t,i,n){if(!n){if(typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="string")return(0,we._)`${t}`}return(0,we._)`${e}${u}${(0,we.getProperty)(i)}`}le.schemaRefOrVal=yb;function vb(e){return ud(decodeURIComponent(e))}le.unescapeFragment=vb;function Bb(e){return encodeURIComponent(As(e))}le.escapeFragment=Bb;function As(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}le.escapeJsonPointer=As;function ud(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}le.unescapeJsonPointer=ud;function xb(e,u){if(Array.isArray(e))for(let t of e)u(t);else u(e)}le.eachItem=xb;function Z1({mergeNames:e,mergeToName:u,mergeValues:t,resultToName:i}){return(n,f,r,o)=>{let a=r===void 0?f:r instanceof we.Name?(f instanceof we.Name?e(n,f,r):u(n,f,r),r):f instanceof we.Name?(u(n,r,f),f):t(f,r);return o===we.Name&&!(a instanceof we.Name)?i(n,a):a}}le.mergeEvaluated={props:Z1({mergeNames:(e,u,t)=>e.if((0,we._)`${t} !== true && ${u} !== undefined`,()=>{e.if((0,we._)`${u} === true`,()=>e.assign(t,!0),()=>e.assign(t,(0,we._)`${t} || {}`).code((0,we._)`Object.assign(${t}, ${u})`))}),mergeToName:(e,u,t)=>e.if((0,we._)`${t} !== true`,()=>{u===!0?e.assign(t,!0):(e.assign(t,(0,we._)`${t} || {}`),$s(e,t,u))}),mergeValues:(e,u)=>e===!0?!0:X(X({},e),u),resultToName:id}),items:Z1({mergeNames:(e,u,t)=>e.if((0,we._)`${t} !== true && ${u} !== undefined`,()=>e.assign(t,(0,we._)`${u} === true ? true : ${t} > ${u} ? ${t} : ${u}`)),mergeToName:(e,u,t)=>e.if((0,we._)`${t} !== true`,()=>e.assign(t,u===!0?!0:(0,we._)`${t} > ${u} ? ${t} : ${u}`)),mergeValues:(e,u)=>e===!0?!0:Math.max(e,u),resultToName:(e,u)=>e.var("items",u)})};function id(e,u){if(u===!0)return e.var("props",!0);let t=e.var("props",(0,we._)`{}`);return u!==void 0&&$s(e,t,u),t}le.evaluatedPropsToName=id;function $s(e,u,t){Object.keys(t).forEach(i=>e.assign((0,we._)`${u}${(0,we.getProperty)(i)}`,!0))}le.setEvaluated=$s;var Q1={};function wb(e,u){return e.scopeValue("func",{ref:u,code:Q1[u.code]||(Q1[u.code]=new gb._Code(u.code))})}le.useFunc=wb;var Is=function(e){return e[e.Num=0]="Num",e[e.Str=1]="Str",e}(Is||(le.Type=Is={}));function Sb(e,u,t){if(e instanceof we.Name){let i=u===Is.Num;return t?i?(0,we._)`"[" + ${e} + "]"`:(0,we._)`"['" + ${e} + "']"`:i?(0,we._)`"/" + ${e}`:(0,we._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return t?(0,we.getProperty)(e).toString():"/"+As(e)}le.getErrorPath=Sb;function nd(e,u,t=e.opts.strictSchema){if(t){if(u=`strict mode: ${u}`,t===!0)throw new Error(u);e.self.logger.warn(u)}}le.checkStrictMode=nd});var Wt=F(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});var lt=ee(),Ib={data:new lt.Name("data"),valCxt:new lt.Name("valCxt"),instancePath:new lt.Name("instancePath"),parentData:new lt.Name("parentData"),parentDataProperty:new lt.Name("parentDataProperty"),rootData:new lt.Name("rootData"),dynamicAnchors:new lt.Name("dynamicAnchors"),vErrors:new lt.Name("vErrors"),errors:new lt.Name("errors"),this:new lt.Name("this"),self:new lt.Name("self"),scope:new lt.Name("scope"),json:new lt.Name("json"),jsonPos:new lt.Name("jsonPos"),jsonLen:new lt.Name("jsonLen"),jsonPart:new lt.Name("jsonPart")};ks.default=Ib});var Df=F(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.extendErrors=dt.resetErrorsCount=dt.reportExtraError=dt.reportError=dt.keyword$DataError=dt.keywordError=void 0;var he=ee(),ro=de(),Et=Wt();dt.keywordError={message:({keyword:e})=>(0,he.str)`must pass "${e}" keyword validation`};dt.keyword$DataError={message:({keyword:e,schemaType:u})=>u?(0,he.str)`"${e}" keyword must be ${u} ($data)`:(0,he.str)`"${e}" keyword is invalid ($data)`};function Ab(e,u=dt.keywordError,t,i){let{it:n}=e,{gen:f,compositeRule:r,allErrors:o}=n,a=od(e,u,t);i??(r||o)?fd(f,a):rd(n,(0,he._)`[${a}]`)}dt.reportError=Ab;function $b(e,u=dt.keywordError,t){let{it:i}=e,{gen:n,compositeRule:f,allErrors:r}=i,o=od(e,u,t);fd(n,o),f||r||rd(i,Et.default.vErrors)}dt.reportExtraError=$b;function kb(e,u){e.assign(Et.default.errors,u),e.if((0,he._)`${Et.default.vErrors} !== null`,()=>e.if(u,()=>e.assign((0,he._)`${Et.default.vErrors}.length`,u),()=>e.assign(Et.default.vErrors,null)))}dt.resetErrorsCount=kb;function Tb({gen:e,keyword:u,schemaValue:t,data:i,errsCount:n,it:f}){if(n===void 0)throw new Error("ajv implementation error");let r=e.name("err");e.forRange("i",n,Et.default.errors,o=>{e.const(r,(0,he._)`${Et.default.vErrors}[${o}]`),e.if((0,he._)`${r}.instancePath === undefined`,()=>e.assign((0,he._)`${r}.instancePath`,(0,he.strConcat)(Et.default.instancePath,f.errorPath))),e.assign((0,he._)`${r}.schemaPath`,(0,he.str)`${f.errSchemaPath}/${u}`),f.opts.verbose&&(e.assign((0,he._)`${r}.schema`,t),e.assign((0,he._)`${r}.data`,i))})}dt.extendErrors=Tb;function fd(e,u){let t=e.const("err",u);e.if((0,he._)`${Et.default.vErrors} === null`,()=>e.assign(Et.default.vErrors,(0,he._)`[${t}]`),(0,he._)`${Et.default.vErrors}.push(${t})`),e.code((0,he._)`${Et.default.errors}++`)}function rd(e,u){let{gen:t,validateName:i,schemaEnv:n}=e;n.$async?t.throw((0,he._)`new ${e.ValidationError}(${u})`):(t.assign((0,he._)`${i}.errors`,u),t.return(!1))}var Ai={keyword:new he.Name("keyword"),schemaPath:new he.Name("schemaPath"),params:new he.Name("params"),propertyName:new he.Name("propertyName"),message:new he.Name("message"),schema:new he.Name("schema"),parentSchema:new he.Name("parentSchema")};function od(e,u,t){let{createErrors:i}=e.it;return i===!1?(0,he._)`{}`:Pb(e,u,t)}function Pb(e,u,t={}){let{gen:i,it:n}=e,f=[Ob(n,t),Mb(e,t)];return jb(e,u,f),i.object(...f)}function Ob({errorPath:e},{instancePath:u}){let t=u?(0,he.str)`${e}${(0,ro.getErrorPath)(u,ro.Type.Str)}`:e;return[Et.default.instancePath,(0,he.strConcat)(Et.default.instancePath,t)]}function Mb({keyword:e,it:{errSchemaPath:u}},{schemaPath:t,parentSchema:i}){let n=i?u:(0,he.str)`${u}/${e}`;return t&&(n=(0,he.str)`${n}${(0,ro.getErrorPath)(t,ro.Type.Str)}`),[Ai.schemaPath,n]}function jb(e,{params:u,message:t},i){let{keyword:n,data:f,schemaValue:r,it:o}=e,{opts:a,propertyName:s,topSchemaRef:D,schemaPath:d}=o;i.push([Ai.keyword,n],[Ai.params,typeof u=="function"?u(e):u||(0,he._)`{}`]),a.messages&&i.push([Ai.message,typeof t=="function"?t(e):t]),a.verbose&&i.push([Ai.schema,r],[Ai.parentSchema,(0,he._)`${D}${d}`],[Et.default.data,f]),s&&i.push([Ai.propertyName,s])}});var sd=F(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.boolOrEmptySchema=nn.topBoolOrEmptySchema=void 0;var Nb=Df(),qb=ee(),Vb=Wt(),Rb={message:"boolean schema is false"};function Lb(e){let{gen:u,schema:t,validateName:i}=e;t===!1?ad(e,!1):typeof t=="object"&&t.$async===!0?u.return(Vb.default.data):(u.assign((0,qb._)`${i}.errors`,null),u.return(!0))}nn.topBoolOrEmptySchema=Lb;function zb(e,u){let{gen:t,schema:i}=e;i===!1?(t.var(u,!1),ad(e)):t.var(u,!0)}nn.boolOrEmptySchema=zb;function ad(e,u){let{gen:t,data:i}=e,n={gen:t,keyword:"false schema",data:i,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,Nb.reportError)(n,Rb,void 0,u)}});var Ts=F(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.getRules=fn.isJSONType=void 0;var Ub=["string","number","integer","boolean","null","object","array"],Hb=new Set(Ub);function Wb(e){return typeof e=="string"&&Hb.has(e)}fn.isJSONType=Wb;function Kb(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:xe(X({},e),{integer:!0,boolean:!0,null:!0}),rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}fn.getRules=Kb});var Ps=F(ti=>{"use strict";Object.defineProperty(ti,"__esModule",{value:!0});ti.shouldUseRule=ti.shouldUseGroup=ti.schemaHasRulesForType=void 0;function Gb({schema:e,self:u},t){let i=u.RULES.types[t];return i&&i!==!0&&Dd(e,i)}ti.schemaHasRulesForType=Gb;function Dd(e,u){return u.rules.some(t=>ld(e,t))}ti.shouldUseGroup=Dd;function ld(e,u){var t;return e[u.keyword]!==void 0||((t=u.definition.implements)===null||t===void 0?void 0:t.some(i=>e[i]!==void 0))}ti.shouldUseRule=ld});var lf=F(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.reportTypeError=ct.checkDataTypes=ct.checkDataType=ct.coerceAndCheckDataType=ct.getJSONTypes=ct.getSchemaTypes=ct.DataType=void 0;var Jb=Ts(),Xb=Ps(),Yb=Df(),oe=ee(),dd=de(),rn=function(e){return e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong",e}(rn||(ct.DataType=rn={}));function Zb(e){let u=cd(e.type);if(u.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!u.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&u.push("null")}return u}ct.getSchemaTypes=Zb;function cd(e){let u=Array.isArray(e)?e:e?[e]:[];if(u.every(Jb.isJSONType))return u;throw new Error("type must be JSONType or JSONType[]: "+u.join(","))}ct.getJSONTypes=cd;function Qb(e,u){let{gen:t,data:i,opts:n}=e,f=eE(u,n.coerceTypes),r=u.length>0&&!(f.length===0&&u.length===1&&(0,Xb.schemaHasRulesForType)(e,u[0]));if(r){let o=Ms(u,i,n.strictNumbers,rn.Wrong);t.if(o,()=>{f.length?tE(e,u,f):js(e)})}return r}ct.coerceAndCheckDataType=Qb;var pd=new Set(["string","number","integer","boolean","null"]);function eE(e,u){return u?e.filter(t=>pd.has(t)||u==="array"&&t==="array"):[]}function tE(e,u,t){let{gen:i,data:n,opts:f}=e,r=i.let("dataType",(0,oe._)`typeof ${n}`),o=i.let("coerced",(0,oe._)`undefined`);f.coerceTypes==="array"&&i.if((0,oe._)`${r} == 'object' && Array.isArray(${n}) && ${n}.length == 1`,()=>i.assign(n,(0,oe._)`${n}[0]`).assign(r,(0,oe._)`typeof ${n}`).if(Ms(u,n,f.strictNumbers),()=>i.assign(o,n))),i.if((0,oe._)`${o} !== undefined`);for(let s of t)(pd.has(s)||s==="array"&&f.coerceTypes==="array")&&a(s);i.else(),js(e),i.endIf(),i.if((0,oe._)`${o} !== undefined`,()=>{i.assign(n,o),uE(e,o)});function a(s){switch(s){case"string":i.elseIf((0,oe._)`${r} == "number" || ${r} == "boolean"`).assign(o,(0,oe._)`"" + ${n}`).elseIf((0,oe._)`${n} === null`).assign(o,(0,oe._)`""`);return;case"number":i.elseIf((0,oe._)`${r} == "boolean" || ${n} === null
|
|
3
3
|
|| (${r} == "string" && ${n} && ${n} == +${n})`).assign(o,(0,oe._)`+${n}`);return;case"integer":i.elseIf((0,oe._)`${r} === "boolean" || ${n} === null
|
|
4
4
|
|| (${r} === "string" && ${n} && ${n} == +${n} && !(${n} % 1))`).assign(o,(0,oe._)`+${n}`);return;case"boolean":i.elseIf((0,oe._)`${n} === "false" || ${n} === 0 || ${n} === null`).assign(o,!1).elseIf((0,oe._)`${n} === "true" || ${n} === 1`).assign(o,!0);return;case"null":i.elseIf((0,oe._)`${n} === "" || ${n} === 0 || ${n} === false`),i.assign(o,null);return;case"array":i.elseIf((0,oe._)`${r} === "string" || ${r} === "number"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as a}from"./chunk-GK2B5J7M.js";import"./chunk-RDN6UQXF.js";import"./chunk-RV6WEKCF.js";import"./chunk-S6UXXPGF.js";import"./chunk-2NQ5FYSH.js";import"./chunk-5NG7YGKN.js";import"./chunk-JBQX4JBH.js";import"./chunk-KL6YS6NM.js";import"./chunk-KNJPGWRH.js";import"./chunk-XAXF5JVR.js";import"./chunk-LBMQRUFA.js";import"./chunk-EM4PY2IW.js";import"./chunk-555LSHXI.js";import"./chunk-W6X46MTW.js";export{a as AccessoriesComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ne}from"./chunk-J764EFYE.js";import{g as O,m as G,n as te}from"./chunk-2NQ5FYSH.js";import{A,b as Z,c as M,d as x,e as F,f as z,g as N,j as w,m as q,o as R,p as L,q as j,x as ee,z as V}from"./chunk-5NG7YGKN.js";import{b as ie}from"./chunk-JBQX4JBH.js";import{b as Q}from"./chunk-GT3IRCKC.js";import{a as ce}from"./chunk-L23FZ5T5.js";import{k as U,n as k}from"./chunk-EKP6Y74D.js";import{a as S,b as $}from"./chunk-555LSHXI.js";import{$a as e,Ac as s,Bc as l,Cc as Y,Gb as u,Hb as g,Ib as h,Kb as K,Lb as W,Mb as X,Nb as f,Ob as i,Pb as n,Qb as p,Ub as D,Xb as b,Yb as v,bd as P,g as de,jc as m,kc as d,la as c,lb as E,lc as C,ra as B,sa as T,wc as I}from"./chunk-W6X46MTW.js";function ue(r,y){r&1&&(i(0,"ngb-alert",13)(1,"p",20),m(2),s(3,"translate"),n()()),r&2&&(f("dismissible",!1),e(2),d(l(3,2,"login.invalid_password")))}var re=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);formGroup=new N({password:new w("",[x.required])});invalidCredentials=!1;constructor(){}disable2fa(){this.invalidCredentials=!1,this.$api.post("/users/otp/deactivate",this.formGroup.value).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.setup_2fa_disable_success"),this.$translate.instant("toast.title_success"))},error:()=>{this.formGroup.setValue({password:""}),this.invalidCredentials=!0}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],decls:34,vars:27,consts:[[1,"modal-content",2,"min-height","300px"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","password","autocomplete","current-password",1,"form-control","custom-input",3,"formControl","placeholder"],["type","error",1,"mt-3","mb-0",3,"dismissible"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"mb-0"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),n(),i(5,"button",3),s(6,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),p(9,"i",6),n(),i(10,"ul",7)(11,"li"),m(12),s(13,"translate"),n()(),i(14,"ul",8)(15,"li",9)(16,"label",10),m(17),s(18,"translate"),n(),i(19,"div",11),p(20,"input",12),s(21,"translate"),n()()(),g(22,ue,4,4,"ngb-alert",13),n(),i(23,"div",14)(24,"div",15)(25,"button",16),s(26,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(27),s(28,"translate"),n()(),p(29,"div",17),i(30,"div",18)(31,"button",19),b("click",function(){return a.disable2fa()}),m(32),s(33,"translate"),n()()()()),o&2&&(e(3),d(l(4,11,"users.setup_2fa_disable")),e(2),u("aria-label",l(6,13,"form.button_close")),e(7),d(l(13,15,"users.setup_2fa_disable_current_password")),e(5),d(l(18,17,"users.label_password")),e(3),f("formControl",a.formGroup.controls.password)("placeholder",l(21,19,"users.label_password")),e(2),h(a.invalidCredentials&&!a.formGroup.controls.password.value?22:-1),e(3),u("aria-label",l(26,21,"form.button_close")),e(2),C(" ",l(28,23,"form.button_close")," "),e(4),f("disabled",a.formGroup.invalid),e(),C(" ",l(33,25,"form.button_disable")," "))},dependencies:[V,M,F,A,R,$,O],encapsulation:2})}return r})();var ae=de(ce(),1);var fe=r=>({timeDiffError:r});function be(r,y){r&1&&(i(0,"li"),m(1),s(2,"translate"),n()),r&2&&(e(),d(l(2,1,"users.setup_2fa_scan_qr_code")))}function _e(r,y){if(r&1&&(i(0,"ngb-alert",8)(1,"p",16),m(2),s(3,"translate"),n(),i(4,"p",17),m(5),s(6,"translate"),n()()),r&2){let t=v();f("dismissible",!1),e(2),d(l(3,3,"users.setup_2fa_cannot_setup_2fa")),e(3),d(Y(6,5,"users.setup_2fa_server_time_out",I(8,fe,t.timeDiffError)))}}function ve(r,y){if(r&1&&(i(0,"ul",9)(1,"li",18)(2,"div",19),p(3,"app-qrcode",20),n()(),i(4,"li",21)(5,"label",22),m(6),s(7,"translate"),n(),i(8,"div",23),p(9,"input",24),n()()()),r&2){let t=v();e(3),f("data",t.otpString),e(3),d(l(7,3,"users.setup_2fa_enter_code")),e(3),f("formControl",t.formGroup.controls.code)}}function xe(r,y){if(r&1){let t=D();i(0,"button",25),s(1,"translate"),b("click",function(){B(t);let a=v();return T(a.$activeModal.dismiss("Dismiss"))}),m(2),s(3,"translate"),n()}r&2&&(u("aria-label",l(1,2,"form.button_close")),e(2),C(" ",l(3,4,"form.button_close")," "))}function we(r,y){if(r&1){let t=D();i(0,"button",25),s(1,"translate"),b("click",function(){B(t);let a=v();return T(a.$activeModal.dismiss("Dismiss"))}),m(2),s(3,"translate"),n()}r&2&&(u("aria-label",l(1,2,"form.button_close")),e(2),C(" ",l(3,4,"form.button_close")," "))}function Ce(r,y){if(r&1){let t=D();i(0,"button",26),b("click",function(){B(t);let a=v();return T(a.enable2fa())}),m(1),s(2,"translate"),n()}if(r&2){let t=v();f("disabled",t.formGroup.invalid),e(),C(" ",l(2,2,"form.button_enable")," ")}}var oe=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);user;timeDiffError=null;otpString;formGroup=new N({code:new w("",[x.required,x.minLength(6),x.maxLength(6)])});constructor(){}ngOnInit(){this.$api.post("/users/otp/setup",{}).subscribe({next:t=>{this.checkTimeDiff(t.timestamp),this.timeDiffError||(this.otpString=t.otpauth)},error:t=>{this.$activeModal.dismiss(),console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_enable_error"),this.$translate.instant("toast.title_error"))}})}checkTimeDiff(t){let o=(0,ae.default)(t).diff(new Date,"millisecond");o<-5e3||o>5e3?this.timeDiffError=o:this.timeDiffError=null}enable2fa(){this.$api.post("/users/otp/activate",this.formGroup.value).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.setup_2fa_enabled_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close()},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_activate_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],inputs:{user:"user"},decls:24,vars:15,consts:[[1,"modal-content","setup2fa"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"list-group","list-group-box","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"disabled"],[1,"fw-bold","mb-1"],[1,"mb-0"],[1,"list-group-item","text-center"],[1,"text-center","w-100","d-flex","justify-content-center"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","placeholder","eg. 123456","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*",1,"form-control","custom-input",3,"formControl"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),n(),i(5,"button",3),s(6,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),p(9,"i",6),n(),i(10,"ul",7)(11,"li"),m(12),s(13,"translate"),n(),g(14,be,3,3,"li"),n(),g(15,_e,7,10,"ngb-alert",8),g(16,ve,10,5,"ul",9),n(),i(17,"div",10)(18,"div",11),g(19,xe,4,6,"button",12),n(),i(20,"div",13),g(21,we,4,6,"button",12),n(),i(22,"div",14),g(23,Ce,3,4,"button",15),n()()()),o&2&&(e(3),d(l(4,9,"users.setup_2fa")),e(2),u("aria-label",l(6,11,"form.button_close")),e(7),d(l(13,13,"users.setup_2fa_warning")),e(2),h(a.timeDiffError?-1:14),e(),h(a.timeDiffError?15:-1),e(),h(a.timeDiffError?-1:16),e(3),h(a.timeDiffError?-1:19),e(2),h(a.timeDiffError?21:-1),e(2),h(a.timeDiffError?-1:23))},dependencies:[O,ne,V,M,F,ee,A,R,j,$],encapsulation:2})}return r})();var se=r=>({"is-invalid":r}),le=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);form=new N({username:new w("",[x.required]),name:new w("",[x.required]),password:new w("",[x.compose([x.required,x.minLength(4)])]),passwordConfirm:new w("",[x.required]),admin:new w(!0)},this.matchPassword);page={title:"users.title_add_user",save:"users.button_add_new_user",password:"users.label_password"};constructor(){}matchPassword(t){let o=t.get("password").value,a=t.get("passwordConfirm").value;if(o!==a)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}onSubmit({value:t}){this.$api.post("/users",t).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_added_new_user"),this.$translate.instant("toast.title_success"))},error:o=>{this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],decls:58,vars:50,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"form",1),b("ngSubmit",function(){return a.onSubmit(a.form)}),i(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),n(),i(6,"button",4),s(7,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(8,"div",5)(9,"div",6),p(10,"i",7),n(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),n(),i(16,"div",11),p(17,"input",12),s(18,"translate"),n()(),i(19,"li",9)(20,"label",13),m(21),s(22,"translate"),n(),i(23,"div",11),p(24,"input",14),s(25,"translate"),n()(),i(26,"li",9)(27,"label",15),m(28),s(29,"translate"),n(),i(30,"div",11),p(31,"input",16),s(32,"translate"),n()(),i(33,"li",9)(34,"label",17),m(35),s(36,"translate"),n(),i(37,"div",11),p(38,"input",18),s(39,"translate"),n()(),i(40,"li",19)(41,"span",20),m(42),s(43,"translate"),n(),i(44,"div",21),p(45,"input",22),s(46,"translate"),p(47,"label",23),n()()()(),i(48,"div",24)(49,"div",20)(50,"button",25),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(51),s(52,"translate"),n()(),p(53,"div",26),i(54,"div",27)(55,"button",28),m(56),s(57,"translate"),n()()()()()),o&2&&(e(),f("formGroup",a.form),e(3),d(l(5,18,"users.title_add_user")),e(2),u("aria-label",l(7,20,"form.button_close")),e(8),d(l(15,22,"users.label_username")),e(3),u("aria-label",l(18,24,"users.label_username")),e(4),d(l(22,26,"users.label_full_name")),e(3),u("aria-label",l(25,28,"users.label_full_name")),e(4),d(l(29,30,a.page.password)),e(3),f("ngClass",I(46,se,a.form.controls.password.dirty&&a.form.controls.password.errors)),u("aria-label",l(32,32,a.page.password)),e(4),d(l(36,34,"users.label_confirm_password")),e(3),f("ngClass",I(48,se,a.form.controls.passwordConfirm.dirty&&a.form.controls.passwordConfirm.errors)),u("aria-label",l(39,36,"users.label_confirm_password")),e(4),d(l(43,38,"users.label_admin_user")),e(3),u("aria-label",l(46,40,"users.label_admin_user")),e(6),C(" ",l(52,42,"form.button_close")," "),e(4),f("disabled",!a.form.valid),e(),C(" ",l(57,44,"form.button_save")," "))},dependencies:[V,q,M,F,z,A,L,j,P,$],encapsulation:2})}return r})();var me=r=>({"is-invalid":r});function ge(r,y){if(r&1&&(i(0,"li",9)(1,"label",27),m(2),s(3,"translate"),n(),i(4,"div",11),p(5,"input",28),s(6,"translate"),n()()),r&2){let t=v();e(2),d(l(3,3,"users.label_confirm_password")),e(3),f("ngClass",I(7,me,t.form.controls.passwordConfirm.dirty&&t.form.controls.passwordConfirm.errors)),u("aria-label",l(6,5,"users.label_confirm_password"))}}var pe=(()=>{class r{$activeModal=c(G);$api=c(k);$auth=c(Q);$toastr=c(U);$translate=c(S);user;form=new N({username:new w("",[x.required]),name:new w("",[x.required]),password:new w(""),passwordConfirm:new w(""),admin:new w(!0)},this.matchPassword);page={title:"users.title_edit_user",save:"form.button_save",password:"users.label_new_password"};isCurrentUser=!1;constructor(){}ngOnInit(){this.isCurrentUser=this.$auth.user.username===this.user.username,this.form.patchValue(this.user)}matchPassword(t){let o=t.get("password").value,a=t.get("passwordConfirm").value;if(o!==a)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}onSubmit({value:t}){this.$api.patch(`/users/${this.user.id}`,t).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_updated_user"),this.$translate.instant("toast.title_success")),this.isCurrentUser&&t.username!==this.$auth.user.username&&this.$auth.logout()},error:o=>{console.error(o),this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],inputs:{user:"user"},decls:52,vars:42,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-pen","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","off","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","formControlName","admin","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"form",1),b("ngSubmit",function(){return a.onSubmit(a.form)}),i(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),n(),i(6,"button",4),s(7,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(8,"div",5)(9,"div",6),p(10,"i",7),n(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),n(),i(16,"div",11),p(17,"input",12),s(18,"translate"),n()(),i(19,"li",9)(20,"label",13),m(21),s(22,"translate"),n(),i(23,"div",11),p(24,"input",14),s(25,"translate"),n()(),i(26,"li",9)(27,"label",15),m(28),s(29,"translate"),n(),i(30,"div",11),p(31,"input",16),s(32,"translate"),n()(),g(33,ge,7,9,"li",9),i(34,"li",17)(35,"span",18),m(36),s(37,"translate"),n(),i(38,"div",19),p(39,"input",20),s(40,"translate"),p(41,"label",21),n()()()(),i(42,"div",22)(43,"div",18)(44,"button",23),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(45),s(46,"translate"),n()(),p(47,"div",24),i(48,"div",25)(49,"button",26),m(50),s(51,"translate"),n()()()()()),o&2&&(e(),f("formGroup",a.form),e(3),d(l(5,16,"users.title_edit_user")),e(2),u("aria-label",l(7,18,"form.button_close")),e(8),d(l(15,20,"users.label_username")),e(3),u("aria-label",l(18,22,"users.label_username")),e(4),d(l(22,24,"users.label_full_name")),e(3),u("aria-label",l(25,26,"users.label_full_name")),e(4),d(l(29,28,a.page.password)),e(3),f("ngClass",I(40,me,a.form.controls.password.dirty&&a.form.controls.password.errors)),u("aria-label",l(32,30,a.page.password)),e(2),h(a.form.controls.password.value?33:-1),e(3),d(l(37,32,"users.label_admin_user")),e(3),u("aria-label",l(40,34,"users.label_admin_user")),e(6),C(" ",l(46,36,"form.button_close")," "),e(4),f("disabled",!a.form.valid),e(),C(" ",l(51,38,"form.button_save")," "))},dependencies:[V,q,M,Z,F,z,A,L,j,P,$],encapsulation:2})}return r})();function he(r,y){if(r&1){let t=D();i(0,"button",21),b("click",function(){B(t);let a=v().$implicit,_=v();return T(_.setup2fa(a))}),m(1),s(2,"translate"),n()}r&2&&(e(),d(l(2,1,"users.setup_2fa")))}function ye(r,y){if(r&1){let t=D();i(0,"button",17),b("click",function(){B(t);let a=v().$implicit,_=v();return T(_.disable2fa(a))}),m(1),s(2,"translate"),n()}r&2&&(e(),C(" ",l(2,1,"users.setup_2fa_disable")," "))}function Ee(r,y){if(r&1){let t=D();i(0,"div",7)(1,"div",8)(2,"div",9)(3,"div",10)(4,"span",11),p(5,"h4",12)(6,"h5",13),n()(),i(7,"div",14),g(8,he,3,3,"button",15),g(9,ye,3,3,"button",16),i(10,"div")(11,"button",17),s(12,"translate"),b("click",function(){let a=B(t).$implicit,_=v();return T(_.openEditUser(a))}),p(13,"i",18),n(),i(14,"button",19),s(15,"translate"),b("click",function(){let a=B(t).$implicit,_=v();return T(_.deleteUser(a.id))}),p(16,"i",20),n()()()()()()}if(r&2){let t=y.$implicit,o=v();e(5),f("innerText",t.name),e(),f("innerText",t.username),e(2),h(o.$auth.user.username===t.username&&!t.otpActive?8:-1),e(),h(o.$auth.user.username===t.username&&t.otpActive?9:-1),e(2),u("aria-label",l(12,7,"form.button_edit")),e(3),f("disabled",o.$auth.user.username===t.username),u("aria-label",l(15,9,"form.button_delete"))}}var gt=(()=>{class r{$api=c(k);$auth=c(Q);$modal=c(te);$route=c(ie);$toastr=c(U);$translate=c(S);homebridgeUsers;constructor(){}ngOnInit(){this.$route.data.subscribe(t=>{this.homebridgeUsers=t.homebridgeUsers})}reloadUsers(){return this.$api.get("/users").subscribe(t=>{this.homebridgeUsers=t})}openAddNewUser(){this.$modal.open(le,{size:"lg",backdrop:"static"}).result.finally(()=>{this.reloadUsers()})}openEditUser(t){let o=this.$modal.open(pe,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}deleteUser(t){this.$api.delete(`/users/${t}`).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.toast_user_deleted"),this.$translate.instant("toast.title_success")),this.reloadUsers()},error:o=>{console.error(o),this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_delete_user"),this.$translate.instant("toast.title_error"))}})}setup2fa(t){let o=this.$modal.open(oe,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}disable2fa(t){let o=this.$modal.open(re,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["app-users"]],decls:12,vars:6,consts:[[1,"row","mb-3"],[1,"col-9"],[1,"primary-text","m-0"],[1,"col-3","text-end"],[1,"btn","btn-elegant","waves-effect","m-0",3,"click"],[1,"fas","fa-fw","fa-user-plus"],[1,"row"],[1,"col-md-6","mb-4"],[1,"card","card-body"],[1,"d-flex","flex-column"],[1,"d-flex","flex-row","mb-3"],[1,"me-auto","my-0"],[3,"innerText"],[1,"small","text-truncate","primary-text",3,"innerText"],[1,"d-flex","flex-row","justify-content-between"],[1,"btn","btn-primary","m-0"],[1,"btn","btn-elegant","m-0"],[1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-fw","fa-user-pen"],[1,"btn","btn-danger","m-0","ms-2",3,"click","disabled"],[1,"fas","fa-fw","fa-trash"],[1,"btn","btn-primary","m-0",3,"click"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h3",2),m(3),s(4,"translate"),n()(),i(5,"div",3)(6,"button",4),s(7,"translate"),b("click",function(){return a.openAddNewUser()}),p(8,"i",5),n()()(),i(9,"div",6),W(10,Ee,17,11,"div",7,K),n()),o&2&&(e(3),d(l(4,2,"users.title_users")),e(3),u("aria-label",l(7,4,"users.button_add_user")),e(4),X(a.homebridgeUsers))},dependencies:[$],encapsulation:2})}return r})();export{re as a,oe as b,le as c,pe as d,gt as e};
|
|
1
|
+
import{a as ne}from"./chunk-J764EFYE.js";import{g as O,m as G,n as te}from"./chunk-2NQ5FYSH.js";import{A,b as Z,c as M,d as x,e as F,f as z,g as N,j as w,m as q,o as R,p as L,q as j,x as ee,z as V}from"./chunk-5NG7YGKN.js";import{b as ie}from"./chunk-JBQX4JBH.js";import{b as Q}from"./chunk-KNJPGWRH.js";import{a as ce}from"./chunk-XAXF5JVR.js";import{k as U,n as k}from"./chunk-LBMQRUFA.js";import{a as S,b as $}from"./chunk-555LSHXI.js";import{$a as e,Ac as s,Bc as l,Cc as Y,Gb as u,Hb as g,Ib as h,Kb as K,Lb as W,Mb as X,Nb as f,Ob as i,Pb as n,Qb as p,Ub as D,Xb as b,Yb as v,bd as P,g as de,jc as m,kc as d,la as c,lb as E,lc as C,ra as B,sa as T,wc as I}from"./chunk-W6X46MTW.js";function ue(r,y){r&1&&(i(0,"ngb-alert",13)(1,"p",20),m(2),s(3,"translate"),n()()),r&2&&(f("dismissible",!1),e(2),d(l(3,2,"login.invalid_password")))}var re=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);formGroup=new N({password:new w("",[x.required])});invalidCredentials=!1;constructor(){}disable2fa(){this.invalidCredentials=!1,this.$api.post("/users/otp/deactivate",this.formGroup.value).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.setup_2fa_disable_success"),this.$translate.instant("toast.title_success"))},error:()=>{this.formGroup.setValue({password:""}),this.invalidCredentials=!0}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],decls:34,vars:27,consts:[[1,"modal-content",2,"min-height","300px"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","password","autocomplete","current-password",1,"form-control","custom-input",3,"formControl","placeholder"],["type","error",1,"mt-3","mb-0",3,"dismissible"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"mb-0"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),n(),i(5,"button",3),s(6,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),p(9,"i",6),n(),i(10,"ul",7)(11,"li"),m(12),s(13,"translate"),n()(),i(14,"ul",8)(15,"li",9)(16,"label",10),m(17),s(18,"translate"),n(),i(19,"div",11),p(20,"input",12),s(21,"translate"),n()()(),g(22,ue,4,4,"ngb-alert",13),n(),i(23,"div",14)(24,"div",15)(25,"button",16),s(26,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(27),s(28,"translate"),n()(),p(29,"div",17),i(30,"div",18)(31,"button",19),b("click",function(){return a.disable2fa()}),m(32),s(33,"translate"),n()()()()),o&2&&(e(3),d(l(4,11,"users.setup_2fa_disable")),e(2),u("aria-label",l(6,13,"form.button_close")),e(7),d(l(13,15,"users.setup_2fa_disable_current_password")),e(5),d(l(18,17,"users.label_password")),e(3),f("formControl",a.formGroup.controls.password)("placeholder",l(21,19,"users.label_password")),e(2),h(a.invalidCredentials&&!a.formGroup.controls.password.value?22:-1),e(3),u("aria-label",l(26,21,"form.button_close")),e(2),C(" ",l(28,23,"form.button_close")," "),e(4),f("disabled",a.formGroup.invalid),e(),C(" ",l(33,25,"form.button_disable")," "))},dependencies:[V,M,F,A,R,$,O],encapsulation:2})}return r})();var ae=de(ce(),1);var fe=r=>({timeDiffError:r});function be(r,y){r&1&&(i(0,"li"),m(1),s(2,"translate"),n()),r&2&&(e(),d(l(2,1,"users.setup_2fa_scan_qr_code")))}function _e(r,y){if(r&1&&(i(0,"ngb-alert",8)(1,"p",16),m(2),s(3,"translate"),n(),i(4,"p",17),m(5),s(6,"translate"),n()()),r&2){let t=v();f("dismissible",!1),e(2),d(l(3,3,"users.setup_2fa_cannot_setup_2fa")),e(3),d(Y(6,5,"users.setup_2fa_server_time_out",I(8,fe,t.timeDiffError)))}}function ve(r,y){if(r&1&&(i(0,"ul",9)(1,"li",18)(2,"div",19),p(3,"app-qrcode",20),n()(),i(4,"li",21)(5,"label",22),m(6),s(7,"translate"),n(),i(8,"div",23),p(9,"input",24),n()()()),r&2){let t=v();e(3),f("data",t.otpString),e(3),d(l(7,3,"users.setup_2fa_enter_code")),e(3),f("formControl",t.formGroup.controls.code)}}function xe(r,y){if(r&1){let t=D();i(0,"button",25),s(1,"translate"),b("click",function(){B(t);let a=v();return T(a.$activeModal.dismiss("Dismiss"))}),m(2),s(3,"translate"),n()}r&2&&(u("aria-label",l(1,2,"form.button_close")),e(2),C(" ",l(3,4,"form.button_close")," "))}function we(r,y){if(r&1){let t=D();i(0,"button",25),s(1,"translate"),b("click",function(){B(t);let a=v();return T(a.$activeModal.dismiss("Dismiss"))}),m(2),s(3,"translate"),n()}r&2&&(u("aria-label",l(1,2,"form.button_close")),e(2),C(" ",l(3,4,"form.button_close")," "))}function Ce(r,y){if(r&1){let t=D();i(0,"button",26),b("click",function(){B(t);let a=v();return T(a.enable2fa())}),m(1),s(2,"translate"),n()}if(r&2){let t=v();f("disabled",t.formGroup.invalid),e(),C(" ",l(2,2,"form.button_enable")," ")}}var oe=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);user;timeDiffError=null;otpString;formGroup=new N({code:new w("",[x.required,x.minLength(6),x.maxLength(6)])});constructor(){}ngOnInit(){this.$api.post("/users/otp/setup",{}).subscribe({next:t=>{this.checkTimeDiff(t.timestamp),this.timeDiffError||(this.otpString=t.otpauth)},error:t=>{this.$activeModal.dismiss(),console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_enable_error"),this.$translate.instant("toast.title_error"))}})}checkTimeDiff(t){let o=(0,ae.default)(t).diff(new Date,"millisecond");o<-5e3||o>5e3?this.timeDiffError=o:this.timeDiffError=null}enable2fa(){this.$api.post("/users/otp/activate",this.formGroup.value).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.setup_2fa_enabled_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close()},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_activate_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],inputs:{user:"user"},decls:24,vars:15,consts:[[1,"modal-content","setup2fa"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"list-group","list-group-box","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"disabled"],[1,"fw-bold","mb-1"],[1,"mb-0"],[1,"list-group-item","text-center"],[1,"text-center","w-100","d-flex","justify-content-center"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","placeholder","eg. 123456","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*",1,"form-control","custom-input",3,"formControl"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),n(),i(5,"button",3),s(6,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),p(9,"i",6),n(),i(10,"ul",7)(11,"li"),m(12),s(13,"translate"),n(),g(14,be,3,3,"li"),n(),g(15,_e,7,10,"ngb-alert",8),g(16,ve,10,5,"ul",9),n(),i(17,"div",10)(18,"div",11),g(19,xe,4,6,"button",12),n(),i(20,"div",13),g(21,we,4,6,"button",12),n(),i(22,"div",14),g(23,Ce,3,4,"button",15),n()()()),o&2&&(e(3),d(l(4,9,"users.setup_2fa")),e(2),u("aria-label",l(6,11,"form.button_close")),e(7),d(l(13,13,"users.setup_2fa_warning")),e(2),h(a.timeDiffError?-1:14),e(),h(a.timeDiffError?15:-1),e(),h(a.timeDiffError?-1:16),e(3),h(a.timeDiffError?-1:19),e(2),h(a.timeDiffError?21:-1),e(2),h(a.timeDiffError?-1:23))},dependencies:[O,ne,V,M,F,ee,A,R,j,$],encapsulation:2})}return r})();var se=r=>({"is-invalid":r}),le=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);form=new N({username:new w("",[x.required]),name:new w("",[x.required]),password:new w("",[x.compose([x.required,x.minLength(4)])]),passwordConfirm:new w("",[x.required]),admin:new w(!0)},this.matchPassword);page={title:"users.title_add_user",save:"users.button_add_new_user",password:"users.label_password"};constructor(){}matchPassword(t){let o=t.get("password").value,a=t.get("passwordConfirm").value;if(o!==a)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}onSubmit({value:t}){this.$api.post("/users",t).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_added_new_user"),this.$translate.instant("toast.title_success"))},error:o=>{this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],decls:58,vars:50,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"form",1),b("ngSubmit",function(){return a.onSubmit(a.form)}),i(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),n(),i(6,"button",4),s(7,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(8,"div",5)(9,"div",6),p(10,"i",7),n(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),n(),i(16,"div",11),p(17,"input",12),s(18,"translate"),n()(),i(19,"li",9)(20,"label",13),m(21),s(22,"translate"),n(),i(23,"div",11),p(24,"input",14),s(25,"translate"),n()(),i(26,"li",9)(27,"label",15),m(28),s(29,"translate"),n(),i(30,"div",11),p(31,"input",16),s(32,"translate"),n()(),i(33,"li",9)(34,"label",17),m(35),s(36,"translate"),n(),i(37,"div",11),p(38,"input",18),s(39,"translate"),n()(),i(40,"li",19)(41,"span",20),m(42),s(43,"translate"),n(),i(44,"div",21),p(45,"input",22),s(46,"translate"),p(47,"label",23),n()()()(),i(48,"div",24)(49,"div",20)(50,"button",25),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(51),s(52,"translate"),n()(),p(53,"div",26),i(54,"div",27)(55,"button",28),m(56),s(57,"translate"),n()()()()()),o&2&&(e(),f("formGroup",a.form),e(3),d(l(5,18,"users.title_add_user")),e(2),u("aria-label",l(7,20,"form.button_close")),e(8),d(l(15,22,"users.label_username")),e(3),u("aria-label",l(18,24,"users.label_username")),e(4),d(l(22,26,"users.label_full_name")),e(3),u("aria-label",l(25,28,"users.label_full_name")),e(4),d(l(29,30,a.page.password)),e(3),f("ngClass",I(46,se,a.form.controls.password.dirty&&a.form.controls.password.errors)),u("aria-label",l(32,32,a.page.password)),e(4),d(l(36,34,"users.label_confirm_password")),e(3),f("ngClass",I(48,se,a.form.controls.passwordConfirm.dirty&&a.form.controls.passwordConfirm.errors)),u("aria-label",l(39,36,"users.label_confirm_password")),e(4),d(l(43,38,"users.label_admin_user")),e(3),u("aria-label",l(46,40,"users.label_admin_user")),e(6),C(" ",l(52,42,"form.button_close")," "),e(4),f("disabled",!a.form.valid),e(),C(" ",l(57,44,"form.button_save")," "))},dependencies:[V,q,M,F,z,A,L,j,P,$],encapsulation:2})}return r})();var me=r=>({"is-invalid":r});function ge(r,y){if(r&1&&(i(0,"li",9)(1,"label",27),m(2),s(3,"translate"),n(),i(4,"div",11),p(5,"input",28),s(6,"translate"),n()()),r&2){let t=v();e(2),d(l(3,3,"users.label_confirm_password")),e(3),f("ngClass",I(7,me,t.form.controls.passwordConfirm.dirty&&t.form.controls.passwordConfirm.errors)),u("aria-label",l(6,5,"users.label_confirm_password"))}}var pe=(()=>{class r{$activeModal=c(G);$api=c(k);$auth=c(Q);$toastr=c(U);$translate=c(S);user;form=new N({username:new w("",[x.required]),name:new w("",[x.required]),password:new w(""),passwordConfirm:new w(""),admin:new w(!0)},this.matchPassword);page={title:"users.title_edit_user",save:"form.button_save",password:"users.label_new_password"};isCurrentUser=!1;constructor(){}ngOnInit(){this.isCurrentUser=this.$auth.user.username===this.user.username,this.form.patchValue(this.user)}matchPassword(t){let o=t.get("password").value,a=t.get("passwordConfirm").value;if(o!==a)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}onSubmit({value:t}){this.$api.patch(`/users/${this.user.id}`,t).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_updated_user"),this.$translate.instant("toast.title_success")),this.isCurrentUser&&t.username!==this.$auth.user.username&&this.$auth.logout()},error:o=>{console.error(o),this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],inputs:{user:"user"},decls:52,vars:42,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-pen","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","off","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","formControlName","admin","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"form",1),b("ngSubmit",function(){return a.onSubmit(a.form)}),i(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),n(),i(6,"button",4),s(7,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(8,"div",5)(9,"div",6),p(10,"i",7),n(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),n(),i(16,"div",11),p(17,"input",12),s(18,"translate"),n()(),i(19,"li",9)(20,"label",13),m(21),s(22,"translate"),n(),i(23,"div",11),p(24,"input",14),s(25,"translate"),n()(),i(26,"li",9)(27,"label",15),m(28),s(29,"translate"),n(),i(30,"div",11),p(31,"input",16),s(32,"translate"),n()(),g(33,ge,7,9,"li",9),i(34,"li",17)(35,"span",18),m(36),s(37,"translate"),n(),i(38,"div",19),p(39,"input",20),s(40,"translate"),p(41,"label",21),n()()()(),i(42,"div",22)(43,"div",18)(44,"button",23),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(45),s(46,"translate"),n()(),p(47,"div",24),i(48,"div",25)(49,"button",26),m(50),s(51,"translate"),n()()()()()),o&2&&(e(),f("formGroup",a.form),e(3),d(l(5,16,"users.title_edit_user")),e(2),u("aria-label",l(7,18,"form.button_close")),e(8),d(l(15,20,"users.label_username")),e(3),u("aria-label",l(18,22,"users.label_username")),e(4),d(l(22,24,"users.label_full_name")),e(3),u("aria-label",l(25,26,"users.label_full_name")),e(4),d(l(29,28,a.page.password)),e(3),f("ngClass",I(40,me,a.form.controls.password.dirty&&a.form.controls.password.errors)),u("aria-label",l(32,30,a.page.password)),e(2),h(a.form.controls.password.value?33:-1),e(3),d(l(37,32,"users.label_admin_user")),e(3),u("aria-label",l(40,34,"users.label_admin_user")),e(6),C(" ",l(46,36,"form.button_close")," "),e(4),f("disabled",!a.form.valid),e(),C(" ",l(51,38,"form.button_save")," "))},dependencies:[V,q,M,Z,F,z,A,L,j,P,$],encapsulation:2})}return r})();function he(r,y){if(r&1){let t=D();i(0,"button",21),b("click",function(){B(t);let a=v().$implicit,_=v();return T(_.setup2fa(a))}),m(1),s(2,"translate"),n()}r&2&&(e(),d(l(2,1,"users.setup_2fa")))}function ye(r,y){if(r&1){let t=D();i(0,"button",17),b("click",function(){B(t);let a=v().$implicit,_=v();return T(_.disable2fa(a))}),m(1),s(2,"translate"),n()}r&2&&(e(),C(" ",l(2,1,"users.setup_2fa_disable")," "))}function Ee(r,y){if(r&1){let t=D();i(0,"div",7)(1,"div",8)(2,"div",9)(3,"div",10)(4,"span",11),p(5,"h4",12)(6,"h5",13),n()(),i(7,"div",14),g(8,he,3,3,"button",15),g(9,ye,3,3,"button",16),i(10,"div")(11,"button",17),s(12,"translate"),b("click",function(){let a=B(t).$implicit,_=v();return T(_.openEditUser(a))}),p(13,"i",18),n(),i(14,"button",19),s(15,"translate"),b("click",function(){let a=B(t).$implicit,_=v();return T(_.deleteUser(a.id))}),p(16,"i",20),n()()()()()()}if(r&2){let t=y.$implicit,o=v();e(5),f("innerText",t.name),e(),f("innerText",t.username),e(2),h(o.$auth.user.username===t.username&&!t.otpActive?8:-1),e(),h(o.$auth.user.username===t.username&&t.otpActive?9:-1),e(2),u("aria-label",l(12,7,"form.button_edit")),e(3),f("disabled",o.$auth.user.username===t.username),u("aria-label",l(15,9,"form.button_delete"))}}var gt=(()=>{class r{$api=c(k);$auth=c(Q);$modal=c(te);$route=c(ie);$toastr=c(U);$translate=c(S);homebridgeUsers;constructor(){}ngOnInit(){this.$route.data.subscribe(t=>{this.homebridgeUsers=t.homebridgeUsers})}reloadUsers(){return this.$api.get("/users").subscribe(t=>{this.homebridgeUsers=t})}openAddNewUser(){this.$modal.open(le,{size:"lg",backdrop:"static"}).result.finally(()=>{this.reloadUsers()})}openEditUser(t){let o=this.$modal.open(pe,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}deleteUser(t){this.$api.delete(`/users/${t}`).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.toast_user_deleted"),this.$translate.instant("toast.title_success")),this.reloadUsers()},error:o=>{console.error(o),this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_delete_user"),this.$translate.instant("toast.title_error"))}})}setup2fa(t){let o=this.$modal.open(oe,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}disable2fa(t){let o=this.$modal.open(re,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["app-users"]],decls:12,vars:6,consts:[[1,"row","mb-3"],[1,"col-9"],[1,"primary-text","m-0"],[1,"col-3","text-end"],[1,"btn","btn-elegant","waves-effect","m-0",3,"click"],[1,"fas","fa-fw","fa-user-plus"],[1,"row"],[1,"col-md-6","mb-4"],[1,"card","card-body"],[1,"d-flex","flex-column"],[1,"d-flex","flex-row","mb-3"],[1,"me-auto","my-0"],[3,"innerText"],[1,"small","text-truncate","primary-text",3,"innerText"],[1,"d-flex","flex-row","justify-content-between"],[1,"btn","btn-primary","m-0"],[1,"btn","btn-elegant","m-0"],[1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-fw","fa-user-pen"],[1,"btn","btn-danger","m-0","ms-2",3,"click","disabled"],[1,"fas","fa-fw","fa-trash"],[1,"btn","btn-primary","m-0",3,"click"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h3",2),m(3),s(4,"translate"),n()(),i(5,"div",3)(6,"button",4),s(7,"translate"),b("click",function(){return a.openAddNewUser()}),p(8,"i",5),n()()(),i(9,"div",6),W(10,Ee,17,11,"div",7,K),n()),o&2&&(e(3),d(l(4,2,"users.title_users")),e(3),u("aria-label",l(7,4,"users.button_add_user")),e(4),X(a.homebridgeUsers))},dependencies:[$],encapsulation:2})}return r})();export{re as a,oe as b,le as c,pe as d,gt as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-R5J3D56Q.js";import"./chunk-JBQX4JBH.js";import"./chunk-KL6YS6NM.js";import"./chunk-KNJPGWRH.js";import"./chunk-XAXF5JVR.js";import"./chunk-LBMQRUFA.js";import"./chunk-EM4PY2IW.js";import"./chunk-555LSHXI.js";import"./chunk-W6X46MTW.js";export{a as RestartLinuxComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as l,b as a,c as u,d as C,e as g,f as M,g as R}from"./chunk-
|
|
1
|
+
import{a as l,b as a,c as u,d as C,e as g,f as M,g as R}from"./chunk-JEABQGBH.js";import{a as c}from"./chunk-O262XIY7.js";import{a as d}from"./chunk-RV6WEKCF.js";import"./chunk-A6K2VSKW.js";import"./chunk-6XANA56B.js";import"./chunk-WTTWP6KF.js";import"./chunk-QJQSHTGR.js";import"./chunk-S6UXXPGF.js";import"./chunk-Y4TQ6524.js";import"./chunk-AJTG3DAQ.js";import"./chunk-J764EFYE.js";import"./chunk-SCRWY2OT.js";import"./chunk-IMPGSXGE.js";import{v as s}from"./chunk-2NQ5FYSH.js";import{A as p,z as n}from"./chunk-5NG7YGKN.js";import{g as m}from"./chunk-JBQX4JBH.js";import"./chunk-KL6YS6NM.js";import"./chunk-KNJPGWRH.js";import"./chunk-XAXF5JVR.js";import"./chunk-LBMQRUFA.js";import"./chunk-EM4PY2IW.js";import{c as f}from"./chunk-555LSHXI.js";import{ha as t,kd as i,mb as e}from"./chunk-W6X46MTW.js";var S=[{path:"",loadComponent:()=>import("./chunk-DB7E552E.js").then(o=>o.SettingsComponent),canActivate:[c]}],A=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[m.forChild(S),m]})}return o})();var P=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[i,n,p,f,s,A,R,l,C,u,d,g,a,M]})}return o})();export{P as SettingsModule};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as a}from"./chunk-JEABQGBH.js";import"./chunk-RV6WEKCF.js";import"./chunk-A6K2VSKW.js";import"./chunk-6XANA56B.js";import"./chunk-WTTWP6KF.js";import"./chunk-QJQSHTGR.js";import"./chunk-S6UXXPGF.js";import"./chunk-Y4TQ6524.js";import"./chunk-AJTG3DAQ.js";import"./chunk-J764EFYE.js";import"./chunk-SCRWY2OT.js";import"./chunk-IMPGSXGE.js";import"./chunk-2NQ5FYSH.js";import"./chunk-5NG7YGKN.js";import"./chunk-JBQX4JBH.js";import"./chunk-KL6YS6NM.js";import"./chunk-KNJPGWRH.js";import"./chunk-XAXF5JVR.js";import"./chunk-LBMQRUFA.js";import"./chunk-EM4PY2IW.js";import"./chunk-555LSHXI.js";import"./chunk-W6X46MTW.js";export{a as SettingsComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as f,b as u}from"./chunk-
|
|
1
|
+
import{a as f,b as u}from"./chunk-GK2B5J7M.js";import{a as d}from"./chunk-GQOKY6T2.js";import{c as p}from"./chunk-RDN6UQXF.js";import"./chunk-RV6WEKCF.js";import"./chunk-QJQSHTGR.js";import"./chunk-S6UXXPGF.js";import{v as n}from"./chunk-2NQ5FYSH.js";import{z as s}from"./chunk-5NG7YGKN.js";import{g as i}from"./chunk-JBQX4JBH.js";import"./chunk-KL6YS6NM.js";import"./chunk-KNJPGWRH.js";import"./chunk-XAXF5JVR.js";import"./chunk-LBMQRUFA.js";import"./chunk-EM4PY2IW.js";import{c}from"./chunk-555LSHXI.js";import{ha as r,kd as m,mb as e}from"./chunk-W6X46MTW.js";var C=[{path:"",loadComponent:()=>import("./chunk-AKG77MGY.js").then(o=>o.AccessoriesComponent)}],l=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[i.forChild(C),i]})}return o})();var S=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[m,s,n,p,c.forChild(),d,l,u,f]})}return o})();export{S as AccessoriesModule};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-S3JIWNBN.js";import"./chunk-5NG7YGKN.js";import"./chunk-KL6YS6NM.js";import"./chunk-KNJPGWRH.js";import"./chunk-XAXF5JVR.js";import"./chunk-LBMQRUFA.js";import"./chunk-EM4PY2IW.js";import"./chunk-555LSHXI.js";import"./chunk-W6X46MTW.js";export{a as SetupWizardComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{U as ie,a as U,b as X,c as Y,f as te}from"./chunk-XF46NOEB.js";import{a as ne}from"./chunk-S6UXXPGF.js";import{m as $,n as K,t as Q}from"./chunk-2NQ5FYSH.js";import{c as W,e as R,f as j,i as z,l as q,m as G,z as J}from"./chunk-5NG7YGKN.js";import{b as ee}from"./chunk-GT3IRCKC.js";import{b as Z}from"./chunk-L23FZ5T5.js";import{b as w}from"./chunk-555LSHXI.js";import{$a as o,Ac as s,Bc as l,Cc as H,Gb as v,Hb as h,Ib as M,Kb as I,Lb as V,Mb as F,Nb as _,Ob as a,Pb as r,Qb as p,Ub as B,Xa as N,Xb as b,Yb as m,bd as O,jc as d,kc as u,la as f,lb as y,lc as S,qc as k,ra as C,rc as T,sa as x,sc as A,vc as L,wc as E}from"./chunk-W6X46MTW.js";var oe=(()=>{class t{$activeModal=f($);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],decls:31,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-fw","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),d(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"ul",7)(12,"li"),d(13),s(14,"translate"),r(),a(15,"li"),d(16),s(17,"translate"),r(),a(18,"li"),d(19),s(20,"translate"),r(),a(21,"li"),d(22),s(23,"translate"),r()()(),a(24,"div",8),p(25,"div",9),a(26,"div",10)(27,"button",11),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(28),s(29,"translate"),r()(),p(30,"div",12),r()()()),i&2&&(o(4),u(l(5,7,"support.title")),o(2),v("aria-label",l(7,9,"form.button_close")),o(7),u(l(14,11,"accessories.support.list_1")),o(3),u(l(17,13,"accessories.support.list_2")),o(3),u(l(20,15,"accessories.support.list_3")),o(3),u(l(23,17,"accessories.support.list_4")),o(6),S(" ",l(29,19,"form.button_close")," "))},dependencies:[w],encapsulation:2})}return t})();var se=()=>({standalone:!0}),ae=(()=>{class t{$activeModal=f($);roomName;constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:28,vars:19,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-folder-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["autocomplete","off","type","text","id","form-name","autofocus","",1,"form-control","custom-input",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),d(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"ul",7)(12,"li",8)(13,"label",9),d(14),s(15,"translate"),r(),a(16,"div",10)(17,"input",11),A("ngModelChange",function(D){return T(n.roomName,D)||(n.roomName=D),D}),b("keyup.enter",function(){return n.$activeModal.close(n.roomName)}),r()()()()(),a(18,"div",12)(19,"div",13)(20,"button",14),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(21),s(22,"translate"),r()(),p(23,"div",15),a(24,"div",16)(25,"button",17),b("click",function(){return n.$activeModal.close(n.roomName)}),d(26),s(27,"translate"),r()()()()()),i&2&&(o(4),u(l(5,8,"accessories.button_add_room")),o(2),v("aria-label",l(7,10,"form.button_close")),o(8),u(l(15,12,"accessories.room_name")),o(3),k("ngModel",n.roomName),_("ngModelOptions",L(18,se)),o(4),S(" ",l(22,14,"form.button_close")," "),o(4),_("disabled",!n.roomName),o(),S(" ",l(27,16,"form.button_save")," "))},dependencies:[J,G,W,R,j,q,z,w],encapsulation:2})}return t})();var re=(()=>{class t{constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-fw","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(i,n){i&1&&(a(0,"div",0),p(1,"i",1),a(2,"div",2),d(3),s(4,"translate"),r()()),i&2&&(o(3),u(l(4,1,"accessories.control.drag_here")))},dependencies:[w],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var le=t=>({"cursor-move":t}),ce=t=>({"justify-content-between":t}),de=t=>({link:t});function pe(t,g){if(t&1&&(a(0,"div",0)(1,"div",18)(2,"h5",19),d(3),s(4,"translate"),r()()()),t&2){let e=m().$implicit,i=m(2);o(2),_("ngClass",E(4,le,!i.isMobile)),o(),S(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function me(t,g){if(t&1&&(a(0,"div",22),p(1,"app-accessory-tile",23),r()),t&2){let e=m().$implicit;o(),_("service",e)}}function ue(t,g){if(t&1&&h(0,me,2,1,"div",22),t&2){let e=g.$implicit,i=m(4);M(!i.hideHidden||!e.hidden?0:-1)}}function _e(t,g){if(t&1){let e=B();a(0,"div",20),A("dragulaModelChange",function(n){C(e);let c=m().$implicit;return T(c.services,n)||(c.services=n),x(n)}),V(1,ue,1,1,null,null,I),p(3,"div",21)(4,"div",21)(5,"div",21)(6,"div",21)(7,"div",21)(8,"div",21)(9,"div",21)(10,"div",21)(11,"div",21)(12,"div",21),r()}if(t&2){let e=m().$implicit,i=m(2);_("ngClass",E(3,ce,i.isMobile))("dragula","services-bag"),k("dragulaModel",e.services),o(),F(e.services)}}function be(t,g){if(t&1){let e=B();a(0,"div",24),A("dragulaModelChange",function(n){C(e);let c=m().$implicit;return T(c.services,n)||(c.services=n),x(n)}),p(1,"app-drag-here-placeholder",25),r()}if(t&2){let e=m().$implicit;_("dragula","services-bag"),k("dragulaModel",e.services)}}function fe(t,g){if(t&1&&(a(0,"div"),h(1,pe,5,6,"div",0),a(2,"div",15),h(3,_e,13,5,"div",16),h(4,be,2,2,"div",17),r()()),t&2){let e=g.$implicit,i=m(2);o(),M(!i.isMobile||e.services.length?1:-1),o(2),M(e.services.length?3:-1),o(),M(!e.services.length&&!i.isMobile?4:-1)}}function ge(t,g){if(t&1){let e=B();a(0,"div",1)(1,"div",2)(2,"h3",3),d(3),s(4,"translate"),r()(),a(5,"div",4)(6,"button",5),s(7,"translate"),s(8,"translate"),b("click",function(){C(e);let n=m();return x(n.addRoom())}),p(9,"i",6),r(),a(10,"button",5),s(11,"translate"),s(12,"translate"),s(13,"translate"),s(14,"translate"),b("click",function(){C(e);let n=m();return x(n.hideHidden=!n.hideHidden)}),p(15,"i",7),r(),a(16,"div",8)(17,"button",9),s(18,"translate"),s(19,"translate"),b("click",function(){C(e);let n=m();return x(n.toggleLayoutLock())}),p(20,"i",10),r(),a(21,"button",9),s(22,"translate"),s(23,"translate"),b("click",function(){C(e);let n=m();return x(n.toggleLayoutLock())}),p(24,"i",11),r()(),a(25,"button",12),s(26,"translate"),b("click",function(){C(e);let n=m();return x(n.openSupport())}),p(27,"i",13),r()()(),a(28,"div",14),A("dragulaModelChange",function(n){C(e);let c=m();return T(c.$accessories.rooms,n)||(c.$accessories.rooms=n),x(n)}),V(29,fe,5,3,"div",null,I),r()}if(t&2){let e=m();o(3),u(l(4,17,"accessories.title_accessories")),o(3),_("hidden",e.isMobile)("ngbTooltip",l(7,19,"accessories.button_add_room")),v("aria-label",l(8,21,"accessories.button_add_room")),o(4),_("hidden",e.isMobile)("ngbTooltip",e.hideHidden?l(11,23,"accessories.button_hidden_show"):l(12,25,"accessories.button_hidden_hide")),v("aria-label",e.hideHidden?l(13,27,"accessories.button_hidden_show"):l(14,29,"accessories.button_hidden_hide")),o(5),_("ngClass",e.hideHidden?"fa-eye-slash":"fa-eye"),o(2),_("disabled",!e.isMobile)("ngbTooltip",l(18,31,"form.button_unlock")),v("aria-label",l(19,33,"form.button_unlock")),o(4),_("disabled",e.isMobile)("ngbTooltip",l(22,35,"form.button_lock")),v("aria-label",l(23,37,"form.button_lock")),o(4),v("aria-label",l(26,39,"support.title")),o(3),_("dragula","rooms-bag"),k("dragulaModel",e.$accessories.rooms),o(),F(e.$accessories.rooms)}}function ve(t,g){t&1&&(a(0,"p",32),d(1),s(2,"translate"),r()),t&2&&(o(),u(l(2,1,"accessories.settings_link")))}function Ce(t,g){if(t&1&&(a(0,"div",0)(1,"div",26)(2,"h3",27),d(3),s(4,"translate"),r()(),a(5,"div",28)(6,"div",29)(7,"h5",30),d(8),s(9,"translate"),r(),p(10,"p",31),s(11,"translate"),h(12,ve,3,3,"p",32),r()()()),t&2){let e=m();o(3),u(l(4,4,"accessories.title_accessories")),o(5),u(l(9,6,"accessories.control_disabled")),o(2),_("innerHTML",H(11,8,"accessories.message_must_use_insecure_mode",E(11,de,e.linkInsecure)),N),o(2),M(e.$auth.user.admin?12:-1)}}var Ue=(()=>{class t{$auth=f(ee);dragulaService=f(U);$modal=f(K);$settings=f(Z);$md=f(ne);$accessories=f(te);isMobile=!1;hideHidden=!0;orderSubscription;linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){let e=this.dragulaService;this.isMobile=this.$md.detect.mobile(),e.createGroup("rooms-bag",{moves:(i,n,c)=>!this.isMobile&&c.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:i=>!this.isMobile&&!i.classList.contains("no-drag")}),this.orderSubscription=e.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),this.isMobile=!0}ngOnInit(){this.$accessories.start()}addRoom(){this.$modal.open(ae,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms.find(i=>i.name===e)||(this.$accessories.rooms.push({name:e,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?document.querySelectorAll(".services-bag").forEach(i=>{for(let n=0;n<10;n++){let c=document.createElement("div");c.className="accessory-box invisible py-0 my-0",c.style.height="0",i.appendChild(c)}}):document.querySelectorAll(".invisible").forEach(i=>i.remove())}openSupport(){this.$modal.open(oe,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-accessories"]],decls:2,vars:2,consts:[[1,"row"],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end","d-none","d-sm-inline-block"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","hidden","ngbTooltip"],[1,"fas","fa-fw","fa-folder-plus"],[1,"fas","fa-fw",3,"ngClass"],["role","group",1,"btn-group","me-2"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-unlock"],[1,"fas","fa-fw","fa-lock"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-fw","fa-question-circle-o"],[3,"dragulaModelChange","dragula","dragulaModel"],[1,"row","mb-4"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"ngClass","dragula","dragulaModel"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragula","dragulaModel"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0","mb-1","mb-sm-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"dragulaModelChange","ngClass","dragula","dragulaModel"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0"],[1,"accessory-item","accessory-tab"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"col-12","text-center"],["role","alert",1,"alert","alert-warning","p-4"],[1,"mb-3","mt-0"],[1,"mb-0",3,"innerHTML"],[1,"mt-3","mb-0"]],template:function(i,n){i&1&&(h(0,ge,31,41),h(1,Ce,13,13,"div",0)),i&2&&(M(n.$settings.env.enableAccessories?0:-1),o(),M(n.$settings.env.enableAccessories?-1:1))},dependencies:[Q,O,Y,X,ie,re,w],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media (max-width: 575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media (max-width: 575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}.gu-transit[_ngcontent-%COMP%] .manage-accessory-button[_ngcontent-%COMP%]{display:none}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{ae as a,Ue as b};
|
|
1
|
+
import{U as ie,a as U,b as X,c as Y,f as te}from"./chunk-RDN6UQXF.js";import{a as ne}from"./chunk-S6UXXPGF.js";import{m as $,n as K,t as Q}from"./chunk-2NQ5FYSH.js";import{c as W,e as R,f as j,i as z,l as q,m as G,z as J}from"./chunk-5NG7YGKN.js";import{b as ee}from"./chunk-KNJPGWRH.js";import{b as Z}from"./chunk-XAXF5JVR.js";import{b as w}from"./chunk-555LSHXI.js";import{$a as o,Ac as s,Bc as l,Cc as H,Gb as v,Hb as h,Ib as M,Kb as I,Lb as V,Mb as F,Nb as _,Ob as a,Pb as r,Qb as p,Ub as B,Xa as N,Xb as b,Yb as m,bd as O,jc as d,kc as u,la as f,lb as y,lc as S,qc as k,ra as C,rc as T,sa as x,sc as A,vc as L,wc as E}from"./chunk-W6X46MTW.js";var oe=(()=>{class t{$activeModal=f($);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],decls:31,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-fw","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),d(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"ul",7)(12,"li"),d(13),s(14,"translate"),r(),a(15,"li"),d(16),s(17,"translate"),r(),a(18,"li"),d(19),s(20,"translate"),r(),a(21,"li"),d(22),s(23,"translate"),r()()(),a(24,"div",8),p(25,"div",9),a(26,"div",10)(27,"button",11),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(28),s(29,"translate"),r()(),p(30,"div",12),r()()()),i&2&&(o(4),u(l(5,7,"support.title")),o(2),v("aria-label",l(7,9,"form.button_close")),o(7),u(l(14,11,"accessories.support.list_1")),o(3),u(l(17,13,"accessories.support.list_2")),o(3),u(l(20,15,"accessories.support.list_3")),o(3),u(l(23,17,"accessories.support.list_4")),o(6),S(" ",l(29,19,"form.button_close")," "))},dependencies:[w],encapsulation:2})}return t})();var se=()=>({standalone:!0}),ae=(()=>{class t{$activeModal=f($);roomName;constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:28,vars:19,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-folder-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["autocomplete","off","type","text","id","form-name","autofocus","",1,"form-control","custom-input",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),d(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"ul",7)(12,"li",8)(13,"label",9),d(14),s(15,"translate"),r(),a(16,"div",10)(17,"input",11),A("ngModelChange",function(D){return T(n.roomName,D)||(n.roomName=D),D}),b("keyup.enter",function(){return n.$activeModal.close(n.roomName)}),r()()()()(),a(18,"div",12)(19,"div",13)(20,"button",14),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(21),s(22,"translate"),r()(),p(23,"div",15),a(24,"div",16)(25,"button",17),b("click",function(){return n.$activeModal.close(n.roomName)}),d(26),s(27,"translate"),r()()()()()),i&2&&(o(4),u(l(5,8,"accessories.button_add_room")),o(2),v("aria-label",l(7,10,"form.button_close")),o(8),u(l(15,12,"accessories.room_name")),o(3),k("ngModel",n.roomName),_("ngModelOptions",L(18,se)),o(4),S(" ",l(22,14,"form.button_close")," "),o(4),_("disabled",!n.roomName),o(),S(" ",l(27,16,"form.button_save")," "))},dependencies:[J,G,W,R,j,q,z,w],encapsulation:2})}return t})();var re=(()=>{class t{constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-fw","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(i,n){i&1&&(a(0,"div",0),p(1,"i",1),a(2,"div",2),d(3),s(4,"translate"),r()()),i&2&&(o(3),u(l(4,1,"accessories.control.drag_here")))},dependencies:[w],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var le=t=>({"cursor-move":t}),ce=t=>({"justify-content-between":t}),de=t=>({link:t});function pe(t,g){if(t&1&&(a(0,"div",0)(1,"div",18)(2,"h5",19),d(3),s(4,"translate"),r()()()),t&2){let e=m().$implicit,i=m(2);o(2),_("ngClass",E(4,le,!i.isMobile)),o(),S(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function me(t,g){if(t&1&&(a(0,"div",22),p(1,"app-accessory-tile",23),r()),t&2){let e=m().$implicit;o(),_("service",e)}}function ue(t,g){if(t&1&&h(0,me,2,1,"div",22),t&2){let e=g.$implicit,i=m(4);M(!i.hideHidden||!e.hidden?0:-1)}}function _e(t,g){if(t&1){let e=B();a(0,"div",20),A("dragulaModelChange",function(n){C(e);let c=m().$implicit;return T(c.services,n)||(c.services=n),x(n)}),V(1,ue,1,1,null,null,I),p(3,"div",21)(4,"div",21)(5,"div",21)(6,"div",21)(7,"div",21)(8,"div",21)(9,"div",21)(10,"div",21)(11,"div",21)(12,"div",21),r()}if(t&2){let e=m().$implicit,i=m(2);_("ngClass",E(3,ce,i.isMobile))("dragula","services-bag"),k("dragulaModel",e.services),o(),F(e.services)}}function be(t,g){if(t&1){let e=B();a(0,"div",24),A("dragulaModelChange",function(n){C(e);let c=m().$implicit;return T(c.services,n)||(c.services=n),x(n)}),p(1,"app-drag-here-placeholder",25),r()}if(t&2){let e=m().$implicit;_("dragula","services-bag"),k("dragulaModel",e.services)}}function fe(t,g){if(t&1&&(a(0,"div"),h(1,pe,5,6,"div",0),a(2,"div",15),h(3,_e,13,5,"div",16),h(4,be,2,2,"div",17),r()()),t&2){let e=g.$implicit,i=m(2);o(),M(!i.isMobile||e.services.length?1:-1),o(2),M(e.services.length?3:-1),o(),M(!e.services.length&&!i.isMobile?4:-1)}}function ge(t,g){if(t&1){let e=B();a(0,"div",1)(1,"div",2)(2,"h3",3),d(3),s(4,"translate"),r()(),a(5,"div",4)(6,"button",5),s(7,"translate"),s(8,"translate"),b("click",function(){C(e);let n=m();return x(n.addRoom())}),p(9,"i",6),r(),a(10,"button",5),s(11,"translate"),s(12,"translate"),s(13,"translate"),s(14,"translate"),b("click",function(){C(e);let n=m();return x(n.hideHidden=!n.hideHidden)}),p(15,"i",7),r(),a(16,"div",8)(17,"button",9),s(18,"translate"),s(19,"translate"),b("click",function(){C(e);let n=m();return x(n.toggleLayoutLock())}),p(20,"i",10),r(),a(21,"button",9),s(22,"translate"),s(23,"translate"),b("click",function(){C(e);let n=m();return x(n.toggleLayoutLock())}),p(24,"i",11),r()(),a(25,"button",12),s(26,"translate"),b("click",function(){C(e);let n=m();return x(n.openSupport())}),p(27,"i",13),r()()(),a(28,"div",14),A("dragulaModelChange",function(n){C(e);let c=m();return T(c.$accessories.rooms,n)||(c.$accessories.rooms=n),x(n)}),V(29,fe,5,3,"div",null,I),r()}if(t&2){let e=m();o(3),u(l(4,17,"accessories.title_accessories")),o(3),_("hidden",e.isMobile)("ngbTooltip",l(7,19,"accessories.button_add_room")),v("aria-label",l(8,21,"accessories.button_add_room")),o(4),_("hidden",e.isMobile)("ngbTooltip",e.hideHidden?l(11,23,"accessories.button_hidden_show"):l(12,25,"accessories.button_hidden_hide")),v("aria-label",e.hideHidden?l(13,27,"accessories.button_hidden_show"):l(14,29,"accessories.button_hidden_hide")),o(5),_("ngClass",e.hideHidden?"fa-eye-slash":"fa-eye"),o(2),_("disabled",!e.isMobile)("ngbTooltip",l(18,31,"form.button_unlock")),v("aria-label",l(19,33,"form.button_unlock")),o(4),_("disabled",e.isMobile)("ngbTooltip",l(22,35,"form.button_lock")),v("aria-label",l(23,37,"form.button_lock")),o(4),v("aria-label",l(26,39,"support.title")),o(3),_("dragula","rooms-bag"),k("dragulaModel",e.$accessories.rooms),o(),F(e.$accessories.rooms)}}function ve(t,g){t&1&&(a(0,"p",32),d(1),s(2,"translate"),r()),t&2&&(o(),u(l(2,1,"accessories.settings_link")))}function Ce(t,g){if(t&1&&(a(0,"div",0)(1,"div",26)(2,"h3",27),d(3),s(4,"translate"),r()(),a(5,"div",28)(6,"div",29)(7,"h5",30),d(8),s(9,"translate"),r(),p(10,"p",31),s(11,"translate"),h(12,ve,3,3,"p",32),r()()()),t&2){let e=m();o(3),u(l(4,4,"accessories.title_accessories")),o(5),u(l(9,6,"accessories.control_disabled")),o(2),_("innerHTML",H(11,8,"accessories.message_must_use_insecure_mode",E(11,de,e.linkInsecure)),N),o(2),M(e.$auth.user.admin?12:-1)}}var Ue=(()=>{class t{$auth=f(ee);dragulaService=f(U);$modal=f(K);$settings=f(Z);$md=f(ne);$accessories=f(te);isMobile=!1;hideHidden=!0;orderSubscription;linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){let e=this.dragulaService;this.isMobile=this.$md.detect.mobile(),e.createGroup("rooms-bag",{moves:(i,n,c)=>!this.isMobile&&c.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:i=>!this.isMobile&&!i.classList.contains("no-drag")}),this.orderSubscription=e.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),this.isMobile=!0}ngOnInit(){this.$accessories.start()}addRoom(){this.$modal.open(ae,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms.find(i=>i.name===e)||(this.$accessories.rooms.push({name:e,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?document.querySelectorAll(".services-bag").forEach(i=>{for(let n=0;n<10;n++){let c=document.createElement("div");c.className="accessory-box invisible py-0 my-0",c.style.height="0",i.appendChild(c)}}):document.querySelectorAll(".invisible").forEach(i=>i.remove())}openSupport(){this.$modal.open(oe,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-accessories"]],decls:2,vars:2,consts:[[1,"row"],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end","d-none","d-sm-inline-block"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","hidden","ngbTooltip"],[1,"fas","fa-fw","fa-folder-plus"],[1,"fas","fa-fw",3,"ngClass"],["role","group",1,"btn-group","me-2"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-unlock"],[1,"fas","fa-fw","fa-lock"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-fw","fa-question-circle-o"],[3,"dragulaModelChange","dragula","dragulaModel"],[1,"row","mb-4"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"ngClass","dragula","dragulaModel"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragula","dragulaModel"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0","mb-1","mb-sm-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"dragulaModelChange","ngClass","dragula","dragulaModel"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0"],[1,"accessory-item","accessory-tab"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"col-12","text-center"],["role","alert",1,"alert","alert-warning","p-4"],[1,"mb-3","mt-0"],[1,"mb-0",3,"innerHTML"],[1,"mt-3","mb-0"]],template:function(i,n){i&1&&(h(0,ge,31,41),h(1,Ce,13,13,"div",0)),i&2&&(M(n.$settings.env.enableAccessories?0:-1),o(),M(n.$settings.env.enableAccessories?-1:1))},dependencies:[Q,O,Y,X,ie,re,w],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media (max-width: 575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media (max-width: 575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}.gu-transit[_ngcontent-%COMP%] .manage-accessory-button[_ngcontent-%COMP%]{display:none}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{ae as a,Ue as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as N,B as x,C as D,D as W,E as I,F as j,G as O,H as V,I as q,J as B,K as G,L as R,M as U,N as z,O as E,P as J,Q as K,R as P,S as Q,T as X,U as Y,e as f,f as a,g as C,h as s,i as c,j as d,k as u,l,m as g,n as M,o as y,p as h,q as v,r as S,s as b,t as w,u as k,v as A,w as F,x as L,y as T,z as H}from"./chunk-
|
|
1
|
+
import{A as N,B as x,C as D,D as W,E as I,F as j,G as O,H as V,I as q,J as B,K as G,L as R,M as U,N as z,O as E,P as J,Q as K,R as P,S as Q,T as X,U as Y,e as f,f as a,g as C,h as s,i as c,j as d,k as u,l,m as g,n as M,o as y,p as h,q as v,r as S,s as b,t as w,u as k,v as A,w as F,x as L,y as T,z as H}from"./chunk-RDN6UQXF.js";import{b as Z}from"./chunk-QJQSHTGR.js";import{v as i}from"./chunk-2NQ5FYSH.js";import{A as t,z as e}from"./chunk-5NG7YGKN.js";import{c as p}from"./chunk-555LSHXI.js";import{ha as m,kd as n,mb as r}from"./chunk-W6X46MTW.js";var cm=(()=>{class o{static \u0275fac=function($){return new($||o)};static \u0275mod=r({type:o});static \u0275inj=m({providers:[a],imports:[n,e,t,p.forChild(),C,i,Z,Y,f,G,B,U,W,h,v,z,L,F,T,N,H,S,x,D,d,X,Q,P,K,y,M,R,g,q,V,j,I,A,O,J,E,k,c,s,b,w,l,u]})}return o})();export{cm as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{k as w,n as S}from"./chunk-
|
|
1
|
+
import{k as w,n as S}from"./chunk-LBMQRUFA.js";import{a as _,b as h}from"./chunk-555LSHXI.js";import{$a as e,Ac as s,Bc as m,Hb as d,Ib as c,Ob as n,Pb as i,Qb as u,Yb as v,jc as o,kc as a,la as p,lb as f}from"./chunk-W6X46MTW.js";function y(t,C){t&1&&(n(0,"p",7),o(1),s(2,"translate"),i()),t&2&&(e(),a(m(2,1,"platform.linux.server_will_power_down")))}function g(t,C){if(t&1&&(n(0,"div",8),o(1),i()),t&2){let r=v();e(),a(r.error)}}var B=(()=>{class t{$api=p(S);$toastr=p(w);$translate=p(_);error=!1;constructor(){}ngOnInit(){this.$api.put("/platform-tools/linux/shutdown-host",{}).subscribe({error:r=>{console.error(r),this.error=this.$translate.instant("platform.linux.server_restart_error"),this.$toastr.error(this.$translate.instant("platform.linux.server_restart_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=f({type:t,selectors:[["ng-component"]],decls:13,vars:8,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"]],template:function(l,x){l&1&&(n(0,"div",0)(1,"h3",1),o(2),s(3,"translate"),i()(),n(4,"div",2)(5,"div",3),u(6,"i",4),i(),n(7,"div",5)(8,"h4",6),o(9),s(10,"translate"),i(),d(11,y,3,3,"p",7),d(12,g,2,1,"div",8),i()()),l&2&&(e(2),a(m(3,4,"menu.restart.title")),e(7),a(m(10,6,"platform.linux.shutting_down_server")),e(2),c(x.error?-1:11),e(),c(x.error?12:-1))},dependencies:[h],encapsulation:2})}return t})();export{B as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as ee}from"./chunk-TJJCM4OW.js";import{a as Z,b as ne}from"./chunk-6XANA56B.js";import{a as W,b as Y}from"./chunk-WTTWP6KF.js";import{a as X}from"./chunk-S6UXXPGF.js";import{m as J,n as K,t as U}from"./chunk-2NQ5FYSH.js";import{c as N,e as F,l as q,z}from"./chunk-5NG7YGKN.js";import{b as G}from"./chunk-JBQX4JBH.js";import{b as Q}from"./chunk-L23FZ5T5.js";import{k as M,n as V}from"./chunk-EKP6Y74D.js";import{a as k,b as T}from"./chunk-555LSHXI.js";import{$a as n,Ac as s,Bc as d,Cc as O,Gb as C,Hb as m,Ib as p,Kb as I,Lb as j,Mb as H,Nb as v,Ob as r,Pb as a,Qb as w,Ub as b,Xb as _,Yb as l,eb as D,g as oe,h as S,id as L,jc as y,kc as x,la as h,lb as $,lc as E,qc as R,ra as g,rc as P,sa as u,sc as B,w as A}from"./chunk-W6X46MTW.js";var ie=oe(ne(),1);function ae(o,f){o&1&&(r(0,"div",5),w(1,"i",12),a())}function se(o,f){if(o&1){let e=b();r(0,"li",17),y(1),s(2,"date"),r(3,"button",18),s(4,"translate"),_("click",function(){let t=g(e).$implicit,c=l(3);return u(c.restore(t.id))}),w(5,"i",19),a()()}if(o&2){let e=f.$implicit;n(),E(" ",O(2,2,e.timestamp,"medium")," "),n(2),C("aria-label",d(4,5,"config.restore.copy_to_editor"))}}function le(o,f){if(o&1&&(r(0,"ul",15),j(1,se,6,7,"li",17,I),a()),o&2){let e=l(2);n(),H(e.backupList)}}function de(o,f){o&1&&(r(0,"p",16),y(1),s(2,"translate"),a()),o&2&&(n(),x(d(2,1,"config.restore.no_backups")))}function ce(o,f){if(o&1&&(r(0,"div",13),w(1,"i",14),a(),r(2,"p",13),y(3),s(4,"translate"),a(),m(5,le,3,0,"ul",15),m(6,de,3,3,"p",16)),o&2){let e=l();n(3),x(d(4,3,"config.restore.title_restore_homebridge_backup")),n(2),p(e.backupList&&e.backupList.length?5:-1),n(),p(!e.backupList||!e.backupList.length?6:-1)}}function me(o,f){if(o&1){let e=b();r(0,"button",20),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.$activeModal.dismiss("Dismiss"))}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function pe(o,f){if(o&1){let e=b();r(0,"button",20),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.$activeModal.dismiss("Dismiss"))}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function fe(o,f){if(o&1){let e=b();r(0,"button",21),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.deleteAllBackups())}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_remove")),n(2),E(" ",d(3,4,"form.button_remove")," "))}var te=(()=>{class o{$activeModal=h(J);$api=h(V);$toastr=h(M);$translate=h(k);loading=!0;backupList=[];constructor(){}ngOnInit(){this.$api.get("/config-editor/backups").subscribe({next:e=>{this.loading=!1,this.backupList=e},error:e=>{this.loading=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}restore(e){return this.$activeModal.close(e)}deleteAllBackups(){return this.$api.delete("/config-editor/backups").subscribe({next:()=>{this.$activeModal.dismiss(),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success"))},error:e=>{console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],decls:17,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","primary-text"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button",1,"btn","btn-danger","me-auto"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-history","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box"],[1,"text-center","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"btn","btn-primary","m-0","ms-3",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button",1,"btn","btn-danger","me-auto",3,"click"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),y(3),s(4,"translate"),a(),r(5,"button",3),s(6,"translate"),_("click",function(){return t.$activeModal.dismiss("Dismiss")}),a()(),r(7,"div",4),m(8,ae,2,0,"div",5),m(9,ce,7,5),a(),r(10,"div",6)(11,"div",7),m(12,me,4,6,"button",8),a(),r(13,"div",9),m(14,pe,4,6,"button",8),a(),r(15,"div",10),m(16,fe,4,6,"button",11),a()()()),i&2&&(n(3),x(d(4,7,"form.button_restore")),n(2),C("aria-label",d(6,9,"form.button_close")),n(3),p(t.loading?8:-1),n(),p(t.loading?-1:9),n(3),p(!t.loading&&t.backupList.length?12:-1),n(2),p(t.loading||!t.loading&&!t.backupList.length?14:-1),n(2),p(!t.loading&&t.backupList.length?16:-1))},dependencies:[L,T],encapsulation:2})}return o})();function ge(o,f){if(o&1){let e=b();r(0,"button",13),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onExportConfig())}),w(3,"i",14),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_download")),C("aria-label",d(2,4,"form.button_download")))}function ue(o,f){if(o&1){let e=b();r(0,"button",15),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onCancelRestore())}),w(3,"i",16),a()}if(o&2){let e=l();v("disabled",e.saveInProgress)("ngbTooltip",d(1,3,"form.button_cancel")),C("aria-label",d(2,5,"form.button_cancel"))}}function he(o,f){if(o&1){let e=b();r(0,"button",13),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onRestore())}),w(3,"i",17),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_restore")),C("aria-label",d(2,4,"form.button_restore")))}function _e(o,f){o&1&&w(0,"i",8)}function be(o,f){o&1&&w(0,"i",9)}function Ce(o,f){if(o&1){let e=b();r(0,"ngx-monaco-editor",18),_("onInit",function(t){g(e);let c=l();return u(c.onEditorInit(t))})("keydown.control.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())})("keydown.meta.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("model",e.monacoEditorModel)}}function ye(o,f){if(o&1){let e=b();r(0,"ngx-monaco-diff-editor",19),_("onInit",function(t){g(e);let c=l();return u(c.onInitDiffEditor(t))})("keydown.control.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())})("keydown.meta.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("originalModel",e.monacoEditorModel)("modifiedModel",e.monacoEditorModel)}}function we(o,f){if(o&1){let e=b();r(0,"textarea",20),B("ngModelChange",function(t){g(e);let c=l();return P(c.homebridgeConfig,t)||(c.homebridgeConfig=t),u(t)}),y(1," "),a()}if(o&2){let e=l();R("ngModel",e.homebridgeConfig)}}var Ke=(()=>{class o{$api=h(V);$md=h(X);$modal=h(K);$monacoEditor=h(ee);$route=h(G);$renderer=h(D);$settings=h(Q);$toastr=h(M);$translate=h(k);homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;editorDecorations=[];lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0};let e=document.querySelector(".content");this.$renderer.setStyle(e,"height","100%"),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(i=>{this.homebridgeConfig=i.config}),this.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},window.monaco?this.setMonacoEditorModel():this.$monacoEditor.readyEvent.subscribe({next:()=>{this.setMonacoEditorModel()}})}onEditorInit(e){window.editor=e,this.monacoEditor=e,this.monacoEditor.getModel().setValue(this.homebridgeConfig)}onInitDiffEditor(e){this.monacoEditor=e.modifiedEditor,e.getModel().original.setValue(this.originalConfig),e.getModel().modified.setValue(this.homebridgeConfig),window.editor=e}onSave(){return S(this,null,function*(){if(!this.saveInProgress){this.monacoEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[])),this.saveInProgress=!0;try{if(!this.isMobile){yield this.monacoEditor.getAction("editor.action.formatDocument").run();let i=window.monaco.editor.getModelMarkers({owner:"json"});for(let t of i)if(t.message==="Duplicate object key"){this.saveInProgress=!1,this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"));return}this.homebridgeConfig=this.monacoEditor.getModel().getValue()}let e=this.parseConfigFromEditor();this.homebridgeConfig=JSON.stringify(e,null,4),typeof e.bridge!="object"?this.$toastr.error(this.$translate.instant("config.config_bridge_missing"),this.$translate.instant("toast.title_error")):/^(?:[0-9A-F]{2}:){5}[0-9A-F]{2}$/i.test(e.bridge.username)?e.accessories&&!Array.isArray(e.accessories)?this.$toastr.error(this.$translate.instant("config.config_accessory_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&!Array.isArray(e.platforms)?this.$toastr.error(this.$translate.instant("config.config_platform_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&Array.isArray(e.platforms)&&!this.validateSection(e.platforms,"platform")||e.accessories&&Array.isArray(e.accessories)&&!this.validateSection(e.accessories,"accessory")||e.plugins&&Array.isArray(e.plugins)&&!this.validatePlugins(e.plugins,"plugins")||e.disabledPlugins&&Array.isArray(e.disabledPlugins)&&!this.validatePlugins(e.disabledPlugins,"disabledPlugins")||(yield this.saveConfig(e),this.originalConfig=""):this.$toastr.error(this.$translate.instant("config.config_username_error"),this.$translate.instant("toast.title_error"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}parseConfigFromEditor(){try{return JSON.parse(this.homebridgeConfig)}catch{let i=ie.default.parse(this.homebridgeConfig);return this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&this.monacoEditor.getModel().setValue(this.homebridgeConfig),i}}saveConfig(e){return S(this,null,function*(){try{let i=yield A(this.$api.post("/config-editor",e));this.homebridgeConfig=JSON.stringify(i,null,4),this.$modal.open(Z,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}onRestore(){this.$modal.open(te,{size:"lg",backdrop:"static"}).result.then(e=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig),this.$api.get(`/config-editor/backups/${e}`).subscribe({next:i=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&window.editor.modifiedEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[]),this.monacoEditor.executeEdits("beautifier",[{identifier:"delete",range:new monaco.Range(1,1,this.monacoEditor.getModel().getLineCount()+10,1),text:"",forceMoveMarkers:!0}]),this.monacoEditor.executeEdits("beautifier",[{identifier:"insert",range:new monaco.Range(1,1,1,1),text:this.homebridgeConfig,forceMoveMarkers:!0}]))},error:i=>{console.error(i),this.$toastr.error(i.error.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onExportConfig(){let e=`data:text/json;charset=utf-8,${encodeURIComponent(this.homebridgeConfig)}`,i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("download","config.json"),document.body.appendChild(i),i.click(),i.remove()}onCancelRestore(){this.homebridgeConfig=this.originalConfig,this.originalConfig=""}validateSection(e,i){for(let t of e){if(typeof t!="object"||Array.isArray(t))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(!t[i])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(typeof t[i]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1}return!0}validatePlugins(e,i){for(let t of e)if(typeof t!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:i}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(e){this.monacoEditor&&(e=JSON.stringify(e,null,4).split(`
|
|
1
|
+
import{a as ee}from"./chunk-TJJCM4OW.js";import{a as Z,b as ne}from"./chunk-6XANA56B.js";import{a as W,b as Y}from"./chunk-WTTWP6KF.js";import{a as X}from"./chunk-S6UXXPGF.js";import{m as J,n as K,t as U}from"./chunk-2NQ5FYSH.js";import{c as N,e as F,l as q,z}from"./chunk-5NG7YGKN.js";import{b as G}from"./chunk-JBQX4JBH.js";import{b as Q}from"./chunk-XAXF5JVR.js";import{k as M,n as V}from"./chunk-LBMQRUFA.js";import{a as k,b as T}from"./chunk-555LSHXI.js";import{$a as n,Ac as s,Bc as d,Cc as O,Gb as C,Hb as m,Ib as p,Kb as I,Lb as j,Mb as H,Nb as v,Ob as r,Pb as a,Qb as w,Ub as b,Xb as _,Yb as l,eb as D,g as oe,h as S,id as L,jc as y,kc as x,la as h,lb as $,lc as E,qc as R,ra as g,rc as P,sa as u,sc as B,w as A}from"./chunk-W6X46MTW.js";var ie=oe(ne(),1);function ae(o,f){o&1&&(r(0,"div",5),w(1,"i",12),a())}function se(o,f){if(o&1){let e=b();r(0,"li",17),y(1),s(2,"date"),r(3,"button",18),s(4,"translate"),_("click",function(){let t=g(e).$implicit,c=l(3);return u(c.restore(t.id))}),w(5,"i",19),a()()}if(o&2){let e=f.$implicit;n(),E(" ",O(2,2,e.timestamp,"medium")," "),n(2),C("aria-label",d(4,5,"config.restore.copy_to_editor"))}}function le(o,f){if(o&1&&(r(0,"ul",15),j(1,se,6,7,"li",17,I),a()),o&2){let e=l(2);n(),H(e.backupList)}}function de(o,f){o&1&&(r(0,"p",16),y(1),s(2,"translate"),a()),o&2&&(n(),x(d(2,1,"config.restore.no_backups")))}function ce(o,f){if(o&1&&(r(0,"div",13),w(1,"i",14),a(),r(2,"p",13),y(3),s(4,"translate"),a(),m(5,le,3,0,"ul",15),m(6,de,3,3,"p",16)),o&2){let e=l();n(3),x(d(4,3,"config.restore.title_restore_homebridge_backup")),n(2),p(e.backupList&&e.backupList.length?5:-1),n(),p(!e.backupList||!e.backupList.length?6:-1)}}function me(o,f){if(o&1){let e=b();r(0,"button",20),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.$activeModal.dismiss("Dismiss"))}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function pe(o,f){if(o&1){let e=b();r(0,"button",20),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.$activeModal.dismiss("Dismiss"))}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function fe(o,f){if(o&1){let e=b();r(0,"button",21),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.deleteAllBackups())}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_remove")),n(2),E(" ",d(3,4,"form.button_remove")," "))}var te=(()=>{class o{$activeModal=h(J);$api=h(V);$toastr=h(M);$translate=h(k);loading=!0;backupList=[];constructor(){}ngOnInit(){this.$api.get("/config-editor/backups").subscribe({next:e=>{this.loading=!1,this.backupList=e},error:e=>{this.loading=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}restore(e){return this.$activeModal.close(e)}deleteAllBackups(){return this.$api.delete("/config-editor/backups").subscribe({next:()=>{this.$activeModal.dismiss(),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success"))},error:e=>{console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],decls:17,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","primary-text"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button",1,"btn","btn-danger","me-auto"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-history","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box"],[1,"text-center","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"btn","btn-primary","m-0","ms-3",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button",1,"btn","btn-danger","me-auto",3,"click"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),y(3),s(4,"translate"),a(),r(5,"button",3),s(6,"translate"),_("click",function(){return t.$activeModal.dismiss("Dismiss")}),a()(),r(7,"div",4),m(8,ae,2,0,"div",5),m(9,ce,7,5),a(),r(10,"div",6)(11,"div",7),m(12,me,4,6,"button",8),a(),r(13,"div",9),m(14,pe,4,6,"button",8),a(),r(15,"div",10),m(16,fe,4,6,"button",11),a()()()),i&2&&(n(3),x(d(4,7,"form.button_restore")),n(2),C("aria-label",d(6,9,"form.button_close")),n(3),p(t.loading?8:-1),n(),p(t.loading?-1:9),n(3),p(!t.loading&&t.backupList.length?12:-1),n(2),p(t.loading||!t.loading&&!t.backupList.length?14:-1),n(2),p(!t.loading&&t.backupList.length?16:-1))},dependencies:[L,T],encapsulation:2})}return o})();function ge(o,f){if(o&1){let e=b();r(0,"button",13),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onExportConfig())}),w(3,"i",14),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_download")),C("aria-label",d(2,4,"form.button_download")))}function ue(o,f){if(o&1){let e=b();r(0,"button",15),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onCancelRestore())}),w(3,"i",16),a()}if(o&2){let e=l();v("disabled",e.saveInProgress)("ngbTooltip",d(1,3,"form.button_cancel")),C("aria-label",d(2,5,"form.button_cancel"))}}function he(o,f){if(o&1){let e=b();r(0,"button",13),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onRestore())}),w(3,"i",17),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_restore")),C("aria-label",d(2,4,"form.button_restore")))}function _e(o,f){o&1&&w(0,"i",8)}function be(o,f){o&1&&w(0,"i",9)}function Ce(o,f){if(o&1){let e=b();r(0,"ngx-monaco-editor",18),_("onInit",function(t){g(e);let c=l();return u(c.onEditorInit(t))})("keydown.control.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())})("keydown.meta.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("model",e.monacoEditorModel)}}function ye(o,f){if(o&1){let e=b();r(0,"ngx-monaco-diff-editor",19),_("onInit",function(t){g(e);let c=l();return u(c.onInitDiffEditor(t))})("keydown.control.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())})("keydown.meta.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("originalModel",e.monacoEditorModel)("modifiedModel",e.monacoEditorModel)}}function we(o,f){if(o&1){let e=b();r(0,"textarea",20),B("ngModelChange",function(t){g(e);let c=l();return P(c.homebridgeConfig,t)||(c.homebridgeConfig=t),u(t)}),y(1," "),a()}if(o&2){let e=l();R("ngModel",e.homebridgeConfig)}}var Ke=(()=>{class o{$api=h(V);$md=h(X);$modal=h(K);$monacoEditor=h(ee);$route=h(G);$renderer=h(D);$settings=h(Q);$toastr=h(M);$translate=h(k);homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;editorDecorations=[];lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0};let e=document.querySelector(".content");this.$renderer.setStyle(e,"height","100%"),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(i=>{this.homebridgeConfig=i.config}),this.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},window.monaco?this.setMonacoEditorModel():this.$monacoEditor.readyEvent.subscribe({next:()=>{this.setMonacoEditorModel()}})}onEditorInit(e){window.editor=e,this.monacoEditor=e,this.monacoEditor.getModel().setValue(this.homebridgeConfig)}onInitDiffEditor(e){this.monacoEditor=e.modifiedEditor,e.getModel().original.setValue(this.originalConfig),e.getModel().modified.setValue(this.homebridgeConfig),window.editor=e}onSave(){return S(this,null,function*(){if(!this.saveInProgress){this.monacoEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[])),this.saveInProgress=!0;try{if(!this.isMobile){yield this.monacoEditor.getAction("editor.action.formatDocument").run();let i=window.monaco.editor.getModelMarkers({owner:"json"});for(let t of i)if(t.message==="Duplicate object key"){this.saveInProgress=!1,this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"));return}this.homebridgeConfig=this.monacoEditor.getModel().getValue()}let e=this.parseConfigFromEditor();this.homebridgeConfig=JSON.stringify(e,null,4),typeof e.bridge!="object"?this.$toastr.error(this.$translate.instant("config.config_bridge_missing"),this.$translate.instant("toast.title_error")):/^(?:[0-9A-F]{2}:){5}[0-9A-F]{2}$/i.test(e.bridge.username)?e.accessories&&!Array.isArray(e.accessories)?this.$toastr.error(this.$translate.instant("config.config_accessory_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&!Array.isArray(e.platforms)?this.$toastr.error(this.$translate.instant("config.config_platform_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&Array.isArray(e.platforms)&&!this.validateSection(e.platforms,"platform")||e.accessories&&Array.isArray(e.accessories)&&!this.validateSection(e.accessories,"accessory")||e.plugins&&Array.isArray(e.plugins)&&!this.validatePlugins(e.plugins,"plugins")||e.disabledPlugins&&Array.isArray(e.disabledPlugins)&&!this.validatePlugins(e.disabledPlugins,"disabledPlugins")||(yield this.saveConfig(e),this.originalConfig=""):this.$toastr.error(this.$translate.instant("config.config_username_error"),this.$translate.instant("toast.title_error"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}parseConfigFromEditor(){try{return JSON.parse(this.homebridgeConfig)}catch{let i=ie.default.parse(this.homebridgeConfig);return this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&this.monacoEditor.getModel().setValue(this.homebridgeConfig),i}}saveConfig(e){return S(this,null,function*(){try{let i=yield A(this.$api.post("/config-editor",e));this.homebridgeConfig=JSON.stringify(i,null,4),this.$modal.open(Z,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}onRestore(){this.$modal.open(te,{size:"lg",backdrop:"static"}).result.then(e=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig),this.$api.get(`/config-editor/backups/${e}`).subscribe({next:i=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&window.editor.modifiedEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[]),this.monacoEditor.executeEdits("beautifier",[{identifier:"delete",range:new monaco.Range(1,1,this.monacoEditor.getModel().getLineCount()+10,1),text:"",forceMoveMarkers:!0}]),this.monacoEditor.executeEdits("beautifier",[{identifier:"insert",range:new monaco.Range(1,1,1,1),text:this.homebridgeConfig,forceMoveMarkers:!0}]))},error:i=>{console.error(i),this.$toastr.error(i.error.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onExportConfig(){let e=`data:text/json;charset=utf-8,${encodeURIComponent(this.homebridgeConfig)}`,i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("download","config.json"),document.body.appendChild(i),i.click(),i.remove()}onCancelRestore(){this.homebridgeConfig=this.originalConfig,this.originalConfig=""}validateSection(e,i){for(let t of e){if(typeof t!="object"||Array.isArray(t))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(!t[i])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(typeof t[i]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1}return!0}validatePlugins(e,i){for(let t of e)if(typeof t!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:i}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(e){this.monacoEditor&&(e=JSON.stringify(e,null,4).split(`
|
|
2
2
|
`).map(i=>` ${i}`).join(`
|
|
3
3
|
`),setTimeout(()=>{let i=this.monacoEditor.getModel().findMatches(e);if(i.length){let t=i[0].range,c=new monaco.Range(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn);this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[{range:c,options:{isWholeLine:!0,linesDecorationsClassName:"hb-monaco-editor-line-error"}}])}},200))}setMonacoEditorModel(){if(window.monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas.some(i=>i.uri==="http://homebridge/config.json"))return;let e=monaco.Uri.parse("a://homebridge/config.json");window.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({allowComments:!1,validate:!0,schemas:[{uri:"http://homebridge/config.json",fileMatch:[e.toString()],schema:{type:"object",required:["bridge"],properties:{bridge:{type:"object",required:["name","username","port","pin"],properties:{name:{type:"string",description:`The Homebridge instance name.
|
|
4
4
|
This should be unique if you are running multiple instances of Homebridge.`,default:"Homebridge"},username:{type:"string",description:`Homebridge username must be 6 pairs of colon-separated hexadecimal characters (A-F 0-9).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-2L2DGESO.js";import"./chunk-5NG7YGKN.js";import"./chunk-JBQX4JBH.js";import"./chunk-KNJPGWRH.js";import"./chunk-XAXF5JVR.js";import"./chunk-LBMQRUFA.js";import"./chunk-EM4PY2IW.js";import"./chunk-555LSHXI.js";import"./chunk-W6X46MTW.js";export{a as LoginComponent};
|