homebridge-config-ui-x 5.4.2-beta.8 → 5.5.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.
Files changed (109) hide show
  1. package/CHANGELOG.md +15 -5
  2. package/dist/core/config/config.service.d.ts +1 -1
  3. package/dist/core/config/config.service.js +2 -2
  4. package/dist/core/config/config.service.js.map +1 -1
  5. package/dist/core/config/config.startup.js +3 -3
  6. package/dist/core/config/config.startup.js.map +1 -1
  7. package/package.json +8 -8
  8. package/public/3rdpartylicenses.txt +29 -1
  9. package/public/assets/hap-icons/light-bulb.svg +25 -0
  10. package/public/assets/hap-icons/outlet.svg +25 -0
  11. package/public/assets/hap-icons/switch.svg +25 -0
  12. package/public/assets/hap-icons/unknown.svg +25 -0
  13. package/public/{chunk-O3SGSKKI.js → chunk-2TN4MWRG.js} +1 -1
  14. package/public/{chunk-HG4HVFLB.js → chunk-4HE4ZOV2.js} +1 -1
  15. package/public/{chunk-55FCKDDQ.js → chunk-4VRTWDLC.js} +1 -1
  16. package/public/{chunk-I2TETZLW.js → chunk-5PCDPQTV.js} +1 -1
  17. package/public/{chunk-V2P2FPJ7.js → chunk-6BYNCIUB.js} +1 -1
  18. package/public/chunk-6NTI6OJP.js +1 -0
  19. package/public/chunk-6U5EVCLL.js +1 -0
  20. package/public/chunk-6XPBXGXL.js +1 -0
  21. package/public/{chunk-UHWT4HS2.js → chunk-6ZQMSK4C.js} +1 -1
  22. package/public/{chunk-DASXSZCK.js → chunk-APPIBA3A.js} +1 -1
  23. package/public/chunk-BLACXXS5.js +1 -0
  24. package/public/{chunk-H3PPMCMP.js → chunk-CDYGLUTV.js} +1 -1
  25. package/public/{chunk-RQFAIEO7.js → chunk-CH37ERZR.js} +1 -1
  26. package/public/{chunk-CNMM42I5.js → chunk-CHVOUSYH.js} +1 -1
  27. package/public/chunk-CNO7HM45.js +1 -0
  28. package/public/{chunk-ILM36GEA.js → chunk-COTJCJ2Q.js} +1 -1
  29. package/public/chunk-DA7RMT4Z.js +12 -0
  30. package/public/{chunk-3P4RM2BA.js → chunk-EJCUIKT3.js} +1 -1
  31. package/public/{chunk-5TCYRJ6A.js → chunk-EQZV7W2F.js} +1 -1
  32. package/public/chunk-ESVHJP54.js +1 -0
  33. package/public/{chunk-RSIANNNF.js → chunk-FWGBG4GE.js} +1 -1
  34. package/public/chunk-FY5GOYXM.js +1 -0
  35. package/public/chunk-GK2FJAIA.js +9 -0
  36. package/public/{chunk-YNFL6Q3L.js → chunk-HJJYHJFU.js} +1 -1
  37. package/public/{chunk-465U4FZV.js → chunk-IISL7R2U.js} +1 -1
  38. package/public/{chunk-F6PYAH7Z.js → chunk-JKYIXL2W.js} +1 -1
  39. package/public/{chunk-Y6KHINTU.js → chunk-JLXHBDV4.js} +2 -2
  40. package/public/{chunk-YAA5O4PJ.js → chunk-JU5TVELH.js} +1 -1
  41. package/public/{chunk-BYV54PEG.js → chunk-KYYR7BKL.js} +1 -1
  42. package/public/{chunk-TGOCI72Q.js → chunk-L2Z3AXVM.js} +1 -1
  43. package/public/chunk-LCNBB75Q.js +1 -0
  44. package/public/{chunk-PSIKVTV4.js → chunk-LJ2VDV7E.js} +1 -1
  45. package/public/{chunk-ZHPB347D.js → chunk-LVQGJ2B5.js} +1 -1
  46. package/public/{chunk-JSC6PYTD.js → chunk-LYUFPCJS.js} +1 -1
  47. package/public/{chunk-4WAU3AJS.js → chunk-MCHXOMUK.js} +1 -1
  48. package/public/{chunk-BU65ZOCD.js → chunk-MNU7VJ4F.js} +1 -1
  49. package/public/{chunk-LPHTUMGC.js → chunk-MPEVLH5I.js} +1 -1
  50. package/public/{chunk-2GB56HTN.js → chunk-MSFNTB56.js} +1 -1
  51. package/public/chunk-O4QZ4POF.js +2 -0
  52. package/public/{chunk-NFWGYMP7.js → chunk-OCIXLP3Q.js} +1 -1
  53. package/public/{chunk-2RM2ZIP4.js → chunk-OIGVYJ2D.js} +1 -1
  54. package/public/chunk-OTQCO6QF.js +4 -0
  55. package/public/{chunk-YATJTZML.js → chunk-PETLNERF.js} +2 -2
  56. package/public/{chunk-OVKGLIQA.js → chunk-PM76DNNB.js} +1 -1
  57. package/public/{chunk-WMTKD5YY.js → chunk-PSA5BJ4O.js} +1 -1
  58. package/public/{chunk-M5FWDVIL.js → chunk-PT7VJPA5.js} +1 -1
  59. package/public/chunk-PXTRJNWG.js +30 -0
  60. package/public/{chunk-LUUY2SYK.js → chunk-Q47QL6G5.js} +1 -1
  61. package/public/chunk-Q6EFZDOI.js +1 -0
  62. package/public/{chunk-6AV3Q7A4.js → chunk-QA4W42HX.js} +1 -1
  63. package/public/chunk-QBUMDNNR.js +1 -0
  64. package/public/{chunk-EA3EXGPZ.js → chunk-QUAAVQGQ.js} +2 -2
  65. package/public/{chunk-TK3Z5QBS.js → chunk-QUNHDVU7.js} +1 -1
  66. package/public/chunk-RD5FVAI2.js +4 -0
  67. package/public/{chunk-77JZBWAC.js → chunk-RKGFBHJG.js} +1 -1
  68. package/public/chunk-TGY4SBYK.js +20 -0
  69. package/public/chunk-TJXKMEJL.js +1 -0
  70. package/public/{chunk-PBA72Y7F.js → chunk-V2CYUM6X.js} +1 -1
  71. package/public/chunk-VDXOHOIZ.js +23 -0
  72. package/public/{chunk-ZMKY2XSO.js → chunk-VEO6347U.js} +1 -1
  73. package/public/{chunk-FELMUB4D.js → chunk-VPT3FTAG.js} +1 -1
  74. package/public/{chunk-SMYT4RBA.js → chunk-WBSZIAJG.js} +1 -1
  75. package/public/{chunk-NJOBXAPT.js → chunk-X4BK4EIR.js} +1 -1
  76. package/public/{chunk-2OYNBG2N.js → chunk-X5R4UHSV.js} +1 -1
  77. package/public/{chunk-FGCUDKSH.js → chunk-XFT7CDBN.js} +1 -1
  78. package/public/chunk-XNPJRZJU.js +3 -0
  79. package/public/chunk-Z5XI7ADB.js +1 -0
  80. package/public/{chunk-LVUMUQV7.js → chunk-ZEHWCP2W.js} +1 -1
  81. package/public/chunk-ZESBGGVH.js +1 -0
  82. package/public/index.html +2 -2
  83. package/public/{main-RLR5VDBK.js → main-UIFNF6J4.js} +1 -1
  84. package/public/polyfills-5KWHJ7II.js +2 -0
  85. package/public/styles-YBNX7ZGB.css +1 -0
  86. package/public/chunk-2BOBWHVT.js +0 -23
  87. package/public/chunk-4NMZRHR6.js +0 -1
  88. package/public/chunk-6GMXEQVA.js +0 -2
  89. package/public/chunk-AE7VAWOU.js +0 -9
  90. package/public/chunk-BDFT33ET.js +0 -1
  91. package/public/chunk-BI3O3AIO.js +0 -4
  92. package/public/chunk-D3JHDB7S.js +0 -1
  93. package/public/chunk-DT2WDJ2I.js +0 -1
  94. package/public/chunk-G7FA4DP4.js +0 -1
  95. package/public/chunk-GKQ4M2JD.js +0 -1
  96. package/public/chunk-H36QJYLQ.js +0 -4
  97. package/public/chunk-I5ZTZWWC.js +0 -1
  98. package/public/chunk-LJCIV6Z3.js +0 -1
  99. package/public/chunk-LWTXCMFH.js +0 -1
  100. package/public/chunk-R5BOGDS2.js +0 -30
  101. package/public/chunk-U6PYN4II.js +0 -1
  102. package/public/chunk-UOLP7IQJ.js +0 -1
  103. package/public/chunk-WFXGDJ4B.js +0 -20
  104. package/public/chunk-Y752BA6L.js +0 -1
  105. package/public/chunk-YLIPTO6D.js +0 -40
  106. package/public/chunk-YRIAJM6Y.js +0 -1
  107. package/public/chunk-ZNJ3LVKA.js +0 -3
  108. package/public/polyfills-WE4HA5DL.js +0 -2
  109. package/public/styles-AUT3PDLG.css +0 -1
@@ -1 +1 @@
1
- import{g as r}from"./chunk-UOLP7IQJ.js";import"./chunk-6GMXEQVA.js";import{ga as e,nb as o}from"./chunk-H36QJYLQ.js";var m=[{path:"",loadComponent:()=>import("./chunk-HG4HVFLB.js").then(t=>t.TerminalComponent),canDeactivate:[t=>t.canDeactivate?t.canDeactivate():!0]}],n=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=o({type:t});static \u0275inj=e({imports:[r.forChild(m),r]})}return t})();var s=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=o({type:t});static \u0275inj=e({imports:[n]})}return t})();export{s as TerminalModule};
1
+ import{g as r}from"./chunk-CNO7HM45.js";import"./chunk-O4QZ4POF.js";import{ha as e,qb as o}from"./chunk-OTQCO6QF.js";var m=[{path:"",loadComponent:()=>import("./chunk-4HE4ZOV2.js").then(t=>t.TerminalComponent),canDeactivate:[t=>t.canDeactivate?t.canDeactivate():!0]}],n=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=o({type:t});static \u0275inj=e({imports:[r.forChild(m),r]})}return t})();var s=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=o({type:t});static \u0275inj=e({imports:[n]})}return t})();export{s as TerminalModule};
@@ -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-CNMM42I5.js";import{a as ae}from"./chunk-DT2WDJ2I.js";import{b as oe}from"./chunk-Y752BA6L.js";import{b as re}from"./chunk-LJCIV6Z3.js";import{k as ie,m as U,n as ne}from"./chunk-YRIAJM6Y.js";import{a as ee,b as te}from"./chunk-G7FA4DP4.js";import{l as q}from"./chunk-6GMXEQVA.js";import{Cc as L,Dc as B,Ec as E,Hb as M,Ib as z,Jb as T,Jc as a,Kc 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,id as H,ka as w,ld as N,mb as V,nc as O,qa as C,qc as l,ra as b,rc as f,sc as g,w as h,yd as R}from"./chunk-H36QJYLQ.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-CHVOUSYH.js";import{a as ae}from"./chunk-TJXKMEJL.js";import{b as oe}from"./chunk-Z5XI7ADB.js";import{b as re}from"./chunk-QBUMDNNR.js";import{k as ie,m as ne}from"./chunk-LCNBB75Q.js";import{a as ee,b as te,d as U}from"./chunk-6U5EVCLL.js";import{m as q}from"./chunk-O4QZ4POF.js";import{Gd as R,Hc as L,Ic as B,Jc as E,Kb as M,Nb as z,Ob as T,Oc as a,Pc as s,Tb as m,Ub as o,Vb as r,Wb as u,_a as W,db as n,dc as I,gc as x,h as S,ic as _,la as w,pb as V,pd as H,ra as C,sa as b,sc as O,sd as N,vc as l,w as h,wc as f,xc as g}from"./chunk-OTQCO6QF.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 +1 @@
1
- import{d as u,g as n}from"./chunk-UOLP7IQJ.js";import{k as l,n as d}from"./chunk-YRIAJM6Y.js";import{a as f}from"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{fa as p,ga as i,h as m,ka as o,nb as s,w as c}from"./chunk-H36QJYLQ.js";var a=(()=>{class r{$api=o(d);$router=o(u);$toastr=o(l);$translate=o(f);resolve(){return m(this,null,function*(){try{return yield c(this.$api.get("/users"))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(e){return new(e||r)};static \u0275prov=p({token:r,factory:r.\u0275fac})}return r})();var h=[{path:"",loadComponent:()=>import("./chunk-DASXSZCK.js").then(r=>r.UsersComponent),resolve:{homebridgeUsers:a}}],v=(()=>{class r{static \u0275fac=function(e){return new(e||r)};static \u0275mod=s({type:r});static \u0275inj=i({imports:[n.forChild(h),n]})}return r})();var T=(()=>{class r{static \u0275fac=function(e){return new(e||r)};static \u0275mod=s({type:r});static \u0275inj=i({providers:[a],imports:[v]})}return r})();export{T as UsersModule};
1
+ import{d as u,g as n}from"./chunk-CNO7HM45.js";import{k as l,m as d}from"./chunk-LCNBB75Q.js";import{a as f}from"./chunk-6U5EVCLL.js";import"./chunk-O4QZ4POF.js";import{ga as p,h as m,ha as i,la as o,qb as s,w as c}from"./chunk-OTQCO6QF.js";var a=(()=>{class r{$api=o(d);$router=o(u);$toastr=o(l);$translate=o(f);resolve(){return m(this,null,function*(){try{return yield c(this.$api.get("/users"))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(e){return new(e||r)};static \u0275prov=p({token:r,factory:r.\u0275fac})}return r})();var h=[{path:"",loadComponent:()=>import("./chunk-APPIBA3A.js").then(r=>r.UsersComponent),resolve:{homebridgeUsers:a}}],v=(()=>{class r{static \u0275fac=function(e){return new(e||r)};static \u0275mod=s({type:r});static \u0275inj=i({imports:[n.forChild(h),n]})}return r})();var T=(()=>{class r{static \u0275fac=function(e){return new(e||r)};static \u0275mod=s({type:r});static \u0275inj=i({providers:[a],imports:[v]})}return r})();export{T as UsersModule};