homebridge-config-ui-x 5.4.2-beta.0 → 5.4.2-beta.10
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 +14 -4
- package/CLAUDE.md +112 -0
- package/dist/modules/accessories/accessories.service.js +5 -1
- package/dist/modules/accessories/accessories.service.js.map +1 -1
- package/dist/modules/plugins/plugins.service.d.ts +1 -0
- package/dist/modules/plugins/plugins.service.js +27 -15
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/package.json +17 -12
- package/public/3rdpartylicenses.txt +0 -26
- package/public/{chunk-MP3K6Q5N.js → chunk-2AUDO3YT.js} +1 -1
- package/public/chunk-3BY2YC6T.js +4 -0
- package/public/{chunk-BYDZXXU7.js → chunk-447KMSW5.js} +1 -1
- package/public/{chunk-ULDXS7ZK.js → chunk-4N2RTOW6.js} +1 -1
- package/public/{chunk-ZUTM7S4U.js → chunk-4WAU3AJS.js} +1 -1
- package/public/chunk-54ET3HHS.js +1 -0
- package/public/{chunk-DP45OUJJ.js → chunk-5H52XZ6O.js} +1 -1
- package/public/{chunk-QX6BFGHZ.js → chunk-5TCYRJ6A.js} +1 -1
- package/public/{chunk-OA7Y3E5A.js → chunk-6GMXEQVA.js} +2 -2
- package/public/{chunk-QSP4KI3N.js → chunk-76EVYYMU.js} +1 -1
- package/public/{chunk-D7VCPH6W.js → chunk-77JZBWAC.js} +1 -1
- package/public/chunk-A7KOVDDP.js +1 -0
- package/public/{chunk-FVKMBZOU.js → chunk-AE7VAWOU.js} +1 -1
- package/public/{chunk-J7JPVBEU.js → chunk-AQHDOCGY.js} +1 -1
- package/public/{chunk-YQ7MFP33.js → chunk-AXCC4J6O.js} +1 -1
- package/public/{chunk-6X3MH72N.js → chunk-BMYHLJ4Z.js} +1 -1
- package/public/{chunk-WCOLHYTR.js → chunk-BU65ZOCD.js} +1 -1
- package/public/{chunk-7EQFLCW4.js → chunk-CNMM42I5.js} +1 -1
- package/public/{chunk-HWAWBYVQ.js → chunk-D3JHDB7S.js} +1 -1
- package/public/{chunk-ESIX4ZF5.js → chunk-D6CPRYC5.js} +1 -1
- package/public/{chunk-IWFKJHPR.js → chunk-EA3EXGPZ.js} +1 -1
- package/public/{chunk-WXQICPJE.js → chunk-ESBJ735P.js} +1 -1
- package/public/{chunk-6EH7VRJE.js → chunk-EVTILPTO.js} +1 -1
- package/public/{chunk-KZKL7DGI.js → chunk-G7FA4DP4.js} +1 -1
- package/public/{chunk-HTZJUJUZ.js → chunk-GP42LZHH.js} +1 -1
- package/public/{chunk-IOKYXV5M.js → chunk-H36QJYLQ.js} +3 -3
- package/public/{chunk-WTDK2HE6.js → chunk-H3PPMCMP.js} +1 -1
- package/public/chunk-H4W6IHVS.js +40 -0
- package/public/chunk-HEGPM62I.js +30 -0
- package/public/{chunk-Z4YLS7KX.js → chunk-HXT4SHE6.js} +1 -1
- package/public/{chunk-7BA3FPY6.js → chunk-HYPOP2EP.js} +1 -1
- package/public/{chunk-5E4D6S2D.js → chunk-I2TETZLW.js} +1 -1
- package/public/{chunk-LJIRF4HJ.js → chunk-IQS2UE5Y.js} +1 -1
- package/public/{chunk-S6BEKQWI.js → chunk-KLJT4NEV.js} +1 -1
- package/public/{chunk-QBC4X3JS.js → chunk-L4V3CVWY.js} +1 -1
- package/public/{chunk-FUYV7IZZ.js → chunk-LG4MCRG7.js} +1 -1
- package/public/{chunk-3ERUWF5D.js → chunk-LIQTQ5UM.js} +1 -1
- package/public/{chunk-CMOVUX6R.js → chunk-LPHTUMGC.js} +1 -1
- package/public/{chunk-GS72D2DZ.js → chunk-MEVZTYFM.js} +1 -1
- package/public/chunk-MWLXH2WO.js +1 -0
- package/public/{chunk-2C3X2ESN.js → chunk-NFWGYMP7.js} +1 -1
- package/public/{chunk-FXJWZ2UF.js → chunk-NJOBXAPT.js} +1 -1
- package/public/{chunk-LJL5JUBH.js → chunk-NPTU3Q33.js} +1 -1
- package/public/{chunk-4HRWU2J3.js → chunk-NSYEZ34R.js} +1 -1
- package/public/{chunk-B57CTOBG.js → chunk-ORSHJEJW.js} +1 -1
- package/public/{chunk-C54645MD.js → chunk-P5ZQVV5O.js} +1 -1
- package/public/{chunk-MSAADZHQ.js → chunk-PJZVEG7P.js} +1 -1
- package/public/chunk-PNGS72JD.js +1 -0
- package/public/{chunk-MFYUC6U7.js → chunk-QJLRIYZC.js} +1 -1
- package/public/chunk-QORWJ4OP.js +1 -0
- package/public/{chunk-BNC2LVDJ.js → chunk-RDXZFFUN.js} +1 -1
- package/public/{chunk-2LMFJYC4.js → chunk-S3VLWXH2.js} +1 -1
- package/public/{chunk-EKCAZN24.js → chunk-SHW4DQ7G.js} +1 -1
- package/public/{chunk-Z2T4OZ7I.js → chunk-TGOCI72Q.js} +1 -1
- package/public/{chunk-V6JVOQNN.js → chunk-UHWT4HS2.js} +1 -1
- package/public/chunk-UOLP7IQJ.js +1 -0
- package/public/{chunk-QN444QJC.js → chunk-USXSMG2A.js} +1 -1
- package/public/{chunk-H5WTK5UT.js → chunk-V2P2FPJ7.js} +1 -1
- package/public/{chunk-HLNHT6LZ.js → chunk-VCW3X3YF.js} +1 -1
- package/public/{chunk-PWOW5ZGG.js → chunk-VLDRDEFR.js} +1 -1
- package/public/{chunk-ADF46RFT.js → chunk-WC5MFFHY.js} +1 -1
- package/public/{chunk-AC47AP7G.js → chunk-WFYRC664.js} +1 -1
- package/public/chunk-X74DIMPI.js +1 -0
- package/public/{chunk-ZY5SUCRL.js → chunk-XLRMIDFZ.js} +1 -1
- package/public/{chunk-33UHWR5O.js → chunk-Y5FMCZDS.js} +1 -1
- package/public/{chunk-H45DK7IX.js → chunk-YATJTZML.js} +1 -1
- package/public/{chunk-VQAYHIBO.js → chunk-Z7PXW5TK.js} +1 -1
- package/public/{chunk-J6CJ26QN.js → chunk-ZHPB347D.js} +1 -1
- package/public/{chunk-TPRXTBLB.js → chunk-ZMG3XTQO.js} +1 -1
- package/public/index.html +2 -2
- package/public/main-BXUQQISD.js +1 -0
- package/public/{styles-LKRXKJ7O.css → styles-AUT3PDLG.css} +1 -1
- package/public/assets/hap-icons/leak-sensor.svg +0 -53
- package/public/assets/hap-icons/light-bulb.svg +0 -25
- package/public/assets/hap-icons/light-sensor.svg +0 -50
- package/public/assets/hap-icons/motion-sensor.svg +0 -101
- package/public/assets/hap-icons/occupancy-sensor.svg +0 -98
- package/public/assets/hap-icons/outlet.svg +0 -25
- package/public/assets/hap-icons/switch.svg +0 -25
- package/public/assets/hap-icons/unknown.svg +0 -25
- package/public/assets/service-icons/air-purifier.svg +0 -50
- package/public/assets/service-icons/air-quality-sensor.svg +0 -30
- package/public/assets/service-icons/carbon-dioxide-sensor.svg +0 -53
- package/public/assets/service-icons/carbon-monoxide-sensor.svg +0 -53
- package/public/assets/service-icons/contact-sensor.svg +0 -45
- package/public/assets/service-icons/door.svg +0 -49
- package/public/assets/service-icons/doorbell.svg +0 -7
- package/public/assets/service-icons/fan.svg +0 -15
- package/public/assets/service-icons/filter-maintenance.svg +0 -54
- package/public/assets/service-icons/garage-door.svg +0 -120
- package/public/assets/service-icons/irrigation-system.svg +0 -34
- package/public/assets/service-icons/lock-mechanism.svg +0 -39
- package/public/assets/service-icons/microphone.svg +0 -12
- package/public/assets/service-icons/robot-vacuum.svg +0 -76
- package/public/assets/service-icons/security-system.svg +0 -19
- package/public/assets/service-icons/smoke-sensor.svg +0 -38
- package/public/assets/service-icons/speaker.svg +0 -28
- package/public/assets/service-icons/stateless-programmable-switch.svg +0 -18
- package/public/assets/service-icons/television.svg +0 -17
- package/public/assets/service-icons/valve-faucet.svg +0 -22
- package/public/assets/service-icons/valve-generic.svg +0 -25
- package/public/assets/service-icons/valve-irrigation.svg +0 -34
- package/public/assets/service-icons/valve-shower-head.svg +0 -32
- package/public/assets/service-icons/washing-machine.svg +0 -34
- package/public/assets/service-icons/window-covering.svg +0 -44
- package/public/assets/service-icons/window.svg +0 -71
- package/public/chunk-2LEJFO4U.js +0 -4
- package/public/chunk-46JGHSBB.js +0 -1
- package/public/chunk-4TF2J3KA.js +0 -1
- package/public/chunk-D7HRLNTC.js +0 -30
- package/public/chunk-DFFTJVRY.js +0 -1
- package/public/chunk-FMXKLBH7.js +0 -1
- package/public/chunk-HPHUBXGR.js +0 -12
- package/public/chunk-JCCQ75XM.js +0 -1
- package/public/chunk-SKU647MV.js +0 -1
- package/public/chunk-VDRXJTTX.js +0 -1
- package/public/main-VZG2XBKX.js +0 -1
|
@@ -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-
|
|
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-76EVYYMU.js";import{b as oe}from"./chunk-447KMSW5.js";import{b as re}from"./chunk-XLRMIDFZ.js";import{k as ie,m as U,n as ne}from"./chunk-X74DIMPI.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(`
|
|
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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as n}from"./chunk-P5ZQVV5O.js";import"./chunk-447KMSW5.js";import{g as r}from"./chunk-UOLP7IQJ.js";import"./chunk-XLRMIDFZ.js";import"./chunk-X74DIMPI.js";import"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{ga as o,nb as e}from"./chunk-H36QJYLQ.js";var c=[{path:"",loadComponent:()=>import("./chunk-USXSMG2A.js").then(t=>t.SettingsComponent),canActivate:[n]}],m=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=e({type:t});static \u0275inj=o({imports:[r.forChild(c),r]})}return t})();var l=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=e({type:t});static \u0275inj=o({imports:[m]})}return t})();export{l as SettingsModule};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as r}from"./chunk-
|
|
1
|
+
import{g as r}from"./chunk-UOLP7IQJ.js";import"./chunk-6GMXEQVA.js";import{ga as t,nb as e}from"./chunk-H36QJYLQ.js";var u=[{path:"",loadComponent:()=>import("./chunk-D6CPRYC5.js").then(o=>o.LogsComponent)}],n=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[r.forChild(u),r]})}return o})();var p=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[n]})}return o})();export{p as LogsModule};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as n}from"./chunk-EVTILPTO.js";import"./chunk-HEGPM62I.js";import"./chunk-S3VLWXH2.js";import"./chunk-4N2RTOW6.js";import"./chunk-NFWGYMP7.js";import"./chunk-77JZBWAC.js";import"./chunk-KLJT4NEV.js";import"./chunk-AE7VAWOU.js";import"./chunk-V2P2FPJ7.js";import"./chunk-BU65ZOCD.js";import"./chunk-YATJTZML.js";import"./chunk-ZHPB347D.js";import"./chunk-4WAU3AJS.js";import"./chunk-EA3EXGPZ.js";import"./chunk-CNMM42I5.js";import"./chunk-76EVYYMU.js";import"./chunk-447KMSW5.js";import{g as r}from"./chunk-UOLP7IQJ.js";import"./chunk-XLRMIDFZ.js";import"./chunk-X74DIMPI.js";import"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{ga as t,nb as i}from"./chunk-H36QJYLQ.js";var l=[{path:"",loadComponent:()=>import("./chunk-MWLXH2WO.js").then(o=>o.PluginsComponent)}],u=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=i({type:o});static \u0275inj=t({imports:[r.forChild(l),r]})}return o})();var f=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=i({type:o});static \u0275inj=t({imports:[n,u]})}return o})();export{f as PluginsModule};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as J}from"./chunk-
|
|
1
|
+
import{m as J}from"./chunk-EA3EXGPZ.js";import{e as O,l as W,r as z,s as q,t as G,z as H}from"./chunk-CNMM42I5.js";import{d as Y}from"./chunk-UOLP7IQJ.js";import{k as X,n as Z}from"./chunk-X74DIMPI.js";import{a as K,b as Q}from"./chunk-G7FA4DP4.js";import{Ec as N,Fc as P,Hb as A,Ib as _,Jb as u,Jc as m,Kc as p,Lb as k,Mb as E,Nb as $,Ob as C,Pb as o,Qb as a,Rb as w,_b as B,a as T,ab as s,b as R,bc as b,dc as d,h as M,id as j,ka as y,mb as D,qa as f,qc as c,ra as v,rc as g,sc as h,tc as V,w as S,xc as F,yc as U,zc as L}from"./chunk-H36QJYLQ.js";var te=(t,l)=>({"btn-danger":t,"btn-elegant":l}),ie=(t,l,e)=>({"fa-trash":t,"fa-undo":l,"fa-spinner fa-pulse":e});function ne(t,l){t&1&&(o(0,"div",12),w(1,"i",13),a(),o(2,"p",14),c(3),m(4,"translate"),a()),t&2&&(s(3),g(p(4,1,"reset.no_accessories")))}function se(t,l){if(t&1&&(o(0,"option",24),c(1),a()),t&2){let e=l.$implicit;C("value",e._id),s(),V("",e.name," (",e._username,")")}}function oe(t,l){if(t&1){let e=B();o(0,"li",20),c(1),m(2,"translate"),a(),o(3,"li",18)(4,"label",21),c(5),m(6,"translate"),a(),o(7,"div",22)(8,"select",23),L("ngModelChange",function(i){f(e);let r=d(2);return U(r.selectedBridge,i)||(r.selectedBridge=i),v(i)}),b("change",function(i){f(e);let r=d(2);return v(r.onBridgeChange(i.target.value))}),E(9,se,2,3,"option",24,k),a()()()}if(t&2){let e=d(2);s(),g(p(2,3,"form.label.changes_kept")),s(4),g(p(6,5,"reset.accessory_ind.bridge")),s(3),F("ngModel",e.selectedBridge),s(),$(e.pairings)}}function ae(t,l){if(t&1&&(o(0,"li",18)(1,"label",25),c(2),m(3,"translate"),a(),o(4,"div",26),c(5),a()()),t&2){let e=d(2);s(2),g(p(3,2,"reset.accessory_ind.bridge")),s(3),h(" ",e.getCurrentlySelectedBridge()," ")}}function re(t,l){if(t&1){let e=B();o(0,"li",19)(1,"span"),c(2),w(3,"br"),o(4,"small")(5,"span",27),c(6),a()()(),o(7,"button",28),m(8,"translate"),b("click",function(){let i=f(e).$implicit,r=d(2);return v(r.toggleList(i.UUID,i.$cacheFile))}),w(9,"i",29),a()()}if(t&2){let e=l.$implicit,n=d(2);s(2),h(" ",e.displayName),s(4),g(e.UUID),s(),C("disabled",n.clicked)("ngClass",N(8,te,!n.isInList(e.UUID,e.$cacheFile),n.isInList(e.UUID,e.$cacheFile))),A("aria-label",p(8,6,"form.button_delete")),s(2),C("ngClass",P(11,ie,!n.isInList(e.UUID,e.$cacheFile),n.isInList(e.UUID,e.$cacheFile)&&!n.clicked,n.isInList(e.UUID,e.$cacheFile)&&n.clicked))}}function le(t,l){if(t&1&&(o(0,"div",12),w(1,"i",15),a(),o(2,"ul",16)(3,"li"),c(4),m(5,"translate"),a(),o(6,"li"),c(7),m(8,"translate"),a(),o(9,"li"),c(10),m(11,"translate"),a()(),o(12,"ul",17),_(13,oe,11,7),_(14,ae,6,4,"li",18),E(15,re,10,15,"li",19,k),a()),t&2){let e=d();s(4),g(p(5,5,"reset.accessory_ind.list_1")),s(3),g(p(8,7,"reset.accessory_ind.list_2")),s(3),g(p(11,9,"reset.accessory_ind.list_3")),s(3),u(e.pairings.length>1?13:-1),s(),u(e.pairings.length===1?14:-1),s(),$(e.selectedBridgeAccessories)}}function ce(t,l){if(t&1){let e=B();o(0,"button",30),b("click",function(){f(e);let i=d();return v(i.dismissModal())}),c(1),m(2,"translate"),a()}if(t&2){let e=d();C("disabled",e.clicked),s(),h(" ",p(2,2,"form.button_close")," ")}}function de(t,l){if(t&1){let e=B();o(0,"button",31),b("click",function(){f(e);let i=d();return v(i.dismissModal())}),c(1),m(2,"translate"),a()}t&2&&(s(),h(" ",p(2,1,"form.button_close")," "))}function me(t,l){if(t&1&&c(0),t&2){let e=d(3);h(" (",e.toDelete.length,") ")}}function pe(t,l){if(t&1&&(c(0),m(1,"translate"),_(2,me,1,1)),t&2){let e=d(2);h(" ",p(1,2,"form.button_remove")," "),s(2),u(e.toDelete.length>0?2:-1)}}function _e(t,l){t&1&&w(0,"i",33)}function ue(t,l){if(t&1){let e=B();o(0,"button",32),b("click",function(){f(e);let i=d();return v(i.removeAccessories())}),_(1,pe,3,4),_(2,_e,1,0,"i",33),a()}if(t&2){let e=d();C("disabled",!e.toDelete.length||e.clicked),s(),u(e.clicked?-1:1),s(),u(e.clicked?2:-1)}}var ke=(()=>{class t{$activeModal=y(J);$api=y(Z);$router=y(Y);$toastr=y(X);$translate=y(K);selectedBridge="";pairings=[];clicked=!1;selectedBridgeAccessories=[];accessoriesExist=!1;toDelete=[];ngOnInit(){this.loadCachedAccessories()}onBridgeChange(e){this.selectedBridge=e,this.selectedBridgeAccessories=this.pairings.find(n=>n._id===this.selectedBridge)?.accessories}getCurrentlySelectedBridge(){let e=this.pairings.find(n=>n._id===this.selectedBridge);return`${e.name} - ${e._username}`}toggleList(e,n){this.toDelete.some(i=>i.uuid===e&&i.cacheFile===n)?this.toDelete=this.toDelete.filter(i=>i.uuid!==e||i.cacheFile!==n):this.toDelete.push({cacheFile:n,uuid:e})}isInList(e,n){return this.toDelete.some(i=>i.uuid===e&&i.cacheFile===n)}removeAccessories(){return this.clicked=!0,this.$api.delete("/server/cached-accessories",{body:this.toDelete}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadCachedAccessories(){return M(this,null,function*(){try{let[e,n]=yield Promise.all([S(this.$api.get("/server/cached-accessories")),S(this.$api.get("/server/pairings"))]),i=new Map(n.map(r=>[r._id,R(T({},r),{accessories:[]})]));e.sort((r,x)=>r.displayName.localeCompare(x.displayName)).forEach(r=>{let x=n.find(ee=>ee._main),I=r.$cacheFile?.split(".")?.[1]||x._id;(!this.selectedBridge||this.selectedBridge===I)&&(i.has(I)||i.set(I,{_id:I,_username:I.match(/.{1,2}/g).join(":"),name:this.$translate.instant("reset.accessory_ind.unknown"),accessories:[]}),i.get(I).accessories.push(r))}),this.pairings=Array.from(i.values()).filter(r=>r.accessories.length>0).sort((r,x)=>r._main&&!x._main?-1:!r._main&&x._main?1:r.name.localeCompare(x.name)),this.selectedBridge=this.selectedBridge||this.pairings[0]?._id,this.selectedBridge&&(this.accessoriesExist=!0,this.selectedBridgeAccessories=this.pairings[0].accessories)}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=D({type:t,selectors:[["ng-component"]],inputs:{selectedBridge:"selectedBridge"},decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-network-wired","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,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"list-group-item","text-center","grey-text","small"],["for","bridgeSelect",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["id","bridgeSelect",1,"custom-select",3,"ngModelChange","change","ngModel"],[3,"value"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50","grey-text","font-monospace"],[1,"font-monospace","grey-text"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(n,i){n&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),c(3),m(4,"translate"),a(),o(5,"button",3),m(6,"translate"),b("click",function(){return i.dismissModal()}),a()(),o(7,"div",4),_(8,ne,5,3),_(9,le,17,11),a(),o(10,"div",5)(11,"div",6),_(12,ce,3,4,"button",7),a(),o(13,"div",8),_(14,de,3,3,"button",9),a(),o(15,"div",10),_(16,ue,3,3,"button",11),a()()()),n&2&&(s(3),g(p(4,8,"reset.accessory_ind.title")),s(2),C("disabled",i.clicked),A("aria-label",p(6,10,"form.button_close")),s(3),u(i.accessoriesExist?-1:8),s(),u(i.accessoriesExist?9:-1),s(3),u(i.accessoriesExist?12:-1),s(2),u(i.accessoriesExist?-1:14),s(2),u(i.accessoriesExist?16:-1))},dependencies:[j,H,q,G,z,O,W,Q],encapsulation:2})}return t})();export{ke as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as u}from"./chunk-
|
|
1
|
+
import{a as u}from"./chunk-V2P2FPJ7.js";import{k as p,n as m}from"./chunk-X74DIMPI.js";import{a as c}from"./chunk-G7FA4DP4.js";import{fa as n,g as f,h as r,ka as a,w as s}from"./chunk-H36QJYLQ.js";var l=f(u(),1);var $=(()=>{class e{$api=a(m);$toastr=a(p);$translate=a(c);downloadBackup(){return r(this,null,function*(){let t=yield s(this.$api.get("/backup/download",{observe:"response",responseType:"blob"})),i=t.headers.get("File-Name")||"homebridge-backup.tar.gz",o=t.body.size;if(o>globalThis.backup.maxBackupSize){let b=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(o/1048576).toFixed(1)}MB`});this.$toastr.warning(b,this.$translate.instant("toast.title_warning"))}(0,l.saveAs)(t.body,i)})}static \u0275fac=function(i){return new(i||e)};static \u0275prov=n({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();export{$ as a};
|