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

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 +13 -11
  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-2MYRJGR7.js +1 -0
  139. package/public/chunk-2NP34GCU.js +1 -0
  140. package/public/chunk-2SEP7Q76.js +1 -0
  141. package/public/chunk-2XJKHKFE.js +1 -0
  142. package/public/{chunk-TSZZQKYF.js → chunk-3HVSWJGA.js} +1 -1
  143. package/public/chunk-3K6CPW2T.js +1 -0
  144. package/public/chunk-3OWDRYG5.js +1 -0
  145. package/public/chunk-3QMP7C7O.js +1 -0
  146. package/public/chunk-3X66PNLW.js +1 -0
  147. package/public/chunk-445PQ2P2.js +8 -0
  148. package/public/chunk-4HTVG6XH.js +1 -0
  149. package/public/chunk-4QBTHI5Q.js +1 -0
  150. package/public/chunk-4SITUFK3.js +1 -0
  151. package/public/chunk-54QYQEAD.js +1 -0
  152. package/public/chunk-5SC4EBWO.js +1 -0
  153. package/public/chunk-6IGIONL7.js +1 -0
  154. package/public/{chunk-CCUID66K.js → chunk-6US6MXBM.js} +1 -1
  155. package/public/{chunk-YRSHLHYL.js → chunk-7FQYPAKD.js} +1 -1
  156. package/public/{chunk-EA5J2VEJ.js → chunk-7VVMNL54.js} +1 -1
  157. package/public/chunk-ACC3X2QL.js +1 -0
  158. package/public/{chunk-QE7DO6J3.js → chunk-ADC7QO6N.js} +2 -2
  159. package/public/chunk-B33VSPLX.js +1 -0
  160. package/public/chunk-B3TGAR7U.js +1 -0
  161. package/public/{chunk-7EUQWCP5.js → chunk-BVWBB74Y.js} +2 -2
  162. package/public/chunk-BZFYWBTW.js +1 -0
  163. package/public/chunk-CTGG2N5W.js +1 -0
  164. package/public/{chunk-WNWWUCCZ.js → chunk-EGECSH4K.js} +3 -3
  165. package/public/chunk-EJSCHXQP.js +1 -0
  166. package/public/chunk-EKQQOHAO.js +1 -0
  167. package/public/chunk-EN4G5WDM.js +1 -0
  168. package/public/chunk-EP2OCKBU.js +23 -0
  169. package/public/chunk-F344PI26.js +1 -0
  170. package/public/chunk-F75NHZPV.js +1 -0
  171. package/public/chunk-FNQHOMAL.js +1 -0
  172. package/public/chunk-FPWMFOIM.js +1 -0
  173. package/public/chunk-FQEUOMOT.js +1 -0
  174. package/public/chunk-G4AG4KBE.js +8 -0
  175. package/public/{chunk-6TCHCTXZ.js → chunk-GN7IXG4L.js} +1 -1
  176. package/public/chunk-GT2LNBEY.js +1 -0
  177. package/public/{chunk-D2D564LE.js → chunk-HBJGGRMZ.js} +1 -1
  178. package/public/chunk-HSXNAMNE.js +1 -0
  179. package/public/chunk-HUAZZUOC.js +1 -0
  180. package/public/chunk-HWJ734TY.js +1 -0
  181. package/public/chunk-HYVILCZ3.js +1 -0
  182. package/public/{chunk-TZS4WGUK.js → chunk-IJMKQW7N.js} +2 -2
  183. package/public/chunk-IMRTROQL.js +5 -0
  184. package/public/chunk-IO42DXYQ.js +1 -0
  185. package/public/chunk-IR54FWV7.js +1 -0
  186. package/public/chunk-JNCCO635.js +1 -0
  187. package/public/chunk-KVYFQZYX.js +1 -0
  188. package/public/chunk-KXMDTAIL.js +1 -0
  189. package/public/chunk-LEMXCMWD.js +1 -0
  190. package/public/chunk-LERVFGN7.js +1 -0
  191. package/public/chunk-MZFFFGFF.js +1 -0
  192. package/public/chunk-OL67GREO.js +20 -0
  193. package/public/chunk-P77NBQ5S.js +1 -0
  194. package/public/chunk-PAZ5V5TQ.js +7 -0
  195. package/public/chunk-QAQ62ONT.js +1 -0
  196. package/public/chunk-R7USDODC.js +6 -0
  197. package/public/chunk-RMMQMQZX.js +1 -0
  198. package/public/chunk-RQA2H3J6.js +1 -0
  199. package/public/chunk-RWGSYTLA.js +1 -0
  200. package/public/chunk-SKVHW32E.js +5 -0
  201. package/public/chunk-SPEAMV6F.js +1 -0
  202. package/public/chunk-SZ7POXBO.js +1 -0
  203. package/public/chunk-TEOCKMP5.js +1 -0
  204. package/public/chunk-TIXTDDTD.js +7 -0
  205. package/public/chunk-TL6WL7LY.js +1 -0
  206. package/public/chunk-TP425OA6.js +1 -0
  207. package/public/chunk-TRU4JZBU.js +1 -0
  208. package/public/chunk-USOUWLNH.js +2 -0
  209. package/public/chunk-UU4EF2TV.js +1 -0
  210. package/public/chunk-VET5PSBE.js +1 -0
  211. package/public/chunk-VNVPPHQC.js +1 -0
  212. package/public/chunk-WE636KC4.js +1 -0
  213. package/public/chunk-WMYOYBHH.js +1 -0
  214. package/public/chunk-XTMNJE4B.js +14 -0
  215. package/public/chunk-XYNYGSDZ.js +1 -0
  216. package/public/chunk-Z6KIOLK5.js +29 -0
  217. package/public/{chunk-JZZQRLNW.js → chunk-ZA436JJP.js} +1 -1
  218. package/public/chunk-ZE6VD7AX.js +1 -0
  219. package/public/chunk-ZZ24726L.js +1 -0
  220. package/public/index.html +2 -2
  221. package/public/main-C6DWCUSO.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{m as I}from"./chunk-SKVHW32E.js";import{b as T}from"./chunk-4SITUFK3.js";import{$a as t,Ac as r,Bc as c,Gb as p,Hb as B,Ib as M,Nb as y,Ob as i,Pb as o,Qb as l,Xa as _,Xb as s,Yb as g,ic as f,jc as m,kc as k,la as v,lb as x,lc as u,tc as b}from"./chunk-PAZ5V5TQ.js";function L(n,E){if(n&1&&l(0,"i",13),n&2){let d=g();f(b("fas fa-fw ",d.faIconClass," mb-3"))}}var h=(()=>{class n{$activeModal=v(I);title;message;confirmButtonLabel;confirmButtonClass;faIconClass;constructor(){}static \u0275fac=function(a){return new(a||n)};static \u0275cmp=x({type:n,selectors:[["ng-component"]],inputs:{title:"title",message:"message",confirmButtonLabel:"confirmButtonLabel",confirmButtonClass:"confirmButtonClass",faIconClass:"faIconClass"},decls:19,vars:16,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],[2,"font-size","75px",3,"class"],[1,"mb-0","text-center",3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",3,"click"],[2,"font-size","75px"]],template:function(a,e){a&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),o(),i(4,"button",3),r(5,"translate"),s("click",function(){return e.$activeModal.dismiss("Dismiss")}),o()(),i(6,"div",4),B(7,L,1,3,"i",5),l(8,"p",6),o(),i(9,"div",7)(10,"div",8)(11,"button",9),r(12,"translate"),s("click",function(){return e.$activeModal.dismiss("Dismiss")}),m(13),r(14,"translate"),o()(),l(15,"div",10),i(16,"div",11)(17,"button",12),s("click",function(){return e.$activeModal.close()}),m(18),o()()()()),a&2&&(t(3),k(e.title),t(),p("aria-label",c(5,10,"form.button_close")),t(3),M(e.faIconClass?7:-1),t(),y("innerHTML",e.message,_),t(3),p("aria-label",c(12,12,"form.button_close")),t(2),u(" ",c(14,14,"form.button_close")," "),t(4),f(b("btn ",e.confirmButtonClass||"btn-primary")),t(),u(" ",e.confirmButtonLabel," "))},dependencies:[T],encapsulation:2})}return n})();export{h as a};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-F344PI26.js";import"./chunk-7FQYPAKD.js";import"./chunk-2SEP7Q76.js";import"./chunk-3HVSWJGA.js";import"./chunk-4HTVG6XH.js";import"./chunk-TEOCKMP5.js";import"./chunk-USOUWLNH.js";import"./chunk-4SITUFK3.js";import"./chunk-PAZ5V5TQ.js";export{a as ContainerRestartComponent};
@@ -0,0 +1 @@
1
+ import{m as H}from"./chunk-SKVHW32E.js";import{b as h}from"./chunk-4SITUFK3.js";import{$a as i,Ac as d,Bc as p,Gb as C,Hb as r,Ib as s,Nb as u,Ob as o,Pb as a,Qb as m,Ub as k,Xa as _,Xb as x,Ya as B,Yb as c,ga as L,ic as w,jc as b,kc as S,la as y,lb as M,lc as v,n as T,ra as I,sa as g,tc as E}from"./chunk-PAZ5V5TQ.js";var U=(()=>{class t{raspberryPiThrottled=new T;static \u0275fac=function(l){return new(l||t)};static \u0275prov=L({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function V(t,f){if(t&1&&m(0,"i",15),t&2){let e=c();w(E("fas fa-fw ",e.faIconClass," mb-3"))}}function j(t,f){if(t&1&&m(0,"h5",6),t&2){let e=c();u("innerHTML",e.subtitle,_)}}function D(t,f){if(t&1&&m(0,"p",8),t&2){let e=c();u("innerHTML",e.message2,_)}}function $(t,f){if(t&1){let e=k();o(0,"button",16),d(1,"translate"),x("click",function(){I(e);let n=c();return g(n.$activeModal.dismiss("Dismiss"))}),b(2),d(3,"translate"),a()}t&2&&(C("aria-label",p(1,2,"form.button_close")),i(2),v(" ",p(3,4,"form.button_close")," "))}function F(t,f){if(t&1){let e=k();o(0,"button",16),d(1,"translate"),x("click",function(){I(e);let n=c();return g(n.$activeModal.dismiss("Dismiss"))}),b(2),d(3,"translate"),a()}t&2&&(C("aria-label",p(1,2,"form.button_close")),i(2),v(" ",p(3,4,"form.button_close")," "))}function P(t,f){if(t&1&&(o(0,"a",14),b(1),m(2,"i",17),a()),t&2){let e=c();u("href",e.ctaButtonLink,B),i(),v(" ",e.ctaButtonLabel," ")}}var R=(()=>{class t{$activeModal=y(H);title;subtitle;message;message2;ctaButtonLabel;ctaButtonLink;faIconClass;constructor(){}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],inputs:{title:"title",subtitle:"subtitle",message:"message",message2:"message2",ctaButtonLabel:"ctaButtonLabel",ctaButtonLink:"ctaButtonLink",faIconClass:"faIconClass"},decls:18,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],[2,"font-size","75px",3,"class"],[1,"mb-3",3,"innerHTML"],[1,"mb-0",3,"innerHTML"],[1,"mb-0","mt-3",3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[2,"font-size","75px"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(l,n){l&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),b(3),a(),o(4,"button",3),d(5,"translate"),x("click",function(){return n.$activeModal.dismiss("Dismiss")}),a()(),o(6,"div",4),r(7,V,1,3,"i",5),r(8,j,1,1,"h5",6),m(9,"p",7),r(10,D,1,1,"p",8),a(),o(11,"div",9)(12,"div",10),r(13,$,4,6,"button",11),a(),o(14,"div",12),r(15,F,4,6,"button",11),a(),o(16,"div",13),r(17,P,3,2,"a",14),a()()()),l&2&&(i(3),S(n.title),i(),C("aria-label",p(5,9,"form.button_close")),i(3),s(n.faIconClass?7:-1),i(),s(n.subtitle?8:-1),i(),u("innerHTML",n.message,_),i(),s(n.message2?10:-1),i(3),s(n.ctaButtonLink?13:-1),i(2),s(n.ctaButtonLink?-1:15),i(2),s(n.ctaButtonLink?17:-1))},dependencies:[h],encapsulation:2})}return t})();export{R as a,U as b};
@@ -0,0 +1,20 @@
1
+ import{a as ee}from"./chunk-7VVMNL54.js";import{a as Z,b as ne}from"./chunk-XTMNJE4B.js";import{a as W,b as Y}from"./chunk-BVWBB74Y.js";import{a as X}from"./chunk-ZA436JJP.js";import{m as J,n as K,o as U}from"./chunk-SKVHW32E.js";import{c as N,e as F,l as q,z}from"./chunk-RQA2H3J6.js";import{b as G}from"./chunk-2SEP7Q76.js";import{b as Q}from"./chunk-4HTVG6XH.js";import{h as M,k as V}from"./chunk-TEOCKMP5.js";import{a as k,b as T}from"./chunk-4SITUFK3.js";import{$a as n,Ac as s,Bc as d,Cc as O,Gb as C,Hb as m,Ib as p,Kb as I,Lb as j,Mb as H,Nb as v,Ob as r,Pb as a,Qb as w,Ub as b,Xb as _,Yb as l,eb as D,g as oe,h as S,id as L,jc as y,kc as x,la as h,lb as $,lc as E,qc as R,ra as g,rc as P,sa as u,sc as B,w as A}from"./chunk-PAZ5V5TQ.js";var ie=oe(ne(),1);function ae(o,f){o&1&&(r(0,"div",5),w(1,"i",12),a())}function se(o,f){if(o&1){let e=b();r(0,"li",17),y(1),s(2,"date"),r(3,"button",18),s(4,"translate"),_("click",function(){let t=g(e).$implicit,c=l(3);return u(c.restore(t.id))}),w(5,"i",19),a()()}if(o&2){let e=f.$implicit;n(),E(" ",O(2,2,e.timestamp,"medium")," "),n(2),C("aria-label",d(4,5,"config.restore.copy_to_editor"))}}function le(o,f){if(o&1&&(r(0,"ul",15),j(1,se,6,7,"li",17,I),a()),o&2){let e=l(2);n(),H(e.backupList)}}function de(o,f){o&1&&(r(0,"p",16),y(1),s(2,"translate"),a()),o&2&&(n(),x(d(2,1,"config.restore.no_backups")))}function ce(o,f){if(o&1&&(r(0,"div",13),w(1,"i",14),a(),r(2,"p",13),y(3),s(4,"translate"),a(),m(5,le,3,0,"ul",15),m(6,de,3,3,"p",16)),o&2){let e=l();n(3),x(d(4,3,"config.restore.title_restore_homebridge_backup")),n(2),p(e.backupList&&e.backupList.length?5:-1),n(),p(!e.backupList||!e.backupList.length?6:-1)}}function me(o,f){if(o&1){let e=b();r(0,"button",20),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.$activeModal.dismiss("Dismiss"))}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function pe(o,f){if(o&1){let e=b();r(0,"button",20),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.$activeModal.dismiss("Dismiss"))}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function fe(o,f){if(o&1){let e=b();r(0,"button",21),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.deleteAllBackups())}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_remove")),n(2),E(" ",d(3,4,"form.button_remove")," "))}var te=(()=>{class o{$activeModal=h(J);$api=h(V);$toastr=h(M);$translate=h(k);loading=!0;backupList=[];constructor(){}ngOnInit(){this.$api.get("/config-editor/backups").subscribe({next:e=>{this.loading=!1,this.backupList=e},error:e=>{this.loading=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}restore(e){return this.$activeModal.close(e)}deleteAllBackups(){return this.$api.delete("/config-editor/backups").subscribe({next:()=>{this.$activeModal.dismiss(),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success"))},error:e=>{console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],decls:17,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","primary-text"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button",1,"btn","btn-danger","me-auto"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-history","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box"],[1,"text-center","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"btn","btn-primary","m-0","ms-3",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button",1,"btn","btn-danger","me-auto",3,"click"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),y(3),s(4,"translate"),a(),r(5,"button",3),s(6,"translate"),_("click",function(){return t.$activeModal.dismiss("Dismiss")}),a()(),r(7,"div",4),m(8,ae,2,0,"div",5),m(9,ce,7,5),a(),r(10,"div",6)(11,"div",7),m(12,me,4,6,"button",8),a(),r(13,"div",9),m(14,pe,4,6,"button",8),a(),r(15,"div",10),m(16,fe,4,6,"button",11),a()()()),i&2&&(n(3),x(d(4,7,"form.button_restore")),n(2),C("aria-label",d(6,9,"form.button_close")),n(3),p(t.loading?8:-1),n(),p(t.loading?-1:9),n(3),p(!t.loading&&t.backupList.length?12:-1),n(2),p(t.loading||!t.loading&&!t.backupList.length?14:-1),n(2),p(!t.loading&&t.backupList.length?16:-1))},dependencies:[L,T],encapsulation:2})}return o})();function ge(o,f){if(o&1){let e=b();r(0,"button",13),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onExportConfig())}),w(3,"i",14),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_download")),C("aria-label",d(2,4,"form.button_download")))}function ue(o,f){if(o&1){let e=b();r(0,"button",15),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onCancelRestore())}),w(3,"i",16),a()}if(o&2){let e=l();v("disabled",e.saveInProgress)("ngbTooltip",d(1,3,"form.button_cancel")),C("aria-label",d(2,5,"form.button_cancel"))}}function he(o,f){if(o&1){let e=b();r(0,"button",13),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onRestore())}),w(3,"i",17),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_restore")),C("aria-label",d(2,4,"form.button_restore")))}function _e(o,f){o&1&&w(0,"i",8)}function be(o,f){o&1&&w(0,"i",9)}function Ce(o,f){if(o&1){let e=b();r(0,"ngx-monaco-editor",18),_("onInit",function(t){g(e);let c=l();return u(c.onEditorInit(t))})("keydown.control.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())})("keydown.meta.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("model",e.monacoEditorModel)}}function ye(o,f){if(o&1){let e=b();r(0,"ngx-monaco-diff-editor",19),_("onInit",function(t){g(e);let c=l();return u(c.onInitDiffEditor(t))})("keydown.control.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())})("keydown.meta.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("originalModel",e.monacoEditorModel)("modifiedModel",e.monacoEditorModel)}}function we(o,f){if(o&1){let e=b();r(0,"textarea",20),B("ngModelChange",function(t){g(e);let c=l();return P(c.homebridgeConfig,t)||(c.homebridgeConfig=t),u(t)}),y(1," "),a()}if(o&2){let e=l();R("ngModel",e.homebridgeConfig)}}var Ke=(()=>{class o{$api=h(V);$md=h(X);$modal=h(K);$monacoEditor=h(ee);$route=h(G);$renderer=h(D);$settings=h(Q);$toastr=h(M);$translate=h(k);homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;editorDecorations=[];lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0};let e=document.querySelector(".content");this.$renderer.setStyle(e,"height","100%"),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(i=>{this.homebridgeConfig=i.config}),this.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},window.monaco?this.setMonacoEditorModel():this.$monacoEditor.readyEvent.subscribe({next:()=>{this.setMonacoEditorModel()}})}onEditorInit(e){window.editor=e,this.monacoEditor=e,this.monacoEditor.getModel().setValue(this.homebridgeConfig)}onInitDiffEditor(e){this.monacoEditor=e.modifiedEditor,e.getModel().original.setValue(this.originalConfig),e.getModel().modified.setValue(this.homebridgeConfig),window.editor=e}onSave(){return S(this,null,function*(){if(!this.saveInProgress){this.monacoEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[])),this.saveInProgress=!0;try{if(!this.isMobile){yield this.monacoEditor.getAction("editor.action.formatDocument").run();let i=window.monaco.editor.getModelMarkers({owner:"json"});for(let t of i)if(t.message==="Duplicate object key"){this.saveInProgress=!1,this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"));return}this.homebridgeConfig=this.monacoEditor.getModel().getValue()}let e=this.parseConfigFromEditor();this.homebridgeConfig=JSON.stringify(e,null,4),typeof e.bridge!="object"?this.$toastr.error(this.$translate.instant("config.config_bridge_missing"),this.$translate.instant("toast.title_error")):/^(?:[0-9A-F]{2}:){5}[0-9A-F]{2}$/i.test(e.bridge.username)?e.accessories&&!Array.isArray(e.accessories)?this.$toastr.error(this.$translate.instant("config.config_accessory_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&!Array.isArray(e.platforms)?this.$toastr.error(this.$translate.instant("config.config_platform_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&Array.isArray(e.platforms)&&!this.validateSection(e.platforms,"platform")||e.accessories&&Array.isArray(e.accessories)&&!this.validateSection(e.accessories,"accessory")||e.plugins&&Array.isArray(e.plugins)&&!this.validatePlugins(e.plugins,"plugins")||e.disabledPlugins&&Array.isArray(e.disabledPlugins)&&!this.validatePlugins(e.disabledPlugins,"disabledPlugins")||(yield this.saveConfig(e),this.originalConfig=""):this.$toastr.error(this.$translate.instant("config.config_username_error"),this.$translate.instant("toast.title_error"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}parseConfigFromEditor(){try{return JSON.parse(this.homebridgeConfig)}catch{let i=ie.default.parse(this.homebridgeConfig);return this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&this.monacoEditor.getModel().setValue(this.homebridgeConfig),i}}saveConfig(e){return S(this,null,function*(){try{let i=yield A(this.$api.post("/config-editor",e));this.homebridgeConfig=JSON.stringify(i,null,4),this.$modal.open(Z,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}onRestore(){this.$modal.open(te,{size:"lg",backdrop:"static"}).result.then(e=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig),this.$api.get(`/config-editor/backups/${e}`).subscribe({next:i=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&window.editor.modifiedEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[]),this.monacoEditor.executeEdits("beautifier",[{identifier:"delete",range:new monaco.Range(1,1,this.monacoEditor.getModel().getLineCount()+10,1),text:"",forceMoveMarkers:!0}]),this.monacoEditor.executeEdits("beautifier",[{identifier:"insert",range:new monaco.Range(1,1,1,1),text:this.homebridgeConfig,forceMoveMarkers:!0}]))},error:i=>{console.error(i),this.$toastr.error(i.error.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onExportConfig(){let e=`data:text/json;charset=utf-8,${encodeURIComponent(this.homebridgeConfig)}`,i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("download","config.json"),document.body.appendChild(i),i.click(),i.remove()}onCancelRestore(){this.homebridgeConfig=this.originalConfig,this.originalConfig=""}validateSection(e,i){for(let t of e){if(typeof t!="object"||Array.isArray(t))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(!t[i])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(typeof t[i]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1}return!0}validatePlugins(e,i){for(let t of e)if(typeof t!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:i}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(e){this.monacoEditor&&(e=JSON.stringify(e,null,4).split(`
2
+ `).map(i=>` ${i}`).join(`
3
+ `),setTimeout(()=>{let i=this.monacoEditor.getModel().findMatches(e);if(i.length){let t=i[0].range,c=new monaco.Range(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn);this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[{range:c,options:{isWholeLine:!0,linesDecorationsClassName:"hb-monaco-editor-line-error"}}])}},200))}setMonacoEditorModel(){if(window.monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas.some(i=>i.uri==="http://homebridge/config.json"))return;let e=monaco.Uri.parse("a://homebridge/config.json");window.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({allowComments:!1,validate:!0,schemas:[{uri:"http://homebridge/config.json",fileMatch:[e.toString()],schema:{type:"object",required:["bridge"],properties:{bridge:{type:"object",required:["name","username","port","pin"],properties:{name:{type:"string",description:`The Homebridge instance name.
4
+ This should be unique if you are running multiple instances of Homebridge.`,default:"Homebridge"},username:{type:"string",description:`Homebridge username must be 6 pairs of colon-separated hexadecimal characters (A-F 0-9).
5
+ You should change this pin if you need to re-pair your instance with HomeKit.
6
+ Example: 0E:89:49:64:91:86`,default:"0E:89:49:64:91:86",pattern:"^([A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2}$"},port:{type:"number",description:`The port Homebridge listens on.
7
+ If running more than one instance of Homebridge on the same server make sure each instance is given a unique port.`,default:51173,minimum:1025,maximum:65534},pin:{type:"string",description:`The Homebridge instance pin.
8
+ This is used when pairing Homebridge to HomeKit.
9
+ Example: 630-27-655`,default:"630-27-655",pattern:"^([0-9]{3}-[0-9]{2}-[0-9]{3})$"},manufacturer:{type:"string",description:"The bridge manufacturer to be displayed in HomeKit"},firmwareRevision:{type:"string",description:"The bridge firmware version to be displayed in HomeKit"},model:{type:"string",description:"The bridge model to be displayed in HomeKit"},bind:{description:`A string or an array of strings with the name(s) of the network interface(s) Homebridge should bind to.
10
+
11
+ Requires Homebridge v1.3 or later.`,type:["string","array"],items:{type:"string",description:"Network Interface name that Homebridge should bind to."}}},default:{name:"Homebridge",username:"0E:89:49:64:91:86",port:51173,pin:"6302-7655"}},mdns:{type:"object",properties:{interface:{type:"string",description:`The interface or IP address of the interface you want Homebridge to listen on. This is useful if your server has multiple interfaces.
12
+
13
+ Deprecated as of Homebridge v1.3.0 - use bridge.bind instead.`},legacyAdvertiser:{type:"boolean",description:"Set to `false` to use the new mdns library, ciao."}},default:{legacyAdvertiser:!1}},plugins:{type:"array",description:"An array of plugins that should be selectively enabled. Remove this array to enable all plugins.",items:{type:"string",description:`The full plugin npm package name.
14
+ Example: homebridge-dummy`},default:["homebridge-config-ui-x"]},disabledPlugins:{type:"array",description:`An array of plugins that should be disabled.
15
+
16
+ Requires Homebridge v1.3 or later.`,items:{type:"string",description:`The full plugin npm package name.
17
+ Example: homebridge-dummy`},default:[]},ports:{type:"object",description:"The range of ports that should be used for certain accessories like cameras and TVs",required:["start","end"],properties:{start:{type:"number",default:52100,minimum:1025,maximum:65534},end:{type:"number",default:52150,minimum:1025,maximum:65534}},default:{start:52100,end:52150}},platforms:{type:"array",description:`Any plugin that exposes a platform should have its config entered in this array.
18
+ Separate each plugin config block using a comma.`,items:{type:"object",required:["platform"],anyOf:[{type:"object",required:["platform"],properties:{platform:{type:"string",description:"This is used by Homebridge to identify which plugin this platform belongs to.",not:{enum:["config"]}},name:{type:"string",description:"The name of the platform."}}},{type:"object",properties:{platform:{type:"string",description:`Homebridge UI platform name must be set to "config".
19
+ Do Not Change!`,oneOf:[{enum:"config"}]},name:{type:"string",description:"The name used in the Homebridge log."}}}]}},accessories:{type:"array",description:`Any plugin that exposes an accessory should have its config entered in this array.
20
+ Separate each plugin config block using a comma.`,items:{type:"object",required:["accessory","name"],properties:{accessory:{type:"string",description:"This is used by Homebridge to identify which plugin this accessory belongs to."},name:{type:"string",description:"The name of the accessory."}}}}}}}]}),this.monacoEditorModel.uri=monaco.Uri.parse("a://homebridge/config.json")}visualViewPortChanged(){this.lastHeight<window.visualViewport.height&&document.activeElement.blur(),window.visualViewport.height<window.innerHeight?(this.$md.enableTouchMove(),this.lastHeight=window.visualViewport.height):window.visualViewport.height===window.innerHeight&&(this.$md.disableTouchMove(),this.lastHeight=window.visualViewport.height)}ngOnDestroy(){let e=document.querySelector(".content");this.$renderer.removeStyle(e,"height"),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove()),this.monacoEditor&&this.monacoEditor.dispose()}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],decls:18,vars:18,consts:[[1,"flex-column","d-flex","align-items-stretch","h-100"],[1,"row"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0","me-2",3,"ngbTooltip"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-danger","waves-effect","my-0","me-2",3,"disabled","ngbTooltip"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0","me-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-floppy-disk"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"options","model"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"options","originalModel","modifiedModel"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-3",3,"ngModel"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0","me-2",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-danger","waves-effect","my-0","me-2",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-times"],[1,"fas","fa-fw","fa-history"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"onInit","keydown.control.s","keydown.meta.s","options","model"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"onInit","keydown.control.s","keydown.meta.s","options","originalModel","modifiedModel"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-3",3,"ngModelChange","ngModel"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"div",2)(3,"h3",3),y(4),s(5,"translate"),a()(),r(6,"div",4),m(7,ge,4,6,"button",5),m(8,ue,4,7,"button",6),m(9,he,4,6,"button",5),r(10,"button",7),s(11,"translate"),s(12,"translate"),_("click",function(){return t.onSave()}),m(13,_e,1,0,"i",8),m(14,be,1,0,"i",9),a()()(),m(15,Ce,1,2,"ngx-monaco-editor",10),m(16,ye,1,3,"ngx-monaco-diff-editor",11),m(17,we,2,1,"textarea",12),a()),i&2&&(n(4),x(d(5,12,"menu.config_json_editor")),n(3),p(t.originalConfig?-1:7),n(),p(t.originalConfig?8:-1),n(),p(t.originalConfig?-1:9),n(),v("disabled",t.saveInProgress)("ngbTooltip",d(11,14,"form.button_save")),C("aria-label",d(12,16,"form.button_save")),n(3),p(t.saveInProgress?-1:13),n(),p(t.saveInProgress?14:-1),n(),p(!t.isMobile&&!t.originalConfig?15:-1),n(),p(!t.isMobile&&t.originalConfig?16:-1),n(),p(t.isMobile?17:-1))},dependencies:[U,W,Y,z,N,F,q,T],encapsulation:2})}return o})();export{Ke as a};
@@ -0,0 +1 @@
1
+ import{f as a}from"./chunk-R7USDODC.js";import"./chunk-IMRTROQL.js";import"./chunk-445PQ2P2.js";import"./chunk-4QBTHI5Q.js";import"./chunk-MZFFFGFF.js";import"./chunk-GN7IXG4L.js";import"./chunk-Z6KIOLK5.js";import"./chunk-XTMNJE4B.js";import"./chunk-BVWBB74Y.js";import"./chunk-EGECSH4K.js";import"./chunk-ZA436JJP.js";import"./chunk-G4AG4KBE.js";import"./chunk-6US6MXBM.js";import"./chunk-ADC7QO6N.js";import"./chunk-RMMQMQZX.js";import"./chunk-TIXTDDTD.js";import"./chunk-FQEUOMOT.js";import"./chunk-LEMXCMWD.js";import"./chunk-SKVHW32E.js";import"./chunk-RQA2H3J6.js";import"./chunk-7FQYPAKD.js";import"./chunk-2SEP7Q76.js";import"./chunk-3HVSWJGA.js";import"./chunk-4HTVG6XH.js";import"./chunk-TEOCKMP5.js";import"./chunk-USOUWLNH.js";import"./chunk-4SITUFK3.js";import"./chunk-PAZ5V5TQ.js";export{a as StatusComponent};