homebridge-config-ui-x 5.11.2-beta.4 → 5.11.2-beta.5

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 (59) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/package.json +1 -1
  3. package/public/chunk-2YQMYSXT.js +1 -0
  4. package/public/{chunk-XGK5YFH6.js → chunk-3JBXVUFP.js} +2 -2
  5. package/public/{chunk-QBG7SKRK.js → chunk-47LZZIPJ.js} +6 -6
  6. package/public/{chunk-7JNVXXNR.js → chunk-5F6SGJZO.js} +1 -1
  7. package/public/{chunk-GJ42U6LP.js → chunk-5UTHYAO4.js} +1 -1
  8. package/public/chunk-5V5T5YDK.js +1 -0
  9. package/public/{chunk-T472BWYK.js → chunk-72SK6LN3.js} +1 -1
  10. package/public/{chunk-AM5CKSLZ.js → chunk-746K2W65.js} +1 -1
  11. package/public/{chunk-2TQEV57U.js → chunk-B6EPFA4V.js} +1 -1
  12. package/public/{chunk-BVJS76CN.js → chunk-BHYS7LPU.js} +1 -1
  13. package/public/{chunk-GT2YL2TI.js → chunk-BQMRSELR.js} +1 -1
  14. package/public/{chunk-4VLAXCSY.js → chunk-CDVVVWKM.js} +1 -1
  15. package/public/{chunk-MRPQNEON.js → chunk-CYKWMDCC.js} +1 -1
  16. package/public/{chunk-LVBVUIJY.js → chunk-D3MUNCMG.js} +1 -1
  17. package/public/{chunk-E35SHTFY.js → chunk-D3NFARXL.js} +1 -1
  18. package/public/{chunk-PEOTW7KR.js → chunk-G7V2J2JO.js} +1 -1
  19. package/public/{chunk-VBQ2CSUE.js → chunk-GFM46DC6.js} +1 -1
  20. package/public/{chunk-CPECPTSN.js → chunk-H53NQXNF.js} +1 -1
  21. package/public/chunk-HBNZXYWD.js +4 -0
  22. package/public/chunk-HQLIDFFL.js +1 -0
  23. package/public/chunk-IF2VXUU3.js +3 -0
  24. package/public/{chunk-S4BMZ4C4.js → chunk-IMR3XZ37.js} +1 -1
  25. package/public/chunk-J24WFLH3.js +1 -0
  26. package/public/{chunk-CNUIQJSO.js → chunk-J6JCLCR6.js} +1 -1
  27. package/public/chunk-JN6IF7KG.js +1 -0
  28. package/public/{chunk-MS4K4KAK.js → chunk-K3VXCKFJ.js} +1 -1
  29. package/public/{chunk-42Y35W3J.js → chunk-LKRXJ4NQ.js} +1 -1
  30. package/public/{chunk-WX345PMX.js → chunk-LQNKSANI.js} +1 -1
  31. package/public/{chunk-EMF6ZINV.js → chunk-N74OZDD6.js} +1 -1
  32. package/public/{chunk-TRDYZJYI.js → chunk-P2U63MCR.js} +1 -1
  33. package/public/chunk-PK2CVZPI.js +1 -0
  34. package/public/{chunk-TTX3XSDC.js → chunk-QCD43BXL.js} +1 -1
  35. package/public/{chunk-6ZOSTYPR.js → chunk-RMWS37MG.js} +1 -1
  36. package/public/chunk-S6MSUZ3J.js +1 -0
  37. package/public/{chunk-QGLAR7UC.js → chunk-TRA6X3HB.js} +1 -1
  38. package/public/{chunk-WBTFILXV.js → chunk-VQI4BA3M.js} +7 -7
  39. package/public/{chunk-IZHFI46L.js → chunk-W3WJ3GLW.js} +1 -1
  40. package/public/{chunk-5K3S6ZXB.js → chunk-WPJDSHYO.js} +1 -1
  41. package/public/chunk-XF7D4C2H.js +1 -0
  42. package/public/{chunk-UO7KCTHV.js → chunk-YAUW3QQV.js} +1 -1
  43. package/public/chunk-YDOFHXZH.js +1 -0
  44. package/public/chunk-ZDIBPB2V.js +5 -0
  45. package/public/index.html +1 -1
  46. package/public/main-VBBHOBST.js +1 -0
  47. package/public/chunk-3LKYOCGJ.js +0 -1
  48. package/public/chunk-4KXPUEE3.js +0 -4
  49. package/public/chunk-4TAGCB7R.js +0 -1
  50. package/public/chunk-DBMKB5Z2.js +0 -1
  51. package/public/chunk-FQDRGOO5.js +0 -1
  52. package/public/chunk-FYHEIYSO.js +0 -5
  53. package/public/chunk-GYMWB5SQ.js +0 -1
  54. package/public/chunk-N6AN65NK.js +0 -3
  55. package/public/chunk-SE6AXFTZ.js +0 -1
  56. package/public/chunk-SIODBMHU.js +0 -1
  57. package/public/chunk-VAD47NOZ.js +0 -1
  58. package/public/chunk-ZDUAXPNP.js +0 -1
  59. package/public/main-SPPQL5YI.js +0 -1
@@ -1 +1 @@
1
- import{a as Oe,c as ne}from"./chunk-WBTFILXV.js";import"./chunk-5K3S6ZXB.js";import"./chunk-WX345PMX.js";import{a as U}from"./chunk-GJ42U6LP.js";import{a as Ae}from"./chunk-DBMKB5Z2.js";import{a as He}from"./chunk-H2D3SCVU.js";import"./chunk-LVBVUIJY.js";import"./chunk-BMOLDRJ3.js";import{a as Ne}from"./chunk-QGLAR7UC.js";import"./chunk-H7F7H5MW.js";import"./chunk-XLJ6VVK3.js";import{a as ze}from"./chunk-7JNVXXNR.js";import"./chunk-KPSGNAPN.js";import"./chunk-YM6RL7NW.js";import"./chunk-FJB6YCFU.js";import"./chunk-SVEGWVQJ.js";import"./chunk-JUCPYKUR.js";import"./chunk-2Y6QBPFY.js";import{a as ee}from"./chunk-6ZOSTYPR.js";import"./chunk-DEM3FH7C.js";import"./chunk-LRB7FQNQ.js";import"./chunk-XQXAVYM6.js";import"./chunk-S4O5HRCM.js";import"./chunk-RAG53DHZ.js";import"./chunk-3YTNATAH.js";import"./chunk-JNSPIONO.js";import"./chunk-LOEOVQRM.js";import"./chunk-P3DOEH3R.js";import"./chunk-HKOUIAFO.js";import"./chunk-LHXNE56J.js";import"./chunk-QK4CWVVD.js";import"./chunk-UDXPJS32.js";import"./chunk-WOXYSKNU.js";import"./chunk-YSJHLHJ6.js";import"./chunk-FKJY3Z2V.js";import"./chunk-MRPQNEON.js";import"./chunk-ZCGZM7LU.js";import"./chunk-IZHFI46L.js";import{g as Te,h as Ie,i as De,j as Me,k as Ve,l as $e,m as z,n as ie,t as te}from"./chunk-MS4K4KAK.js";import{b as Ce,e as he}from"./chunk-TRDYZJYI.js";import{a as le}from"./chunk-BGCYR25X.js";import{b as Z}from"./chunk-E35SHTFY.js";import{C as ke,D as Ee,c as be,e as ve,f as xe,g as Pe,j as ye,m as we,r as Se,s as Be}from"./chunk-UO7KCTHV.js";import{b as Y}from"./chunk-T472BWYK.js";import{E as F,F as D,H as K,K as X,j as fe}from"./chunk-2TQEV57U.js";import{Ab as g,Ac as ue,Cb as q,Db as G,Eb as Q,Ec as o,Fb as B,Fc as r,Gb as l,Gc as A,Hb as s,Ib as c,Jb as x,Kb as P,Lb as N,Lc as ge,Oc as oe,Pc as _e,Rb as w,Sb as R,Ua as $,Va as H,Wa as pe,Xb as f,Yb as O,Za as a,Zb as m,aa as y,ec as ce,fc as me,ga as b,ha as v,hc as W,jc as E,kc as p,lc as C,ma as se,mc as h,n as re,nb as I,sa as S,va as de,vc as ae,yb as k,yc as J,zb as u,zc as M}from"./chunk-MKV5RAJQ.js";import"./chunk-XPSIQPO4.js";import"./chunk-YLRX4V4V.js";import"./chunk-Q4PUZM2R.js";import"./chunk-FRMRAPF2.js";import"./chunk-MPQEE6FH.js";import"./chunk-WOMMYJV2.js";import{h as V}from"./chunk-B4AJQJMI.js";var Ge=t=>({pluginName:t}),Qe=(t,d)=>({setting:t,value:d});function We(t,d){t&1&&(l(0,"li"),p(1),o(2,"translate"),s(),l(3,"li"),p(4),o(5,"translate"),s()),t&2&&(a(),C(r(2,2,"plugins.manage.confirm_disable_platform_1")),a(3),C(r(5,4,"plugins.manage.confirm_disable_platform_2")))}function Je(t,d){t&1&&(l(0,"li"),p(1),o(2,"translate"),s(),l(3,"li"),p(4),o(5,"translate"),s()),t&2&&(a(),C(r(2,2,"plugins.manage.confirm_disable_accessory_1")),a(3),C(r(5,4,"plugins.manage.confirm_disable_accessory_2")))}function Ke(t,d){if(t&1&&(l(0,"ul",15),c(1,"li",16),o(2,"translate"),l(3,"ul",17),u(4,We,6,6)(5,Je,6,6),s()()),t&2){let e=m(2);a(),B("innerHtml",A(2,2,"plugins.manage.confirm_disable_setting",M(5,Qe,e.keepOrphansName,e.keepOrphansValue)),$),a(3),g(e.keepOrphansSignal()?4:5)}}function Xe(t,d){t&1&&(l(0,"ul",15)(1,"li"),p(2),o(3,"translate"),s(),l(4,"li"),p(5),o(6,"translate"),s()()),t&2&&(a(2),C(r(3,2,"plugins.manage.confirm_disable_accessory_1")),a(3),C(r(6,4,"plugins.manage.confirm_disable_accessory_2")))}function Ye(t,d){if(t&1&&u(0,Ke,6,8,"ul",15)(1,Xe,7,6,"ul",15),t&2){let e=m();g(e.isConfiguredDynamicPlatformSignal()?0:1)}}var je=(()=>{class t{$activeModal=y(z);$translate=y(F);_pluginName=S("",{});_isConfigured=S(!1,{});_isConfiguredDynamicPlatform=S(!1,{});_keepOrphans=S(!1,{});set pluginName(e){this._pluginName.set(e)}get pluginName(){return this._pluginName()}set isConfigured(e){this._isConfigured.set(e)}get isConfigured(){return this._isConfigured()}set isConfiguredDynamicPlatform(e){this._isConfiguredDynamicPlatform.set(e)}get isConfiguredDynamicPlatform(){return this._isConfiguredDynamicPlatform()}set keepOrphans(e){this._keepOrphans.set(e)}get keepOrphans(){return this._keepOrphans()}pluginNameSignal=this._pluginName.asReadonly();isConfiguredSignal=this._isConfigured.asReadonly();isConfiguredDynamicPlatformSignal=this._isConfiguredDynamicPlatform.asReadonly();keepOrphansSignal=this._keepOrphans.asReadonly();keepOrphansName=`<code>${this.$translate.instant("settings.startup.keep_accessories")}</code>`;get keepOrphansValue(){return`<code>${this._keepOrphans()}</code>`}dismissModal(){this.$activeModal.dismiss("Dismiss")}closeModal(){this.$activeModal.close()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:25,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"mb-3","text-center"],[1,"fas","fa-circle-pause","primary-text",2,"font-size","75px"],["type","warning",1,"mb-0",3,"dismissible"],[1,"w-100","text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click"],[1,"mb-3"],[3,"innerHtml"],[1,"mb-1"]],template:function(n,i){n&1&&(l(0,"div",0)(1,"div",1)(2,"h5",2),p(3),s(),l(4,"button",3),o(5,"translate"),f("click",function(){return i.dismissModal()}),s()(),l(6,"div",4)(7,"div",5),c(8,"i",6),s(),u(9,Ye,2,1),l(10,"ngb-alert",7)(11,"p",8),p(12),o(13,"translate"),s()()(),l(14,"div",9)(15,"div",10)(16,"button",11),o(17,"translate"),f("click",function(){return i.dismissModal()}),p(18),o(19,"translate"),s()(),c(20,"div",12),l(21,"div",13)(22,"button",14),f("click",function(){return i.closeModal()}),p(23),o(24,"translate"),s()()()()),n&2&&(a(3),C(i.pluginNameSignal()),a(),k("aria-label",r(5,8,"form.button_close")),a(5),g(i.isConfiguredSignal()?9:-1),a(),B("dismissible",!1),a(2),h(" ",A(13,10,"plugins.manage.confirm_disable",J(19,Ge,i.pluginNameSignal()))," "),a(4),k("aria-label",r(17,13,"form.button_close")),a(2),h(" ",r(19,15,"form.button_close")," "),a(5),h(" ",r(24,17,"plugins.manage.disable")," "))},dependencies:[Te,D],encapsulation:2})}return t})();var Ze=t=>({author:t});function ei(t,d){if(t&1&&(x(0,"li",9),N(1,"i",15),x(2,"a",16),p(3),P()()),t&2){let e=d.$implicit,n=m();a(),E(n.getIconClass(e.type)),a(),R("href",e.url,H),a(),C(e.url)}}var Re=(()=>{class t{$activeModal=y(z);_plugin=S(null,{});set plugin(e){this._plugin.set(e)}get plugin(){return this._plugin()}pluginSignal=this._plugin.asReadonly();fundingOptions=S([],{});authorName=S("",{});ngOnInit(){this.initialize()}initialize(){let e=this.pluginSignal();if(!e||!e.funding){this.$activeModal.close();return}this.authorName.set(e.name==="homebridge-config-ui-x"?"oznu":e.author);let n=e.funding;if(Array.isArray(n)){let i=n.map(_=>{if(typeof _=="string")return{type:"other",url:_};if(typeof _=="object")return{type:_.type||"other",url:_.url}}).filter(Boolean);this.fundingOptions.set(i)}else typeof n=="string"?this.fundingOptions.set([{type:"other",url:n}]):typeof n=="object"&&n!==null&&this.fundingOptions.set([{type:n.type||"other",url:n.url}])}getIconClass(e){switch(e.toLowerCase()){case"paypal":return"fab fa-paypal";case"github":return"fab fa-github";case"patreon":return"fab fa-patreon";case"kofi":case"ko-fi":return"fas fa-coffee";default:return"fas fa-link"}}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:28,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","pink-text","mb-3"],[1,"fas","fa-heart",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"me-2","primary-text","fa-xl"],["target","_blank","rel","noopener noreferrer",1,"text-break-all",3,"href"]],template:function(n,i){n&1&&(x(0,"div",0)(1,"div",1)(2,"h5",2),p(3),o(4,"translate"),P(),x(5,"button",3),o(6,"translate"),O("click",function(){return i.dismissModal()}),P()(),x(7,"div",4)(8,"div",5),N(9,"i",6),P(),x(10,"ul",7)(11,"li"),p(12),o(13,"translate"),P(),x(14,"li"),p(15),o(16,"translate"),P()(),x(17,"ul",8),G(18,ei,4,4,"li",9,q),P()(),x(20,"div",10),N(21,"div",11),x(22,"div",12)(23,"button",13),o(24,"translate"),O("click",function(){return i.dismissModal()}),p(25),o(26,"translate"),P()(),N(27,"div",14),P()()),n&2&&(a(3),C(A(4,6,"plugins.donate.tile_donate_to",J(19,Ze,"@"+i.authorName()))),a(2),k("aria-label",r(6,9,"form.button_close")),a(7),C(r(13,11,"plugins.donate.message_1")),a(3),C(r(16,13,"plugins.donate.message_2")),a(3),Q(i.fundingOptions()),a(5),k("aria-label",r(24,15,"form.button_close")),a(2),h(" ",r(26,17,"form.button_close")," "))},dependencies:[D],styles:[".text-break-all[_ngcontent-%COMP%]{word-break:break-all}"]})}return t})();var ii=(t,d)=>({"orange-text":t,"grey-text":d}),ti=(t,d)=>({"green-text":t,"grey-text":d}),ni=(t,d)=>({"purple-text":t,"grey-text":d}),ai=(t,d)=>({scopedLink:t,verifiedLink:d});function oi(t,d){t&1&&(x(0,"h6",18),p(1),o(2,"translate"),P(),x(3,"p",19),p(4),o(5,"translate"),P(),x(6,"p",19),p(7),o(8,"translate"),P()),t&2&&(a(),C(r(2,3,"plugins.manage.scoped_subtitle")),a(3),C(r(5,5,"plugins.manage.scoped_message")),a(3),C(r(8,7,"plugins.manage.verified_message")))}function li(t,d){t&1&&(x(0,"h6",18),p(1),o(2,"translate"),P(),x(3,"p",19),p(4),o(5,"translate"),P()),t&2&&(a(),C(r(2,2,"plugins.manage.verified_subtitle")),a(3),C(r(5,4,"plugins.manage.verified_message")))}function ri(t,d){t&1&&(x(0,"h6",18),p(1),o(2,"translate"),P(),x(3,"p",19),p(4),o(5,"translate"),P()),t&2&&(a(),C(r(2,2,"plugins.manage.unverified_subtitle")),a(3),C(r(5,4,"plugins.manage.unverified_message")))}function si(t,d){if(t&1){let e=w();x(0,"button",20),O("click",function(){b(e);let i=m();return v(i.dismissModal())}),p(1),o(2,"translate"),P()}t&2&&(a(),h(" ",r(2,1,"form.button_close")," "))}function di(t,d){if(t&1){let e=w();x(0,"button",20),O("click",function(){b(e);let i=m();return v(i.dismissModal())}),p(1),o(2,"translate"),P()}t&2&&(a(),h(" ",r(2,1,"form.button_close")," "))}function pi(t,d){if(t&1&&(x(0,"a",17),p(1),o(2,"translate"),N(3,"i",21),P()),t&2){let e=m();R("href",e.pluginData().links.homepage||e.pluginData().links.npm,H),a(),h(" ",r(2,2,"plugins.button_homepage")," ")}}var Fe=(()=>{class t{$activeModal=y(z);_plugin=S(null,{});iconError=S(!1,{});set plugin(e){this._plugin.set(e)}get plugin(){return this._plugin()}pluginData=this._plugin.asReadonly();pluginIcon=ge(()=>{let e=this._plugin();return e?.icon&&!this.iconError()?e.icon:this.defaultIcon},{});defaultIcon="assets/hb-icon.png";linkScoped='<a href="https://github.com/homebridge/plugins/wiki/Scoped-Plugins" target="_blank"><i class="fas fa-external-link-alt primary-text"></i></a>';linkVerified='<a href="https://github.com/homebridge/plugins/wiki/Verified-Plugins" target="_blank"><i class="fas fa-external-link-alt primary-text"></i></a>';handleIconError(){this.iconError.set(!0)}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:32,vars:45,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon-card",3,"error","src"],[1,"mb-1"],[1,"grey-text","mb-0","font-monospace"],[1,"grey-text","mb-1","font-monospace"],[1,"mb-3"],[1,"fas","fa-shield-alt","mb-3",2,"font-size","48px"],[1,"mb-0","grey-text",3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[1,"mb-2"],[1,"mb-1","grey-text"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-external-link-alt"]],template:function(n,i){n&1&&(x(0,"div",0)(1,"div",1)(2,"h5",2),p(3),o(4,"translate"),P(),x(5,"button",3),o(6,"translate"),O("click",function(){return i.dismissModal()}),P()(),x(7,"div",4)(8,"img",5),O("error",function(){return i.handleIconError()}),P(),x(9,"h4",6),p(10),P(),x(11,"p",7),p(12),P(),x(13,"p",8),p(14),P(),x(15,"p",9),p(16),P(),N(17,"i",10)(18,"i",10)(19,"i",10),u(20,oi,9,9),u(21,li,6,6),u(22,ri,6,6),N(23,"p",11),o(24,"translate"),P(),x(25,"div",12)(26,"div",13),u(27,si,3,3,"button",14),P(),x(28,"div",15),u(29,di,3,3,"button",14),P(),x(30,"div",16),u(31,pi,4,4,"a",17),P()()()),n&2&&(a(3),C(r(4,26,"plugins.manage.information")),a(2),k("aria-label",r(6,28,"form.button_close")),a(3),R("src",i.pluginIcon(),H),a(2),C(i.pluginData().displayName),a(2),C(i.pluginData().name),a(2),h("@",i.pluginData().author),a(2),C(i.pluginData().description),a(),E(M(33,ii,!i.pluginData().verifiedPlugin&&!i.pluginData().verifiedPlusPlugin,i.pluginData().verifiedPlugin||i.pluginData().verifiedPlusPlugin)),W("opacity",!i.pluginData().verifiedPlugin&&!i.pluginData().verifiedPlusPlugin?1:.25),a(),E(M(36,ti,!i.pluginData().isHbScoped&&(i.pluginData().verifiedPlugin||i.pluginData().verifiedPlusPlugin),i.pluginData().isHbScoped||!i.pluginData().verifiedPlugin&&!i.pluginData().verifiedPlusPlugin)),W("opacity",!i.pluginData().isHbScoped&&(i.pluginData().verifiedPlugin||i.pluginData().verifiedPlusPlugin)?1:.25),a(),E(M(39,ni,i.pluginData().isHbScoped,!i.pluginData().isHbScoped)),W("opacity",i.pluginData().isHbScoped?1:.25),a(),g(i.pluginData().isHbScoped?20:-1),a(),g(!i.pluginData().isHbScoped&&(i.pluginData().verifiedPlugin||i.pluginData().verifiedPlusPlugin)?21:-1),a(),g(!i.pluginData().verifiedPlugin&&!i.pluginData().verifiedPlusPlugin?22:-1),a(),R("innerHTML",A(24,30,"plugins.manage.more_info",M(42,ai,i.linkScoped,i.linkVerified)),$),a(4),g(i.pluginData().links.homepage||i.pluginData().links.npm?27:-1),a(2),g(!i.pluginData().links.homepage&&!i.pluginData().links.npm?29:-1),a(2),g(i.pluginData().links.homepage||i.pluginData().links.npm?31:-1))},dependencies:[D],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]})}return t})();var ci=(t,d,e)=>({"purple-text":t,"green-text":d,"orange-text":e}),mi=(t,d)=>({"fa-bridge-circle-exclamation orange-text":t,"fa-bridge-circle-xmark red-text":d});function ui(t,d){if(t&1){let e=w();l(0,"a",21),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.checkAndUpdatePlugin())}),c(3,"i",22),s()}t&2&&(B("openDelay",150)("ngbTooltip",r(1,3,"plugins.button_update")),k("aria-label",r(2,5,"plugins.button_update")))}function gi(t,d){if(t&1){let e=w();l(0,"a",21),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.switchToScoped())}),c(3,"i",23),s()}t&2&&(B("openDelay",150)("ngbTooltip",r(1,3,"plugins.manage.scoped.switch")),k("aria-label",r(2,5,"plugins.manage.scoped.switch")))}function _i(t,d){if(t&1){let e=w();l(0,"a",24),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.openSettings())}),c(3,"i",25),s()}t&2&&(B("ngbTooltip",r(1,3,"plugins.button_set_up"))("openDelay",150),k("aria-label",r(2,5,"plugins.button_set_up")))}function fi(t,d){if(t&1){let e=w();l(0,"a",24),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.openBridgeSettings())}),c(3,"i",26),s()}t&2&&(B("ngbTooltip",r(1,3,"child_bridge.setup"))("openDelay",150),k("aria-label",r(2,5,"child_bridge.setup")))}function Ci(t,d){if(t&1){let e=w();l(0,"a",24),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.openBridgeSettings())}),c(3,"i",27),s()}t&2&&(B("ngbTooltip",r(1,3,"child_bridge.bridge_connect"))("openDelay",150),k("aria-label",r(2,5,"child_bridge.bridge_connect")))}function hi(t,d){if(t&1&&c(0,"i",28),t&2){let e=m(2);E(M(2,mi,e.childBridgeStatus()==="pending",e.childBridgeStatus()==="down"))}}function bi(t,d){if(t&1&&(l(0,"div",9),u(1,ui,4,7,"a",17),u(2,gi,4,7,"a",17),u(3,_i,4,7,"a",18),u(4,fi,4,7,"a",18),u(5,Ci,4,7,"a",18),c(6,"i",19),u(7,hi,1,5,"i",20),s()),t&2){let e,n=m();a(),g(n.plugin().installedVersion&&n.plugin().updateAvailable&&!n.childBridgeRestartInProgress()?1:-1),a(),g(n.plugin().installedVersion&&((e=n.plugin().newHbScope)==null?null:e.switch)===n.plugin().installedVersion&&!n.childBridgeRestartInProgress()?2:-1),a(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&!n.plugin().isConfigured&&!n.childBridgeRestartInProgress()&&!n.plugin().disabled?3:-1),a(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&n.plugin().isConfigured&&!n.plugin().hasChildBridges&&!n.plugin().disabled&&n.plugin().recommendChildBridge&&!n.childBridgeRestartInProgress()?4:-1),a(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&n.plugin().isConfigured&&n.plugin().hasChildBridges&&!n.childBridgeRestartInProgress()&&n.plugin().hasChildBridgesUnpaired&&n.childBridgeStatus()==="ok"&&!n.plugin().disabled?5:-1),a(),B("hidden",!n.childBridgeRestartInProgress()),a(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&n.plugin().isConfigured&&n.plugin().hasChildBridges&&!n.childBridgeRestartInProgress()&&!n.plugin().hasChildBridgesUnpaired&&n.childBridgeStatus()!=="ok"&&!n.plugin().disabled?7:-1)}}function vi(t,d){if(t&1){let e=w();l(0,"a",11),f("click",function(){b(e);let i=m();return v(i.openFundingModal(i.plugin()))}),c(1,"i",29),l(2,"span",13),p(3),s()()}if(t&2){let e=m();a(3),h("@",e.plugin().author)}}function xi(t,d){if(t&1&&(l(0,"span",13),c(1,"i",30),p(2),s()),t&2){let e=m();a(2),h("@",e.plugin().author," ")}}function Pi(t,d){if(t&1&&(l(0,"span"),p(1),o(2,"date"),s()),t&2){let e=m(2);a(),h("(",A(2,1,e.plugin().lastUpdated,"yyyy-MM-dd"),")")}}function yi(t,d){if(t&1&&(l(0,"span"),c(1,"i",31),l(2,"span",13),p(3),u(4,Pi,3,4,"span"),s()()),t&2){let e=m();a(3),h("v",e.plugin().latestVersion," "),a(),g(e.plugin().lastUpdated?4:-1)}}function wi(t,d){if(t&1&&(c(0,"i",32),p(1)),t&2){let e=m();a(),h("v",e.plugin().installedVersion," ")}}function Si(t,d){if(t&1){let e=w();l(0,"a",21),o(1,"translate"),f("click",function(){b(e);let i=m(2);return v(i.doChildBridgeAction("restart"))}),c(2,"i",36),s()}if(t&2){let e=m(2);B("openDelay",150)("ngbTooltip",r(1,2,e.setChildBridges().length>1?"child_bridge.restart_plural":"child_bridge.restart"))}}function Bi(t,d){if(t&1){let e=w();l(0,"a",37),f("click",function(){b(e);let i=m(2);return v(i.enablePlugin(i.plugin()))}),c(1,"i",38),o(2,"translate"),s()}t&2&&(a(),B("ngbTooltip",r(2,2,"plugins.status_disabled"))("openDelay",150))}function ki(t,d){if(t&1){let e=w();l(0,"a",39),f("click",function(){b(e);let i=m(2);return v(i.installAlternateVersion())}),c(1,"i",40),s()}}function Ei(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.viewPluginLog())}),c(1,"i",49),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.plugin_logs")," "))}function Ti(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.installAlternateVersion())}),c(1,"i",50),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.manage_version")," "))}function Ii(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.openJsonEditor())}),c(1,"i",51),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.json_config")," "))}function Di(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.disablePlugin(i.plugin()))}),c(1,"i",52),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.disable")," "))}function Mi(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.enablePlugin(i.plugin()))}),c(1,"i",53),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.enable")," "))}function Vi(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.uninstallPlugin())}),c(1,"i",54),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.button_uninstall")," "))}function $i(t,d){t&1&&c(0,"div",47)}function Ni(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(4);return v(i.doChildBridgeAction("restart"))}),c(1,"i",57),p(2),o(3,"translate"),s()}if(t&2){let e=m(4);a(2),h(" ",r(3,1,e.setChildBridges().length>1?"child_bridge.restart_plural":"child_bridge.restart")," ")}}function Ai(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(4);return v(i.doChildBridgeAction("stop"))}),c(1,"i",58),p(2),o(3,"translate"),s()}if(t&2){let e=m(4);a(2),h(" ",r(3,1,e.setChildBridges().length>1?"child_bridge.stop_plural":"child_bridge.stop")," ")}}function Hi(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(4);return v(i.doChildBridgeAction("start"))}),c(1,"i",59),p(2),o(3,"translate"),s()}if(t&2){let e=m(4);a(2),h(" ",r(3,1,e.setChildBridges().length>1?"child_bridge.start_plural":"child_bridge.start")," ")}}function Oi(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.openBridgeSettings())}),c(1,"i",55),p(2),o(3,"translate"),s(),u(4,Ni,4,3,"button",46),u(5,Ai,4,3,"button",46),u(6,Hi,4,3,"button",46),l(7,"button",44),f("click",function(){b(e);let i=m(3);return v(i.resetChildBridges())}),c(8,"i",56),p(9),o(10,"translate"),s()}if(t&2){let e=m(3);a(2),h(" ",r(3,5,"child_bridge.bridge_settings")," "),a(2),g(e.childBridgeRestartInProgress()?-1:4),a(),g(e.allChildBridgesStopped()?-1:5),a(),g(e.allChildBridgesStopped()?6:-1),a(3),h(" ",r(10,7,"child_bridge.reset_accessories")," ")}}function zi(t,d){t&1&&c(0,"div",47)}function ji(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.openBridgeSettings())}),c(1,"i",60),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"child_bridge.setup")," "))}function Ri(t,d){t&1&&c(0,"div",47)}function Fi(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.openBridgeSettings())}),c(1,"i",60),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"child_bridge.setup")," "))}function Ui(t,d){t&1&&c(0,"div",47)}function Li(t,d){if(t&1&&(l(0,"a",48),c(1,"i",61),p(2),o(3,"translate"),s()),t&2){let e=m(3);B("href",e.plugin().links.bugs,H),a(2),h(" ",r(3,2,"support.links.issue")," ")}}function qi(t,d){if(t&1){let e=w();l(0,"span",35)(1,"a",41),c(2,"i",42),s(),l(3,"div",43)(4,"button",44),f("click",function(){b(e);let i=m(2);return v(i.openSettings())}),c(5,"i",45),p(6),o(7,"translate"),s(),u(8,Ei,4,3,"button",46),u(9,Ti,4,3,"button",46),u(10,Ii,4,3,"button",46),u(11,Di,4,3,"button",46),u(12,Mi,4,3,"button",46),u(13,Vi,4,3,"button",46),u(14,$i,1,0,"div",47),u(15,Oi,11,9),u(16,zi,1,0,"div",47),u(17,ji,4,3,"button",46),u(18,Ri,1,0,"div",47),u(19,Fi,4,3,"button",46),u(20,Ui,1,0,"div",47),u(21,Li,4,4,"a",48),s()()}if(t&2){let e,n,i=m(2);a(),k("aria-label","Plugin Actions Dropdown"),a(5),h(" ",r(7,16,"plugins.button_settings")," "),a(2),g(i.plugin().isConfigured&&!i.plugin().disabled?8:-1),a(),g(i.plugin().publicPackage?9:-1),a(),g(!i.isMobile()&&i.plugin().name!=="homebridge-config-ui-x"?10:-1),a(),g(i.plugin().name!=="homebridge-config-ui-x"&&!i.plugin().disabled?11:-1),a(),g(i.plugin().name!=="homebridge-config-ui-x"&&i.plugin().disabled?12:-1),a(),g(i.plugin().name!=="homebridge-config-ui-x"?13:-1),a(),g(!i.plugin().disabled&&i.plugin().isConfigured&&i.plugin().hasChildBridges&&i.plugin().installedVersion&&i.plugin().name!=="homebridge-config-ui-x"?14:-1),a(),g(i.plugin().hasChildBridges&&!i.plugin().disabled?15:-1),a(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&!i.plugin().recommendChildBridge?16:-1),a(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&!i.plugin().recommendChildBridge?17:-1),a(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&i.plugin().recommendChildBridge&&i.plugin().updateAvailable?18:-1),a(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&i.plugin().recommendChildBridge&&i.plugin().updateAvailable?19:-1),a(),g((e=i.plugin().links)!=null&&e.bugs?20:-1),a(),g((n=i.plugin().links)!=null&&n.bugs?21:-1)}}function Gi(t,d){if(t&1&&(l(0,"div",9),u(1,Si,3,4,"a",17),u(2,Bi,3,4,"a",33),u(3,ki,2,0,"a",34),u(4,qi,22,18,"span",35),s()),t&2){let e=m();a(),g(!e.plugin().disabled&&e.plugin().hasChildBridges&&e.childBridgeStatus()==="ok"?1:-1),a(),g(e.plugin().installedVersion&&e.plugin().disabled?2:-1),a(),g(e.plugin().publicPackage&&!e.plugin().installedVersion?3:-1),a(),g(e.plugin().installedVersion?4:-1)}}var Ue=(()=>{class t{$api=y(X);$auth=y(Z);$md=y(He);$modal=y(ie);$plugin=y(ne);$settings=y(Y);$toastr=y(K);$translate=y(F);$ws=y(ee);plugin=oe.required({});childBridges=oe.required({});io;defaultIcon="assets/hb-icon.png";isAdmin=this.$auth.user.admin;hasChildBridges=S(!1,{});allChildBridgesStopped=S(!1,{});childBridgeStatus=S("pending",{});childBridgeRestartInProgress=S(!1,{});isMobile=S("",{});setChildBridges=S([],{});constructor(){de(()=>{let e=this.childBridges();this.hasChildBridges.set(e.length>0),this.allChildBridgesStopped.set(e.every(n=>n.manuallyStopped===!0)),this.hasChildBridges()&&(e.some(n=>n.status==="down")?this.childBridgeStatus.set("down"):e.some(n=>n.status==="pending")?this.childBridgeStatus.set("pending"):e.some(n=>n.status==="ok")&&this.childBridgeStatus.set("ok")),this.setChildBridges.set(e)})}ngOnInit(){this.isMobile.set(this.$md.detect.mobile()),this.io=this.$ws.getExistingNamespace("child-bridges"),this.isMobile()&&this.plugin().displayName.toLowerCase().startsWith("homebridge ")&&(this.plugin().displayName=this.plugin().displayName.replace(/^homebridge /i,"")),this.plugin().icon||(this.plugin().icon=this.defaultIcon)}openFundingModal(e){let n=this.$modal.open(Re,{size:"lg",backdrop:"static"});n.componentInstance.plugin=e}pluginInfoModal(e){let n=this.$modal.open(Fe,{size:"lg",backdrop:"static"});n.componentInstance.plugin=e}disablePlugin(e){let n=this.$modal.open(je,{size:"lg",backdrop:"static"});n.componentInstance.pluginName=e.displayName||e.name,n.componentInstance.isConfigured=e.isConfigured,n.componentInstance.isConfiguredDynamicPlatform=e.isConfiguredDynamicPlatform,n.componentInstance.keepOrphans=this.$settings.keepOrphans,n.result.then(()=>V(this,null,function*(){try{yield this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/disable`,{}),e.disabled=!0,this.hasChildBridges()&&this.doChildBridgeAction("stop"),this.$modal.open(U,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.disable.error"),this.$translate.instant("toast.title_error"))}}))}enablePlugin(e){let n=this.$modal.open(Ne,{size:"lg",backdrop:"static"});n.componentInstance.title=e.name,n.componentInstance.message=this.$translate.instant("plugins.manage.confirm_enable",{pluginName:e.displayName}),n.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),n.componentInstance.faIconClass="fa-circle-play primary-text",n.result.then(()=>V(this,null,function*(){try{yield this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/enable`,{}),e.disabled=!1,this.hasChildBridges()&&(yield this.doChildBridgeAction("start")),this.$modal.open(U,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.enable.error"),this.$translate.instant("toast.title_error"))}}))}viewPluginLog(){let e=this.$modal.open(Oe,{size:"xl",backdrop:"static"});e.componentInstance.plugin=this.plugin(),e.componentInstance.childBridges=this.setChildBridges()}doChildBridgeAction(e){return V(this,null,function*(){this.childBridgeRestartInProgress.set(!0);try{for(let n of this.setChildBridges())yield re(this.io.request(`${e}-child-bridge`,n.username))}catch(n){console.error(n),this.$toastr.error(this.$translate.instant("plugins.bridge.action_error",{action:e}),this.$translate.instant("toast.title_error")),this.childBridgeRestartInProgress.set(!1)}finally{setTimeout(()=>{this.childBridgeRestartInProgress.set(!1)},e==="restart"?12e3:e==="stop"?6e3:1e3)}})}handleIconError(){this.plugin().icon=this.defaultIcon}checkAndUpdatePlugin(){this.$plugin.checkAndUpdatePlugin(this.plugin(),this.plugin().latestVersion)}openSettings(){this.$plugin.settings(this.plugin())}openBridgeSettings(){this.$plugin.bridgeSettings(this.plugin())}switchToScoped(){this.$plugin.switchToScoped(this.plugin())}installAlternateVersion(){this.$plugin.installAlternateVersion(this.plugin())}openJsonEditor(){this.$plugin.jsonEditor(this.plugin())}uninstallPlugin(){this.$plugin.uninstallPlugin(this.plugin(),this.setChildBridges())}resetChildBridges(){this.$plugin.resetChildBridges(this.setChildBridges())}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["app-plugin-card"]],inputs:{plugin:[1,"plugin"],childBridges:[1,"childBridges"]},decls:24,vars:15,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","me-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"error","src"],[1,"d-flex","flex-column","justify-content-between",2,"min-width","calc(100% - 80px)"],[1,"d-flex","flex-row","align-items-end"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"card-title","mb-2","text-truncate"],[1,"ms-auto"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-shield-alt","fa-lg","me-1"],[1,"grey-text"],[1,"card-text","mb-2"],["href","javascript:void(0)",1,"card-link"],[1,"card-text","mb-0","grey-text"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"openDelay","ngbTooltip"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"ngbTooltip","openDelay"],[1,"fas","fa-spinner","fa-pulse","fa-lg","grey-text","ms-3",3,"hidden"],[1,"fas","fa-lg","ms-3",3,"class"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"click","openDelay","ngbTooltip"],[1,"far","fa-arrow-alt-circle-up","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-arrow-right-arrow-left","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"click","ngbTooltip","openDelay"],[1,"fas","fa-sliders","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-bridge","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-qrcode","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-lg","ms-3"],[1,"fas","fa-heart","fa-lg","me-1","pink-text"],[1,"fas","fa-heart","fa-lg","me-1",2,"opacity","0.5"],[1,"far","fa-circle-dot","fa-lg","me-1"],[1,"far","fa-circle-check","fa-lg","me-1"],["href","javascript:void(0)",1,"card-link","red-text"],["href","javascript:void(0)"],["ngbDropdown","","placement","left",1,"d-inline-block","ms-3","mt-auto"],[1,"fas","fa-lg","fa-power-off","ms-3"],["href","javascript:void(0)",1,"card-link","red-text",3,"click"],["container","body","triggers","hover",1,"far","fa-pause-circle","fa-lg",3,"ngbTooltip","openDelay"],["href","javascript:void(0)",3,"click"],[1,"far","fa-arrow-alt-circle-down","fa-lg"],["href","javascript:void(0)","ngbDropdownToggle","",1,"card-link","text-decoration-none","mt-auto",2,"outline","none"],[1,"fa-solid","fa-ellipsis-v","fa-lg"],["ngbDropdownMenu","","aria-labelledby","Plugin Actions Dropdown"],["ngbDropdownItem","",3,"click"],[1,"fas","fa-sliders"],["ngbDropdownItem",""],[1,"dropdown-divider"],["ngbDropdownItem","","rel","noopener noreferrer","target","_blank",3,"href"],[1,"fas","fa-wave-square"],[1,"fas","fa-code-compare"],[1,"fas","fa-code"],[1,"far","fa-circle-pause"],[1,"far","fa-circle-play"],[1,"fas","fa-trash"],[1,"fas","fa-bridge"],[1,"fas","fa-broom"],[1,"icon-button","fas","fa-power-off"],[1,"fas","fa-stop"],[1,"fas","fa-play"],[1,"icon-button","fas","fa-bridge"],[1,"icon-button","fa","fa-question-circle-o"]],template:function(n,i){n&1&&(l(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),f("error",function(){return i.handleIconError()}),s()(),l(4,"div",4)(5,"div",5)(6,"div",6)(7,"div",7)(8,"h5",8),p(9),s(),u(10,bi,8,7,"div",9),s(),l(11,"p",10)(12,"a",11),f("click",function(){return i.pluginInfoModal(i.plugin())}),c(13,"i",12),l(14,"span",13),p(15),s()()(),l(16,"p",14),u(17,vi,4,1,"a",15),u(18,xi,3,1,"span",13),s(),l(19,"div",7)(20,"p",16),u(21,yi,5,2,"span"),u(22,wi,2,1),s(),u(23,Gi,5,4,"div",9),s()()()()()()),n&2&&(a(3),B("src",i.plugin().icon,H),a(6),C(i.plugin().displayName),a(),g(i.isAdmin?10:-1),a(3),E(ue(11,ci,i.plugin().isHbScoped,!i.plugin().isHbScoped&&(i.plugin().verifiedPlugin||i.plugin().verifiedPlusPlugin),!i.plugin().isHbScoped&&!i.plugin().verifiedPlugin&&!i.plugin().verifiedPlusPlugin)),a(2),C(i.plugin().name),a(2),g((i.plugin().verifiedPlugin||i.plugin().verifiedPlusPlugin)&&i.plugin().funding?17:-1),a(),g((i.plugin().verifiedPlugin||i.plugin().verifiedPlusPlugin)&&i.plugin().funding?-1:18),a(3),g(i.plugin().publicPackage&&!i.plugin().installedVersion?21:-1),a(),g(i.plugin().installedVersion?22:-1),a(),g(i.isAdmin?23:-1))},dependencies:[te,$e,Ve,Me,De,Ie,fe,D],encapsulation:2})}return t})();var Le=(()=>{class t{$activeModal=y(z);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:28,vars:22,consts:[["role","dialog","aria-modal","true",1,"modal-content"],[1,"modal-header"],["id","plugin-support-modal-title",1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"mb-0"],[3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(n,i){n&1&&(l(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),p(4),o(5,"translate"),s(),l(6,"button",3),o(7,"translate"),f("click",function(){return i.dismissModal()}),s()(),l(8,"div",4)(9,"div",5),c(10,"i",6),s(),l(11,"ul",7),c(12,"li",8),o(13,"translate"),c(14,"li",8),o(15,"translate"),c(16,"li",8),o(17,"translate"),c(18,"li",8),o(19,"translate"),s(),c(20,"app-support-banner"),s(),l(21,"div",9),c(22,"div",10),l(23,"div",11)(24,"button",12),f("click",function(){return i.dismissModal()}),p(25),o(26,"translate"),s()(),c(27,"div",13),s()()()),n&2&&(k("aria-labelledby","plugin-support-modal-title"),a(4),C(r(5,8,"support.title")),a(2),k("aria-label",r(7,10,"form.button_close")),a(6),B("innerHTML",r(13,12,"plugins.support.list_1"),$),a(2),B("innerHTML",r(15,14,"plugins.support.list_2"),$),a(2),B("innerHTML",r(17,16,"plugins.support.list_3"),$),a(2),B("innerHTML",r(19,18,"plugins.support.list_4"),$),a(7),h(" ",r(26,20,"form.button_close")," "))},dependencies:[ze,D],encapsulation:2})}return t})();var Qi=["searchInput"],Wi=(t,d)=>({"fa-magnifying-glass":t,"fa-exclamation-circle":d});function Ji(t,d){t&1&&c(0,"app-spinner")}function Ki(t,d){if(t&1){let e=w();l(0,"button",7),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m();return v(i.showSearch())}),c(3,"i"),s(),l(4,"button",8),o(5,"translate"),o(6,"translate"),f("click",function(){b(e);let i=m();return v(i.showStats())}),c(7,"i"),s()}if(t&2){let e=m();B("openDelay",150)("ngbTooltip",r(1,13,"form.search"))("hidden",!e.installedPlugins().length&&!e.showSearchBar()),k("aria-label",r(2,15,"form.search")),a(3),E(ae("fas",e.showSearchBar()?" primary-text":""," fa-search")),a(),B("openDelay",150)("ngbTooltip",r(5,17,"plugins.stats")),k("aria-label",r(6,19,"plugins.stats")),a(3),E(ae("fas",e.tab()==="stats"?" primary-text":""," fa-sliders"))}}function Xi(t,d){if(t&1){let e=w();l(0,"a",15),f("click",function(){b(e);let i=m(3);return v(i.onClearSearch())}),c(1,"i",16),s()}}function Yi(t,d){if(t&1){let e=w();l(0,"div",9)(1,"div",11)(2,"form",12),f("ngSubmit",function(){b(e);let i=m(2);return v(i.onSubmit(i.form))}),c(3,"input",13,0),o(5,"translate"),u(6,Xi,2,0,"a",14),s()()()}if(t&2){let e=m(2);a(2),B("formGroup",e.form),a(),B("placeholder",r(5,3,"plugins.placeholder_search_plugin")),a(3),g(e.showExitButton()?6:-1)}}function Zi(t,d){if(t&1&&(l(0,"div",17),c(1,"app-plugin-card",19),s()),t&2){let e=d.$implicit,n=m(3);a(),B("plugin",e)("childBridges",n.getPluginChildBridges(e))}}function et(t,d){if(t&1&&(l(0,"div",18),c(1,"i",20),l(2,"p"),p(3),o(4,"translate"),s()()),t&2){let e=m(3);a(),E(M(5,Wi,!e.showExitButton(),e.showExitButton())),a(2),C(r(4,3,e.showExitButton()?"plugins.placeholder_search_none":"plugins.placeholder_search_first"))}}function it(t,d){if(t&1&&(l(0,"div",10),G(1,Zi,2,2,"div",17,q),u(3,et,5,8,"div",18),s()),t&2){let e=m(2);a(),Q(e.installedPlugins()),a(2),g(e.installedPlugins().length===0&&!e.loading()&&!e.mainError()?3:-1)}}function tt(t,d){if(t&1&&(u(0,Yi,7,5,"div",9),u(1,it,4,1,"div",10)),t&2){let e=m();g(e.showSearchBar()?0:-1),a(),g(e.loading()?-1:1)}}function nt(t,d){t&1&&(l(0,"div",21)(1,"div",22)(2,"code"),p(3,"https://developers.homebridge.io/analytics "),l(4,"a",23),c(5,"i",24),s()()(),l(6,"div",25),p(7),o(8,"translate"),s()(),c(9,"iframe",26)),t&2&&(a(7),C(r(8,1,"plugins.stats_note")))}var cn=(()=>{class t{destroyRef=y(se);$api=y(X);$auth=y(Z);$modal=y(ie);$plugin=y(ne);$router=y(he);$settings=y(Y);$toastr=y(K);$translate=y(F);$ws=y(ee);searchInput=_e("searchInput",{});mainError=S(!1,{});loading=S(!0,{});tab=S("main",{});installedPlugins=S([],{});childBridges=S([],{});showSearchBar=S(!1,{});showExitButton=S(!1,{});isSearchMode=S(!1,{});io;isAdmin=this.$auth.user.admin;form=new Pe({query:new ye("")});ngOnInit(){let e=this.$translate.instant("menu.label_plugins");this.$settings.setPageTitle(e),this.$plugin.onPluginListRefresh.pipe(le(this.destroyRef)).subscribe(()=>{this.loadInstalledPlugins(),this.getChildBridgeMetadata()}),this.io=this.$ws.connectToNamespace("child-bridges"),this.io.connected.subscribe(()=>{this.initialize()}),this.io.socket.connected&&this.initialize(),this.io.socket.on("child-bridge-status-update",n=>{let i=this.childBridges().find(_=>_.username===n.username);i?(Object.assign(i,n),this.childBridges.set([...this.childBridges()])):this.childBridges.update(_=>[..._,n])}),this.$router.events.pipe(le(this.destroyRef)).subscribe(n=>{n instanceof Ce&&this.loadInstalledPlugins()})}search(){return V(this,null,function*(){this.installedPlugins.set([]),this.loading.set(!0),this.showExitButton.set(!0);try{let e=yield this.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`),n=new Set,i=new Map(e.map(_=>[_.name,_]));this.installedPlugins.set(e.reduce((_,T)=>{if(T.name==="homebridge-config-ui-x"||n.has(T.name))return _;if(T.newHbScope){let j=T.newHbScope.to,qe=i.has(j);(T.installedVersion||!qe)&&(n.add(j),_.push(T))}else _.push(T);return _},[])),yield this.appendMetaInfo()}catch(e){this.isSearchMode.set(!1),console.error(e);let n=e instanceof Error?e.message:this.$translate.instant("plugins.toast_failed_to_search_plugins");this.$toastr.error(n,this.$translate.instant("toast.title_error")),this.loadInstalledPlugins()}finally{this.loading.set(!1)}})}onClearSearch(){this.loadInstalledPlugins()}onSubmit({value:e}){e.query.length?(this.isSearchMode.set(!0),this.search()):this.isSearchMode()&&(this.isSearchMode.set(!1),this.loadInstalledPlugins())}showSearch(){if(this.showSearchBar())this.showSearchBar.set(!1),this.isSearchMode()&&(this.isSearchMode.set(!1),this.form.setValue({query:""}),this.loadInstalledPlugins());else{window.document.querySelector("body")?.classList.remove("bg-black"),this.tab.set("main"),this.showSearchBar.set(!0);let e=this.searchInput();e&&setTimeout(()=>e.nativeElement.focus(),0)}}showStats(){this.tab()==="stats"?(window.document.querySelector("body")?.classList.remove("bg-black"),this.tab.set("main")):(window.document.querySelector("body")?.classList.add("bg-black"),this.tab.set("stats"),this.showSearchBar.set(!1))}openSupport(){this.$modal.open(Le,{size:"lg",backdrop:"static"})}ngOnDestroy(){window.document.querySelector("body")?.classList.remove("bg-black"),this.io.end()}getPluginChildBridges(e){return this.childBridges().filter(n=>n.plugin===e.name)}initialize(){return V(this,null,function*(){this.getChildBridgeMetadata(),this.io.socket.emit("monitor-child-bridge-status"),yield this.loadInstalledPlugins(),this.installedPlugins().length||this.showSearch();let{action:e,plugin:n}=this.$router.parseUrl(this.$router.url).queryParams;if(e){let i=this.installedPlugins().find(_=>_.name===n);switch(e){case"just-installed":{i&&(i.isConfigured?this.$modal.open(U,{size:"lg",backdrop:"static"}):this.$plugin.settings(i));break}}this.$router.navigate([],{queryParams:{},replaceUrl:!0,queryParamsHandling:""})}})}loadInstalledPlugins(){return V(this,null,function*(){this.form.setValue({query:""}),this.showExitButton.set(!1),this.installedPlugins.set([]),this.loading.set(!0),this.mainError.set(!1);try{let e=yield this.$api.get("/plugins");this.installedPlugins.set(e.filter(i=>i.name!=="homebridge-config-ui-x")),yield this.appendMetaInfo();let n=this.installedPlugins().sort((i,_)=>{let T=(i.updateAvailable?1e3:0)+(i.newHbScope?100:0)+(i.disabled?-10:0)+(i.isConfigured?-20:0)+(i.hasChildBridgesUnpaired?5:0)+(i.hasChildBridges&&this.$settings.env.recommendChildBridges?-1:0),j=(_.updateAvailable?1e3:0)+(_.newHbScope?100:0)+(_.disabled?-10:0)+(_.isConfigured?-20:0)+(_.hasChildBridgesUnpaired?5:0)+(_.hasChildBridges&&this.$settings.env.recommendChildBridges?-1:0);return T!==j?j-T:i.name.localeCompare(_.name)});return this.installedPlugins.set(n),n}catch(e){console.error(e);let n=e instanceof Error?e.message:this.$translate.instant("plugins.toast_failed_to_load_plugins");this.$toastr.error(n,this.$translate.instant("toast.title_error")),this.mainError.set(!0)}finally{this.loading.set(!1)}})}appendMetaInfo(){return V(this,null,function*(){this.isAdmin&&(yield Promise.all(this.installedPlugins().filter(e=>e.installedVersion).map(e=>V(this,null,function*(){try{let n=yield this.$api.get(`/config-editor/plugin/${encodeURIComponent(e.name)}`);e.isConfigured=n.length>0,e.isConfiguredDynamicPlatform=e.isConfigured&&Object.prototype.hasOwnProperty.call(n[0],"platform"),e.recommendChildBridge=e.isConfigured&&this.$settings.env.recommendChildBridges&&!["homebridge","homebridge-config-ui-x"].includes(e.name),e.hasChildBridges=e.isConfigured&&n.some(_=>_._bridge&&_._bridge.username);let i=this.getPluginChildBridges(e);e.hasChildBridgesUnpaired=i.some(_=>{let T=_.paired===!1&&!this.isBridgeAlertHidden(_.username,"hap"),j=_.matterConfig&&_.matterCommissioned===!1&&!this.isBridgeAlertHidden(_.username,"matter");return T||j}),this.$settings.env.plugins?.hideUpdatesFor?.includes(e.name)&&(e.updateAvailable=!1)}catch(n){console.error(`Failed to load config for ${e.name}:`,n),e.isConfigured=!0,e.hasChildBridges=!0}}))))})}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(e=>{this.childBridges.set(e)})}isBridgeAlertHidden(e,n){let i=this.$settings.env.bridges?.find(_=>_.username.toUpperCase()===e.toUpperCase());return i?n==="hap"?!!i.hideHapAlert:!!i.hideMatterAlert:!1}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],viewQuery:function(n,i){n&1&&ce(i.searchInput,Qi,5),n&2&&me()},decls:13,vars:9,consts:[["searchInput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-question-circle-o"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","openDelay","ngbTooltip","hidden"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2","d-none","d-md-inline-block",3,"click","openDelay","ngbTooltip"],[1,"row"],[1,"d-flex","flex-wrap","justify-content-between"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","formControlName","query",1,"search-bar",3,"placeholder"],["href","javascript:void(0)",1,"search-bar-clear"],["href","javascript:void(0)",1,"search-bar-clear",3,"click"],[1,"fas","fa-square-xmark"],[1,"hb-plugin-space-between"],[1,"alert","alert-info","mt-4","text-center","w-100"],[3,"plugin","childBridges"],[1,"fas","primary-text","my-3",2,"font-size","75px"],[1,"w-100","py-3","hb-stats-header","text-white","text-center"],[1,"mb-2"],["href","https://developers.homebridge.io/analytics","target","_blank"],[1,"fa","fa-external-link"],[1,"small","grey-text"],["src",pe`https://developers.homebridge.io/analytics/`,"sandbox","allow-scripts allow-same-origin allow-popups","referrerpolicy","no-referrer",1,"hb-stats"]],template:function(n,i){n&1&&(u(0,Ji,1,0,"app-spinner"),l(1,"div",1)(2,"div",2)(3,"h3",3),p(4),o(5,"translate"),s()(),l(6,"div",4),u(7,Ki,8,21),l(8,"button",5),o(9,"translate"),f("click",function(){return i.openSupport()}),c(10,"i",6),s()()(),u(11,tt,2,2)(12,nt,10,3)),n&2&&(g(i.loading()?0:-1),a(4),C(r(5,5,"menu.label_plugins")),a(3),g(i.isAdmin?7:-1),a(),k("aria-label",r(9,7,"support.title")),a(3),g(i.tab()==="main"?11:i.tab()==="stats"?12:-1))},dependencies:[Ae,ke,we,be,ve,xe,Ee,Be,Se,Ue,te,D],styles:[".search-bar[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px;margin-bottom:15px}@media(hover:hover){.search-bar[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.search-bar[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.search-bar-clear[_ngcontent-%COMP%]{position:absolute;right:30px;font-size:25px;color:#d0d0d0;line-height:50px;cursor:pointer}.hb-plugin-space-between[_ngcontent-%COMP%]{box-sizing:border-box;width:calc(50% - 6.6666666667px)}@media only screen and (max-width:991px){.hb-plugin-space-between[_ngcontent-%COMP%]{width:100%}}.hb-stats-header[_ngcontent-%COMP%]{background:#242424;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.hb-stats-header[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{border:1px solid grey;border-radius:5px;padding:5px;font-size:.8rem;color:#d3d3d3}.hb-stats[_ngcontent-%COMP%]{height:calc(100% - 121px);width:100%;overflow:hidden;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}@media(max-width:767px){.hb-stats[_ngcontent-%COMP%]{height:calc(100% - 60px)}}"]})}return t})();export{cn as PluginsComponent};
1
+ import{a as Oe,c as ne}from"./chunk-VQI4BA3M.js";import"./chunk-WPJDSHYO.js";import"./chunk-LQNKSANI.js";import{a as U}from"./chunk-5UTHYAO4.js";import{a as Ae}from"./chunk-JN6IF7KG.js";import{a as He}from"./chunk-H2D3SCVU.js";import"./chunk-D3MUNCMG.js";import"./chunk-BMOLDRJ3.js";import{a as Ne}from"./chunk-TRA6X3HB.js";import"./chunk-H7F7H5MW.js";import"./chunk-XLJ6VVK3.js";import{a as ze}from"./chunk-5F6SGJZO.js";import"./chunk-KPSGNAPN.js";import"./chunk-YM6RL7NW.js";import"./chunk-FJB6YCFU.js";import"./chunk-SVEGWVQJ.js";import"./chunk-JUCPYKUR.js";import"./chunk-2Y6QBPFY.js";import{a as ee}from"./chunk-RMWS37MG.js";import"./chunk-DEM3FH7C.js";import"./chunk-LRB7FQNQ.js";import"./chunk-XQXAVYM6.js";import"./chunk-S4O5HRCM.js";import"./chunk-RAG53DHZ.js";import"./chunk-3YTNATAH.js";import"./chunk-JNSPIONO.js";import"./chunk-LOEOVQRM.js";import"./chunk-P3DOEH3R.js";import"./chunk-HKOUIAFO.js";import"./chunk-LHXNE56J.js";import"./chunk-QK4CWVVD.js";import"./chunk-UDXPJS32.js";import"./chunk-WOXYSKNU.js";import"./chunk-YSJHLHJ6.js";import"./chunk-FKJY3Z2V.js";import"./chunk-CYKWMDCC.js";import"./chunk-ZCGZM7LU.js";import"./chunk-W3WJ3GLW.js";import{g as Te,h as Ie,i as De,j as Me,k as Ve,l as $e,m as z,n as ie,t as te}from"./chunk-K3VXCKFJ.js";import{b as Ce,e as he}from"./chunk-P2U63MCR.js";import{a as le}from"./chunk-BGCYR25X.js";import{b as Z}from"./chunk-D3NFARXL.js";import{C as ke,D as Ee,c as be,e as ve,f as xe,g as Pe,j as ye,m as we,r as Se,s as Be}from"./chunk-YAUW3QQV.js";import{b as Y}from"./chunk-72SK6LN3.js";import{E as F,F as D,H as K,K as X,j as fe}from"./chunk-B6EPFA4V.js";import{Ab as g,Ac as ue,Cb as q,Db as G,Eb as Q,Ec as o,Fb as B,Fc as r,Gb as l,Gc as A,Hb as s,Ib as c,Jb as x,Kb as P,Lb as N,Lc as ge,Oc as oe,Pc as _e,Rb as w,Sb as R,Ua as $,Va as H,Wa as pe,Xb as f,Yb as O,Za as a,Zb as m,aa as y,ec as ce,fc as me,ga as b,ha as v,hc as W,jc as E,kc as p,lc as C,ma as se,mc as h,n as re,nb as I,sa as S,va as de,vc as ae,yb as k,yc as J,zb as u,zc as M}from"./chunk-MKV5RAJQ.js";import"./chunk-XPSIQPO4.js";import"./chunk-YLRX4V4V.js";import"./chunk-Q4PUZM2R.js";import"./chunk-FRMRAPF2.js";import"./chunk-MPQEE6FH.js";import"./chunk-WOMMYJV2.js";import{h as V}from"./chunk-B4AJQJMI.js";var Ge=t=>({pluginName:t}),Qe=(t,d)=>({setting:t,value:d});function We(t,d){t&1&&(l(0,"li"),p(1),o(2,"translate"),s(),l(3,"li"),p(4),o(5,"translate"),s()),t&2&&(a(),C(r(2,2,"plugins.manage.confirm_disable_platform_1")),a(3),C(r(5,4,"plugins.manage.confirm_disable_platform_2")))}function Je(t,d){t&1&&(l(0,"li"),p(1),o(2,"translate"),s(),l(3,"li"),p(4),o(5,"translate"),s()),t&2&&(a(),C(r(2,2,"plugins.manage.confirm_disable_accessory_1")),a(3),C(r(5,4,"plugins.manage.confirm_disable_accessory_2")))}function Ke(t,d){if(t&1&&(l(0,"ul",15),c(1,"li",16),o(2,"translate"),l(3,"ul",17),u(4,We,6,6)(5,Je,6,6),s()()),t&2){let e=m(2);a(),B("innerHtml",A(2,2,"plugins.manage.confirm_disable_setting",M(5,Qe,e.keepOrphansName,e.keepOrphansValue)),$),a(3),g(e.keepOrphansSignal()?4:5)}}function Xe(t,d){t&1&&(l(0,"ul",15)(1,"li"),p(2),o(3,"translate"),s(),l(4,"li"),p(5),o(6,"translate"),s()()),t&2&&(a(2),C(r(3,2,"plugins.manage.confirm_disable_accessory_1")),a(3),C(r(6,4,"plugins.manage.confirm_disable_accessory_2")))}function Ye(t,d){if(t&1&&u(0,Ke,6,8,"ul",15)(1,Xe,7,6,"ul",15),t&2){let e=m();g(e.isConfiguredDynamicPlatformSignal()?0:1)}}var je=(()=>{class t{$activeModal=y(z);$translate=y(F);_pluginName=S("",{});_isConfigured=S(!1,{});_isConfiguredDynamicPlatform=S(!1,{});_keepOrphans=S(!1,{});set pluginName(e){this._pluginName.set(e)}get pluginName(){return this._pluginName()}set isConfigured(e){this._isConfigured.set(e)}get isConfigured(){return this._isConfigured()}set isConfiguredDynamicPlatform(e){this._isConfiguredDynamicPlatform.set(e)}get isConfiguredDynamicPlatform(){return this._isConfiguredDynamicPlatform()}set keepOrphans(e){this._keepOrphans.set(e)}get keepOrphans(){return this._keepOrphans()}pluginNameSignal=this._pluginName.asReadonly();isConfiguredSignal=this._isConfigured.asReadonly();isConfiguredDynamicPlatformSignal=this._isConfiguredDynamicPlatform.asReadonly();keepOrphansSignal=this._keepOrphans.asReadonly();keepOrphansName=`<code>${this.$translate.instant("settings.startup.keep_accessories")}</code>`;get keepOrphansValue(){return`<code>${this._keepOrphans()}</code>`}dismissModal(){this.$activeModal.dismiss("Dismiss")}closeModal(){this.$activeModal.close()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:25,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"mb-3","text-center"],[1,"fas","fa-circle-pause","primary-text",2,"font-size","75px"],["type","warning",1,"mb-0",3,"dismissible"],[1,"w-100","text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click"],[1,"mb-3"],[3,"innerHtml"],[1,"mb-1"]],template:function(n,i){n&1&&(l(0,"div",0)(1,"div",1)(2,"h5",2),p(3),s(),l(4,"button",3),o(5,"translate"),f("click",function(){return i.dismissModal()}),s()(),l(6,"div",4)(7,"div",5),c(8,"i",6),s(),u(9,Ye,2,1),l(10,"ngb-alert",7)(11,"p",8),p(12),o(13,"translate"),s()()(),l(14,"div",9)(15,"div",10)(16,"button",11),o(17,"translate"),f("click",function(){return i.dismissModal()}),p(18),o(19,"translate"),s()(),c(20,"div",12),l(21,"div",13)(22,"button",14),f("click",function(){return i.closeModal()}),p(23),o(24,"translate"),s()()()()),n&2&&(a(3),C(i.pluginNameSignal()),a(),k("aria-label",r(5,8,"form.button_close")),a(5),g(i.isConfiguredSignal()?9:-1),a(),B("dismissible",!1),a(2),h(" ",A(13,10,"plugins.manage.confirm_disable",J(19,Ge,i.pluginNameSignal()))," "),a(4),k("aria-label",r(17,13,"form.button_close")),a(2),h(" ",r(19,15,"form.button_close")," "),a(5),h(" ",r(24,17,"plugins.manage.disable")," "))},dependencies:[Te,D],encapsulation:2})}return t})();var Ze=t=>({author:t});function ei(t,d){if(t&1&&(x(0,"li",9),N(1,"i",15),x(2,"a",16),p(3),P()()),t&2){let e=d.$implicit,n=m();a(),E(n.getIconClass(e.type)),a(),R("href",e.url,H),a(),C(e.url)}}var Re=(()=>{class t{$activeModal=y(z);_plugin=S(null,{});set plugin(e){this._plugin.set(e)}get plugin(){return this._plugin()}pluginSignal=this._plugin.asReadonly();fundingOptions=S([],{});authorName=S("",{});ngOnInit(){this.initialize()}initialize(){let e=this.pluginSignal();if(!e||!e.funding){this.$activeModal.close();return}this.authorName.set(e.name==="homebridge-config-ui-x"?"oznu":e.author);let n=e.funding;if(Array.isArray(n)){let i=n.map(_=>{if(typeof _=="string")return{type:"other",url:_};if(typeof _=="object")return{type:_.type||"other",url:_.url}}).filter(Boolean);this.fundingOptions.set(i)}else typeof n=="string"?this.fundingOptions.set([{type:"other",url:n}]):typeof n=="object"&&n!==null&&this.fundingOptions.set([{type:n.type||"other",url:n.url}])}getIconClass(e){switch(e.toLowerCase()){case"paypal":return"fab fa-paypal";case"github":return"fab fa-github";case"patreon":return"fab fa-patreon";case"kofi":case"ko-fi":return"fas fa-coffee";default:return"fas fa-link"}}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:28,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","pink-text","mb-3"],[1,"fas","fa-heart",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"me-2","primary-text","fa-xl"],["target","_blank","rel","noopener noreferrer",1,"text-break-all",3,"href"]],template:function(n,i){n&1&&(x(0,"div",0)(1,"div",1)(2,"h5",2),p(3),o(4,"translate"),P(),x(5,"button",3),o(6,"translate"),O("click",function(){return i.dismissModal()}),P()(),x(7,"div",4)(8,"div",5),N(9,"i",6),P(),x(10,"ul",7)(11,"li"),p(12),o(13,"translate"),P(),x(14,"li"),p(15),o(16,"translate"),P()(),x(17,"ul",8),G(18,ei,4,4,"li",9,q),P()(),x(20,"div",10),N(21,"div",11),x(22,"div",12)(23,"button",13),o(24,"translate"),O("click",function(){return i.dismissModal()}),p(25),o(26,"translate"),P()(),N(27,"div",14),P()()),n&2&&(a(3),C(A(4,6,"plugins.donate.tile_donate_to",J(19,Ze,"@"+i.authorName()))),a(2),k("aria-label",r(6,9,"form.button_close")),a(7),C(r(13,11,"plugins.donate.message_1")),a(3),C(r(16,13,"plugins.donate.message_2")),a(3),Q(i.fundingOptions()),a(5),k("aria-label",r(24,15,"form.button_close")),a(2),h(" ",r(26,17,"form.button_close")," "))},dependencies:[D],styles:[".text-break-all[_ngcontent-%COMP%]{word-break:break-all}"]})}return t})();var ii=(t,d)=>({"orange-text":t,"grey-text":d}),ti=(t,d)=>({"green-text":t,"grey-text":d}),ni=(t,d)=>({"purple-text":t,"grey-text":d}),ai=(t,d)=>({scopedLink:t,verifiedLink:d});function oi(t,d){t&1&&(x(0,"h6",18),p(1),o(2,"translate"),P(),x(3,"p",19),p(4),o(5,"translate"),P(),x(6,"p",19),p(7),o(8,"translate"),P()),t&2&&(a(),C(r(2,3,"plugins.manage.scoped_subtitle")),a(3),C(r(5,5,"plugins.manage.scoped_message")),a(3),C(r(8,7,"plugins.manage.verified_message")))}function li(t,d){t&1&&(x(0,"h6",18),p(1),o(2,"translate"),P(),x(3,"p",19),p(4),o(5,"translate"),P()),t&2&&(a(),C(r(2,2,"plugins.manage.verified_subtitle")),a(3),C(r(5,4,"plugins.manage.verified_message")))}function ri(t,d){t&1&&(x(0,"h6",18),p(1),o(2,"translate"),P(),x(3,"p",19),p(4),o(5,"translate"),P()),t&2&&(a(),C(r(2,2,"plugins.manage.unverified_subtitle")),a(3),C(r(5,4,"plugins.manage.unverified_message")))}function si(t,d){if(t&1){let e=w();x(0,"button",20),O("click",function(){b(e);let i=m();return v(i.dismissModal())}),p(1),o(2,"translate"),P()}t&2&&(a(),h(" ",r(2,1,"form.button_close")," "))}function di(t,d){if(t&1){let e=w();x(0,"button",20),O("click",function(){b(e);let i=m();return v(i.dismissModal())}),p(1),o(2,"translate"),P()}t&2&&(a(),h(" ",r(2,1,"form.button_close")," "))}function pi(t,d){if(t&1&&(x(0,"a",17),p(1),o(2,"translate"),N(3,"i",21),P()),t&2){let e=m();R("href",e.pluginData().links.homepage||e.pluginData().links.npm,H),a(),h(" ",r(2,2,"plugins.button_homepage")," ")}}var Fe=(()=>{class t{$activeModal=y(z);_plugin=S(null,{});iconError=S(!1,{});set plugin(e){this._plugin.set(e)}get plugin(){return this._plugin()}pluginData=this._plugin.asReadonly();pluginIcon=ge(()=>{let e=this._plugin();return e?.icon&&!this.iconError()?e.icon:this.defaultIcon},{});defaultIcon="assets/hb-icon.png";linkScoped='<a href="https://github.com/homebridge/plugins/wiki/Scoped-Plugins" target="_blank"><i class="fas fa-external-link-alt primary-text"></i></a>';linkVerified='<a href="https://github.com/homebridge/plugins/wiki/Verified-Plugins" target="_blank"><i class="fas fa-external-link-alt primary-text"></i></a>';handleIconError(){this.iconError.set(!0)}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:32,vars:45,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon-card",3,"error","src"],[1,"mb-1"],[1,"grey-text","mb-0","font-monospace"],[1,"grey-text","mb-1","font-monospace"],[1,"mb-3"],[1,"fas","fa-shield-alt","mb-3",2,"font-size","48px"],[1,"mb-0","grey-text",3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[1,"mb-2"],[1,"mb-1","grey-text"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-external-link-alt"]],template:function(n,i){n&1&&(x(0,"div",0)(1,"div",1)(2,"h5",2),p(3),o(4,"translate"),P(),x(5,"button",3),o(6,"translate"),O("click",function(){return i.dismissModal()}),P()(),x(7,"div",4)(8,"img",5),O("error",function(){return i.handleIconError()}),P(),x(9,"h4",6),p(10),P(),x(11,"p",7),p(12),P(),x(13,"p",8),p(14),P(),x(15,"p",9),p(16),P(),N(17,"i",10)(18,"i",10)(19,"i",10),u(20,oi,9,9),u(21,li,6,6),u(22,ri,6,6),N(23,"p",11),o(24,"translate"),P(),x(25,"div",12)(26,"div",13),u(27,si,3,3,"button",14),P(),x(28,"div",15),u(29,di,3,3,"button",14),P(),x(30,"div",16),u(31,pi,4,4,"a",17),P()()()),n&2&&(a(3),C(r(4,26,"plugins.manage.information")),a(2),k("aria-label",r(6,28,"form.button_close")),a(3),R("src",i.pluginIcon(),H),a(2),C(i.pluginData().displayName),a(2),C(i.pluginData().name),a(2),h("@",i.pluginData().author),a(2),C(i.pluginData().description),a(),E(M(33,ii,!i.pluginData().verifiedPlugin&&!i.pluginData().verifiedPlusPlugin,i.pluginData().verifiedPlugin||i.pluginData().verifiedPlusPlugin)),W("opacity",!i.pluginData().verifiedPlugin&&!i.pluginData().verifiedPlusPlugin?1:.25),a(),E(M(36,ti,!i.pluginData().isHbScoped&&(i.pluginData().verifiedPlugin||i.pluginData().verifiedPlusPlugin),i.pluginData().isHbScoped||!i.pluginData().verifiedPlugin&&!i.pluginData().verifiedPlusPlugin)),W("opacity",!i.pluginData().isHbScoped&&(i.pluginData().verifiedPlugin||i.pluginData().verifiedPlusPlugin)?1:.25),a(),E(M(39,ni,i.pluginData().isHbScoped,!i.pluginData().isHbScoped)),W("opacity",i.pluginData().isHbScoped?1:.25),a(),g(i.pluginData().isHbScoped?20:-1),a(),g(!i.pluginData().isHbScoped&&(i.pluginData().verifiedPlugin||i.pluginData().verifiedPlusPlugin)?21:-1),a(),g(!i.pluginData().verifiedPlugin&&!i.pluginData().verifiedPlusPlugin?22:-1),a(),R("innerHTML",A(24,30,"plugins.manage.more_info",M(42,ai,i.linkScoped,i.linkVerified)),$),a(4),g(i.pluginData().links.homepage||i.pluginData().links.npm?27:-1),a(2),g(!i.pluginData().links.homepage&&!i.pluginData().links.npm?29:-1),a(2),g(i.pluginData().links.homepage||i.pluginData().links.npm?31:-1))},dependencies:[D],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]})}return t})();var ci=(t,d,e)=>({"purple-text":t,"green-text":d,"orange-text":e}),mi=(t,d)=>({"fa-bridge-circle-exclamation orange-text":t,"fa-bridge-circle-xmark red-text":d});function ui(t,d){if(t&1){let e=w();l(0,"a",21),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.checkAndUpdatePlugin())}),c(3,"i",22),s()}t&2&&(B("openDelay",150)("ngbTooltip",r(1,3,"plugins.button_update")),k("aria-label",r(2,5,"plugins.button_update")))}function gi(t,d){if(t&1){let e=w();l(0,"a",21),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.switchToScoped())}),c(3,"i",23),s()}t&2&&(B("openDelay",150)("ngbTooltip",r(1,3,"plugins.manage.scoped.switch")),k("aria-label",r(2,5,"plugins.manage.scoped.switch")))}function _i(t,d){if(t&1){let e=w();l(0,"a",24),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.openSettings())}),c(3,"i",25),s()}t&2&&(B("ngbTooltip",r(1,3,"plugins.button_set_up"))("openDelay",150),k("aria-label",r(2,5,"plugins.button_set_up")))}function fi(t,d){if(t&1){let e=w();l(0,"a",24),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.openBridgeSettings())}),c(3,"i",26),s()}t&2&&(B("ngbTooltip",r(1,3,"child_bridge.setup"))("openDelay",150),k("aria-label",r(2,5,"child_bridge.setup")))}function Ci(t,d){if(t&1){let e=w();l(0,"a",24),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m(2);return v(i.openBridgeSettings())}),c(3,"i",27),s()}t&2&&(B("ngbTooltip",r(1,3,"child_bridge.bridge_connect"))("openDelay",150),k("aria-label",r(2,5,"child_bridge.bridge_connect")))}function hi(t,d){if(t&1&&c(0,"i",28),t&2){let e=m(2);E(M(2,mi,e.childBridgeStatus()==="pending",e.childBridgeStatus()==="down"))}}function bi(t,d){if(t&1&&(l(0,"div",9),u(1,ui,4,7,"a",17),u(2,gi,4,7,"a",17),u(3,_i,4,7,"a",18),u(4,fi,4,7,"a",18),u(5,Ci,4,7,"a",18),c(6,"i",19),u(7,hi,1,5,"i",20),s()),t&2){let e,n=m();a(),g(n.plugin().installedVersion&&n.plugin().updateAvailable&&!n.childBridgeRestartInProgress()?1:-1),a(),g(n.plugin().installedVersion&&((e=n.plugin().newHbScope)==null?null:e.switch)===n.plugin().installedVersion&&!n.childBridgeRestartInProgress()?2:-1),a(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&!n.plugin().isConfigured&&!n.childBridgeRestartInProgress()&&!n.plugin().disabled?3:-1),a(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&n.plugin().isConfigured&&!n.plugin().hasChildBridges&&!n.plugin().disabled&&n.plugin().recommendChildBridge&&!n.childBridgeRestartInProgress()?4:-1),a(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&n.plugin().isConfigured&&n.plugin().hasChildBridges&&!n.childBridgeRestartInProgress()&&n.plugin().hasChildBridgesUnpaired&&n.childBridgeStatus()==="ok"&&!n.plugin().disabled?5:-1),a(),B("hidden",!n.childBridgeRestartInProgress()),a(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&n.plugin().isConfigured&&n.plugin().hasChildBridges&&!n.childBridgeRestartInProgress()&&!n.plugin().hasChildBridgesUnpaired&&n.childBridgeStatus()!=="ok"&&!n.plugin().disabled?7:-1)}}function vi(t,d){if(t&1){let e=w();l(0,"a",11),f("click",function(){b(e);let i=m();return v(i.openFundingModal(i.plugin()))}),c(1,"i",29),l(2,"span",13),p(3),s()()}if(t&2){let e=m();a(3),h("@",e.plugin().author)}}function xi(t,d){if(t&1&&(l(0,"span",13),c(1,"i",30),p(2),s()),t&2){let e=m();a(2),h("@",e.plugin().author," ")}}function Pi(t,d){if(t&1&&(l(0,"span"),p(1),o(2,"date"),s()),t&2){let e=m(2);a(),h("(",A(2,1,e.plugin().lastUpdated,"yyyy-MM-dd"),")")}}function yi(t,d){if(t&1&&(l(0,"span"),c(1,"i",31),l(2,"span",13),p(3),u(4,Pi,3,4,"span"),s()()),t&2){let e=m();a(3),h("v",e.plugin().latestVersion," "),a(),g(e.plugin().lastUpdated?4:-1)}}function wi(t,d){if(t&1&&(c(0,"i",32),p(1)),t&2){let e=m();a(),h("v",e.plugin().installedVersion," ")}}function Si(t,d){if(t&1){let e=w();l(0,"a",21),o(1,"translate"),f("click",function(){b(e);let i=m(2);return v(i.doChildBridgeAction("restart"))}),c(2,"i",36),s()}if(t&2){let e=m(2);B("openDelay",150)("ngbTooltip",r(1,2,e.setChildBridges().length>1?"child_bridge.restart_plural":"child_bridge.restart"))}}function Bi(t,d){if(t&1){let e=w();l(0,"a",37),f("click",function(){b(e);let i=m(2);return v(i.enablePlugin(i.plugin()))}),c(1,"i",38),o(2,"translate"),s()}t&2&&(a(),B("ngbTooltip",r(2,2,"plugins.status_disabled"))("openDelay",150))}function ki(t,d){if(t&1){let e=w();l(0,"a",39),f("click",function(){b(e);let i=m(2);return v(i.installAlternateVersion())}),c(1,"i",40),s()}}function Ei(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.viewPluginLog())}),c(1,"i",49),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.plugin_logs")," "))}function Ti(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.installAlternateVersion())}),c(1,"i",50),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.manage_version")," "))}function Ii(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.openJsonEditor())}),c(1,"i",51),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.json_config")," "))}function Di(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.disablePlugin(i.plugin()))}),c(1,"i",52),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.disable")," "))}function Mi(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.enablePlugin(i.plugin()))}),c(1,"i",53),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.manage.enable")," "))}function Vi(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.uninstallPlugin())}),c(1,"i",54),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"plugins.button_uninstall")," "))}function $i(t,d){t&1&&c(0,"div",47)}function Ni(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(4);return v(i.doChildBridgeAction("restart"))}),c(1,"i",57),p(2),o(3,"translate"),s()}if(t&2){let e=m(4);a(2),h(" ",r(3,1,e.setChildBridges().length>1?"child_bridge.restart_plural":"child_bridge.restart")," ")}}function Ai(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(4);return v(i.doChildBridgeAction("stop"))}),c(1,"i",58),p(2),o(3,"translate"),s()}if(t&2){let e=m(4);a(2),h(" ",r(3,1,e.setChildBridges().length>1?"child_bridge.stop_plural":"child_bridge.stop")," ")}}function Hi(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(4);return v(i.doChildBridgeAction("start"))}),c(1,"i",59),p(2),o(3,"translate"),s()}if(t&2){let e=m(4);a(2),h(" ",r(3,1,e.setChildBridges().length>1?"child_bridge.start_plural":"child_bridge.start")," ")}}function Oi(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.openBridgeSettings())}),c(1,"i",55),p(2),o(3,"translate"),s(),u(4,Ni,4,3,"button",46),u(5,Ai,4,3,"button",46),u(6,Hi,4,3,"button",46),l(7,"button",44),f("click",function(){b(e);let i=m(3);return v(i.resetChildBridges())}),c(8,"i",56),p(9),o(10,"translate"),s()}if(t&2){let e=m(3);a(2),h(" ",r(3,5,"child_bridge.bridge_settings")," "),a(2),g(e.childBridgeRestartInProgress()?-1:4),a(),g(e.allChildBridgesStopped()?-1:5),a(),g(e.allChildBridgesStopped()?6:-1),a(3),h(" ",r(10,7,"child_bridge.reset_accessories")," ")}}function zi(t,d){t&1&&c(0,"div",47)}function ji(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.openBridgeSettings())}),c(1,"i",60),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"child_bridge.setup")," "))}function Ri(t,d){t&1&&c(0,"div",47)}function Fi(t,d){if(t&1){let e=w();l(0,"button",44),f("click",function(){b(e);let i=m(3);return v(i.openBridgeSettings())}),c(1,"i",60),p(2),o(3,"translate"),s()}t&2&&(a(2),h(" ",r(3,1,"child_bridge.setup")," "))}function Ui(t,d){t&1&&c(0,"div",47)}function Li(t,d){if(t&1&&(l(0,"a",48),c(1,"i",61),p(2),o(3,"translate"),s()),t&2){let e=m(3);B("href",e.plugin().links.bugs,H),a(2),h(" ",r(3,2,"support.links.issue")," ")}}function qi(t,d){if(t&1){let e=w();l(0,"span",35)(1,"a",41),c(2,"i",42),s(),l(3,"div",43)(4,"button",44),f("click",function(){b(e);let i=m(2);return v(i.openSettings())}),c(5,"i",45),p(6),o(7,"translate"),s(),u(8,Ei,4,3,"button",46),u(9,Ti,4,3,"button",46),u(10,Ii,4,3,"button",46),u(11,Di,4,3,"button",46),u(12,Mi,4,3,"button",46),u(13,Vi,4,3,"button",46),u(14,$i,1,0,"div",47),u(15,Oi,11,9),u(16,zi,1,0,"div",47),u(17,ji,4,3,"button",46),u(18,Ri,1,0,"div",47),u(19,Fi,4,3,"button",46),u(20,Ui,1,0,"div",47),u(21,Li,4,4,"a",48),s()()}if(t&2){let e,n,i=m(2);a(),k("aria-label","Plugin Actions Dropdown"),a(5),h(" ",r(7,16,"plugins.button_settings")," "),a(2),g(i.plugin().isConfigured&&!i.plugin().disabled?8:-1),a(),g(i.plugin().publicPackage?9:-1),a(),g(!i.isMobile()&&i.plugin().name!=="homebridge-config-ui-x"?10:-1),a(),g(i.plugin().name!=="homebridge-config-ui-x"&&!i.plugin().disabled?11:-1),a(),g(i.plugin().name!=="homebridge-config-ui-x"&&i.plugin().disabled?12:-1),a(),g(i.plugin().name!=="homebridge-config-ui-x"?13:-1),a(),g(!i.plugin().disabled&&i.plugin().isConfigured&&i.plugin().hasChildBridges&&i.plugin().installedVersion&&i.plugin().name!=="homebridge-config-ui-x"?14:-1),a(),g(i.plugin().hasChildBridges&&!i.plugin().disabled?15:-1),a(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&!i.plugin().recommendChildBridge?16:-1),a(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&!i.plugin().recommendChildBridge?17:-1),a(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&i.plugin().recommendChildBridge&&i.plugin().updateAvailable?18:-1),a(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&i.plugin().recommendChildBridge&&i.plugin().updateAvailable?19:-1),a(),g((e=i.plugin().links)!=null&&e.bugs?20:-1),a(),g((n=i.plugin().links)!=null&&n.bugs?21:-1)}}function Gi(t,d){if(t&1&&(l(0,"div",9),u(1,Si,3,4,"a",17),u(2,Bi,3,4,"a",33),u(3,ki,2,0,"a",34),u(4,qi,22,18,"span",35),s()),t&2){let e=m();a(),g(!e.plugin().disabled&&e.plugin().hasChildBridges&&e.childBridgeStatus()==="ok"?1:-1),a(),g(e.plugin().installedVersion&&e.plugin().disabled?2:-1),a(),g(e.plugin().publicPackage&&!e.plugin().installedVersion?3:-1),a(),g(e.plugin().installedVersion?4:-1)}}var Ue=(()=>{class t{$api=y(X);$auth=y(Z);$md=y(He);$modal=y(ie);$plugin=y(ne);$settings=y(Y);$toastr=y(K);$translate=y(F);$ws=y(ee);plugin=oe.required({});childBridges=oe.required({});io;defaultIcon="assets/hb-icon.png";isAdmin=this.$auth.user.admin;hasChildBridges=S(!1,{});allChildBridgesStopped=S(!1,{});childBridgeStatus=S("pending",{});childBridgeRestartInProgress=S(!1,{});isMobile=S("",{});setChildBridges=S([],{});constructor(){de(()=>{let e=this.childBridges();this.hasChildBridges.set(e.length>0),this.allChildBridgesStopped.set(e.every(n=>n.manuallyStopped===!0)),this.hasChildBridges()&&(e.some(n=>n.status==="down")?this.childBridgeStatus.set("down"):e.some(n=>n.status==="pending")?this.childBridgeStatus.set("pending"):e.some(n=>n.status==="ok")&&this.childBridgeStatus.set("ok")),this.setChildBridges.set(e)})}ngOnInit(){this.isMobile.set(this.$md.detect.mobile()),this.io=this.$ws.getExistingNamespace("child-bridges"),this.isMobile()&&this.plugin().displayName.toLowerCase().startsWith("homebridge ")&&(this.plugin().displayName=this.plugin().displayName.replace(/^homebridge /i,"")),this.plugin().icon||(this.plugin().icon=this.defaultIcon)}openFundingModal(e){let n=this.$modal.open(Re,{size:"lg",backdrop:"static"});n.componentInstance.plugin=e}pluginInfoModal(e){let n=this.$modal.open(Fe,{size:"lg",backdrop:"static"});n.componentInstance.plugin=e}disablePlugin(e){return V(this,null,function*(){let n=this.$modal.open(je,{size:"lg",backdrop:"static"});n.componentInstance.pluginName=e.displayName||e.name,n.componentInstance.isConfigured=e.isConfigured,n.componentInstance.isConfiguredDynamicPlatform=e.isConfiguredDynamicPlatform,n.componentInstance.keepOrphans=this.$settings.keepOrphans;try{yield n.result;try{yield this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/disable`,{}),e.disabled=!0,this.hasChildBridges()&&this.doChildBridgeAction("stop"),this.$modal.open(U,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.disable.error"),this.$translate.instant("toast.title_error"))}}catch{}})}enablePlugin(e){return V(this,null,function*(){let n=this.$modal.open(Ne,{size:"lg",backdrop:"static"});n.componentInstance.title=e.name,n.componentInstance.message=this.$translate.instant("plugins.manage.confirm_enable",{pluginName:e.displayName}),n.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),n.componentInstance.faIconClass="fa-circle-play primary-text";try{yield n.result;try{yield this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/enable`,{}),e.disabled=!1,this.hasChildBridges()&&(yield this.doChildBridgeAction("start")),this.$modal.open(U,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.enable.error"),this.$translate.instant("toast.title_error"))}}catch{}})}viewPluginLog(){let e=this.$modal.open(Oe,{size:"xl",backdrop:"static"});e.componentInstance.plugin=this.plugin(),e.componentInstance.childBridges=this.setChildBridges()}doChildBridgeAction(e){return V(this,null,function*(){this.childBridgeRestartInProgress.set(!0);try{for(let n of this.setChildBridges())yield re(this.io.request(`${e}-child-bridge`,n.username))}catch(n){console.error(n),this.$toastr.error(this.$translate.instant("plugins.bridge.action_error",{action:e}),this.$translate.instant("toast.title_error")),this.childBridgeRestartInProgress.set(!1)}finally{setTimeout(()=>{this.childBridgeRestartInProgress.set(!1)},e==="restart"?12e3:e==="stop"?6e3:1e3)}})}handleIconError(){this.plugin().icon=this.defaultIcon}checkAndUpdatePlugin(){this.$plugin.checkAndUpdatePlugin(this.plugin(),this.plugin().latestVersion)}openSettings(){this.$plugin.settings(this.plugin())}openBridgeSettings(){this.$plugin.bridgeSettings(this.plugin())}switchToScoped(){this.$plugin.switchToScoped(this.plugin())}installAlternateVersion(){this.$plugin.installAlternateVersion(this.plugin())}openJsonEditor(){this.$plugin.jsonEditor(this.plugin())}uninstallPlugin(){this.$plugin.uninstallPlugin(this.plugin(),this.setChildBridges())}resetChildBridges(){this.$plugin.resetChildBridges(this.setChildBridges())}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["app-plugin-card"]],inputs:{plugin:[1,"plugin"],childBridges:[1,"childBridges"]},decls:24,vars:15,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","me-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"error","src"],[1,"d-flex","flex-column","justify-content-between",2,"min-width","calc(100% - 80px)"],[1,"d-flex","flex-row","align-items-end"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"card-title","mb-2","text-truncate"],[1,"ms-auto"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-shield-alt","fa-lg","me-1"],[1,"grey-text"],[1,"card-text","mb-2"],["href","javascript:void(0)",1,"card-link"],[1,"card-text","mb-0","grey-text"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"openDelay","ngbTooltip"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"ngbTooltip","openDelay"],[1,"fas","fa-spinner","fa-pulse","fa-lg","grey-text","ms-3",3,"hidden"],[1,"fas","fa-lg","ms-3",3,"class"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"click","openDelay","ngbTooltip"],[1,"far","fa-arrow-alt-circle-up","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-arrow-right-arrow-left","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"click","ngbTooltip","openDelay"],[1,"fas","fa-sliders","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-bridge","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-qrcode","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-lg","ms-3"],[1,"fas","fa-heart","fa-lg","me-1","pink-text"],[1,"fas","fa-heart","fa-lg","me-1",2,"opacity","0.5"],[1,"far","fa-circle-dot","fa-lg","me-1"],[1,"far","fa-circle-check","fa-lg","me-1"],["href","javascript:void(0)",1,"card-link","red-text"],["href","javascript:void(0)"],["ngbDropdown","","placement","left",1,"d-inline-block","ms-3","mt-auto"],[1,"fas","fa-lg","fa-power-off","ms-3"],["href","javascript:void(0)",1,"card-link","red-text",3,"click"],["container","body","triggers","hover",1,"far","fa-pause-circle","fa-lg",3,"ngbTooltip","openDelay"],["href","javascript:void(0)",3,"click"],[1,"far","fa-arrow-alt-circle-down","fa-lg"],["href","javascript:void(0)","ngbDropdownToggle","",1,"card-link","text-decoration-none","mt-auto",2,"outline","none"],[1,"fa-solid","fa-ellipsis-v","fa-lg"],["ngbDropdownMenu","","aria-labelledby","Plugin Actions Dropdown"],["ngbDropdownItem","",3,"click"],[1,"fas","fa-sliders"],["ngbDropdownItem",""],[1,"dropdown-divider"],["ngbDropdownItem","","rel","noopener noreferrer","target","_blank",3,"href"],[1,"fas","fa-wave-square"],[1,"fas","fa-code-compare"],[1,"fas","fa-code"],[1,"far","fa-circle-pause"],[1,"far","fa-circle-play"],[1,"fas","fa-trash"],[1,"fas","fa-bridge"],[1,"fas","fa-broom"],[1,"icon-button","fas","fa-power-off"],[1,"fas","fa-stop"],[1,"fas","fa-play"],[1,"icon-button","fas","fa-bridge"],[1,"icon-button","fa","fa-question-circle-o"]],template:function(n,i){n&1&&(l(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),f("error",function(){return i.handleIconError()}),s()(),l(4,"div",4)(5,"div",5)(6,"div",6)(7,"div",7)(8,"h5",8),p(9),s(),u(10,bi,8,7,"div",9),s(),l(11,"p",10)(12,"a",11),f("click",function(){return i.pluginInfoModal(i.plugin())}),c(13,"i",12),l(14,"span",13),p(15),s()()(),l(16,"p",14),u(17,vi,4,1,"a",15),u(18,xi,3,1,"span",13),s(),l(19,"div",7)(20,"p",16),u(21,yi,5,2,"span"),u(22,wi,2,1),s(),u(23,Gi,5,4,"div",9),s()()()()()()),n&2&&(a(3),B("src",i.plugin().icon,H),a(6),C(i.plugin().displayName),a(),g(i.isAdmin?10:-1),a(3),E(ue(11,ci,i.plugin().isHbScoped,!i.plugin().isHbScoped&&(i.plugin().verifiedPlugin||i.plugin().verifiedPlusPlugin),!i.plugin().isHbScoped&&!i.plugin().verifiedPlugin&&!i.plugin().verifiedPlusPlugin)),a(2),C(i.plugin().name),a(2),g((i.plugin().verifiedPlugin||i.plugin().verifiedPlusPlugin)&&i.plugin().funding?17:-1),a(),g((i.plugin().verifiedPlugin||i.plugin().verifiedPlusPlugin)&&i.plugin().funding?-1:18),a(3),g(i.plugin().publicPackage&&!i.plugin().installedVersion?21:-1),a(),g(i.plugin().installedVersion?22:-1),a(),g(i.isAdmin?23:-1))},dependencies:[te,$e,Ve,Me,De,Ie,fe,D],encapsulation:2})}return t})();var Le=(()=>{class t{$activeModal=y(z);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:28,vars:22,consts:[["role","dialog","aria-modal","true",1,"modal-content"],[1,"modal-header"],["id","plugin-support-modal-title",1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"mb-0"],[3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(n,i){n&1&&(l(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),p(4),o(5,"translate"),s(),l(6,"button",3),o(7,"translate"),f("click",function(){return i.dismissModal()}),s()(),l(8,"div",4)(9,"div",5),c(10,"i",6),s(),l(11,"ul",7),c(12,"li",8),o(13,"translate"),c(14,"li",8),o(15,"translate"),c(16,"li",8),o(17,"translate"),c(18,"li",8),o(19,"translate"),s(),c(20,"app-support-banner"),s(),l(21,"div",9),c(22,"div",10),l(23,"div",11)(24,"button",12),f("click",function(){return i.dismissModal()}),p(25),o(26,"translate"),s()(),c(27,"div",13),s()()()),n&2&&(k("aria-labelledby","plugin-support-modal-title"),a(4),C(r(5,8,"support.title")),a(2),k("aria-label",r(7,10,"form.button_close")),a(6),B("innerHTML",r(13,12,"plugins.support.list_1"),$),a(2),B("innerHTML",r(15,14,"plugins.support.list_2"),$),a(2),B("innerHTML",r(17,16,"plugins.support.list_3"),$),a(2),B("innerHTML",r(19,18,"plugins.support.list_4"),$),a(7),h(" ",r(26,20,"form.button_close")," "))},dependencies:[ze,D],encapsulation:2})}return t})();var Qi=["searchInput"],Wi=(t,d)=>({"fa-magnifying-glass":t,"fa-exclamation-circle":d});function Ji(t,d){t&1&&c(0,"app-spinner")}function Ki(t,d){if(t&1){let e=w();l(0,"button",7),o(1,"translate"),o(2,"translate"),f("click",function(){b(e);let i=m();return v(i.showSearch())}),c(3,"i"),s(),l(4,"button",8),o(5,"translate"),o(6,"translate"),f("click",function(){b(e);let i=m();return v(i.showStats())}),c(7,"i"),s()}if(t&2){let e=m();B("openDelay",150)("ngbTooltip",r(1,13,"form.search"))("hidden",!e.installedPlugins().length&&!e.showSearchBar()),k("aria-label",r(2,15,"form.search")),a(3),E(ae("fas",e.showSearchBar()?" primary-text":""," fa-search")),a(),B("openDelay",150)("ngbTooltip",r(5,17,"plugins.stats")),k("aria-label",r(6,19,"plugins.stats")),a(3),E(ae("fas",e.tab()==="stats"?" primary-text":""," fa-sliders"))}}function Xi(t,d){if(t&1){let e=w();l(0,"a",15),f("click",function(){b(e);let i=m(3);return v(i.onClearSearch())}),c(1,"i",16),s()}}function Yi(t,d){if(t&1){let e=w();l(0,"div",9)(1,"div",11)(2,"form",12),f("ngSubmit",function(){b(e);let i=m(2);return v(i.onSubmit(i.form))}),c(3,"input",13,0),o(5,"translate"),u(6,Xi,2,0,"a",14),s()()()}if(t&2){let e=m(2);a(2),B("formGroup",e.form),a(),B("placeholder",r(5,3,"plugins.placeholder_search_plugin")),a(3),g(e.showExitButton()?6:-1)}}function Zi(t,d){if(t&1&&(l(0,"div",17),c(1,"app-plugin-card",19),s()),t&2){let e=d.$implicit,n=m(3);a(),B("plugin",e)("childBridges",n.getPluginChildBridges(e))}}function et(t,d){if(t&1&&(l(0,"div",18),c(1,"i",20),l(2,"p"),p(3),o(4,"translate"),s()()),t&2){let e=m(3);a(),E(M(5,Wi,!e.showExitButton(),e.showExitButton())),a(2),C(r(4,3,e.showExitButton()?"plugins.placeholder_search_none":"plugins.placeholder_search_first"))}}function it(t,d){if(t&1&&(l(0,"div",10),G(1,Zi,2,2,"div",17,q),u(3,et,5,8,"div",18),s()),t&2){let e=m(2);a(),Q(e.installedPlugins()),a(2),g(e.installedPlugins().length===0&&!e.loading()&&!e.mainError()?3:-1)}}function tt(t,d){if(t&1&&(u(0,Yi,7,5,"div",9),u(1,it,4,1,"div",10)),t&2){let e=m();g(e.showSearchBar()?0:-1),a(),g(e.loading()?-1:1)}}function nt(t,d){t&1&&(l(0,"div",21)(1,"div",22)(2,"code"),p(3,"https://developers.homebridge.io/analytics "),l(4,"a",23),c(5,"i",24),s()()(),l(6,"div",25),p(7),o(8,"translate"),s()(),c(9,"iframe",26)),t&2&&(a(7),C(r(8,1,"plugins.stats_note")))}var cn=(()=>{class t{destroyRef=y(se);$api=y(X);$auth=y(Z);$modal=y(ie);$plugin=y(ne);$router=y(he);$settings=y(Y);$toastr=y(K);$translate=y(F);$ws=y(ee);searchInput=_e("searchInput",{});mainError=S(!1,{});loading=S(!0,{});tab=S("main",{});installedPlugins=S([],{});childBridges=S([],{});showSearchBar=S(!1,{});showExitButton=S(!1,{});isSearchMode=S(!1,{});io;isAdmin=this.$auth.user.admin;form=new Pe({query:new ye("")});ngOnInit(){let e=this.$translate.instant("menu.label_plugins");this.$settings.setPageTitle(e),this.$plugin.onPluginListRefresh.pipe(le(this.destroyRef)).subscribe(()=>{this.loadInstalledPlugins(),this.getChildBridgeMetadata()}),this.io=this.$ws.connectToNamespace("child-bridges"),this.io.connected.subscribe(()=>{this.initialize()}),this.io.socket.connected&&this.initialize(),this.io.socket.on("child-bridge-status-update",n=>{let i=this.childBridges().find(_=>_.username===n.username);i?(Object.assign(i,n),this.childBridges.set([...this.childBridges()])):this.childBridges.update(_=>[..._,n])}),this.$router.events.pipe(le(this.destroyRef)).subscribe(n=>{n instanceof Ce&&this.loadInstalledPlugins()})}search(){return V(this,null,function*(){this.installedPlugins.set([]),this.loading.set(!0),this.showExitButton.set(!0);try{let e=yield this.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`),n=new Set,i=new Map(e.map(_=>[_.name,_]));this.installedPlugins.set(e.reduce((_,T)=>{if(T.name==="homebridge-config-ui-x"||n.has(T.name))return _;if(T.newHbScope){let j=T.newHbScope.to,qe=i.has(j);(T.installedVersion||!qe)&&(n.add(j),_.push(T))}else _.push(T);return _},[])),yield this.appendMetaInfo()}catch(e){this.isSearchMode.set(!1),console.error(e);let n=e instanceof Error?e.message:this.$translate.instant("plugins.toast_failed_to_search_plugins");this.$toastr.error(n,this.$translate.instant("toast.title_error")),this.loadInstalledPlugins()}finally{this.loading.set(!1)}})}onClearSearch(){this.loadInstalledPlugins()}onSubmit({value:e}){e.query.length?(this.isSearchMode.set(!0),this.search()):this.isSearchMode()&&(this.isSearchMode.set(!1),this.loadInstalledPlugins())}showSearch(){if(this.showSearchBar())this.showSearchBar.set(!1),this.isSearchMode()&&(this.isSearchMode.set(!1),this.form.setValue({query:""}),this.loadInstalledPlugins());else{window.document.querySelector("body")?.classList.remove("bg-black"),this.tab.set("main"),this.showSearchBar.set(!0);let e=this.searchInput();e&&setTimeout(()=>e.nativeElement.focus(),0)}}showStats(){this.tab()==="stats"?(window.document.querySelector("body")?.classList.remove("bg-black"),this.tab.set("main")):(window.document.querySelector("body")?.classList.add("bg-black"),this.tab.set("stats"),this.showSearchBar.set(!1))}openSupport(){this.$modal.open(Le,{size:"lg",backdrop:"static"})}ngOnDestroy(){window.document.querySelector("body")?.classList.remove("bg-black"),this.io.end()}getPluginChildBridges(e){return this.childBridges().filter(n=>n.plugin===e.name)}initialize(){return V(this,null,function*(){this.getChildBridgeMetadata(),this.io.socket.emit("monitor-child-bridge-status"),yield this.loadInstalledPlugins(),this.installedPlugins().length||this.showSearch();let{action:e,plugin:n}=this.$router.parseUrl(this.$router.url).queryParams;if(e){let i=this.installedPlugins().find(_=>_.name===n);switch(e){case"just-installed":{i&&(i.isConfigured?this.$modal.open(U,{size:"lg",backdrop:"static"}):this.$plugin.settings(i));break}}this.$router.navigate([],{queryParams:{},replaceUrl:!0,queryParamsHandling:""})}})}loadInstalledPlugins(){return V(this,null,function*(){this.form.setValue({query:""}),this.showExitButton.set(!1),this.installedPlugins.set([]),this.loading.set(!0),this.mainError.set(!1);try{let e=yield this.$api.get("/plugins");this.installedPlugins.set(e.filter(i=>i.name!=="homebridge-config-ui-x")),yield this.appendMetaInfo();let n=this.installedPlugins().sort((i,_)=>{let T=(i.updateAvailable?1e3:0)+(i.newHbScope?100:0)+(i.disabled?-10:0)+(i.isConfigured?-20:0)+(i.hasChildBridgesUnpaired?5:0)+(i.hasChildBridges&&this.$settings.env.recommendChildBridges?-1:0),j=(_.updateAvailable?1e3:0)+(_.newHbScope?100:0)+(_.disabled?-10:0)+(_.isConfigured?-20:0)+(_.hasChildBridgesUnpaired?5:0)+(_.hasChildBridges&&this.$settings.env.recommendChildBridges?-1:0);return T!==j?j-T:i.name.localeCompare(_.name)});return this.installedPlugins.set(n),n}catch(e){console.error(e);let n=e instanceof Error?e.message:this.$translate.instant("plugins.toast_failed_to_load_plugins");this.$toastr.error(n,this.$translate.instant("toast.title_error")),this.mainError.set(!0)}finally{this.loading.set(!1)}})}appendMetaInfo(){return V(this,null,function*(){this.isAdmin&&(yield Promise.all(this.installedPlugins().filter(e=>e.installedVersion).map(e=>V(this,null,function*(){try{let n=yield this.$api.get(`/config-editor/plugin/${encodeURIComponent(e.name)}`);e.isConfigured=n.length>0,e.isConfiguredDynamicPlatform=e.isConfigured&&Object.prototype.hasOwnProperty.call(n[0],"platform"),e.recommendChildBridge=e.isConfigured&&this.$settings.env.recommendChildBridges&&!["homebridge","homebridge-config-ui-x"].includes(e.name),e.hasChildBridges=e.isConfigured&&n.some(_=>_._bridge&&_._bridge.username);let i=this.getPluginChildBridges(e);e.hasChildBridgesUnpaired=i.some(_=>{let T=_.paired===!1&&!this.isBridgeAlertHidden(_.username,"hap"),j=_.matterConfig&&_.matterCommissioned===!1&&!this.isBridgeAlertHidden(_.username,"matter");return T||j}),this.$settings.env.plugins?.hideUpdatesFor?.includes(e.name)&&(e.updateAvailable=!1)}catch(n){console.error(`Failed to load config for ${e.name}:`,n),e.isConfigured=!0,e.hasChildBridges=!0}}))))})}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(e=>{this.childBridges.set(e)})}isBridgeAlertHidden(e,n){let i=this.$settings.env.bridges?.find(_=>_.username.toUpperCase()===e.toUpperCase());return i?n==="hap"?!!i.hideHapAlert:!!i.hideMatterAlert:!1}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],viewQuery:function(n,i){n&1&&ce(i.searchInput,Qi,5),n&2&&me()},decls:13,vars:9,consts:[["searchInput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-question-circle-o"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","openDelay","ngbTooltip","hidden"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2","d-none","d-md-inline-block",3,"click","openDelay","ngbTooltip"],[1,"row"],[1,"d-flex","flex-wrap","justify-content-between"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","formControlName","query",1,"search-bar",3,"placeholder"],["href","javascript:void(0)",1,"search-bar-clear"],["href","javascript:void(0)",1,"search-bar-clear",3,"click"],[1,"fas","fa-square-xmark"],[1,"hb-plugin-space-between"],[1,"alert","alert-info","mt-4","text-center","w-100"],[3,"plugin","childBridges"],[1,"fas","primary-text","my-3",2,"font-size","75px"],[1,"w-100","py-3","hb-stats-header","text-white","text-center"],[1,"mb-2"],["href","https://developers.homebridge.io/analytics","target","_blank"],[1,"fa","fa-external-link"],[1,"small","grey-text"],["src",pe`https://developers.homebridge.io/analytics/`,"sandbox","allow-scripts allow-same-origin allow-popups","referrerpolicy","no-referrer",1,"hb-stats"]],template:function(n,i){n&1&&(u(0,Ji,1,0,"app-spinner"),l(1,"div",1)(2,"div",2)(3,"h3",3),p(4),o(5,"translate"),s()(),l(6,"div",4),u(7,Ki,8,21),l(8,"button",5),o(9,"translate"),f("click",function(){return i.openSupport()}),c(10,"i",6),s()()(),u(11,tt,2,2)(12,nt,10,3)),n&2&&(g(i.loading()?0:-1),a(4),C(r(5,5,"menu.label_plugins")),a(3),g(i.isAdmin?7:-1),a(),k("aria-label",r(9,7,"support.title")),a(3),g(i.tab()==="main"?11:i.tab()==="stats"?12:-1))},dependencies:[Ae,ke,we,be,ve,xe,Ee,Be,Se,Ue,te,D],styles:[".search-bar[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px;margin-bottom:15px}@media(hover:hover){.search-bar[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.search-bar[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.search-bar-clear[_ngcontent-%COMP%]{position:absolute;right:30px;font-size:25px;color:#d0d0d0;line-height:50px;cursor:pointer}.hb-plugin-space-between[_ngcontent-%COMP%]{box-sizing:border-box;width:calc(50% - 6.6666666667px)}@media only screen and (max-width:991px){.hb-plugin-space-between[_ngcontent-%COMP%]{width:100%}}.hb-stats-header[_ngcontent-%COMP%]{background:#242424;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.hb-stats-header[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{border:1px solid grey;border-radius:5px;padding:5px;font-size:.8rem;color:#d3d3d3}.hb-stats[_ngcontent-%COMP%]{height:calc(100% - 121px);width:100%;overflow:hidden;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}@media(max-width:767px){.hb-stats[_ngcontent-%COMP%]{height:calc(100% - 60px)}}"]})}return t})();export{cn as PluginsComponent};