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{g as T,m as C}from"./chunk-SKVHW32E.js";import{b as h}from"./chunk-4SITUFK3.js";import{$a as e,Ac as a,Bc as r,Cc as x,Gb as u,Hb as D,Ib as S,Kb as I,Lb as w,Mb as B,Nb as f,Ob as i,Pb as n,Qb as m,Xb as c,Ya as E,Yb as M,bd as P,jc as o,kc as p,la as _,lb as v,lc as g,wc as y}from"./chunk-PAZ5V5TQ.js";var $=t=>({pluginName:t});function O(t,k){t&1&&(i(0,"ul",7)(1,"li"),o(2),a(3,"translate"),n(),i(4,"li"),o(5),a(6,"translate"),n()()),t&2&&(e(2),p(r(3,2,"plugins.manage.confirm_disable_accessory_1")),e(3),p(r(6,4,"plugins.manage.confirm_disable_accessory_2")))}function j(t,k){t&1&&(i(0,"ul",7)(1,"li"),o(2),a(3,"translate"),n(),i(4,"li"),o(5),a(6,"translate"),n()()),t&2&&(e(2),p(r(3,2,"plugins.manage.confirm_disable_platform_1")),e(3),p(r(6,4,"plugins.manage.confirm_disable_platform_2")))}var H=(()=>{class t{$activeModal=_(C);pluginName;isConfigured=!1;isConfiguredDynamicPlatform=!1;constructor(){}static \u0275fac=function(d){return new(d||t)};static \u0275cmp=v({type:t,selectors:[["ng-component"]],inputs:{pluginName:"pluginName",isConfigured:"isConfigured",isConfiguredDynamicPlatform:"isConfiguredDynamicPlatform"},decls:26,vars:22,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"mb-3","text-center"],[1,"fas","fa-fw","fa-circle-pause","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","warning",1,"mb-0",3,"dismissible"],[1,"w-100","text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click"]],template:function(d,s){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),o(3),n(),i(4,"button",3),a(5,"translate"),c("click",function(){return s.$activeModal.dismiss("Dismiss")}),n()(),i(6,"div",4)(7,"div",5),m(8,"i",6),n(),D(9,O,7,6,"ul",7),D(10,j,7,6,"ul",7),i(11,"ngb-alert",8)(12,"p",9),o(13),a(14,"translate"),n()()(),i(15,"div",10)(16,"div",11)(17,"button",12),a(18,"translate"),c("click",function(){return s.$activeModal.dismiss("Dismiss")}),o(19),a(20,"translate"),n()(),m(21,"div",13),i(22,"div",14)(23,"button",15),c("click",function(){return s.$activeModal.close()}),o(24),a(25,"translate"),n()()()()),d&2&&(e(3),p(s.pluginName),e(),u("aria-label",r(5,9,"form.button_close")),e(5),S(s.isConfigured&&!s.isConfiguredDynamicPlatform?9:-1),e(),S(s.isConfigured&&s.isConfiguredDynamicPlatform?10:-1),e(),f("dismissible",!1),e(2),p(x(14,11,"plugins.manage.confirm_disable",y(20,$,s.pluginName))),e(4),u("aria-label",r(18,14,"form.button_close")),e(2),g(" ",r(20,16,"form.button_close")," "),e(5),g(" ",r(25,18,"plugins.manage.disable")," "))},dependencies:[T,h],encapsulation:2})}return t})();var A=t=>({author:t});function F(t,k){if(t&1&&(i(0,"li",9),m(1,"i",15),i(2,"a",16),o(3),n()()),t&2){let l=k.$implicit,d=M();e(),f("ngClass",d.getIconClass(l.type)),e(),f("href",l.url,E),e(),p(l.url)}}var Y=(()=>{class t{$activeModal=_(C);plugin;fundingOptions;constructor(){}ngOnInit(){this.plugin.funding||this.$activeModal.close(),this.plugin.name==="homebridge-config-ui-x"&&(this.plugin.author="oznu"),Array.isArray(this.plugin.funding)?this.fundingOptions=this.plugin.funding.map(l=>{if(typeof l=="string")return{type:"other",url:l};if(typeof l=="object")return{type:l.type||"other",url:l.url}}):typeof this.plugin.funding=="string"?this.fundingOptions=[{type:"other",url:this.plugin.funding}]:typeof this.plugin.funding=="object"&&(this.fundingOptions=[{type:this.plugin.funding.type||"other",url:this.plugin.funding.url}])}getIconClass(l){switch(l.toLowerCase()){case"paypal":return"fab fa-fw fa-paypal";case"github":return"fab fa-fw fa-github";case"patreon":return"fab fa-fw fa-patreon";case"kofi":case"ko-fi":return"fas fa-fw fa-coffee";default:return"fas fa-fw fa-link"}}static \u0275fac=function(d){return new(d||t)};static \u0275cmp=v({type:t,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:28,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","pink-text","mb-3"],[1,"fas","fa-fw","fa-heart",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"me-2","primary-text","fa-fw","fa-xl",3,"ngClass"],["target","_blank","rel","noopener noreferrer",1,"text-break-all",3,"href"]],template:function(d,s){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),o(3),a(4,"translate"),n(),i(5,"button",3),a(6,"translate"),c("click",function(){return s.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),m(9,"i",6),n(),i(10,"ul",7)(11,"li"),o(12),a(13,"translate"),n(),i(14,"li"),o(15),a(16,"translate"),n()(),i(17,"ul",8),w(18,F,4,3,"li",9,I),n()(),i(20,"div",10),m(21,"div",11),i(22,"div",12)(23,"button",13),a(24,"translate"),c("click",function(){return s.$activeModal.dismiss("Dismiss")}),o(25),a(26,"translate"),n()(),m(27,"div",14),n()()),d&2&&(e(3),p(x(4,6,"plugins.donate.tile_donate_to",y(19,A,"@"+s.plugin.author))),e(2),u("aria-label",r(6,9,"form.button_close")),e(7),p(r(13,11,"plugins.donate.message_1")),e(3),p(r(16,13,"plugins.donate.message_2")),e(3),B(s.fundingOptions),e(5),u("aria-label",r(24,15,"form.button_close")),e(2),g(" ",r(26,17,"form.button_close")," "))},dependencies:[P,h],styles:[".text-break-all[_ngcontent-%COMP%]{word-break:break-all}"]})}return t})();export{H as a,Y as b};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-W3624K3I.js";import"./chunk-ZOK6NY4K.js";import"./chunk-6US6MXBM.js";import"./chunk-RMMQMQZX.js";import"./chunk-TIXTDDTD.js";import"./chunk-LEMXCMWD.js";import"./chunk-SKVHW32E.js";import"./chunk-RQA2H3J6.js";import"./chunk-4UM5QHY6.js";import"./chunk-MVL5EQPC.js";import"./chunk-7ZNHDMCE.js";import"./chunk-7Z74FGCO.js";import"./chunk-USOUWLNH.js";import"./chunk-4SITUFK3.js";import"./chunk-PAZ5V5TQ.js";export{a as LogsComponent};
@@ -0,0 +1 @@
1
+ import{a as l,b as a,c as u,d as g,e as C}from"./chunk-S2XBNDS5.js";import{a as d}from"./chunk-57WSQ6T6.js";import"./chunk-YHXSTLHD.js";import{a as c}from"./chunk-ZVGCGGDU.js";import"./chunk-Y4XTCS5Q.js";import"./chunk-2HBIS5KD.js";import"./chunk-BVWBB74Y.js";import"./chunk-EGECSH4K.js";import"./chunk-ZA436JJP.js";import"./chunk-ZOK6NY4K.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{q as s}from"./chunk-SKVHW32E.js";import{A as p,z as n}from"./chunk-RQA2H3J6.js";import"./chunk-4UM5QHY6.js";import{g as m}from"./chunk-2SEP7Q76.js";import"./chunk-MVL5EQPC.js";import"./chunk-7ZNHDMCE.js";import"./chunk-7Z74FGCO.js";import"./chunk-USOUWLNH.js";import{c as f}from"./chunk-4SITUFK3.js";import{ha as t,kd as i,mb as e}from"./chunk-PAZ5V5TQ.js";var A=[{path:"",loadComponent:()=>import("./chunk-PGJGS3YA.js").then(o=>o.SettingsComponent),canActivate:[d]}],M=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[m.forChild(A),m]})}return o})();var L=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[i,n,p,f,s,M,C,a,l,c,u,g]})}return o})();export{L as SettingsModule};
@@ -1,4 +1,4 @@
1
- import{a as O}from"./chunk-7EUQWCP5.js";import{a as L}from"./chunk-JZZQRLNW.js";import{c as P,e as I,l as D,y as H}from"./chunk-QHPDGSZ6.js";import{b as T}from"./chunk-NZNNTHFQ.js";import{b as $}from"./chunk-EP66JAAV.js";import{b as y,j as k}from"./chunk-TMD6JYTR.js";import{a as E}from"./chunk-3IX3CLER.js";import{$b as g,Kb as h,Mb as f,Rb as d,Wb as m,Xb as l,Yb as w,cc as _,dc as a,h as S,ib as s,na as r,nc as v,rb as x,sc as b,tc as M,uc as V,w as C,xa as c,ya as p}from"./chunk-TXOB7R5K.js";function z(i,u){i&1&&w(0,"i",6)}function A(i,u){i&1&&w(0,"i",7)}function F(i,u){if(i&1){let t=g();m(0,"ngx-monaco-editor",10),_("onInit",function(e){c(t);let o=a();return p(o.onEditorInit(e))})("keydown.control.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())})("keydown.meta.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())}),l()}if(i&2){let t=a();f("options",t.editorOptions)("model",t.monacoEditorModel)}}function W(i,u){if(i&1){let t=g();m(0,"textarea",11),V("ngModelChange",function(e){c(t);let o=a();return M(o.startupScript,e)||(o.startupScript=e),p(e)}),v(1," "),l()}if(i&2){let t=a();b("ngModel",t.startupScript)}}var tt=(()=>{class i{$api=r(y);$md=r(L);$route=r(T);$settings=r($);$toastr=r(k);$translate=r(E);startupScript;saveInProgress;isMobile=!1;options={printMargin:!1};monacoEditor;editorOptions;monacoEditorModel;lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"shell",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0},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(t=>{this.startupScript=t.startupScript.script}),this.monacoEditorModel={value:"",language:"shell"}}onEditorInit(t){this.monacoEditor=t,this.monacoEditor.getModel().setValue(this.startupScript)}onSave(){return S(this,null,function*(){if(!this.saveInProgress){if(this.saveInProgress=!0,this.isMobile||(yield this.monacoEditor.getAction("editor.action.formatDocument").run(),this.startupScript=this.monacoEditor.getModel().getValue()),!["#!/bin/sh","#!/bin/bash"].includes(this.startupScript.split(`
1
+ import{a as P}from"./chunk-BVWBB74Y.js";import{a as O}from"./chunk-ZA436JJP.js";import{c as y,e as E,l as k,z as $}from"./chunk-RQA2H3J6.js";import{b as D}from"./chunk-2SEP7Q76.js";import{b as L}from"./chunk-7ZNHDMCE.js";import{h as I,k as H}from"./chunk-7Z74FGCO.js";import{a as T}from"./chunk-4SITUFK3.js";import{$a as s,Hb as d,Ib as m,Nb as f,Ob as u,Pb as l,Qb as w,Ub as g,Xb as _,Yb as a,h as S,jc as v,la as r,lb as x,qc as b,ra as c,rc as M,sa as p,sc as V,w as C}from"./chunk-PAZ5V5TQ.js";function z(i,h){i&1&&w(0,"i",6)}function A(i,h){i&1&&w(0,"i",7)}function F(i,h){if(i&1){let t=g();u(0,"ngx-monaco-editor",10),_("onInit",function(e){c(t);let o=a();return p(o.onEditorInit(e))})("keydown.control.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())})("keydown.meta.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())}),l()}if(i&2){let t=a();f("options",t.editorOptions)("model",t.monacoEditorModel)}}function W(i,h){if(i&1){let t=g();u(0,"textarea",11),V("ngModelChange",function(e){c(t);let o=a();return M(o.startupScript,e)||(o.startupScript=e),p(e)}),v(1," "),l()}if(i&2){let t=a();b("ngModel",t.startupScript)}}var tt=(()=>{class i{$api=r(H);$md=r(O);$route=r(D);$settings=r(L);$toastr=r(I);$translate=r(T);startupScript;saveInProgress;isMobile=!1;options={printMargin:!1};monacoEditor;editorOptions;monacoEditorModel;lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"shell",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0},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(t=>{this.startupScript=t.startupScript.script}),this.monacoEditorModel={value:"",language:"shell"}}onEditorInit(t){this.monacoEditor=t,this.monacoEditor.getModel().setValue(this.startupScript)}onSave(){return S(this,null,function*(){if(!this.saveInProgress){if(this.saveInProgress=!0,this.isMobile||(yield this.monacoEditor.getAction("editor.action.formatDocument").run(),this.startupScript=this.monacoEditor.getModel().getValue()),!["#!/bin/sh","#!/bin/bash"].includes(this.startupScript.split(`
2
2
  `)[0].trim())){this.$toastr.error(this.$translate.instant("platform.docker.must_use_hashbang"),this.$translate.instant("toast.title_error")),this.startupScript=`#!/bin/sh
3
3
 
4
- ${this.startupScript}`,this.isMobile||this.monacoEditor.getModel().setValue(this.startupScript),this.saveInProgress=!1;return}try{yield C(this.$api.put("/platform-tools/docker/startup-script",{script:this.startupScript})),this.$toastr.success(this.$translate.instant("platform.docker.restart_required"),this.$translate.instant("platform.docker.script_saved"))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}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(){window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove()),this.monacoEditor&&this.monacoEditor.dispose()}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=x({type:i,selectors:[["ng-component"]],decls:11,vars:5,consts:[[1,"flex-column","d-flex","align-items-stretch","h-100"],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0","text-monospace"],[1,"col-6","text-right"],[1,"btn","btn-primary","waves-effect","m-0",3,"click","disabled"],[1,"fas","fa-fw","fa-floppy-disk"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"flex-grow-1","h-100","w-100","my-2",3,"options","model"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-2",3,"ngModel"],[1,"flex-grow-1","h-100","w-100","my-2",3,"onInit","keydown.control.s","keydown.meta.s","options","model"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-2",3,"ngModelChange","ngModel"]],template:function(n,e){n&1&&(m(0,"div",0)(1,"div",1)(2,"div",2)(3,"h3",3),v(4,"startup.sh"),l()(),m(5,"div",4)(6,"button",5),_("click",function(){return e.onSave()}),h(7,z,1,0,"i",6)(8,A,1,0,"i",7),l()()(),h(9,F,1,2,"ngx-monaco-editor",8)(10,W,2,1,"textarea",9),l()),n&2&&(s(6),f("disabled",e.saveInProgress),s(),d(e.saveInProgress?-1:7),s(),d(e.saveInProgress?8:-1),s(),d(e.isMobile?-1:9),s(),d(e.isMobile?10:-1))},dependencies:[O,H,P,I,D],encapsulation:2})}return i})();export{tt as a};
4
+ ${this.startupScript}`,this.isMobile||this.monacoEditor.getModel().setValue(this.startupScript),this.saveInProgress=!1;return}try{yield C(this.$api.put("/platform-tools/docker/startup-script",{script:this.startupScript})),this.$toastr.success(this.$translate.instant("platform.docker.restart_required"),this.$translate.instant("platform.docker.script_saved"))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}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(){window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove()),this.monacoEditor&&this.monacoEditor.dispose()}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=x({type:i,selectors:[["ng-component"]],decls:11,vars:5,consts:[[1,"flex-column","d-flex","align-items-stretch","h-100"],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0","font-monospace"],[1,"col-6","text-end"],[1,"btn","btn-primary","waves-effect","m-0",3,"click","disabled"],[1,"fas","fa-fw","fa-floppy-disk"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"flex-grow-1","h-100","w-100","my-2",3,"options","model"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-2",3,"ngModel"],[1,"flex-grow-1","h-100","w-100","my-2",3,"onInit","keydown.control.s","keydown.meta.s","options","model"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-2",3,"ngModelChange","ngModel"]],template:function(n,e){n&1&&(u(0,"div",0)(1,"div",1)(2,"div",2)(3,"h3",3),v(4,"startup.sh"),l()(),u(5,"div",4)(6,"button",5),_("click",function(){return e.onSave()}),d(7,z,1,0,"i",6),d(8,A,1,0,"i",7),l()()(),d(9,F,1,2,"ngx-monaco-editor",8),d(10,W,2,1,"textarea",9),l()),n&2&&(s(6),f("disabled",e.saveInProgress),s(),m(e.saveInProgress?-1:7),s(),m(e.saveInProgress?8:-1),s(),m(e.isMobile?-1:9),s(),m(e.isMobile?10:-1))},dependencies:[P,$,y,E,k],encapsulation:2})}return i})();export{tt as a};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-P6HYOLET.js";import"./chunk-4UM5QHY6.js";import"./chunk-2SEP7Q76.js";import"./chunk-MVL5EQPC.js";import"./chunk-7ZNHDMCE.js";import"./chunk-7Z74FGCO.js";import"./chunk-USOUWLNH.js";import"./chunk-4SITUFK3.js";import"./chunk-PAZ5V5TQ.js";export{a as RestartComponent};
@@ -0,0 +1,2 @@
1
+ import{$ as Fe,Ab as K,Ba as ye,Bb as Te,Ga as He,H as je,Ha as ge,Ia as $e,Ja as F,L as Ue,La as ve,Ma as Ee,Na as I,Oa as N,Oc as tt,Pa as Xe,Pc as nt,Qa as Ge,Ra as Je,S as fe,Sa as Ye,Ta as We,Tc as C,Ua as Ze,Uc as rt,Va as qe,Vc as st,Wa as O,a as j,ab as B,da as m,db as Ke,ea as M,ga as y,ha as W,ja as g,k as Le,ka as l,kd as ot,la as R,ld as Q,ma as pe,mb as Z,md as ee,oa as Be,od as it,pa as ze,q as xe,qa as Ve,qd as at,r as he,sb as Qe,ub as D,va as E,x as U,xa as me,yb as et,zb as q}from"./chunk-PAZ5V5TQ.js";var L=class{},z=class{},S=class r{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(t){t?typeof t=="string"?this.lazyInit=()=>{this.headers=new Map,t.split(`
2
+ `).forEach(e=>{let n=e.indexOf(":");if(n>0){let s=e.slice(0,n),o=e.slice(n+1).trim();this.addHeaderEntry(s,o)}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((e,n)=>{this.addHeaderEntry(n,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([e,n])=>{this.setHeaderEntries(e,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();let e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof r?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){let e=new r;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof r?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){let e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if(typeof n=="string"&&(n=[n]),n.length===0)return;this.maybeSetNormalizedName(t.name,e);let s=(t.op==="a"?this.headers.get(e):void 0)||[];s.push(...n),this.headers.set(e,s);break;case"d":let o=t.value;if(!o)this.headers.delete(e),this.normalizedNames.delete(e);else{let i=this.headers.get(e);if(!i)return;i=i.filter(c=>o.indexOf(c)===-1),i.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,i)}break}}addHeaderEntry(t,e){let n=t.toLowerCase();this.maybeSetNormalizedName(t,n),this.headers.has(n)?this.headers.get(n).push(e):this.headers.set(n,[e])}setHeaderEntries(t,e){let n=(Array.isArray(e)?e:[e]).map(o=>o.toString()),s=t.toLowerCase();this.headers.set(s,n),this.maybeSetNormalizedName(t,s)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}};var ne=class{encodeKey(t){return ct(t)}encodeValue(t){return ct(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}};function kt(r,t){let e=new Map;return r.length>0&&r.replace(/^\?/,"").split("&").forEach(s=>{let o=s.indexOf("="),[i,c]=o==-1?[t.decodeKey(s),""]:[t.decodeKey(s.slice(0,o)),t.decodeValue(s.slice(o+1))],a=e.get(i)||[];a.push(c),e.set(i,a)}),e}var Lt=/%(\d[a-f0-9])/gi,xt={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function ct(r){return encodeURIComponent(r).replace(Lt,(t,e)=>xt[e]??t)}function te(r){return`${r}`}var b=class r{map;encoder;updates=null;cloneFrom=null;constructor(t={}){if(this.encoder=t.encoder||new ne,t.fromString){if(t.fromObject)throw new m(2805,!1);this.map=kt(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{let n=t.fromObject[e],s=Array.isArray(n)?n.map(te):[te(n)];this.map.set(e,s)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();let e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){let e=[];return Object.keys(t).forEach(n=>{let s=t[n];Array.isArray(s)?s.forEach(o=>{e.push({param:n,value:o,op:"a"})}):e.push({param:n,value:s,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{let e=this.encoder.encodeKey(t);return this.map.get(t).map(n=>e+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>t!=="").join("&")}clone(t){let e=new r({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":let e=(t.op==="a"?this.map.get(t.param):void 0)||[];e.push(te(t.value)),this.map.set(t.param,e);break;case"d":if(t.value!==void 0){let n=this.map.get(t.param)||[],s=n.indexOf(te(t.value));s!==-1&&n.splice(s,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}else{this.map.delete(t.param);break}}}),this.cloneFrom=this.updates=null)}};var re=class{map=new Map;set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}};function jt(r){switch(r){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function lt(r){return typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer}function dt(r){return typeof Blob<"u"&&r instanceof Blob}function ut(r){return typeof FormData<"u"&&r instanceof FormData}function Ut(r){return typeof URLSearchParams<"u"&&r instanceof URLSearchParams}var ht="Content-Type",ft="Accept",mt="X-Request-URL",yt="text/plain",gt="application/json",Ft=`${gt}, ${yt}, */*`,k=class r{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;keepalive=!1;responseType="json";method;params;urlWithParams;transferCache;constructor(t,e,n,s){this.url=e,this.method=t.toUpperCase();let o;if(jt(this.method)||s?(this.body=n!==void 0?n:null,o=s):o=n,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,this.keepalive=!!o.keepalive,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),this.transferCache=o.transferCache),this.headers??=new S,this.context??=new re,!this.params)this.params=new b,this.urlWithParams=e;else{let i=this.params.toString();if(i.length===0)this.urlWithParams=e;else{let c=e.indexOf("?"),a=c===-1?"?":c<e.length-1?"&":"";this.urlWithParams=e+a+i}}}serializeBody(){return this.body===null?null:typeof this.body=="string"||lt(this.body)||dt(this.body)||ut(this.body)||Ut(this.body)?this.body:this.body instanceof b?this.body.toString():typeof this.body=="object"||typeof this.body=="boolean"||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return this.body===null||ut(this.body)?null:dt(this.body)?this.body.type||null:lt(this.body)?null:typeof this.body=="string"?yt:this.body instanceof b?"application/x-www-form-urlencoded;charset=UTF-8":typeof this.body=="object"||typeof this.body=="number"||typeof this.body=="boolean"?gt:null}clone(t={}){let e=t.method||this.method,n=t.url||this.url,s=t.responseType||this.responseType,o=t.keepalive??this.keepalive,i=t.transferCache??this.transferCache,c=t.body!==void 0?t.body:this.body,a=t.withCredentials??this.withCredentials,d=t.reportProgress??this.reportProgress,u=t.headers||this.headers,p=t.params||this.params,T=t.context??this.context;return t.setHeaders!==void 0&&(u=Object.keys(t.setHeaders).reduce((w,_)=>w.set(_,t.setHeaders[_]),u)),t.setParams&&(p=Object.keys(t.setParams).reduce((w,_)=>w.set(_,t.setParams[_]),p)),new r(e,n,c,{params:p,headers:u,context:T,reportProgress:d,responseType:s,withCredentials:a,transferCache:i,keepalive:o})}},A=function(r){return r[r.Sent=0]="Sent",r[r.UploadProgress=1]="UploadProgress",r[r.ResponseHeader=2]="ResponseHeader",r[r.DownloadProgress=3]="DownloadProgress",r[r.Response=4]="Response",r[r.User=5]="User",r}(A||{}),x=class{headers;status;statusText;url;ok;type;constructor(t,e=200,n="OK"){this.headers=t.headers||new S,this.status=t.status!==void 0?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}},se=class r extends x{constructor(t={}){super(t)}type=A.ResponseHeader;clone(t={}){return new r({headers:t.headers||this.headers,status:t.status!==void 0?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}},V=class r extends x{body;constructor(t={}){super(t),this.body=t.body!==void 0?t.body:null}type=A.Response;clone(t={}){return new r({body:t.body!==void 0?t.body:this.body,headers:t.headers||this.headers,status:t.status!==void 0?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}},H=class extends x{name="HttpErrorResponse";message;error;ok=!1;constructor(t){super(t,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${t.url||"(unknown url)"}`:this.message=`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}},Bt=200,zt=204;function we(r,t){return{body:t,headers:r.headers,context:r.context,observe:r.observe,params:r.params,reportProgress:r.reportProgress,responseType:r.responseType,withCredentials:r.withCredentials,transferCache:r.transferCache,keepalive:r.keepalive}}var vt=(()=>{class r{handler;constructor(e){this.handler=e}request(e,n,s={}){let o;if(e instanceof k)o=e;else{let a;s.headers instanceof S?a=s.headers:a=new S(s.headers);let d;s.params&&(s.params instanceof b?d=s.params:d=new b({fromObject:s.params})),o=new k(e,n,s.body!==void 0?s.body:null,{headers:a,context:s.context,params:d,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials,transferCache:s.transferCache,keepalive:s.keepalive})}let i=he(o).pipe(Ue(a=>this.handler.handle(a)));if(e instanceof k||s.observe==="events")return i;let c=i.pipe(je(a=>a instanceof V));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return c.pipe(U(a=>{if(a.body!==null&&!(a.body instanceof ArrayBuffer))throw new m(2806,!1);return a.body}));case"blob":return c.pipe(U(a=>{if(a.body!==null&&!(a.body instanceof Blob))throw new m(2807,!1);return a.body}));case"text":return c.pipe(U(a=>{if(a.body!==null&&typeof a.body!="string")throw new m(2808,!1);return a.body}));case"json":default:return c.pipe(U(a=>a.body))}case"response":return c;default:throw new m(2809,!1)}}delete(e,n={}){return this.request("DELETE",e,n)}get(e,n={}){return this.request("GET",e,n)}head(e,n={}){return this.request("HEAD",e,n)}jsonp(e,n){return this.request("JSONP",e,{params:new b().append(n,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,n={}){return this.request("OPTIONS",e,n)}patch(e,n,s={}){return this.request("PATCH",e,we(s,n))}post(e,n,s={}){return this.request("POST",e,we(s,n))}put(e,n,s={}){return this.request("PUT",e,we(s,n))}static \u0275fac=function(n){return new(n||r)(l(L))};static \u0275prov=y({token:r,factory:r.\u0275fac})}return r})();var Vt=new g("");function Et(r,t){return t(r)}function Ht(r,t){return(e,n)=>t.intercept(e,{handle:s=>r(s,n)})}function $t(r,t,e){return(n,s)=>Ve(e,()=>t(n,o=>r(o,s)))}var Tt=new g(""),be=new g(""),wt=new g(""),_e=new g("",{providedIn:"root",factory:()=>!0});function Xt(){let r=null;return(t,e)=>{r===null&&(r=(R(Tt,{optional:!0})??[]).reduceRight(Ht,Et));let n=R(ye);if(R(_e)){let o=n.add();return r(t,e).pipe(fe(o))}else return r(t,e)}}var oe=(()=>{class r extends L{backend;injector;chain=null;pendingTasks=R(ye);contributeToStability=R(_e);constructor(e,n){super(),this.backend=e,this.injector=n}handle(e){if(this.chain===null){let n=Array.from(new Set([...this.injector.get(be),...this.injector.get(wt,[])]));this.chain=n.reduceRight((s,o)=>$t(s,o,this.injector),Et)}if(this.contributeToStability){let n=this.pendingTasks.add();return this.chain(e,s=>this.backend.handle(s)).pipe(fe(n))}else return this.chain(e,n=>this.backend.handle(n))}static \u0275fac=function(n){return new(n||r)(l(z),l(ze))};static \u0275prov=y({token:r,factory:r.\u0275fac})}return r})();var Gt=/^\)\]\}',?\n/,Jt=RegExp(`^${mt}:`,"m");function Yt(r){return"responseURL"in r&&r.responseURL?r.responseURL:Jt.test(r.getAllResponseHeaders())?r.getResponseHeader(mt):null}var Re=(()=>{class r{xhrFactory;constructor(e){this.xhrFactory=e}handle(e){if(e.method==="JSONP")throw new m(-2800,!1);e.keepalive;let n=this.xhrFactory;return(n.\u0275loadImpl?xe(n.\u0275loadImpl()):he(null)).pipe(Fe(()=>new Le(o=>{let i=n.build();if(i.open(e.method,e.urlWithParams),e.withCredentials&&(i.withCredentials=!0),e.headers.forEach((h,f)=>i.setRequestHeader(h,f.join(","))),e.headers.has(ft)||i.setRequestHeader(ft,Ft),!e.headers.has(ht)){let h=e.detectContentTypeHeader();h!==null&&i.setRequestHeader(ht,h)}if(e.responseType){let h=e.responseType.toLowerCase();i.responseType=h!=="json"?h:"text"}let c=e.serializeBody(),a=null,d=()=>{if(a!==null)return a;let h=i.statusText||"OK",f=new S(i.getAllResponseHeaders()),P=Yt(i)||e.url;return a=new se({headers:f,status:i.status,statusText:h,url:P}),a},u=()=>{let{headers:h,status:f,statusText:P,url:ke}=d(),v=null;f!==zt&&(v=typeof i.response>"u"?i.responseText:i.response),f===0&&(f=v?Bt:0);let ue=f>=200&&f<300;if(e.responseType==="json"&&typeof v=="string"){let Nt=v;v=v.replace(Gt,"");try{v=v!==""?JSON.parse(v):null}catch(Ct){v=Nt,ue&&(ue=!1,v={error:Ct,text:v})}}ue?(o.next(new V({body:v,headers:h,status:f,statusText:P,url:ke||void 0})),o.complete()):o.error(new H({error:v,headers:h,status:f,statusText:P,url:ke||void 0}))},p=h=>{let{url:f}=d(),P=new H({error:h,status:i.status||0,statusText:i.statusText||"Unknown Error",url:f||void 0});o.error(P)},T=!1,w=h=>{T||(o.next(d()),T=!0);let f={type:A.DownloadProgress,loaded:h.loaded};h.lengthComputable&&(f.total=h.total),e.responseType==="text"&&i.responseText&&(f.partialText=i.responseText),o.next(f)},_=h=>{let f={type:A.UploadProgress,loaded:h.loaded};h.lengthComputable&&(f.total=h.total),o.next(f)};return i.addEventListener("load",u),i.addEventListener("error",p),i.addEventListener("timeout",p),i.addEventListener("abort",p),e.reportProgress&&(i.addEventListener("progress",w),c!==null&&i.upload&&i.upload.addEventListener("progress",_)),i.send(c),o.next({type:A.Sent}),()=>{i.removeEventListener("error",p),i.removeEventListener("abort",p),i.removeEventListener("load",u),i.removeEventListener("timeout",p),e.reportProgress&&(i.removeEventListener("progress",w),c!==null&&i.upload&&i.upload.removeEventListener("progress",_)),i.readyState!==i.DONE&&i.abort()}})))}static \u0275fac=function(n){return new(n||r)(l(ee))};static \u0275prov=y({token:r,factory:r.\u0275fac})}return r})(),Rt=new g(""),Wt="XSRF-TOKEN",Zt=new g("",{providedIn:"root",factory:()=>Wt}),qt="X-XSRF-TOKEN",Kt=new g("",{providedIn:"root",factory:()=>qt}),$=class{},Qt=(()=>{class r{doc;cookieName;lastCookieString="";lastToken=null;parseCount=0;constructor(e,n){this.doc=e,this.cookieName=n}getToken(){let e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=Q(e,this.cookieName),this.lastCookieString=e),this.lastToken}static \u0275fac=function(n){return new(n||r)(l(E),l(Zt))};static \u0275prov=y({token:r,factory:r.\u0275fac})}return r})();function en(r,t){let e=r.url.toLowerCase();if(!R(Rt)||r.method==="GET"||r.method==="HEAD"||e.startsWith("http://")||e.startsWith("https://"))return t(r);let n=R($).getToken(),s=R(Kt);return n!=null&&!r.headers.has(s)&&(r=r.clone({headers:r.headers.set(s,n)})),t(r)}var De=function(r){return r[r.Interceptors=0]="Interceptors",r[r.LegacyInterceptors=1]="LegacyInterceptors",r[r.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",r[r.NoXsrfProtection=3]="NoXsrfProtection",r[r.JsonpSupport=4]="JsonpSupport",r[r.RequestsMadeViaParent=5]="RequestsMadeViaParent",r[r.Fetch=6]="Fetch",r}(De||{});function tn(r,t){return{\u0275kind:r,\u0275providers:t}}function nn(...r){let t=[vt,Re,oe,{provide:L,useExisting:oe},{provide:z,useFactory:()=>R(Vt,{optional:!0})??R(Re)},{provide:be,useValue:en,multi:!0},{provide:Rt,useValue:!0},{provide:$,useClass:Qt}];for(let e of r)t.push(...e.\u0275providers);return pe(t)}var pt=new g("");function rn(){return tn(De.LegacyInterceptors,[{provide:pt,useFactory:Xt},{provide:be,useExisting:pt,multi:!0}])}var ce=new g(""),Pe=(()=>{class r{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,n){this._zone=n,e.forEach(s=>{s.manager=this}),this._plugins=e.slice().reverse()}addEventListener(e,n,s,o){return this._findPluginFor(n).addEventListener(e,n,s,o)}getZone(){return this._zone}_findPluginFor(e){let n=this._eventNameToPlugin.get(e);if(n)return n;if(n=this._plugins.find(o=>o.supports(e)),!n)throw new m(5101,!1);return this._eventNameToPlugin.set(e,n),n}static \u0275fac=function(n){return new(n||r)(l(ce),l(D))};static \u0275prov=y({token:r,factory:r.\u0275fac})}return r})(),X=class{_doc;constructor(t){this._doc=t}manager},ie="ng-app-id";function Mt(r){for(let t of r)t.remove()}function bt(r,t){let e=t.createElement("style");return e.textContent=r,e}function sn(r,t,e,n){let s=r.head?.querySelectorAll(`style[${ie}="${t}"],link[${ie}="${t}"]`);if(s)for(let o of s)o.removeAttribute(ie),o instanceof HTMLLinkElement?n.set(o.href.slice(o.href.lastIndexOf("/")+1),{usage:0,elements:[o]}):o.textContent&&e.set(o.textContent,{usage:0,elements:[o]})}function Oe(r,t){let e=t.createElement("link");return e.setAttribute("rel","stylesheet"),e.setAttribute("href",r),e}var Ie=(()=>{class r{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;isServer;constructor(e,n,s,o={}){this.doc=e,this.appId=n,this.nonce=s,this.isServer=at(o),sn(e,n,this.inline,this.external),this.hosts.add(e.head)}addStyles(e,n){for(let s of e)this.addUsage(s,this.inline,bt);n?.forEach(s=>this.addUsage(s,this.external,Oe))}removeStyles(e,n){for(let s of e)this.removeUsage(s,this.inline);n?.forEach(s=>this.removeUsage(s,this.external))}addUsage(e,n,s){let o=n.get(e);o?o.usage++:n.set(e,{usage:1,elements:[...this.hosts].map(i=>this.addElement(i,s(e,this.doc)))})}removeUsage(e,n){let s=n.get(e);s&&(s.usage--,s.usage<=0&&(Mt(s.elements),n.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])Mt(e);this.hosts.clear()}addHost(e){this.hosts.add(e);for(let[n,{elements:s}]of this.inline)s.push(this.addElement(e,bt(n,this.doc)));for(let[n,{elements:s}]of this.external)s.push(this.addElement(e,Oe(n,this.doc)))}removeHost(e){this.hosts.delete(e)}addElement(e,n){return this.nonce&&n.setAttribute("nonce",this.nonce),this.isServer&&n.setAttribute(ie,this.appId),e.appendChild(n)}static \u0275fac=function(n){return new(n||r)(l(E),l(ge),l(ve,8),l(F))};static \u0275prov=y({token:r,factory:r.\u0275fac})}return r})(),Se={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},Ne=/%COMP%/g;var Dt="%COMP%",on=`_nghost-${Dt}`,an=`_ngcontent-${Dt}`,cn=!0,ln=new g("",{providedIn:"root",factory:()=>cn});function dn(r){return an.replace(Ne,r)}function un(r){return on.replace(Ne,r)}function St(r,t){return t.map(e=>e.replace(Ne,r))}var Ce=(()=>{class r{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;platformId;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(e,n,s,o,i,c,a,d=null,u=null){this.eventManager=e,this.sharedStylesHost=n,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=i,this.platformId=c,this.ngZone=a,this.nonce=d,this.tracingService=u,this.platformIsServer=!1,this.defaultRenderer=new G(e,i,a,this.platformIsServer,this.tracingService)}createRenderer(e,n){if(!e||!n)return this.defaultRenderer;let s=this.getOrCreateRenderer(e,n);return s instanceof ae?s.applyToHost(e):s instanceof J&&s.applyStyles(),s}getOrCreateRenderer(e,n){let s=this.rendererByCompId,o=s.get(n.id);if(!o){let i=this.doc,c=this.ngZone,a=this.eventManager,d=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,p=this.platformIsServer,T=this.tracingService;switch(n.encapsulation){case Ee.Emulated:o=new ae(a,d,n,this.appId,u,i,c,p,T);break;case Ee.ShadowDom:return new Ae(a,d,e,n,i,c,this.nonce,p,T);default:o=new J(a,d,n,u,i,c,p,T);break}s.set(n.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static \u0275fac=function(n){return new(n||r)(l(Pe),l(Ie),l(ge),l(ln),l(E),l(F),l(D),l(ve),l(Qe,8))};static \u0275prov=y({token:r,factory:r.\u0275fac})}return r})(),G=class{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(t,e,n,s,o){this.eventManager=t,this.doc=e,this.ngZone=n,this.platformIsServer=s,this.tracingService=o}destroy(){}destroyNode=null;createElement(t,e){return e?this.doc.createElementNS(Se[e]||e,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,e){(_t(t)?t.content:t).appendChild(e)}insertBefore(t,e,n){t&&(_t(t)?t.content:t).insertBefore(e,n)}removeChild(t,e){e.remove()}selectRootElement(t,e){let n=typeof t=="string"?this.doc.querySelector(t):t;if(!n)throw new m(-5104,!1);return e||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,s){if(s){e=s+":"+e;let o=Se[s];o?t.setAttributeNS(o,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){let s=Se[n];s?t.removeAttributeNS(s,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,s){s&(B.DashCase|B.Important)?t.style.setProperty(e,n,s&B.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&B.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){t!=null&&(t[e]=n)}setValue(t,e){t.nodeValue=e}listen(t,e,n,s){if(typeof t=="string"&&(t=C().getGlobalEventTarget(this.doc,t),!t))throw new m(5102,!1);let o=this.decoratePreventDefault(n);return this.tracingService?.wrapEventListener&&(o=this.tracingService.wrapEventListener(t,e,o)),this.eventManager.addEventListener(t,e,o,s)}decoratePreventDefault(t){return e=>{if(e==="__ngUnwrap__")return t;t(e)===!1&&e.preventDefault()}}};function _t(r){return r.tagName==="TEMPLATE"&&r.content!==void 0}var Ae=class extends G{sharedStylesHost;hostEl;shadowRoot;constructor(t,e,n,s,o,i,c,a,d){super(t,o,i,a,d),this.sharedStylesHost=e,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let u=s.styles;u=St(s.id,u);for(let T of u){let w=document.createElement("style");c&&w.setAttribute("nonce",c),w.textContent=T,this.shadowRoot.appendChild(w)}let p=s.getExternalStyles?.();if(p)for(let T of p){let w=Oe(T,o);c&&w.setAttribute("nonce",c),this.shadowRoot.appendChild(w)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,e){return super.appendChild(this.nodeOrShadowRoot(t),e)}insertBefore(t,e,n){return super.insertBefore(this.nodeOrShadowRoot(t),e,n)}removeChild(t,e){return super.removeChild(null,e)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},J=class extends G{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(t,e,n,s,o,i,c,a,d){super(t,o,i,c,a),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=s;let u=n.styles;this.styles=d?St(d,u):u,this.styleUrls=n.getExternalStyles?.(d)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},ae=class extends J{contentAttr;hostAttr;constructor(t,e,n,s,o,i,c,a,d){let u=s+"-"+n.id;super(t,e,n,o,i,c,a,d,u),this.contentAttr=dn(u),this.hostAttr=un(u)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,e){let n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}};var le=class r extends st{supportsDOMEvents=!0;static makeCurrent(){rt(new r)}onAndCancel(t,e,n,s){return t.addEventListener(e,n,s),()=>{t.removeEventListener(e,n,s)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.remove()}createElement(t,e){return e=e||this.getDefaultDocument(),e.createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return e==="window"?window:e==="document"?t:e==="body"?t.body:null}getBaseHref(t){let e=hn();return e==null?null:fn(e)}resetBaseElement(){Y=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return Q(document.cookie,t)}},Y=null;function hn(){return Y=Y||document.head.querySelector("base"),Y?Y.getAttribute("href"):null}function fn(r){return new URL(r,document.baseURI).pathname}var de=class{addToWindow(t){M.getAngularTestability=(n,s=!0)=>{let o=t.findTestabilityInTree(n,s);if(o==null)throw new m(5103,!1);return o},M.getAllAngularTestabilities=()=>t.getAllTestabilities(),M.getAllAngularRootElements=()=>t.getAllRootElements();let e=n=>{let s=M.getAllAngularTestabilities(),o=s.length,i=function(){o--,o==0&&n()};s.forEach(c=>{c.whenStable(i)})};M.frameworkStabilizers||(M.frameworkStabilizers=[]),M.frameworkStabilizers.push(e)}findTestabilityInTree(t,e,n){if(e==null)return null;let s=t.getTestability(e);return s??(n?C().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null)}},pn=(()=>{class r{build(){return new XMLHttpRequest}static \u0275fac=function(n){return new(n||r)};static \u0275prov=y({token:r,factory:r.\u0275fac})}return r})(),At=(()=>{class r extends X{constructor(e){super(e)}supports(e){return!0}addEventListener(e,n,s,o){return e.addEventListener(n,s,o),()=>this.removeEventListener(e,n,s,o)}removeEventListener(e,n,s,o){return e.removeEventListener(n,s,o)}static \u0275fac=function(n){return new(n||r)(l(E))};static \u0275prov=y({token:r,factory:r.\u0275fac})}return r})(),Ot=["alt","control","meta","shift"],mn={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},yn={alt:r=>r.altKey,control:r=>r.ctrlKey,meta:r=>r.metaKey,shift:r=>r.shiftKey},Pt=(()=>{class r extends X{constructor(e){super(e)}supports(e){return r.parseEventName(e)!=null}addEventListener(e,n,s,o){let i=r.parseEventName(n),c=r.eventCallback(i.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>C().onAndCancel(e,i.domEventName,c,o))}static parseEventName(e){let n=e.toLowerCase().split("."),s=n.shift();if(n.length===0||!(s==="keydown"||s==="keyup"))return null;let o=r._normalizeKey(n.pop()),i="",c=n.indexOf("code");if(c>-1&&(n.splice(c,1),i="code."),Ot.forEach(d=>{let u=n.indexOf(d);u>-1&&(n.splice(u,1),i+=d+".")}),i+=o,n.length!=0||o.length===0)return null;let a={};return a.domEventName=s,a.fullKey=i,a}static matchEventFullKeyCode(e,n){let s=mn[e.key]||e.key,o="";return n.indexOf("code.")>-1&&(s=e.code,o="code."),s==null||!s?!1:(s=s.toLowerCase(),s===" "?s="space":s==="."&&(s="dot"),Ot.forEach(i=>{if(i!==s){let c=yn[i];c(e)&&(o+=i+".")}}),o+=s,o===n)}static eventCallback(e,n,s){return o=>{r.matchEventFullKeyCode(o,e)&&s.runGuarded(()=>n(o))}}static _normalizeKey(e){return e==="esc"?"escape":e}static \u0275fac=function(n){return new(n||r)(l(E))};static \u0275prov=y({token:r,factory:r.\u0275fac})}return r})();function gn(r,t){return nt(j({rootComponent:r},vn(t)))}function vn(r){return{appProviders:[...It,...r?.providers??[]],platformProviders:Rn}}function En(){le.makeCurrent()}function Tn(){return new me}function wn(){return He(document),document}var Rn=[{provide:F,useValue:it},{provide:$e,useValue:En,multi:!0},{provide:E,useFactory:wn}];var Mn=[{provide:q,useClass:de},{provide:et,useClass:K,deps:[D,Te,q]},{provide:K,useClass:K,deps:[D,Te,q]}],It=[{provide:Be,useValue:"root"},{provide:me,useFactory:Tn},{provide:ce,useClass:At,multi:!0,deps:[E]},{provide:ce,useClass:Pt,multi:!0,deps:[E]},Ce,Ie,Pe,{provide:Ke,useExisting:Ce},{provide:ee,useClass:pn},[]],bn=(()=>{class r{constructor(){}static \u0275fac=function(n){return new(n||r)};static \u0275mod=Z({type:r});static \u0275inj=W({providers:[...It,...Mn],imports:[ot,tt]})}return r})();var Gr=(()=>{class r{_doc;constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static \u0275fac=function(n){return new(n||r)(l(E))};static \u0275prov=y({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var Dn=(()=>{class r{static \u0275fac=function(n){return new(n||r)};static \u0275prov=y({token:r,factory:function(n){let s=null;return n?s=new(n||r):s=l(Sn),s},providedIn:"root"})}return r})(),Sn=(()=>{class r extends Dn{_doc;constructor(e){super(),this._doc=e}sanitize(e,n){if(n==null)return null;switch(e){case O.NONE:return n;case O.HTML:return N(n,"HTML")?I(n):qe(this._doc,String(n)).toString();case O.STYLE:return N(n,"Style")?I(n):n;case O.SCRIPT:if(N(n,"Script"))return I(n);throw new m(5200,!1);case O.URL:return N(n,"URL")?I(n):Ze(String(n));case O.RESOURCE_URL:if(N(n,"ResourceURL"))return I(n);throw new m(5201,!1);default:throw new m(5202,!1)}}bypassSecurityTrustHtml(e){return Xe(e)}bypassSecurityTrustStyle(e){return Ge(e)}bypassSecurityTrustScript(e){return Je(e)}bypassSecurityTrustUrl(e){return Ye(e)}bypassSecurityTrustResourceUrl(e){return We(e)}static \u0275fac=function(n){return new(n||r)(l(E))};static \u0275prov=y({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();export{z as a,b,A as c,V as d,vt as e,Tt as f,nn as g,rn as h,Ce as i,gn as j,bn as k,Gr as l,Dn as m};
@@ -0,0 +1 @@
1
+ import{a as f}from"./chunk-2UZO6OQ7.js";import{a as s}from"./chunk-Y5I5EFKZ.js";import"./chunk-TP425OA6.js";import"./chunk-GN7IXG4L.js";import"./chunk-Y4XTCS5Q.js";import"./chunk-2HBIS5KD.js";import"./chunk-BVWBB74Y.js";import"./chunk-EGECSH4K.js";import"./chunk-ZA436JJP.js";import"./chunk-ZOK6NY4K.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{q as l}from"./chunk-SKVHW32E.js";import{A as u,z as m}from"./chunk-RQA2H3J6.js";import"./chunk-4UM5QHY6.js";import{g as e}from"./chunk-2SEP7Q76.js";import"./chunk-MVL5EQPC.js";import"./chunk-7ZNHDMCE.js";import"./chunk-7Z74FGCO.js";import"./chunk-USOUWLNH.js";import{c as p}from"./chunk-4SITUFK3.js";import{ha as t,kd as n,mb as r}from"./chunk-PAZ5V5TQ.js";var g=[{path:"",loadComponent:()=>import("./chunk-QOVSP2KD.js").then(o=>o.PluginsComponent)}],d=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[e.forChild(g),e]})}return o})();var v=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,m,u,p.forChild(),l,f,d,s]})}return o})();export{v as PluginsModule};
@@ -0,0 +1 @@
1
+ import{a as f,b as u}from"./chunk-VUTUDBG5.js";import{a as d}from"./chunk-YDBOT4OU.js";import{c as p}from"./chunk-WCO7YV6E.js";import"./chunk-ZVGCGGDU.js";import"./chunk-EGECSH4K.js";import"./chunk-ZA436JJP.js";import{q as n}from"./chunk-SKVHW32E.js";import{z as s}from"./chunk-RQA2H3J6.js";import"./chunk-4UM5QHY6.js";import{g as i}from"./chunk-2SEP7Q76.js";import"./chunk-MVL5EQPC.js";import"./chunk-7ZNHDMCE.js";import"./chunk-7Z74FGCO.js";import"./chunk-USOUWLNH.js";import{c}from"./chunk-4SITUFK3.js";import{ha as r,kd as m,mb as e}from"./chunk-PAZ5V5TQ.js";var C=[{path:"",loadComponent:()=>import("./chunk-MCY32ZEQ.js").then(o=>o.AccessoriesComponent)}],l=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[i.forChild(C),i]})}return o})();var S=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[m,s,n,p,c.forChild(),d,l,u,f]})}return o})();export{S as AccessoriesModule};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-HI45ZEZU.js";import{a as f}from"./chunk-RKG5F4ZV.js";import"./chunk-YHXSTLHD.js";import"./chunk-RMMQMQZX.js";import"./chunk-TIXTDDTD.js";import{q as u}from"./chunk-SKVHW32E.js";import{A as p,z as n}from"./chunk-RQA2H3J6.js";import"./chunk-4UM5QHY6.js";import{g as i}from"./chunk-2SEP7Q76.js";import"./chunk-MVL5EQPC.js";import"./chunk-7ZNHDMCE.js";import"./chunk-7Z74FGCO.js";import"./chunk-USOUWLNH.js";import{c as d}from"./chunk-4SITUFK3.js";import{ha as t,kd as m,mb as r}from"./chunk-PAZ5V5TQ.js";var M=[{path:"",loadComponent:()=>import("./chunk-2BYFJJKD.js").then(o=>o.SetupWizardComponent)}],l=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(M),i]})}return o})();var R=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({providers:[a],imports:[m,n,p,d,u,l,f]})}return o})();export{R as SetupWizardModule};
@@ -0,0 +1 @@
1
+ import{U as ie,a as U,b as X,c as Y,f as te}from"./chunk-WCO7YV6E.js";import{a as ne}from"./chunk-ZA436JJP.js";import{m as $,n as K,o as Q}from"./chunk-SKVHW32E.js";import{c as W,e as R,f as j,i as z,l as q,m as G,z as J}from"./chunk-RQA2H3J6.js";import{c as ee}from"./chunk-MVL5EQPC.js";import{b as Z}from"./chunk-7ZNHDMCE.js";import{b as w}from"./chunk-4SITUFK3.js";import{$a as o,Ac as s,Bc as l,Cc as H,Gb as v,Hb as h,Ib as M,Kb as I,Lb as V,Mb as F,Nb as _,Ob as a,Pb as r,Qb as p,Ub as B,Xa as N,Xb as b,Yb as m,bd as O,jc as d,kc as u,la as f,lb as y,lc as S,qc as k,ra as C,rc as T,sa as x,sc as A,vc as L,wc as E}from"./chunk-PAZ5V5TQ.js";var oe=(()=>{class t{$activeModal=f($);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],decls:31,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-fw","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),d(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"ul",7)(12,"li"),d(13),s(14,"translate"),r(),a(15,"li"),d(16),s(17,"translate"),r(),a(18,"li"),d(19),s(20,"translate"),r(),a(21,"li"),d(22),s(23,"translate"),r()()(),a(24,"div",8),p(25,"div",9),a(26,"div",10)(27,"button",11),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(28),s(29,"translate"),r()(),p(30,"div",12),r()()()),i&2&&(o(4),u(l(5,7,"support.title")),o(2),v("aria-label",l(7,9,"form.button_close")),o(7),u(l(14,11,"accessories.support.list_1")),o(3),u(l(17,13,"accessories.support.list_2")),o(3),u(l(20,15,"accessories.support.list_3")),o(3),u(l(23,17,"accessories.support.list_4")),o(6),S(" ",l(29,19,"form.button_close")," "))},dependencies:[w],encapsulation:2})}return t})();var se=()=>({standalone:!0}),ae=(()=>{class t{$activeModal=f($);roomName;constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:28,vars:19,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-folder-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["autocomplete","off","type","text","id","form-name","autofocus","",1,"form-control","custom-input",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),d(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"ul",7)(12,"li",8)(13,"label",9),d(14),s(15,"translate"),r(),a(16,"div",10)(17,"input",11),A("ngModelChange",function(D){return T(n.roomName,D)||(n.roomName=D),D}),b("keyup.enter",function(){return n.$activeModal.close(n.roomName)}),r()()()()(),a(18,"div",12)(19,"div",13)(20,"button",14),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(21),s(22,"translate"),r()(),p(23,"div",15),a(24,"div",16)(25,"button",17),b("click",function(){return n.$activeModal.close(n.roomName)}),d(26),s(27,"translate"),r()()()()()),i&2&&(o(4),u(l(5,8,"accessories.button_add_room")),o(2),v("aria-label",l(7,10,"form.button_close")),o(8),u(l(15,12,"accessories.room_name")),o(3),k("ngModel",n.roomName),_("ngModelOptions",L(18,se)),o(4),S(" ",l(22,14,"form.button_close")," "),o(4),_("disabled",!n.roomName),o(),S(" ",l(27,16,"form.button_save")," "))},dependencies:[J,G,W,R,j,q,z,w],encapsulation:2})}return t})();var re=(()=>{class t{constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({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(i,n){i&1&&(a(0,"div",0),p(1,"i",1),a(2,"div",2),d(3),s(4,"translate"),r()()),i&2&&(o(3),u(l(4,1,"accessories.control.drag_here")))},dependencies:[w],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var le=t=>({"cursor-move":t}),ce=t=>({"justify-content-between":t}),de=t=>({link:t});function pe(t,g){if(t&1&&(a(0,"div",0)(1,"div",18)(2,"h5",19),d(3),s(4,"translate"),r()()()),t&2){let e=m().$implicit,i=m(2);o(2),_("ngClass",E(4,le,!i.isMobile)),o(),S(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function me(t,g){if(t&1&&(a(0,"div",22),p(1,"app-accessory-tile",23),r()),t&2){let e=m().$implicit;o(),_("service",e)}}function ue(t,g){if(t&1&&h(0,me,2,1,"div",22),t&2){let e=g.$implicit,i=m(4);M(!i.hideHidden||!e.hidden?0:-1)}}function _e(t,g){if(t&1){let e=B();a(0,"div",20),A("dragulaModelChange",function(n){C(e);let c=m().$implicit;return T(c.services,n)||(c.services=n),x(n)}),V(1,ue,1,1,null,null,I),p(3,"div",21)(4,"div",21)(5,"div",21)(6,"div",21)(7,"div",21)(8,"div",21)(9,"div",21)(10,"div",21)(11,"div",21)(12,"div",21),r()}if(t&2){let e=m().$implicit,i=m(2);_("ngClass",E(3,ce,i.isMobile))("dragula","services-bag"),k("dragulaModel",e.services),o(),F(e.services)}}function be(t,g){if(t&1){let e=B();a(0,"div",24),A("dragulaModelChange",function(n){C(e);let c=m().$implicit;return T(c.services,n)||(c.services=n),x(n)}),p(1,"app-drag-here-placeholder",25),r()}if(t&2){let e=m().$implicit;_("dragula","services-bag"),k("dragulaModel",e.services)}}function fe(t,g){if(t&1&&(a(0,"div"),h(1,pe,5,6,"div",0),a(2,"div",15),h(3,_e,13,5,"div",16),h(4,be,2,2,"div",17),r()()),t&2){let e=g.$implicit,i=m(2);o(),M(!i.isMobile||e.services.length?1:-1),o(2),M(e.services.length?3:-1),o(),M(!e.services.length&&!i.isMobile?4:-1)}}function ge(t,g){if(t&1){let e=B();a(0,"div",1)(1,"div",2)(2,"h3",3),d(3),s(4,"translate"),r()(),a(5,"div",4)(6,"button",5),s(7,"translate"),s(8,"translate"),b("click",function(){C(e);let n=m();return x(n.addRoom())}),p(9,"i",6),r(),a(10,"button",5),s(11,"translate"),s(12,"translate"),s(13,"translate"),s(14,"translate"),b("click",function(){C(e);let n=m();return x(n.hideHidden=!n.hideHidden)}),p(15,"i",7),r(),a(16,"div",8)(17,"button",9),s(18,"translate"),s(19,"translate"),b("click",function(){C(e);let n=m();return x(n.toggleLayoutLock())}),p(20,"i",10),r(),a(21,"button",9),s(22,"translate"),s(23,"translate"),b("click",function(){C(e);let n=m();return x(n.toggleLayoutLock())}),p(24,"i",11),r()(),a(25,"button",12),s(26,"translate"),b("click",function(){C(e);let n=m();return x(n.openSupport())}),p(27,"i",13),r()()(),a(28,"div",14),A("dragulaModelChange",function(n){C(e);let c=m();return T(c.$accessories.rooms,n)||(c.$accessories.rooms=n),x(n)}),V(29,fe,5,3,"div",null,I),r()}if(t&2){let e=m();o(3),u(l(4,17,"accessories.title_accessories")),o(3),_("hidden",e.isMobile)("ngbTooltip",l(7,19,"accessories.button_add_room")),v("aria-label",l(8,21,"accessories.button_add_room")),o(4),_("hidden",e.isMobile)("ngbTooltip",e.hideHidden?l(11,23,"accessories.button_hidden_show"):l(12,25,"accessories.button_hidden_hide")),v("aria-label",e.hideHidden?l(13,27,"accessories.button_hidden_show"):l(14,29,"accessories.button_hidden_hide")),o(5),_("ngClass",e.hideHidden?"fa-eye-slash":"fa-eye"),o(2),_("disabled",!e.isMobile)("ngbTooltip",l(18,31,"form.button_unlock")),v("aria-label",l(19,33,"form.button_unlock")),o(4),_("disabled",e.isMobile)("ngbTooltip",l(22,35,"form.button_lock")),v("aria-label",l(23,37,"form.button_lock")),o(4),v("aria-label",l(26,39,"support.title")),o(3),_("dragula","rooms-bag"),k("dragulaModel",e.$accessories.rooms),o(),F(e.$accessories.rooms)}}function ve(t,g){t&1&&(a(0,"p",32),d(1),s(2,"translate"),r()),t&2&&(o(),u(l(2,1,"accessories.settings_link")))}function Ce(t,g){if(t&1&&(a(0,"div",0)(1,"div",26)(2,"h3",27),d(3),s(4,"translate"),r()(),a(5,"div",28)(6,"div",29)(7,"h5",30),d(8),s(9,"translate"),r(),p(10,"p",31),s(11,"translate"),h(12,ve,3,3,"p",32),r()()()),t&2){let e=m();o(3),u(l(4,4,"accessories.title_accessories")),o(5),u(l(9,6,"accessories.control_disabled")),o(2),_("innerHTML",H(11,8,"accessories.message_must_use_insecure_mode",E(11,de,e.linkInsecure)),N),o(2),M(e.$auth.user.admin?12:-1)}}var Ue=(()=>{class t{$auth=f(ee);dragulaService=f(U);$modal=f(K);$settings=f(Z);$md=f(ne);$accessories=f(te);isMobile=!1;hideHidden=!0;orderSubscription;linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){let e=this.dragulaService;this.isMobile=this.$md.detect.mobile(),e.createGroup("rooms-bag",{moves:(i,n,c)=>!this.isMobile&&c.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:i=>!this.isMobile&&!i.classList.contains("no-drag")}),this.orderSubscription=e.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),this.isMobile=!0}ngOnInit(){this.$accessories.start()}addRoom(){this.$modal.open(ae,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms.find(i=>i.name===e)||(this.$accessories.rooms.push({name:e,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?document.querySelectorAll(".services-bag").forEach(i=>{for(let n=0;n<10;n++){let c=document.createElement("div");c.className="accessory-box invisible py-0 my-0",c.style.height="0",i.appendChild(c)}}):document.querySelectorAll(".invisible").forEach(i=>i.remove())}openSupport(){this.$modal.open(oe,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-accessories"]],decls:2,vars:2,consts:[[1,"row"],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end","d-none","d-sm-inline-block"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","hidden","ngbTooltip"],[1,"fas","fa-fw","fa-folder-plus"],[1,"fas","fa-fw",3,"ngClass"],["role","group",1,"btn-group","me-2"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-unlock"],[1,"fas","fa-fw","fa-lock"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-fw","fa-question-circle-o"],[3,"dragulaModelChange","dragula","dragulaModel"],[1,"row","mb-4"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"ngClass","dragula","dragulaModel"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragula","dragulaModel"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0","mb-1","mb-sm-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"dragulaModelChange","ngClass","dragula","dragulaModel"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0"],[1,"accessory-item","accessory-tab"],[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,"mb-3","mt-0"],[1,"mb-0",3,"innerHTML"],[1,"mt-3","mb-0"]],template:function(i,n){i&1&&(h(0,ge,31,41),h(1,Ce,13,13,"div",0)),i&2&&(M(n.$settings.env.enableAccessories?0:-1),o(),M(n.$settings.env.enableAccessories?-1:1))},dependencies:[Q,O,Y,X,ie,re,w],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{ae as a,Ue as b};
@@ -0,0 +1 @@
1
+ import{a as h}from"./chunk-D6GDUL63.js";import{b}from"./chunk-4SITUFK3.js";import{$a as s,Ac as w,Bc as y,Lc as T,Ob as r,Pb as o,Qb as c,Xb as u,_a as l,dc as p,ec as f,jc as v,kc as g,la as a,lb as d,n as m}from"./chunk-PAZ5V5TQ.js";var C=["terminaloutput"],k=(()=>{class t{$terminal=a(h);termTarget=T("terminaloutput");resizeEvent=new m;constructor(){}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$terminal.startTerminal(this.termTarget(),{},this.resizeEvent),this.$terminal.term.focus()}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$terminal.destroyTerminal()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=d({type:t,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&p(n.termTarget,C,5),e&2&&f()},hostBindings:function(e,n){e&1&&u("resize",function(x){return n.onWindowResize(x)},l)},decls:8,vars:3,consts:[["terminaloutput",""],[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","docker-terminal",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,n){e&1&&(r(0,"div",1)(1,"div",2)(2,"h3",3),v(3),w(4,"translate"),o()()(),r(5,"div",4),c(6,"div",5,0),o()),e&2&&(s(3),g(y(4,1,"menu.linux.label_terminal")))},dependencies:[b],encapsulation:2})}return t})();export{k as a};
@@ -0,0 +1 @@
1
+ import{a as V}from"./chunk-ZOK6NY4K.js";import{a as q}from"./chunk-RMMQMQZX.js";import{a as _}from"./chunk-LEMXCMWD.js";import{n as B,o as k}from"./chunk-SKVHW32E.js";import{h as D,k as F}from"./chunk-7Z74FGCO.js";import{a as z,b as E}from"./chunk-4SITUFK3.js";import{$a as m,Ac as i,Bc as r,Gb as b,Lc as S,Nb as h,Ob as s,Pb as l,Qb as p,Ub as L,Xb as d,_a as y,dc as T,ec as C,g as j,h as w,jc as x,kc as I,la as o,lb as $,n as v,ra as u,sa as f}from"./chunk-PAZ5V5TQ.js";var H=j(q(),1);var A=["logoutput"],X=(()=>{class c{$api=o(F);$log=o(V);$modal=o(B);$toastr=o(D);$translate=o(z);termTarget=S("logoutput");resizeEvent=new v;constructor(){}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$log.startTerminal(this.termTarget(),{},this.resizeEvent)}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$log.destroyTerminal()}downloadLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-fw fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{(0,H.saveAs)(e.body,"homebridge.log.txt")},error:e=>w(this,null,function*(){let n;try{n=JSON.parse(yield e.error.text()).message}catch(a){console.error(a)}this.$toastr.error(n||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}truncateLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_truncate_log_file"),t.componentInstance.message=this.$translate.instant("logs.truncate_log_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_delete"),t.componentInstance.confirmButtonClass="btn-danger",t.componentInstance.faIconClass="fas fa-fw fa-circle-exclamation primary-text",t.result.then(()=>{this.$api.put("/platform-tools/hb-service/log/truncate",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("logs.log_file_truncated"),this.$translate.instant("toast.title_success")),this.$log.term.clear()},error:e=>{console.error(e),this.$toastr.error(e.error.message||this.$translate.instant("logs.truncate.error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}static \u0275fac=function(e){return new(e||c)};static \u0275cmp=$({type:c,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&T(n.termTarget,A,5),e&2&&C()},hostBindings:function(e,n){e&1&&d("resize",function(g){return n.onWindowResize(g)},y)},decls:17,vars:15,consts:[["logoutput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0","me-0",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-trash-alt"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","log-output",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,n){if(e&1){let a=L();s(0,"div",1)(1,"div",2)(2,"h3",3),x(3),i(4,"translate"),l()(),s(5,"div",4)(6,"button",5),i(7,"translate"),i(8,"translate"),d("click",function(){return u(a),f(n.downloadLogFile())}),p(9,"i",6),l(),s(10,"button",7),i(11,"translate"),i(12,"translate"),d("click",function(){return u(a),f(n.truncateLogFile())}),p(13,"i",8),l()()(),s(14,"div",9),p(15,"div",10,0),l()}e&2&&(m(3),I(r(4,5,"menu.linux.label_logs")),m(3),h("ngbTooltip",r(7,7,"form.button_download")),b("aria-label",r(8,9,"form.button_download")),m(4),h("ngbTooltip",r(11,11,"form.button_delete")),b("aria-label",r(12,13,"form.button_delete")))},dependencies:[k,E],encapsulation:2})}return c})();export{X as a};