homebridge-config-ui-x 5.0.0-beta.3 → 5.0.0-beta.31

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 (282) hide show
  1. package/CHANGELOG.md +182 -8
  2. package/LICENSE +1 -1
  3. package/README.md +6 -8
  4. package/config.schema.json +38 -18
  5. package/dist/bin/fork.js +17 -7
  6. package/dist/bin/fork.js.map +1 -1
  7. package/dist/bin/hb-service.d.ts +2 -2
  8. package/dist/bin/hb-service.js +67 -56
  9. package/dist/bin/hb-service.js.map +1 -1
  10. package/dist/bin/platforms/win32.js +4 -2
  11. package/dist/bin/platforms/win32.js.map +1 -1
  12. package/dist/bin/standalone.js +18 -7
  13. package/dist/bin/standalone.js.map +1 -1
  14. package/dist/core/auth/auth.controller.d.ts +2 -0
  15. package/dist/core/auth/auth.controller.js.map +1 -1
  16. package/dist/core/auth/auth.module.js +1 -1
  17. package/dist/core/auth/auth.module.js.map +1 -1
  18. package/dist/core/auth/auth.service.js +10 -10
  19. package/dist/core/auth/auth.service.js.map +1 -1
  20. package/dist/core/config/config.service.d.ts +3 -0
  21. package/dist/core/config/config.service.js +1 -0
  22. package/dist/core/config/config.service.js.map +1 -1
  23. package/dist/core/config/config.startup.js +2 -2
  24. package/dist/core/config/config.startup.js.map +1 -1
  25. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
  26. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  27. package/dist/index.js +25 -14
  28. package/dist/index.js.map +1 -1
  29. package/dist/main.js +1 -1
  30. package/dist/main.js.map +1 -1
  31. package/dist/modules/accessories/accessories.controller.js +4 -4
  32. package/dist/modules/accessories/accessories.controller.js.map +1 -1
  33. package/dist/modules/accessories/accessories.service.js +7 -6
  34. package/dist/modules/accessories/accessories.service.js.map +1 -1
  35. package/dist/modules/backup/backup.controller.js +7 -7
  36. package/dist/modules/backup/backup.controller.js.map +1 -1
  37. package/dist/modules/backup/backup.service.js +17 -17
  38. package/dist/modules/backup/backup.service.js.map +1 -1
  39. package/dist/modules/child-bridges/child-bridges.service.js +3 -3
  40. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
  41. package/dist/modules/config-editor/config-editor.controller.d.ts +1 -1
  42. package/dist/modules/config-editor/config-editor.controller.js +7 -7
  43. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  44. package/dist/modules/config-editor/config-editor.service.d.ts +1 -1
  45. package/dist/modules/config-editor/config-editor.service.js +6 -6
  46. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  47. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +11 -9
  48. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  49. package/dist/modules/log/log.service.js +3 -3
  50. package/dist/modules/log/log.service.js.map +1 -1
  51. package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
  52. package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
  53. package/dist/modules/platform-tools/docker/docker.service.js +1 -1
  54. package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
  55. package/dist/modules/platform-tools/hb-service/hb-service.controller.js +1 -1
  56. package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
  57. package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
  58. package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
  59. package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
  60. package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
  61. package/dist/modules/platform-tools/linux/linux.service.js +2 -2
  62. package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
  63. package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
  64. package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
  65. package/dist/modules/plugins/plugins.controller.js +4 -4
  66. package/dist/modules/plugins/plugins.controller.js.map +1 -1
  67. package/dist/modules/plugins/plugins.service.d.ts +1 -0
  68. package/dist/modules/plugins/plugins.service.js +74 -35
  69. package/dist/modules/plugins/plugins.service.js.map +1 -1
  70. package/dist/modules/server/server.controller.d.ts +19 -2
  71. package/dist/modules/server/server.controller.js +84 -18
  72. package/dist/modules/server/server.controller.js.map +1 -1
  73. package/dist/modules/server/server.service.d.ts +23 -6
  74. package/dist/modules/server/server.service.js +171 -56
  75. package/dist/modules/server/server.service.js.map +1 -1
  76. package/dist/modules/status/status.controller.js +3 -3
  77. package/dist/modules/status/status.controller.js.map +1 -1
  78. package/dist/modules/status/status.service.js +4 -4
  79. package/dist/modules/status/status.service.js.map +1 -1
  80. package/dist/modules/users/users.controller.js +1 -1
  81. package/dist/modules/users/users.controller.js.map +1 -1
  82. package/dist/self-check.js +6 -6
  83. package/dist/self-check.js.map +1 -1
  84. package/package.json +31 -27
  85. package/public/3rdpartylicenses.txt +70 -44
  86. package/public/assets/hap-icons/airpurifier.svg +49 -16
  87. package/public/assets/hap-icons/airquality.svg +24 -13
  88. package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
  89. package/public/assets/hap-icons/contactsensor-open.svg +80 -2
  90. package/public/assets/hap-icons/door-closed.svg +32 -2
  91. package/public/assets/hap-icons/door-open.svg +48 -2
  92. package/public/assets/hap-icons/fan-off.svg +24 -13
  93. package/public/assets/hap-icons/fan-on.svg +24 -13
  94. package/public/assets/hap-icons/garagedoor.svg +24 -13
  95. package/public/assets/hap-icons/humidity.svg +24 -13
  96. package/public/assets/hap-icons/irrigation-system.svg +47 -18
  97. package/public/assets/hap-icons/leaksensor.svg +52 -2
  98. package/public/assets/hap-icons/light.svg +47 -28
  99. package/public/assets/hap-icons/lightbulb.svg +24 -13
  100. package/public/assets/hap-icons/lock-locked.svg +24 -13
  101. package/public/assets/hap-icons/lock-unlocked.svg +24 -13
  102. package/public/assets/hap-icons/motionsensor.svg +100 -2
  103. package/public/assets/hap-icons/occupancysensor.svg +97 -2
  104. package/public/assets/hap-icons/outlet.svg +24 -13
  105. package/public/assets/hap-icons/securitysystem-active.svg +102 -2
  106. package/public/assets/hap-icons/securitysystem-off.svg +68 -2
  107. package/public/assets/hap-icons/smokesensor.svg +42 -9
  108. package/public/assets/hap-icons/speaker.svg +29 -13
  109. package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
  110. package/public/assets/hap-icons/switch.svg +24 -13
  111. package/public/assets/hap-icons/television.svg +15 -4
  112. package/public/assets/hap-icons/temperature.svg +24 -13
  113. package/public/assets/hap-icons/unknown.svg +24 -13
  114. package/public/assets/hap-icons/valve-generic.svg +27 -16
  115. package/public/assets/hap-icons/valve-irrigation.svg +37 -21
  116. package/public/assets/hap-icons/valve-showerhead.svg +52 -0
  117. package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
  118. package/public/assets/hap-icons/window-closed.svg +85 -2
  119. package/public/assets/hap-icons/window-open.svg +136 -2
  120. package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
  121. package/public/assets/hap-icons/windowcovering-open.svg +40 -44
  122. package/public/assets/homebridge-color-round.svg +36 -1
  123. package/public/assets/homebridge-logo.svg +11 -1
  124. package/public/assets/mask-icon.svg +5 -1
  125. package/public/assets/plugin-ui-utils/ui.js +38 -19
  126. package/public/assets/plugin-ui-utils/ui.js.map +1 -1
  127. package/public/{chunk-6TCHCTXZ.js → chunk-23M23WV2.js} +1 -1
  128. package/public/chunk-27Y2SMZQ.js +1 -0
  129. package/public/{chunk-QE7DO6J3.js → chunk-474BOAR2.js} +2 -2
  130. package/public/{chunk-VOBHY2IH.js → chunk-5FGGDMPF.js} +2 -2
  131. package/public/{chunk-WNWWUCCZ.js → chunk-5KLZWFYX.js} +1 -1
  132. package/public/{chunk-ASX35H47.js → chunk-5YQD6SFF.js} +1 -1
  133. package/public/chunk-675OFXLW.js +1 -0
  134. package/public/chunk-6LLC6ASY.js +1 -0
  135. package/public/chunk-6SQJWZJ3.js +1 -0
  136. package/public/chunk-6VKXZGBQ.js +1 -0
  137. package/public/{chunk-BKUGARB4.js → chunk-7BCHGXO4.js} +1 -1
  138. package/public/chunk-7ZWVTY7M.js +1 -0
  139. package/public/chunk-A4UEYJ65.js +1 -0
  140. package/public/chunk-BMWLHPL2.js +1 -0
  141. package/public/chunk-BUJGF5XS.js +1 -0
  142. package/public/{chunk-CCUID66K.js → chunk-C2XBPNOQ.js} +1 -1
  143. package/public/chunk-CBZQXGMM.js +1 -0
  144. package/public/chunk-CKNHTRCL.js +7 -0
  145. package/public/{chunk-BFDVOBTQ.js → chunk-DI7XQKGK.js} +1 -1
  146. package/public/chunk-DMNEGPYI.js +1 -0
  147. package/public/chunk-DPQL3CFN.js +1 -0
  148. package/public/chunk-DZK7ET6B.js +1 -0
  149. package/public/chunk-E4JGXDDX.js +1 -0
  150. package/public/chunk-EEDUUZ6J.js +1 -0
  151. package/public/chunk-EIDRJ2MZ.js +1 -0
  152. package/public/chunk-EPUIY43R.js +1 -0
  153. package/public/chunk-FFAK3S6H.js +1 -0
  154. package/public/chunk-FYBGDBHS.js +5 -0
  155. package/public/chunk-G6DEXV26.js +1 -0
  156. package/public/chunk-GAOJPT7Q.js +32 -0
  157. package/public/{chunk-6PHMBMFU.js → chunk-GH44GF33.js} +1 -1
  158. package/public/chunk-GMDD67DK.js +1 -0
  159. package/public/chunk-GT23NQ6X.js +1 -0
  160. package/public/chunk-GZ6LPTUZ.js +1 -0
  161. package/public/{chunk-UG5DK2RQ.js → chunk-HA6CO5NZ.js} +2 -2
  162. package/public/chunk-HZMFFGGL.js +1 -0
  163. package/public/chunk-IBVQ5XHN.js +1 -0
  164. package/public/chunk-IFT3CY2Y.js +1 -0
  165. package/public/chunk-IN2KYSF4.js +1 -0
  166. package/public/chunk-JA6D57G2.js +1 -0
  167. package/public/{chunk-JZZQRLNW.js → chunk-JF5AT3NK.js} +1 -1
  168. package/public/chunk-JIBSE7F4.js +1 -0
  169. package/public/chunk-JN3CZQ6V.js +1 -0
  170. package/public/chunk-KKXQOKX2.js +1 -0
  171. package/public/{chunk-IW3EPSTZ.js → chunk-KTZO3WBP.js} +4 -4
  172. package/public/chunk-L2ORBCR2.js +1 -0
  173. package/public/chunk-LEBQDAR4.js +1 -0
  174. package/public/chunk-LEFLOPGL.js +1 -0
  175. package/public/chunk-LXXOSKLU.js +1 -0
  176. package/public/chunk-N4F42HDL.js +5 -0
  177. package/public/{chunk-NW6AFAD7.js → chunk-NFG4Y4PX.js} +1 -1
  178. package/public/chunk-NN4AKVX5.js +1 -0
  179. package/public/{chunk-7EUQWCP5.js → chunk-NSCP3SOQ.js} +1 -1
  180. package/public/{chunk-7L7RZCFC.js → chunk-OE2GYWRJ.js} +1 -1
  181. package/public/chunk-OOXD7YEJ.js +1 -0
  182. package/public/chunk-OURKTFZU.js +1 -0
  183. package/public/{chunk-VMXGERJT.js → chunk-PIKLHZDA.js} +8 -8
  184. package/public/chunk-QAHKBWOC.js +20 -0
  185. package/public/chunk-QRKW54YY.js +1 -0
  186. package/public/chunk-R5E5WAV5.js +1 -0
  187. package/public/chunk-REMR6QVW.js +1 -0
  188. package/public/chunk-RGOOY4ED.js +1 -0
  189. package/public/chunk-SRBTIWVO.js +1 -0
  190. package/public/{chunk-NZNNTHFQ.js → chunk-T3GI7KUT.js} +1 -1
  191. package/public/chunk-TRQOR36U.js +1 -0
  192. package/public/chunk-V6L2K2WY.js +1 -0
  193. package/public/chunk-VB5BRR2U.js +1 -0
  194. package/public/chunk-WAHQ6FKA.js +1 -0
  195. package/public/chunk-WJ3IINUA.js +1 -0
  196. package/public/chunk-WZWCA2UY.js +1 -0
  197. package/public/chunk-X5YRTZFZ.js +1 -0
  198. package/public/chunk-X6VYPTSJ.js +1 -0
  199. package/public/chunk-XADFYKJR.js +1 -0
  200. package/public/chunk-XASV7YHW.js +6 -0
  201. package/public/{chunk-WHJOLAED.js → chunk-XFK2EZ3K.js} +1 -1
  202. package/public/{chunk-EA5J2VEJ.js → chunk-XP7D2PRA.js} +1 -1
  203. package/public/{chunk-WHJSVGC7.js → chunk-XQNHUDX7.js} +1 -1
  204. package/public/chunk-YLAFYHGY.js +1 -0
  205. package/public/{chunk-QHPDGSZ6.js → chunk-YLEC7AUG.js} +1 -1
  206. package/public/chunk-YLOLF5VJ.js +1 -0
  207. package/public/chunk-Z2FKNCT7.js +1 -0
  208. package/public/chunk-Z4NHF7RI.js +1 -0
  209. package/public/index.html +2 -2
  210. package/public/main-422LQ5TU.js +1 -0
  211. package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
  212. package/public/media/{fa-brands-400-MVB2B5XM.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
  213. package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
  214. package/public/media/{fa-regular-400-EGQOOADX.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
  215. package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
  216. package/public/media/{fa-solid-900-ZUDIWQL5.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
  217. package/public/styles-7Q7QNSR3.css +1 -0
  218. package/public/chunk-2OBHR63W.js +0 -1
  219. package/public/chunk-3C6WVST7.js +0 -1
  220. package/public/chunk-3IX3CLER.js +0 -1
  221. package/public/chunk-5ALXJOLQ.js +0 -1
  222. package/public/chunk-5LVGHH2N.js +0 -1
  223. package/public/chunk-7456RB3C.js +0 -1
  224. package/public/chunk-76S7LYCL.js +0 -1
  225. package/public/chunk-77A3OZ74.js +0 -1
  226. package/public/chunk-7EANS226.js +0 -1
  227. package/public/chunk-AVJ6EUEE.js +0 -1
  228. package/public/chunk-AX23H5TL.js +0 -1
  229. package/public/chunk-AZXQ73I5.js +0 -1
  230. package/public/chunk-BMXAHMY6.js +0 -1
  231. package/public/chunk-BPMSJ2VF.js +0 -1
  232. package/public/chunk-CW7Q7WEJ.js +0 -1
  233. package/public/chunk-DDXIRKVB.js +0 -1
  234. package/public/chunk-DNOJWLVY.js +0 -1
  235. package/public/chunk-DZY2Q3FG.js +0 -1
  236. package/public/chunk-FX4GQIE4.js +0 -32
  237. package/public/chunk-GVDR7ZRB.js +0 -1
  238. package/public/chunk-HSJSWZHD.js +0 -1
  239. package/public/chunk-I7ZKPCIW.js +0 -1
  240. package/public/chunk-IPZ4P5DE.js +0 -1
  241. package/public/chunk-IWYEH4T6.js +0 -1
  242. package/public/chunk-JL6S5IIU.js +0 -1
  243. package/public/chunk-KIJWUGXX.js +0 -1
  244. package/public/chunk-KO3WJGGG.js +0 -1
  245. package/public/chunk-KQJ7ONUG.js +0 -1
  246. package/public/chunk-KTDJZCFW.js +0 -1
  247. package/public/chunk-LDPCT3YF.js +0 -5
  248. package/public/chunk-MHYIZZN4.js +0 -1
  249. package/public/chunk-MOV2HTCQ.js +0 -1
  250. package/public/chunk-NF4NIS42.js +0 -1
  251. package/public/chunk-O75YP3SB.js +0 -1
  252. package/public/chunk-ODPTCLGS.js +0 -1
  253. package/public/chunk-ORPWYWCL.js +0 -5
  254. package/public/chunk-Q5URFHBE.js +0 -1
  255. package/public/chunk-QLWY5NWN.js +0 -1
  256. package/public/chunk-QRZNMAFL.js +0 -1
  257. package/public/chunk-RHB2T3FE.js +0 -1
  258. package/public/chunk-RMI35HIS.js +0 -1
  259. package/public/chunk-RO4QXVDE.js +0 -1
  260. package/public/chunk-RWZRB2OY.js +0 -1
  261. package/public/chunk-S62KH3FN.js +0 -6
  262. package/public/chunk-S6EMLS5Q.js +0 -1
  263. package/public/chunk-SVFFEV36.js +0 -1
  264. package/public/chunk-T2YVB4SI.js +0 -1
  265. package/public/chunk-TCSXGQNF.js +0 -1
  266. package/public/chunk-TXOB7R5K.js +0 -7
  267. package/public/chunk-U6ORTLYL.js +0 -1
  268. package/public/chunk-UJU3NPS7.js +0 -1
  269. package/public/chunk-UYZI56PX.js +0 -1
  270. package/public/chunk-UZU6PLTW.js +0 -1
  271. package/public/chunk-UZW3DWH4.js +0 -1
  272. package/public/chunk-WMB35VCS.js +0 -1
  273. package/public/chunk-WT2GX4NS.js +0 -1
  274. package/public/chunk-XH6GEPB6.js +0 -1
  275. package/public/chunk-ZLPCX4R4.js +0 -1
  276. package/public/chunk-ZT23DWNL.js +0 -1
  277. package/public/chunk-ZY7HKZ4P.js +0 -20
  278. package/public/main-ILTX7GFO.js +0 -1
  279. package/public/media/fa-brands-400-6U3GU5Y7.woff2 +0 -0
  280. package/public/media/fa-regular-400-R5EOMW4H.woff2 +0 -0
  281. package/public/media/fa-solid-900-W65KEJAS.woff2 +0 -0
  282. package/public/styles-GDLSHXGD.css +0 -1
@@ -1 +0,0 @@
1
- import{a as j}from"./chunk-ZY7HKZ4P.js";import"./chunk-EA5J2VEJ.js";import"./chunk-VMXGERJT.js";import{c as y}from"./chunk-7EUQWCP5.js";import"./chunk-JZZQRLNW.js";import{q as h}from"./chunk-ORPWYWCL.js";import{y as M,z as v}from"./chunk-QHPDGSZ6.js";import{d as C,g as a}from"./chunk-NZNNTHFQ.js";import"./chunk-SVFFEV36.js";import{b as l,j as g}from"./chunk-CW7Q7WEJ.js";import"./chunk-UG5DK2RQ.js";import{a as d,c as u}from"./chunk-3IX3CLER.js";import{h as s,ha as c,ia as i,md as p,na as e,sb as n,w as f}from"./chunk-TXOB7R5K.js";var m=(()=>{class o{$api=e(l);$router=e(C);$toastr=e(g);$translate=e(d);resolve(){return s(this,null,function*(){try{let r=yield f(this.$api.get("/config-editor"));return JSON.stringify(r,null,4)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=c({token:o,factory:o.\u0275fac})}return o})();var $=[{path:"",loadComponent:()=>import("./chunk-7456RB3C.js").then(o=>o.ConfigEditorComponent),resolve:{config:m}}],R=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=n({type:o});static \u0275inj=i({imports:[a.forChild($),a]})}return o})();var Q=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=n({type:o});static \u0275inj=i({providers:[m],imports:[p,M,v,y,h,u.forChild(),R,j]})}return o})();export{Q as ConfigEditorModule};
@@ -1 +0,0 @@
1
- import{T as te,c as X,d as Y,e as Z,f as ee}from"./chunk-Q5URFHBE.js";import{a as U}from"./chunk-JZZQRLNW.js";import{m as J,n as K,o as Q}from"./chunk-ORPWYWCL.js";import{c as W,e as R,f as H,i as j,l as G,m as z,y as q}from"./chunk-QHPDGSZ6.js";import{c as F}from"./chunk-BFDVOBTQ.js";import{b as L}from"./chunk-SVFFEV36.js";import{b as T}from"./chunk-3IX3CLER.js";import{$b as A,Bc as s,Cc as l,Kb as y,Lb as x,Mb as c,Wb as r,Xb as a,Yb as _,Zb as E,_b as B,ad as P,bd as V,cc as v,cd as N,dc as p,dd as O,ib as n,na as f,nc as d,oc as u,pc as w,rb as C,sc as M,tc as S,uc as k,wc as $,xa as b,xc as D,ya as h}from"./chunk-TXOB7R5K.js";var re=()=>({standalone:!0}),ne=(()=>{class t{$activeModal=f(J);roomName;static \u0275fac=function(o){return new(o||t)};static \u0275cmp=C({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:30,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],["role","alert",1,"alert"],[1,"md-form"],["type","text","id","form-name","autofocus","",1,"form-control","px-0",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],["for","form-name"],[1,"fas","fa-fw","fa-home"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),d(4),s(5,"translate"),a(),r(6,"button",3),s(7,"translate"),v("click",function(){return i.$activeModal.dismiss("Dismiss")}),r(8,"span",4),d(9,"\xD7"),a()()(),r(10,"div",5)(11,"div",6),d(12),s(13,"translate"),a(),r(14,"div",7)(15,"input",8),k("ngModelChange",function(I){return S(i.roomName,I)||(i.roomName=I),I}),v("keyup.enter",function(){return i.$activeModal.close(i.roomName)}),a(),r(16,"label",9),_(17,"i",10),d(18),s(19,"translate"),a()()(),r(20,"div",11)(21,"div",12)(22,"button",13),v("click",function(){return i.$activeModal.dismiss("Dismiss")}),d(23),s(24,"translate"),a()(),_(25,"div",14),r(26,"div",15)(27,"button",16),v("click",function(){return i.$activeModal.close(i.roomName)}),d(28),s(29,"translate"),a()()()()()),o&2&&(n(4),u(l(5,8,"accessories.button_add_room")),n(2),x("aria-label",l(7,10,"form.button_close")),n(6),u(l(13,12,"accessories.rooms_not_appear_in_homekit")),n(3),M("ngModel",i.roomName),c("ngModelOptions",$(20,re)),n(3),w(" ",l(19,14,"accessories.room_name")," "),n(5),w(" ",l(24,16,"form.button_close")," "),n(5),w(" ",l(29,18,"form.button_save")," "))},dependencies:[q,z,W,R,H,G,j,T],encapsulation:2})}return t})();var oe=(()=>{class t{constructor(){}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=C({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-fw","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(o,i){o&1&&(r(0,"div",0),_(1,"i",1),r(2,"div",2),d(3),s(4,"translate"),a()()),o&2&&(n(3),u(l(4,1,"accessories.control.drag_here")))},dependencies:[T],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var ae=t=>({"cursor-move":t});function se(t,g){if(t&1&&(r(0,"div",19)(1,"div",20)(2,"h5",21),d(3),s(4,"translate"),a()()()),t&2){let e=p().$implicit,o=p(2);n(2),c("ngClass",D(4,ae,!o.isMobile)),n(),w(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function le(t,g){if(t&1&&(E(0),_(1,"app-accessory-tile",26),B()),t&2){let e=p().$implicit;n(),c("service",e)}}function ce(t,g){if(t&1&&(r(0,"div",25),y(1,le,2,1,"ng-container",0),a()),t&2){let e=g.$implicit,o=p(4);c("ngSwitch",e.type),n(),c("ngIf",!o.hideHidden||!e.hidden)}}function de(t,g){if(t&1){let e=A();r(0,"div",22),k("dragulaModelChange",function(i){b(e);let m=p().$implicit;return S(m.services,i)||(m.services=i),h(i)}),y(1,ce,2,2,"div",23),_(2,"div",24)(3,"div",24)(4,"div",24)(5,"div",24)(6,"div",24)(7,"div",24)(8,"div",24)(9,"div",24)(10,"div",24)(11,"div",24)(12,"div",24)(13,"div",24)(14,"div",24)(15,"div",24)(16,"div",24),a()}if(t&2){let e=p().$implicit;c("dragula","services-bag"),M("dragulaModel",e.services),n(),c("ngForOf",e.services)}}function pe(t,g){if(t&1){let e=A();r(0,"div",27),k("dragulaModelChange",function(i){b(e);let m=p().$implicit;return S(m.services,i)||(m.services=i),h(i)}),_(1,"app-drag-here-placeholder",28),a()}if(t&2){let e=p().$implicit;c("dragula","services-bag"),M("dragulaModel",e.services)}}function me(t,g){if(t&1&&(r(0,"div"),y(1,se,5,6,"div",15),r(2,"div",16),y(3,de,17,3,"div",17)(4,pe,2,2,"div",18),a()()),t&2){let e=g.$implicit,o=p(2);n(),c("ngIf",!o.isMobile||e.services.length),n(2),c("ngIf",e.services.length),n(),c("ngIf",!e.services.length&&!o.isMobile)}}function _e(t,g){if(t&1){let e=A();r(0,"div")(1,"div",1)(2,"div",2)(3,"h3",3),d(4),s(5,"translate"),a()(),r(6,"div",4)(7,"div",5)(8,"button",6),s(9,"translate"),s(10,"translate"),v("click",function(){b(e);let i=p();return h(i.addRoom())}),_(11,"i",7),a()(),r(12,"div",5)(13,"button",6),s(14,"translate"),s(15,"translate"),s(16,"translate"),s(17,"translate"),v("click",function(){b(e);let i=p();return h(i.hideHidden=!i.hideHidden)}),_(18,"i",8),a()(),r(19,"div",5)(20,"button",9),s(21,"translate"),s(22,"translate"),v("click",function(){b(e);let i=p();return h(i.toggleLayoutLock())}),_(23,"i",10),a(),r(24,"button",11),s(25,"translate"),s(26,"translate"),v("click",function(){b(e);let i=p();return h(i.toggleLayoutLock())}),_(27,"i",12),a()()()(),r(28,"div",13),k("dragulaModelChange",function(i){b(e);let m=p();return S(m.$accessories.rooms,i)||(m.$accessories.rooms=i),h(i)}),y(29,me,5,3,"div",14),a()()}if(t&2){let e=p();n(4),u(l(5,17,"accessories.title_accessories")),n(4),c("hidden",e.isMobile)("ngbTooltip",l(9,19,"accessories.button_add_room")),x("aria-label",l(10,21,"accessories.button_add_room")),n(5),c("hidden",e.isMobile)("ngbTooltip",e.hideHidden?l(14,23,"accessories.button_hidden_show"):l(15,25,"accessories.button_hidden_hide")),x("aria-label",e.hideHidden?l(16,27,"accessories.button_hidden_show"):l(17,29,"accessories.button_hidden_hide")),n(5),c("ngClass",e.hideHidden?"fa-eye-slash":"fa-eye"),n(2),c("disabled",!e.isMobile)("ngbTooltip",l(21,31,"form.button_unlock")),x("aria-label",l(22,33,"form.button_unlock")),n(4),c("disabled",e.isMobile)("ngbTooltip",l(25,35,"form.button_lock")),x("aria-label",l(26,37,"form.button_lock")),n(4),c("dragula","rooms-bag"),M("dragulaModel",e.$accessories.rooms),n(),c("ngForOf",e.$accessories.rooms)}}function ue(t,g){t&1&&(r(0,"p",37),d(1),s(2,"translate"),a()),t&2&&(n(),u(l(2,1,"accessories.settings_link")))}function ge(t,g){if(t&1&&(r(0,"div")(1,"div",19)(2,"div",29)(3,"h3",30),d(4),s(5,"translate"),a()(),r(6,"div",31)(7,"div",32)(8,"h4",33),d(9),s(10,"translate"),a(),r(11,"div")(12,"p"),d(13),s(14,"translate"),a(),r(15,"p",34)(16,"span"),d(17),s(18,"translate"),a(),r(19,"a",35),d(20," https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control "),a(),r(21,"span"),d(22),s(23,"translate"),a()(),y(24,ue,3,3,"p",36),a()()()()()),t&2){let e=p();n(4),u(l(5,6,"accessories.title_accessories")),n(5),u(l(10,8,"accessories.control_disabled")),n(4),u(l(14,10,"accessories.message_must_use_insecure_mode")),n(4),u(l(18,12,"accessories.message_please_see")),n(5),u(l(23,14,"accessories.message_for_more_information")),n(2),c("ngIf",e.$auth.user.admin)}}var We=(()=>{class t{$auth=f(F);dragulaService=f(Y);$modal=f(K);$settings=f(L);$md=f(U);$accessories=f(X);isMobile=!1;hideHidden=!0;orderSubscription;constructor(){let e=this.dragulaService;this.isMobile=this.$md.detect.mobile(),e.createGroup("rooms-bag",{moves:(o,i,m)=>!this.isMobile&&m.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:o=>!this.isMobile&&!o.classList.contains("no-drag")}),this.orderSubscription=e.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),window.localStorage.getItem("accessories-layout-locked")&&(this.isMobile=!0)}ngOnInit(){this.$accessories.start()}addRoom(){this.$modal.open(ne,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms.find(o=>o.name===e)||(this.$accessories.rooms.push({name:e,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?window.localStorage.setItem("accessories-layout-locked","yes"):window.localStorage.removeItem("accessories-layout-locked")}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=C({type:t,selectors:[["app-accessories"]],decls:2,vars:2,consts:[[4,"ngIf"],[1,"row","mb-3"],[1,"col-sm-6"],[1,"primary-text","m-0"],[1,"col-sm-6","text-right","d-none","d-sm-block"],["role","group",1,"btn-group"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0",3,"click","hidden","ngbTooltip"],[1,"fas","fa-fw","fa-folder-plus"],[1,"fas","fa-fw",3,"ngClass"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-unlock"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0","mr-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-lock"],[3,"dragulaModelChange","dragula","dragulaModel"],[4,"ngFor","ngForOf"],["class","row",4,"ngIf"],[1,"row","mb-4"],["class","col-md-12 d-flex flex-wrap justify-content-between noselect services-bag",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],["class","col-md-12 d-flex flex-wrap noselect",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],[1,"row"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","justify-content-between","noselect","services-bag",3,"dragulaModelChange","dragula","dragulaModel"],["class","accessory-item accessory-tab",3,"ngSwitch",4,"ngFor","ngForOf"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0 !important"],[1,"accessory-item","accessory-tab",3,"ngSwitch"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"col-12","text-center"],["role","alert",1,"alert","alert-warning","p-4"],[1,"primary-text","mb-3","mt-0"],[1,"mb-0"],["target","_blank","rel","noopener noreferrer","href","https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control"],["class","mt-3 mb-0",4,"ngIf"],[1,"mt-3","mb-0"]],template:function(o,i){o&1&&y(0,_e,30,39,"div",0)(1,ge,25,16,"div",0),o&2&&(c("ngIf",i.$settings.env.enableAccessories),n(),c("ngIf",!i.$settings.env.enableAccessories))},dependencies:[N,Q,P,ee,Z,V,O,te,oe,T],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media (max-width: 575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media (max-width: 575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}.gu-transit[_ngcontent-%COMP%] .manage-accessory-button[_ngcontent-%COMP%]{display:none}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{ne as a,We as b};
@@ -1 +0,0 @@
1
- import{Aa as y,B as V,C as F,D as q,Fa as f,Hc as Z,L as J,O as C,Z as P,a as _,aa as R,ha as h,ia as X,jb as M,ka as v,ma as o,r as L,sb as z,t as c,ub as W,x as I}from"./chunk-TXOB7R5K.js";var d=class{},Q=(()=>{class n extends d{getTranslation(e){return L({})}static \u0275fac=(()=>{let e;return function(s){return(e||(e=y(n)))(s||n)}})();static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})(),m=class{},Y=(()=>{class n{handle(e){return e.key}static \u0275fac=function(t){return new(t||n)};static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})();function E(n,r){if(n===r)return!0;if(n===null||r===null)return!1;if(n!==n&&r!==r)return!0;let e=typeof n,t=typeof r,s,i,a;if(e==t&&e=="object")if(Array.isArray(n)){if(!Array.isArray(r))return!1;if((s=n.length)==r.length){for(i=0;i<s;i++)if(!E(n[i],r[i]))return!1;return!0}}else{if(Array.isArray(r))return!1;a=Object.create(null);for(i in n){if(!E(n[i],r[i]))return!1;a[i]=!0}for(i in r)if(!(i in a)&&typeof r[i]<"u")return!1;return!0}return!1}function u(n){return typeof n<"u"&&n!==null}function D(n){return S(n)&&!H(n)}function S(n){return typeof n=="object"}function H(n){return Array.isArray(n)}function $(n){return typeof n=="string"}function ne(n){return typeof n=="function"}function N(n,r){let e=Object.assign({},n);return S(n)?(S(n)&&S(r)&&Object.keys(r).forEach(t=>{D(r[t])?t in n?e[t]=N(n[t],r[t]):Object.assign(e,{[t]:r[t]}):Object.assign(e,{[t]:r[t]})}),e):N({},r)}function K(n,r){let e=r.split(".");r="";do r+=e.shift(),u(n)&&u(n[r])&&(D(n[r])||H(n[r])||!e.length)?(n=n[r],r=""):e.length?r+=".":n=void 0;while(e.length);return n}function se(n,r,e){let t=r.split("."),s=n;for(let i=0;i<t.length;i++){let a=t[i];i===t.length-1?s[a]=e:((!s[a]||!D(s[a]))&&(s[a]={}),s=s[a])}}var g=class{},k=(()=>{class n extends g{templateMatcher=/{{\s?([^{}\s]*)\s?}}/g;interpolate(e,t){if($(e))return this.interpolateString(e,t);if(ne(e))return this.interpolateFunction(e,t)}interpolateFunction(e,t){return e(t)}interpolateString(e,t){return t?e.replace(this.templateMatcher,(s,i)=>{let a=K(t,i);return u(a)?a:s}):e}static \u0275fac=(()=>{let e;return function(s){return(e||(e=y(n)))(s||n)}})();static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})(),p=class{},ee=(()=>{class n extends p{compile(e,t){return e}compileTranslations(e,t){return e}static \u0275fac=(()=>{let e;return function(s){return(e||(e=y(n)))(s||n)}})();static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})(),j=class{defaultLang;currentLang=this.defaultLang;translations={};langs=[];onTranslationChange=new f;onLangChange=new f;onDefaultLangChange=new f},x=new v("ISOALTE_TRANSLATE_SERVICE"),O=new v("USE_DEFAULT_LANG"),U=new v("DEFAULT_LANGUAGE"),B=new v("USE_EXTEND"),b=n=>c(n)?n:L(n),G=(()=>{class n{store;currentLoader;compiler;parser;missingTranslationHandler;useDefaultLang;isolate;extend;loadingTranslations;pending=!1;_onTranslationChange=new f;_onLangChange=new f;_onDefaultLangChange=new f;_defaultLang;_currentLang;_langs=[];_translations={};_translationRequests={};lastUseLanguage=null;get onTranslationChange(){return this.isolate?this._onTranslationChange:this.store.onTranslationChange}get onLangChange(){return this.isolate?this._onLangChange:this.store.onLangChange}get onDefaultLangChange(){return this.isolate?this._onDefaultLangChange:this.store.onDefaultLangChange}get defaultLang(){return this.isolate?this._defaultLang:this.store.defaultLang}set defaultLang(e){this.isolate?this._defaultLang=e:this.store.defaultLang=e}get currentLang(){return this.isolate?this._currentLang:this.store.currentLang}set currentLang(e){this.isolate?this._currentLang=e:this.store.currentLang=e}get langs(){return this.isolate?this._langs:this.store.langs}set langs(e){this.isolate?this._langs=e:this.store.langs=e}get translations(){return this.isolate?this._translations:this.store.translations}set translations(e){this.isolate?this._translations=e:this.store.translations=e}constructor(e,t,s,i,a,A=!0,l=!1,T=!1,w){this.store=e,this.currentLoader=t,this.compiler=s,this.parser=i,this.missingTranslationHandler=a,this.useDefaultLang=A,this.isolate=l,this.extend=T,w&&this.setDefaultLang(w)}setDefaultLang(e){if(e===this.defaultLang)return;let t=this.retrieveTranslations(e);typeof t<"u"?(this.defaultLang==null&&(this.defaultLang=e),t.pipe(C(1)).subscribe(()=>{this.changeDefaultLang(e)})):this.changeDefaultLang(e)}getDefaultLang(){return this.defaultLang}use(e){if(this.lastUseLanguage=e,e===this.currentLang)return L(this.translations[e]);this.currentLang||(this.currentLang=e);let t=this.retrieveTranslations(e);return c(t)?(t.pipe(C(1)).subscribe(()=>{this.changeLang(e)}),t):(this.changeLang(e),L(this.translations[e]))}changeLang(e){e===this.lastUseLanguage&&(this.currentLang=e,this.onLangChange.emit({lang:e,translations:this.translations[e]}),this.defaultLang==null&&this.changeDefaultLang(e))}retrieveTranslations(e){if(typeof this.translations[e]>"u"||this.extend)return this._translationRequests[e]=this._translationRequests[e]||this.loadAndCompileTranslations(e),this._translationRequests[e]}getTranslation(e){return this.loadAndCompileTranslations(e)}loadAndCompileTranslations(e){this.pending=!0;let t=this.currentLoader.getTranslation(e).pipe(P(1),C(1));return this.loadingTranslations=t.pipe(I(s=>this.compiler.compileTranslations(s,e)),P(1),C(1)),this.loadingTranslations.subscribe({next:s=>{this.translations[e]=this.extend&&this.translations[e]?_(_({},s),this.translations[e]):s,this.updateLangs(),this.pending=!1},error:s=>{this.pending=!1}}),t}setTranslation(e,t,s=!1){let i=this.compiler.compileTranslations(t,e);(s||this.extend)&&this.translations[e]?this.translations[e]=N(this.translations[e],i):this.translations[e]=i,this.updateLangs(),this.onTranslationChange.emit({lang:e,translations:this.translations[e]})}getLangs(){return this.langs}addLangs(e){e.forEach(t=>{this.langs.indexOf(t)===-1&&this.langs.push(t)})}updateLangs(){this.addLangs(Object.keys(this.translations))}getParsedResultForKey(e,t,s){let i;if(e&&(i=this.runInterpolation(K(e,t),s)),i===void 0&&this.defaultLang!=null&&this.defaultLang!==this.currentLang&&this.useDefaultLang&&(i=this.runInterpolation(K(this.translations[this.defaultLang],t),s)),i===void 0){let a={key:t,translateService:this};typeof s<"u"&&(a.interpolateParams=s),i=this.missingTranslationHandler.handle(a)}return i!==void 0?i:t}runInterpolation(e,t){if(H(e))return e.map(s=>this.runInterpolation(s,t));if(D(e)){let s={};for(let i in e)s[i]=this.runInterpolation(e[i],t);return s}else return this.parser.interpolate(e,t)}getParsedResult(e,t,s){if(t instanceof Array){let i={},a=!1;for(let l of t)i[l]=this.getParsedResultForKey(e,l,s),a=a||c(i[l]);if(!a)return i;let A=t.map(l=>b(i[l]));return q(A).pipe(I(l=>{let T={};return l.forEach((w,te)=>{T[t[te]]=w}),T}))}return this.getParsedResultForKey(e,t,s)}get(e,t){if(!u(e)||!e.length)throw new Error('Parameter "key" is required and cannot be empty');return this.pending?this.loadingTranslations.pipe(J(s=>b(this.getParsedResult(s,e,t)))):b(this.getParsedResult(this.translations[this.currentLang],e,t))}getStreamOnTranslationChange(e,t){if(!u(e)||!e.length)throw new Error('Parameter "key" is required and cannot be empty');return V(F(()=>this.get(e,t)),this.onTranslationChange.pipe(R(s=>{let i=this.getParsedResult(s.translations,e,t);return b(i)})))}stream(e,t){if(!u(e)||!e.length)throw new Error('Parameter "key" required');return V(F(()=>this.get(e,t)),this.onLangChange.pipe(R(s=>{let i=this.getParsedResult(s.translations,e,t);return b(i)})))}instant(e,t){if(!u(e)||e.length===0)throw new Error('Parameter "key" is required and cannot be empty');let s=this.getParsedResult(this.translations[this.currentLang],e,t);return c(s)?Array.isArray(e)?e.reduce((i,a)=>(i[a]=a,i),{}):e:s}set(e,t,s=this.currentLang){se(this.translations[s],e,$(t)?this.compiler.compile(t,s):this.compiler.compileTranslations(t,s)),this.updateLangs(),this.onTranslationChange.emit({lang:s,translations:this.translations[s]})}changeDefaultLang(e){this.defaultLang=e,this.onDefaultLangChange.emit({lang:e,translations:this.translations[e]})}reloadLang(e){return this.resetLang(e),this.loadAndCompileTranslations(e)}resetLang(e){delete this._translationRequests[e],delete this.translations[e]}getBrowserLang(){if(typeof window>"u"||!window.navigator)return;let e=this.getBrowserCultureLang();return e?e.split(/[-_]/)[0]:void 0}getBrowserCultureLang(){if(!(typeof window>"u"||typeof window.navigator>"u"))return window.navigator.languages?window.navigator.languages[0]:window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage}static \u0275fac=function(t){return new(t||n)(o(j),o(d),o(p),o(g),o(m),o(O),o(x),o(B),o(U))};static \u0275prov=h({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var Ce=(()=>{class n{translate;_ref;value="";lastKey=null;lastParams=[];onTranslationChange;onLangChange;onDefaultLangChange;constructor(e,t){this.translate=e,this._ref=t}updateValue(e,t,s){let i=a=>{this.value=a!==void 0?a:e,this.lastKey=e,this._ref.markForCheck()};if(s){let a=this.translate.getParsedResult(s,e,t);c(a)?a.subscribe(i):i(a)}this.translate.get(e,t).subscribe(i)}transform(e,...t){if(!e||!e.length)return e;if(E(e,this.lastKey)&&E(t,this.lastParams))return this.value;let s;if(u(t[0])&&t.length)if($(t[0])&&t[0].length){let i=t[0].replace(/(')?([a-zA-Z0-9_]+)(')?(\s)?:/g,'"$2":').replace(/:(\s)?(')(.*?)(')/g,':"$3"');try{s=JSON.parse(i)}catch(a){throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${t[0]}`)}}else D(t[0])&&(s=t[0]);return this.lastKey=e,this.lastParams=t,this.updateValue(e,s),this._dispose(),this.onTranslationChange||(this.onTranslationChange=this.translate.onTranslationChange.subscribe(i=>{this.lastKey&&i.lang===this.translate.currentLang&&(this.lastKey=null,this.updateValue(e,s,i.translations))})),this.onLangChange||(this.onLangChange=this.translate.onLangChange.subscribe(i=>{this.lastKey&&(this.lastKey=null,this.updateValue(e,s,i.translations))})),this.onDefaultLangChange||(this.onDefaultLangChange=this.translate.onDefaultLangChange.subscribe(()=>{this.lastKey&&(this.lastKey=null,this.updateValue(e,s))})),this.value}_dispose(){typeof this.onTranslationChange<"u"&&(this.onTranslationChange.unsubscribe(),this.onTranslationChange=void 0),typeof this.onLangChange<"u"&&(this.onLangChange.unsubscribe(),this.onLangChange=void 0),typeof this.onDefaultLangChange<"u"&&(this.onDefaultLangChange.unsubscribe(),this.onDefaultLangChange=void 0)}ngOnDestroy(){this._dispose()}static \u0275fac=function(t){return new(t||n)(M(G,16),M(Z,16))};static \u0275pipe=W({name:"translate",type:n,pure:!1});static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})();var ve=(()=>{class n{static forRoot(e={}){return{ngModule:n,providers:[e.loader||{provide:d,useClass:Q},e.compiler||{provide:p,useClass:ee},e.parser||{provide:g,useClass:k},e.missingTranslationHandler||{provide:m,useClass:Y},j,{provide:x,useValue:e.isolate},{provide:O,useValue:e.useDefaultLang},{provide:B,useValue:e.extend},{provide:U,useValue:e.defaultLanguage},G]}}static forChild(e={}){return{ngModule:n,providers:[e.loader||{provide:d,useClass:Q},e.compiler||{provide:p,useClass:ee},e.parser||{provide:g,useClass:k},e.missingTranslationHandler||{provide:m,useClass:Y},{provide:x,useValue:e.isolate},{provide:O,useValue:e.useDefaultLang},{provide:B,useValue:e.extend},{provide:U,useValue:e.defaultLanguage},G]}}static \u0275fac=function(t){return new(t||n)};static \u0275mod=z({type:n});static \u0275inj=X({})}return n})();export{G as a,Ce as b,ve as c};
@@ -1 +0,0 @@
1
- import{d as s}from"./chunk-NZNNTHFQ.js";import{b as n}from"./chunk-SVFFEV36.js";import{h as r,ha as o,na as e,w as i}from"./chunk-TXOB7R5K.js";var l=(()=>{class t{$router=e(s);$settings=e(n);canActivate(){return r(this,null,function*(){return this.$settings.settingsLoaded||(yield i(this.$settings.onSettingsLoaded)),this.$settings.env.setupWizardComplete===!1||this.$router.navigate(["/"]),!0})}static \u0275fac=function(a){return new(a||t)};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{l as a};
@@ -1 +0,0 @@
1
- import{f as a}from"./chunk-S62KH3FN.js";import"./chunk-LDPCT3YF.js";import"./chunk-Q5URFHBE.js";import"./chunk-WHJSVGC7.js";import"./chunk-6TCHCTXZ.js";import"./chunk-FX4GQIE4.js";import"./chunk-VMXGERJT.js";import"./chunk-7EUQWCP5.js";import"./chunk-WNWWUCCZ.js";import"./chunk-7L7RZCFC.js";import"./chunk-CCUID66K.js";import"./chunk-QE7DO6J3.js";import"./chunk-BKUGARB4.js";import"./chunk-BPMSJ2VF.js";import"./chunk-WHJOLAED.js";import"./chunk-JZZQRLNW.js";import"./chunk-KQJ7ONUG.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-6PHMBMFU.js";import"./chunk-NZNNTHFQ.js";import"./chunk-BFDVOBTQ.js";import"./chunk-SVFFEV36.js";import"./chunk-CW7Q7WEJ.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as StatusComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-ZY7HKZ4P.js";import"./chunk-EA5J2VEJ.js";import"./chunk-VMXGERJT.js";import"./chunk-7EUQWCP5.js";import"./chunk-JZZQRLNW.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-NZNNTHFQ.js";import"./chunk-SVFFEV36.js";import"./chunk-CW7Q7WEJ.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as ConfigEditorComponent};
@@ -1 +0,0 @@
1
- import{a as X}from"./chunk-77A3OZ74.js";import{b as we,w as Be}from"./chunk-FX4GQIE4.js";import{a as ye}from"./chunk-VMXGERJT.js";import{b as De}from"./chunk-7L7RZCFC.js";import{g as U,m as N,n as j,o as ke}from"./chunk-ORPWYWCL.js";import{b as K,c as pe,e as q,f as de,g as Z,j as O,k as ce,l as J,m as me,n as ue,o as ge,p as _e,q as be,r as ve,s as fe,t as he,u as xe,v as Se,y as Q,z as Ce}from"./chunk-QHPDGSZ6.js";import{d as oe,e as se}from"./chunk-NZNNTHFQ.js";import{b as le}from"./chunk-SVFFEV36.js";import{b as T,j as M}from"./chunk-CW7Q7WEJ.js";import{a as A,b as E}from"./chunk-3IX3CLER.js";import{$b as w,Bc as l,Cc as o,Dc as H,Kb as k,Lb as b,M as Y,Mb as u,Rb as h,Tb as F,Ub as V,Vb as D,Wb as i,Xb as n,Yb as d,ad as R,cc as v,db as te,dc as f,g as Ve,h as y,ib as e,id as W,kd as re,na as x,nc as r,oc as c,pc as g,qc as P,rb as B,sc as ie,tc as ne,uc as ae,w as I,xa as S,xc as L,ya as C,yc as $}from"./chunk-TXOB7R5K.js";var ee=Ve(De(),1);var Pe=(a,m)=>({"fa-download":a,"fa-cog fa-spin":m}),Re=a=>({backupTime:a,dayCount:7}),Ue=(a,m)=>({"fa-trash":a,"fa-cog fa-spin":m}),ze=(a,m)=>({backupSize:a,maxBackupSizeText:m});function He(a,m){if(a&1&&(i(0,"li"),r(1),l(2,"date"),l(3,"translate"),n()),a&2){let t=f();e(),g(" ",H(3,4,"backup.scheduled_backup_time",L(7,Re,H(2,1,t.backupTime,"shortTime")))," ")}}function Oe(a,m){if(a&1&&(i(0,"span",24),l(1,"translate"),d(2,"i",28),r(3),n()),a&2){let t=f().$implicit;u("ngbTooltip",H(1,2,"backup.backup_exceeds_max_size",$(5,ze,t.size+"MB",t.maxBackupSizeText))),e(3),g(" ",t.size,"MB ")}}function je(a,m){if(a&1&&(i(0,"span"),r(1),n()),a&2){let t=f().$implicit;e(),g(" ",t.size,"MB ")}}function Ge(a,m){if(a&1){let t=w();i(0,"li",9)(1,"span")(2,"span",23),r(3),l(4,"date"),n(),d(5,"br"),i(6,"small",10),r(7),l(8,"date"),k(9,Oe,4,8,"span",24)(10,je,2,1,"span"),n()(),i(11,"span",11)(12,"button",25),l(13,"translate"),l(14,"translate"),v("click",function(){let s=S(t).$implicit,_=f();return C(_.restore(s))}),d(15,"i",13),n(),i(16,"button",14),l(17,"translate"),l(18,"translate"),v("click",function(){let s=S(t).$implicit,_=f();return C(_.download(s))}),d(19,"i",26),n(),i(20,"button",27),l(21,"translate"),l(22,"translate"),v("click",function(){let s=S(t).$implicit,_=f();return C(_.delete(s))}),d(23,"i",15),n()()()}if(a&2){let t=m.$implicit,p=f();e(2),u("ngbTooltip",t.fileName),e(),g(" ",H(4,15,t.timestamp,"mediumDate")," "),e(4),g(" ",H(8,18,t.timestamp,"shortTime")," \xB7 "),e(2),h(t.size>t.maxBackupSize?9:-1),e(),h(t.size<=t.maxBackupSize?10:-1),e(2),u("disabled",p.clicked||p.deleting||t.size>t.maxBackupSize)("ngbTooltip",o(13,21,"form.button_restore")),b("aria-label",o(14,23,"form.button_restore")),e(4),u("disabled",p.clicked||p.deleting)("ngbTooltip",o(17,25,"form.button_download")),b("aria-label",o(18,27,"form.button_download")),e(4),u("disabled",p.clicked||p.deleting)("ngbTooltip",o(21,29,"form.button_delete")),b("aria-label",o(22,31,"form.button_delete")),e(3),u("ngClass",$(33,Ue,t.id!==p.deleting,t.id===p.deleting))}}function Le(a,m){if(a&1&&(i(0,"div")(1,"div",29)(2,"h4",30),r(3),l(4,"translate"),n(),i(5,"p"),r(6),n()()()),a&2){let t=f();e(3),c(o(4,2,"toast.title_error")),e(3),c(t.errorMessage)}}var Ee=(()=>{class a{$activeModal=x(N);$api=x(T);$modal=x(j);$toastr=x(M);$translate=x(A);clicked=!1;scheduledBackups=[];backupTime;errorMessage="";deleting=null;ngOnInit(){this.getScheduledBackups(),this.getNextBackup()}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").subscribe({next:t=>{this.scheduledBackups=t},error:t=>{this.errorMessage=t.error.message||t.message}})}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").subscribe({next:t=>{this.backupTime=t.next},error:t=>{console.error(t)}})}download(t){this.$api.get(`/backup/scheduled-backups/${t.id}`,{observe:"response",responseType:"blob"}).subscribe({next:p=>{let s=t.fileName||"homebridge-backup.tar.gz",_=p.body.size;if(_>globalThis.backup.maxBackupSize){let z=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(_/1048576).toFixed(1)}MB`});this.$toastr.warning(z,this.$translate.instant("toast.title_warning"))}(0,ee.saveAs)(p.body,s)},error:p=>{console.error(p),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})}restore(t){this.$activeModal.close();let p=this.$modal.open(X,{size:"lg",backdrop:"static"});p.componentInstance.selectedBackup=t}delete(t){this.deleting=t.id,this.$api.delete(`/backup/scheduled-backups/${t.id}`).subscribe({next:()=>{this.getScheduledBackups(),this.deleting=null},error:p=>{this.deleting=null,console.error(p),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}})}onDownloadBackupClick(){return y(this,null,function*(){this.clicked=!0,this.$api.get("/backup/download",{observe:"response",responseType:"blob"}).subscribe({next:t=>{let p=t.headers.get("File-Name")||"homebridge-backup.tar.gz";this.clicked=!1;let s=t.body.size;if(s>globalThis.backup.maxBackupSize){let _=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(s/1048576).toFixed(1)}MB`});this.$toastr.warning(_,this.$translate.instant("toast.title_warning"))}(0,ee.saveAs)(t.body,p)},error:t=>{this.clicked=!1,console.error(t),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})})}Date=Date;static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:55,vars:50,consts:[[1,"modal-content","hb-backup-modal"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mt-2","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[2,"display","flex","flex-wrap","nowrap"],["disabled","",1,"btn","btn-primary","ml-3"],[1,"fas","fa-fw","fa-history"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","ml-1",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw",3,"ngClass"],["disabled","",1,"btn","btn-danger","ml-1"],[1,"fas","fa-fw","fa-trash"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],["container","modal","openDelay","150","triggers","hover",3,"ngbTooltip"],["container","modal","openDelay","150","triggers","hover",1,"red-text",3,"ngbTooltip"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","ml-3",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","ml-1",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-exclamation-circle"],["role","alert",1,"alert","alert-error"],[1,"alert-heading"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5)(10,"div",6),d(11,"i",7),n(),i(12,"ul")(13,"li"),r(14),l(15,"translate"),n(),i(16,"li"),r(17),l(18,"translate"),n(),i(19,"li"),r(20),l(21,"translate"),n(),k(22,He,4,9,"li"),n(),i(23,"ul",8)(24,"li",9)(25,"span")(26,"span"),r(27),l(28,"date"),n(),d(29,"br"),i(30,"small",10),r(31),l(32,"date"),l(33,"translate"),n()(),i(34,"span",11)(35,"button",12),l(36,"translate"),d(37,"i",13),n(),i(38,"button",14),l(39,"translate"),l(40,"translate"),v("click",function(){return s.onDownloadBackupClick()}),d(41,"i",15),n(),i(42,"button",16),l(43,"translate"),d(44,"i",17),n()()(),V(45,Ge,24,36,"li",9,F),n(),k(47,Le,7,4,"div"),n(),i(48,"div",18),d(49,"div",19),i(50,"div",20)(51,"button",21),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(52),l(53,"translate"),n()(),d(54,"div",22),n()()),p&2&&(e(3),c(o(4,19,"backup.title_backup")),e(2),u("disabled",s.clicked||s.deleting),b("aria-label",o(6,21,"form.button_close")),e(9),c(o(15,23,"backup.backup_help_one")),e(3),c(o(18,25,"backup.backup_help_two")),e(3),c(o(21,27,"backup.backup_warning")),e(2),h(s.backupTime?22:-1),e(5),g(" ",H(28,29,s.Date.now(),"mediumDate")," "),e(4),P("",H(32,32,s.Date.now(),"shortTime")," \xB7 ",o(33,35,"backup.now"),""),e(4),b("aria-label",o(36,37,"form.button_restore")),e(3),u("disabled",s.clicked)("ngbTooltip",o(39,39,"form.button_download")),b("aria-label",o(40,41,"form.button_download")),e(3),u("ngClass",$(47,Pe,!s.clicked,s.clicked)),e(),b("aria-label",o(43,43,"form.button_delete")),e(3),D(s.scheduledBackups),e(2),h(s.errorMessage?47:-1),e(4),u("disabled",s.clicked||s.deleting),e(),g(" ",o(53,45,"form.button_close")," "))},dependencies:[ke,R,re,E],encapsulation:2})}return a})();function We(a,m){a&1&&(i(0,"div",6),d(1,"i",13),i(2,"p",14),r(3),l(4,"translate"),n()()),a&2&&(e(3),c(o(4,1,"reset.remove_cached_accessories_single_empty")))}function Ke(a,m){a&1&&(i(0,"div")(1,"div",15),d(2,"i",16),n(),i(3,"ngb-alert",17)(4,"p",18),r(5),l(6,"translate"),n(),i(7,"ul",19)(8,"li"),r(9),l(10,"translate"),n(),i(11,"li"),r(12),l(13,"translate"),n(),i(14,"li",14),r(15),l(16,"translate"),n()()()()),a&2&&(e(3),u("dismissible",!1),e(2),c(o(6,5,"reset.action_is_irreversible")),e(4),c(o(10,7,"reset.clear_cache_all.list_1")),e(3),c(o(13,9,"reset.clear_cache_all.list_2")),e(3),c(o(16,11,"reset.clear_cache_all.list_3")))}function qe(a,m){if(a&1){let t=w();i(0,"button",20),l(1,"translate"),v("click",function(){S(t);let s=f();return C(s.$activeModal.dismiss("Dismiss"))}),r(2),l(3,"translate"),n()}if(a&2){let t=f();u("disabled",t.clicked),b("aria-label",o(1,3,"form.button_close")),e(2),g(" ",o(3,5,"form.button_close")," ")}}function Je(a,m){if(a&1){let t=w();i(0,"button",21),l(1,"translate"),v("click",function(){S(t);let s=f();return C(s.$activeModal.dismiss("Dismiss"))}),r(2),l(3,"translate"),n()}a&2&&(b("aria-label",o(1,2,"form.button_close")),e(2),g(" ",o(3,4,"form.button_close")," "))}function Qe(a,m){a&1&&(i(0,"span"),r(1),l(2,"translate"),n()),a&2&&(e(),c(o(2,1,"form.button_remove")))}function Xe(a,m){a&1&&d(0,"i",23)}function Ye(a,m){if(a&1){let t=w();i(0,"button",22),v("click",function(){S(t);let s=f();return C(s.onResetCachedAccessoriesClick())}),k(1,Qe,3,3,"span")(2,Xe,1,0,"i",23),n()}if(a&2){let t=f();u("disabled",t.clicked),e(),h(t.clicked?-1:1),e(),h(t.clicked?2:-1)}}var Ie=(()=>{class a{$activeModal=x(N);$api=x(T);$toastr=x(M);$translate=x(A);clicked;cachedAccessories=[];ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return y(this,null,function*(){try{this.cachedAccessories=yield I(this.$api.get("/server/cached-accessories"))}catch(t){console.error(t),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()},error:t=>{this.clicked=!1,console.error(t),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:19,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","mb-4","primary-text",2,"font-size","75px"],["type","error",2,"margin-bottom","0",3,"dismissible"],[1,"font-weight-bold"],[1,"mb-0","text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5),k(10,We,5,3,"div",6)(11,Ke,17,13,"div"),n(),i(12,"div",7)(13,"div",8),k(14,qe,4,7,"button",9),n(),i(15,"div",6),k(16,Je,4,6,"button",10),n(),i(17,"div",11),k(18,Ye,3,3,"button",12),n()()()),p&2&&(e(3),c(o(4,8,"reset.clear_cache_all.title")),e(2),u("disabled",s.clicked),b("aria-label",o(6,10,"form.button_close")),e(5),h(s.cachedAccessories.length===0?10:-1),e(),h(s.cachedAccessories.length>0?11:-1),e(3),h(s.cachedAccessories.length>0?14:-1),e(2),h(s.cachedAccessories.length===0?16:-1),e(2),h(s.cachedAccessories.length>0?18:-1))},dependencies:[U,E],encapsulation:2})}return a})();var Ze=(a,m)=>({"green-text":a,"red-text":m}),et=(a,m)=>({"fa-trash":a,"fa-cog fa-spin":m});function tt(a,m){a&1&&(i(0,"div",6),d(1,"i",11),i(2,"p",12),r(3),l(4,"translate"),n()()),a&2&&(e(3),c(o(4,1,"reset.clear_cache_bridge.empty")))}function it(a,m){if(a&1){let t=w();i(0,"li",18)(1,"span"),r(2),l(3,"titlecase"),d(4,"br"),i(5,"small",19),d(6,"i",20),r(7),l(8,"translate"),n()(),i(9,"button",21),l(10,"translate"),v("click",function(){let s=S(t).$implicit,_=f(2);return C(_.removeAccessories(s._id))}),d(11,"i",22),n()()}if(a&2){let t=m.$implicit,p=f(2);e(2),P(" ",t.displayName," (",t._main?"Homebridge":o(3,8,t._category),") "),e(4),u("ngClass",$(14,Ze,t._isPaired,!t._isPaired)),e(),P(" ",o(8,10,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 ",t._username," "),e(2),u("disabled",p.deleting||p.deleted.includes(t._id)),b("aria-label",o(10,12,"form.button_delete")),e(2),u("ngClass",$(17,et,t._id!==p.deleting,t._id===p.deleting))}}function nt(a,m){if(a&1&&(i(0,"div")(1,"div",13),d(2,"i",14),n(),i(3,"ngb-alert",15)(4,"ul",16)(5,"li"),r(6),l(7,"translate"),n(),i(8,"li"),r(9),l(10,"translate"),n(),i(11,"li"),r(12),l(13,"translate"),n()()(),i(14,"ul",17),V(15,it,12,20,"li",18,F),n()()),a&2){let t=f();e(3),u("dismissible",!1),e(3),c(o(7,4,"reset.clear_cache_bridge.list_1")),e(3),c(o(10,6,"reset.clear_cache_single.list_3")),e(3),c(o(13,8,"reset.clear_cache_bridge.list_2")),e(3),D(t.pairings)}}var $e=(()=>{class a{$activeModal=x(N);$api=x(T);$modal=x(j);$toastr=x(M);$translate=x(A);pairings=[];deleting=null;deleted=[];ngOnInit(){this.loadPairings()}loadPairings(){return y(this,null,function*(){try{this.pairings=(yield I(this.$api.get("/server/pairings"))).filter(t=>t._category==="bridge"&&!t._main).sort((t,p)=>p._main?1:-1)}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessories(t){this.deleting=t,this.$api.delete(`/server/pairings/${t}/accessories`).subscribe({next:()=>y(this,null,function*(){yield this.loadPairings(),this.deleting=null,this.deleted.push(t),this.$toastr.success("",this.$translate.instant("toast.title_success"))}),error:p=>{this.deleting=null,console.error(p),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.unpair_error"),this.$translate.instant("toast.title_error"))}})}ngOnDestroy(){if(this.deleted.length){let t=this.$modal.open(we,{size:"lg",backdrop:"static"});t.componentInstance.bridges=this.deleted.map(p=>{let{_username:s,displayName:_}=this.pairings.find(z=>z._id===p);return{displayName:_,username:s}})}}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5),k(10,tt,5,3,"div",6)(11,nt,17,10,"div"),n(),i(12,"div",7),d(13,"div",8),i(14,"div",6)(15,"button",9),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(16),l(17,"translate"),n()(),d(18,"div",10),n()()),p&2&&(e(3),c(o(4,7,"reset.clear_cache_bridge.title")),e(2),u("disabled",s.deleting),b("aria-label",o(6,9,"form.button_close")),e(5),h(s.pairings.length===0?10:-1),e(),h(s.pairings.length>0?11:-1),e(4),u("disabled",s.deleting),e(),g(" ",o(17,11,"form.button_close")," "))},dependencies:[U,R,W,E],encapsulation:2})}return a})();var at=(a,m)=>({"fa-trash":a,"fa-cog fa-spin":m});function rt(a,m){a&1&&(i(0,"div",6),d(1,"i",11),i(2,"p",12),r(3),l(4,"translate"),n()()),a&2&&(e(3),c(o(4,1,"reset.remove_cached_accessories_single_empty")))}function lt(a,m){if(a&1){let t=w();i(0,"li",18)(1,"span"),r(2),d(3,"br"),i(4,"small",19),r(5),n()(),i(6,"button",20),l(7,"translate"),v("click",function(){let s=S(t).$implicit,_=f(2);return C(_.removeAccessory(s))}),d(8,"i",21),n()()}if(a&2){let t=m.$implicit,p=f(2);e(2),P(" ",t.displayName," (",t.plugin,") "),e(3),c(t.UUID),e(),u("disabled",p.deleting),b("aria-label",o(7,6,"form.button_delete")),e(2),u("ngClass",$(8,at,t.UUID!==p.deleting,t.UUID===p.deleting))}}function ot(a,m){if(a&1&&(i(0,"div")(1,"div",13),d(2,"i",14),n(),i(3,"ngb-alert",15)(4,"ul",16)(5,"li"),r(6),l(7,"translate"),n(),i(8,"li"),r(9),l(10,"translate"),n(),i(11,"li"),r(12),l(13,"translate"),n(),i(14,"li",12),r(15),l(16,"translate"),n()()(),i(17,"ul",17),V(18,lt,9,11,"li",18,F),n()()),a&2){let t=f();e(3),u("dismissible",!1),e(3),c(o(7,5,"reset.clear_cache_single.list_1")),e(3),c(o(10,7,"reset.clear_cache_single.list_2")),e(3),c(o(13,9,"reset.clear_cache_single.list_3")),e(3),c(o(16,11,"reset.clear_cache_single.list_4")),e(3),D(t.cachedAccessories)}}var Te=(()=>{class a{$activeModal=x(N);$api=x(T);$toastr=x(M);$translate=x(A);cachedAccessories=[];deleting=null;ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return y(this,null,function*(){try{this.cachedAccessories=yield I(this.$api.get("/server/cached-accessories"))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessory(t){this.deleting=t.UUID,this.$toastr.info(this.$translate.instant("reset.removing_cached_accessory_please_wait")),this.$api.delete(`/server/cached-accessories/${t.UUID}`,{params:{cacheFile:t.$cacheFile}}).subscribe({next:()=>y(this,null,function*(){yield this.loadCachedAccessories(),this.deleting=null,this.cachedAccessories.length||this.$activeModal.close(),this.$toastr.success(this.$translate.instant("reset.cached_accessory_removed"),this.$translate.instant("toast.title_success"))}),error:p=>{this.deleting=null,console.error(p),this.$toastr.error(this.$translate.instant("reset.delete_failed"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","mb-4","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-danger","ml-3",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5),k(10,rt,5,3,"div",6)(11,ot,20,13,"div"),n(),i(12,"div",7),d(13,"div",8),i(14,"div",6)(15,"button",9),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(16),l(17,"translate"),n()(),d(18,"div",10),n()()),p&2&&(e(3),c(o(4,7,"reset.clear_cache_single.title")),e(2),u("disabled",s.deleting),b("aria-label",o(6,9,"form.button_close")),e(5),h(s.cachedAccessories.length===0?10:-1),e(),h(s.cachedAccessories.length>0?11:-1),e(4),u("disabled",s.deleting),e(),g(" ",o(17,11,"form.button_close")," "))},dependencies:[U,R,E],encapsulation:2})}return a})();function pt(a,m){if(a&1){let t=w();i(0,"li",11)(1,"span")(2,"label",18)(3,"input",19),ae("ngModelChange",function(s){let _=S(t).$implicit;return ne(_.selected,s)||(_.selected=s),C(s)}),n(),i(4,"span"),r(5),n(),d(6,"span",20),n()(),i(7,"span"),r(8),n()()}if(a&2){let t=m.$implicit;e(2),u("for","adapter"+t.iface),e(),u("id","adapter"+t.iface),ie("ngModel",t.selected),e(2),c(t.iface),e(3),g(" ",t.ip4||t.ip6," ")}}var Ae=(()=>{class a{$activeModal=x(N);availableNetworkAdapters=[];bridgeNetworkAdapters=[];submit(){this.$activeModal.close(this.availableNetworkAdapters.filter(t=>t.selected).map(t=>t.iface))}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],inputs:{availableNetworkAdapters:"availableNetworkAdapters",bridgeNetworkAdapters:"bridgeNetworkAdapters"},decls:38,vars:24,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-ethernet","mb-4","primary-text",2,"font-size","75px"],[1,"alert"],[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-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"],[1,"hb-uix-switch","d-inline","pr-3",3,"for"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"hb-uix-slider","hb-uix-round"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5)(10,"div",6),d(11,"i",7),n(),i(12,"div",8),r(13),l(14,"translate"),n(),i(15,"ul",9)(16,"li",10)(17,"span")(18,"strong"),r(19),l(20,"translate"),n()(),i(21,"span")(22,"strong"),r(23),l(24,"translate"),n()()(),V(25,pt,9,5,"li",11,F),n()(),i(27,"div",12)(28,"div",13)(29,"button",14),l(30,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(31),l(32,"translate"),n()(),d(33,"div",15),i(34,"div",16)(35,"button",17),v("click",function(){return s.submit()}),r(36),l(37,"translate"),n()()()()),p&2&&(e(3),c(o(4,8,"settings.network.title_network_interfaces")),e(2),b("aria-label",o(6,10,"form.button_close")),e(8),c(o(14,12,"settings.network.message_network_interface")),e(6),c(o(20,14,"settings.network.label_interface_name")),e(4),c(o(24,16,"settings.network.label_ip_address")),e(2),D(s.availableNetworkAdapters),e(4),b("aria-label",o(30,18,"form.button_close")),e(2),g(" ",o(32,20,"form.button_close")," "),e(5),g(" ",o(37,22,"form.button_save")," "))},dependencies:[Q,K,q,J,E],encapsulation:2})}return a})();function dt(a,m){a&1&&(i(0,"span"),r(1),l(2,"translate"),n()),a&2&&(e(),c(o(2,1,"form.button_reset")))}function ct(a,m){a&1&&d(0,"i",18)}var Me=(()=>{class a{$activeModal=x(N);$api=x(T);$route=x(oe);$toastr=x(M);$translate=x(A);clicked;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:t=>{console.error(t),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:40,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],["type","error",2,"margin-bottom","0",3,"dismissible"],[1,"font-weight-bold"],[1,"mb-0","text-left"],[1,"mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5)(10,"div",6),d(11,"i",7),n(),i(12,"ngb-alert",8)(13,"p",9),r(14),l(15,"translate"),n(),i(16,"ul",10)(17,"li"),r(18),l(19,"translate"),n(),i(20,"li"),r(21),l(22,"translate"),n(),i(23,"li"),r(24),l(25,"translate"),n(),i(26,"li",11),r(27),l(28,"translate"),n()()()(),i(29,"div",12)(30,"div",13)(31,"button",14),l(32,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(33),l(34,"translate"),n()(),d(35,"div",15),i(36,"div",16)(37,"button",17),v("click",function(){return s.onResetHomebridgeAccessoryClick()}),k(38,dt,3,3,"span")(39,ct,1,0,"i",18),n()()()()),p&2&&(e(3),c(o(4,15,"reset.bridges_all.title")),e(2),u("disabled",s.clicked),b("aria-label",o(6,17,"form.button_close")),e(7),u("dismissible",!1),e(2),c(o(15,19,"reset.action_is_irreversible")),e(4),c(o(19,21,"reset.bridges_all.list_1")),e(3),c(o(22,23,"reset.bridges_all.list_2")),e(3),c(o(25,25,"reset.bridges_all.list_3")),e(3),c(o(28,27,"reset.bridges_all.list_4")),e(4),u("disabled",s.clicked),b("aria-label",o(32,29,"form.button_close")),e(2),g(" ",o(34,31,"form.button_close")," "),e(4),u("disabled",s.clicked),e(),h(s.clicked?-1:38),e(),h(s.clicked?39:-1))},dependencies:[U,E],encapsulation:2})}return a})();var mt=(a,m)=>({"green-text":a,"red-text":m}),ut=(a,m)=>({"fa-link-slash":a,"fa-cog fa-spin":m});function gt(a,m){a&1&&(i(0,"div",6),d(1,"i",11),i(2,"p",12),r(3),l(4,"translate"),n()()),a&2&&(e(3),c(o(4,1,"reset.bridges.empty")))}function _t(a,m){if(a&1){let t=w();i(0,"li",18)(1,"span"),r(2),l(3,"titlecase"),d(4,"br"),i(5,"small",19),d(6,"i",20),r(7),l(8,"translate"),n()(),i(9,"button",21),l(10,"translate"),v("click",function(){let s=S(t).$implicit,_=f(2);return C(_.removeAccessory(s._id))}),d(11,"i",22),n()()}if(a&2){let t=m.$implicit,p=f(2);e(2),P(" ",t.displayName," (",t._main?"Homebridge":o(3,8,t._category),") "),e(4),u("ngClass",$(14,mt,t._isPaired,!t._isPaired)),e(),P(" ",o(8,10,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 ",t._username," "),e(2),u("disabled",p.deleting),b("aria-label",o(10,12,"form.button_unpair")),e(2),u("ngClass",$(17,ut,t._id!==p.deleting,t._id===p.deleting))}}function bt(a,m){if(a&1&&(i(0,"div")(1,"div",13),d(2,"i",14),n(),i(3,"ngb-alert",15)(4,"ul",16)(5,"li"),r(6),l(7,"translate"),n(),i(8,"li"),r(9),l(10,"translate"),n(),i(11,"li",12),r(12),l(13,"translate"),n()()(),i(14,"ul",17),V(15,_t,12,20,"li",18,F),n()()),a&2){let t=f();e(3),u("dismissible",!1),e(3),c(o(7,4,"reset.bridges_single.list_1")),e(3),c(o(10,6,"reset.bridges_single.list_2")),e(3),c(o(13,8,"reset.bridges_single.list_3")),e(3),D(t.pairings)}}var Ne=(()=>{class a{$activeModal=x(N);$api=x(T);$modal=x(j);$toastr=x(M);$translate=x(A);pairings=[];deleting=null;unpaired=!1;ngOnInit(){this.loadPairings()}loadPairings(){return y(this,null,function*(){try{this.pairings=(yield I(this.$api.get("/server/pairings"))).sort((t,p)=>p._main?1:-1)}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessory(t){this.deleting=t,this.$api.delete(`/server/pairings/${t}`).subscribe({next:()=>y(this,null,function*(){yield this.loadPairings(),this.pairings.length||this.$activeModal.close(),this.deleting=null,this.unpaired=!0,this.$toastr.success(this.$translate.instant("plugins.settings.restart_required"),this.$translate.instant("toast.title_success"))}),error:p=>{this.deleting=null,console.error(p),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.unpair_error"),this.$translate.instant("toast.title_error"))}})}ngOnDestroy(){this.unpaired&&this.$modal.open(ye,{size:"lg",backdrop:"static"})}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5),k(10,gt,5,3,"div",6)(11,bt,17,10,"div"),n(),i(12,"div",7),d(13,"div",8),i(14,"div",6)(15,"button",9),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(16),l(17,"translate"),n()(),d(18,"div",10),n()()),p&2&&(e(3),c(o(4,7,"reset.bridges_single.title")),e(2),u("disabled",s.deleting),b("aria-label",o(6,9,"form.button_close")),e(5),h(s.pairings.length===0?10:-1),e(),h(s.pairings.length>0?11:-1),e(4),u("disabled",s.deleting),e(),g(" ",o(17,11,"form.button_close")," "))},dependencies:[U,R,W,E],encapsulation:2})}return a})();var vt=a=>({"fa-pulse":a}),Fe=a=>({"is-invalid":a}),ft=(a,m)=>({"badge-danger":a,"badge-info":m});function ht(a,m){if(a&1){let t=w();i(0,"ul",5)(1,"li",12)(2,"span",13),r(3),l(4,"translate"),n(),i(5,"button",14),l(6,"translate"),v("click",function(){S(t);let s=f();return C(s.openBackupModal())}),d(7,"i",15),n()(),i(8,"li",12)(9,"span",13),r(10),l(11,"translate"),n(),i(12,"button",14),l(13,"translate"),v("click",function(){S(t);let s=f();return C(s.openRestoreModal())}),d(14,"i",15),n()(),i(15,"li",12)(16,"span",13),r(17),l(18,"translate"),n(),i(19,"a",16),l(20,"translate"),d(21,"i",15),n()(),i(22,"li",12)(23,"span",13),r(24),l(25,"translate"),n(),i(26,"button",14),l(27,"translate"),v("click",function(){S(t);let s=f();return C(s.openUiSettings())}),d(28,"i",17),n()()()}a&2&&(e(3),g(" ",o(4,8,"backup.title_backup")," "),e(2),b("aria-label",o(6,10,"backup.title_backup")),e(5),g(" ",o(11,12,"form.button_restore")," "),e(2),b("aria-label",o(13,14,"form.button_restore")),e(5),g(" ",o(18,16,"menu.tooltip_user_accounts")," "),e(2),b("aria-label",o(20,18,"menu.tooltip_user_accounts")),e(5),g(" ",o(25,20,"menu.label_settings_advanced")," "),e(2),b("aria-label",o(27,22,"menu.label_settings_advanced")))}function xt(a,m){a&1&&(i(0,"li",69)(1,"small",70),r(2),l(3,"translate"),n(),i(4,"button",71),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(e(2),c(o(3,3,"settings.changes.saved")),e(2),b("aria-label",o(5,5,"menu.tooltip_restart")),e(2),g(" ",o(7,7,"menu.tooltip_restart")," "))}function St(a,m){if(a&1){let t=w();i(0,"ul",6)(1,"li",18)(2,"span"),r(3),l(4,"translate"),n(),i(5,"div",19)(6,"select",20),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("lang",s))}),i(7,"option",21),r(8),l(9,"translate"),n(),i(10,"option",22),r(11,"Bulgarian (bg)"),n(),i(12,"option",23),r(13,"Catalan (ca)"),n(),i(14,"option",24),r(15,"Chinese - Simplified (zh-CN)"),n(),i(16,"option",25),r(17,"Chinese - Traditional (zh-TW)"),n(),i(18,"option",26),r(19,"Czech (cs)"),n(),i(20,"option",27),r(21,"Dutch (nl)"),n(),i(22,"option",28),r(23,"English (en)"),n(),i(24,"option",29),r(25,"Finnish (fi)"),n(),i(26,"option",30),r(27,"French (fr)"),n(),i(28,"option",31),r(29,"German (de)"),n(),i(30,"option",32),r(31,"Hebrew (he)"),n(),i(32,"option",33),r(33,"Hungarian (hu)"),n(),i(34,"option",34),r(35,"Indonesian (id)"),n(),i(36,"option",35),r(37,"Italian (it)"),n(),i(38,"option",36),r(39,"Japanese (ja)"),n(),i(40,"option",37),r(41,"Korean (ko)"),n(),i(42,"option",38),r(43,"Macedonian (mk)"),n(),i(44,"option",39),r(45,"Norwegian (no)"),n(),i(46,"option",40),r(47,"Polish (pl)"),n(),i(48,"option",41),r(49,"Portuguese (Brazil)"),n(),i(50,"option",42),r(51,"Portuguese (Portugal)"),n(),i(52,"option",43),r(53,"Russian (ru)"),n(),i(54,"option",44),r(55,"Slovenian (sl)"),n(),i(56,"option",45),r(57,"Spanish (es)"),n(),i(58,"option",46),r(59,"Swedish (sv)"),n(),i(60,"option",47),r(61,"Thai (th)"),n(),i(62,"option",48),r(63,"Turkish (tr)"),n(),i(64,"option",49),r(65,"Ukrainian (uk)"),n()()()(),i(66,"li",18)(67,"span"),r(68),l(69,"translate"),n(),i(70,"div",19)(71,"select",20),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("theme",s))}),i(72,"option",50),r(73),l(74,"translate"),n(),i(75,"option",51),r(76),l(77,"translate"),n(),i(78,"option",52),r(79),l(80,"translate"),n(),i(81,"option",53),r(82),l(83,"translate"),n(),i(84,"option",54),r(85),l(86,"translate"),n(),i(87,"option",55),r(88),l(89,"translate"),n(),i(90,"option",56),r(91),l(92,"translate"),n(),i(93,"option",57),r(94),l(95,"translate"),n(),i(96,"option",58),r(97),l(98,"translate"),n(),i(99,"option",59),r(100),l(101,"translate"),n(),i(102,"option",60),r(103),l(104,"translate"),n(),i(105,"option",61),r(106),l(107,"translate"),n(),i(108,"option",62),r(109),l(110,"translate"),n()()()(),i(111,"li",18)(112,"span"),r(113),l(114,"translate"),n(),i(115,"div",19)(116,"select",20),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("lightingMode",s))}),i(117,"option",21),r(118),l(119,"translate"),n(),i(120,"option",63),r(121),l(122,"translate"),n(),i(123,"option",64),r(124),l(125,"translate"),n()()()(),i(126,"li",18)(127,"span"),r(128),l(129,"translate"),d(130,"br")(131,"small",65),l(132,"translate"),n(),i(133,"div",19)(134,"input",66),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("loginWallpaper",s))}),n()()(),i(135,"li",18)(136,"span"),r(137),l(138,"translate"),n(),i(139,"div",19)(140,"select",20),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("tempUnits",s))}),i(141,"option",67),r(142),l(143,"translate"),n(),i(144,"option",68),r(145),l(146,"translate"),n()()()(),k(147,xt,8,9,"li",69),n()}if(a&2){let t=f();e(3),c(o(4,31,"settings.display.lang")),e(3),u("ngModel",t.$settings.env.lang),e(2),c(o(9,33,"form.select.auto")),e(60),c(o(69,35,"settings.display.theme")),e(3),u("ngModel",t.$settings.theme),e(2),c(o(74,37,"settings.display.orange")),e(3),c(o(77,39,"settings.display.red")),e(3),c(o(80,41,"settings.display.pink")),e(3),c(o(83,43,"settings.display.purple")),e(3),c(o(86,45,"settings.display.deep_purple")),e(3),c(o(89,47,"settings.display.indigo")),e(3),c(o(92,49,"settings.display.blue")),e(3),c(o(95,51,"settings.display.bluegrey")),e(3),c(o(98,53,"settings.display.cyan")),e(3),c(o(101,55,"settings.display.green")),e(3),c(o(104,57,"settings.display.teal")),e(3),c(o(107,59,"settings.display.grey")),e(3),c(o(110,61,"settings.display.brown")),e(4),c(o(114,63,"settings.display.lighting_mode")),e(3),u("ngModel",t.$settings.lightingMode),e(2),c(o(119,65,"form.select.auto")),e(3),c(o(122,67,"settings.display.light")),e(3),c(o(125,69,"settings.display.dark")),e(4),g(" ",o(129,71,"settings.display.login_wallpaper"),""),e(3),u("innerHTML",o(132,73,"settings.display.login_wallpaper_desc"),te),e(3),u("ngModel",t.$settings.loginWallpaper),e(3),c(o(138,75,"settings.display.temp_units")),e(3),u("ngModel",t.$settings.env.temperatureUnits),e(2),c(o(143,77,"settings.display.temp_units.c")),e(3),c(o(146,79,"settings.display.temp_units.f")),e(2),h(t.hasChangedLoginWallpaper?147:-1)}}function Ct(a,m){if(a&1&&(i(0,"li",12)(1,"span"),r(2),l(3,"translate"),i(4,"code"),r(5,"-D"),n(),d(6,"br"),i(7,"small",73),r(8),l(9,"translate"),n()(),d(10,"input",74),l(11,"translate"),d(12,"label",75),n()),a&2){let t=f(3);e(2),g(" ",o(3,3,"settings.startup.debug")," "),e(6),g(" ",o(9,5,t.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),e(2),b("aria-label",o(11,7,"settings.startup.debug"))}}function kt(a,m){a&1&&(i(0,"li",12)(1,"span"),r(2),l(3,"translate"),i(4,"code"),r(5,"-I"),n(),d(6,"br"),i(7,"small",73),r(8),l(9,"translate"),n()(),d(10,"input",76),l(11,"translate"),d(12,"label",77),n()),a&2&&(e(2),g(" ",o(3,3,"settings.startup.insecure")," "),e(6),c(o(9,5,"settings.startup.insecure_desc")),e(2),b("aria-label",o(11,7,"settings.startup.insecure")))}function wt(a,m){a&1&&(i(0,"li",12)(1,"span"),r(2),l(3,"translate"),i(4,"code"),r(5,"-K"),n(),d(6,"br"),i(7,"small",73),r(8),l(9,"translate"),n()(),d(10,"input",78),l(11,"translate"),d(12,"label",79),n()),a&2&&(e(2),g(" ",o(3,3,"settings.startup.keep_accessories")," "),e(6),c(o(9,5,"settings.startup.keep_accessories_desc")),e(2),b("aria-label",o(11,7,"settings.startup.keep_accessories")))}function yt(a,m){a&1&&(i(0,"li",18)(1,"span")(2,"span",80),r(3,"DEBUG"),n(),d(4,"br"),i(5,"small",73),r(6),l(7,"translate"),i(8,"a",81),r(9),l(10,"translate"),d(11,"i",82),n()()(),i(12,"div",19),d(13,"input",83),n()()),a&2&&(e(6),g(" ",o(7,2,"settings.service.debug_tooltip")," "),e(3),g(" ",o(10,4,"form.button_more_info")," "))}function Bt(a,m){a&1&&(i(0,"li",18)(1,"span")(2,"span",80),r(3,"NODE_OPTIONS"),n(),d(4,"br"),i(5,"small",73),r(6),l(7,"translate"),n()(),i(8,"div",19),d(9,"input",84),n()()),a&2&&(e(6),c(o(7,1,"settings.service.node_tooltip")))}function Et(a,m){a&1&&(i(0,"li",12)(1,"span"),r(2),l(3,"translate"),d(4,"br"),i(5,"small",73),r(6),l(7,"translate"),n()(),i(8,"a",85),l(9,"translate"),d(10,"i",15),n()()),a&2&&(e(2),g(" ",o(3,3,"menu.docker.startup_script"),""),e(4),c(o(7,5,"platform.docker.script_help")),e(2),b("aria-label",o(9,7,"menu.docker.startup_script")))}function It(a,m){a&1&&(i(0,"li",69)(1,"small",70),r(2),l(3,"translate"),n(),i(4,"button",71),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(e(2),c(o(3,3,"settings.changes.saved")),e(2),b("aria-label",o(5,5,"menu.tooltip_restart")),e(2),g(" ",o(7,7,"menu.tooltip_restart")," "))}function $t(a,m){if(a&1&&(i(0,"ul",72),k(1,Ct,13,9,"li",12)(2,kt,13,9,"li",12)(3,wt,13,9,"li",12)(4,yt,14,6,"li",18)(5,Bt,10,3,"li",18)(6,Et,11,9,"li",12)(7,It,8,9,"li",69),n()),a&2){let t=f(2);e(),h(t.$settings.env.serviceMode?1:-1),e(),h(t.$settings.env.serviceMode?2:-1),e(),h(t.$settings.env.serviceMode?3:-1),e(),h(t.$settings.env.serviceMode?4:-1),e(),h(t.$settings.env.serviceMode?5:-1),e(),h(t.$settings.env.runningInDocker?6:-1),e(),h(t.hasChangedService?7:-1)}}function Tt(a,m){if(a&1){let t=w();i(0,"form",7)(1,"div",2),v("click",function(){S(t);let s=f();return C(s.toggleSection("startup"))}),i(2,"h5",3),d(3,"i",4),r(4),l(5,"translate"),n()(),k(6,$t,8,7,"ul",72),n()}if(a&2){let t=f();u("formGroup",t.serviceForm),e(),b("aria-expanded",t.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),e(2),u("ngClass",t.showFields.startup?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(5,6,"settings.title_startup_options")," "),e(2),h(t.showFields.startup?6:-1)}}function At(a,m){a&1&&d(0,"i",96)}function Mt(a,m){if(a&1&&(i(0,"span")(1,"span",95),k(2,At,1,0,"i",96),r(3),i(4,"span",97),r(5),l(6,"translate"),n()()()),a&2){let t=m.$implicit;e(),u("ngClass",$(6,ft,t.missing,!t.missing)),e(),h(t.missing?2:-1),e(),g(" ",t.iface,": "),e(2),c(t.missing?o(6,4,"settings.mdns_advertiser_not_connected"):t.ip4||t.ip6)}}function Nt(a,m){a&1&&(i(0,"option",89),r(1),l(2,"translate"),n()),a&2&&(e(),g("Avahi (",o(2,1,"settings.mdns_advertiser_rec"),")"))}function Ft(a,m){a&1&&(i(0,"option",92),r(1),l(2,"translate"),n()),a&2&&(e(),g("systemd-resolved (",o(2,1,"settings.mdns_advertiser_exp"),")"))}function Vt(a,m){a&1&&(i(0,"li",69)(1,"small",70),r(2),l(3,"translate"),n(),i(4,"button",71),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(e(2),c(o(3,3,"settings.changes.saved")),e(2),b("aria-label",o(5,5,"menu.tooltip_restart")),e(2),g(" ",o(7,7,"menu.tooltip_restart")," "))}function Dt(a,m){if(a&1){let t=w();i(0,"ul",8)(1,"li",12)(2,"span",13)(3,"div"),r(4),l(5,"translate"),d(6,"br"),i(7,"small",73),r(8),l(9,"translate"),n()(),V(10,Mt,7,9,"span",null,F),n(),i(12,"button",86),l(13,"translate"),v("click",function(){S(t);let s=f();return C(s.selectNetworkInterfaces())}),d(14,"i",87),n()(),i(15,"li",18)(16,"span"),r(17),l(18,"translate"),d(19,"br"),i(20,"small",73),r(21),l(22,"translate"),n()(),i(23,"div",19)(24,"select",88),l(25,"translate"),k(26,Nt,3,3,"option",89),i(27,"option",90),r(28),l(29,"translate"),n(),i(30,"option",91),r(31,"Bonjour HAP"),n(),k(32,Ft,3,3,"option",92),n()()(),i(33,"li",18)(34,"span"),r(35),l(36,"translate"),d(37,"br"),i(38,"small",73),r(39),l(40,"translate"),n()(),i(41,"div",19),d(42,"input",93),l(43,"translate"),n()(),i(44,"li",18)(45,"span"),r(46),l(47,"translate"),d(48,"br"),i(49,"small",73),r(50),l(51,"translate"),n()(),i(52,"div",19),d(53,"input",94),l(54,"translate"),n()(),k(55,Vt,8,9,"li",69),n()}if(a&2){let t=f();e(4),g(" ",o(5,22,"settings.network.title_network_interfaces"),""),e(4),c(o(9,24,"settings.network.message_network_interface")),e(2),D(t.bridgeNetworkAdapters),e(2),u("disabled",!t.availableNetworkAdapters.length),b("aria-label",o(13,26,"settings.network.title_network_interfaces")),e(2),u("ngClass",L(48,vt,!t.availableNetworkAdapters.length)),e(3),g(" ",o(18,28,"settings.mdns_advertiser"),""),e(4),c(o(22,30,"settings.mdns_advertiser_help")),e(3),u("formControl",t.legacyMdnsFormControl),b("aria-label",o(25,32,"settings.mdns_advertiser")),e(2),h(t.showAvahiMdnsOption?26:-1),e(2),g(" Ciao ",t.showAvahiMdnsOption?"":"("+o(29,34,"settings.mdns_advertiser_rec")+")"," "),e(4),h(t.showResolvedMdnsOption?32:-1),e(3),g(" ",o(36,36,"settings.network.port_hb"),""),e(4),c(o(40,38,"settings.network.port_hb_desc")),e(3),u("formControl",t.hbPortFormControl)("ngClass",L(50,Fe,t.isInvalidHbPort)),b("aria-label",o(43,40,"settings.network.port_ui")),e(4),g(" ",o(47,42,"settings.network.port_ui"),""),e(4),c(o(51,44,"settings.network.port_ui_desc")),e(3),u("ngClass",L(52,Fe,t.isInvalidHbUiPort)),b("aria-label",o(54,46,"settings.network.port_ui")),e(2),h(t.hasChangedHbPort||t.hasChangedUiSettings||t.hasChangedMdns||t.hasChangedBridgeNetworkAdapters?55:-1)}}function Pt(a,m){a&1&&(i(0,"p",9),r(1),l(2,"translate"),n()),a&2&&(e(),c(o(2,1,"settings.cache.desc")))}function Rt(a,m){if(a&1){let t=w();i(0,"ul",98)(1,"li",12)(2,"span",13),r(3),l(4,"translate"),d(5,"br"),i(6,"small",73),r(7),l(8,"translate"),n()(),i(9,"button",14),l(10,"translate"),v("click",function(){S(t);let s=f(2);return C(s.removeSingleCachedAccessories())}),d(11,"i",15),n()(),i(12,"li",12)(13,"span",13),r(14),l(15,"translate"),d(16,"br"),i(17,"small",73),r(18),l(19,"translate"),n()(),i(20,"button",14),l(21,"translate"),v("click",function(){S(t);let s=f(2);return C(s.removeBridgeAccessories())}),d(22,"i",15),n()(),i(23,"li",12)(24,"span",13),r(25),l(26,"translate"),d(27,"br"),i(28,"small",73),r(29),l(30,"translate"),n()(),i(31,"button",14),l(32,"translate"),v("click",function(){S(t);let s=f(2);return C(s.removeAllCachedAccessories())}),d(33,"i",15),n()()()}a&2&&(e(3),g(" ",o(4,9,"reset.clear_cache_single.title"),""),e(4),c(o(8,11,"reset.clear_cache_single.desc")),e(2),b("aria-label",o(10,13,"reset.clear_cache_single.title")),e(5),g(" ",o(15,15,"reset.clear_cache_bridge.title"),""),e(4),c(o(19,17,"reset.clear_cache_bridge.desc")),e(2),b("aria-label",o(21,19,"reset.clear_cache_all.title")),e(5),g(" ",o(26,21,"reset.clear_cache_all.title"),""),e(4),c(o(30,23,"reset.clear_cache_all.desc")),e(2),b("aria-label",o(32,25,"reset.clear_cache_all.title")))}function Ut(a,m){if(a&1){let t=w();i(0,"div",1)(1,"div",2),v("click",function(){S(t);let s=f();return C(s.toggleSection("cache"))}),i(2,"h5",3),d(3,"i",4),r(4),l(5,"translate"),n()(),k(6,Pt,3,3,"p",9)(7,Rt,34,27,"ul",98),n()}if(a&2){let t=f();e(),b("aria-expanded",t.showFields.cache?"true":"false")("aria-controls","fieldsCache"),e(2),u("ngClass",t.showFields.cache?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(5,6,"settings.cache.title")," "),e(2),h(t.showFields.cache?6:-1),e(),h(t.showFields.cache?7:-1)}}function zt(a,m){a&1&&(i(0,"p",9),r(1),l(2,"translate"),n()),a&2&&(e(),c(o(2,1,"reset.bridges.desc")))}function Ht(a,m){if(a&1){let t=w();i(0,"ul",10)(1,"li",12)(2,"span",13),r(3),l(4,"translate"),d(5,"br"),i(6,"small",73),r(7),l(8,"translate"),n()(),i(9,"button",14),l(10,"translate"),v("click",function(){S(t);let s=f();return C(s.unpairAccessory())}),d(11,"i",15),n()(),i(12,"li",12)(13,"span",13),r(14),l(15,"translate"),l(16,"titlecase"),d(17,"br"),i(18,"small",73),r(19),l(20,"translate"),n()(),i(21,"button",14),l(22,"translate"),v("click",function(){S(t);let s=f();return C(s.resetHomebridgeState())}),d(23,"i",15),n()()()}a&2&&(e(3),g(" ",o(4,6,"reset.bridges_single.title"),""),e(4),c(o(8,8,"reset.bridges_single.desc")),e(2),b("aria-label",o(10,10,"reset.bridges_single.title")),e(5),g(" ",o(16,14,o(15,12,"reset.bridges_all.title")),""),e(5),c(o(20,16,"reset.bridges_all.desc")),e(2),b("aria-label",o(22,18,"reset.bridges_all.title")))}var Cn=(()=>{class a{$api=x(T);$modal=x(j);$plugin=x(Be);$settings=x(le);$toastr=x(M);$translate=x(A);originalServiceForm={HOMEBRIDGE_DEBUG:!1,HOMEBRIDGE_KEEP_ORPHANS:!1,HOMEBRIDGE_INSECURE:!0,ENV_DEBUG:"",ENV_NODE_OPTIONS:""};originalUiSettingsForm={port:0};originalLoginWallpaper="";originalMdnsSetting="";originalBridgeNetworkAdapters=[];originalHbPort=0;hasChangedService=!1;hasChangedUiSettings=!1;hasChangedMdns=!1;hasChangedBridgeNetworkAdapters=!1;hasChangedHbPort=!1;hasChangedLoginWallpaper=!1;isInvalidHbPort=!1;isInvalidHbUiPort=!1;serviceForm=new Z({HOMEBRIDGE_DEBUG:new O(!1),HOMEBRIDGE_KEEP_ORPHANS:new O(!1),HOMEBRIDGE_INSECURE:new O(!0),ENV_DEBUG:new O(""),ENV_NODE_OPTIONS:new O("")});uiSettingsForm=new Z({port:new O(0)});loginWallpaper="";legacyMdnsFormControl=new ce(!1);showAvahiMdnsOption=!1;showResolvedMdnsOption=!1;availableNetworkAdapters=[];bridgeNetworkAdapters=[];hbPortFormControl=new O(0);isHbV2=!1;showFields={general:!0,display:!0,startup:!0,network:!0,reset:!0,cache:!0};ngOnInit(){this.isHbV2=this.$settings.env.homebridgeVersion.startsWith("2"),this.initUiSettingsForm(),this.initDisplaySettingsForm(),this.initNetworkingOptions(),this.$settings.env.serviceMode&&this.initServiceModeForm()}initUiSettingsForm(){this.originalUiSettingsForm={port:this.$settings.env.port},this.uiSettingsForm.patchValue({port:this.$settings.env.port}),this.uiSettingsForm.valueChanges.pipe(Y(500)).subscribe(t=>{let p=!1;Object.keys(t).forEach(s=>{this.originalUiSettingsForm[s]!==t[s]&&(this.saveUiSettingChange(s,t[s]),p=!0)}),this.hasChangedUiSettings=p})}initServiceModeForm(){this.$api.get("/platform-tools/hb-service/homebridge-startup-settings").subscribe({next:t=>{Object.keys(t).forEach(p=>{this.originalServiceForm[p]=t[p]}),this.serviceForm.patchValue(t),this.serviceForm.valueChanges.pipe(Y(500)).subscribe(this.saveServiceModeSettings.bind(this))},error:t=>{console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}initDisplaySettingsForm(){this.originalLoginWallpaper=this.$settings.loginWallpaper,this.loginWallpaper=this.$settings.loginWallpaper}saveUiSettingChange(t,p){switch(t){case"lang":this.$settings.setLang(p);break;case"lightingMode":this.$settings.setLightingMode(p,"user");break;case"theme":this.$settings.setTheme(p);break;case"tempUnits":this.$settings.setEnvItem("temperatureUnits",p);break;case"loginWallpaper":this.$settings.setEnvItem("loginWallpaper",p),this.hasChangedLoginWallpaper=p!==this.originalLoginWallpaper;break;case"port":if(!p||typeof p!="number"||p<1025||p>65533||Number.isInteger(p)===!1||p===this.hbPortFormControl.value){this.isInvalidHbUiPort=!0;return}this.$settings.setEnvItem("port",p),this.isInvalidHbUiPort=!1;break}I(this.$api.put("/config-editor/ui",{key:t,value:p})).catch(s=>{console.error(s),this.$toastr.error(s.message,this.$translate.instant("toast.title_error"))})}openUiSettings(){this.$plugin.settings({name:"homebridge-config-ui-x",displayName:"Homebridge UI",settingsSchema:!0,links:{}})}openRestoreModal(){this.$modal.open(X,{size:"lg",backdrop:"static"})}openBackupModal(){this.$modal.open(Ee,{size:"lg",backdrop:"static"})}saveServiceModeSettings(t=this.serviceForm.value){this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",t).subscribe({next:()=>{this.hasChangedService=JSON.stringify(t)!==JSON.stringify(this.originalServiceForm)},error:p=>{console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})}resetHomebridgeState(){this.$modal.open(Me,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(Ne,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(Ie,{size:"lg",backdrop:"static"})}removeSingleCachedAccessories(){this.$modal.open(Te,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open($e,{size:"lg",backdrop:"static"})}initNetworkingOptions(){return y(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 y(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(([t,p,s,_])=>{this.availableNetworkAdapters=t,this.buildBridgeNetworkAdapterList(p),this.legacyMdnsFormControl.patchValue(s.advertiser),this.originalMdnsSetting=s.advertiser,this.originalBridgeNetworkAdapters=this.bridgeNetworkAdapters.map(z=>z.iface),this.legacyMdnsFormControl.valueChanges.subscribe(z=>{this.setHomebridgeMdnsSetting(z)}),this.hbPortFormControl.patchValue(_.port),this.hbPortFormControl.valueChanges.subscribe(z=>this.setHomebridgePort(z)),this.originalHbPort=_.port})})}setHomebridgeMdnsSetting(t){return y(this,null,function*(){this.$api.put("/server/mdns-advertiser",{advertiser:t}).subscribe({next:()=>{this.hasChangedMdns=t!==this.originalMdnsSetting},error:p=>{console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})})}setNetworkInterfaces(t){return y(this,null,function*(){this.$api.put("/server/network-interfaces/bridge",{adapters:t}).subscribe({next:()=>{this.hasChangedBridgeNetworkAdapters=this.originalBridgeNetworkAdapters.join(",")!==t.join(",")},error:p=>{console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})})}setHomebridgePort(t){return y(this,null,function*(){if(t===this.uiSettingsForm.get("port").value){this.isInvalidHbPort=!0;return}this.$api.put("/server/port",{port:t}).subscribe({next:()=>{this.hasChangedHbPort=this.originalHbPort!==t,this.isInvalidHbPort=!1},error:()=>{this.isInvalidHbPort=!0}})})}buildBridgeNetworkAdapterList(t){if(!t.length){this.bridgeNetworkAdapters=[];return}this.bridgeNetworkAdapters=t.map(p=>{let s=this.availableNetworkAdapters.find(_=>_.iface===p);return s?(s.selected=!0,s.missing=!1,s):{iface:p,missing:!0}})}selectNetworkInterfaces(){let t=this.$modal.open(Ae,{size:"lg",backdrop:"static"});t.componentInstance.availableNetworkAdapters=this.availableNetworkAdapters,t.componentInstance.bridgeNetworkAdapters=this.bridgeNetworkAdapters,t.result.then(p=>{this.buildBridgeNetworkAdapterList(p),this.setNetworkInterfaces(p)}).catch(()=>{})}toggleSection(t){this.showFields[t]=!this.showFields[t]}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:35,vars:35,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","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],[1,"small","grey-text","mb-2","mx-0"],["id","fieldsReset",1,"list-group","list-group-box","mt-2","mx-0"],[1,"pb-3"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pr-2"],[1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px",3,"click"],[1,"fas","fa-fw","fa-chevron-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px"],[1,"fas","fa-fw","fa-sliders"],[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"],[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"],[1,"grey-text","pr-2",3,"innerHTML"],["name","search_wallpaper","autocomplete","off","type","text","placeholder","/path-to/image.png",1,"form-control","custom-input","form-control-sm","resp-input",3,"ngModelChange","ngModel"],["value","c"],["value","f"],[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"],["id","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],[1,"grey-text","pr-2"],["type","checkbox","id","homebridgeDebugMode","formControlName","HOMEBRIDGE_DEBUG",1,"rendux-input"],["for","homebridgeDebugMode",1,"rendux-label","ml-3",2,"min-width","50px"],["type","checkbox","id","homebridgeInsecureMode","formControlName","HOMEBRIDGE_INSECURE",1,"rendux-input"],["for","homebridgeInsecureMode",1,"rendux-label","ml-3",2,"min-width","50px"],["type","checkbox","id","homebridgeKeepOrphans","formControlName","HOMEBRIDGE_KEEP_ORPHANS",1,"rendux-input"],["for","homebridgeKeepOrphans",1,"rendux-label","ml-3",2,"min-width","50px"],[1,"text-monospace"],["href","https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values","target","_blank"],[1,"fa","fa/fw","fas","fa-fw","fa-external-link-alt"],["formControlName","ENV_DEBUG","type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input","form-control-sm","resp-input"],["formControlName","ENV_NODE_OPTIONS","type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input","form-control-sm","resp-input"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px"],[1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px",3,"click","disabled"],[1,"fas","fa-fw","fa-chevron-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","form-control-sm","resp-input",3,"formControl","ngClass"],["type","number","min","1025","max","65533","placeholder","8581","formControlName","port",1,"form-control","custom-input","form-control-sm","resp-input",3,"ngClass"],[1,"badge","badge-pill","mr-1",3,"ngClass"],[1,"fas","fa-fw","fa-exclamation-triangle"],[1,"font-weight-normal"],["id","fieldsCache",1,"list-group","list-group-box","mb-4","mx-0"]],template:function(p,s){p&1&&(i(0,"h3",0),r(1),l(2,"translate"),n(),i(3,"div",1)(4,"div",2),v("click",function(){return s.toggleSection("general")}),i(5,"h5",3),d(6,"i",4),r(7),l(8,"translate"),n()(),k(9,ht,29,24,"ul",5),n(),i(10,"div",1)(11,"div",2),v("click",function(){return s.toggleSection("display")}),i(12,"h5",3),d(13,"i",4),r(14),l(15,"translate"),n()(),k(16,St,148,81,"ul",6),n(),k(17,Tt,7,8,"form",7),i(18,"form",7)(19,"div",2),v("click",function(){return s.toggleSection("network")}),i(20,"h5",3),d(21,"i",4),r(22),l(23,"translate"),n()(),k(24,Dt,56,54,"ul",8),n(),k(25,Ut,8,8,"div",1),i(26,"div",1)(27,"div",2),v("click",function(){return s.toggleSection("reset")}),i(28,"h5",3),d(29,"i",4),r(30),l(31,"translate"),n()(),k(32,zt,3,3,"p",9)(33,Ht,24,20,"ul",10),n(),d(34,"div",11)),p&2&&(e(),c(o(2,25,"menu.settings.title")),e(3),b("aria-expanded",s.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),e(2),u("ngClass",s.showFields.general?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(8,27,"settings.general.title_general")," "),e(2),h(s.showFields.general?9:-1),e(2),b("aria-expanded",s.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),e(2),u("ngClass",s.showFields.display?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(15,29,"settings.general.title_display")," "),e(2),h(s.showFields.display?16:-1),e(),h(s.$settings.env.serviceMode||s.$settings.env.runningInDocker?17:-1),e(),u("formGroup",s.uiSettingsForm),e(),b("aria-expanded",s.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),e(2),u("ngClass",s.showFields.network?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(23,31,"settings.network.title_network")," "),e(2),h(s.showFields.network?24:-1),e(),h(s.$settings.env.serviceMode?25:-1),e(2),b("aria-expanded",s.showFields.reset?"true":"false")("aria-controls","fieldsReset"),e(2),u("ngClass",s.showFields.reset?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(31,33,"reset.bridges.title")," "),e(2),h(s.showFields.reset?32:-1),e(),h(s.showFields.reset?33:-1))},dependencies:[R,se,Q,me,fe,he,pe,ue,K,ve,q,de,Se,xe,J,Ce,ge,_e,be,W,E],encapsulation:2})}return a})();export{Ie as a,$e as b,Te as c,Ae as d,Me as e,Ne as f,Cn as g};
@@ -1 +0,0 @@
1
- import{a as N,b as U}from"./chunk-BKUGARB4.js";import{m as H}from"./chunk-ORPWYWCL.js";import{a as D}from"./chunk-6PHMBMFU.js";import{d as V}from"./chunk-NZNNTHFQ.js";import{b as E,j as z}from"./chunk-CW7Q7WEJ.js";import{c as I,d as w}from"./chunk-UG5DK2RQ.js";import{a as P,b as A}from"./chunk-3IX3CLER.js";import{$b as R,Bc as l,Cc as d,Dc as F,Kb as f,Lb as S,Mb as b,Rb as c,Wb as a,Xb as o,Yb as u,cc as x,dc as p,g as $,h as k,ib as i,na as _,nc as s,oc as h,pc as v,rb as y,xa as C,xc as B,ya as g}from"./chunk-TXOB7R5K.js";var M=$(N(),1),W=$(U(),1);var j=t=>({maxBackupSizeText:t});function q(t,m){if(t&1&&(a(0,"div"),u(1,"input",11),o()),t&2){let e=p(2);i(),b("value",e.selectedBackup.fileName)}}function O(t,m){if(t&1){let e=R();a(0,"div",10)(1,"input",12),x("change",function(n){C(e);let T=p(2);return g(T.handleRestoreFileInput(n.target.files))}),o(),a(2,"label",13),s(3),l(4,"translate"),o()()}if(t&2){let e=p(2);i(3),v(" ",d(4,1,(e.selectedFile==null?null:e.selectedFile.name)||"backup.label_choose_backup_file_to_restore")," ")}}function G(t,m){if(t&1&&(a(0,"div",5)(1,"div",8),u(2,"i",9),o(),a(3,"p"),s(4),l(5,"translate"),o(),a(6,"ul")(7,"li"),s(8),l(9,"translate"),o(),a(10,"li"),s(11),l(12,"translate"),o(),a(13,"li"),s(14),l(15,"translate"),o()(),f(16,q,2,1,"div")(17,O,5,3,"div",10),o()),t&2){let e=p();i(4),h(d(5,6,"backup.restore_help_one")),i(4),h(d(9,8,"backup.restore_help_two")),i(3),h(F(12,10,"backup.restore_max_size",B(15,j,e.maxFileSizeText))),i(3),h(d(15,13,"backup.restore_warning")),i(2),c(e.selectedBackup?16:-1),i(),c(e.selectedBackup?-1:17)}}function J(t,m){t&1&&u(0,"i",19)}function K(t,m){if(t&1&&(a(0,"span"),s(1),o()),t&2){let e=p(3);i(),v("",e.uploadPercent,"% - ")}}function L(t,m){t&1&&(a(0,"span"),s(1," Extracting Archive"),o())}function Q(t,m){t&1&&(a(0,"span"),s(1),l(2,"translate"),o()),t&2&&(i(),v(" ",d(2,1,"backup.label_uploading"),""))}function X(t,m){if(t&1&&(a(0,"span"),f(1,J,1,0,"i",19)(2,K,2,1,"span")(3,L,2,0,"span")(4,Q,3,3,"span"),o()),t&2){let e=p(2);i(),c(!e.uploadPercent||e.uploadPercent===100?1:-1),i(),c(e.uploadPercent&&e.uploadPercent!==100?2:-1),i(),c(e.uploadPercent===100?3:-1),i(),c(e.uploadPercent!==100?4:-1)}}function Y(t,m){t&1&&(a(0,"span"),s(1),l(2,"translate"),o()),t&2&&(i(),h(d(2,1,"form.button_restore")))}function Z(t,m){if(t&1){let e=R();a(0,"div",7)(1,"div",14)(2,"button",15),l(3,"translate"),x("click",function(){C(e);let n=p();return g(n.$activeModal.dismiss("Dismiss"))}),s(4),l(5,"translate"),o()(),u(6,"div",16),a(7,"div",17)(8,"button",18),x("click",function(){C(e);let n=p();return g(n.onRestoreBackupClick())}),f(9,X,5,4,"span")(10,Y,3,3,"span"),o()()()}if(t&2){let e=p();i(2),b("disabled",e.clicked),S("aria-label",d(3,6,"form.button_close")),i(2),v(" ",d(5,8,"form.button_close")," "),i(4),b("disabled",!e.selectedBackup&&!e.selectedFile||e.clicked),i(),c(e.clicked?9:-1),i(),c(e.clicked?-1:10)}}function ee(t,m){if(t&1){let e=R();a(0,"div",7),u(1,"div",14),a(2,"div",16)(3,"button",20),x("click",function(){C(e);let n=p();return g(n.postBackupRestart())}),s(4),l(5,"translate"),o()(),u(6,"div",17),o()}t&2&&(i(4),v(" ",d(5,1,"menu.hbrestart.title")," "))}var me=(()=>{class t{$activeModal=_(H);$api=_(E);$route=_(V);$toastr=_(z);$translate=_(P);$ws=_(D);setupWizardRestore=!1;selectedBackup=null;clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;restoreArchiveType="homebridge";uploadPercent=0;term=new M.Terminal;termTarget;fitAddon=new W.FitAddon;io;ngOnInit(){return k(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:r=>{var n;console.error(r),this.$toastr.error(((n=r.error)==null?void 0:n.message)||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})}restoreScheduledBackup(){return k(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=>{var r;console.error(e),this.$toastr.error(((r=e.error)==null?void 0:r.message)||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})})}startRestore(){return k(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:r=>{r.type===I.UploadProgress?this.uploadPercent=Math.round(100*r.loaded/r.total):r instanceof w&&(this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startHbfxRestore()},500),this.clicked=!1)},error:r=>{var n;this.clicked=!1,console.error(r),this.$toastr.error(((n=r.error)==null?void 0:n.message)||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})}startHbfxRestore(){return k(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:()=>{}})}ngOnDestroy(){this.io.end()}static \u0275fac=function(r){return new(r||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],inputs:{setupWizardRestore:"setupWizardRestore",selectedBackup:"selectedBackup"},decls:13,vars:11,consts:[[1,"modal-content","hb-backup-modal"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-footer","justify-content-between"],[1,"text-center","mt-2","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"custom-file"],["type","text","disabled","",1,"form-control","custom-input",3,"value"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"custom-file-input",3,"change"],["for","restoreFileUpload",1,"custom-file-label"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fa","fa-fw","fa-circle-notch","fa-spin"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(r,n){r&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),s(3),l(4,"translate"),o(),a(5,"button",3),l(6,"translate"),x("click",function(){return n.$activeModal.dismiss("Dismiss")}),a(7,"span",4),s(8,"\xD7"),o()()(),f(9,G,18,17,"div",5),u(10,"div",6),f(11,Z,11,10,"div",7)(12,ee,7,3,"div",7),o()),r&2&&(i(3),h(d(4,7,"form.button_restore")),i(2),b("disabled",n.restoreInProgress),S("aria-label",d(6,9,"form.button_close")),i(4),c(!n.restoreStarted&&!n.setupWizardRestore?9:-1),i(),b("hidden",!n.restoreStarted),i(),c(!n.restoreStarted||n.restoreFailed===!0?11:-1),i(),c(!n.restoreInProgress&&n.restoreStarted?12:-1))},dependencies:[A],encapsulation:2})}return t})();export{me as a};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-DNOJWLVY.js";import"./chunk-6PHMBMFU.js";import"./chunk-NZNNTHFQ.js";import"./chunk-BFDVOBTQ.js";import"./chunk-SVFFEV36.js";import"./chunk-CW7Q7WEJ.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as RestartComponent};
@@ -1 +0,0 @@
1
- import{a as p}from"./chunk-5ALXJOLQ.js";import{a as f}from"./chunk-WMB35VCS.js";import"./chunk-77A3OZ74.js";import"./chunk-BKUGARB4.js";import{q as a}from"./chunk-ORPWYWCL.js";import{y as u,z as d}from"./chunk-QHPDGSZ6.js";import"./chunk-6PHMBMFU.js";import{g as i}from"./chunk-NZNNTHFQ.js";import"./chunk-BFDVOBTQ.js";import"./chunk-SVFFEV36.js";import"./chunk-CW7Q7WEJ.js";import"./chunk-UG5DK2RQ.js";import{c as n}from"./chunk-3IX3CLER.js";import{ia as t,md as m,sb as r}from"./chunk-TXOB7R5K.js";var M=[{path:"",loadComponent:()=>import("./chunk-GVDR7ZRB.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:[p],imports:[m,u,d,n,a,l,f]})}return o})();export{R as SetupWizardModule};
@@ -1 +0,0 @@
1
- import{a as C,b as y,c as $,d as j}from"./chunk-T2YVB4SI.js";import"./chunk-QE7DO6J3.js";import{q as h}from"./chunk-ORPWYWCL.js";import{y as g,z as v}from"./chunk-QHPDGSZ6.js";import{d as U,g as n}from"./chunk-NZNNTHFQ.js";import"./chunk-BFDVOBTQ.js";import"./chunk-SVFFEV36.js";import{b as c,j as M}from"./chunk-CW7Q7WEJ.js";import"./chunk-UG5DK2RQ.js";import{a as u,c as d}from"./chunk-3IX3CLER.js";import{h as a,ha as f,ia as i,md as l,na as e,sb as s,w as p}from"./chunk-TXOB7R5K.js";var m=(()=>{class r{$api=e(c);$router=e(U);$toastr=e(M);$translate=e(u);resolve(){return a(this,null,function*(){try{return yield p(this.$api.get("/users"))}catch(o){console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(t){return new(t||r)};static \u0275prov=f({token:r,factory:r.\u0275fac})}return r})();var F=[{path:"",loadComponent:()=>import("./chunk-WT2GX4NS.js").then(r=>r.UsersComponent),resolve:{homebridgeUsers:m}}],b=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=s({type:r});static \u0275inj=i({imports:[n.forChild(F),n]})}return r})();var Y=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=s({type:r});static \u0275inj=i({providers:[m],imports:[l,g,v,d.forChild(),h,b,$,j,y,C]})}return r})();export{Y as UsersModule};
@@ -1 +0,0 @@
1
- import"./chunk-S6EMLS5Q.js";import"./chunk-LDPCT3YF.js";import"./chunk-CCUID66K.js";import"./chunk-BKUGARB4.js";import"./chunk-6PHMBMFU.js";import{g as i}from"./chunk-NZNNTHFQ.js";import"./chunk-BFDVOBTQ.js";import"./chunk-SVFFEV36.js";import"./chunk-CW7Q7WEJ.js";import"./chunk-UG5DK2RQ.js";import{c as m}from"./chunk-3IX3CLER.js";import{ia as t,md as n,sb as r}from"./chunk-TXOB7R5K.js";var u=[{path:"",loadComponent:()=>import("./chunk-UJU3NPS7.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-RO4QXVDE.js";import"./chunk-ZT23DWNL.js";import"./chunk-6TCHCTXZ.js";import"./chunk-FX4GQIE4.js";import"./chunk-VMXGERJT.js";import"./chunk-7EUQWCP5.js";import"./chunk-WNWWUCCZ.js";import"./chunk-7L7RZCFC.js";import"./chunk-CCUID66K.js";import"./chunk-QE7DO6J3.js";import"./chunk-BKUGARB4.js";import"./chunk-BPMSJ2VF.js";import"./chunk-WHJOLAED.js";import"./chunk-JZZQRLNW.js";import"./chunk-KQJ7ONUG.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-6PHMBMFU.js";import"./chunk-NZNNTHFQ.js";import"./chunk-BFDVOBTQ.js";import"./chunk-SVFFEV36.js";import"./chunk-CW7Q7WEJ.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as PluginsComponent};
@@ -1 +0,0 @@
1
- import{m as E}from"./chunk-ORPWYWCL.js";import{b as y}from"./chunk-3IX3CLER.js";import{$b as k,Bc as m,Cc as d,Kb as p,Lb as u,Mb as S,Qb as L,Rb as s,Wb as n,Xb as o,Yb as I,cc as _,dc as c,eb as g,ib as e,na as B,nc as l,oc as b,pc as x,rb as w,xa as C,ya as v}from"./chunk-TXOB7R5K.js";function T(t,f){if(t&1&&I(0,"i",15),t&2){let i=c();L("fas fa-fw ",i.faIconClass," mb-4")}}function M(t,f){if(t&1&&(n(0,"div",7)(1,"h5",16),l(2),o()()),t&2){let i=c();e(2),b(i.subtitle)}}function h(t,f){if(t&1){let i=k();n(0,"button",17),m(1,"translate"),_("click",function(){C(i);let a=c();return v(a.$activeModal.dismiss("Dismiss"))}),l(2),m(3,"translate"),o()}t&2&&(u("aria-label",d(1,2,"form.button_close")),e(2),x(" ",d(3,4,"form.button_close")," "))}function D(t,f){if(t&1){let i=k();n(0,"button",17),m(1,"translate"),_("click",function(){C(i);let a=c();return v(a.$activeModal.dismiss("Dismiss"))}),l(2),m(3,"translate"),o()}t&2&&(u("aria-label",d(1,2,"form.button_close")),e(2),x(" ",d(3,4,"form.button_close")," "))}function V(t,f){if(t&1&&(n(0,"a",14),l(1),I(2,"i",18),o()),t&2){let i=c();S("href",i.ctaButtonLink,g),e(),x(" ",i.ctaButtonLabel," ")}}var U=(()=>{class t{$activeModal=B(E);title;subtitle;message;ctaButtonLabel;ctaButtonLink;faIconClass;static \u0275fac=function(r){return new(r||t)};static \u0275cmp=w({type:t,selectors:[["ng-component"]],inputs:{title:"title",subtitle:"subtitle",message:"message",ctaButtonLabel:"ctaButtonLabel",ctaButtonLink:"ctaButtonLink",faIconClass:"faIconClass"},decls:20,vars:10,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","w-100","text-center"],[2,"font-size","75px",3,"class"],["role","alert",1,"alert"],[1,"w-100","text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-right"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[2,"font-size","75px"],[1,"mb-0"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(r,a){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),o(),n(4,"button",3),m(5,"translate"),_("click",function(){return a.$activeModal.dismiss("Dismiss")}),n(6,"span",4),l(7,"\xD7"),o()()(),n(8,"div",5),p(9,T,1,3,"i",6)(10,M,3,1,"div",7),n(11,"p",8),l(12),o()(),n(13,"div",9)(14,"div",10),p(15,h,4,6,"button",11),o(),n(16,"div",12),p(17,D,4,6,"button",11),o(),n(18,"div",13),p(19,V,3,2,"a",14),o()()()),r&2&&(e(3),b(a.title),e(),u("aria-label",d(5,8,"form.button_close")),e(5),s(a.faIconClass?9:-1),e(),s(a.subtitle?10:-1),e(2),b(a.message),e(3),s(a.ctaButtonLink?15:-1),e(2),s(a.ctaButtonLink?-1:17),e(2),s(a.ctaButtonLink?19:-1))},dependencies:[y],encapsulation:2})}return t})();export{U as a};
@@ -1 +0,0 @@
1
- import{e as dt,m as pt}from"./chunk-UG5DK2RQ.js";import{$b as U,Ca as H,Db as k,Fb as O,Ga as z,Kb as S,Lb as E,Mb as l,Nb as F,Pb as p,Sc as K,Wb as h,Xb as m,Yb as j,Zb as q,_b as G,a as u,b as T,bc as ht,cb as lt,cc as R,cd as Q,db as L,dc as c,e as It,ha as C,ia as ot,ib as r,jb as v,ka as rt,ma as w,mb as ct,n as g,na as _,nc as f,pc as y,qa as at,rb as Z,sb as ut,xa as $,ya as V}from"./chunk-TXOB7R5K.js";var mt=It((Gt,xt)=>{xt.exports={name:"homebridge-config-ui-x",displayName:"Homebridge UI",version:"5.0.0-beta.3",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:"^18 || ^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":"11.1.1","@fastify/multipart":"8.3.0","@fastify/static":"7.0.4","@homebridge/hap-client":"2.0.4","@homebridge/node-pty-prebuilt-multiarch":"0.12.0-beta.2","@nestjs/axios":"3.1.2","@nestjs/common":"10.4.8","@nestjs/core":"10.4.8","@nestjs/jwt":"10.2.0","@nestjs/passport":"10.0.3","@nestjs/platform-fastify":"10.4.8","@nestjs/platform-socket.io":"10.4.8","@nestjs/swagger":"8.0.7","@nestjs/websockets":"10.4.8",axios:"1.7.7","bash-color":"0.0.4","buffer-shims":"1.0.0","class-transformer":"0.5.1","class-validator":"0.14.1",commander:"12.1.0",dayjs:"1.11.13",fastify:"4.28.1","fs-extra":"11.2.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.1",semver:"7.6.3",systeminformation:"5.23.5",tail:"2.2.6",tar:"6.2.1","tcp-port-used":"1.0.2",unzipper:"0.12.3"},devDependencies:{"@antfu/eslint-config":"^3.9.2","@nestjs/testing":"^10.4.8","@types/fs-extra":"^11.0.4","@types/lodash":"^4.17.13","@types/node":"^22.9.1","@types/node-schedule":"^2.1.7","@types/passport-jwt":"^4.0.1","@types/semver":"^7.5.8","@types/tail":"^2.2.3","@types/tar":"^6.1.13","@types/tcp-port-used":"^1.0.4","@types/unzipper":"^0.10.10","@vitest/coverage-v8":"^2.1.5",concurrently:"^9.1.0",eslint:"^9.15.0","eslint-plugin-format":"^0.1.2","form-data":"^4.0.1",nodemon:"^3.1.7",rimraf:"^6.0.1","ts-loader":"^9.5.1","ts-node":"^10.9.2","tsconfig-paths":"^4.2.0",typescript:"^5.6.3","unplugin-swc":"^1.5.1",vitest:"^2.1.5"},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"}]}});var D={serverTarget:mt().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 Wt=(()=>{class i{$http=_(dt);get(t,e){return this.$http.get(`${D.api.base}${t}`,e)}post(t,e,n){return this.$http.post(`${D.api.base}${t}`,e,n)}put(t,e,n){return this.$http.put(`${D.api.base}${t}`,e,n)}patch(t,e,n){return this.$http.patch(`${D.api.base}${t}`,e,n)}delete(t,e){return this.$http.delete(`${D.api.base}${t}`,e)}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var b=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}(b||{}),te="*";function _t(i,s){return{type:b.Trigger,name:i,definitions:s,options:{}}}function Y(i,s=null){return{type:b.Animate,styles:s,timings:i}}function ee(i,s=null){return{type:b.Sequence,steps:i,options:s}}function N(i){return{type:b.Style,styles:i,offset:null}}function M(i,s,t){return{type:b.State,name:i,styles:s,options:t}}function J(i,s,t=null){return{type:b.Transition,expr:i,animation:s,options:t}}var ft=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}},gt=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}},ie="!";var vt=["toast-component",""];function St(i,s){if(i&1){let t=U();h(0,"button",5),R("click",function(){$(t);let n=c();return V(n.remove())}),h(1,"span",6),f(2,"\xD7"),m()()}}function Et(i,s){if(i&1&&(q(0),f(1),G()),i&2){let t=c(2);r(),y("[",t.duplicatesCount+1,"]")}}function Ft(i,s){if(i&1&&(h(0,"div"),f(1),S(2,Et,2,1,"ng-container",4),m()),i&2){let t=c();p(t.options.titleClass),E("aria-label",t.title),r(),y(" ",t.title," "),r(),l("ngIf",t.duplicatesCount)}}function jt(i,s){if(i&1&&j(0,"div",7),i&2){let t=c();p(t.options.messageClass),l("innerHTML",t.message,L)}}function Rt(i,s){if(i&1&&(h(0,"div",8),f(1),m()),i&2){let t=c();p(t.options.messageClass),E("aria-label",t.message),r(),y(" ",t.message," ")}}function At(i,s){if(i&1&&(h(0,"div"),j(1,"div",9),m()),i&2){let t=c();r(),F("width",t.width()+"%")}}function Ht(i,s){if(i&1){let t=U();h(0,"button",5),R("click",function(){$(t);let n=c();return V(n.remove())}),h(1,"span",6),f(2,"\xD7"),m()()}}function kt(i,s){if(i&1&&(q(0),f(1),G()),i&2){let t=c(2);r(),y("[",t.duplicatesCount+1,"]")}}function Nt(i,s){if(i&1&&(h(0,"div"),f(1),S(2,kt,2,1,"ng-container",4),m()),i&2){let t=c();p(t.options.titleClass),E("aria-label",t.title),r(),y(" ",t.title," "),r(),l("ngIf",t.duplicatesCount)}}function Mt(i,s){if(i&1&&j(0,"div",7),i&2){let t=c();p(t.options.messageClass),l("innerHTML",t.message,L)}}function Pt(i,s){if(i&1&&(h(0,"div",8),f(1),m()),i&2){let t=c();p(t.options.messageClass),E("aria-label",t.message),r(),y(" ",t.message," ")}}function Bt(i,s){if(i&1&&(h(0,"div"),j(1,"div",9),m()),i&2){let t=c();r(),F("width",t.width()+"%")}}var W=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}},X=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}},tt=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)}},I=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()}},yt={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"},bt=new rt("ToastConfig"),et=class extends X{_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]}},$t=(()=>{class i{_document=_(K);_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})(),it=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=_($t);_componentFactoryResolver=_(ct);_appRef=_(k);_document=_(K);_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 et(t,this._componentFactoryResolver,this._appRef)}_createOverlayRef(t){return new it(this._createPortalHost(t))}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),Tt=(()=>{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 A=a&&d.title===t;if((!a||A)&&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 A=this.overlay.create(o.positionClass,this.overlayContainer);this.index=this.index+1;let st=e;e&&o.enableHtml&&(st=this.sanitizer.sanitize(lt.HTML,e));let x=new tt(A),P=new I(this.index,o,st,n,t,x),Ct=[{provide:I,useValue:P}],wt=H.create({providers:Ct,parent:this._injector}),Dt=new W(o.toastComponent,wt),nt=A.attach(Dt,o.newestOnTop);x.componentInstance=nt.instance;let B={toastId:this.index,title:n||"",message:e||"",toastRef:x,onShown:x.afterActivate(),onHidden:x.afterClosed(),onTap:P.onTap(),onAction:P.onAction(),portal:nt};return d||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{B.toastRef.activate()})),this.toasts.push(B),B}static \u0275fac=function(e){return new(e||i)(w(bt),w(Vt),w(H),w(pt),w(z))};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)(v(Tt),v(I),v(z))};static \u0275cmp=Z({type:i,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(e,n){e&1&&R("click",function(){return n.tapToast()})("mouseenter",function(){return n.stickAround()})("mouseleave",function(){return n.delayedHideToast()}),e&2&&(ht("@flyInOut",n._state),p(n.toastClasses),F("display",n.displayStyle))},attrs:vt,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,St,3,0,"button",0)(1,Ft,3,5,"div",1)(2,jt,1,3,"div",2)(3,Rt,2,4,"div",3)(4,At,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:[Q],encapsulation:2,data:{animation:[_t("flyInOut",[M("inactive",N({opacity:0})),M("active",N({opacity:1})),M("removed",N({opacity:0})),J("inactive => active",Y("{{ easeTime }}ms {{ easing }}")),J("active => removed",Y("{{ easeTime }}ms {{ easing }}"))])]},changeDetection:0})}return i})(),Lt=T(u({},yt),{toastComponent:zt}),Zt=(i={})=>at([{provide:bt,useValue:{default:Lt,config:i}}]),ye=(()=>{class i{static forRoot(t={}){return{ngModule:i,providers:[Zt(t)]}}static \u0275fac=function(e){return new(e||i)};static \u0275mod=ut({type:i});static \u0275inj=ot({})}return i})();var qt=(()=>{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)(v(Tt),v(I),v(k))};static \u0275cmp=Z({type:i,selectors:[["","toast-component",""]],hostVars:4,hostBindings:function(e,n){e&1&&R("click",function(){return n.tapToast()})("mouseenter",function(){return n.stickAround()})("mouseleave",function(){return n.delayedHideToast()}),e&2&&(p(n.toastClasses),F("display",n.displayStyle))},attrs:vt,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,Ht,3,0,"button",0)(1,Nt,3,5,"div",1)(2,Mt,1,3,"div",2)(3,Pt,2,4,"div",3)(4,Bt,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:[Q],encapsulation:2,changeDetection:0})}return i})(),be=T(u({},yt),{toastComponent:qt});export{D as a,Wt as b,b as c,te as d,ee as e,N as f,ft as g,gt as h,ie as i,Tt as j,ye as k};
@@ -1 +0,0 @@
1
- import{g as a}from"./chunk-76S7LYCL.js";import"./chunk-77A3OZ74.js";import"./chunk-FX4GQIE4.js";import"./chunk-VMXGERJT.js";import"./chunk-7EUQWCP5.js";import"./chunk-WNWWUCCZ.js";import"./chunk-7L7RZCFC.js";import"./chunk-CCUID66K.js";import"./chunk-QE7DO6J3.js";import"./chunk-BKUGARB4.js";import"./chunk-WHJOLAED.js";import"./chunk-JZZQRLNW.js";import"./chunk-KQJ7ONUG.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-6PHMBMFU.js";import"./chunk-NZNNTHFQ.js";import"./chunk-BFDVOBTQ.js";import"./chunk-SVFFEV36.js";import"./chunk-CW7Q7WEJ.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as SettingsComponent};
@@ -1 +0,0 @@
1
- import{a as D}from"./chunk-6PHMBMFU.js";import{d as B}from"./chunk-NZNNTHFQ.js";import{b as R}from"./chunk-SVFFEV36.js";import{b as k,j as O}from"./chunk-CW7Q7WEJ.js";import{a as I,b as E}from"./chunk-3IX3CLER.js";import{$b as $,Bc as s,Cc as o,Kb as h,Mb as f,Rb as d,Wb as r,Xb as n,Yb as v,ad as T,cc as S,dc as _,ib as i,na as c,nc as a,oc as p,pc as x,rb as w,xa as C,xc as b,ya as y,yc as g}from"./chunk-TXOB7R5K.js";var F=(t,l)=>({"fas fa-fw fa-spinner fa-spin":t,"far fa-fw fa-check-circle":l}),j=t=>({"grey-text":t}),M=(t,l)=>({"far fa-fw fa-circle":t,"fas fa-fw fa-spinner fa-spin":l});function P(t,l){t&1&&(r(0,"p",7),a(1),s(2,"translate"),n()),t&2&&(i(),p(o(2,1,"restart.please_wait_while_server_restarts")))}function U(t,l){if(t&1&&(r(0,"div",8),a(1),n()),t&2){let e=_();i(),p(e.error)}}function V(t,l){if(t&1&&(r(0,"div",9)(1,"div",10)(2,"span"),v(3,"i",11),a(4),s(5,"translate"),n()(),r(6,"div",10)(7,"span",11),v(8,"i",11),a(9),s(10,"translate"),n()()()),t&2){let e=_();i(3),f("ngClass",g(9,F,!e.uiOnline,e.uiOnline)),i(),x(" ",o(5,5,"restart.ui_online")," "),i(3),f("ngClass",b(12,j,!e.uiOnline)),i(),f("ngClass",g(14,M,!e.uiOnline,e.uiOnline)),i(),x(" ",o(10,7,"restart.service_ready")," ")}}function z(t,l){if(t&1){let e=$();r(0,"p",14)(1,"button",15),S("click",function(){C(e);let m=_(2);return y(m.viewLogs())}),a(2),s(3,"translate"),n()()}t&2&&(i(2),p(o(3,1,"menu.tooltip_view_logs")))}function A(t,l){if(t&1&&(r(0,"div")(1,"div",12)(2,"p"),a(3),s(4,"translate"),n(),r(5,"p",13),a(6),s(7,"translate"),r(8,"code"),a(9),n()(),h(10,z,4,3,"p",14),n()()),t&2){let e=_();i(3),p(o(4,4,"restart.server_is_taking_long_time_to_restart")),i(3),x(" ",o(7,6,"restart.label_restart_command_executed"),": "),i(3),p(e.resp.command||"End Process"),i(),d(e.uiOnline?10:-1)}}var Y=(()=>{class t{$api=c(k);$router=c(B);$settings=c(R);$toastr=c(O);$translate=c(I);$ws=c(D);checkTimeout;checkDelay;resp={};timeout=!1;error=!1;uiOnline=!1;io;ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch()}),this.$api.put("/server/restart",{}).subscribe({next:e=>{this.resp=e,this.checkIfServerUp(),e.restartingUI||(this.uiOnline=!0)},error:e=>{console.error(e),this.error=this.$translate.instant("restart.toast_server_restart_error"),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"))}})}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",e=>{this.uiOnline=!0,(e.status==="up"||e.status==="pending")&&(this.$toastr.success(this.$translate.instant("restart.toast_server_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]))})},7e3),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("restart.toast_server_restart_timeout"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},4e4)}viewLogs(){this.$router.navigate(["/logs"])}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}static \u0275fac=function(u){return new(u||t)};static \u0275cmp=w({type:t,selectors:[["ng-component"]],decls:15,vars:10,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"],[1,"justify-content-center","my-4"],[1,"restart-progress-box","primary-text"],[3,"ngClass"],[1,"alert","alert-warning","my-4"],[1,"grey-text","mb-0"],[1,"mt-2","mb-0"],[1,"btn","btn-primary","mb-0",3,"click"]],template:function(u,m){u&1&&(r(0,"div",0)(1,"h3",1),a(2),s(3,"translate"),n()(),r(4,"div",2)(5,"div",3),v(6,"i",4),n(),r(7,"div",5)(8,"h4",6),a(9),s(10,"translate"),n(),h(11,P,3,3,"p",7)(12,U,2,1,"div",8)(13,V,11,17,"div",9)(14,A,11,8,"div"),n()()),u&2&&(i(2),p(o(3,6,"menu.restart.title")),i(7),p(o(10,8,"restart.title_restart")),i(2),d(m.error?-1:11),i(),d(m.error?12:-1),i(),d(m.error?-1:13),i(),d(m.timeout?14:-1))},dependencies:[T,E],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;margin-top:15px}"]})}return t})();export{Y as a};
@@ -1 +0,0 @@
1
- import{b as _,j as S}from"./chunk-CW7Q7WEJ.js";import{a as h,b as w}from"./chunk-3IX3CLER.js";import{Bc as s,Cc as m,Kb as f,Rb as d,Wb as n,Xb as i,Yb as u,dc as v,ib as e,na as p,nc as o,oc as a,rb as x}from"./chunk-TXOB7R5K.js";function C(t,y){t&1&&(n(0,"p",7),o(1),s(2,"translate"),i()),t&2&&(e(),a(m(2,1,"platform.linux.server_will_power_down")))}function g(t,y){if(t&1&&(n(0,"div",8),o(1),i()),t&2){let r=v();e(),a(r.error)}}var B=(()=>{class t{$api=p(_);$toastr=p(S);$translate=p(h);error=!1;ngOnInit(){this.$api.put("/platform-tools/linux/shutdown-host",{}).subscribe({error:r=>{console.error(r),this.error=this.$translate.instant("platform.linux.server_restart_error"),this.$toastr.error(this.$translate.instant("platform.linux.server_restart_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=x({type:t,selectors:[["ng-component"]],decls:13,vars:8,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"]],template:function(l,c){l&1&&(n(0,"div",0)(1,"h3",1),o(2),s(3,"translate"),i()(),n(4,"div",2)(5,"div",3),u(6,"i",4),i(),n(7,"div",5)(8,"h4",6),o(9),s(10,"translate"),i(),f(11,C,3,3,"p",7)(12,g,2,1,"div",8),i()()),l&2&&(e(2),a(m(3,4,"menu.restart.title")),e(7),a(m(10,6,"platform.linux.shutting_down_server")),e(2),d(c.error?-1:11),e(),d(c.error?12:-1))},dependencies:[w],encapsulation:2})}return t})();export{B as a};