homebridge-config-ui-x 5.0.0-beta.8 → 5.0.0-beta.81

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 (319) hide show
  1. package/CHANGELOG.md +412 -31
  2. package/CONTRIBUTING.md +5 -4
  3. package/LICENSE +1 -1
  4. package/config.schema.json +35 -145
  5. package/dist/bin/hb-service.d.ts +2 -2
  6. package/dist/bin/hb-service.js +51 -50
  7. package/dist/bin/hb-service.js.map +1 -1
  8. package/dist/bin/platforms/darwin.js +2 -2
  9. package/dist/bin/platforms/darwin.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 +1 -0
  13. package/dist/bin/standalone.js.map +1 -1
  14. package/dist/core/auth/auth.controller.d.ts +3 -3
  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/auth/jwt.strategy.d.ts +3 -1
  21. package/dist/core/config/config.service.d.ts +8 -10
  22. package/dist/core/config/config.service.js +24 -19
  23. package/dist/core/config/config.service.js.map +1 -1
  24. package/dist/core/config/config.startup.js +2 -2
  25. package/dist/core/config/config.startup.js.map +1 -1
  26. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
  27. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  28. package/dist/index.js +6 -77
  29. package/dist/index.js.map +1 -1
  30. package/dist/main.js +1 -1
  31. package/dist/main.js.map +1 -1
  32. package/dist/modules/accessories/accessories.controller.js +5 -5
  33. package/dist/modules/accessories/accessories.controller.js.map +1 -1
  34. package/dist/modules/accessories/accessories.service.js +8 -7
  35. package/dist/modules/accessories/accessories.service.js.map +1 -1
  36. package/dist/modules/backup/backup.controller.js +7 -7
  37. package/dist/modules/backup/backup.controller.js.map +1 -1
  38. package/dist/modules/backup/backup.service.js +19 -79
  39. package/dist/modules/backup/backup.service.js.map +1 -1
  40. package/dist/modules/child-bridges/child-bridges.service.js +0 -7
  41. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
  42. package/dist/modules/config-editor/config-editor.controller.d.ts +1 -1
  43. package/dist/modules/config-editor/config-editor.controller.js +8 -8
  44. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  45. package/dist/modules/config-editor/config-editor.service.d.ts +1 -1
  46. package/dist/modules/config-editor/config-editor.service.js +62 -64
  47. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  48. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.d.ts +1 -1
  49. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +17 -13
  50. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  51. package/dist/modules/log/log.gateway.d.ts +2 -1
  52. package/dist/modules/log/log.gateway.js.map +1 -1
  53. package/dist/modules/log/log.service.js +3 -3
  54. package/dist/modules/log/log.service.js.map +1 -1
  55. package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
  56. package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
  57. package/dist/modules/platform-tools/docker/docker.service.js +1 -1
  58. package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
  59. package/dist/modules/platform-tools/hb-service/hb-service.controller.js +3 -3
  60. package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
  61. package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
  62. package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
  63. package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
  64. package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
  65. package/dist/modules/platform-tools/linux/linux.service.js +2 -2
  66. package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
  67. package/dist/modules/platform-tools/terminal/terminal.gateway.d.ts +2 -1
  68. package/dist/modules/platform-tools/terminal/terminal.gateway.js.map +1 -1
  69. package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
  70. package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
  71. package/dist/modules/plugins/plugins.controller.js +4 -4
  72. package/dist/modules/plugins/plugins.controller.js.map +1 -1
  73. package/dist/modules/plugins/plugins.service.d.ts +4 -1
  74. package/dist/modules/plugins/plugins.service.js +168 -103
  75. package/dist/modules/plugins/plugins.service.js.map +1 -1
  76. package/dist/modules/server/server.controller.d.ts +28 -3
  77. package/dist/modules/server/server.controller.js +137 -20
  78. package/dist/modules/server/server.controller.js.map +1 -1
  79. package/dist/modules/server/server.service.d.ts +27 -6
  80. package/dist/modules/server/server.service.js +212 -66
  81. package/dist/modules/server/server.service.js.map +1 -1
  82. package/dist/modules/status/status.controller.d.ts +0 -1
  83. package/dist/modules/status/status.controller.js +3 -4
  84. package/dist/modules/status/status.controller.js.map +1 -1
  85. package/dist/modules/status/status.gateway.d.ts +1 -1
  86. package/dist/modules/status/status.service.d.ts +1 -1
  87. package/dist/modules/status/status.service.js +17 -41
  88. package/dist/modules/status/status.service.js.map +1 -1
  89. package/dist/modules/users/users.controller.js +7 -7
  90. package/dist/modules/users/users.controller.js.map +1 -1
  91. package/dist/self-check.js +6 -6
  92. package/dist/self-check.js.map +1 -1
  93. package/package.json +45 -43
  94. package/public/3rdpartylicenses.txt +145 -62
  95. package/public/assets/hap-icons/airpurifier.svg +49 -16
  96. package/public/assets/hap-icons/airquality.svg +24 -13
  97. package/public/assets/hap-icons/co-sensor.svg +72 -0
  98. package/public/assets/hap-icons/co2-sensor.svg +72 -0
  99. package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
  100. package/public/assets/hap-icons/contactsensor-open.svg +80 -2
  101. package/public/assets/hap-icons/door-closed.svg +32 -2
  102. package/public/assets/hap-icons/door-open.svg +48 -2
  103. package/public/assets/hap-icons/fan-off.svg +24 -13
  104. package/public/assets/hap-icons/fan-on.svg +24 -13
  105. package/public/assets/hap-icons/garagedoor.svg +24 -13
  106. package/public/assets/hap-icons/humidity.svg +24 -13
  107. package/public/assets/hap-icons/irrigation-system.svg +47 -18
  108. package/public/assets/hap-icons/leaksensor.svg +52 -2
  109. package/public/assets/hap-icons/light.svg +47 -28
  110. package/public/assets/hap-icons/lightbulb.svg +24 -13
  111. package/public/assets/hap-icons/lock-locked.svg +24 -13
  112. package/public/assets/hap-icons/lock-unlocked.svg +24 -13
  113. package/public/assets/hap-icons/motionsensor.svg +100 -2
  114. package/public/assets/hap-icons/occupancysensor.svg +97 -2
  115. package/public/assets/hap-icons/outlet.svg +24 -13
  116. package/public/assets/hap-icons/securitysystem-active.svg +102 -2
  117. package/public/assets/hap-icons/securitysystem-off.svg +68 -2
  118. package/public/assets/hap-icons/smokesensor.svg +42 -9
  119. package/public/assets/hap-icons/speaker.svg +29 -13
  120. package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
  121. package/public/assets/hap-icons/switch.svg +24 -13
  122. package/public/assets/hap-icons/television.svg +15 -4
  123. package/public/assets/hap-icons/temperature.svg +24 -13
  124. package/public/assets/hap-icons/unknown.svg +24 -13
  125. package/public/assets/hap-icons/valve-generic.svg +27 -16
  126. package/public/assets/hap-icons/valve-irrigation.svg +37 -21
  127. package/public/assets/hap-icons/valve-showerhead.svg +52 -0
  128. package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
  129. package/public/assets/hap-icons/window-closed.svg +85 -2
  130. package/public/assets/hap-icons/window-open.svg +136 -2
  131. package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
  132. package/public/assets/hap-icons/windowcovering-open.svg +40 -44
  133. package/public/assets/homebridge-color-round.svg +36 -1
  134. package/public/assets/homebridge-logo.svg +11 -1
  135. package/public/assets/mask-icon.svg +5 -1
  136. package/public/assets/plugin-ui-utils/ui.js +3 -0
  137. package/public/assets/plugin-ui-utils/ui.js.map +1 -1
  138. package/public/chunk-2BYFJJKD.js +1 -0
  139. package/public/chunk-2HBIS5KD.js +14 -0
  140. package/public/chunk-2O6AXIBR.js +1 -0
  141. package/public/chunk-2SEP7Q76.js +1 -0
  142. package/public/chunk-2UZO6OQ7.js +23 -0
  143. package/public/chunk-3RCQ6L4J.js +6 -0
  144. package/public/chunk-4SITUFK3.js +1 -0
  145. package/public/{chunk-YRSHLHYL.js → chunk-4UM5QHY6.js} +1 -1
  146. package/public/chunk-57WSQ6T6.js +1 -0
  147. package/public/chunk-62DAT7AX.js +1 -0
  148. package/public/chunk-67A3U7JY.js +1 -0
  149. package/public/{chunk-CCUID66K.js → chunk-6US6MXBM.js} +1 -1
  150. package/public/{chunk-EA5J2VEJ.js → chunk-7VVMNL54.js} +1 -1
  151. package/public/chunk-7Z74FGCO.js +1 -0
  152. package/public/chunk-7ZNHDMCE.js +1 -0
  153. package/public/chunk-A7263J2F.js +1 -0
  154. package/public/{chunk-QE7DO6J3.js → chunk-ADC7QO6N.js} +2 -2
  155. package/public/chunk-AU74FUFM.js +1 -0
  156. package/public/chunk-BI2JONL7.js +1 -0
  157. package/public/{chunk-7EUQWCP5.js → chunk-BVWBB74Y.js} +2 -2
  158. package/public/chunk-CIDCYWQD.js +1 -0
  159. package/public/chunk-COJPC76A.js +1 -0
  160. package/public/chunk-D6GDUL63.js +5 -0
  161. package/public/{chunk-WNWWUCCZ.js → chunk-EGECSH4K.js} +3 -3
  162. package/public/chunk-EON6XHIW.js +20 -0
  163. package/public/chunk-F2CIREEO.js +1 -0
  164. package/public/chunk-F75NHZPV.js +1 -0
  165. package/public/chunk-FD54JRNF.js +1 -0
  166. package/public/chunk-FQEUOMOT.js +1 -0
  167. package/public/chunk-GJL2B6EX.js +1 -0
  168. package/public/{chunk-6TCHCTXZ.js → chunk-GN7IXG4L.js} +1 -1
  169. package/public/chunk-HI45ZEZU.js +1 -0
  170. package/public/chunk-HWJ734TY.js +1 -0
  171. package/public/chunk-I5VNJY5H.js +1 -0
  172. package/public/chunk-I7XHOSDH.js +1 -0
  173. package/public/{chunk-D2D564LE.js → chunk-IH7IL35X.js} +1 -1
  174. package/public/chunk-JIT72ITX.js +1 -0
  175. package/public/chunk-LBGUEPBU.js +1 -0
  176. package/public/chunk-LEMXCMWD.js +1 -0
  177. package/public/chunk-LIG3MQU2.js +1 -0
  178. package/public/chunk-MCY32ZEQ.js +1 -0
  179. package/public/{chunk-TSZZQKYF.js → chunk-MVL5EQPC.js} +1 -1
  180. package/public/chunk-MXAKDDIW.js +1 -0
  181. package/public/chunk-MZFFFGFF.js +1 -0
  182. package/public/chunk-OZ3D5PEN.js +1 -0
  183. package/public/chunk-P6HYOLET.js +1 -0
  184. package/public/chunk-PAZ5V5TQ.js +7 -0
  185. package/public/chunk-PDQGIGL6.js +1 -0
  186. package/public/chunk-PGJGS3YA.js +1 -0
  187. package/public/chunk-PL6ZMRTL.js +1 -0
  188. package/public/chunk-QAQ62ONT.js +1 -0
  189. package/public/chunk-QHRWSZEW.js +1 -0
  190. package/public/chunk-QOVSP2KD.js +1 -0
  191. package/public/chunk-QT6YV32Y.js +1 -0
  192. package/public/chunk-RKG5F4ZV.js +1 -0
  193. package/public/chunk-RMMQMQZX.js +1 -0
  194. package/public/chunk-RQA2H3J6.js +1 -0
  195. package/public/chunk-S2XBNDS5.js +1 -0
  196. package/public/chunk-SKS24AVF.js +1 -0
  197. package/public/chunk-SKVHW32E.js +5 -0
  198. package/public/chunk-TIXTDDTD.js +7 -0
  199. package/public/chunk-TP425OA6.js +1 -0
  200. package/public/chunk-TRIO3R5X.js +1 -0
  201. package/public/chunk-UBLIT2K3.js +1 -0
  202. package/public/{chunk-TZS4WGUK.js → chunk-UHT54HTE.js} +2 -2
  203. package/public/chunk-UNO5SD4B.js +1 -0
  204. package/public/chunk-USOUWLNH.js +2 -0
  205. package/public/chunk-VL2VV7JU.js +1 -0
  206. package/public/chunk-VQEPN6H2.js +1 -0
  207. package/public/chunk-VUKQDY5X.js +1 -0
  208. package/public/chunk-VUTUDBG5.js +1 -0
  209. package/public/chunk-VXLVIRES.js +1 -0
  210. package/public/chunk-W3624K3I.js +1 -0
  211. package/public/chunk-WCO7YV6E.js +8 -0
  212. package/public/chunk-XYRZUWP2.js +1 -0
  213. package/public/chunk-Y4XTCS5Q.js +41 -0
  214. package/public/chunk-Y5I5EFKZ.js +1 -0
  215. package/public/chunk-YDBOT4OU.js +1 -0
  216. package/public/chunk-YHXSTLHD.js +1 -0
  217. package/public/{chunk-JZZQRLNW.js → chunk-ZA436JJP.js} +1 -1
  218. package/public/chunk-ZOK6NY4K.js +8 -0
  219. package/public/chunk-ZVGCGGDU.js +1 -0
  220. package/public/index.html +2 -2
  221. package/public/main-N277YXB2.js +1 -0
  222. package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
  223. package/public/media/{fa-brands-400-KOKGDU7E.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
  224. package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
  225. package/public/media/{fa-regular-400-IPMAEX5Y.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
  226. package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
  227. package/public/media/{fa-solid-900-SRFFQLRM.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
  228. package/public/polyfills-4F4B5XMZ.js +2 -0
  229. package/public/styles-PGYQLREL.css +1 -0
  230. package/scripts/upgrade-install-plugin.sh +1 -1
  231. package/public/chunk-32ZJLZS4.js +0 -1
  232. package/public/chunk-34G5YV5T.js +0 -1
  233. package/public/chunk-37PRYZH6.js +0 -1
  234. package/public/chunk-3IX3CLER.js +0 -1
  235. package/public/chunk-3NB33IBB.js +0 -1
  236. package/public/chunk-5ABW4ZKF.js +0 -20
  237. package/public/chunk-5KSPDTFH.js +0 -1
  238. package/public/chunk-5OHKMFXO.js +0 -1
  239. package/public/chunk-656LQTVE.js +0 -14
  240. package/public/chunk-7T234PWV.js +0 -1
  241. package/public/chunk-AZC7XCGC.js +0 -1
  242. package/public/chunk-BKUGARB4.js +0 -7
  243. package/public/chunk-BPMSJ2VF.js +0 -1
  244. package/public/chunk-BY2TSVEY.js +0 -1
  245. package/public/chunk-C7QJOHXE.js +0 -1
  246. package/public/chunk-CKR46AVL.js +0 -1
  247. package/public/chunk-DLMGGPRM.js +0 -1
  248. package/public/chunk-DXZ6DCYP.js +0 -1
  249. package/public/chunk-EP66JAAV.js +0 -1
  250. package/public/chunk-FJF4WNUO.js +0 -1
  251. package/public/chunk-FQYNC4RH.js +0 -1
  252. package/public/chunk-HHG6WMVF.js +0 -1
  253. package/public/chunk-HHIHVUCL.js +0 -1
  254. package/public/chunk-HSJSWZHD.js +0 -1
  255. package/public/chunk-II2UAWC2.js +0 -6
  256. package/public/chunk-IMOTYOKQ.js +0 -8
  257. package/public/chunk-JDQ5PHOU.js +0 -1
  258. package/public/chunk-KG3DHJZY.js +0 -1
  259. package/public/chunk-KQJ7ONUG.js +0 -1
  260. package/public/chunk-LLGTFHIT.js +0 -1
  261. package/public/chunk-M346UY2G.js +0 -1
  262. package/public/chunk-MNBUOV7P.js +0 -1
  263. package/public/chunk-NI664X6I.js +0 -1
  264. package/public/chunk-NW6AFAD7.js +0 -1
  265. package/public/chunk-NZNNTHFQ.js +0 -1
  266. package/public/chunk-ORPWYWCL.js +0 -5
  267. package/public/chunk-P5FZV27L.js +0 -1
  268. package/public/chunk-PS4KQKK7.js +0 -1
  269. package/public/chunk-Q5YFESZW.js +0 -1
  270. package/public/chunk-QAEUHAL6.js +0 -1
  271. package/public/chunk-QBDPVXMM.js +0 -1
  272. package/public/chunk-QHPDGSZ6.js +0 -1
  273. package/public/chunk-QJYLB6LD.js +0 -1
  274. package/public/chunk-R2W5BRWY.js +0 -32
  275. package/public/chunk-RIN5QMTV.js +0 -1
  276. package/public/chunk-RKC5OBYP.js +0 -1
  277. package/public/chunk-RT7V3UYQ.js +0 -5
  278. package/public/chunk-SCR7PUV7.js +0 -1
  279. package/public/chunk-SOEXENDP.js +0 -1
  280. package/public/chunk-TCSXGQNF.js +0 -1
  281. package/public/chunk-TH2G22O2.js +0 -23
  282. package/public/chunk-TMD6JYTR.js +0 -1
  283. package/public/chunk-TO5O6L7A.js +0 -1
  284. package/public/chunk-TXOB7R5K.js +0 -7
  285. package/public/chunk-UG5DK2RQ.js +0 -2
  286. package/public/chunk-UYLV5ENO.js +0 -1
  287. package/public/chunk-VPSLX47Z.js +0 -1
  288. package/public/chunk-VVGJ5MFU.js +0 -1
  289. package/public/chunk-WAUGELUM.js +0 -1
  290. package/public/chunk-WHJOLAED.js +0 -1
  291. package/public/chunk-WHJSVGC7.js +0 -1
  292. package/public/chunk-WXTR3AXD.js +0 -1
  293. package/public/chunk-X2AWRY46.js +0 -1
  294. package/public/chunk-X3GZMTJ5.js +0 -1
  295. package/public/chunk-X7YNKLZW.js +0 -1
  296. package/public/chunk-XRPL3VU7.js +0 -1
  297. package/public/chunk-Y3RRGTUL.js +0 -1
  298. package/public/chunk-YD5MPMXA.js +0 -1
  299. package/public/chunk-YJB6Y76M.js +0 -1
  300. package/public/chunk-ZT23DWNL.js +0 -1
  301. package/public/main-35ZSDHG6.js +0 -1
  302. package/public/media/01-RQ3S2L53.png +0 -0
  303. package/public/media/02-VNCG2I2A.png +0 -0
  304. package/public/media/03-HI42L4ZG.png +0 -0
  305. package/public/media/04-FJLL55LZ.png +0 -0
  306. package/public/media/05-V3EO6SPT.png +0 -0
  307. package/public/media/06-EOJZCQZN.png +0 -0
  308. package/public/media/07-KMKB5PBD.png +0 -0
  309. package/public/media/08-UQJRF6B2.png +0 -0
  310. package/public/media/09-2DJQFRHH.png +0 -0
  311. package/public/media/arrow_left-CQT7FZM7.svg +0 -4
  312. package/public/media/arrow_right-SBUDRR2G.svg +0 -4
  313. package/public/media/fa-brands-400-6PJPV6JM.woff2 +0 -0
  314. package/public/media/fa-regular-400-OHB6J4OK.woff2 +0 -0
  315. package/public/media/fa-solid-900-ABTK6BNK.woff2 +0 -0
  316. package/public/polyfills-C6JHVXJJ.js +0 -2
  317. package/public/scripts-6GVLYD7F.js +0 -62
  318. package/public/styles-EG5MFQEM.css +0 -1
  319. /package/public/assets/{bootstrap-4 → bootstrap-5}/cssframework/assets.json +0 -0
@@ -0,0 +1 @@
1
+ import{a as H,b as X}from"./chunk-MZFFFGFF.js";import{a as Z}from"./chunk-FQEUOMOT.js";import{a as R}from"./chunk-LEMXCMWD.js";import{n as L}from"./chunk-SKVHW32E.js";import"./chunk-RQA2H3J6.js";import{a as j}from"./chunk-4UM5QHY6.js";import{a as W,c as q,d as V,e as N,f as D}from"./chunk-2SEP7Q76.js";import{c as B}from"./chunk-MVL5EQPC.js";import{b as $}from"./chunk-7ZNHDMCE.js";import{j as T}from"./chunk-7Z74FGCO.js";import"./chunk-USOUWLNH.js";import{a as P,b as U}from"./chunk-4SITUFK3.js";import{$a as o,Ac as d,Bc as l,Gb as u,Hb as x,Ib as y,Nb as c,Ob as n,Pb as a,Qb as p,Ub as S,Xb as _,Yb as w,bd as E,eb as F,g as Y,h as z,jc as f,kc as g,la as m,lb as O,ra as h,sa as b,sd as K,vc as v,w as A,wc as M}from"./chunk-PAZ5V5TQ.js";var Q=Y(Z(),1);function G(){var i;return typeof window<"u"&&(window?.matchMedia("(display-mode: standalone)").matches||((i=window.navigator)===null||i===void 0?void 0:i.standalone)||document.referrer.startsWith("android-app://")||window?.Windows||/trident.+(msapphost|webview)\//i.test(navigator.userAgent)||document.referrer.startsWith("app-info://platform/microsoft-store"))}var I=()=>["/"],te=i=>({"hamburger-icon-cross":i}),ne=i=>({expanded:i}),ie=()=>({exact:!0}),oe=()=>["/accessories"],re=()=>["/support"],ae=()=>["/power-options"],se=()=>["/plugins"],de=()=>["/logs"],le=()=>["/platform-tools/terminal"],pe=()=>["/config"],ce=()=>["/settings"];function me(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",19),d(2,"translate"),d(3,"translate"),_("click",function(){h(e);let t=w();return b(t.openUnderVoltageModal())})("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(4,"div",12),p(5,"i",20),a(),n(6,"div",14),f(7),d(8,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"rpi.throttled.undervoltage_title")+" - "+l(3,4,"rpi.throttled.undervoltage_description")),o(6),g(l(8,6,"rpi.throttled.undervoltage_title")))}function ue(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",21),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,se))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_plugins")),o(5),g(l(7,6,"menu.label_plugins")))}function _e(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",22),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,de))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_logs")),o(5),g(l(7,6,"menu.linux.label_logs")))}function fe(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",23),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,le))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_terminal")),o(5),g(l(7,6,"menu.linux.label_terminal")))}function ge(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",24),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,pe))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.config_json_editor")),o(5),g(l(7,6,"menu.config_json_editor")))}function ve(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",25),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,ce))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_settings")),o(5),g(l(7,6,"menu.label_settings")))}function he(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",19),d(2,"translate"),_("click",function(){h(e);let t=w();return b(t.reloadPage())})("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",26),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"menu.reload")),o(5),g(l(7,4,"menu.reload")))}function be(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",19),d(2,"translate"),_("click",function(){h(e);let t=w();return b(t.$auth.logout())})("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",27),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"menu.tooltip_logout")),o(5),g(l(7,4,"menu.tooltip_logout")))}var J=(()=>{class i{router=m(V);translate=m(P);$auth=m(B);$settings=m($);$modal=m(L);$notification=m(X);$translate=m(P);renderer=m(F);isExpanded=!1;rPiCurrentlyUnderVoltage=!1;rPiWasUnderVoltage=!1;isMobile=!1;freezeMenu=!1;isPwa=G();constructor(){let e=this.router;this.isMobile=window.innerWidth<768;let s;window.addEventListener("resize",()=>{clearTimeout(s),s=setTimeout(()=>{this.updateListeners()},500)}),e.events.subscribe(t=>{t instanceof W&&(this.closeSidebar(),this.freezeMenu=!0,setTimeout(()=>{this.freezeMenu=!1},750))})}ngOnInit(){this.$notification.raspberryPiThrottled.subscribe(r=>{r["Under Voltage"]&&(this.rPiCurrentlyUnderVoltage=!0),r["Under-voltage has occurred"]&&(this.rPiWasUnderVoltage=!0)});let e=document.querySelector(".sidebar"),s=document.querySelector(".m-header"),t=document.querySelector(".content");this.isMobile?document.addEventListener("touchstart",r=>{if(t.contains(r.target)&&this.isExpanded){r.preventDefault(),this.toggleSidebar();return}!e.contains(r.target)&&!s.contains(r.target)&&this.isExpanded&&(r.preventDefault(),this.closeSidebar())},{passive:!1}):(this.updateListeners(),s.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),s.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}),document.addEventListener("click",r=>{e.contains(r.target)&&r.clientX>60&&this.closeSidebar()},{passive:!1})),this.updateContentStyles()}openSidebar(){this.freezeMenu||(this.isExpanded=!0,this.updateContentStyles())}closeSidebar(){this.freezeMenu||(this.isExpanded=!1,this.updateContentStyles())}toggleSidebar(){this.freezeMenu||(this.isExpanded=!this.isExpanded,this.updateContentStyles())}updateContentStyles(){let e=document.querySelector(".content");this.isExpanded?(this.renderer.setStyle(e,"opacity","20%"),this.renderer.setStyle(e,"pointer-events","none"),this.renderer.setStyle(e,"overflow","hidden")):(this.renderer.removeStyle(e,"opacity"),this.renderer.removeStyle(e,"pointer-events"),this.renderer.removeStyle(e,"overflow"))}openUnderVoltageModal(){let e=this.$modal.open(H,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("rpi.throttled.undervoltage_title"),e.componentInstance.message=this.$translate.instant(this.rPiCurrentlyUnderVoltage?"rpi.throttled.currently_message":"rpi.throttled.previously_message"),e.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),e.componentInstance.faIconClass="fas fa-fw fa-bolt yellow-text",e.componentInstance.ctaButtonLink="https://pimylifeup.com/raspberry-pi-low-voltage-warning"}handleKeydown(e){if(e.key==="Enter"){let s=e.target;["menuitem","button"].includes(s.getAttribute("role"))&&s.click()}}reloadPage(){window.location.reload()}updateListeners(){this.isMobile=window.innerWidth<768;let e=document.querySelector(".sidebar");e.removeAllListeners(),(this.isMobile||!this.isMobile&&this.$settings.menuMode!=="freeze")&&(e.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),e.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}))}ngOnDestroy(){document.removeEventListener("touchstart",()=>{}),document.removeEventListener("click",()=>{})}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=O({type:i,selectors:[["app-sidebar"]],inputs:{isExpanded:"isExpanded"},decls:61,vars:67,consts:[["tabindex","0","role","button",1,"m-header","text-end",3,"click","keydown"],[1,"me-2","d-block","d-lg-none",2,"font-size","0.9rem","color","#dddddd"],[3,"routerLink"],["ngSrc","../../../../assets/homebridge-logo.svg","alt","HB Logo","height","35","width","35",2,"height","35px","width","35px"],[1,"hb-logo-text-mobile"],[1,"hamburger-icon",3,"ngClass"],["role","navigation","id","sidebar",1,"sidebar",3,"ngClass"],["tabindex","0","role","button",1,"header",3,"click","keydown"],[1,"hb-logo-text"],[1,"link-wrapper"],[1,"link"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive","routerLinkActiveOptions"],[1,"icon"],[1,"fa","fa-fw","fa-house"],[1,"title"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive"],[1,"fa","fa-fw","fa-lightbulb"],[1,"fa","fa-fw","fa-question-circle-o"],[1,"fa","fa-fw","fa-power-off"],["role","menuitem","tabindex","0",1,"link-row",3,"click","keydown"],[1,"fas","fa-fw","fa-bolt","fa-beat","yellow-text",2,"--fa-beat-scale","1.5"],[1,"fa","fa-fw","fa-plug"],[1,"fa","fa-fw","fa-wave-square"],[1,"fa","fa-fw","fa-terminal"],[1,"fa","fa-fw","fa-code"],[1,"fa","fa-fw","fa-cog"],[1,"fa","fa-fw","fa-refresh"],[1,"fa","fa-fw","fa-right-from-bracket"]],template:function(s,t){s&1&&(n(0,"div",0),d(1,"translate"),_("click",function(){return t.toggleSidebar()})("keydown",function(C){return t.handleKeydown(C)}),p(2,"span",1),n(3,"a",2),d(4,"translate"),p(5,"img",3),n(6,"div",4),f(7,"Homebridge"),a()(),n(8,"div",5),p(9,"span")(10,"span")(11,"span")(12,"span"),a()(),n(13,"div",6)(14,"div",7),_("click",function(){return t.toggleSidebar()})("keydown",function(C){return t.handleKeydown(C)}),n(15,"a",2),d(16,"translate"),p(17,"img",3),n(18,"div",8),f(19,"Homebridge"),a()()(),n(20,"div",9)(21,"div",10)(22,"div",11),d(23,"translate"),_("keydown",function(C){return t.handleKeydown(C)}),n(24,"div",12),p(25,"i",13),a(),n(26,"div",14),f(27),d(28,"translate"),a()()(),x(29,me,9,8,"div",10),x(30,ue,8,9,"div",10),n(31,"div",10)(32,"div",15),d(33,"translate"),_("keydown",function(C){return t.handleKeydown(C)}),n(34,"div",12),p(35,"i",16),a(),n(36,"div",14),f(37),d(38,"translate"),a()()(),x(39,_e,8,9,"div",10),x(40,fe,8,9,"div",10),x(41,ge,8,9,"div",10),x(42,ve,8,9,"div",10),n(43,"div",10)(44,"div",15),d(45,"translate"),_("keydown",function(C){return t.handleKeydown(C)}),n(46,"div",12),p(47,"i",17),a(),n(48,"div",14),f(49),d(50,"translate"),a()()(),n(51,"div",10)(52,"div",15),d(53,"translate"),_("keydown",function(C){return t.handleKeydown(C)}),n(54,"div",12),p(55,"i",18),a(),n(56,"div",14),f(57),d(58,"translate"),a()()(),x(59,he,8,6,"div",10),x(60,be,8,6,"div",10),a()()),s&2&&(u("aria-expanded",t.isExpanded?"true":"false")("aria-controls","sidebar")("aria-label",l(1,34,"menu.sidebar.aria_menu")),o(3),c("routerLink",v(56,I)),u("aria-label",l(4,36,"menu.label_status")),o(5),c("ngClass",M(57,te,t.isExpanded)),o(5),c("ngClass",M(59,ne,t.isExpanded)),o(2),c("routerLink",v(61,I)),u("aria-label",l(16,38,"menu.label_status")),o(7),c("routerLink",v(62,I))("routerLinkActive","active")("routerLinkActiveOptions",v(63,ie)),u("aria-label",l(23,40,"menu.label_status")),o(5),g(l(28,42,"menu.label_status")),o(2),y(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),o(),y(t.$auth.user.admin?30:-1),o(2),c("routerLink",v(64,oe))("routerLinkActive","active"),u("aria-label",l(33,44,"menu.label_accessories")),o(5),g(l(38,46,"menu.label_accessories")),o(2),y(t.$auth.user.admin?39:-1),o(),y(t.$settings.env.enableTerminalAccess&&t.$auth.user.admin?40:-1),o(),y(t.$auth.user.admin?41:-1),o(),y(t.$auth.user.admin?42:-1),o(2),c("routerLink",v(65,re))("routerLinkActive","active"),u("aria-label",l(45,48,"support.title")),o(5),g(l(50,50,"support.title")),o(3),c("routerLink",v(66,ae))("routerLinkActive","active"),u("aria-label",l(53,52,"menu.restart.title")),o(5),g(l(58,54,"menu.restart.title")),o(2),y(t.isPwa?59:-1),o(),y(t.$settings.formAuth?60:-1))},dependencies:[N,K,E,D,U],styles:[".m-header[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:65px;z-index:510;display:flex;align-items:center;padding-left:3px;padding-right:3px}.m-header[_ngcontent-%COMP%]:hover{cursor:pointer}@media (min-width: 768px){.m-header[_ngcontent-%COMP%]{display:none}}.sidebar[_ngcontent-%COMP%]{position:fixed;left:0;top:0;height:100vh;transition:.3s;width:60px;z-index:500}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;padding:15px 10px 15px 11px;font-size:.85rem}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]:hover{cursor:pointer}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{overflow-y:auto;max-height:calc(100vh - 80px)!important}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%]{display:flex;align-items:center;padding:15px 10px;cursor:pointer;transition:.2s;font-size:17px}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{flex:0 0 38px;display:flex;align-items:center;justify-content:center}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1;transition:.3s;max-width:0;overflow:hidden;white-space:nowrap}@media (max-width: 767px){.sidebar[_ngcontent-%COMP%]{width:0}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:none}}.sidebar.expanded[_ngcontent-%COMP%]{width:210px}@media (max-width: 767px){.sidebar.expanded[_ngcontent-%COMP%]{width:210px}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:block}}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{max-width:150px;padding-left:10px}.hamburger-icon[_ngcontent-%COMP%]{margin:-7px 0 0 25px}@media (min-width: 768px){.hb-logo-text[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px}.sidebar.expanded[_ngcontent-%COMP%] .hb-logo-text[_ngcontent-%COMP%]{opacity:1;left:55px;transition:.3s}.sidebar[_ngcontent-%COMP%]:not(.expanded) .hb-logo-text[_ngcontent-%COMP%]{opacity:0;left:40px;transition:.3s}.hb-logo-text-mobile[_ngcontent-%COMP%], .hamburger-icon[_ngcontent-%COMP%]{display:none!important}}@media (max-width: 767px){.hb-logo-text[_ngcontent-%COMP%]{display:none!important}.hb-logo-text-mobile[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px;opacity:1;left:55px}.hamburger-icon[_ngcontent-%COMP%]{position:absolute;right:10px;top:28px;width:30px;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.5s ease-in-out;-moz-transition:.5s ease-in-out;-o-transition:.5s ease-in-out;transition:.5s ease-in-out;cursor:pointer}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;position:absolute;height:2px;width:100%;background-color:#fff;border-radius:9px;opacity:1;left:0;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.25s ease-in-out;-moz-transition:.25s ease-in-out;-o-transition:.25s ease-in-out;transition:.25s ease-in-out}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:0}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2), .hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){top:10px}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:20px}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:10px;width:0;left:50%}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:10px;width:0;left:50%}}"]})}return i})();var we=i=>({sidebarExpanded:i}),Xe=(()=>{class i{$auth=m(B);$modal=m(L);$router=m(V);$settings=m($);$translate=m(P);$ws=m(j);sidebarExpanded=!1;io;constructor(){}ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return z(this,null,function*(){if(this.$settings.settingsLoaded||(yield A(this.$settings.onSettingsLoaded)),this.$router.url!=="/restart"&&(0,Q.lt)(this.$settings.uiVersion,T.serverTarget)){console.log(`Server restart required. UI Version: ${T.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=this.$modal.open(R,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("platform.version.service_restart_required"),e.componentInstance.message=this.$translate.instant("platform.version.restart_required",{serverVersion:this.$settings.uiVersion,uiVersion:T.serverTarget}),e.componentInstance.confirmButtonLabel=this.$translate.instant("menu.tooltip_restart"),e.componentInstance.faIconClass="fas fa-power-off orange-text",e.result.then(()=>this.$router.navigate(["/restart"])).catch(()=>{})}})}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=O({type:i,selectors:[["app-layout"]],decls:3,vars:4,consts:[[3,"isExpanded"],[1,"content","px-3","p-md-4",3,"ngClass"]],template:function(s,t){s&1&&(p(0,"app-sidebar",0),n(1,"div",1),p(2,"router-outlet"),a()),s&2&&(c("isExpanded",t.sidebarExpanded),o(),c("ngClass",M(2,we,t.sidebarExpanded)))},dependencies:[J,E,q],styles:[".content[_ngcontent-%COMP%]{margin-left:60px;transition:.3s;height:100%}@media (max-width: 767px){.content[_ngcontent-%COMP%]{margin-left:0;padding-top:85px!important}}@media (min-width: 768px){.content[_ngcontent-%COMP%]{height:100%}}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return i})();export{Xe as LayoutComponent};