homebridge-config-ui-x 5.0.0-beta.83 → 5.0.0-beta.85

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 (101) hide show
  1. package/CHANGELOG.md +6 -3
  2. package/config.schema.json +2 -25
  3. package/dist/core/auth/auth.controller.d.ts +6 -0
  4. package/dist/core/config/config.service.d.ts +9 -1
  5. package/dist/core/config/config.service.js +9 -0
  6. package/dist/core/config/config.service.js.map +1 -1
  7. package/dist/modules/config-editor/config-editor.service.js +22 -3
  8. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  9. package/package.json +2 -2
  10. package/public/3rdpartylicenses.txt +73 -73
  11. package/public/chunk-24QS6PYT.js +1 -0
  12. package/public/{chunk-SNBPXFEO.js → chunk-2WKK6ARR.js} +1 -1
  13. package/public/chunk-376UJFUA.js +1 -0
  14. package/public/{chunk-C4QRAQSJ.js → chunk-42VQANT2.js} +1 -1
  15. package/public/{chunk-MNELPLS5.js → chunk-4QTZYQ6T.js} +1 -1
  16. package/public/{chunk-JP2NFMS4.js → chunk-4XFWWAJ4.js} +1 -1
  17. package/public/{chunk-ULPRCO7R.js → chunk-5YXFSRA5.js} +1 -1
  18. package/public/chunk-63XU2JWE.js +1 -0
  19. package/public/{chunk-6D2SLGFZ.js → chunk-6GBXVGU5.js} +1 -1
  20. package/public/{chunk-TGIRM25Z.js → chunk-6M3B2A6W.js} +1 -1
  21. package/public/chunk-7J7USUIJ.js +1 -0
  22. package/public/{chunk-AJQUKLU3.js → chunk-AGTYR7WQ.js} +1 -1
  23. package/public/chunk-AVHYOINC.js +1 -0
  24. package/public/{chunk-Q5RYRVUD.js → chunk-AZ54ZXXV.js} +1 -1
  25. package/public/chunk-B7F5OX77.js +1 -0
  26. package/public/chunk-BF5IEMO6.js +1 -0
  27. package/public/{chunk-SNFXTEKD.js → chunk-BQDKGMLA.js} +1 -1
  28. package/public/{chunk-D2C4VO6I.js → chunk-C5TKGBKB.js} +1 -1
  29. package/public/{chunk-ZCQORJII.js → chunk-C6HZSMVO.js} +1 -1
  30. package/public/chunk-CKRRUOFS.js +1 -0
  31. package/public/{chunk-5RWRLJGO.js → chunk-DAJGSOQC.js} +1 -1
  32. package/public/{chunk-P5DRV4DP.js → chunk-DSBAEBB7.js} +6 -6
  33. package/public/chunk-EQADUDRZ.js +1 -0
  34. package/public/chunk-EQJBK52D.js +1 -0
  35. package/public/chunk-FUB2KHWK.js +1 -0
  36. package/public/{chunk-CXFG3533.js → chunk-FZVC727I.js} +1 -1
  37. package/public/chunk-G2MXKZYU.js +1 -0
  38. package/public/chunk-GENBE57P.js +1 -0
  39. package/public/{chunk-VWFNI4EY.js → chunk-K2IL74WZ.js} +1 -1
  40. package/public/{chunk-EJL6YYO3.js → chunk-KK3SNXYW.js} +1 -1
  41. package/public/chunk-LJMLBBPB.js +8 -0
  42. package/public/{chunk-XNGPLRXA.js → chunk-LTWHVB77.js} +1 -1
  43. package/public/{chunk-SVS57UOL.js → chunk-NU4R5KT7.js} +1 -1
  44. package/public/chunk-O46Q72DM.js +2 -0
  45. package/public/chunk-ODQDNBE4.js +1 -0
  46. package/public/{chunk-VSADCCFT.js → chunk-OTCJ3YHG.js} +1 -1
  47. package/public/{chunk-NM3WKULU.js → chunk-OUBWSG2W.js} +1 -1
  48. package/public/{chunk-HXGTVATK.js → chunk-OVDCQNQ5.js} +1 -1
  49. package/public/{chunk-X6DNUVKQ.js → chunk-P5ZECO3N.js} +1 -1
  50. package/public/{chunk-PQBALXEW.js → chunk-QEXWLZC6.js} +1 -1
  51. package/public/chunk-QM3T6YVW.js +5 -0
  52. package/public/{chunk-ZLN7B6FX.js → chunk-QTHLHDP5.js} +1 -1
  53. package/public/chunk-RFPPGGHA.js +1 -0
  54. package/public/chunk-RMSSFTEE.js +1 -0
  55. package/public/{chunk-26HISXX2.js → chunk-RZEQRBTO.js} +1 -1
  56. package/public/{chunk-ZWEOGU6R.js → chunk-SNIZAXGZ.js} +1 -1
  57. package/public/{chunk-JOOCOIZ5.js → chunk-SRXI33JX.js} +1 -1
  58. package/public/{chunk-LJHC4K5I.js → chunk-TIUV7RQV.js} +1 -1
  59. package/public/{chunk-LKMCOPAV.js → chunk-TZOTF4ED.js} +1 -1
  60. package/public/chunk-UI2DW3PK.js +1 -0
  61. package/public/{chunk-GQ3TEIMF.js → chunk-UIWDTMG6.js} +1 -1
  62. package/public/{chunk-WOOQ2PNV.js → chunk-UOATK6CE.js} +5 -5
  63. package/public/chunk-V7FJKACX.js +1 -0
  64. package/public/chunk-WGVZ6Z6Q.js +1 -0
  65. package/public/{chunk-CB7YI2ZT.js → chunk-WRUEUSNK.js} +1 -1
  66. package/public/{chunk-FIPAZ64I.js → chunk-XGZRFWAS.js} +1 -1
  67. package/public/chunk-YVAP4ROT.js +1 -0
  68. package/public/chunk-Z5C3N2IZ.js +1 -0
  69. package/public/chunk-ZKW667UJ.js +1 -0
  70. package/public/index.html +2 -2
  71. package/public/main-6S3C7XRY.js +1 -0
  72. package/public/{styles-PGYQLREL.css → styles-PKR3EGHP.css} +1 -1
  73. package/public/chunk-3AAYJF3N.js +0 -1
  74. package/public/chunk-3XNLIEKF.js +0 -1
  75. package/public/chunk-4SE23PZF.js +0 -1
  76. package/public/chunk-4TRU4WZI.js +0 -1
  77. package/public/chunk-6NC57D6C.js +0 -1
  78. package/public/chunk-77GWB2NW.js +0 -1
  79. package/public/chunk-AX4LZFCW.js +0 -1
  80. package/public/chunk-BWCJIW4P.js +0 -1
  81. package/public/chunk-CNLD3YXH.js +0 -1
  82. package/public/chunk-CX2DFQ7S.js +0 -1
  83. package/public/chunk-D7DLTIMD.js +0 -1
  84. package/public/chunk-DDXD3GQM.js +0 -1
  85. package/public/chunk-DUUEFBY6.js +0 -1
  86. package/public/chunk-EQKPU3TN.js +0 -1
  87. package/public/chunk-FUPIQGBX.js +0 -1
  88. package/public/chunk-GNSVASLB.js +0 -1
  89. package/public/chunk-ILJGMB2B.js +0 -1
  90. package/public/chunk-JQ3UOMSL.js +0 -1
  91. package/public/chunk-KCD74P4O.js +0 -8
  92. package/public/chunk-KMM3IQQX.js +0 -1
  93. package/public/chunk-O3LVR5HE.js +0 -1
  94. package/public/chunk-O73DV5QX.js +0 -1
  95. package/public/chunk-SAF5NKIC.js +0 -1
  96. package/public/chunk-T5EBOZW7.js +0 -1
  97. package/public/chunk-T652ZDED.js +0 -1
  98. package/public/chunk-UOEYZIC7.js +0 -1
  99. package/public/chunk-VQK7REQ4.js +0 -1
  100. package/public/chunk-YGCUY3MR.js +0 -5
  101. package/public/main-VH2USQCZ.js +0 -1
@@ -1 +0,0 @@
1
- import{h as et,k as it}from"./chunk-CX2DFQ7S.js";import{l as X}from"./chunk-R3JWGCC5.js";import{a as tt}from"./chunk-KPKQNEWS.js";import{T as K,e as ut,g as ct,ga as R,h as Q,la as I,n as G,w as N}from"./chunk-QSPBB6EE.js";var nt=ut((J,q)=>{(function(y,k){typeof J=="object"&&typeof q<"u"?q.exports=k():typeof define=="function"&&define.amd?define(k):(y=typeof globalThis<"u"?globalThis:y||self).dayjs=k()})(J,function(){"use strict";var y=1e3,k=6e4,o=36e5,d="millisecond",w="second",$="minute",S="hour",p="day",M="week",L="month",Z="quarter",b="year",x="date",z="Invalid Date",st=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,rt=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,at={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(s){var i=["th","st","nd","rd"],t=s%100;return"["+s+(i[(t-20)%10]||i[t]||i[0])+"]"}},F=function(s,i,t){var n=String(s);return!n||n.length>=i?s:""+Array(i+1-n.length).join(t)+s},ot={s:F,z:function(s){var i=-s.utcOffset(),t=Math.abs(i),n=Math.floor(t/60),e=t%60;return(i<=0?"+":"-")+F(n,2,"0")+":"+F(e,2,"0")},m:function s(i,t){if(i.date()<t.date())return-s(t,i);var n=12*(t.year()-i.year())+(t.month()-i.month()),e=i.clone().add(n,L),r=t-e<0,a=i.clone().add(n+(r?-1:1),L);return+(-(n+(t-e)/(r?e-a:a-e))||0)},a:function(s){return s<0?Math.ceil(s)||0:Math.floor(s)},p:function(s){return{M:L,y:b,w:M,d:p,D:x,h:S,m:$,s:w,ms:d,Q:Z}[s]||String(s||"").toLowerCase().replace(/s$/,"")},u:function(s){return s===void 0}},A="en",T={};T[A]=at;var B="$isDayjsObject",U=function(s){return s instanceof W||!(!s||!s[B])},V=function s(i,t,n){var e;if(!i)return A;if(typeof i=="string"){var r=i.toLowerCase();T[r]&&(e=r),t&&(T[r]=t,e=r);var a=i.split("-");if(!e&&a.length>1)return s(a[0])}else{var c=i.name;T[c]=i,e=c}return!n&&e&&(A=e),e||!n&&A},f=function(s,i){if(U(s))return s.clone();var t=typeof i=="object"?i:{};return t.date=s,t.args=arguments,new W(t)},u=ot;u.l=V,u.i=U,u.w=function(s,i){return f(s,{locale:i.$L,utc:i.$u,x:i.$x,$offset:i.$offset})};var W=function(){function s(t){this.$L=V(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[B]=!0}var i=s.prototype;return i.parse=function(t){this.$d=function(n){var e=n.date,r=n.utc;if(e===null)return new Date(NaN);if(u.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var a=e.match(st);if(a){var c=a[2]-1||0,h=(a[7]||"0").substring(0,3);return r?new Date(Date.UTC(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,h)):new Date(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,h)}}return new Date(e)}(t),this.init()},i.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},i.$utils=function(){return u},i.isValid=function(){return this.$d.toString()!==z},i.isSame=function(t,n){var e=f(t);return this.startOf(n)<=e&&e<=this.endOf(n)},i.isAfter=function(t,n){return f(t)<this.startOf(n)},i.isBefore=function(t,n){return this.endOf(n)<f(t)},i.$g=function(t,n,e){return u.u(t)?this[n]:this.set(e,t)},i.unix=function(){return Math.floor(this.valueOf()/1e3)},i.valueOf=function(){return this.$d.getTime()},i.startOf=function(t,n){var e=this,r=!!u.u(n)||n,a=u.p(t),c=function(_,g){var D=u.w(e.$u?Date.UTC(e.$y,g,_):new Date(e.$y,g,_),e);return r?D:D.endOf(p)},h=function(_,g){return u.w(e.toDate()[_].apply(e.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(g)),e)},l=this.$W,m=this.$M,v=this.$D,j="set"+(this.$u?"UTC":"");switch(a){case b:return r?c(1,0):c(31,11);case L:return r?c(1,m):c(0,m+1);case M:var O=this.$locale().weekStart||0,H=(l<O?l+7:l)-O;return c(r?v-H:v+(6-H),m);case p:case x:return h(j+"Hours",0);case S:return h(j+"Minutes",1);case $:return h(j+"Seconds",2);case w:return h(j+"Milliseconds",3);default:return this.clone()}},i.endOf=function(t){return this.startOf(t,!1)},i.$set=function(t,n){var e,r=u.p(t),a="set"+(this.$u?"UTC":""),c=(e={},e[p]=a+"Date",e[x]=a+"Date",e[L]=a+"Month",e[b]=a+"FullYear",e[S]=a+"Hours",e[$]=a+"Minutes",e[w]=a+"Seconds",e[d]=a+"Milliseconds",e)[r],h=r===p?this.$D+(n-this.$W):n;if(r===L||r===b){var l=this.clone().set(x,1);l.$d[c](h),l.init(),this.$d=l.set(x,Math.min(this.$D,l.daysInMonth())).$d}else c&&this.$d[c](h);return this.init(),this},i.set=function(t,n){return this.clone().$set(t,n)},i.get=function(t){return this[u.p(t)]()},i.add=function(t,n){var e,r=this;t=Number(t);var a=u.p(n),c=function(m){var v=f(r);return u.w(v.date(v.date()+Math.round(m*t)),r)};if(a===L)return this.set(L,this.$M+t);if(a===b)return this.set(b,this.$y+t);if(a===p)return c(1);if(a===M)return c(7);var h=(e={},e[$]=k,e[S]=o,e[w]=y,e)[a]||1,l=this.$d.getTime()+t*h;return u.w(l,this)},i.subtract=function(t,n){return this.add(-1*t,n)},i.format=function(t){var n=this,e=this.$locale();if(!this.isValid())return e.invalidDate||z;var r=t||"YYYY-MM-DDTHH:mm:ssZ",a=u.z(this),c=this.$H,h=this.$m,l=this.$M,m=e.weekdays,v=e.months,j=e.meridiem,O=function(g,D,Y,C){return g&&(g[D]||g(n,r))||Y[D].slice(0,C)},H=function(g){return u.s(c%12||12,g,"0")},_=j||function(g,D,Y){var C=g<12?"AM":"PM";return Y?C.toLowerCase():C};return r.replace(rt,function(g,D){return D||function(Y){switch(Y){case"YY":return String(n.$y).slice(-2);case"YYYY":return u.s(n.$y,4,"0");case"M":return l+1;case"MM":return u.s(l+1,2,"0");case"MMM":return O(e.monthsShort,l,v,3);case"MMMM":return O(v,l);case"D":return n.$D;case"DD":return u.s(n.$D,2,"0");case"d":return String(n.$W);case"dd":return O(e.weekdaysMin,n.$W,m,2);case"ddd":return O(e.weekdaysShort,n.$W,m,3);case"dddd":return m[n.$W];case"H":return String(c);case"HH":return u.s(c,2,"0");case"h":return H(1);case"hh":return H(2);case"a":return _(c,h,!0);case"A":return _(c,h,!1);case"m":return String(h);case"mm":return u.s(h,2,"0");case"s":return String(n.$s);case"ss":return u.s(n.$s,2,"0");case"SSS":return u.s(n.$ms,3,"0");case"Z":return a}return null}(g)||a.replace(":","")})},i.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},i.diff=function(t,n,e){var r,a=this,c=u.p(n),h=f(t),l=(h.utcOffset()-this.utcOffset())*k,m=this-h,v=function(){return u.m(a,h)};switch(c){case b:r=v()/12;break;case L:r=v();break;case Z:r=v()/3;break;case M:r=(m-l)/6048e5;break;case p:r=(m-l)/864e5;break;case S:r=m/o;break;case $:r=m/k;break;case w:r=m/y;break;default:r=m}return e?r:u.a(r)},i.daysInMonth=function(){return this.endOf(L).$D},i.$locale=function(){return T[this.$L]},i.locale=function(t,n){if(!t)return this.$L;var e=this.clone(),r=V(t,n,!0);return r&&(e.$L=r),e},i.clone=function(){return u.w(this.$d,this)},i.toDate=function(){return new Date(this.valueOf())},i.toJSON=function(){return this.isValid()?this.toISOString():null},i.toISOString=function(){return this.$d.toISOString()},i.toString=function(){return this.$d.toUTCString()},s}(),P=W.prototype;return f.prototype=P,[["$ms",d],["$s",w],["$m",$],["$H",S],["$W",p],["$M",L],["$y",b],["$D",x]].forEach(function(s){P[s[1]]=function(i){return this.$g(i,s[0],s[1])}}),f.extend=function(s,i){return s.$i||(s(i,W,f),s.$i=!0),f},f.locale=V,f.isDayjs=U,f.unix=function(s){return f(1e3*s)},f.en=T[A],f.Ls=T,f.p={},f})});var E=ct(nt(),1);var vt=(()=>{class y{$api=I(it);$title=I(X);$toastr=I(et);$translate=I(tt);env={};formAuth=!0;uiVersion;theme;lightingMode;currentLightingMode;actualLightingMode;browserLightingMode;menuMode;wallpaper;serverTimeOffset=0;defaultTheme="orange";themeList=["orange","red","pink","purple","deep-purple","indigo","blue","blue-grey","cyan","green","teal","grey","brown"];rtl=!1;settingsLoadedSubject=new G;onSettingsLoaded=this.settingsLoadedSubject.pipe(K());settingsLoaded=!1;constructor(){this.getAppSettings()}getAppSettings(){return Q(this,null,function*(){let o=yield N(this.$api.get("/auth/settings"));this.formAuth=o.formAuth,this.env=o.env,this.lightingMode=o.lightingMode,this.wallpaper=o.wallpaper,this.setLightingMode(this.lightingMode,"user"),this.setTheme(o.theme),this.setMenuMode(o.menuMode),this.setTitle(this.env.homebridgeInstanceName),this.checkServerTime(o.serverTimestamp),this.setUiVersion(o.env.packageVersion),this.setLang(this.env.lang),this.settingsLoaded=!0,this.settingsLoadedSubject.next(void 0)})}setBrowserLightingMode(o){this.browserLightingMode=o,this.lightingMode==="auto"&&this.setLightingMode(o,"browser")}setLightingMode(o,d){d==="user"&&(this.lightingMode=o),this.currentLightingMode=o,this.actualLightingMode=this.currentLightingMode==="auto"?this.browserLightingMode:this.currentLightingMode,this.theme&&this.setTheme(this.theme)}setTheme(o){(!o||!this.themeList.includes(o))&&(o=this.defaultTheme,N(this.$api.put("/config-editor/ui",{key:"theme",value:o})).catch($=>console.error("Error saving setTheme:",$)));let d=window.document.querySelector("body");d.classList.remove(`config-ui-x-${this.theme}`),d.classList.remove(`config-ui-x-dark-mode-${this.theme}`),this.theme=o,this.actualLightingMode==="dark"?(d.classList.add(`config-ui-x-dark-mode-${this.theme}`),d.classList.contains("dark-mode")||d.classList.add("dark-mode")):(d.classList.add(`config-ui-x-${this.theme}`),d.classList.contains("dark-mode")&&d.classList.remove("dark-mode")),window.document.querySelectorAll("iframe").forEach(($,S)=>{try{let p=$.contentDocument;if(p){let M=p.body;M.classList.remove(`config-ui-x-${this.theme}`),M.classList.remove(`config-ui-x-dark-mode-${this.theme}`),this.actualLightingMode==="dark"?(M.classList.add(`config-ui-x-dark-mode-${this.theme}`),M.classList.contains("dark-mode")||M.classList.add("dark-mode")):(M.classList.add(`config-ui-x-${this.theme}`),M.classList.contains("dark-mode")&&M.classList.remove("dark-mode")),$.contentWindow.postMessage({type:"theme-update",isDark:this.actualLightingMode==="dark",theme:o},window.location.origin)}}catch(p){console.warn(`Iframe ${S}: Access denied (cross-origin?)`,{error:p,src:$.src})}})}setMenuMode(o){this.menuMode=o}setTitle(o){this.$title.setTitle(o||"Homebridge")}setUiVersion(o){this.uiVersion||(this.uiVersion=o)}setLang(o){o?this.$translate.use(o):o="auto",this.env.lang=o}setEnvItem(o,d){this.env[o]=d}checkServerTime(o){let w=(0,E.default)(o).diff((0,E.default)(),"hour");this.serverTimeOffset=w*60*60,(w>=8||w<=-8)&&this.$toastr.warning(this.$translate.instant("settings.datetime.incorrect"),this.$translate.instant("toast.title_warning"),{timeOut:2e4,tapToDismiss:!1}).onTap.subscribe(()=>{window.open("https://homebridge.io/w/JqTFs","_blank")})}static \u0275fac=function(d){return new(d||y)};static \u0275prov=R({token:y,factory:y.\u0275fac,providedIn:"root"})}return y})();export{nt as a,vt as b};
@@ -1 +0,0 @@
1
- import{e as I}from"./chunk-QSPBB6EE.js";var j=I((k,m)=>{(function(g,l){typeof k=="object"&&typeof m=="object"?m.exports=l():typeof define=="function"&&define.amd?define([],l):typeof k=="object"?k.WebLinksAddon=l():g.WebLinksAddon=l()})(self,function(){return(()=>{"use strict";var g={6:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.LinkComputer=r.WebLinkProvider=void 0;var s=function(){function o(n,i,e,t){t===void 0&&(t={}),this._terminal=n,this._regex=i,this._handler=e,this._options=t}return o.prototype.provideLinks=function(n,i){var e=p.computeLink(n,this._regex,this._terminal,this._handler);i(this._addCallbacks(e))},o.prototype._addCallbacks=function(n){var i=this;return n.map(function(e){return e.leave=i._options.leave,e.hover=function(t,u){if(i._options.hover){var c=e.range;i._options.hover(t,u,c)}},e})},o}();r.WebLinkProvider=s;var p=function(){function o(){}return o.computeLink=function(n,i,e,t){for(var u,c=new RegExp(i.source,(i.flags||"")+"g"),_=o._translateBufferLineToStringWithWrap(n-1,!1,e),d=_[0],f=_[1],v=-1,w=[];(u=c.exec(d))!==null;){var h=u[1];if(!h){console.log("match found without corresponding matchIndex");break}if(v=d.indexOf(h,v+1),c.lastIndex=v+h.length,v<0)break;for(var b=v+h.length,y=f+1;b>e.cols;)b-=e.cols,y++;for(var L=v+1,P=f+1;L>e.cols;)L-=e.cols,P++;var M={start:{x:L,y:P},end:{x:b,y}};w.push({range:M,text:h,activate:t})}return w},o._translateBufferLineToStringWithWrap=function(n,i,e){var t,u,c="";do{if(!(d=e.buffer.active.getLine(n)))break;d.isWrapped&&n--,u=d.isWrapped}while(u);var _=n;do{var d,f=e.buffer.active.getLine(n+1);if(t=!!f&&f.isWrapped,!(d=e.buffer.active.getLine(n)))break;c+=d.translateToString(!t&&i).substring(0,e.cols),n++}while(t);return[c,_]},o}();r.LinkComputer=p}},l={};function x(a){var r=l[a];if(r!==void 0)return r.exports;var s=l[a]={exports:{}};return g[a](s,s.exports,x),s.exports}var W={};return(()=>{var a=W;Object.defineProperty(a,"__esModule",{value:!0}),a.WebLinksAddon=void 0;var r=x(6),s=new RegExp(`(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,18}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?((\\/[\\/\\w\\.\\-%~:+@]*)*([^:"'\\s]))?(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)`);function p(n,i){var e=window.open();if(e){try{e.opener=null}catch{}e.location.href=i}else console.warn("Opening link blocked as opener could not be cleared")}var o=function(){function n(i,e,t){i===void 0&&(i=p),e===void 0&&(e={}),t===void 0&&(t=!1),this._handler=i,this._options=e,this._useLinkProvider=t}return n.prototype.activate=function(i){if(this._terminal=i,this._useLinkProvider&&"registerLinkProvider"in this._terminal){var e=(t=this._options).urlRegex||s;this._linkProvider=this._terminal.registerLinkProvider(new r.WebLinkProvider(this._terminal,e,this._handler,t))}else{var t;(t=this._options).matchIndex=1,this._linkMatcherId=this._terminal.registerLinkMatcher(s,this._handler,t)}},n.prototype.dispose=function(){var i;this._linkMatcherId!==void 0&&this._terminal!==void 0&&this._terminal.deregisterLinkMatcher(this._linkMatcherId),(i=this._linkProvider)===null||i===void 0||i.dispose()},n}();a.WebLinksAddon=o})(),W})()})});export{j as a};
@@ -1 +0,0 @@
1
- import{a as Ie}from"./chunk-O3LVR5HE.js";import{a as $e}from"./chunk-EJL6YYO3.js";import{w as Te}from"./chunk-WOOQ2PNV.js";import{g as X,m as T,n as Y}from"./chunk-OHFVMRCL.js";import{A as Q,b as G,c as ue,e as q,f as _e,g as te,j as P,k as ge,l as K,m as be,n as ve,o as fe,p as xe,q as he,r as Ce,s as Se,t as we,u as ke,v as ye,z as J}from"./chunk-MMYB2ZMV.js";import{d as U,e as Ee}from"./chunk-QY7HUYL5.js";import{b as Z}from"./chunk-3AAYJF3N.js";import{h as N,j as Be,k as M}from"./chunk-CX2DFQ7S.js";import{a as A,b as E}from"./chunk-KPKQNEWS.js";import{$a as t,Ac as o,Bc as s,Cc as W,Gb as x,Hb as v,Ib as f,Kb as F,Lb as V,M as ee,Mb as R,Nb as _,Ob as i,Pb as n,Qb as c,Ub as k,Xa as re,Xb as b,Ya as le,Yb as g,ac as oe,bc as se,bd as L,cc as de,gd as j,h as B,jc as r,kc as p,la as C,lb as y,lc as u,qc as pe,ra as S,rc as ce,sa as w,sc as me,w as I,wc as H,xc as $,yc as O}from"./chunk-QSPBB6EE.js";function He(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),o(4,"translate"),n()),a&2&&(t(3),p(s(4,1,"reset.no_accessories")))}function Ue(a,m){a&1&&(i(0,"div",12),c(1,"i",15),n(),i(2,"ul",16)(3,"li"),r(4),o(5,"translate"),n(),i(6,"li"),r(7),o(8,"translate"),n(),i(9,"li"),r(10),o(11,"translate"),n()(),i(12,"ngb-alert",17)(13,"p",18),r(14),o(15,"translate"),n()()),a&2&&(t(4),p(s(5,5,"reset.accessory_all.list_1")),t(3),p(s(8,7,"reset.accessory_all.list_2")),t(3),p(s(11,9,"reset.accessory_all.list_3")),t(2),_("dismissible",!1),t(2),p(s(15,11,"reset.action_is_irreversible")))}function Oe(a,m){if(a&1){let e=k();i(0,"button",19),o(1,"translate"),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(2),o(3,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),x("aria-label",s(1,3,"form.button_close")),t(2),u(" ",s(3,5,"form.button_close")," ")}}function Le(a,m){if(a&1){let e=k();i(0,"button",20),o(1,"translate"),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(2),o(3,"translate"),n()}a&2&&(x("aria-label",s(1,2,"form.button_close")),t(2),u(" ",s(3,4,"form.button_close")," "))}function ze(a,m){a&1&&(r(0),o(1,"translate")),a&2&&u(" ",s(1,1,"form.button_remove")," ")}function We(a,m){a&1&&c(0,"i",22)}function je(a,m){if(a&1){let e=k();i(0,"button",21),b("click",function(){S(e);let l=g();return w(l.onResetCachedAccessoriesClick())}),v(1,ze,2,3),v(2,We,1,0,"i",22),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),f(e.clicked?-1:1),t(),f(e.clicked?2:-1)}}var Ae=(()=>{class a{$activeModal=C(T);$api=C(M);$router=C(U);$toastr=C(N);$translate=C(A);clicked=!1;cachedAccessories=[];constructor(){}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return B(this,null,function*(){try{this.cachedAccessories=yield I(this.$api.get("/server/cached-accessories"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}onResetCachedAccessoriesClick(){return this.clicked=!0,this.$api.put("/server/reset-cached-accessories",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.delete_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),v(8,He,5,3),v(9,Ue,16,13),n(),i(10,"div",5)(11,"div",6),v(12,Oe,4,7,"button",7),n(),i(13,"div",8),v(14,Le,4,6,"button",9),n(),i(15,"div",10),v(16,je,3,3,"button",11),n()()()),d&2&&(t(3),p(s(4,8,"reset.accessory_all.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,10,"form.button_close")),t(3),f(l.cachedAccessories.length===0?8:-1),t(),f(l.cachedAccessories.length>0?9:-1),t(3),f(l.cachedAccessories.length>0?12:-1),t(2),f(l.cachedAccessories.length===0?14:-1),t(2),f(l.cachedAccessories.length>0?16:-1))},dependencies:[X,E],encapsulation:2})}return a})();var Ge=(a,m)=>({"green-text":a,"grey-text":m}),qe=(a,m)=>({"btn-danger":a,"btn-elegant":m}),Ke=(a,m,e)=>({"fa-broom":a,"fa-undo":m,"fa-spinner fa-pulse":e});function Je(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),o(4,"translate"),n()),a&2&&(t(3),p(s(4,1,"reset.bridge_accessories.empty")))}function Qe(a,m){if(a&1){let e=k();i(0,"li",18)(1,"span"),r(2),c(3,"br"),i(4,"small",19),c(5,"i",20),r(6),o(7,"translate"),i(8,"span",21),r(9),n()()(),i(10,"button",22),o(11,"translate"),b("click",function(){let l=S(e).$implicit,h=g(2);return w(h.toggleList(l._id))}),c(12,"i",23),n()()}if(a&2){let e=m.$implicit,d=g(2);t(2),u(" ",e.name," "),t(3),_("ngClass",$(12,Ge,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),_("disabled",d.clicked)("ngClass",$(15,qe,!d.toDelete.includes(e._id),d.toDelete.includes(e._id))),x("aria-label",s(11,10,"form.button_delete")),t(2),_("ngClass",O(18,Ke,!d.toDelete.includes(e._id),d.toDelete.includes(e._id)&&!d.clicked,d.toDelete.includes(e._id)&&d.clicked))}}function Xe(a,m){if(a&1&&(i(0,"div",12),c(1,"i",15),n(),i(2,"ul",16)(3,"li"),r(4),o(5,"translate"),n(),i(6,"li"),r(7),o(8,"translate"),n(),i(9,"li"),r(10),o(11,"translate"),n()(),i(12,"ul",17),V(13,Qe,13,22,"li",18,F),n()),a&2){let e=g();t(4),p(s(5,3,"reset.bridge_accessories.list_1")),t(3),p(s(8,5,"reset.clear_cache_single.list_3")),t(3),p(s(11,7,"reset.bridge_accessories.list_2")),t(3),R(e.pairings)}}function Ye(a,m){if(a&1){let e=k();i(0,"button",24),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),u(" ",s(2,2,"form.button_close")," ")}}function Ze(a,m){if(a&1){let e=k();i(0,"button",25),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}a&2&&(t(),u(" ",s(2,1,"form.button_close")," "))}function et(a,m){if(a&1&&r(0),a&2){let e=g(3);u(" (",e.toDelete.length,") ")}}function tt(a,m){if(a&1&&(r(0),o(1,"translate"),v(2,et,1,1)),a&2){let e=g(2);u(" ",s(1,2,"form.button_remove")," "),t(2),f(e.toDelete.length>0?2:-1)}}function it(a,m){a&1&&c(0,"i",27)}function nt(a,m){if(a&1){let e=k();i(0,"button",26),b("click",function(){S(e);let l=g();return w(l.cleanBridges())}),v(1,tt,3,4),v(2,it,1,0,"i",27),n()}if(a&2){let e=g();_("disabled",!e.toDelete.length||e.clicked),t(),f(e.clicked?-1:1),t(),f(e.clicked?2:-1)}}var Ne=(()=>{class a{$activeModal=C(T);$api=C(M);$router=C(U);$toastr=C(N);$translate=C(A);clicked=!1;pairings=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return B(this,null,function*(){try{this.pairings=(yield I(this.$api.get("/server/pairings"))).filter(e=>e._category==="bridge"&&!e._main).sort((e,d)=>e.name.localeCompare(d.name))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(e){this.toDelete.includes(e)?this.toDelete=this.toDelete.filter(d=>d!==e):this.toDelete.push(e)}cleanBridges(){return this.clicked=!0,this.$api.delete("/server/pairings/accessories",{body:this.toDelete.map(e=>({id:e}))}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-broom","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),v(8,Je,5,3),v(9,Xe,15,9),n(),i(10,"div",5)(11,"div",6),v(12,Ye,3,4,"button",7),n(),i(13,"div",8),v(14,Ze,3,3,"button",9),n(),i(15,"div",10),v(16,nt,3,3,"button",11),n()()()),d&2&&(t(3),p(s(4,8,"reset.bridge_accessories.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,10,"form.button_close")),t(3),f(l.pairings.length===0?8:-1),t(),f(l.pairings.length>0?9:-1),t(3),f(l.pairings.length>0?12:-1),t(2),f(l.pairings.length===0?14:-1),t(2),f(l.pairings.length>0?16:-1))},dependencies:[L,E],encapsulation:2})}return a})();function at(a,m){a&1&&(r(0),o(1,"translate")),a&2&&u(" ",s(1,1,"form.button_reset")," ")}function rt(a,m){a&1&&c(0,"i",16)}var Me=(()=>{class a{$activeModal=C(T);$api=C(M);$route=C(U);$toastr=C(N);$translate=C(A);clicked;constructor(){}onResetHomebridgeAccessoryClick(){return this.clicked=!0,this.$api.put("/server/reset-homebridge-accessory",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_reset"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$route.navigate(["/restart"])},error:e=>{console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],decls:38,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"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","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),c(9,"i",6),n(),i(10,"ul",7)(11,"li"),r(12),o(13,"translate"),n(),i(14,"li"),r(15),o(16,"translate"),n(),i(17,"li"),r(18),o(19,"translate"),n(),i(20,"li"),r(21),o(22,"translate"),n()(),i(23,"ngb-alert",8)(24,"p",9),r(25),o(26,"translate"),n()()(),i(27,"div",10)(28,"div",11)(29,"button",12),o(30,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),r(31),o(32,"translate"),n()(),c(33,"div",13),i(34,"div",14)(35,"button",15),b("click",function(){return l.onResetHomebridgeAccessoryClick()}),v(36,at,2,3),v(37,rt,1,0,"i",16),n()()()()),d&2&&(t(3),p(s(4,15,"reset.bridge_all.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,17,"form.button_close")),t(7),p(s(13,19,"reset.bridge_all.list_1")),t(3),p(s(16,21,"reset.bridge_all.list_2")),t(3),p(s(19,23,"reset.bridge_all.list_3")),t(3),p(s(22,25,"reset.bridge_all.list_4")),t(2),_("dismissible",!1),t(2),p(s(26,27,"reset.action_is_irreversible")),t(4),_("disabled",l.clicked),x("aria-label",s(30,29,"form.button_close")),t(2),u(" ",s(32,31,"form.button_close")," "),t(4),_("disabled",l.clicked),t(),f(l.clicked?-1:36),t(),f(l.clicked?37:-1))},dependencies:[X,E],encapsulation:2})}return a})();var ie=(a,m)=>({"green-text":a,"grey-text":m}),ne=(a,m)=>({"btn-danger":a,"btn-elegant":m}),Fe=(a,m,e)=>({"fa-refresh":a,"fa-undo":m,"fa-spinner fa-pulse":e}),lt=(a,m,e)=>({"fa-trash":a,"fa-undo":m,"fa-spinner fa-pulse":e});function ot(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),o(4,"translate"),n()),a&2&&(t(3),p(s(4,1,"reset.bridges.empty")))}function st(a,m){if(a&1){let e=k();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),o(7,"translate"),i(8,"span",23),r(9),n(),r(10),o(11,"titlecase"),n()(),i(12,"button",24),o(13,"translate"),b("click",function(){let l=S(e).$implicit,h=g(3);return w(h.toggleList(l._id,!1))}),c(14,"i",25),n()()}if(a&2){let e=m.$implicit,d=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",$(15,ie,e._isPaired,!e._isPaired)),t(),u(" ",s(7,9,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),u(" \xB7 ",e._main?"Homebridge":s(11,11,e._category)," "),t(2),_("disabled",d.clicked)("ngClass",$(18,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",s(13,13,"form.button_unpair")),t(2),_("ngClass",O(21,Fe,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function dt(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),n(),i(5,"p",19),r(6),o(7,"translate"),n()(),V(8,st,15,25,"li",20,F),n()),a&2){let e=g(2);t(3),p(s(4,2,"reset.bridge_ind.head_non_child")),t(3),p(s(7,4,"reset.bridge_ind.desc_non_child")),t(2),R(e.pairingsNonChild)}}function pt(a,m){if(a&1){let e=k();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),o(7,"translate"),i(8,"span",23),r(9),n()()(),i(10,"button",24),o(11,"translate"),b("click",function(){let l=S(e).$implicit,h=g(3);return w(h.toggleList(l._id,!0))}),c(12,"i",25),n()()}if(a&2){let e=m.$implicit,d=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",$(12,ie,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),_("disabled",d.clicked)("ngClass",$(15,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",s(11,10,"form.button_unpair")),t(2),_("ngClass",O(18,Fe,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function ct(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),n(),i(5,"p",19),r(6),o(7,"translate"),n()(),V(8,pt,13,22,"li",20,F),n()),a&2){let e=g(2);t(3),p(s(4,2,"reset.bridge_ind.head_child_active")),t(3),p(s(7,4,"reset.bridge_ind.desc_child_active")),t(2),R(e.pairingsChildActive)}}function mt(a,m){if(a&1){let e=k();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),o(7,"translate"),i(8,"span",23),r(9),n()()(),i(10,"button",24),o(11,"translate"),b("click",function(){let l=S(e).$implicit,h=g(3);return w(h.toggleList(l._id,!1))}),c(12,"i",25),n()()}if(a&2){let e=m.$implicit,d=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",$(12,ie,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),_("disabled",d.clicked)("ngClass",$(15,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",s(11,10,"form.button_unpair")),t(2),_("ngClass",O(18,lt,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function ut(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),n(),i(5,"p",19),r(6),o(7,"translate"),n()(),V(8,mt,13,22,"li",20,F),n()),a&2){let e=g(2);t(3),p(s(4,2,"reset.bridge_ind.head_child_stale")),t(3),p(s(7,4,"reset.bridge_ind.desc_child_stale")),t(2),R(e.pairingsChildStale)}}function _t(a,m){if(a&1&&(i(0,"div",12),c(1,"i",15),n(),v(2,dt,10,6,"ul",16),v(3,ct,10,6,"ul",16),v(4,ut,10,6,"ul",16)),a&2){let e=g();t(2),f(e.pairingsNonChild.length>0?2:-1),t(),f(e.pairingsChildActive.length>0?3:-1),t(),f(e.pairingsChildStale.length>0?4:-1)}}function gt(a,m){if(a&1){let e=k();i(0,"button",26),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),u(" ",s(2,2,"form.button_close")," ")}}function bt(a,m){if(a&1){let e=k();i(0,"button",27),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}a&2&&(t(),u(" ",s(2,1,"form.button_close")," "))}function vt(a,m){if(a&1&&r(0),a&2){let e=g(3);u(" (",e.toDelete.length,") ")}}function ft(a,m){if(a&1&&(r(0),o(1,"translate"),v(2,vt,1,1)),a&2){let e=g(2);u(" ",s(1,2,"form.button_reset")," "),t(2),f(e.toDelete.length>0?2:-1)}}function xt(a,m){a&1&&c(0,"i",29)}function ht(a,m){if(a&1){let e=k();i(0,"button",28),b("click",function(){S(e);let l=g();return w(l.removeBridges())}),v(1,ft,3,4),v(2,xt,1,0,"i",29),n()}if(a&2){let e=g();_("disabled",!e.toDelete.length||e.clicked),t(),f(e.clicked?-1:1),t(),f(e.clicked?2:-1)}}var Ve=(()=>{class a{$activeModal=C(T);$api=C(M);$router=C(U);$toastr=C(N);$translate=C(A);clicked=!1;pairingsNonChild=[];pairingsChildActive=[];pairingsChildStale=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return B(this,null,function*(){try{let e=(yield I(this.$api.get("/server/pairings"))).filter(d=>!d._main).sort((d,l)=>d.name.localeCompare(l.name));this.pairingsChildActive=e.filter(d=>d._category==="bridge"&&!d._couldBeStale),this.pairingsNonChild=e.filter(d=>d._category!=="bridge"),this.pairingsChildStale=e.filter(d=>d._category==="bridge"&&d._couldBeStale)}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(e,d=!1){this.toDelete.some(l=>l.id===e)?this.toDelete=this.toDelete.filter(l=>l.id!==e):this.toDelete.push({id:e,resetPairingInfo:d})}isInList(e){return this.toDelete.some(d=>d.id===e)}removeBridges(){return this.clicked=!0,this.$api.delete("/server/pairings",{body:this.toDelete}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.bridge_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.bridge_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"text-center","mb-0"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"mb-0","small","grey-text","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),v(8,ot,5,3),v(9,_t,5,3),n(),i(10,"div",5)(11,"div",6),v(12,gt,3,4,"button",7),n(),i(13,"div",8),v(14,bt,3,3,"button",9),n(),i(15,"div",10),v(16,ht,3,3,"button",11),n()()()),d&2&&(t(3),p(s(4,8,"reset.bridge_ind.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,10,"form.button_close")),t(3),f(l.pairingsChildActive.length===0&&l.pairingsChildStale.length===0&&l.pairingsNonChild.length===0?8:-1),t(),f(l.pairingsChildActive.length>0||l.pairingsChildStale.length>0||l.pairingsNonChild.length>0?9:-1),t(3),f(l.pairingsChildActive.length>0||l.pairingsChildStale.length>0||l.pairingsNonChild.length>0?12:-1),t(2),f(l.pairingsChildActive.length===0&&l.pairingsChildStale.length===0&&l.pairingsNonChild.length===0?14:-1),t(2),f(l.pairingsChildActive.length>0||l.pairingsChildStale.length>0||l.pairingsNonChild.length>0?16:-1))},dependencies:[L,j,E],encapsulation:2})}return a})();function St(a,m){if(a&1){let e=k();i(0,"li",10)(1,"span")(2,"label",17)(3,"input",18),me("ngModelChange",function(l){let h=S(e).$implicit;return ce(h.selected,l)||(h.selected=l),w(l)}),n(),i(4,"span"),r(5),n(),c(6,"span",19),n()(),i(7,"span",20),r(8),n()()}if(a&2){let e=m.$implicit;t(2),_("for","adapter"+e.iface),t(),_("id","adapter"+e.iface),pe("ngModel",e.selected),t(2),p(e.iface),t(3),p(e.ip4||e.ip6)}}var Re=(()=>{class a{$activeModal=C(T);availableNetworkAdapters=[];bridgeNetworkAdapters=[];constructor(){}submit(){this.$activeModal.close(this.availableNetworkAdapters.filter(e=>e.selected).map(e=>e.iface))}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],inputs:{availableNetworkAdapters:"availableNetworkAdapters",bridgeNetworkAdapters:"bridgeNetworkAdapters"},decls:35,vars:24,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-ethernet","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","flex-row","justify-content-between"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"],[1,"hb-uix-switch","d-inline","pe-3",3,"for"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"hb-uix-slider","hb-uix-round"],[1,"font-monospace"]],template:function(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),c(9,"i",6),n(),i(10,"ul",7)(11,"li"),r(12),o(13,"translate"),n()(),i(14,"ul",8)(15,"li",9)(16,"strong"),r(17),o(18,"translate"),n(),i(19,"strong"),r(20),o(21,"translate"),n()(),V(22,St,9,5,"li",10,F),n()(),i(24,"div",11)(25,"div",12)(26,"button",13),o(27,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),r(28),o(29,"translate"),n()(),c(30,"div",14),i(31,"div",15)(32,"button",16),b("click",function(){return l.submit()}),r(33),o(34,"translate"),n()()()()),d&2&&(t(3),p(s(4,8,"settings.network.title_network_interfaces")),t(2),x("aria-label",s(6,10,"form.button_close")),t(7),p(s(13,12,"settings.network.message_network_interface")),t(5),p(s(18,14,"settings.network.label_interface_name")),t(3),p(s(21,16,"settings.network.label_ip_address")),t(2),R(l.availableNetworkAdapters),t(4),x("aria-label",s(27,18,"form.button_close")),t(2),u(" ",s(29,20,"form.button_close")," "),t(5),u(" ",s(34,22,"form.button_save")," "))},dependencies:[J,G,q,K,E],encapsulation:2})}return a})();var wt=["wallpaperInput"],kt=a=>({maxFileSizeText:a});function yt(a,m){if(a&1){let e=k();i(0,"div",10),c(1,"img",20),i(2,"button",21),o(3,"translate"),b("click",function(){S(e);let l=g();return w(l.clearWallpaper())}),c(4,"i",22),n()()}if(a&2){let e=g();t(),_("src",e.wallpaperUrl,le),t(),x("aria-label",s(3,2,"form.button_delete"))}}function Et(a,m){a&1&&c(0,"div",11)}var De=(()=>{class a{$activeModal=C(T);$api=C(M);$modal=C(Y);$settings=C(Z);$toastr=C(N);$translate=C(A);clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;wallpaperUrl=null;originalWallpaperUrl=null;wallpaperInput;constructor(){}ngOnInit(){this.$settings.env.customWallpaperHash&&(this.wallpaperUrl=`${Be.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`,this.originalWallpaperUrl=this.wallpaperUrl)}onFileChange(e){if(e.length){this.selectedFile=e[0];let d=new FileReader;d.onload=l=>{this.wallpaperUrl=l.target.result},d.readAsDataURL(this.selectedFile)}else delete this.selectedFile,this.wallpaperUrl=this.originalWallpaperUrl}saveWallpaper(){if(this.clicked=!0,this.selectedFile){let e=new FormData;e.append("wallpaper",this.selectedFile,this.selectedFile.name),this.$api.post("/server/wallpaper",e).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("settings.display.wallpaper_success"),this.$translate.instant("toast.title_success"))},error:d=>{console.error(d),this.$toastr.error(d.error?.message,this.$translate.instant("toast.title_error")),this.clicked=!1}})}else this.$api.delete("/server/wallpaper").subscribe({next:()=>{this.$activeModal.close()},error:e=>{console.error(e),this.$toastr.error(e.error?.message,this.$translate.instant("toast.title_error")),this.clicked=!1}})}clearWallpaper(){this.selectedFile=null,this.wallpaperUrl=this.wallpaperUrl===this.originalWallpaperUrl?null:this.originalWallpaperUrl,this.wallpaperInput.nativeElement.value=""}cancel(){this.$activeModal.dismiss()}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],viewQuery:function(d,l){if(d&1&&oe(wt,5),d&2){let h;se(h=de())&&(l.wallpaperInput=h.first)}},decls:36,vars:28,consts:[["wallpaperInput",""],[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-image","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"mb-3","text-center"],[1,"position-relative","d-inline-block"],[1,"gradient","anim","rounded",2,"height","200px","width","350px","margin","0 auto"],[1,"mb-0"],["type","file","id","wallpaper","accept","image/*",1,"form-control",3,"change"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["alt","Current Wallpaper",1,"img-fluid","rounded","mx-auto","d-block",2,"height","200px",3,"src"],[1,"btn","btn-danger","position-absolute",2,"top","10px","right","10px",3,"click"],[1,"fas","fa-fw","fa-trash"]],template:function(d,l){if(d&1){let h=k();i(0,"div",1)(1,"div",2)(2,"h5",3),r(3),o(4,"translate"),n(),i(5,"button",4),o(6,"translate"),b("click",function(){return S(h),w(l.$activeModal.dismiss("Dismiss"))}),n()(),i(7,"div",5)(8,"div",6),c(9,"i",7),n(),i(10,"ul",8)(11,"li"),r(12),o(13,"translate"),n(),i(14,"li"),r(15),o(16,"translate"),n(),i(17,"li"),r(18),o(19,"translate"),n()(),i(20,"div",9),v(21,yt,5,4,"div",10)(22,Et,1,0,"div",11),n(),i(23,"div",12)(24,"input",13,0),b("change",function(Pe){return S(h),w(l.onFileChange(Pe.target.files))}),n()()(),i(26,"div",14)(27,"div",15)(28,"button",16),b("click",function(){return S(h),w(l.cancel())}),r(29),o(30,"translate"),n()(),c(31,"div",17),i(32,"div",18)(33,"button",19),b("click",function(){return S(h),w(l.saveWallpaper())}),r(34),o(35,"translate"),n()()()()}d&2&&(t(3),p(s(4,11,"settings.display.wallpaper")),t(2),_("disabled",l.clicked),x("aria-label",s(6,13,"form.button_close")),t(7),p(s(13,15,"settings.display.wallpaper_intro")),t(3),p(W(16,17,"settings.display.wallpaper_rule",H(26,kt,l.maxFileSizeText))),t(3),p(s(19,20,"settings.display.wallpaper_rule2")),t(3),f(l.wallpaperUrl?21:22),t(7),_("disabled",l.clicked),t(),u(" ",s(30,22,"form.button_close")," "),t(4),_("disabled",l.wallpaperUrl===l.originalWallpaperUrl||l.clicked),t(),u(" ",s(35,24,"form.button_save")," "))},dependencies:[Q,E],styles:[".anim[_ngcontent-%COMP%]{-webkit-animation:_ngcontent-%COMP%_gradient 20s ease infinite;-moz-animation:gradient 20s ease infinite;-o-animation:gradient 20s ease infinite;animation:_ngcontent-%COMP%_gradient 20s ease infinite}@keyframes _ngcontent-%COMP%_gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}"]})}return a})();var ae=a=>({"is-invalid":a}),Bt=a=>({link:a}),It=a=>({"fa-pulse":a}),$t=(a,m)=>({"badge-danger":a,"badge-info":m});function Tt(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),o(3,"translate"),n(),i(4,"button",24),o(5,"translate"),r(6),o(7,"translate"),n()()),a&2&&(t(2),p(s(3,3,"settings.changes.saved")),t(2),x("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function At(a,m){if(a&1){let e=k();i(0,"ul",5)(1,"li",14)(2,"span"),r(3,"Homebridge Name"),n(),i(4,"div",15),c(5,"input",16),o(6,"translate"),n()(),i(7,"li",17)(8,"span",18),r(9),o(10,"translate"),n(),i(11,"button",19),o(12,"translate"),b("click",function(){S(e);let l=g();return w(l.openUiSettings())}),c(13,"i",20),n()(),i(14,"li",17)(15,"span",18),r(16),o(17,"translate"),n(),i(18,"button",19),o(19,"translate"),b("click",function(){S(e);let l=g();return w(l.openBackupModal())}),c(20,"i",20),n()(),i(21,"li",17)(22,"span",18),r(23),o(24,"translate"),n(),i(25,"a",21),o(26,"translate"),c(27,"i",20),n()(),v(28,Tt,8,9,"li",22),n()}if(a&2){let e=g();t(5),_("formControl",e.hbNameFormControl)("ngClass",H(24,ae,e.isInvalidHbName)),x("aria-label",s(6,10,"settings.network.port_ui")),t(4),p(s(10,12,"menu.label_settings_advanced")),t(2),x("aria-label",s(12,14,"menu.label_settings_advanced")),t(5),u(" ",s(17,16,"backup.title_backup")," "),t(2),x("aria-label",s(19,18,"backup.title_backup")),t(5),u(" ",s(24,20,"menu.tooltip_user_accounts")," "),t(2),x("aria-label",s(26,22,"menu.tooltip_user_accounts")),t(3),f(e.hasChangedHbName&&!e.isInvalidHbName?28:-1)}}function Nt(a,m){if(a&1){let e=k();i(0,"ul",6)(1,"li",14),r(2),o(3,"translate"),i(4,"div",25)(5,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("lang",l))}),i(6,"option",27),r(7),o(8,"translate"),n(),i(9,"option",28),r(10,"Bulgarian (bg)"),n(),i(11,"option",29),r(12,"Catalan (ca)"),n(),i(13,"option",30),r(14,"Chinese - Simplified (zh-CN)"),n(),i(15,"option",31),r(16,"Chinese - Traditional (zh-TW)"),n(),i(17,"option",32),r(18,"Czech (cs)"),n(),i(19,"option",33),r(20,"Dutch (nl)"),n(),i(21,"option",34),r(22,"English (en)"),n(),i(23,"option",35),r(24,"Finnish (fi)"),n(),i(25,"option",36),r(26,"French (fr)"),n(),i(27,"option",37),r(28,"German (de)"),n(),i(29,"option",38),r(30,"Hebrew (he)"),n(),i(31,"option",39),r(32,"Hungarian (hu)"),n(),i(33,"option",40),r(34,"Indonesian (id)"),n(),i(35,"option",41),r(36,"Italian (it)"),n(),i(37,"option",42),r(38,"Japanese (ja)"),n(),i(39,"option",43),r(40,"Korean (ko)"),n(),i(41,"option",44),r(42,"Macedonian (mk)"),n(),i(43,"option",45),r(44,"Norwegian (no)"),n(),i(45,"option",46),r(46,"Polish (pl)"),n(),i(47,"option",47),r(48,"Portuguese (Brazil)"),n(),i(49,"option",48),r(50,"Portuguese (Portugal)"),n(),i(51,"option",49),r(52,"Russian (ru)"),n(),i(53,"option",50),r(54,"Slovenian (sl)"),n(),i(55,"option",51),r(56,"Spanish (es)"),n(),i(57,"option",52),r(58,"Swedish (sv)"),n(),i(59,"option",53),r(60,"Thai (th)"),n(),i(61,"option",54),r(62,"Turkish (tr)"),n(),i(63,"option",55),r(64,"Ukrainian (uk)"),n()()()(),i(65,"li",14),r(66),o(67,"translate"),i(68,"div",25)(69,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("theme",l))}),i(70,"option",56),r(71),o(72,"translate"),n(),i(73,"option",57),r(74),o(75,"translate"),n(),i(76,"option",58),r(77),o(78,"translate"),n(),i(79,"option",59),r(80),o(81,"translate"),n(),i(82,"option",60),r(83),o(84,"translate"),n(),i(85,"option",61),r(86),o(87,"translate"),n(),i(88,"option",62),r(89),o(90,"translate"),n(),i(91,"option",63),r(92),o(93,"translate"),n(),i(94,"option",64),r(95),o(96,"translate"),n(),i(97,"option",65),r(98),o(99,"translate"),n(),i(100,"option",66),r(101),o(102,"translate"),n(),i(103,"option",67),r(104),o(105,"translate"),n(),i(106,"option",68),r(107),o(108,"translate"),n()()()(),i(109,"li",14),r(110),o(111,"translate"),i(112,"div",25)(113,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("lightingMode",l))}),i(114,"option",27),r(115),o(116,"translate"),n(),i(117,"option",69),r(118),o(119,"translate"),n(),i(120,"option",70),r(121),o(122,"translate"),n()()()(),i(123,"li",14),r(124),o(125,"translate"),i(126,"div",25)(127,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("menuMode",l))}),i(128,"option",71),r(129),o(130,"translate"),n(),i(131,"option",72),r(132),o(133,"translate"),n()()()(),i(134,"li",14),r(135),o(136,"translate"),i(137,"div",25)(138,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("tempUnits",l))}),i(139,"option",73),r(140),o(141,"translate"),n(),i(142,"option",74),r(143),o(144,"translate"),n()()()(),i(145,"li",17)(146,"span",18),r(147),o(148,"translate"),n(),i(149,"button",19),o(150,"translate"),b("click",function(){S(e);let l=g();return w(l.openWallpaperModal())}),c(151,"i",20),n()()()}if(a&2){let e=g();t(2),u(" ",s(3,33,"settings.display.lang")," "),t(3),_("ngModel",e.$settings.env.lang),t(2),p(s(8,35,"form.select.auto")),t(59),u(" ",s(67,37,"settings.display.theme")," "),t(3),_("ngModel",e.$settings.theme),t(2),p(s(72,39,"settings.display.orange")),t(3),p(s(75,41,"settings.display.red")),t(3),p(s(78,43,"settings.display.pink")),t(3),p(s(81,45,"settings.display.purple")),t(3),p(s(84,47,"settings.display.deep_purple")),t(3),p(s(87,49,"settings.display.indigo")),t(3),p(s(90,51,"settings.display.blue")),t(3),p(s(93,53,"settings.display.bluegrey")),t(3),p(s(96,55,"settings.display.cyan")),t(3),p(s(99,57,"settings.display.green")),t(3),p(s(102,59,"settings.display.teal")),t(3),p(s(105,61,"settings.display.grey")),t(3),p(s(108,63,"settings.display.brown")),t(3),u(" ",s(111,65,"settings.display.lighting_mode")," "),t(3),_("ngModel",e.$settings.lightingMode),t(2),p(s(116,67,"form.select.auto")),t(3),p(s(119,69,"settings.display.light")),t(3),p(s(122,71,"settings.display.dark")),t(3),u(" ",s(125,73,"settings.display.menu_mode")," "),t(3),_("ngModel",e.$settings.menuMode),t(2),p(s(130,75,"settings.display.menu_default")),t(3),p(s(133,77,"settings.display.menu_freeze")),t(3),u(" ",s(136,79,"settings.display.temp_units")," "),t(3),_("ngModel",e.$settings.env.temperatureUnits),t(2),p(s(141,81,"settings.display.temp_units.c")),t(3),p(s(144,83,"settings.display.temp_units.f")),t(4),p(s(148,85,"settings.display.wallpaper")),t(2),x("aria-label",s(150,87,"settings.display.wallpaper"))}}function Mt(a,m){a&1&&(i(0,"li",17)(1,"span"),r(2),o(3,"translate"),c(4,"br"),i(5,"small",75),r(6),o(7,"translate"),n()(),i(8,"a",86),o(9,"translate"),c(10,"i",20),n()()),a&2&&(t(2),u(" ",s(3,3,"menu.docker.startup_script")),t(4),p(s(7,5,"platform.docker.script_help")),t(2),x("aria-label",s(9,7,"menu.docker.startup_script")))}function Ft(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),o(3,"translate"),n(),i(4,"button",24),o(5,"translate"),r(6),o(7,"translate"),n()()),a&2&&(t(2),p(s(3,3,"settings.changes.saved")),t(2),x("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function Vt(a,m){if(a&1&&(i(0,"ul",8)(1,"li",17)(2,"span"),r(3),o(4,"translate"),i(5,"code"),r(6,"-D"),n(),c(7,"br"),i(8,"small",75),r(9),o(10,"translate"),n()(),c(11,"input",76),o(12,"translate"),c(13,"label",77),n(),i(14,"li",17)(15,"span"),r(16),o(17,"translate"),i(18,"code"),r(19,"-I"),n(),c(20,"br"),i(21,"small",75),r(22),o(23,"translate"),n()(),c(24,"input",78),o(25,"translate"),c(26,"label",79),n(),i(27,"li",17)(28,"span"),r(29),o(30,"translate"),i(31,"code"),r(32,"-K"),n(),c(33,"br"),i(34,"small",75),r(35),o(36,"translate"),n()(),c(37,"input",80),o(38,"translate"),c(39,"label",81),n(),i(40,"li",14)(41,"span")(42,"span",82),r(43,"DEBUG"),n(),c(44,"br")(45,"small",83),o(46,"translate"),n(),i(47,"div",25),c(48,"input",84),n()(),i(49,"li",14)(50,"span")(51,"span",82),r(52,"NODE_OPTIONS"),n(),c(53,"br"),i(54,"small",75),r(55),o(56,"translate"),n()(),i(57,"div",25),c(58,"input",85),n()(),v(59,Mt,11,9,"li",17),v(60,Ft,8,9,"li",22),n()),a&2){let e=g();t(3),u(" ",s(4,13,"settings.startup.debug")," "),t(6),u(" ",s(10,15,e.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),t(2),x("aria-label",s(12,17,"settings.startup.debug")),t(5),u(" ",s(17,19,"settings.startup.insecure")," "),t(6),p(s(23,21,"settings.startup.insecure_desc")),t(2),x("aria-label",s(25,23,"settings.startup.insecure")),t(5),u(" ",s(30,25,"settings.startup.keep_accessories")," "),t(6),p(s(36,27,"settings.startup.keep_accessories_desc")),t(2),x("aria-label",s(38,29,"settings.startup.keep_accessories")),t(8),_("innerHTML",W(46,31,"settings.service.debug_tooltip",H(36,Bt,e.linkDebug)),re),t(10),p(s(56,34,"settings.service.node_tooltip")),t(4),f(e.$settings.env.runningInDocker?59:-1),t(),f(e.hasChangedService?60:-1)}}function Rt(a,m){a&1&&c(0,"i",98)}function Dt(a,m){if(a&1&&(i(0,"span",88),v(1,Rt,1,0,"i",98),r(2),i(3,"span",99),r(4),o(5,"translate"),n()()),a&2){let e=m.$implicit;_("ngClass",$(6,$t,e.missing,!e.missing)),t(),f(e.missing?1:-1),t(),u(" ",e.iface,": "),t(2),p(e.missing?s(5,4,"settings.mdns_advertiser_not_connected"):e.ip4||e.ip6)}}function Pt(a,m){a&1&&(i(0,"option",92),r(1),o(2,"translate"),n()),a&2&&(t(),u("Avahi (",s(2,1,"settings.mdns_advertiser_rec"),")"))}function Ht(a,m){a&1&&(i(0,"option",95),r(1),o(2,"translate"),n()),a&2&&(t(),u("systemd-resolved (",s(2,1,"settings.mdns_advertiser_exp"),")"))}function Ut(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),o(3,"translate"),n(),i(4,"button",24),o(5,"translate"),r(6),o(7,"translate"),n()()),a&2&&(t(2),p(s(3,3,"settings.changes.saved")),t(2),x("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function Ot(a,m){if(a&1){let e=k();i(0,"ul",9)(1,"li",17)(2,"span",18),r(3),o(4,"translate"),c(5,"br"),i(6,"div",87),r(7),o(8,"translate"),n(),V(9,Dt,6,9,"span",88,F),n(),i(11,"button",89),o(12,"translate"),b("click",function(){S(e);let l=g();return w(l.selectNetworkInterfaces())}),c(13,"i",90),n()(),i(14,"li",14)(15,"span"),r(16),o(17,"translate"),c(18,"br"),i(19,"small",75),r(20),o(21,"translate"),n()(),i(22,"div",25)(23,"select",91),o(24,"translate"),v(25,Pt,3,3,"option",92),i(26,"option",93),r(27),o(28,"translate"),n(),i(29,"option",94),r(30,"Bonjour HAP"),n(),v(31,Ht,3,3,"option",95),n()()(),i(32,"li",14)(33,"span"),r(34),o(35,"translate"),c(36,"br"),i(37,"small",75),r(38),o(39,"translate"),n()(),i(40,"div",25),c(41,"input",96),o(42,"translate"),n()(),i(43,"li",14)(44,"span"),r(45),o(46,"translate"),c(47,"br"),i(48,"small",75),r(49),o(50,"translate"),n()(),i(51,"div",25),c(52,"input",97),o(53,"translate"),n()(),v(54,Ut,8,9,"li",22),n()}if(a&2){let e=g();t(3),u(" ",s(4,22,"settings.network.title_network_interfaces")),t(4),p(s(8,24,"settings.network.message_network_interface")),t(2),R(e.bridgeNetworkAdapters),t(2),_("disabled",!e.availableNetworkAdapters.length),x("aria-label",s(12,26,"settings.network.title_network_interfaces")),t(2),_("ngClass",H(48,It,!e.availableNetworkAdapters.length)),t(3),u(" ",s(17,28,"settings.mdns_advertiser")),t(4),p(s(21,30,"settings.mdns_advertiser_help")),t(3),_("formControl",e.legacyMdnsFormControl),x("aria-label",s(24,32,"settings.mdns_advertiser")),t(2),f(e.showAvahiMdnsOption?25:-1),t(2),u(" Ciao ",e.showAvahiMdnsOption?"":"("+s(28,34,"settings.mdns_advertiser_rec")+")"," "),t(4),f(e.showResolvedMdnsOption?31:-1),t(3),u(" ",s(35,36,"settings.network.port_hb")),t(4),p(s(39,38,"settings.network.port_hb_desc")),t(3),_("formControl",e.hbPortFormControl)("ngClass",H(50,ae,e.isInvalidHbPort)),x("aria-label",s(42,40,"settings.network.port_ui")),t(4),u(" ",s(46,42,"settings.network.port_ui")),t(4),p(s(50,44,"settings.network.port_ui_desc")),t(3),_("ngClass",H(52,ae,e.isInvalidHbUiPort)),x("aria-label",s(53,46,"settings.network.port_ui")),t(2),f(e.hasChangedHbPort&&!e.isInvalidHbPort||e.hasChangedUiSettings||e.hasChangedMdns||e.hasChangedBridgeNetworkAdapters?54:-1)}}function Lt(a,m){a&1&&(i(0,"p",10),r(1),o(2,"translate"),n()),a&2&&(t(),p(s(2,1,"settings.cache.desc")))}function zt(a,m){if(a&1){let e=k();i(0,"ul",11)(1,"li",17)(2,"span",18),r(3),o(4,"translate"),c(5,"br"),i(6,"small",75),r(7),o(8,"translate"),n()(),i(9,"button",19),o(10,"translate"),b("click",function(){S(e);let l=g();return w(l.removeSingleCachedAccessories())}),c(11,"i",20),n()(),i(12,"li",17)(13,"span",18),r(14),o(15,"translate"),c(16,"br"),i(17,"small",75),r(18),o(19,"translate"),n()(),i(20,"button",19),o(21,"translate"),b("click",function(){S(e);let l=g();return w(l.removeBridgeAccessories())}),c(22,"i",20),n()(),i(23,"li",17)(24,"span",18),r(25),o(26,"translate"),c(27,"br"),i(28,"small",75),r(29),o(30,"translate"),n()(),i(31,"button",19),o(32,"translate"),b("click",function(){S(e);let l=g();return w(l.removeAllCachedAccessories())}),c(33,"i",20),n()()()}a&2&&(t(3),u(" ",s(4,9,"reset.accessory_ind.title")),t(4),p(s(8,11,"reset.accessory_ind.desc")),t(2),x("aria-label",s(10,13,"reset.accessory_ind.title")),t(5),u(" ",s(15,15,"reset.bridge_accessories.title")),t(4),p(s(19,17,"reset.bridge_accessories.desc")),t(2),x("aria-label",s(21,19,"reset.accessory_all.title")),t(5),u(" ",s(26,21,"reset.accessory_all.title")),t(4),p(s(30,23,"reset.accessory_all.desc")),t(2),x("aria-label",s(32,25,"reset.accessory_all.title")))}function Wt(a,m){a&1&&(i(0,"p",10),r(1),o(2,"translate"),n()),a&2&&(t(),p(s(2,1,"reset.bridges.desc")))}function jt(a,m){if(a&1){let e=k();i(0,"ul",12)(1,"li",17)(2,"span",18),r(3),o(4,"translate"),c(5,"br"),i(6,"small",75),r(7),o(8,"translate"),n()(),i(9,"button",19),o(10,"translate"),b("click",function(){S(e);let l=g();return w(l.unpairAccessory())}),c(11,"i",20),n()(),i(12,"li",17)(13,"span",18),r(14),o(15,"translate"),o(16,"titlecase"),c(17,"br"),i(18,"small",75),r(19),o(20,"translate"),n()(),i(21,"button",19),o(22,"translate"),b("click",function(){S(e);let l=g();return w(l.resetHomebridgeState())}),c(23,"i",20),n()()()}a&2&&(t(3),u(" ",s(4,6,"reset.bridge_ind.title")),t(4),p(s(8,8,"reset.bridge_ind.desc")),t(2),x("aria-label",s(10,10,"reset.bridge_ind.title")),t(5),u(" ",s(16,14,s(15,12,"reset.bridge_all.title"))),t(5),p(s(20,16,"reset.bridge_all.desc")),t(2),x("aria-label",s(22,18,"reset.bridge_all.title")))}var fn=(()=>{class a{$api=C(M);$modal=C(Y);$plugin=C(Te);$settings=C(Z);$toastr=C(N);$translate=C(A);originalServiceForm={HOMEBRIDGE_DEBUG:!1,HOMEBRIDGE_KEEP_ORPHANS:!1,HOMEBRIDGE_INSECURE:!0,ENV_DEBUG:"",ENV_NODE_OPTIONS:""};originalUiSettingsForm={port:0};originalMdnsSetting="";originalBridgeNetworkAdapters=[];originalHbPort=0;originalHbName="";hasChangedService=!1;hasChangedUiSettings=!1;hasChangedMdns=!1;hasChangedBridgeNetworkAdapters=!1;hasChangedHbPort=!1;hasChangedHbName=!1;isInvalidHbPort=!1;isInvalidHbName=!1;isInvalidHbUiPort=!1;serviceForm=new te({HOMEBRIDGE_DEBUG:new P(!1),HOMEBRIDGE_KEEP_ORPHANS:new P(!1),HOMEBRIDGE_INSECURE:new P(!0),ENV_DEBUG:new P(""),ENV_NODE_OPTIONS:new P("")});uiSettingsForm=new te({port:new P(0)});legacyMdnsFormControl=new ge(!1);showAvahiMdnsOption=!1;showResolvedMdnsOption=!1;availableNetworkAdapters=[];bridgeNetworkAdapters=[];hbPortFormControl=new P(0);hbNameFormControl=new P("");isHbV2=!1;showFields={general:!0,display:!0,startup:!0,network:!0,reset:!0,cache:!0};linkDebug='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){}ngOnInit(){this.isHbV2=this.$settings.env.homebridgeVersion.startsWith("2"),this.hbNameFormControl.patchValue(this.$settings.env.homebridgeInstanceName),this.hbNameFormControl.valueChanges.subscribe(e=>this.setHomebridgeName(e)),this.originalHbName=this.$settings.env.homebridgeInstanceName,this.initUiSettingsForm(),this.initNetworkingOptions(),this.initStartupSettingsForm()}initUiSettingsForm(){this.originalUiSettingsForm={port:this.$settings.env.port},this.uiSettingsForm.patchValue({port:this.$settings.env.port}),this.uiSettingsForm.valueChanges.pipe(ee(500)).subscribe(e=>{let d=!1;Object.keys(e).forEach(l=>{this.originalUiSettingsForm[l]!==e[l]&&(this.saveUiSettingChange(l,e[l]),d=!0)}),this.hasChangedUiSettings=d})}initStartupSettingsForm(){this.$api.get("/platform-tools/hb-service/homebridge-startup-settings").subscribe({next:e=>{Object.keys(e).forEach(d=>{this.originalServiceForm[d]=e[d]}),this.serviceForm.patchValue(e),this.serviceForm.valueChanges.pipe(ee(500)).subscribe(this.saveStartupSettingsSettings.bind(this))},error:e=>{console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}saveUiSettingChange(e,d){switch(e){case"lang":this.$settings.setLang(d);break;case"lightingMode":this.$settings.setLightingMode(d,"user");break;case"menuMode":this.$settings.setMenuMode(d),window.location.reload();break;case"theme":this.$settings.setTheme(d);break;case"tempUnits":this.$settings.setEnvItem("temperatureUnits",d);break;case"port":if(!d||typeof d!="number"||d<1025||d>65533||Number.isInteger(d)===!1||d===this.hbPortFormControl.value){this.isInvalidHbUiPort=!0;return}this.$settings.setEnvItem("port",d),this.isInvalidHbUiPort=!1;break}I(this.$api.put("/config-editor/ui",{key:e,value:d})).catch(l=>{console.error(l),this.$toastr.error(l.message,this.$translate.instant("toast.title_error"))})}openUiSettings(){this.$plugin.settings({name:"homebridge-config-ui-x",displayName:"Homebridge UI",settingsSchema:!0,links:{}})}openBackupModal(){this.$modal.open(Ie,{size:"lg",backdrop:"static"})}openWallpaperModal(){this.$modal.open(De,{size:"lg",backdrop:"static"})}saveStartupSettingsSettings(e=this.serviceForm.value){this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",e).subscribe({next:()=>{this.hasChangedService=JSON.stringify(e)!==JSON.stringify(this.originalServiceForm)},error:d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))}})}resetHomebridgeState(){this.$modal.open(Me,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(Ve,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(Ae,{size:"lg",backdrop:"static"})}removeSingleCachedAccessories(){this.$modal.open($e,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open(Ne,{size:"lg",backdrop:"static"})}initNetworkingOptions(){return B(this,null,function*(){try{this.getNetworkSettings(),(this.$settings.env.runningInLinux||this.$settings.env.runningInDocker||this.$settings.env.runningInSynologyPackage||this.$settings.env.runningInPackageMode)&&(this.showAvahiMdnsOption=!0,this.showResolvedMdnsOption=!0)}catch{}})}getNetworkSettings(){return B(this,null,function*(){return Promise.all([I(this.$api.get("/server/network-interfaces/system")),I(this.$api.get("/server/network-interfaces/bridge")),I(this.$api.get("/server/mdns-advertiser")),I(this.$api.get("/server/port"))]).then(([e,d,l,h])=>{this.availableNetworkAdapters=e,this.buildBridgeNetworkAdapterList(d),this.legacyMdnsFormControl.patchValue(l.advertiser),this.originalMdnsSetting=l.advertiser,this.originalBridgeNetworkAdapters=this.bridgeNetworkAdapters.map(D=>D.iface),this.legacyMdnsFormControl.valueChanges.subscribe(D=>{this.setHomebridgeMdnsSetting(D)}),this.hbPortFormControl.patchValue(h.port),this.hbPortFormControl.valueChanges.subscribe(D=>this.setHomebridgePort(D)),this.originalHbPort=h.port})})}setHomebridgeMdnsSetting(e){return B(this,null,function*(){this.$api.put("/server/mdns-advertiser",{advertiser:e}).subscribe({next:()=>{this.hasChangedMdns=e!==this.originalMdnsSetting},error:d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))}})})}setNetworkInterfaces(e){return B(this,null,function*(){this.$api.put("/server/network-interfaces/bridge",{adapters:e}).subscribe({next:()=>{this.hasChangedBridgeNetworkAdapters=this.originalBridgeNetworkAdapters.join(",")!==e.join(",")},error:d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))}})})}setHomebridgeName(e){return B(this,null,function*(){if(!e||!/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u.test(e)){this.isInvalidHbName=!0;return}this.$api.put("/server/name",{name:e}).subscribe({next:()=>{this.hasChangedHbName=this.originalHbName!==e,this.$settings.setEnvItem("homebridgeInstanceName",e),this.isInvalidHbName=!1},error:()=>{this.isInvalidHbName=!0}})})}setHomebridgePort(e){return B(this,null,function*(){if(e===this.uiSettingsForm.get("port").value){this.isInvalidHbPort=!0;return}this.$api.put("/server/port",{port:e}).subscribe({next:()=>{this.hasChangedHbPort=this.originalHbPort!==e,this.isInvalidHbPort=!1},error:()=>{this.isInvalidHbPort=!0}})})}buildBridgeNetworkAdapterList(e){if(!e.length){this.bridgeNetworkAdapters=[];return}this.bridgeNetworkAdapters=e.map(d=>{let l=this.availableNetworkAdapters.find(h=>h.iface===d);return l?(l.selected=!0,l.missing=!1,l):{iface:d,missing:!0}})}selectNetworkInterfaces(){let e=this.$modal.open(Re,{size:"lg",backdrop:"static"});e.componentInstance.availableNetworkAdapters=this.availableNetworkAdapters,e.componentInstance.bridgeNetworkAdapters=this.bridgeNetworkAdapters,e.result.then(d=>{this.buildBridgeNetworkAdapterList(d),this.setNetworkInterfaces(d)}).catch(()=>{})}toggleSection(e){this.showFields[e]=!this.showFields[e]}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],decls:48,vars:49,consts:[[1,"primary-text","m-0"],[1,"my-4"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa","fa-fw",3,"ngClass"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsDisplay",1,"list-group","list-group-box","mt-2","mx-0"],["novalidate","",1,"my-4",3,"formGroup"],["id","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],[1,"small","grey-text","mb-2","mx-0"],["id","fieldsCache",1,"list-group","list-group-box","mb-4","mx-0"],["id","fieldsReset",1,"list-group","list-group-box","mt-2","mx-0"],[1,"pb-3"],[1,"list-group-item","d-block","d-md-flex","justify-content-between","align-items-center"],[1,"my-3","my-md-0","pl-0","pl-md-5","w-auto"],["type","text",1,"form-control","custom-input","resp-input",3,"formControl","ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pe-2"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px"],[1,"list-group-item","d-flex","flex-column","align-items-center"],[1,"grey-text","my-2"],["routerLink","/restart",1,"btn","btn-primary","waves-effect","my-2"],[1,"my-3","my-md-0","ps-0","ps-md-5","w-auto"],[1,"custom-select","resp-select",3,"ngModelChange","ngModel"],["value","auto"],["value","bg"],["value","ca"],["value","zh-CN"],["value","zh-TW"],["value","cs"],["value","nl"],["value","en"],["value","fi"],["value","fr"],["value","de"],["value","he"],["value","hu"],["value","id"],["value","it"],["value","ja"],["value","ko"],["value","mk"],["value","no"],["value","pl"],["value","pt-BR"],["value","pt"],["value","ru"],["value","sl"],["value","es"],["value","sv"],["value","th"],["value","tr"],["value","uk"],["value","orange"],["value","red"],["value","pink"],["value","purple"],["value","deep-purple"],["value","indigo"],["value","blue"],["value","blue-grey"],["value","cyan"],["value","green"],["value","teal"],["value","grey"],["value","brown"],["value","light"],["value","dark"],["value","default"],["value","freeze"],["value","c"],["value","f"],[1,"grey-text","pe-2"],["type","checkbox","id","homebridgeDebugMode","formControlName","HOMEBRIDGE_DEBUG",1,"rendux-input"],["for","homebridgeDebugMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeInsecureMode","formControlName","HOMEBRIDGE_INSECURE",1,"rendux-input"],["for","homebridgeInsecureMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeKeepOrphans","formControlName","HOMEBRIDGE_KEEP_ORPHANS",1,"rendux-input"],["for","homebridgeKeepOrphans",1,"rendux-label","ms-3",2,"min-width","50px"],[1,"font-monospace"],[1,"grey-text","pe-2",3,"innerHTML"],["formControlName","ENV_DEBUG","type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input","resp-input"],["formControlName","ENV_NODE_OPTIONS","type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input","resp-input"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px"],[1,"small","grey-text","pe-2"],[1,"badge","badge-primary","me-1",3,"ngClass"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click","disabled"],[1,"fas","fa-fw","fa-arrow-right",3,"ngClass"],[1,"custom-select","resp-select",3,"formControl"],["value","avahi"],["value","ciao"],["value","bonjour-hap"],["value","resolved"],["type","number","min","1025","max","65533",1,"form-control","custom-input","resp-input",3,"formControl","ngClass"],["type","number","min","1025","max","65533","placeholder","8581","formControlName","port",1,"form-control","custom-input","resp-input",3,"ngClass"],[1,"fas","fa-fw","fa-exclamation-triangle"],[1,"fw-normal"]],template:function(d,l){d&1&&(i(0,"h3",0),r(1),o(2,"translate"),n(),i(3,"div",1)(4,"div",2),b("click",function(){return l.toggleSection("general")}),i(5,"h5",3),c(6,"i",4),r(7),o(8,"translate"),n()(),v(9,At,29,26,"ul",5),n(),i(10,"div",1)(11,"div",2),b("click",function(){return l.toggleSection("display")}),i(12,"h5",3),c(13,"i",4),r(14),o(15,"translate"),n()(),v(16,Nt,152,89,"ul",6),n(),i(17,"form",7)(18,"div",2),b("click",function(){return l.toggleSection("startup")}),i(19,"h5",3),c(20,"i",4),r(21),o(22,"translate"),n()(),v(23,Vt,61,38,"ul",8),n(),i(24,"form",7)(25,"div",2),b("click",function(){return l.toggleSection("network")}),i(26,"h5",3),c(27,"i",4),r(28),o(29,"translate"),n()(),v(30,Ot,55,54,"ul",9),n(),i(31,"div",1)(32,"div",2),b("click",function(){return l.toggleSection("cache")}),i(33,"h5",3),c(34,"i",4),r(35),o(36,"translate"),n()(),v(37,Lt,3,3,"p",10),v(38,zt,34,27,"ul",11),n(),i(39,"div",1)(40,"div",2),b("click",function(){return l.toggleSection("reset")}),i(41,"h5",3),c(42,"i",4),r(43),o(44,"translate"),n()(),v(45,Wt,3,3,"p",10),v(46,jt,24,20,"ul",12),n(),c(47,"div",13)),d&2&&(t(),p(s(2,35,"menu.settings.title")),t(3),x("aria-expanded",l.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),t(2),_("ngClass",l.showFields.general?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(8,37,"settings.general.title_general")," "),t(2),f(l.showFields.general?9:-1),t(2),x("aria-expanded",l.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),t(2),_("ngClass",l.showFields.display?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(15,39,"settings.general.title_display")," "),t(2),f(l.showFields.display?16:-1),t(),_("formGroup",l.serviceForm),t(),x("aria-expanded",l.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),t(2),_("ngClass",l.showFields.startup?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(22,41,"settings.title_startup_options")," "),t(2),f(l.showFields.startup?23:-1),t(),_("formGroup",l.uiSettingsForm),t(),x("aria-expanded",l.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),t(2),_("ngClass",l.showFields.network?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(29,43,"settings.network.title_network")," "),t(2),f(l.showFields.network?30:-1),t(2),x("aria-expanded",l.showFields.cache?"true":"false")("aria-controls","fieldsCache"),t(2),_("ngClass",l.showFields.cache?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(36,45,"settings.cache.title")," "),t(2),f(l.showFields.cache?37:-1),t(),f(l.showFields.cache?38:-1),t(2),x("aria-expanded",l.showFields.reset?"true":"false")("aria-controls","fieldsReset"),t(2),_("ngClass",l.showFields.reset?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(44,47,"reset.bridges.title")," "),t(2),f(l.showFields.reset?45:-1),t(),f(l.showFields.reset?46:-1))},dependencies:[L,Ee,J,be,Se,we,ue,ve,G,Ce,q,_e,ye,ke,K,Q,fe,xe,he,j,E],encapsulation:2})}return a})();export{Ae as a,Me as b,Re as c,De as d,fn as e};
@@ -1 +0,0 @@
1
- import"./chunk-ULPRCO7R.js";import"./chunk-YGCUY3MR.js";import"./chunk-3XNLIEKF.js";import"./chunk-P5DRV4DP.js";import"./chunk-LJHC4K5I.js";import{g as i}from"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import{c as m}from"./chunk-KPKQNEWS.js";import{ha as t,kd as n,mb as r}from"./chunk-QSPBB6EE.js";var u=[{path:"",loadComponent:()=>import("./chunk-CNLD3YXH.js").then(o=>o.TerminalComponent)}],a=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(u),i]})}return o})();var T=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,a,m.forChild()]})}return o})();export{T as TerminalModule};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-C4QRAQSJ.js";import"./chunk-MMYB2ZMV.js";import"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as LoginComponent};
@@ -1 +0,0 @@
1
- import{e as b}from"./chunk-QSPBB6EE.js";var L=b((p,v)=>{(function(d,r){typeof define=="function"&&define.amd?define([],r):typeof p<"u"?r():(r(),d.FileSaver={})})(p,function(){"use strict";function d(e,t){return typeof t>"u"?t={autoBom:!1}:typeof t!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e}function r(e,t,i){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){l(n.response,t,i)},n.onerror=function(){console.error("could not download file")},n.send()}function w(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function s(e){try{e.dispatchEvent(new MouseEvent("click"))}catch{var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,m=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),l=a.saveAs||(typeof window!="object"||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!m?function(e,t,i){var n=a.URL||a.webkitURL,o=document.createElement("a");t=t||e.name||"download",o.download=t,o.rel="noopener",typeof e=="string"?(o.href=e,o.origin===location.origin?s(o):w(o.href)?r(e,t,i):s(o,o.target="_blank")):(o.href=n.createObjectURL(e),setTimeout(function(){n.revokeObjectURL(o.href)},4e4),setTimeout(function(){s(o)},0))}:"msSaveOrOpenBlob"in navigator?function(e,t,i){if(t=t||e.name||"download",typeof e!="string")navigator.msSaveOrOpenBlob(d(e,i),t);else if(w(e))r(e,t,i);else{var n=document.createElement("a");n.href=e,n.target="_blank",setTimeout(function(){s(n)})}}:function(e,t,i,n){if(n=n||open("","_blank"),n&&(n.document.title=n.document.body.innerText="downloading..."),typeof e=="string")return r(e,t,i);var o=e.type==="application/octet-stream",E=/constructor/i.test(a.HTMLElement)||a.safari,y=/CriOS\/[\d]+/.test(navigator.userAgent);if((y||o&&E||m)&&typeof FileReader<"u"){var u=new FileReader;u.onloadend=function(){var c=u.result;c=y?c:c.replace(/^data:[^;]*;/,"data:attachment/file;"),n?n.location.href=c:location=c,n=null},u.readAsDataURL(e)}else{var h=a.URL||a.webkitURL,f=h.createObjectURL(e);n?n.location=f:location.href=f,n=null,setTimeout(function(){h.revokeObjectURL(f)},4e4)}});a.saveAs=l.saveAs=l,typeof v<"u"&&(v.exports=l)})});export{L as a};
@@ -1 +0,0 @@
1
- import{f as a}from"./chunk-6D2SLGFZ.js";import"./chunk-YGCUY3MR.js";import"./chunk-LKMCOPAV.js";import"./chunk-EJL6YYO3.js";import"./chunk-KNJE27OR.js";import"./chunk-J6ICAYDY.js";import"./chunk-WOOQ2PNV.js";import"./chunk-SHW4IV7S.js";import"./chunk-XJY7A24W.js";import"./chunk-TIE2WSHM.js";import"./chunk-6SEBWKRM.js";import"./chunk-KCD74P4O.js";import"./chunk-3XNLIEKF.js";import"./chunk-ZCCLGLMW.js";import"./chunk-77GWB2NW.js";import"./chunk-P5DRV4DP.js";import"./chunk-HHPGR3HF.js";import"./chunk-6M524CF7.js";import"./chunk-OHFVMRCL.js";import"./chunk-MMYB2ZMV.js";import"./chunk-LJHC4K5I.js";import"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as StatusComponent};
@@ -1 +0,0 @@
1
- import{b as a}from"./chunk-GQ3TEIMF.js";import"./chunk-LKMCOPAV.js";import"./chunk-EJL6YYO3.js";import"./chunk-6SEBWKRM.js";import"./chunk-OHFVMRCL.js";import"./chunk-MMYB2ZMV.js";import"./chunk-LJHC4K5I.js";import"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as AccessoriesComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-ULPRCO7R.js";import"./chunk-YGCUY3MR.js";import"./chunk-3XNLIEKF.js";import"./chunk-P5DRV4DP.js";import"./chunk-LJHC4K5I.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as TerminalComponent};
@@ -1 +0,0 @@
1
- import{e as ft,m as gt}from"./chunk-R3JWGCC5.js";import{$a as r,Fb as M,Gb as E,Nb as l,Ob as h,Pb as p,Qb as F,Rb as Y,Sb as K,Ub as Q,Wa as ht,Wb as mt,Xa as q,Xb as j,Yb as c,a as u,b as T,cb as dt,dd as J,e as xt,fb as y,ga as C,gc as A,ha as lt,ic as m,ja as ct,jc as f,ka as w,la as _,lb as G,lc as b,ma as ut,mb as pt,n as g,ra as V,rb as S,sa as z,ua as N,ub as U,va as Z,za as O}from"./chunk-QSPBB6EE.js";var Tt=xt((De,Ut)=>{Ut.exports={name:"homebridge-config-ui-x",displayName:"Homebridge UI",version:"5.0.0-beta.83",description:"A web based management, configuration and control platform for Homebridge.",author:"oznu <dev@oz.nu>",license:"MIT",funding:[{type:"github",url:"https://github.com/sponsors/oznu"},{type:"paypal",url:"https://paypal.me/oznu"}],repository:{type:"git",url:"git+https://github.com/homebridge/homebridge-config-ui-x.git"},bugs:{url:"https://github.com/homebridge/homebridge-config-ui-x/issues"},keywords:["homebridge-plugin","ui","gui","web","homebridge","homebridge-config-ui-x","ui-x","config-ui-x","homebridge-x","homebridge server","homebridge ui","homebridge-ui","homebridge gui","homebridge-gui","web interface","config ui","management","config editor","linux","macOS","osx","windows","raspberry pi","accessory control","smart home","hb-service"],main:"./dist/index.js",bin:{"homebridge-config-ui-x":"dist/bin/standalone.js","hb-service":"dist/bin/hb-service.js"},engines:{node:"^20 || ^22",homebridge:"^1.8.0 || ^2.0.0-beta.0"},scripts:{build:"npm run build:server && npm run build:ui","build:server":"rimraf dist && tsc -p tsconfig.build.json","build:ui":"npm run build --prefix ui",check:"npm run check:server && npm run check:ui","check:server":"npm install && npm outdated","check:ui":"npm install --prefix ui && npm outdated --prefix ui","lang-sync":"ts-node scripts/lang-sync.ts",lint:"eslint . --max-warnings=0","lint:fix":"npm run lint -- --fix",prepublishOnly:"npm i --package-lock-only && npm run lint && npm run build",start:"ts-node -r tsconfig-paths/register src/main.ts",test:"vitest run","test-coverage":"npm run test -- --coverage","upgrade-install":"./scripts/upgrade-install.sh",watch:'concurrently "npm run watch:ui" "npm run watch:server"',"watch:server":"nodemon","watch:ui":"npm run start --prefix ui"},dependencies:{"@fastify/helmet":"13.0.1","@fastify/multipart":"9.0.3","@fastify/static":"8.2.0","@homebridge/hap-client":"2.2.0","@homebridge/node-pty-prebuilt-multiarch":"0.12.0","@nestjs/axios":"4.0.0","@nestjs/common":"11.1.3","@nestjs/core":"11.1.3","@nestjs/jwt":"11.0.0","@nestjs/passport":"11.0.5","@nestjs/platform-fastify":"11.1.3","@nestjs/platform-socket.io":"11.1.3","@nestjs/swagger":"11.2.0","@nestjs/websockets":"11.1.3",axios:"1.9.0","bash-color":"0.0.4","class-transformer":"0.5.1","class-validator":"0.14.2",commander:"14.0.0",dayjs:"1.11.13",fastify:"5.3.3","fs-extra":"11.3.0",jsonwebtoken:"9.0.2",lodash:"4.17.21","node-cache":"5.1.2","node-schedule":"2.1.1",ora:"5.4.1",otplib:"12.0.1","p-limit":"3.1.0",passport:"0.7.0","passport-jwt":"4.0.1","reflect-metadata":"0.2.2",rxjs:"7.8.2",semver:"7.7.2",systeminformation:"5.27.1",tail:"2.2.6",tar:"7.4.3","tcp-port-used":"1.0.2",unzipper:"0.12.3"},devDependencies:{"@antfu/eslint-config":"^4.14.1","@nestjs/testing":"^11.1.3","@prettier/plugin-xml":"^3.4.1","@types/fs-extra":"^11.0.4","@types/lodash":"^4.17.17","@types/node":"^22.15.30","@types/node-schedule":"^2.1.7","@types/passport-jwt":"^4.0.1","@types/semver":"^7.7.0","@types/tail":"^2.2.3","@types/tcp-port-used":"^1.0.4","@types/unzipper":"^0.10.11","@vitest/coverage-v8":"^3.2.2",concurrently:"^9.1.2","eslint-plugin-format":"^1.0.1","form-data":"^4.0.3",nodemon:"^3.1.10",rimraf:"^6.0.1","ts-loader":"^9.5.2","ts-node":"^10.9.2","tsconfig-paths":"^4.2.0",typescript:"^5.8.3","unplugin-swc":"^1.5.4",vitest:"^3.2.2"},maintainers:[{email:"bwp91@icloud.com",name:"bwp91"},{email:"dev@oz.nu",name:"oznu"},{email:"northern.man1@gmail.com",name:"northernman"},{email:"mail@anderl-bauer.de",name:"supereg"},{email:"khaos.tian@gmail.com",name:"khaost"},{email:"erik.baauw@xs4all.nl",name:"ebaauw"},{email:"donavan.becker@icloud.com",name:"donavanbecker"},{email:"dustin.greif@gmail.com",name:"dustin.greif"},{email:"nfarina@gmail.com",name:"nfarina"}],scarfSettings:{enabled:!1}}});var v=function(i){return i[i.State=0]="State",i[i.Transition=1]="Transition",i[i.Sequence=2]="Sequence",i[i.Group=3]="Group",i[i.Animate=4]="Animate",i[i.Keyframes=5]="Keyframes",i[i.Style=6]="Style",i[i.Trigger=7]="Trigger",i[i.Reference=8]="Reference",i[i.AnimateChild=9]="AnimateChild",i[i.AnimateRef=10]="AnimateRef",i[i.Query=11]="Query",i[i.Stagger=12]="Stagger",i}(v||{}),It="*";function tt(i,s){return{type:v.Trigger,name:i,definitions:s,options:{}}}function P(i,s=null){return{type:v.Animate,styles:s,timings:i}}function Yt(i,s=null){return{type:v.Sequence,steps:i,options:s}}function R(i){return{type:v.Style,styles:i,offset:null}}function H(i,s,t){return{type:v.State,name:i,styles:s,options:t}}function B(i,s,t=null){return{type:v.Transition,expr:i,animation:s,options:t}}var W=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(s=0,t=0){this.totalTime=s+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(s=>s()),this._onDoneFns=[])}onStart(s){this._originalOnStartFns.push(s),this._onStartFns.push(s)}onDone(s){this._originalOnDoneFns.push(s),this._onDoneFns.push(s)}onDestroy(s){this._onDestroyFns.push(s)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(s=>s()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(s=>s()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(s){this._position=this.totalTime?s*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(s){let t=s=="start"?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}},X=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(s){this.players=s;let t=0,e=0,n=0,o=this.players.length;o==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++t==o&&this._onFinish()}),a.onDestroy(()=>{++e==o&&this._onDestroy()}),a.onStart(()=>{++n==o&&this._onStart()})}),this.totalTime=this.players.reduce((a,d)=>Math.max(a,d.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(s=>s()),this._onDoneFns=[])}init(){this.players.forEach(s=>s.init())}onStart(s){this._onStartFns.push(s)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(s=>s()),this._onStartFns=[])}onDone(s){this._onDoneFns.push(s)}onDestroy(s){this._onDestroyFns.push(s)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(s=>s.play())}pause(){this.players.forEach(s=>s.pause())}restart(){this.players.forEach(s=>s.restart())}finish(){this._onFinish(),this.players.forEach(s=>s.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(s=>s.destroy()),this._onDestroyFns.forEach(s=>s()),this._onDestroyFns=[])}reset(){this.players.forEach(s=>s.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(s){let t=s*this.totalTime;this.players.forEach(e=>{let n=e.totalTime?Math.min(1,t/e.totalTime):1;e.setPosition(n)})}getPosition(){let s=this.players.reduce((t,e)=>t===null||e.totalTime>t.totalTime?e:t,null);return s!=null?s.getPosition():0}beforeDestroy(){this.players.forEach(s=>{s.beforeDestroy&&s.beforeDestroy()})}triggerCallback(s){let t=s=="start"?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}},Ot="!";var _t=["toast-component",""];function Et(i,s){if(i&1){let t=Q();h(0,"button",5),j("click",function(){V(t);let n=c();return z(n.remove())}),h(1,"span",6),f(2,"\xD7"),p()()}}function Ft(i,s){if(i&1&&(Y(0),f(1),K()),i&2){let t=c(2);r(),b("[",t.duplicatesCount+1,"]")}}function jt(i,s){if(i&1&&(h(0,"div"),f(1),S(2,Ft,2,1,"ng-container",4),p()),i&2){let t=c();m(t.options.titleClass),E("aria-label",t.title),r(),b(" ",t.title," "),r(),l("ngIf",t.duplicatesCount)}}function At(i,s){if(i&1&&F(0,"div",7),i&2){let t=c();m(t.options.messageClass),l("innerHTML",t.message,q)}}function Rt(i,s){if(i&1&&(h(0,"div",8),f(1),p()),i&2){let t=c();m(t.options.messageClass),E("aria-label",t.message),r(),b(" ",t.message," ")}}function Ht(i,s){if(i&1&&(h(0,"div"),F(1,"div",9),p()),i&2){let t=c();r(),A("width",t.width()+"%")}}function kt(i,s){if(i&1){let t=Q();h(0,"button",5),j("click",function(){V(t);let n=c();return z(n.remove())}),h(1,"span",6),f(2,"\xD7"),p()()}}function Nt(i,s){if(i&1&&(Y(0),f(1),K()),i&2){let t=c(2);r(),b("[",t.duplicatesCount+1,"]")}}function Mt(i,s){if(i&1&&(h(0,"div"),f(1),S(2,Nt,2,1,"ng-container",4),p()),i&2){let t=c();m(t.options.titleClass),E("aria-label",t.title),r(),b(" ",t.title," "),r(),l("ngIf",t.duplicatesCount)}}function Pt(i,s){if(i&1&&F(0,"div",7),i&2){let t=c();m(t.options.messageClass),l("innerHTML",t.message,q)}}function Bt(i,s){if(i&1&&(h(0,"div",8),f(1),p()),i&2){let t=c();m(t.options.messageClass),E("aria-label",t.message),r(),b(" ",t.message," ")}}function $t(i,s){if(i&1&&(h(0,"div"),F(1,"div",9),p()),i&2){let t=c();r(),A("width",t.width()+"%")}}var et=class{_attachedHost;component;viewContainerRef;injector;constructor(s,t){this.component=s,this.injector=t}attach(s,t){return this._attachedHost=s,s.attach(this,t)}detach(){let s=this._attachedHost;if(s)return this._attachedHost=void 0,s.detach()}get isAttached(){return this._attachedHost!=null}setAttachedHost(s){this._attachedHost=s}},it=class{_attachedPortal;_disposeFn;attach(s,t){return this._attachedPortal=s,this.attachComponentPortal(s,t)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(s){this._disposeFn=s}},st=class{_overlayRef;componentInstance;duplicatesCount=0;_afterClosed=new g;_activate=new g;_manualClose=new g;_resetTimeout=new g;_countDuplicate=new g;constructor(s){this._overlayRef=s}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(s,t){s&&this._resetTimeout.next(),t&&this._countDuplicate.next(++this.duplicatesCount)}},D=class{toastId;config;message;title;toastType;toastRef;_onTap=new g;_onAction=new g;constructor(s,t,e,n,o,a){this.toastId=s,this.config=t,this.message=e,this.title=n,this.toastType=o,this.toastRef=a,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(s){this._onAction.next(s)}onAction(){return this._onAction.asObservable()}},vt={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing"},yt=new ct("ToastConfig"),nt=class extends it{_hostDomElement;_componentFactoryResolver;_appRef;constructor(s,t,e){super(),this._hostDomElement=s,this._componentFactoryResolver=t,this._appRef=e}attachComponentPortal(s,t){let e=this._componentFactoryResolver.resolveComponentFactory(s.component),n;return n=e.create(s.injector),this._appRef.attachView(n.hostView),this.setDisposeFn(()=>{this._appRef.detachView(n.hostView),n.destroy()}),t?this._hostDomElement.insertBefore(this._getComponentRootNode(n),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(n)),n}_getComponentRootNode(s){return s.hostView.rootNodes[0]}},Lt=(()=>{class i{_document=_(Z);_containerElement;ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let t=this._document.createElement("div");t.classList.add("overlay-container"),t.setAttribute("aria-live","polite"),this._document.body.appendChild(t),this._containerElement=t}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),ot=class{_portalHost;constructor(s){this._portalHost=s}attach(s,t=!0){return this._portalHost.attach(s,t)}detach(){return this._portalHost.detach()}},Vt=(()=>{class i{_overlayContainer=_(Lt);_componentFactoryResolver=_(dt);_appRef=_(M);_document=_(Z);_paneElements=new Map;create(t,e){return this._createOverlayRef(this.getPaneElement(t,e))}getPaneElement(t="",e){return this._paneElements.get(e)||this._paneElements.set(e,{}),this._paneElements.get(e)[t]||(this._paneElements.get(e)[t]=this._createPaneElement(t,e)),this._paneElements.get(e)[t]}_createPaneElement(t,e){let n=this._document.createElement("div");return n.id="toast-container",n.classList.add(t),n.classList.add("toast-container"),e?e.getContainerElement().appendChild(n):this._overlayContainer.getContainerElement().appendChild(n),n}_createPortalHost(t){return new nt(t,this._componentFactoryResolver,this._appRef)}_createOverlayRef(t){return new ot(this._createPortalHost(t))}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),bt=(()=>{class i{overlay;_injector;sanitizer;ngZone;toastrConfig;currentlyActive=0;toasts=[];overlayContainer;previousToastMessage;index=0;constructor(t,e,n,o,a){this.overlay=e,this._injector=n,this.sanitizer=o,this.ngZone=a,this.toastrConfig=u(u({},t.default),t.config),t.config.iconClasses&&(this.toastrConfig.iconClasses=u(u({},t.default.iconClasses),t.config.iconClasses))}show(t,e,n={},o=""){return this._preBuildNotification(o,t,e,this.applyConfig(n))}success(t,e,n={}){let o=this.toastrConfig.iconClasses.success||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}error(t,e,n={}){let o=this.toastrConfig.iconClasses.error||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}info(t,e,n={}){let o=this.toastrConfig.iconClasses.info||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}warning(t,e,n={}){let o=this.toastrConfig.iconClasses.warning||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}clear(t){for(let e of this.toasts)if(t!==void 0){if(e.toastId===t){e.toastRef.manualClose();return}}else e.toastRef.manualClose()}remove(t){let e=this._findToast(t);if(!e||(e.activeToast.toastRef.close(),this.toasts.splice(e.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActive<this.toastrConfig.maxOpened&&this.toasts[this.currentlyActive]){let n=this.toasts[this.currentlyActive].toastRef;n.isInactive()||(this.currentlyActive=this.currentlyActive+1,n.activate())}return!0}findDuplicate(t="",e="",n,o){let{includeTitleDuplicates:a}=this.toastrConfig;for(let d of this.toasts){let k=a&&d.title===t;if((!a||k)&&d.message===e)return d.toastRef.onDuplicate(n,o),d}return null}applyConfig(t={}){return u(u({},this.toastrConfig),t)}_findToast(t){for(let e=0;e<this.toasts.length;e++)if(this.toasts[e].toastId===t)return{index:e,activeToast:this.toasts[e]};return null}_preBuildNotification(t,e,n,o){return o.onActivateTick?this.ngZone.run(()=>this._buildNotification(t,e,n,o)):this._buildNotification(t,e,n,o)}_buildNotification(t,e,n,o){if(!o.toastComponent)throw new Error("toastComponent required");let a=this.findDuplicate(n,e,this.toastrConfig.resetTimeoutOnDuplicate&&o.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&n||e)&&this.toastrConfig.preventDuplicates&&a!==null)return a;this.previousToastMessage=e;let d=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&(d=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));let k=this.overlay.create(o.positionClass,this.overlayContainer);this.index=this.index+1;let rt=e;e&&o.enableHtml&&(rt=this.sanitizer.sanitize(ht.HTML,e));let I=new st(k),$=new D(this.index,o,rt,n,t,I),Ct=[{provide:D,useValue:$}],wt=N.create({providers:Ct,parent:this._injector}),Dt=new et(o.toastComponent,wt),at=k.attach(Dt,o.newestOnTop);I.componentInstance=at.instance;let L={toastId:this.index,title:n||"",message:e||"",toastRef:I,onShown:I.afterActivate(),onHidden:I.afterClosed(),onTap:$.onTap(),onAction:$.onAction(),portal:at};return d||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{L.toastRef.activate()})),this.toasts.push(L),L}static \u0275fac=function(e){return new(e||i)(w(yt),w(Vt),w(N),w(gt),w(U))};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),zt=(()=>{class i{toastrService;toastPackage;ngZone;message;title;options;duplicatesCount;originalTimeout;width=O(-1);toastClasses="";state;get _state(){return this.state()}get displayStyle(){if(this.state().value==="inactive")return"none"}timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.ngZone=n,this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o}),this.state=O({value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.update(t=>T(u({},t),{value:"active"})),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let t=new Date().getTime(),e=this.hideTime-t;this.width.set(e/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(n=>100-n),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.update(t=>T(u({},t),{value:"active"})),this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){this.state().value!=="removed"&&(clearTimeout(this.timeout),this.state.update(t=>T(u({},t),{value:"removed"})),this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){this.state().value!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state().value!=="removed"&&this.options.disableTimeOut!=="extendedTimeOut"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state().value==="removed"||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(t),e)):this.timeout=setTimeout(()=>t(),e)}outsideInterval(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(t),e)):this.intervalId=setInterval(()=>t(),e)}runInsideAngular(t){this.ngZone?this.ngZone.run(()=>t()):t()}static \u0275fac=function(e){return new(e||i)(y(bt),y(D),y(U))};static \u0275cmp=G({type:i,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(e,n){e&1&&j("click",function(){return n.tapToast()})("mouseenter",function(){return n.stickAround()})("mouseleave",function(){return n.delayedHideToast()}),e&2&&(mt("@flyInOut",n._state),m(n.toastClasses),A("display",n.displayStyle))},attrs:_t,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(e,n){e&1&&S(0,Et,3,0,"button",0)(1,jt,3,5,"div",1)(2,At,1,3,"div",2)(3,Rt,2,4,"div",3)(4,Ht,2,2,"div",4),e&2&&(l("ngIf",n.options.closeButton),r(),l("ngIf",n.title),r(),l("ngIf",n.message&&n.options.enableHtml),r(),l("ngIf",n.message&&!n.options.enableHtml),r(),l("ngIf",n.options.progressBar))},dependencies:[J],encapsulation:2,data:{animation:[tt("flyInOut",[H("inactive",R({opacity:0})),H("active",R({opacity:1})),H("removed",R({opacity:0})),B("inactive => active",P("{{ easeTime }}ms {{ easing }}")),B("active => removed",P("{{ easeTime }}ms {{ easing }}"))])]},changeDetection:0})}return i})(),Zt=T(u({},vt),{toastComponent:zt}),qt=(i={})=>ut([{provide:yt,useValue:{default:Zt,config:i}}]),be=(()=>{class i{static forRoot(t={}){return{ngModule:i,providers:[qt(t)]}}static \u0275fac=function(e){return new(e||i)};static \u0275mod=pt({type:i});static \u0275inj=lt({})}return i})();var Gt=(()=>{class i{toastrService;toastPackage;appRef;message;title;options;duplicatesCount;originalTimeout;width=O(-1);toastClasses="";get displayStyle(){return this.state()==="inactive"?"none":null}state=O("inactive");timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.appRef=n,this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.set("active"),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.timeout=setTimeout(()=>{this.remove()},this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))),this.options.onActivateTick&&this.appRef.tick()}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let t=new Date().getTime(),e=this.hideTime-t;this.width.set(e/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(n=>100-n),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.set("active"),this.options.timeOut=this.originalTimeout,this.timeout=setTimeout(()=>this.remove(),this.originalTimeout),this.hideTime=new Date().getTime()+(this.originalTimeout||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))}remove(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.state.set("removed"),this.timeout=setTimeout(()=>this.toastrService.remove(this.toastPackage.toastId)))}tapToast(){this.state()!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state()==="removed"||(this.timeout=setTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10)))}static \u0275fac=function(e){return new(e||i)(y(bt),y(D),y(M))};static \u0275cmp=G({type:i,selectors:[["","toast-component",""]],hostVars:4,hostBindings:function(e,n){e&1&&j("click",function(){return n.tapToast()})("mouseenter",function(){return n.stickAround()})("mouseleave",function(){return n.delayedHideToast()}),e&2&&(m(n.toastClasses),A("display",n.displayStyle))},attrs:_t,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(e,n){e&1&&S(0,kt,3,0,"button",0)(1,Mt,3,5,"div",1)(2,Pt,1,3,"div",2)(3,Bt,2,4,"div",3)(4,$t,2,2,"div",4),e&2&&(l("ngIf",n.options.closeButton),r(),l("ngIf",n.title),r(),l("ngIf",n.message&&n.options.enableHtml),r(),l("ngIf",n.message&&!n.options.enableHtml),r(),l("ngIf",n.options.progressBar))},dependencies:[J],encapsulation:2,changeDetection:0})}return i})(),Te=T(u({},vt),{toastComponent:Gt});var x={serverTarget:Tt().version,production:!0,socket:"",api:{base:"/api",socket:`${window.location.protocol==="http:"?"ws://":"wss://"}${window.location.host}`,origin:window.location.origin},jwt:{tokenKey:"access_token",allowedDomains:[document.location.host],disallowedRoutes:[`${window.location.protocol}//${document.location.host}/api/auth/login`]},apiHttpOptions:{},owm:{appid:"fec67b55f7f74deaa28df89ba6a60821"}};var Fe=(()=>{class i{$http=_(ft);constructor(){}get(t,e){return this.$http.get(`${x.api.base}${t}`,e)}post(t,e,n){return this.$http.post(`${x.api.base}${t}`,e,n)}put(t,e,n){return this.$http.put(`${x.api.base}${t}`,e,n)}patch(t,e,n){return this.$http.patch(`${x.api.base}${t}`,e,n)}delete(t,e){return this.$http.delete(`${x.api.base}${t}`,e)}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();export{v as a,It as b,Yt as c,R as d,W as e,X as f,Ot as g,bt as h,be as i,x as j,Fe as k};
@@ -1 +0,0 @@
1
- import{a,b as u,c as g,d as C,e as M}from"./chunk-4SE23PZF.js";import{a as d}from"./chunk-ZWEOGU6R.js";import{a as c}from"./chunk-O3LVR5HE.js";import{a as l}from"./chunk-EJL6YYO3.js";import"./chunk-WOOQ2PNV.js";import"./chunk-SHW4IV7S.js";import"./chunk-XJY7A24W.js";import"./chunk-TIE2WSHM.js";import"./chunk-6SEBWKRM.js";import"./chunk-KCD74P4O.js";import"./chunk-3XNLIEKF.js";import"./chunk-ZCCLGLMW.js";import"./chunk-77GWB2NW.js";import"./chunk-P5DRV4DP.js";import"./chunk-HHPGR3HF.js";import"./chunk-6M524CF7.js";import{q as s}from"./chunk-OHFVMRCL.js";import{A as p,z as n}from"./chunk-MMYB2ZMV.js";import"./chunk-LJHC4K5I.js";import{g as m}from"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import{c as f}from"./chunk-KPKQNEWS.js";import{ha as t,kd as i,mb as e}from"./chunk-QSPBB6EE.js";var N=[{path:"",loadComponent:()=>import("./chunk-ILJGMB2B.js").then(o=>o.SettingsComponent),canActivate:[d]}],R=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[m.forChild(N),m]})}return o})();var L=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[i,n,p,f,s,R,M,u,a,l,g,c,C]})}return o})();export{L as SettingsModule};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-D2C4VO6I.js";import"./chunk-4O7NT7TT.js";import"./chunk-J6ICAYDY.js";import"./chunk-WOOQ2PNV.js";import"./chunk-SHW4IV7S.js";import"./chunk-XJY7A24W.js";import"./chunk-TIE2WSHM.js";import"./chunk-6SEBWKRM.js";import"./chunk-KCD74P4O.js";import"./chunk-3XNLIEKF.js";import"./chunk-ZCCLGLMW.js";import"./chunk-77GWB2NW.js";import"./chunk-P5DRV4DP.js";import"./chunk-HHPGR3HF.js";import"./chunk-6M524CF7.js";import"./chunk-OHFVMRCL.js";import"./chunk-MMYB2ZMV.js";import"./chunk-LJHC4K5I.js";import"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as PluginsComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-X6DNUVKQ.js";import"./chunk-LJHC4K5I.js";import"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as ContainerRestartComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-ZLN7B6FX.js";import"./chunk-LJHC4K5I.js";import"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as RestartLinuxComponent};
@@ -1 +0,0 @@
1
- import{e as a}from"./chunk-FIPAZ64I.js";import"./chunk-ZCCLGLMW.js";import"./chunk-OHFVMRCL.js";import"./chunk-MMYB2ZMV.js";import"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as UsersComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-JQ3UOMSL.js";import"./chunk-O3LVR5HE.js";import"./chunk-77GWB2NW.js";import"./chunk-P5DRV4DP.js";import"./chunk-OHFVMRCL.js";import"./chunk-MMYB2ZMV.js";import"./chunk-LJHC4K5I.js";import"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as SetupWizardComponent};
@@ -1 +0,0 @@
1
- import{e as a}from"./chunk-4SE23PZF.js";import"./chunk-O3LVR5HE.js";import"./chunk-EJL6YYO3.js";import"./chunk-WOOQ2PNV.js";import"./chunk-SHW4IV7S.js";import"./chunk-XJY7A24W.js";import"./chunk-TIE2WSHM.js";import"./chunk-6SEBWKRM.js";import"./chunk-KCD74P4O.js";import"./chunk-3XNLIEKF.js";import"./chunk-ZCCLGLMW.js";import"./chunk-77GWB2NW.js";import"./chunk-P5DRV4DP.js";import"./chunk-HHPGR3HF.js";import"./chunk-6M524CF7.js";import"./chunk-OHFVMRCL.js";import"./chunk-MMYB2ZMV.js";import"./chunk-LJHC4K5I.js";import"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as SettingsComponent};
@@ -1 +0,0 @@
1
- import{b as X}from"./chunk-O3LVR5HE.js";import{n as j}from"./chunk-OHFVMRCL.js";import{A as G,c as B,d as v,e as P,f as V,g as O,j as z,m as R,p as W,q as N,z as D}from"./chunk-MMYB2ZMV.js";import{e as L}from"./chunk-QY7HUYL5.js";import{c as Q}from"./chunk-SNBPXFEO.js";import{b as J}from"./chunk-3AAYJF3N.js";import{h as q,j as T,k as K}from"./chunk-CX2DFQ7S.js";import{l as M}from"./chunk-R3JWGCC5.js";import{a as H,b as A}from"./chunk-KPKQNEWS.js";import{$a as i,Ac as s,Bc as l,Hb as _,Ib as f,Nb as h,Ob as n,Pb as o,Qb as d,Ub as k,Xb as b,Yb as m,bd as I,h as y,jc as p,kc as c,la as g,lb as E,lc as w,ra as C,sa as x,w as S,wc as $,xc as F}from"./chunk-QSPBB6EE.js";var U=(t,u)=>({"is-valid":t,"is-invalid":u}),Z=t=>({"button-loading":t});function ee(t,u){if(t&1){let e=k();n(0,"div",2),d(1,"img",3),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"button",5),b("click",function(){C(e);let a=m();return x(a.onClickGettingStarted())}),p(6),s(7,"translate"),o(),n(8,"small",6)(9,"a",7),b("click",function(){C(e);let a=m();return x(a.onClickRestoreBackup())}),p(10),s(11,"translate"),o()()()}t&2&&(i(3),c(l(4,3,"setup.welcome_to_homebridge")),i(3),w(" ",l(7,5,"setup.button_get_started")," "),i(4),c(l(11,7,"setup_wizard_message_restore")))}function te(t,u){if(t&1){let e=k();n(0,"div",2),d(1,"img",8),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"div",9)(6,"p"),p(7),s(8,"translate"),o(),n(9,"form",10),b("ngSubmit",function(){C(e);let a=m();return x(a.createFirstUser())}),n(10,"div",11)(11,"span",12),d(12,"i",13),o(),d(13,"input",14),s(14,"translate"),o(),n(15,"div",11)(16,"span",12),d(17,"i",15),o(),d(18,"input",16),s(19,"translate"),o(),n(20,"div",17)(21,"span",12),d(22,"i",15),o(),d(23,"input",18),s(24,"translate"),o(),n(25,"div",19)(26,"button",20),p(27),s(28,"translate"),d(29,"i",21),o()()()()()}if(t&2){let e=m();i(3),c(l(4,15,"setup.create_account")),i(4),c(l(8,17,"setup.create_account_reason")),i(2),h("formGroup",e.createUserForm),i(4),h("placeholder",l(14,19,"users.label_username"))("readonly",e.loading)("ngClass",F(27,U,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.valid,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.invalid)),i(5),h("placeholder",l(19,21,"users.label_password"))("readonly",e.loading)("ngClass",F(30,U,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.valid,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.errors)),i(5),h("placeholder",l(24,23,"users.label_confirm_password"))("readonly",e.loading)("ngClass",F(33,U,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.valid,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.errors)),i(3),h("disabled",e.createUserForm.invalid||e.loading)("ngClass",$(36,Z,e.loading)),i(),w(" ",l(28,25,"setup.create_account")," ")}}function ie(t,u){t&1&&(n(0,"span"),d(1,"i",26),p(2),s(3,"translate"),o()),t&2&&(i(2),w(" ",l(3,1,"backup.label_uploading")," "))}function ne(t,u){t&1&&(p(0),s(1,"translate")),t&2&&w(" ",l(1,1,"backup.button_restore_backup")," ")}function oe(t,u){if(t&1){let e=k();n(0,"div",2),d(1,"img",8),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"p"),p(6),s(7,"translate"),o(),n(8,"input",22),b("change",function(a){C(e);let Y=m();return x(Y.handleRestoreFileInput(a.target.files))}),o(),n(9,"div",23)(10,"button",24),b("click",function(){C(e);let a=m();return x(a.onClickCancelRestore())}),p(11),s(12,"translate"),o(),n(13,"button",25),b("click",function(){C(e);let a=m();return x(a.onRestoreBackupClick())}),_(14,ie,4,3,"span"),_(15,ne,2,3),o()()()}if(t&2){let e=m();i(3),c(l(4,7,"form.button_restore")),i(3),c(l(7,9,"backup.restore_help_one")),i(4),h("disabled",e.restoreUploading),i(),w(" ",l(12,11,"form.button_cancel")," "),i(2),h("disabled",e.restoreUploading||!e.selectedFile),i(),f(e.restoreUploading?14:-1),i(),f(e.restoreUploading?-1:15)}}function re(t,u){t&1&&(n(0,"div",2),d(1,"img",8),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"h1"),d(6,"i",26),o()()),t&2&&(i(3),c(l(4,1,"restart.title_restart")))}function ae(t,u){t&1&&(n(0,"div",2),d(1,"img",8),n(2,"h3",27),p(3),s(4,"translate"),o(),n(5,"p",28),p(6),s(7,"translate"),o(),n(8,"a",29),p(9),s(10,"translate"),o()()),t&2&&(i(3),c(l(4,3,"setup_wizard_message_complete_title")),i(3),c(l(7,5,"setup_wizard_message_complete_message")),i(3),c(l(10,7,"setup.open_dashboard")))}var Se=(()=>{class t{$api=g(K);$auth=g(Q);$modal=g(j);$settings=g(J);$title=g(M);$toastr=g(q);$translate=g(H);previousTitle;step="welcome";createUserForm=new O({username:new z("",[v.required]),password:new z("",[v.compose([v.required,v.minLength(4)])]),passwordConfirm:new z("",[v.required])},this.matchPassword);loading=!1;selectedFile;restoreUploading=!1;constructor(){}ngOnInit(){this.previousTitle=this.$title.getTitle(),this.$title.setTitle("Setup Homebridge")}matchPassword(e){let r=e.get("password").value,a=e.get("passwordConfirm").value;if(r!==a)e.get("passwordConfirm").setErrors({matchPassword:!0});else return null}ngOnDestroy(){this.$title.setTitle(this.previousTitle)}onClickGettingStarted(){this.step="create-account"}onClickRestoreBackup(){this.step="restore-backup"}onClickCancelRestore(){this.selectedFile=null,this.step="welcome"}createFirstUser(){this.loading=!0;let e=this.createUserForm.getRawValue();e.name=e.username,this.$api.post("/setup-wizard/create-first-user",e).subscribe({next:()=>y(this,null,function*(){this.$settings.env.setupWizardComplete=!0,yield this.$auth.login({username:e.username,password:e.password}),this.step="setup-complete"}),error:r=>{this.loading=!1,console.error(r),this.$toastr.error(r.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}handleRestoreFileInput(e){e.length?this.selectedFile=e[0]:delete this.selectedFile}onRestoreBackupClick(){this.restoreUploading=!0,this.uploadHomebridgeArchive()}uploadHomebridgeArchive(){return y(this,null,function*(){try{let e=yield S(this.$api.get("/setup-wizard/get-setup-wizard-token"));window.localStorage.setItem(T.jwt.tokenKey,e.access_token),this.$auth.token=e.access_token;let r=new FormData;r.append("restoreArchive",this.selectedFile,this.selectedFile.name),yield S(this.$api.post("/backup/restore",r)),this.openRestoreModal(),this.restoreUploading=!1}catch(e){this.restoreUploading=!1,console.error(e),this.$toastr.error(e.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}openRestoreModal(){let e=this.$modal.open(X,{size:"lg",backdrop:"static"});e.componentInstance.setupWizardRestore=!0,e.result.then(r=>{r===!0&&this.waitForHomebridgeToRestart()})}waitForHomebridgeToRestart(){return y(this,null,function*(){this.step="restarting",window.localStorage.removeItem(T.jwt.tokenKey),this.$auth.token=null,yield new Promise(r=>setTimeout(r,15e3));let e=setInterval(()=>y(this,null,function*(){try{yield S(this.$api.get("/auth/settings")),clearInterval(e),location.reload()}catch{}}),1e3)})}static \u0275fac=function(r){return new(r||t)};static \u0275cmp=E({type:t,selectors:[["ng-component"]],decls:7,vars:5,consts:[[1,"setup-container","d-flex","align-items-center","justify-content-center"],[1,"w-100","setup-card","d-flex","py-5"],[1,"w-100","d-flex","flex-column","align-items-center"],["src","/assets/homebridge-color-round.svg","alt","hb logo",1,"homebridge-logo","mx-auto"],[1,"pt-4","pb-3","text-center"],["type","button",1,"btn","btn-lg","btn-primary",3,"click"],[1,"mt-3"],["href","javascript:void(0)",1,"grey-text",3,"click"],["src","/assets/homebridge-color-round.svg","alt","hb logo",1,"homebridge-logo","homebridge-logo-small","mx-auto"],[1,"w-100"],["novalidate","",3,"ngSubmit","formGroup"],[1,"md-form","input-group","mb-3"],[1,"input-group-text","custom-input"],[1,"fas","fa-fw","fa-user","prefix","grey-text"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none","tabindex","1",1,"form-control","py-2",3,"placeholder","readonly","ngClass"],[1,"fas","fa-fw","fa-lock","prefix","grey-text"],["formControlName","password","type","password","id","form-pass","autocomplete","new-password","tabindex","2",1,"form-control","py-2",3,"placeholder","readonly","ngClass"],[1,"md-form","input-group","mb-4"],["formControlName","passwordConfirm","type","password","id","form-pass-confirm","autocomplete","new-password","tabindex","2",1,"form-control","py-2",3,"placeholder","readonly","ngClass"],[1,"w-100","text-center"],["type","submit",1,"btn","btn-primary",3,"disabled","ngClass"],[1,"button-loading-overlay","fas","fa-fw","fa-spinner","fa-pulse"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz",1,"form-control",3,"change"],[1,"mt-3","w-100","d-flex","justify-content-between"],["type","button",1,"btn","btn-elegant","ms-0",3,"click","disabled"],["type","button",1,"btn","btn-primary","me-0",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"pt-4","pb-3"],[1,"text-center"],["routerLink","/",1,"btn","btn-lg","btn-primary","mt-3"]],template:function(r,a){r&1&&(n(0,"div",0)(1,"div",1),_(2,ee,12,9,"div",2),_(3,te,30,38,"div",2),_(4,oe,16,13,"div",2),_(5,re,7,3,"div",2),_(6,ae,11,9,"div",2),o()()),r&2&&(i(2),f(a.step==="welcome"?2:-1),i(),f(a.step==="create-account"?3:-1),i(),f(a.step==="restore-backup"?4:-1),i(),f(a.step==="restarting"?5:-1),i(),f(a.step==="setup-complete"?6:-1))},dependencies:[D,R,B,P,V,G,W,N,I,L,A],styles:[".setup-container[_ngcontent-%COMP%]{background-size:cover;z-index:-1;padding-top:1em;padding-bottom:1em}@media screen and (min-height: 500px) and (min-width: 600px){.setup-container[_ngcontent-%COMP%]{padding-top:4em}}.setup-card[_ngcontent-%COMP%]{max-width:600px;border-radius:15px;background-color:#fff;padding-right:25px;padding-left:25px}.setup-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width: 600px){.setup-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}} body.dark-mode .setup-card{background-color:#2b2b2b;color:#fff}.homebridge-logo[_ngcontent-%COMP%]{margin-right:10px;height:200px}@media screen and (max-height: 500px){.homebridge-logo[_ngcontent-%COMP%]{height:100px}}@media screen and (max-width: 600px){.homebridge-logo[_ngcontent-%COMP%]{height:100px}}.homebridge-logo-small[_ngcontent-%COMP%]{height:50px}.button-loading[_ngcontent-%COMP%]{position:relative;color:#0000}.button-loading[_ngcontent-%COMP%] .button-loading-overlay[_ngcontent-%COMP%]{display:block;color:#fff}.button-loading-overlay[_ngcontent-%COMP%]{display:none;position:absolute;top:9px;left:0;right:0}small[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}"]})}return t})();export{Se as a};
@@ -1,8 +0,0 @@
1
- import{a as k}from"./chunk-3XNLIEKF.js";import{a as z,b as A}from"./chunk-P5DRV4DP.js";import{a as l}from"./chunk-LJHC4K5I.js";import{M as n,g as r,ga as c,la as d,n as h}from"./chunk-QSPBB6EE.js";var f=r(z(),1),a=r(A(),1),p=r(k(),1);var $=(()=>{class t{$ws=d(l);term;io;fitAddon;webLinksAddon;resize;elementResize;pluginName;constructor(){}startTerminal(m,s={},u,w){this.pluginName=w,this.elementResize=u,this.io=this.$ws.connectToNamespace("log"),this.term=new f.Terminal(s),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new a.FitAddon,this.webLinksAddon=new p.WebLinksAddon,this.resize=new h,this.term.open(m.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.subscribe(()=>{this.term.reset(),this.io.socket.emit("tail-log",{cols:this.term.cols,rows:this.term.rows})}),this.io.socket.on("disconnect",()=>{this.term.write(`
2
- \r
3
- \rWebsocket failed to connect. Is the server running?
4
- \r
5
- \r`)}),this.resize.pipe(n(500)).subscribe(e=>{this.io.socket.emit("resize",e)}),this.io.socket.on("stdout",e=>{if(this.pluginName){let b=e.split(`
6
- \r`),o=!1;b.forEach(i=>{if(i){if(o)if(i.match(/36m\[.*?\]/))o=!1;else{this.term.write(`${i}
7
- \r`);return}i.includes(`36m[${this.pluginName}]`)&&(this.term.write(`${i}
8
- \r`),o=!0)}})}else this.term.write(e)}),this.term.onResize(e=>{this.resize.next(e)}),this.elementResize&&this.elementResize.pipe(n(100)).subscribe({next:()=>{this.fitAddon.fit()}})}destroyTerminal(){this.io.end(),this.term.dispose(),this.resize.complete(),this.elementResize&&this.elementResize.complete()}static \u0275fac=function(s){return new(s||t)};static \u0275prov=c({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{$ as a};
@@ -1 +0,0 @@
1
- import"./chunk-UOEYZIC7.js";import"./chunk-KCD74P4O.js";import"./chunk-3XNLIEKF.js";import"./chunk-77GWB2NW.js";import"./chunk-P5DRV4DP.js";import"./chunk-6M524CF7.js";import{q as n}from"./chunk-OHFVMRCL.js";import"./chunk-MMYB2ZMV.js";import"./chunk-LJHC4K5I.js";import{g as i}from"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import{c as s}from"./chunk-KPKQNEWS.js";import{ha as t,kd as m,mb as r}from"./chunk-QSPBB6EE.js";var f=[{path:"",loadComponent:()=>import("./chunk-T652ZDED.js").then(o=>o.LogsComponent)}],p=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(f),i]})}return o})();var h=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[m,p,n,s.forChild()]})}return o})();export{h as LogsModule};
@@ -1 +0,0 @@
1
- import{a as pe}from"./chunk-77GWB2NW.js";import{a as le,b as ce}from"./chunk-P5DRV4DP.js";import{m as z,n as F,o as Z}from"./chunk-OHFVMRCL.js";import{A as Y,b as K,c as L,e as Q,j as A,o as X}from"./chunk-MMYB2ZMV.js";import{a as ie}from"./chunk-LJHC4K5I.js";import{d as ee}from"./chunk-QY7HUYL5.js";import{b as te}from"./chunk-3AAYJF3N.js";import{h as P,k as D}from"./chunk-CX2DFQ7S.js";import{c as G,d as J}from"./chunk-R3JWGCC5.js";import{a as I,b as R}from"./chunk-KPKQNEWS.js";import{$a as i,Ac as s,Bc as l,Cc as y,Gb as C,Hb as u,Ib as b,Kb as H,Lb as j,M,Mb as U,Nb as _,Ob as r,Pb as n,Qb as d,Ub as T,Xb as x,Yb as m,bd as O,g as V,h as v,id as q,jc as c,kc as h,la as k,lb as $,lc as g,ra as B,sa as S,w as W,wc as w,xc as E}from"./chunk-QSPBB6EE.js";var N=V(pe(),1);var ae=V(le(),1),oe=V(ce(),1);var me=t=>({maxBackupSizeText:t});function ue(t,p){if(t&1&&d(0,"input",10),t&2){let e=m(2);_("value",e.selectedBackup.fileName)}}function be(t,p){if(t&1){let e=T();r(0,"input",12),x("change",function(o){B(e);let f=m(2);return S(f.handleRestoreFileInput(o.target.files))}),n()}}function _e(t,p){if(t&1&&(r(0,"div",4)(1,"div",7),d(2,"i",8),n(),r(3,"ul",9)(4,"li"),c(5),s(6,"translate"),n(),r(7,"li"),c(8),s(9,"translate"),n(),r(10,"li"),c(11),s(12,"translate"),n(),r(13,"li"),c(14),s(15,"translate"),n()(),u(16,ue,1,1,"input",10),u(17,be,1,0,"input",11),n()),t&2){let e=m();i(5),h(l(6,6,"backup.restore_help_one")),i(3),h(l(9,8,"backup.restore_help_two")),i(3),h(y(12,10,"backup.restore_max_size",w(15,me,e.maxFileSizeText))),i(3),h(l(15,13,"backup.restore_warning")),i(2),b(e.selectedBackup?16:-1),i(),b(e.selectedBackup?-1:17)}}function he(t,p){if(t&1){let e=T();r(0,"button",18),s(1,"translate"),x("click",function(){B(e);let o=m(2);return S(o.$activeModal.dismiss("Dismiss"))}),c(2),s(3,"translate"),n()}if(t&2){let e=m(2);_("disabled",e.clicked),C("aria-label",l(1,3,"form.button_close")),i(2),g(" ",l(3,5,"form.button_close")," ")}}function fe(t,p){if(t&1){let e=T();r(0,"button",18),s(1,"translate"),x("click",function(){B(e);let o=m(2);return S(o.reopenBackupModal())}),c(2),s(3,"translate"),n()}if(t&2){let e=m(2);_("disabled",e.clicked),C("aria-label",l(1,3,"form.button_back")),i(2),g(" ",l(3,5,"form.button_back")," ")}}function ke(t,p){t&1&&d(0,"i",19)}function xe(t,p){if(t&1&&(r(0,"span"),c(1),n()),t&2){let e=m(3);i(),g("",e.uploadPercent,"% - ")}}function ge(t,p){t&1&&(r(0,"span"),c(1," Extracting Archive"),n())}function Ce(t,p){t&1&&(r(0,"span"),c(1),s(2,"translate"),n()),t&2&&(i(),g(" ",l(2,1,"backup.label_uploading")))}function ve(t,p){if(t&1&&(r(0,"span"),u(1,ke,1,0,"i",19),u(2,xe,2,1,"span"),u(3,ge,2,0,"span"),u(4,Ce,3,3,"span"),n()),t&2){let e=m(2);i(),b(!e.uploadPercent||e.uploadPercent===100?1:-1),i(),b(e.uploadPercent&&e.uploadPercent!==100?2:-1),i(),b(e.uploadPercent===100?3:-1),i(),b(e.uploadPercent!==100?4:-1)}}function Be(t,p){t&1&&(c(0),s(1,"translate")),t&2&&g(" ",l(1,1,"form.button_restore")," ")}function Se(t,p){if(t&1){let e=T();r(0,"div",6)(1,"div",13),u(2,he,4,7,"button",14),u(3,fe,4,7,"button",14),n(),d(4,"div",15),r(5,"div",16)(6,"button",17),x("click",function(){B(e);let o=m();return S(o.onRestoreBackupClick())}),u(7,ve,5,4,"span"),u(8,Be,2,3),n()()()}if(t&2){let e=m();i(2),b(e.setupWizardRestore?2:-1),i(),b(e.setupWizardRestore?-1:3),i(3),_("disabled",!e.selectedBackup&&!e.selectedFile||e.clicked),i(),b(e.clicked?7:-1),i(),b(e.clicked?-1:8)}}function Te(t,p){if(t&1){let e=T();r(0,"div",6),d(1,"div",13),r(2,"div",15)(3,"button",20),x("click",function(){B(e);let o=m();return S(o.postBackupRestart())}),c(4),s(5,"translate"),n()(),d(6,"div",16),n()}t&2&&(i(4),g(" ",l(5,1,"menu.hbrestart.title")," "))}var re=(()=>{class t{$activeModal=k(z);$api=k(D);$modal=k(F);$route=k(ee);$toastr=k(P);$translate=k(I);$ws=k(ie);setupWizardRestore=!1;selectedBackup=null;clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;restoreArchiveType="homebridge";uploadPercent=0;term=new ae.Terminal;termTarget;fitAddon=new oe.FitAddon;io;constructor(){}ngOnInit(){return v(this,null,function*(){this.io=this.$ws.connectToNamespace("backup"),this.termTarget=document.getElementById("plugin-log-output"),this.term.open(this.termTarget),this.fitAddon.fit(),this.io.socket.on("stdout",e=>{this.term.write(e)}),this.setupWizardRestore&&(this.restoreStarted=!0,this.restoreInProgress=!0,this.startRestore())})}onRestoreBackupClick(){this.selectedBackup?this.restoreScheduledBackup():this.restoreArchiveType==="homebridge"?this.uploadHomebridgeArchive():this.restoreArchiveType==="hbfx"&&this.uploadHbfxArchive()}uploadHomebridgeArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore",e).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:a=>{console.error(a),this.$toastr.error(a.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})}restoreScheduledBackup(){return v(this,null,function*(){this.term.reset(),this.clicked=!0,this.$api.post(`/backup/scheduled-backups/${this.selectedBackup.id}/restore`,{}).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:e=>{console.error(e),this.$toastr.error(e.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})})}startRestore(){return v(this,null,function*(){this.io.request("do-restore").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success")),this.setupWizardRestore&&this.postBackupRestart()},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}uploadHbfxArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore/hbfx",e,{reportProgress:!0,observe:"events"}).subscribe({next:a=>{a.type===G.UploadProgress?this.uploadPercent=Math.round(100*a.loaded/a.total):a instanceof J&&(this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startHbfxRestore()},500),this.clicked=!1)},error:a=>{this.clicked=!1,console.error(a),this.$toastr.error(a.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})}startHbfxRestore(){return v(this,null,function*(){this.io.request("do-restore-hbfx").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success"))},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}handleRestoreFileInput(e){e.length?(this.selectedFile=e[0],this.selectedFile.name.endsWith(".hbfx")?this.restoreArchiveType="hbfx":this.restoreArchiveType="homebridge"):delete this.selectedFile}postBackupRestart(){this.$api.put("/backup/restart",{}).subscribe({next:()=>{this.$activeModal.close(!0),this.$route.navigate(["/"])},error:()=>{}})}reopenBackupModal(){this.$activeModal.dismiss(),this.$modal.open(ne,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.io.end()}static \u0275fac=function(a){return new(a||t)};static \u0275cmp=$({type:t,selectors:[["ng-component"]],inputs:{setupWizardRestore:"setupWizardRestore",selectedBackup:"selectedBackup"},decls:11,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-footer","justify-content-between"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","text","disabled","",1,"form-control","custom-input",3,"value"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control",3,"change"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"fa","fa-fw","fa-circle-notch","fa-spin"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(a,o){a&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),c(3),s(4,"translate"),n(),r(5,"button",3),s(6,"translate"),x("click",function(){return o.$activeModal.dismiss("Dismiss")}),n()(),u(7,_e,18,17,"div",4),d(8,"div",5),u(9,Se,9,5,"div",6),u(10,Te,7,3,"div",6),n()),a&2&&(i(3),h(l(4,7,"backup.title_backup")),i(2),_("disabled",o.restoreInProgress),C("aria-label",l(6,9,"form.button_close")),i(2),b(!o.restoreStarted&&!o.setupWizardRestore?7:-1),i(),_("hidden",!o.restoreStarted),i(),b(!o.restoreStarted||o.restoreFailed===!0?9:-1),i(),b(!o.restoreInProgress&&o.restoreStarted?10:-1))},dependencies:[R],encapsulation:2})}return t})();var ye=(t,p)=>({"fa-arrow-right":t,"fa-cog fa-spin":p}),$e=t=>({backupTime:t,dayCount:7}),we=(t,p)=>({"fa-trash":t,"fa-cog fa-spin":p}),Ee=(t,p)=>({backupSize:t,maxBackupSizeText:p});function ze(t,p){if(t&1&&(r(0,"li",23)(1,"label",28),c(2),s(3,"translate"),n(),r(4,"div",29),d(5,"input",30),s(6,"translate"),n()()),t&2){let e=m();i(2),h(l(3,3,"backup.settings_path")),i(3),_("formControl",e.pathFormControl),C("aria-label",l(6,5,"backup.settings_path"))}}function Fe(t,p){if(t&1&&(c(0),s(1,"date"),s(2,"translate")),t&2){let e=m(2);g(" ",y(2,4,"backup.scheduled_backup_time",w(7,$e,y(1,1,e.backupTime,"shortTime")))," ")}}function Ie(t,p){t&1&&(c(0),s(1,"translate")),t&2&&g(" ",l(1,1,"backup.scheduled_backup_disabled")," ")}function Re(t,p){if(t&1&&(r(0,"span",33),s(1,"translate"),d(2,"i",40),c(3),n()),t&2){let e=m().$implicit;_("ngbTooltip",y(1,2,"backup.backup_exceeds_max_size",E(5,Ee,e.size+"MB",e.maxBackupSizeText))),i(3),g(" ",e.size,"MB ")}}function Pe(t,p){if(t&1&&(r(0,"span"),c(1),n()),t&2){let e=m().$implicit;i(),g(" ",e.size,"MB ")}}function De(t,p){if(t&1){let e=T();r(0,"li",9)(1,"span")(2,"span",32),c(3),s(4,"date"),n(),d(5,"br"),r(6,"small",10),c(7),s(8,"date"),u(9,Re,4,8,"span",33),u(10,Pe,2,1,"span"),n()(),r(11,"span",34)(12,"button",35),s(13,"translate"),s(14,"translate"),x("click",function(){let o=B(e).$implicit,f=m(2);return S(f.restore(o))}),d(15,"i",36),n(),r(16,"button",37),s(17,"translate"),s(18,"translate"),x("click",function(){let o=B(e).$implicit,f=m(2);return S(f.download(o))}),d(19,"i",38),n(),r(20,"button",39),s(21,"translate"),s(22,"translate"),x("click",function(){let o=B(e).$implicit,f=m(2);return S(f.delete(o))}),d(23,"i",12),n()()()}if(t&2){let e=p.$implicit,a=m(2);i(2),_("ngbTooltip",e.fileName),i(),g(" ",y(4,15,e.timestamp,"mediumDate")," "),i(4),g(" ",y(8,18,e.timestamp,"shortTime")," \xB7 "),i(2),b(e.size>e.maxBackupSize?9:-1),i(),b(e.size<=e.maxBackupSize?10:-1),i(2),_("disabled",a.clicked||a.deleting||e.size>e.maxBackupSize)("ngbTooltip",l(13,21,"form.button_restore")),C("aria-label",l(14,23,"form.button_restore")),i(4),_("disabled",a.clicked||a.deleting)("ngbTooltip",l(17,25,"form.button_download")),C("aria-label",l(18,27,"form.button_download")),i(4),_("disabled",a.clicked||a.deleting)("ngbTooltip",l(21,29,"form.button_delete")),C("aria-label",l(22,31,"form.button_delete")),i(3),_("ngClass",E(33,we,e.id!==a.deleting,e.id===a.deleting))}}function Ve(t,p){if(t&1&&(r(0,"ul",14)(1,"li",15)(2,"h6",16),c(3),s(4,"translate"),n(),r(5,"p",31),u(6,Fe,3,9),u(7,Ie,2,3),n()(),j(8,De,24,36,"li",9,H),n()),t&2){let e=m();i(3),h(l(4,3,"backup.files_auto")),i(3),b(e.currentSettingEnabled&&e.backupTime?6:-1),i(),b(!e.currentSettingEnabled||!e.backupTime?7:-1),i(),U(e.scheduledBackups)}}var ne=(()=>{class t{$activeModal=k(z);$api=k(D);$modal=k(F);$settings=k(te);$toastr=k(P);$translate=k(I);clicked=!1;scheduledBackups=[];backupTime;deleting=null;currentSettingEnabled=!1;currentSettingPath="";enabledFormControl=new A(!1);pathFormControl=new A("");constructor(){}ngOnInit(){this.getScheduledBackups(),this.getNextBackup(),this.currentSettingEnabled=!this.$settings.env.scheduledBackupDisable,this.currentSettingPath=this.$settings.env.scheduledBackupPath,this.enabledFormControl.patchValue(this.currentSettingEnabled),this.pathFormControl.patchValue(this.currentSettingPath),this.enabledFormControl.valueChanges.pipe(M(400)).subscribe(e=>v(this,null,function*(){this.currentSettingEnabled=e,yield this.saveUiSettingChange("scheduledBackupDisable",!this.currentSettingEnabled)})),this.pathFormControl.valueChanges.pipe(M(400)).subscribe(e=>v(this,null,function*(){this.currentSettingPath=e,yield this.saveUiSettingChange("scheduledBackupPath",this.currentSettingPath)}))}saveUiSettingChange(e,a){return v(this,null,function*(){try{yield W(this.$api.put("/config-editor/ui",{key:e,value:a}))}catch(o){console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error"))}})}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").subscribe({next:e=>{this.scheduledBackups=e},error:e=>console.error(e)})}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").subscribe({next:e=>{this.backupTime=e.next},error:e=>{console.error(e)}})}download(e){this.$api.get(`/backup/scheduled-backups/${e.id}`,{observe:"response",responseType:"blob"}).subscribe({next:a=>{let o=e.fileName||"homebridge-backup.tar.gz",f=a.body.size;if(f>globalThis.backup.maxBackupSize){let se=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(f/1048576).toFixed(1)}MB`});this.$toastr.warning(se,this.$translate.instant("toast.title_warning"))}(0,N.saveAs)(a.body,o)},error:a=>{console.error(a),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})}restore(e){this.$activeModal.close();let a=this.$modal.open(re,{size:"lg",backdrop:"static"});a.componentInstance.selectedBackup=e}delete(e){this.deleting=e.id,this.$api.delete(`/backup/scheduled-backups/${e.id}`).subscribe({next:()=>{this.getScheduledBackups(),this.deleting=null},error:a=>{this.deleting=null,console.error(a),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}})}onDownloadBackupClick(){return v(this,null,function*(){this.clicked=!0,this.$api.get("/backup/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{let a=e.headers.get("File-Name")||"homebridge-backup.tar.gz";this.clicked=!1;let o=e.body.size;if(o>globalThis.backup.maxBackupSize){let f=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(o/1048576).toFixed(1)}MB`});this.$toastr.warning(f,this.$translate.instant("toast.title_warning"))}(0,N.saveAs)(e.body,a)},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})})}Date=Date;static \u0275fac=function(a){return new(a||t)};static \u0275cmp=$({type:t,selectors:[["ng-component"]],decls:70,vars:59,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-primary","m-0","ms-3",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"],[1,"fas","fa-fw","fa-arrow-right"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"mb-0","small","grey-text","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","disableScheduledBackups",1,"rendux-input",3,"formControl"],["for","disableScheduledBackups",1,"rendux-label"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"modal-footer","justify-content-between"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-end"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","placeholder","/home/pi/homebridge-backups",1,"form-control","custom-input",3,"formControl"],[1,"small","grey-text","mb-0","text-center"],["container","modal","openDelay","150","triggers","hover",3,"ngbTooltip"],["container","modal","openDelay","150","triggers","hover",1,"red-text",3,"ngbTooltip"],[2,"display","flex","flex-wrap","nowrap"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","m-0","ms-3",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-history"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","m-0","ms-2",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-exclamation-circle"]],template:function(a,o){a&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),c(3),s(4,"translate"),n(),r(5,"button",3),s(6,"translate"),x("click",function(){return o.$activeModal.dismiss("Dismiss")}),n()(),r(7,"div",4)(8,"div",5),d(9,"i",6),n(),r(10,"ul",7)(11,"li"),c(12),s(13,"translate"),n(),r(14,"li"),c(15),s(16,"translate"),n(),r(17,"li"),c(18),s(19,"translate"),n()(),r(20,"ul",8)(21,"li",9)(22,"div")(23,"span"),c(24),s(25,"translate"),n(),d(26,"br"),r(27,"small",10),c(28),s(29,"translate"),n()(),r(30,"button",11),s(31,"translate"),x("click",function(){return o.onDownloadBackupClick()}),d(32,"i",12),n()(),r(33,"li",9)(34,"div")(35,"span"),c(36),s(37,"translate"),n(),d(38,"br"),r(39,"small",10),c(40),s(41,"translate"),n()(),r(42,"button",11),s(43,"translate"),x("click",function(){return o.restore(null)}),d(44,"i",13),n()()(),r(45,"ul",14)(46,"li",15)(47,"h6",16),c(48),s(49,"translate"),n(),r(50,"p",17),c(51),s(52,"translate"),n()(),r(53,"li",18)(54,"span",19),c(55),s(56,"translate"),n(),r(57,"div",20),d(58,"input",21),s(59,"translate"),d(60,"label",22),n()(),u(61,ze,7,7,"li",23),n(),u(62,Ve,10,5,"ul",14),n(),r(63,"div",24),d(64,"div",19),r(65,"div",25)(66,"button",26),x("click",function(){return o.$activeModal.dismiss("Dismiss")}),c(67),s(68,"translate"),n()(),d(69,"div",27),n()()),a&2&&(i(3),h(l(4,24,"backup.title_backup")),i(2),_("disabled",o.clicked||o.deleting),C("aria-label",l(6,26,"form.button_close")),i(7),h(l(13,28,"backup.backup_help_one")),i(3),h(l(16,30,"backup.backup_help_two")),i(3),h(l(19,32,"backup.backup_warning")),i(6),h(l(25,34,"backup.backup_now")),i(4),h(l(29,36,"backup.backup_now_desc")),i(2),_("disabled",o.clicked),C("aria-label",l(31,38,"backup.backup_now")),i(2),_("ngClass",E(56,ye,!o.clicked,o.clicked)),i(4),h(l(37,40,"backup.restore_now")),i(4),h(l(41,42,"backup.restore_now_desc")),i(2),_("disabled",o.clicked),C("aria-label",l(43,44,"backup.restore_now")),i(6),h(l(49,46,"backup.settings_title")),i(3),h(l(52,48,"form.auto_save")),i(4),h(l(56,50,"backup.settings_enable")),i(3),_("formControl",o.enabledFormControl),C("aria-label",l(59,52,"backup.settings_enable")),i(3),b(o.currentSettingEnabled?61:-1),i(),b(o.scheduledBackups.length?62:-1),i(4),_("disabled",o.clicked||o.deleting),i(),g(" ",l(68,54,"form.button_close")," "))},dependencies:[Z,O,q,R,Y,L,K,Q,X],encapsulation:2})}return t})();export{ne as a,re as b};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-VSADCCFT.js";import{a as f}from"./chunk-JQ3UOMSL.js";import"./chunk-O3LVR5HE.js";import"./chunk-77GWB2NW.js";import"./chunk-P5DRV4DP.js";import{q as u}from"./chunk-OHFVMRCL.js";import{A as p,z as n}from"./chunk-MMYB2ZMV.js";import"./chunk-LJHC4K5I.js";import{g as i}from"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import{c as d}from"./chunk-KPKQNEWS.js";import{ha as t,kd as m,mb as r}from"./chunk-QSPBB6EE.js";var M=[{path:"",loadComponent:()=>import("./chunk-GNSVASLB.js").then(o=>o.SetupWizardComponent)}],l=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(M),i]})}return o})();var R=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({providers:[a],imports:[m,n,p,d,u,l,f]})}return o})();export{R as SetupWizardModule};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-ZCQORJII.js";import"./chunk-LJHC4K5I.js";import"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as RestartComponent};
@@ -1 +0,0 @@
1
- import{a as f}from"./chunk-NM3WKULU.js";import{a as s}from"./chunk-D2C4VO6I.js";import"./chunk-4O7NT7TT.js";import"./chunk-J6ICAYDY.js";import"./chunk-WOOQ2PNV.js";import"./chunk-SHW4IV7S.js";import"./chunk-XJY7A24W.js";import"./chunk-TIE2WSHM.js";import"./chunk-6SEBWKRM.js";import"./chunk-KCD74P4O.js";import"./chunk-3XNLIEKF.js";import"./chunk-ZCCLGLMW.js";import"./chunk-77GWB2NW.js";import"./chunk-P5DRV4DP.js";import"./chunk-HHPGR3HF.js";import"./chunk-6M524CF7.js";import{q as l}from"./chunk-OHFVMRCL.js";import{A as u,z as m}from"./chunk-MMYB2ZMV.js";import"./chunk-LJHC4K5I.js";import{g as e}from"./chunk-QY7HUYL5.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import{c as p}from"./chunk-KPKQNEWS.js";import{ha as t,kd as n,mb as r}from"./chunk-QSPBB6EE.js";var g=[{path:"",loadComponent:()=>import("./chunk-DDXD3GQM.js").then(o=>o.PluginsComponent)}],d=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[e.forChild(g),e]})}return o})();var v=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,m,u,p.forChild(),l,f,d,s]})}return o})();export{v as PluginsModule};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-UOEYZIC7.js";import"./chunk-KCD74P4O.js";import"./chunk-3XNLIEKF.js";import"./chunk-77GWB2NW.js";import"./chunk-P5DRV4DP.js";import"./chunk-6M524CF7.js";import"./chunk-OHFVMRCL.js";import"./chunk-MMYB2ZMV.js";import"./chunk-LJHC4K5I.js";import"./chunk-SNBPXFEO.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as LogsComponent};
@@ -1 +0,0 @@
1
- import{a as V}from"./chunk-KCD74P4O.js";import{a as q}from"./chunk-77GWB2NW.js";import{a as _}from"./chunk-6M524CF7.js";import{n as B,o as k}from"./chunk-OHFVMRCL.js";import{h as D,k as F}from"./chunk-CX2DFQ7S.js";import{a as z,b as E}from"./chunk-KPKQNEWS.js";import{$a as m,Ac as i,Bc as r,Gb as b,Lc as S,Nb as h,Ob as s,Pb as l,Qb as p,Ub as L,Xb as d,_a as y,dc as T,ec as C,g as j,h as w,jc as x,kc as I,la as o,lb as $,n as v,ra as u,sa as f}from"./chunk-QSPBB6EE.js";var H=j(q(),1);var A=["logoutput"],X=(()=>{class c{$api=o(F);$log=o(V);$modal=o(B);$toastr=o(D);$translate=o(z);termTarget=S("logoutput");resizeEvent=new v;constructor(){}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$log.startTerminal(this.termTarget(),{},this.resizeEvent)}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$log.destroyTerminal()}downloadLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-fw fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{(0,H.saveAs)(e.body,"homebridge.log.txt")},error:e=>w(this,null,function*(){let n;try{n=JSON.parse(yield e.error.text()).message}catch(a){console.error(a)}this.$toastr.error(n||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}truncateLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_truncate_log_file"),t.componentInstance.message=this.$translate.instant("logs.truncate_log_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_delete"),t.componentInstance.confirmButtonClass="btn-danger",t.componentInstance.faIconClass="fas fa-fw fa-circle-exclamation primary-text",t.result.then(()=>{this.$api.put("/platform-tools/hb-service/log/truncate",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("logs.log_file_truncated"),this.$translate.instant("toast.title_success")),this.$log.term.clear()},error:e=>{console.error(e),this.$toastr.error(e.error.message||this.$translate.instant("logs.truncate.error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}static \u0275fac=function(e){return new(e||c)};static \u0275cmp=$({type:c,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&T(n.termTarget,A,5),e&2&&C()},hostBindings:function(e,n){e&1&&d("resize",function(g){return n.onWindowResize(g)},y)},decls:17,vars:15,consts:[["logoutput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0","me-0",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-trash-alt"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","log-output",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,n){if(e&1){let a=L();s(0,"div",1)(1,"div",2)(2,"h3",3),x(3),i(4,"translate"),l()(),s(5,"div",4)(6,"button",5),i(7,"translate"),i(8,"translate"),d("click",function(){return u(a),f(n.downloadLogFile())}),p(9,"i",6),l(),s(10,"button",7),i(11,"translate"),i(12,"translate"),d("click",function(){return u(a),f(n.truncateLogFile())}),p(13,"i",8),l()()(),s(14,"div",9),p(15,"div",10,0),l()}e&2&&(m(3),I(r(4,5,"menu.linux.label_logs")),m(3),h("ngbTooltip",r(7,7,"form.button_download")),b("aria-label",r(8,9,"form.button_download")),m(4),h("ngbTooltip",r(11,11,"form.button_delete")),b("aria-label",r(12,13,"form.button_delete")))},dependencies:[k,E],encapsulation:2})}return c})();export{X as a};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-VWFNI4EY.js";import"./chunk-XJY7A24W.js";import"./chunk-6SEBWKRM.js";import"./chunk-MMYB2ZMV.js";import"./chunk-QY7HUYL5.js";import"./chunk-3AAYJF3N.js";import"./chunk-CX2DFQ7S.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as StartupScriptComponent};
@@ -1,5 +0,0 @@
1
- import{a as b}from"./chunk-3XNLIEKF.js";import{a as p,b as w}from"./chunk-P5DRV4DP.js";import{a as c}from"./chunk-LJHC4K5I.js";import{M as i,g as o,ga as m,la as h,n}from"./chunk-QSPBB6EE.js";var d=o(p(),1),a=o(w(),1),l=o(b(),1);var v=(()=>{class e{$ws=h(c);term;io;fitAddon;webLinksAddon;resize;elementResize;constructor(){}destroyTerminal(){this.io.end(),this.term.dispose(),this.resize.complete(),this.elementResize&&this.elementResize.complete()}startTerminal(r,s={},f){this.elementResize=f,this.io=this.$ws.connectToNamespace("platform-tools/terminal"),this.term=new d.Terminal(s),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new a.FitAddon,this.webLinksAddon=new l.WebLinksAddon,this.resize=new n,this.term.open(r.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.pipe(i(200)).subscribe(()=>{this.startSession()}),this.io.socket.on("disconnect",()=>{this.term.write(`
2
- \r
3
- \rTerminal disconnected. Is the server running?
4
- \r
5
- \r`)}),this.io.socket.on("process-exit",()=>{this.io.socket.emit("end"),this.startSession()}),this.resize.pipe(i(500)).subscribe(t=>{this.io.socket.emit("resize",t)}),this.io.socket.on("stdout",t=>{this.term.write(t)}),this.term.onData(t=>{this.io.socket.emit("stdin",t)}),this.term.onResize(t=>{this.resize.next(t)}),this.elementResize&&this.elementResize.pipe(i(100)).subscribe({next:()=>{this.fitAddon.fit()}})}startSession(){this.term.reset(),this.io.socket.emit("start-session",{cols:this.term.cols,rows:this.term.rows}),this.resize.next({cols:this.term.cols,rows:this.term.rows})}static \u0275fac=function(s){return new(s||e)};static \u0275prov=m({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();export{v as a};