homebridge-config-ui-x 5.3.1-beta.25 → 5.3.1-beta.27

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.
Files changed (82) hide show
  1. package/CHANGELOG.md +2 -1
  2. package/dist/bin/standalone.d.ts +2 -0
  3. package/dist/bin/standalone.js +58 -0
  4. package/dist/bin/standalone.js.map +1 -0
  5. package/package.json +2 -2
  6. package/public/{chunk-A4TGFL72.js → chunk-374WBQBW.js} +1 -1
  7. package/public/{chunk-U3S5RZBK.js → chunk-3JNJJOX6.js} +1 -1
  8. package/public/{chunk-HONBSZ6D.js → chunk-3KKWKVA5.js} +1 -1
  9. package/public/{chunk-RCWSDUTV.js → chunk-3QBYXJ7T.js} +1 -1
  10. package/public/{chunk-QQLF22PT.js → chunk-4T75VPJG.js} +1 -1
  11. package/public/{chunk-EQMTXPAE.js → chunk-5CZXURHR.js} +1 -1
  12. package/public/{chunk-DR67EMJC.js → chunk-5GZUTJBM.js} +1 -1
  13. package/public/chunk-645YHJEQ.js +4 -0
  14. package/public/{chunk-QIW6M5VR.js → chunk-6HJHVJPI.js} +1 -1
  15. package/public/{chunk-7N3QVFAV.js → chunk-6WW72U6W.js} +1 -1
  16. package/public/{chunk-W4R4KTJP.js → chunk-6YLSQGNI.js} +1 -1
  17. package/public/{chunk-TCDJGS2S.js → chunk-6ZX4ASF5.js} +1 -1
  18. package/public/{chunk-BNCODL7S.js → chunk-7MIWMXGY.js} +1 -1
  19. package/public/chunk-AQBJJYGJ.js +1 -0
  20. package/public/{chunk-AIF3MUWB.js → chunk-BFD45AA7.js} +1 -1
  21. package/public/{chunk-Z25BRNZ3.js → chunk-BJAKVWVG.js} +1 -1
  22. package/public/{chunk-NI4TWGRP.js → chunk-BNSNQD7H.js} +1 -1
  23. package/public/{chunk-CU7W5PUQ.js → chunk-BRVWN5XB.js} +1 -1
  24. package/public/{chunk-ENGLI3NP.js → chunk-CX2FWWBT.js} +1 -1
  25. package/public/{chunk-DR5CLQIV.js → chunk-D7WPC76C.js} +1 -1
  26. package/public/{chunk-FLJ5YMEV.js → chunk-DYB33NRF.js} +1 -1
  27. package/public/{chunk-PDXQ6XEL.js → chunk-EBEBE7HY.js} +1 -1
  28. package/public/{chunk-IGFUGROT.js → chunk-EQHN6CPG.js} +1 -1
  29. package/public/{chunk-KYSOWYD4.js → chunk-EV4XUBNZ.js} +1 -1
  30. package/public/{chunk-P2O254HB.js → chunk-EZQF5CUM.js} +1 -1
  31. package/public/{chunk-HCP4JDTX.js → chunk-FYDO54CR.js} +1 -1
  32. package/public/{chunk-SXLEIQ7L.js → chunk-FYI7RHOJ.js} +1 -1
  33. package/public/{chunk-L6QEXIU2.js → chunk-G6KV6PYE.js} +1 -1
  34. package/public/{chunk-3F7VDZPT.js → chunk-GH4WQBKI.js} +1 -1
  35. package/public/{chunk-K3Y376EB.js → chunk-GHTFXXX3.js} +1 -1
  36. package/public/{chunk-56SPJBQJ.js → chunk-GMSEIFFH.js} +1 -1
  37. package/public/{chunk-R4ZSEIOH.js → chunk-GPLEVMDN.js} +1 -1
  38. package/public/{chunk-HTY2KCNR.js → chunk-GVNONOAU.js} +1 -1
  39. package/public/{chunk-MY3UDLIL.js → chunk-H5QTGYD4.js} +1 -1
  40. package/public/{chunk-AGG2PKOU.js → chunk-HHGB2T2Q.js} +1 -1
  41. package/public/{chunk-CWQ6ZSGE.js → chunk-HO4UVRDI.js} +1 -1
  42. package/public/{chunk-OL6QG4EG.js → chunk-I66IFUNQ.js} +1 -1
  43. package/public/{chunk-MERIAV42.js → chunk-IHKWDLOF.js} +1 -1
  44. package/public/{chunk-R353AANN.js → chunk-IYURE22E.js} +1 -1
  45. package/public/{chunk-4IO5CZNO.js → chunk-JCYDPJQ5.js} +1 -1
  46. package/public/{chunk-ZZDXXHUL.js → chunk-JXQOAVBT.js} +1 -1
  47. package/public/chunk-KLQ6BEKS.js +2 -0
  48. package/public/{chunk-5SOYD2TJ.js → chunk-KYB236MX.js} +1 -1
  49. package/public/{chunk-GLG3L5PE.js → chunk-LBHZREQL.js} +1 -1
  50. package/public/{chunk-EJ2SSLGN.js → chunk-LHVOA3HM.js} +1 -1
  51. package/public/{chunk-YINVVV6O.js → chunk-LJ5ZUSI3.js} +1 -1
  52. package/public/{chunk-D4RIFWBF.js → chunk-LVHLZ5E6.js} +1 -1
  53. package/public/{chunk-GH4LZN3L.js → chunk-M4QDQWSG.js} +1 -1
  54. package/public/{chunk-KLWUP4AF.js → chunk-MOJ7UH4J.js} +1 -1
  55. package/public/{chunk-IXHLAQPE.js → chunk-NIRBRXA4.js} +1 -1
  56. package/public/{chunk-BBDDO3FF.js → chunk-O4KJ7UFS.js} +1 -1
  57. package/public/{chunk-OMDHBTEC.js → chunk-O52MIEIJ.js} +1 -1
  58. package/public/chunk-OYB3UK3D.js +1 -0
  59. package/public/{chunk-KLI57AF4.js → chunk-PPSFRNJC.js} +1 -1
  60. package/public/{chunk-UDZCOX6Z.js → chunk-RCYYU6LQ.js} +1 -1
  61. package/public/{chunk-G72Y7MYT.js → chunk-RGXCQLZU.js} +1 -1
  62. package/public/{chunk-2HQZ67OQ.js → chunk-RZ4UMDVF.js} +1 -1
  63. package/public/{chunk-5G7HBITG.js → chunk-S5M3TUSA.js} +1 -1
  64. package/public/{chunk-UKEDEH3N.js → chunk-T5C2U4NW.js} +1 -1
  65. package/public/{chunk-P7OU7THZ.js → chunk-TGGFYQRU.js} +1 -1
  66. package/public/chunk-UAPDDOUB.js +1 -0
  67. package/public/{chunk-RORN44IG.js → chunk-ULWO2VVV.js} +1 -1
  68. package/public/{chunk-YLTEH5U7.js → chunk-UOVF5WG5.js} +1 -1
  69. package/public/{chunk-6PMDAVYD.js → chunk-UTOI6KRR.js} +1 -1
  70. package/public/{chunk-JXZMEJOH.js → chunk-UX5OAFTT.js} +1 -1
  71. package/public/{chunk-BICPFHAC.js → chunk-V35TPDVW.js} +1 -1
  72. package/public/{chunk-JMJSX7KZ.js → chunk-XQCW7AWW.js} +1 -1
  73. package/public/{chunk-YR6LFZQH.js → chunk-YAUGKPDK.js} +1 -1
  74. package/public/{chunk-JKO3UHTV.js → chunk-YDKZOKKX.js} +1 -1
  75. package/public/index.html +1 -1
  76. package/public/main-WGO72DZR.js +1 -0
  77. package/public/chunk-TIL3AXXZ.js +0 -4
  78. package/public/chunk-V6DCH7IE.js +0 -1
  79. package/public/chunk-VOLAIAKR.js +0 -1
  80. package/public/chunk-VQKE6VLI.js +0 -1
  81. package/public/chunk-WBXDUV2S.js +0 -2
  82. package/public/main-PXUUFTFG.js +0 -1
@@ -1 +1 @@
1
- import{a as E}from"./chunk-ENGLI3NP.js";import{a as S}from"./chunk-MY3UDLIL.js";import"./chunk-AGG2PKOU.js";import"./chunk-P2O254HB.js";import"./chunk-SXLEIQ7L.js";import"./chunk-5SOYD2TJ.js";import"./chunk-PDXQ6XEL.js";import"./chunk-GLG3L5PE.js";import{b as C}from"./chunk-JXZMEJOH.js";import"./chunk-AIF3MUWB.js";import{b as w}from"./chunk-HCP4JDTX.js";import"./chunk-WBXDUV2S.js";import{$a as a,Ic as y,Jc as b,Sb as m,Tb as l,Tc as $,Ub as h,ab as c,bc as v,kc as f,la as o,lc as p,mb as u,n as d,qc as g,rc as T}from"./chunk-TIL3AXXZ.js";var _=["terminaloutput"],A=(()=>{class r{$terminal=o(S);$settings=o(C);$navigationGuard=o(E);resizeEvent=new d;termTarget=$("terminaloutput");onWindowResize(){this.resizeEvent.next(void 0)}onBeforeUnload(t){return this.$navigationGuard.handleBeforeUnload(t)}onWindowFocus(){this.activateTerminal()}onClick(){this.activateTerminal()}activateTerminal(){this.$terminal.isTerminalReady()&&this.$terminal.term&&this.$terminal.term.focus()}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$terminal.isTerminalReady()&&this.$terminal.destroyTerminal(),this.$settings.env.terminal?.persistence&&this.$terminal.hasActiveSession()?this.$terminal.reconnectTerminal(this.termTarget(),{},this.resizeEvent):(!this.$settings.env.terminal?.persistence&&this.$terminal.hasActiveSession()&&this.$terminal.destroyPersistentSession(),this.$terminal.startTerminal(this.termTarget(),{},this.resizeEvent)),setTimeout(()=>{this.activateTerminal()},100)}ngAfterViewInit(){document.addEventListener("visibilitychange",this.onVisibilityChange.bind(this))}onVisibilityChange(){!document.hidden&&this.$terminal.isTerminalReady()&&setTimeout(()=>{this.activateTerminal()},100)}canDeactivate(){return this.$navigationGuard.canDeactivate()}ngOnDestroy(){document.removeEventListener("visibilitychange",this.onVisibilityChange.bind(this)),window.document.querySelector("body").classList.remove("bg-black"),this.$settings.env.terminal?.persistence?this.$terminal.detachTerminal():this.$terminal.destroyPersistentSession()}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=u({type:r,selectors:[["ng-component"]],viewQuery:function(e,i){e&1&&f(i.termTarget,_,5),e&2&&p()},hostBindings:function(e,i){e&1&&v("resize",function(n){return i.onWindowResize(n)},a)("beforeunload",function(n){return i.onBeforeUnload(n)},a)("focus",function(n){return i.onWindowFocus(n)},a)("click",function(n){return i.onClick(n)})},decls:8,vars:3,consts:[["terminaloutput",""],[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","docker-terminal",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,i){e&1&&(m(0,"div",1)(1,"div",2)(2,"h3",3),g(3),y(4,"translate"),l()()(),m(5,"div",4),h(6,"div",5,0),l()),e&2&&(c(3),T(b(4,1,"menu.linux.label_terminal")))},dependencies:[w],encapsulation:2})}return r})();export{A as TerminalComponent};
1
+ import{a as E}from"./chunk-CX2FWWBT.js";import{a as S}from"./chunk-H5QTGYD4.js";import"./chunk-HHGB2T2Q.js";import"./chunk-EZQF5CUM.js";import"./chunk-FYI7RHOJ.js";import"./chunk-KYB236MX.js";import"./chunk-EBEBE7HY.js";import"./chunk-LBHZREQL.js";import{b as C}from"./chunk-UX5OAFTT.js";import"./chunk-BFD45AA7.js";import{b as w}from"./chunk-FYDO54CR.js";import"./chunk-KLQ6BEKS.js";import{$a as a,Ic as y,Jc as b,Sb as m,Tb as l,Tc as $,Ub as h,ab as c,bc as v,kc as f,la as o,lc as p,mb as u,n as d,qc as g,rc as T}from"./chunk-645YHJEQ.js";var _=["terminaloutput"],A=(()=>{class r{$terminal=o(S);$settings=o(C);$navigationGuard=o(E);resizeEvent=new d;termTarget=$("terminaloutput");onWindowResize(){this.resizeEvent.next(void 0)}onBeforeUnload(t){return this.$navigationGuard.handleBeforeUnload(t)}onWindowFocus(){this.activateTerminal()}onClick(){this.activateTerminal()}activateTerminal(){this.$terminal.isTerminalReady()&&this.$terminal.term&&this.$terminal.term.focus()}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$terminal.isTerminalReady()&&this.$terminal.destroyTerminal(),this.$settings.env.terminal?.persistence&&this.$terminal.hasActiveSession()?this.$terminal.reconnectTerminal(this.termTarget(),{},this.resizeEvent):(!this.$settings.env.terminal?.persistence&&this.$terminal.hasActiveSession()&&this.$terminal.destroyPersistentSession(),this.$terminal.startTerminal(this.termTarget(),{},this.resizeEvent)),setTimeout(()=>{this.activateTerminal()},100)}ngAfterViewInit(){document.addEventListener("visibilitychange",this.onVisibilityChange.bind(this))}onVisibilityChange(){!document.hidden&&this.$terminal.isTerminalReady()&&setTimeout(()=>{this.activateTerminal()},100)}canDeactivate(){return this.$navigationGuard.canDeactivate()}ngOnDestroy(){document.removeEventListener("visibilitychange",this.onVisibilityChange.bind(this)),window.document.querySelector("body").classList.remove("bg-black"),this.$settings.env.terminal?.persistence?this.$terminal.detachTerminal():this.$terminal.destroyPersistentSession()}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=u({type:r,selectors:[["ng-component"]],viewQuery:function(e,i){e&1&&f(i.termTarget,_,5),e&2&&p()},hostBindings:function(e,i){e&1&&v("resize",function(n){return i.onWindowResize(n)},a)("beforeunload",function(n){return i.onBeforeUnload(n)},a)("focus",function(n){return i.onWindowFocus(n)},a)("click",function(n){return i.onClick(n)})},decls:8,vars:3,consts:[["terminaloutput",""],[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","docker-terminal",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,i){e&1&&(m(0,"div",1)(1,"div",2)(2,"h3",3),g(3),y(4,"translate"),l()()(),m(5,"div",4),h(6,"div",5,0),l()),e&2&&(c(3),T(b(4,1,"menu.linux.label_terminal")))},dependencies:[w],encapsulation:2})}return r})();export{A as TerminalComponent};
@@ -1,2 +1,2 @@
1
- import{A as Z,c as G,d as k,e as j,f as D,g as K,j as $,m as A,p as J,q as Q,w as X,z as Y}from"./chunk-5SOYD2TJ.js";import{a as ae}from"./chunk-PDXQ6XEL.js";import{b as oe}from"./chunk-GLG3L5PE.js";import{b as re}from"./chunk-JXZMEJOH.js";import{k as ie,m as U,n as ne}from"./chunk-AIF3MUWB.js";import{a as ee,b as te}from"./chunk-HCP4JDTX.js";import{m as q}from"./chunk-WBXDUV2S.js";import{Ad as R,Cc as L,Dc as B,Ec as E,Hb as M,Ib as z,Ic as a,Jb as T,Jc as s,Ob as m,Pb as o,Qb as r,Rb as u,Xa as W,_b as I,ab as n,bc as x,dc as _,h as S,jd as H,la as w,mb as V,md as N,nc as O,qc as l,ra as C,rc as f,sa as b,sc as g,w as h}from"./chunk-TIL3AXXZ.js";var pe=t=>({background:t}),de=t=>({anim:t}),ce=t=>({"progress-bar-animated":t}),me=()=>["restoring","restarting","restore-complete"],P=(t,d)=>({"is-valid":t,"is-invalid":d});function ue(t,d){if(t&1){let e=I();o(0,"div",5)(1,"h4",6),l(2),a(3,"translate"),r(),u(4,"div",7),a(5,"translate"),o(6,"button",8),x("click",function(){C(e);let i=_();return b(i.onClickGettingStarted())}),l(7),a(8,"translate"),r(),o(9,"a",9),x("click",function(){C(e);let i=_();return b(i.onClickRestoreBackup())}),l(10),a(11,"translate"),r()()}t&2&&(n(2),f(s(3,4,"setup.welcome_to_homebridge")),n(2),m("innerHTML",s(5,6,"setup.intro"),W),n(3),g(" ",s(8,8,"setup.button_get_started")," "),n(3),f(s(11,10,"setup_wizard_restore")))}function ge(t,d){if(t&1){let e=I();o(0,"div",5)(1,"h4",6),l(2),a(3,"translate"),r(),o(4,"div",10),l(5),a(6,"translate"),r(),o(7,"div",11)(8,"form",12),x("ngSubmit",function(){C(e);let i=_();return b(i.createFirstUser())}),o(9,"div",13)(10,"span",14),u(11,"i",15),r(),u(12,"input",16),a(13,"translate"),r(),o(14,"div",13)(15,"span",14),u(16,"i",17),r(),u(17,"input",18),a(18,"translate"),r(),o(19,"div",13)(20,"span",14),u(21,"i",17),r(),u(22,"input",19),a(23,"translate"),r(),o(24,"div",20)(25,"button",21),x("click",function(){C(e);let i=_();return b(i.onClickCancelRestore())}),l(26),a(27,"translate"),r(),o(28,"button",22),l(29),a(30,"translate"),r()()()()()}if(t&2){let e=_();n(2),f(s(3,16,"setup.create_account")),n(3),f(s(6,18,"setup_wizard_create_info")),n(3),m("formGroup",e.createUserForm),n(4),m("readonly",e.loading)("ngClass",E(30,P,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.valid,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.invalid))("placeholder",s(13,20,"users.label_username")),n(5),m("readonly",e.loading)("ngClass",E(33,P,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.valid,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.errors))("placeholder",s(18,22,"users.label_password")),n(5),m("readonly",e.loading)("ngClass",E(36,P,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.valid,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.errors))("placeholder",s(23,24,"users.label_confirm_password")),n(3),m("disabled",e.restoreUploading),n(),g(" ",s(27,26,"form.button_back")," "),n(2),m("disabled",e.createUserForm.invalid||e.loading),n(),g(" ",s(30,28,"form.button_continue")," ")}}function _e(t,d){t&1&&(u(0,"i",25),l(1),a(2,"translate")),t&2&&(n(),g(" ",s(2,1,"backup.label_uploading")," "))}function fe(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"form.button_continue")," ")}function he(t,d){if(t&1){let e=I();o(0,"div",5)(1,"h4",6),l(2),a(3,"translate"),r(),o(4,"div",10),l(5),a(6,"translate"),r(),o(7,"input",23),x("change",function(i){C(e);let F=_();return b(F.handleRestoreFileInput(i.target.files))}),r(),o(8,"div",20)(9,"button",21),x("click",function(){C(e);let i=_();return b(i.onClickCancelRestore())}),l(10),a(11,"translate"),r(),o(12,"button",24),x("click",function(){C(e);let i=_();return b(i.onRestoreBackupClick())}),z(13,_e,3,3)(14,fe,2,3),r()()()}if(t&2){let e=_();n(2),f(s(3,6,"setup_wizard_restore")),n(3),f(s(6,8,"backup.restore_help_one")),n(4),m("disabled",e.restoreUploading),n(),g(" ",s(11,10,"form.button_back")," "),n(2),m("disabled",e.restoreUploading||!e.selectedFile),n(),T(e.restoreUploading?13:14)}}function we(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"setup_wizard_restoring")," ")}function Ce(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"setup_wizard_starting")," ")}function be(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"setup_wizard_complete")," ")}function xe(t,d){t&1&&(o(0,"a",27),l(1),a(2,"translate"),r()),t&2&&(n(),g(" ",s(2,1,"form.button_continue")," "))}function ve(t,d){if(t&1&&(o(0,"div",5)(1,"h4",6),z(2,we,2,3)(3,Ce,2,3)(4,be,2,3),r(),u(5,"div",26),z(6,xe,3,3,"a",27),r()),t&2){let e=_();n(2),T(e.step==="restoring"?2:e.step==="restarting"?3:e.step==="restore-complete"?4:-1),n(4),T(e.step==="restore-complete"?6:-1)}}function ye(t,d){t&1&&(o(0,"div",5)(1,"h4",28),l(2),a(3,"translate"),r(),o(4,"div",10),l(5),a(6,"translate"),r(),o(7,"a",29),l(8),a(9,"translate"),r()()),t&2&&(n(2),f(s(3,3,"setup_wizard_complete_title")),n(3),f(s(6,5,"setup_wizard_completed")),n(3),g(" ",s(9,7,"form.button_continue")," "))}var He=(()=>{class t{$api=w(ne);$auth=w(oe);$settings=w(re);$title=w(q);$toastr=w(ie);$translate=w(ee);$ws=w(ae);io;step="welcome";backgroundStyle;progress=1;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;loading=!1;selectedFile;restoreUploading=!1;createUserForm=new K({username:new $("",[k.required]),password:new $("",[k.compose([k.required,k.minLength(4)])]),passwordConfirm:new $("",[k.required])},this.matchPassword);ngOnInit(){return S(this,null,function*(){this.$title.setTitle(this.$translate.instant("setup_wizard_page_title")),yield this.setBackground()})}onClickGettingStarted(){this.step="create-account",this.progress=50}onClickRestoreBackup(){this.step="restore-backup",this.progress=20}onClickCancelRestore(){this.selectedFile=null,this.step="welcome",this.progress=1}createFirstUser(){return S(this,null,function*(){this.loading=!0,this.progress=75;let e=this.createUserForm.getRawValue();e.name=e.username;try{yield h(this.$api.post("/setup-wizard/create-first-user",e)),this.$settings.env.setupWizardComplete=!0,this.progress=100,this.loading=!1,yield this.$auth.login({username:e.username,password:e.password}),this.step="setup-complete"}catch(p){this.loading=!1,this.progress=50,console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})}handleRestoreFileInput(e){e.length?(this.selectedFile=e[0],this.progress=40):(delete this.selectedFile,this.progress=20)}onRestoreBackupClick(){return S(this,null,function*(){this.restoreUploading=!0,this.step="restoring",this.progress=60;try{let e=yield h(this.$api.get("/setup-wizard/get-setup-wizard-token"));window.localStorage.setItem(U.jwt.tokenKey,e.access_token),this.$auth.token=e.access_token,this.progress=65;let p=new FormData;p.append("restoreArchive",this.selectedFile,this.selectedFile.name),yield h(this.$api.post("/backup/restore",p)),this.progress=70,this.io=this.$ws.connectToNamespace("backup");let i=document.getElementById("output");this.io.socket.on("stdout",c=>{c.split(`
1
+ import{A as Z,c as G,d as k,e as j,f as D,g as K,j as $,m as A,p as J,q as Q,w as X,z as Y}from"./chunk-KYB236MX.js";import{a as ae}from"./chunk-EBEBE7HY.js";import{b as oe}from"./chunk-LBHZREQL.js";import{b as re}from"./chunk-UX5OAFTT.js";import{k as ie,m as U,n as ne}from"./chunk-BFD45AA7.js";import{a as ee,b as te}from"./chunk-FYDO54CR.js";import{m as q}from"./chunk-KLQ6BEKS.js";import{Ad as R,Cc as L,Dc as B,Ec as E,Hb as M,Ib as z,Ic as a,Jb as T,Jc as s,Ob as m,Pb as o,Qb as r,Rb as u,Xa as W,_b as I,ab as n,bc as x,dc as _,h as S,jd as H,la as w,mb as V,md as N,nc as O,qc as l,ra as C,rc as f,sa as b,sc as g,w as h}from"./chunk-645YHJEQ.js";var pe=t=>({background:t}),de=t=>({anim:t}),ce=t=>({"progress-bar-animated":t}),me=()=>["restoring","restarting","restore-complete"],P=(t,d)=>({"is-valid":t,"is-invalid":d});function ue(t,d){if(t&1){let e=I();o(0,"div",5)(1,"h4",6),l(2),a(3,"translate"),r(),u(4,"div",7),a(5,"translate"),o(6,"button",8),x("click",function(){C(e);let i=_();return b(i.onClickGettingStarted())}),l(7),a(8,"translate"),r(),o(9,"a",9),x("click",function(){C(e);let i=_();return b(i.onClickRestoreBackup())}),l(10),a(11,"translate"),r()()}t&2&&(n(2),f(s(3,4,"setup.welcome_to_homebridge")),n(2),m("innerHTML",s(5,6,"setup.intro"),W),n(3),g(" ",s(8,8,"setup.button_get_started")," "),n(3),f(s(11,10,"setup_wizard_restore")))}function ge(t,d){if(t&1){let e=I();o(0,"div",5)(1,"h4",6),l(2),a(3,"translate"),r(),o(4,"div",10),l(5),a(6,"translate"),r(),o(7,"div",11)(8,"form",12),x("ngSubmit",function(){C(e);let i=_();return b(i.createFirstUser())}),o(9,"div",13)(10,"span",14),u(11,"i",15),r(),u(12,"input",16),a(13,"translate"),r(),o(14,"div",13)(15,"span",14),u(16,"i",17),r(),u(17,"input",18),a(18,"translate"),r(),o(19,"div",13)(20,"span",14),u(21,"i",17),r(),u(22,"input",19),a(23,"translate"),r(),o(24,"div",20)(25,"button",21),x("click",function(){C(e);let i=_();return b(i.onClickCancelRestore())}),l(26),a(27,"translate"),r(),o(28,"button",22),l(29),a(30,"translate"),r()()()()()}if(t&2){let e=_();n(2),f(s(3,16,"setup.create_account")),n(3),f(s(6,18,"setup_wizard_create_info")),n(3),m("formGroup",e.createUserForm),n(4),m("readonly",e.loading)("ngClass",E(30,P,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.valid,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.invalid))("placeholder",s(13,20,"users.label_username")),n(5),m("readonly",e.loading)("ngClass",E(33,P,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.valid,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.errors))("placeholder",s(18,22,"users.label_password")),n(5),m("readonly",e.loading)("ngClass",E(36,P,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.valid,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.errors))("placeholder",s(23,24,"users.label_confirm_password")),n(3),m("disabled",e.restoreUploading),n(),g(" ",s(27,26,"form.button_back")," "),n(2),m("disabled",e.createUserForm.invalid||e.loading),n(),g(" ",s(30,28,"form.button_continue")," ")}}function _e(t,d){t&1&&(u(0,"i",25),l(1),a(2,"translate")),t&2&&(n(),g(" ",s(2,1,"backup.label_uploading")," "))}function fe(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"form.button_continue")," ")}function he(t,d){if(t&1){let e=I();o(0,"div",5)(1,"h4",6),l(2),a(3,"translate"),r(),o(4,"div",10),l(5),a(6,"translate"),r(),o(7,"input",23),x("change",function(i){C(e);let F=_();return b(F.handleRestoreFileInput(i.target.files))}),r(),o(8,"div",20)(9,"button",21),x("click",function(){C(e);let i=_();return b(i.onClickCancelRestore())}),l(10),a(11,"translate"),r(),o(12,"button",24),x("click",function(){C(e);let i=_();return b(i.onRestoreBackupClick())}),z(13,_e,3,3)(14,fe,2,3),r()()()}if(t&2){let e=_();n(2),f(s(3,6,"setup_wizard_restore")),n(3),f(s(6,8,"backup.restore_help_one")),n(4),m("disabled",e.restoreUploading),n(),g(" ",s(11,10,"form.button_back")," "),n(2),m("disabled",e.restoreUploading||!e.selectedFile),n(),T(e.restoreUploading?13:14)}}function we(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"setup_wizard_restoring")," ")}function Ce(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"setup_wizard_starting")," ")}function be(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"setup_wizard_complete")," ")}function xe(t,d){t&1&&(o(0,"a",27),l(1),a(2,"translate"),r()),t&2&&(n(),g(" ",s(2,1,"form.button_continue")," "))}function ve(t,d){if(t&1&&(o(0,"div",5)(1,"h4",6),z(2,we,2,3)(3,Ce,2,3)(4,be,2,3),r(),u(5,"div",26),z(6,xe,3,3,"a",27),r()),t&2){let e=_();n(2),T(e.step==="restoring"?2:e.step==="restarting"?3:e.step==="restore-complete"?4:-1),n(4),T(e.step==="restore-complete"?6:-1)}}function ye(t,d){t&1&&(o(0,"div",5)(1,"h4",28),l(2),a(3,"translate"),r(),o(4,"div",10),l(5),a(6,"translate"),r(),o(7,"a",29),l(8),a(9,"translate"),r()()),t&2&&(n(2),f(s(3,3,"setup_wizard_complete_title")),n(3),f(s(6,5,"setup_wizard_completed")),n(3),g(" ",s(9,7,"form.button_continue")," "))}var He=(()=>{class t{$api=w(ne);$auth=w(oe);$settings=w(re);$title=w(q);$toastr=w(ie);$translate=w(ee);$ws=w(ae);io;step="welcome";backgroundStyle;progress=1;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;loading=!1;selectedFile;restoreUploading=!1;createUserForm=new K({username:new $("",[k.required]),password:new $("",[k.compose([k.required,k.minLength(4)])]),passwordConfirm:new $("",[k.required])},this.matchPassword);ngOnInit(){return S(this,null,function*(){this.$title.setTitle(this.$translate.instant("setup_wizard_page_title")),yield this.setBackground()})}onClickGettingStarted(){this.step="create-account",this.progress=50}onClickRestoreBackup(){this.step="restore-backup",this.progress=20}onClickCancelRestore(){this.selectedFile=null,this.step="welcome",this.progress=1}createFirstUser(){return S(this,null,function*(){this.loading=!0,this.progress=75;let e=this.createUserForm.getRawValue();e.name=e.username;try{yield h(this.$api.post("/setup-wizard/create-first-user",e)),this.$settings.env.setupWizardComplete=!0,this.progress=100,this.loading=!1,yield this.$auth.login({username:e.username,password:e.password}),this.step="setup-complete"}catch(p){this.loading=!1,this.progress=50,console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})}handleRestoreFileInput(e){e.length?(this.selectedFile=e[0],this.progress=40):(delete this.selectedFile,this.progress=20)}onRestoreBackupClick(){return S(this,null,function*(){this.restoreUploading=!0,this.step="restoring",this.progress=60;try{let e=yield h(this.$api.get("/setup-wizard/get-setup-wizard-token"));window.localStorage.setItem(U.jwt.tokenKey,e.access_token),this.$auth.token=e.access_token,this.progress=65;let p=new FormData;p.append("restoreArchive",this.selectedFile,this.selectedFile.name),yield h(this.$api.post("/backup/restore",p)),this.progress=70,this.io=this.$ws.connectToNamespace("backup");let i=document.getElementById("output");this.io.socket.on("stdout",c=>{c.split(`
2
2
  \r`).forEach(v=>{if(v&&!/^[⠇⠏⠋⠙⠹⠸]+$/.test(v)){let y=document.createElement("div"),le=/\x1B\[(\d{1,2}(;\d{1,2})?)?[mGK]/g;y.innerHTML=v.replace(le,""),v.includes("[0;31m")?y.classList.add("red-text"):v.includes("[0;32m")?y.classList.add("green-text"):v.includes("[0;33m")?y.classList.add("orange-text"):v.includes("[0;36m")&&y.classList.add("cyan-text"),i.appendChild(y),i.scrollTop=i.scrollHeight}})}),this.restoreStarted=!0,this.restoreInProgress=!0,this.progress=75,yield h(this.io.request("do-restore")),this.progress=80,this.restoreInProgress=!1,yield h(this.$api.put("/backup/restart",{})),this.step="restarting",this.progress=85,window.localStorage.removeItem(U.jwt.tokenKey),this.$auth.token=null;let F=document.createElement("div");F.classList.add("orange-text"),F.innerHTML="Starting Homebridge, please wait...",i.appendChild(F),i.scrollTop=i.scrollHeight,yield new Promise(c=>setTimeout(c,3e3)),this.progress=88,yield new Promise(c=>setTimeout(c,3e3)),this.progress=91,yield new Promise(c=>setTimeout(c,3e3)),this.progress=94,yield new Promise(c=>setTimeout(c,3e3)),this.progress=97,yield new Promise(c=>setTimeout(c,3e3)),this.progress=99;let se=setInterval(()=>S(this,null,function*(){try{yield h(this.$api.get("/auth/settings")),clearInterval(se),this.progress=100,this.restoreUploading=!1,this.step="restore-complete"}catch{}}),1e3)}catch(e){console.error(e),this.restoreUploading=!1,this.restoreFailed=!0,this.progress=20,this.step="restore-backup",this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}finally{this.io&&this.io.end()}})}setBackground(){return S(this,null,function*(){if(this.$settings.settingsLoaded||(yield h(this.$settings.onSettingsLoaded)),this.$settings.env.customWallpaperHash){let e=`${U.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`;this.backgroundStyle=`url('${e}') center/cover`}})}matchPassword(e){let p=e.get("password").value,i=e.get("passwordConfirm").value;if(p!==i)e.get("passwordConfirm").setErrors({matchPassword:!0});else return null}static \u0275fac=function(p){return new(p||t)};static \u0275cmp=V({type:t,selectors:[["ng-component"]],decls:10,vars:14,consts:[[1,"setup-container","gradient","d-flex","align-items-start","justify-content-center",3,"ngStyle","ngClass"],[1,"w-100","setup-card","d-flex","py-4","flex-column"],["ngSrc","/assets/homebridge-color-round.svg","alt","Homebridge Logo","height","100","width","100","priority","true",1,"homebridge-logo","mx-auto","my-3"],[1,"progress","w-100","my-4"],["role","progressbar","aria-valuemin","0","aria-valuemax","100",1,"progress-bar","progress-bar-striped","bg-success",3,"ngClass"],[1,"w-100","d-flex","flex-column","align-items-center","mb-2"],[1,"mb-3","text-center"],[1,"mb-4","small","grey-text","text-center",3,"innerHTML"],["type","button",1,"btn","btn-lg","btn-primary","mb-4",3,"click"],["href","javascript:void(0)",1,"grey-text",3,"click"],[1,"mb-4","small","grey-text","text-center"],[1,"w-100"],["novalidate","",3,"ngSubmit","formGroup"],[1,"input-group","mb-4"],[1,"input-group-text","custom-input"],[1,"fas","fa-fw","fa-user","primary-text","fa-lg"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none","tabindex","1","required","",1,"form-control","custom-input",3,"readonly","ngClass","placeholder"],[1,"fas","fa-fw","fa-lock","primary-text","fa-lg"],["formControlName","password","type","password","id","form-pass","autocomplete","new-password","tabindex","2","required","",1,"form-control","custom-input",3,"readonly","ngClass","placeholder"],["formControlName","passwordConfirm","type","password","id","form-pass-confirm","autocomplete","new-password","tabindex","2","required","",1,"form-control","custom-input",3,"readonly","ngClass","placeholder"],[1,"mt-3","w-100","d-flex","justify-content-between"],["type","button",1,"btn","btn-elegant","ms-0",3,"click","disabled"],["type","submit",1,"btn","btn-primary",3,"disabled"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz",1,"form-control","custom-input","mb-3",3,"change"],["type","button",1,"btn","btn-primary","me-0",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],["id","output",1,"font-monospace","small","alert","alert-info","w-100","text-start","mt-1","mb-0"],["href","/login",1,"btn","btn-lg","btn-primary","mt-4"],[1,"mb-3"],["href","/",1,"btn","btn-lg","btn-primary"]],template:function(p,i){p&1&&(o(0,"div",0)(1,"div",1),u(2,"img",2),o(3,"div",3),u(4,"div",4),r(),z(5,ue,12,12,"div",5)(6,ge,31,39,"div",5)(7,he,15,12,"div",5)(8,ve,7,2,"div",5)(9,ye,10,9,"div",5),r()()),p&2&&(m("ngStyle",B(7,pe,i.backgroundStyle))("ngClass",B(9,de,!i.backgroundStyle)),n(4),O("width",i.progress+"%"),m("ngClass",B(11,ce,i.loading||i.restoreUploading)),M("aria-valuenow",i.progress),n(),T(i.step==="welcome"?5:i.step==="create-account"?6:i.step==="restore-backup"?7:L(13,me).includes(i.step)?8:i.step==="setup-complete"?9:-1))},dependencies:[H,R,Y,A,G,j,D,X,Z,J,Q,N,te],styles:["body{overflow:scroll!important} body.dark-mode .setup-card{background-color:#2b2b2b;color:#fff}.setup-container[_ngcontent-%COMP%]{z-index:-1;padding-top:2em;padding-bottom:2em;min-height:100%;background-size:300% 300%}.anim[_ngcontent-%COMP%]{-webkit-animation:_ngcontent-%COMP%_gradient 20s ease infinite;-moz-animation:gradient 20s ease infinite;-o-animation:gradient 20s ease infinite;animation:_ngcontent-%COMP%_gradient 20s ease infinite}@keyframes _ngcontent-%COMP%_gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.setup-card[_ngcontent-%COMP%]{max-width:550px;border-radius:1rem;padding-right:25px;padding-left:25px;background-color:#ffffffe6}.setup-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width: 575px){.setup-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}}.homebridge-logo[_ngcontent-%COMP%]{margin-bottom:10px}.progress[_ngcontent-%COMP%]{background-color:#ddd}#output[_ngcontent-%COMP%]{height:200px;overflow-y:scroll;white-space:pre-wrap}"]})}return t})();export{He as SetupWizardComponent};
@@ -1,4 +1,4 @@
1
- import{a as z,b as A,c as k}from"./chunk-AGG2PKOU.js";import{a as l}from"./chunk-PDXQ6XEL.js";import{M as n,g as r,ga as c,la as d,n as h}from"./chunk-TIL3AXXZ.js";var f=r(z(),1),a=r(A(),1),p=r(k(),1);var $=(()=>{class t{$ws=d(l);io;fitAddon;webLinksAddon;resize;elementResize;pluginName;term;startTerminal(m,s={},u,w){this.pluginName=w,this.elementResize=u,this.io=this.$ws.connectToNamespace("log"),this.term=new p.Terminal(s),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new f.FitAddon,this.webLinksAddon=new a.WebLinksAddon,this.resize=new h,this.term.open(m.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.subscribe(()=>{this.term.reset(),this.io.socket.emit("tail-log",{cols:this.term.cols,rows:this.term.rows})}),this.io.socket.on("disconnect",()=>{this.term.write(`
1
+ import{a as z,b as A,c as k}from"./chunk-HHGB2T2Q.js";import{a as l}from"./chunk-EBEBE7HY.js";import{M as n,g as r,ga as c,la as d,n as h}from"./chunk-645YHJEQ.js";var f=r(z(),1),a=r(A(),1),p=r(k(),1);var $=(()=>{class t{$ws=d(l);io;fitAddon;webLinksAddon;resize;elementResize;pluginName;term;startTerminal(m,s={},u,w){this.pluginName=w,this.elementResize=u,this.io=this.$ws.connectToNamespace("log"),this.term=new p.Terminal(s),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new f.FitAddon,this.webLinksAddon=new a.WebLinksAddon,this.resize=new h,this.term.open(m.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.subscribe(()=>{this.term.reset(),this.io.socket.emit("tail-log",{cols:this.term.cols,rows:this.term.rows})}),this.io.socket.on("disconnect",()=>{this.term.write(`
2
2
  \r
3
3
  \rWebsocket failed to connect. Is the server running?
4
4
  \r
package/public/index.html CHANGED
@@ -20,5 +20,5 @@
20
20
 
21
21
  <body>
22
22
  <app-root></app-root>
23
- <link rel="modulepreload" href="chunk-D4RIFWBF.js"><link rel="modulepreload" href="chunk-DR5CLQIV.js"><link rel="modulepreload" href="chunk-2HQZ67OQ.js"><link rel="modulepreload" href="chunk-NI4TWGRP.js"><link rel="modulepreload" href="chunk-R353AANN.js"><link rel="modulepreload" href="chunk-DR67EMJC.js"><link rel="modulepreload" href="chunk-U3S5RZBK.js"><link rel="modulepreload" href="chunk-P7OU7THZ.js"><link rel="modulepreload" href="chunk-CU7W5PUQ.js"><link rel="modulepreload" href="chunk-YINVVV6O.js"><script src="polyfills-WE4HA5DL.js" type="module" crossorigin="use-credentials"></script><script src="main-PXUUFTFG.js" type="module" crossorigin="use-credentials"></script></body>
23
+ <link rel="modulepreload" href="chunk-LVHLZ5E6.js"><link rel="modulepreload" href="chunk-D7WPC76C.js"><link rel="modulepreload" href="chunk-RZ4UMDVF.js"><link rel="modulepreload" href="chunk-BNSNQD7H.js"><link rel="modulepreload" href="chunk-IYURE22E.js"><link rel="modulepreload" href="chunk-5GZUTJBM.js"><link rel="modulepreload" href="chunk-3JNJJOX6.js"><link rel="modulepreload" href="chunk-TGGFYQRU.js"><link rel="modulepreload" href="chunk-BRVWN5XB.js"><link rel="modulepreload" href="chunk-LJ5ZUSI3.js"><script src="polyfills-WE4HA5DL.js" type="module" crossorigin="use-credentials"></script><script src="main-WGO72DZR.js" type="module" crossorigin="use-credentials"></script></body>
24
24
  </html>