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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/CHANGELOG.md +412 -31
  2. package/CONTRIBUTING.md +5 -4
  3. package/LICENSE +1 -1
  4. package/config.schema.json +35 -145
  5. package/dist/bin/hb-service.d.ts +2 -2
  6. package/dist/bin/hb-service.js +51 -50
  7. package/dist/bin/hb-service.js.map +1 -1
  8. package/dist/bin/platforms/darwin.js +2 -2
  9. package/dist/bin/platforms/darwin.js.map +1 -1
  10. package/dist/bin/platforms/win32.js +4 -2
  11. package/dist/bin/platforms/win32.js.map +1 -1
  12. package/dist/bin/standalone.js +1 -0
  13. package/dist/bin/standalone.js.map +1 -1
  14. package/dist/core/auth/auth.controller.d.ts +3 -3
  15. package/dist/core/auth/auth.controller.js.map +1 -1
  16. package/dist/core/auth/auth.module.js +1 -1
  17. package/dist/core/auth/auth.module.js.map +1 -1
  18. package/dist/core/auth/auth.service.js +10 -10
  19. package/dist/core/auth/auth.service.js.map +1 -1
  20. package/dist/core/auth/jwt.strategy.d.ts +3 -1
  21. package/dist/core/config/config.service.d.ts +8 -10
  22. package/dist/core/config/config.service.js +24 -19
  23. package/dist/core/config/config.service.js.map +1 -1
  24. package/dist/core/config/config.startup.js +2 -2
  25. package/dist/core/config/config.startup.js.map +1 -1
  26. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
  27. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  28. package/dist/index.js +6 -77
  29. package/dist/index.js.map +1 -1
  30. package/dist/main.js +1 -1
  31. package/dist/main.js.map +1 -1
  32. package/dist/modules/accessories/accessories.controller.js +5 -5
  33. package/dist/modules/accessories/accessories.controller.js.map +1 -1
  34. package/dist/modules/accessories/accessories.service.js +8 -7
  35. package/dist/modules/accessories/accessories.service.js.map +1 -1
  36. package/dist/modules/backup/backup.controller.js +7 -7
  37. package/dist/modules/backup/backup.controller.js.map +1 -1
  38. package/dist/modules/backup/backup.service.js +19 -79
  39. package/dist/modules/backup/backup.service.js.map +1 -1
  40. package/dist/modules/child-bridges/child-bridges.service.js +0 -7
  41. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
  42. package/dist/modules/config-editor/config-editor.controller.d.ts +1 -1
  43. package/dist/modules/config-editor/config-editor.controller.js +8 -8
  44. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  45. package/dist/modules/config-editor/config-editor.service.d.ts +1 -1
  46. package/dist/modules/config-editor/config-editor.service.js +62 -64
  47. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  48. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.d.ts +1 -1
  49. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +17 -13
  50. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  51. package/dist/modules/log/log.gateway.d.ts +2 -1
  52. package/dist/modules/log/log.gateway.js.map +1 -1
  53. package/dist/modules/log/log.service.js +3 -3
  54. package/dist/modules/log/log.service.js.map +1 -1
  55. package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
  56. package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
  57. package/dist/modules/platform-tools/docker/docker.service.js +1 -1
  58. package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
  59. package/dist/modules/platform-tools/hb-service/hb-service.controller.js +3 -3
  60. package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
  61. package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
  62. package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
  63. package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
  64. package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
  65. package/dist/modules/platform-tools/linux/linux.service.js +2 -2
  66. package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
  67. package/dist/modules/platform-tools/terminal/terminal.gateway.d.ts +2 -1
  68. package/dist/modules/platform-tools/terminal/terminal.gateway.js.map +1 -1
  69. package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
  70. package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
  71. package/dist/modules/plugins/plugins.controller.js +4 -4
  72. package/dist/modules/plugins/plugins.controller.js.map +1 -1
  73. package/dist/modules/plugins/plugins.service.d.ts +4 -1
  74. package/dist/modules/plugins/plugins.service.js +168 -103
  75. package/dist/modules/plugins/plugins.service.js.map +1 -1
  76. package/dist/modules/server/server.controller.d.ts +28 -3
  77. package/dist/modules/server/server.controller.js +137 -20
  78. package/dist/modules/server/server.controller.js.map +1 -1
  79. package/dist/modules/server/server.service.d.ts +27 -6
  80. package/dist/modules/server/server.service.js +212 -66
  81. package/dist/modules/server/server.service.js.map +1 -1
  82. package/dist/modules/status/status.controller.d.ts +0 -1
  83. package/dist/modules/status/status.controller.js +3 -4
  84. package/dist/modules/status/status.controller.js.map +1 -1
  85. package/dist/modules/status/status.gateway.d.ts +1 -1
  86. package/dist/modules/status/status.service.d.ts +1 -1
  87. package/dist/modules/status/status.service.js +17 -41
  88. package/dist/modules/status/status.service.js.map +1 -1
  89. package/dist/modules/users/users.controller.js +7 -7
  90. package/dist/modules/users/users.controller.js.map +1 -1
  91. package/dist/self-check.js +6 -6
  92. package/dist/self-check.js.map +1 -1
  93. package/package.json +45 -43
  94. package/public/3rdpartylicenses.txt +145 -62
  95. package/public/assets/hap-icons/airpurifier.svg +49 -16
  96. package/public/assets/hap-icons/airquality.svg +24 -13
  97. package/public/assets/hap-icons/co-sensor.svg +72 -0
  98. package/public/assets/hap-icons/co2-sensor.svg +72 -0
  99. package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
  100. package/public/assets/hap-icons/contactsensor-open.svg +80 -2
  101. package/public/assets/hap-icons/door-closed.svg +32 -2
  102. package/public/assets/hap-icons/door-open.svg +48 -2
  103. package/public/assets/hap-icons/fan-off.svg +24 -13
  104. package/public/assets/hap-icons/fan-on.svg +24 -13
  105. package/public/assets/hap-icons/garagedoor.svg +24 -13
  106. package/public/assets/hap-icons/humidity.svg +24 -13
  107. package/public/assets/hap-icons/irrigation-system.svg +47 -18
  108. package/public/assets/hap-icons/leaksensor.svg +52 -2
  109. package/public/assets/hap-icons/light.svg +47 -28
  110. package/public/assets/hap-icons/lightbulb.svg +24 -13
  111. package/public/assets/hap-icons/lock-locked.svg +24 -13
  112. package/public/assets/hap-icons/lock-unlocked.svg +24 -13
  113. package/public/assets/hap-icons/motionsensor.svg +100 -2
  114. package/public/assets/hap-icons/occupancysensor.svg +97 -2
  115. package/public/assets/hap-icons/outlet.svg +24 -13
  116. package/public/assets/hap-icons/securitysystem-active.svg +102 -2
  117. package/public/assets/hap-icons/securitysystem-off.svg +68 -2
  118. package/public/assets/hap-icons/smokesensor.svg +42 -9
  119. package/public/assets/hap-icons/speaker.svg +29 -13
  120. package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
  121. package/public/assets/hap-icons/switch.svg +24 -13
  122. package/public/assets/hap-icons/television.svg +15 -4
  123. package/public/assets/hap-icons/temperature.svg +24 -13
  124. package/public/assets/hap-icons/unknown.svg +24 -13
  125. package/public/assets/hap-icons/valve-generic.svg +27 -16
  126. package/public/assets/hap-icons/valve-irrigation.svg +37 -21
  127. package/public/assets/hap-icons/valve-showerhead.svg +52 -0
  128. package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
  129. package/public/assets/hap-icons/window-closed.svg +85 -2
  130. package/public/assets/hap-icons/window-open.svg +136 -2
  131. package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
  132. package/public/assets/hap-icons/windowcovering-open.svg +40 -44
  133. package/public/assets/homebridge-color-round.svg +36 -1
  134. package/public/assets/homebridge-logo.svg +11 -1
  135. package/public/assets/mask-icon.svg +5 -1
  136. package/public/assets/plugin-ui-utils/ui.js +3 -0
  137. package/public/assets/plugin-ui-utils/ui.js.map +1 -1
  138. package/public/chunk-2BYFJJKD.js +1 -0
  139. package/public/chunk-2HBIS5KD.js +14 -0
  140. package/public/chunk-2O6AXIBR.js +1 -0
  141. package/public/chunk-2SEP7Q76.js +1 -0
  142. package/public/chunk-2UZO6OQ7.js +23 -0
  143. package/public/chunk-3RCQ6L4J.js +6 -0
  144. package/public/chunk-4SITUFK3.js +1 -0
  145. package/public/{chunk-YRSHLHYL.js → chunk-4UM5QHY6.js} +1 -1
  146. package/public/chunk-57WSQ6T6.js +1 -0
  147. package/public/chunk-62DAT7AX.js +1 -0
  148. package/public/chunk-67A3U7JY.js +1 -0
  149. package/public/{chunk-CCUID66K.js → chunk-6US6MXBM.js} +1 -1
  150. package/public/{chunk-EA5J2VEJ.js → chunk-7VVMNL54.js} +1 -1
  151. package/public/chunk-7Z74FGCO.js +1 -0
  152. package/public/chunk-7ZNHDMCE.js +1 -0
  153. package/public/chunk-A7263J2F.js +1 -0
  154. package/public/{chunk-QE7DO6J3.js → chunk-ADC7QO6N.js} +2 -2
  155. package/public/chunk-AU74FUFM.js +1 -0
  156. package/public/chunk-BI2JONL7.js +1 -0
  157. package/public/{chunk-7EUQWCP5.js → chunk-BVWBB74Y.js} +2 -2
  158. package/public/chunk-CIDCYWQD.js +1 -0
  159. package/public/chunk-COJPC76A.js +1 -0
  160. package/public/chunk-D6GDUL63.js +5 -0
  161. package/public/{chunk-WNWWUCCZ.js → chunk-EGECSH4K.js} +3 -3
  162. package/public/chunk-EON6XHIW.js +20 -0
  163. package/public/chunk-F2CIREEO.js +1 -0
  164. package/public/chunk-F75NHZPV.js +1 -0
  165. package/public/chunk-FD54JRNF.js +1 -0
  166. package/public/chunk-FQEUOMOT.js +1 -0
  167. package/public/chunk-GJL2B6EX.js +1 -0
  168. package/public/{chunk-6TCHCTXZ.js → chunk-GN7IXG4L.js} +1 -1
  169. package/public/chunk-HI45ZEZU.js +1 -0
  170. package/public/chunk-HWJ734TY.js +1 -0
  171. package/public/chunk-I5VNJY5H.js +1 -0
  172. package/public/chunk-I7XHOSDH.js +1 -0
  173. package/public/{chunk-D2D564LE.js → chunk-IH7IL35X.js} +1 -1
  174. package/public/chunk-JIT72ITX.js +1 -0
  175. package/public/chunk-LBGUEPBU.js +1 -0
  176. package/public/chunk-LEMXCMWD.js +1 -0
  177. package/public/chunk-LIG3MQU2.js +1 -0
  178. package/public/chunk-MCY32ZEQ.js +1 -0
  179. package/public/{chunk-TSZZQKYF.js → chunk-MVL5EQPC.js} +1 -1
  180. package/public/chunk-MXAKDDIW.js +1 -0
  181. package/public/chunk-MZFFFGFF.js +1 -0
  182. package/public/chunk-OZ3D5PEN.js +1 -0
  183. package/public/chunk-P6HYOLET.js +1 -0
  184. package/public/chunk-PAZ5V5TQ.js +7 -0
  185. package/public/chunk-PDQGIGL6.js +1 -0
  186. package/public/chunk-PGJGS3YA.js +1 -0
  187. package/public/chunk-PL6ZMRTL.js +1 -0
  188. package/public/chunk-QAQ62ONT.js +1 -0
  189. package/public/chunk-QHRWSZEW.js +1 -0
  190. package/public/chunk-QOVSP2KD.js +1 -0
  191. package/public/chunk-QT6YV32Y.js +1 -0
  192. package/public/chunk-RKG5F4ZV.js +1 -0
  193. package/public/chunk-RMMQMQZX.js +1 -0
  194. package/public/chunk-RQA2H3J6.js +1 -0
  195. package/public/chunk-S2XBNDS5.js +1 -0
  196. package/public/chunk-SKS24AVF.js +1 -0
  197. package/public/chunk-SKVHW32E.js +5 -0
  198. package/public/chunk-TIXTDDTD.js +7 -0
  199. package/public/chunk-TP425OA6.js +1 -0
  200. package/public/chunk-TRIO3R5X.js +1 -0
  201. package/public/chunk-UBLIT2K3.js +1 -0
  202. package/public/{chunk-TZS4WGUK.js → chunk-UHT54HTE.js} +2 -2
  203. package/public/chunk-UNO5SD4B.js +1 -0
  204. package/public/chunk-USOUWLNH.js +2 -0
  205. package/public/chunk-VL2VV7JU.js +1 -0
  206. package/public/chunk-VQEPN6H2.js +1 -0
  207. package/public/chunk-VUKQDY5X.js +1 -0
  208. package/public/chunk-VUTUDBG5.js +1 -0
  209. package/public/chunk-VXLVIRES.js +1 -0
  210. package/public/chunk-W3624K3I.js +1 -0
  211. package/public/chunk-WCO7YV6E.js +8 -0
  212. package/public/chunk-XYRZUWP2.js +1 -0
  213. package/public/chunk-Y4XTCS5Q.js +41 -0
  214. package/public/chunk-Y5I5EFKZ.js +1 -0
  215. package/public/chunk-YDBOT4OU.js +1 -0
  216. package/public/chunk-YHXSTLHD.js +1 -0
  217. package/public/{chunk-JZZQRLNW.js → chunk-ZA436JJP.js} +1 -1
  218. package/public/chunk-ZOK6NY4K.js +8 -0
  219. package/public/chunk-ZVGCGGDU.js +1 -0
  220. package/public/index.html +2 -2
  221. package/public/main-N277YXB2.js +1 -0
  222. package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
  223. package/public/media/{fa-brands-400-KOKGDU7E.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
  224. package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
  225. package/public/media/{fa-regular-400-IPMAEX5Y.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
  226. package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
  227. package/public/media/{fa-solid-900-SRFFQLRM.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
  228. package/public/polyfills-4F4B5XMZ.js +2 -0
  229. package/public/styles-PGYQLREL.css +1 -0
  230. package/scripts/upgrade-install-plugin.sh +1 -1
  231. package/public/chunk-32ZJLZS4.js +0 -1
  232. package/public/chunk-34G5YV5T.js +0 -1
  233. package/public/chunk-37PRYZH6.js +0 -1
  234. package/public/chunk-3IX3CLER.js +0 -1
  235. package/public/chunk-3NB33IBB.js +0 -1
  236. package/public/chunk-5ABW4ZKF.js +0 -20
  237. package/public/chunk-5KSPDTFH.js +0 -1
  238. package/public/chunk-5OHKMFXO.js +0 -1
  239. package/public/chunk-656LQTVE.js +0 -14
  240. package/public/chunk-7T234PWV.js +0 -1
  241. package/public/chunk-AZC7XCGC.js +0 -1
  242. package/public/chunk-BKUGARB4.js +0 -7
  243. package/public/chunk-BPMSJ2VF.js +0 -1
  244. package/public/chunk-BY2TSVEY.js +0 -1
  245. package/public/chunk-C7QJOHXE.js +0 -1
  246. package/public/chunk-CKR46AVL.js +0 -1
  247. package/public/chunk-DLMGGPRM.js +0 -1
  248. package/public/chunk-DXZ6DCYP.js +0 -1
  249. package/public/chunk-EP66JAAV.js +0 -1
  250. package/public/chunk-FJF4WNUO.js +0 -1
  251. package/public/chunk-FQYNC4RH.js +0 -1
  252. package/public/chunk-HHG6WMVF.js +0 -1
  253. package/public/chunk-HHIHVUCL.js +0 -1
  254. package/public/chunk-HSJSWZHD.js +0 -1
  255. package/public/chunk-II2UAWC2.js +0 -6
  256. package/public/chunk-IMOTYOKQ.js +0 -8
  257. package/public/chunk-JDQ5PHOU.js +0 -1
  258. package/public/chunk-KG3DHJZY.js +0 -1
  259. package/public/chunk-KQJ7ONUG.js +0 -1
  260. package/public/chunk-LLGTFHIT.js +0 -1
  261. package/public/chunk-M346UY2G.js +0 -1
  262. package/public/chunk-MNBUOV7P.js +0 -1
  263. package/public/chunk-NI664X6I.js +0 -1
  264. package/public/chunk-NW6AFAD7.js +0 -1
  265. package/public/chunk-NZNNTHFQ.js +0 -1
  266. package/public/chunk-ORPWYWCL.js +0 -5
  267. package/public/chunk-P5FZV27L.js +0 -1
  268. package/public/chunk-PS4KQKK7.js +0 -1
  269. package/public/chunk-Q5YFESZW.js +0 -1
  270. package/public/chunk-QAEUHAL6.js +0 -1
  271. package/public/chunk-QBDPVXMM.js +0 -1
  272. package/public/chunk-QHPDGSZ6.js +0 -1
  273. package/public/chunk-QJYLB6LD.js +0 -1
  274. package/public/chunk-R2W5BRWY.js +0 -32
  275. package/public/chunk-RIN5QMTV.js +0 -1
  276. package/public/chunk-RKC5OBYP.js +0 -1
  277. package/public/chunk-RT7V3UYQ.js +0 -5
  278. package/public/chunk-SCR7PUV7.js +0 -1
  279. package/public/chunk-SOEXENDP.js +0 -1
  280. package/public/chunk-TCSXGQNF.js +0 -1
  281. package/public/chunk-TH2G22O2.js +0 -23
  282. package/public/chunk-TMD6JYTR.js +0 -1
  283. package/public/chunk-TO5O6L7A.js +0 -1
  284. package/public/chunk-TXOB7R5K.js +0 -7
  285. package/public/chunk-UG5DK2RQ.js +0 -2
  286. package/public/chunk-UYLV5ENO.js +0 -1
  287. package/public/chunk-VPSLX47Z.js +0 -1
  288. package/public/chunk-VVGJ5MFU.js +0 -1
  289. package/public/chunk-WAUGELUM.js +0 -1
  290. package/public/chunk-WHJOLAED.js +0 -1
  291. package/public/chunk-WHJSVGC7.js +0 -1
  292. package/public/chunk-WXTR3AXD.js +0 -1
  293. package/public/chunk-X2AWRY46.js +0 -1
  294. package/public/chunk-X3GZMTJ5.js +0 -1
  295. package/public/chunk-X7YNKLZW.js +0 -1
  296. package/public/chunk-XRPL3VU7.js +0 -1
  297. package/public/chunk-Y3RRGTUL.js +0 -1
  298. package/public/chunk-YD5MPMXA.js +0 -1
  299. package/public/chunk-YJB6Y76M.js +0 -1
  300. package/public/chunk-ZT23DWNL.js +0 -1
  301. package/public/main-35ZSDHG6.js +0 -1
  302. package/public/media/01-RQ3S2L53.png +0 -0
  303. package/public/media/02-VNCG2I2A.png +0 -0
  304. package/public/media/03-HI42L4ZG.png +0 -0
  305. package/public/media/04-FJLL55LZ.png +0 -0
  306. package/public/media/05-V3EO6SPT.png +0 -0
  307. package/public/media/06-EOJZCQZN.png +0 -0
  308. package/public/media/07-KMKB5PBD.png +0 -0
  309. package/public/media/08-UQJRF6B2.png +0 -0
  310. package/public/media/09-2DJQFRHH.png +0 -0
  311. package/public/media/arrow_left-CQT7FZM7.svg +0 -4
  312. package/public/media/arrow_right-SBUDRR2G.svg +0 -4
  313. package/public/media/fa-brands-400-6PJPV6JM.woff2 +0 -0
  314. package/public/media/fa-regular-400-OHB6J4OK.woff2 +0 -0
  315. package/public/media/fa-solid-900-ABTK6BNK.woff2 +0 -0
  316. package/public/polyfills-C6JHVXJJ.js +0 -2
  317. package/public/scripts-6GVLYD7F.js +0 -62
  318. package/public/styles-EG5MFQEM.css +0 -1
  319. /package/public/assets/{bootstrap-4 → bootstrap-5}/cssframework/assets.json +0 -0
@@ -0,0 +1 @@
1
+ import{a}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"./chunk-SKVHW32E.js";import"./chunk-RQA2H3J6.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 PluginsComponent};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-FD54JRNF.js";import"./chunk-SKVHW32E.js";import"./chunk-RQA2H3J6.js";import"./chunk-2SEP7Q76.js";import"./chunk-7ZNHDMCE.js";import"./chunk-7Z74FGCO.js";import"./chunk-USOUWLNH.js";import"./chunk-4SITUFK3.js";import"./chunk-PAZ5V5TQ.js";export{a as PowerOptionsComponent};
@@ -0,0 +1 @@
1
+ import{b as X}from"./chunk-YHXSTLHD.js";import{n as j}from"./chunk-SKVHW32E.js";import{A as G,c as B,d as v,e as P,f as V,g as O,j as z,m as R,p as W,q as N,z as D}from"./chunk-RQA2H3J6.js";import{e as L}from"./chunk-2SEP7Q76.js";import{c as Q}from"./chunk-MVL5EQPC.js";import{b as J}from"./chunk-7ZNHDMCE.js";import{h as q,j as T,k as K}from"./chunk-7Z74FGCO.js";import{l as M}from"./chunk-USOUWLNH.js";import{a as H,b as A}from"./chunk-4SITUFK3.js";import{$a as i,Ac as s,Bc as l,Hb as _,Ib as f,Nb as h,Ob as n,Pb as o,Qb as d,Ub as k,Xb as b,Yb as m,bd as I,h as y,jc as p,kc as c,la as g,lb as E,lc as w,ra as C,sa as x,w as S,wc as $,xc as F}from"./chunk-PAZ5V5TQ.js";var U=(t,u)=>({"is-valid":t,"is-invalid":u}),Z=t=>({"button-loading":t});function ee(t,u){if(t&1){let e=k();n(0,"div",2),d(1,"img",3),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"button",5),b("click",function(){C(e);let a=m();return x(a.onClickGettingStarted())}),p(6),s(7,"translate"),o(),n(8,"small",6)(9,"a",7),b("click",function(){C(e);let a=m();return x(a.onClickRestoreBackup())}),p(10),s(11,"translate"),o()()()}t&2&&(i(3),c(l(4,3,"setup.welcome_to_homebridge")),i(3),w(" ",l(7,5,"setup.button_get_started")," "),i(4),c(l(11,7,"setup_wizard_message_restore")))}function te(t,u){if(t&1){let e=k();n(0,"div",2),d(1,"img",8),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"div",9)(6,"p"),p(7),s(8,"translate"),o(),n(9,"form",10),b("ngSubmit",function(){C(e);let a=m();return x(a.createFirstUser())}),n(10,"div",11)(11,"span",12),d(12,"i",13),o(),d(13,"input",14),s(14,"translate"),o(),n(15,"div",11)(16,"span",12),d(17,"i",15),o(),d(18,"input",16),s(19,"translate"),o(),n(20,"div",17)(21,"span",12),d(22,"i",15),o(),d(23,"input",18),s(24,"translate"),o(),n(25,"div",19)(26,"button",20),p(27),s(28,"translate"),d(29,"i",21),o()()()()()}if(t&2){let e=m();i(3),c(l(4,15,"setup.create_account")),i(4),c(l(8,17,"setup.create_account_reason")),i(2),h("formGroup",e.createUserForm),i(4),h("placeholder",l(14,19,"users.label_username"))("readonly",e.loading)("ngClass",F(27,U,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.valid,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.invalid)),i(5),h("placeholder",l(19,21,"users.label_password"))("readonly",e.loading)("ngClass",F(30,U,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.valid,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.errors)),i(5),h("placeholder",l(24,23,"users.label_confirm_password"))("readonly",e.loading)("ngClass",F(33,U,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.valid,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.errors)),i(3),h("disabled",e.createUserForm.invalid||e.loading)("ngClass",$(36,Z,e.loading)),i(),w(" ",l(28,25,"setup.create_account")," ")}}function ie(t,u){t&1&&(n(0,"span"),d(1,"i",26),p(2),s(3,"translate"),o()),t&2&&(i(2),w(" ",l(3,1,"backup.label_uploading")," "))}function ne(t,u){t&1&&(p(0),s(1,"translate")),t&2&&w(" ",l(1,1,"backup.button_restore_backup")," ")}function oe(t,u){if(t&1){let e=k();n(0,"div",2),d(1,"img",8),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"p"),p(6),s(7,"translate"),o(),n(8,"input",22),b("change",function(a){C(e);let Y=m();return x(Y.handleRestoreFileInput(a.target.files))}),o(),n(9,"div",23)(10,"button",24),b("click",function(){C(e);let a=m();return x(a.onClickCancelRestore())}),p(11),s(12,"translate"),o(),n(13,"button",25),b("click",function(){C(e);let a=m();return x(a.onRestoreBackupClick())}),_(14,ie,4,3,"span"),_(15,ne,2,3),o()()()}if(t&2){let e=m();i(3),c(l(4,7,"form.button_restore")),i(3),c(l(7,9,"backup.restore_help_one")),i(4),h("disabled",e.restoreUploading),i(),w(" ",l(12,11,"form.button_cancel")," "),i(2),h("disabled",e.restoreUploading||!e.selectedFile),i(),f(e.restoreUploading?14:-1),i(),f(e.restoreUploading?-1:15)}}function re(t,u){t&1&&(n(0,"div",2),d(1,"img",8),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"h1"),d(6,"i",26),o()()),t&2&&(i(3),c(l(4,1,"restart.title_restart")))}function ae(t,u){t&1&&(n(0,"div",2),d(1,"img",8),n(2,"h3",27),p(3),s(4,"translate"),o(),n(5,"p",28),p(6),s(7,"translate"),o(),n(8,"a",29),p(9),s(10,"translate"),o()()),t&2&&(i(3),c(l(4,3,"setup_wizard_message_complete_title")),i(3),c(l(7,5,"setup_wizard_message_complete_message")),i(3),c(l(10,7,"setup.open_dashboard")))}var Se=(()=>{class t{$api=g(K);$auth=g(Q);$modal=g(j);$settings=g(J);$title=g(M);$toastr=g(q);$translate=g(H);previousTitle;step="welcome";createUserForm=new O({username:new z("",[v.required]),password:new z("",[v.compose([v.required,v.minLength(4)])]),passwordConfirm:new z("",[v.required])},this.matchPassword);loading=!1;selectedFile;restoreUploading=!1;constructor(){}ngOnInit(){this.previousTitle=this.$title.getTitle(),this.$title.setTitle("Setup Homebridge")}matchPassword(e){let r=e.get("password").value,a=e.get("passwordConfirm").value;if(r!==a)e.get("passwordConfirm").setErrors({matchPassword:!0});else return null}ngOnDestroy(){this.$title.setTitle(this.previousTitle)}onClickGettingStarted(){this.step="create-account"}onClickRestoreBackup(){this.step="restore-backup"}onClickCancelRestore(){this.selectedFile=null,this.step="welcome"}createFirstUser(){this.loading=!0;let e=this.createUserForm.getRawValue();e.name=e.username,this.$api.post("/setup-wizard/create-first-user",e).subscribe({next:()=>y(this,null,function*(){this.$settings.env.setupWizardComplete=!0,yield this.$auth.login({username:e.username,password:e.password}),this.step="setup-complete"}),error:r=>{this.loading=!1,console.error(r),this.$toastr.error(r.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}handleRestoreFileInput(e){e.length?this.selectedFile=e[0]:delete this.selectedFile}onRestoreBackupClick(){this.restoreUploading=!0,this.uploadHomebridgeArchive()}uploadHomebridgeArchive(){return y(this,null,function*(){try{let e=yield S(this.$api.get("/setup-wizard/get-setup-wizard-token"));window.localStorage.setItem(T.jwt.tokenKey,e.access_token),this.$auth.token=e.access_token;let r=new FormData;r.append("restoreArchive",this.selectedFile,this.selectedFile.name),yield S(this.$api.post("/backup/restore",r)),this.openRestoreModal(),this.restoreUploading=!1}catch(e){this.restoreUploading=!1,console.error(e),this.$toastr.error(e.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}openRestoreModal(){let e=this.$modal.open(X,{size:"lg",backdrop:"static"});e.componentInstance.setupWizardRestore=!0,e.result.then(r=>{r===!0&&this.waitForHomebridgeToRestart()})}waitForHomebridgeToRestart(){return y(this,null,function*(){this.step="restarting",window.localStorage.removeItem(T.jwt.tokenKey),this.$auth.token=null,yield new Promise(r=>setTimeout(r,15e3));let e=setInterval(()=>y(this,null,function*(){try{yield S(this.$api.get("/auth/settings")),clearInterval(e),location.reload()}catch{}}),1e3)})}static \u0275fac=function(r){return new(r||t)};static \u0275cmp=E({type:t,selectors:[["ng-component"]],decls:7,vars:5,consts:[[1,"setup-container","d-flex","align-items-center","justify-content-center"],[1,"w-100","setup-card","d-flex","py-5"],[1,"w-100","d-flex","flex-column","align-items-center"],["src","/assets/homebridge-color-round.svg","alt","hb logo",1,"homebridge-logo","mx-auto"],[1,"pt-4","pb-3","text-center"],["type","button",1,"btn","btn-lg","btn-primary",3,"click"],[1,"mt-3"],["href","javascript:void(0)",1,"grey-text",3,"click"],["src","/assets/homebridge-color-round.svg","alt","hb logo",1,"homebridge-logo","homebridge-logo-small","mx-auto"],[1,"w-100"],["novalidate","",3,"ngSubmit","formGroup"],[1,"md-form","input-group","mb-3"],[1,"input-group-text","custom-input"],[1,"fas","fa-fw","fa-user","prefix","grey-text"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none","tabindex","1",1,"form-control","py-2",3,"placeholder","readonly","ngClass"],[1,"fas","fa-fw","fa-lock","prefix","grey-text"],["formControlName","password","type","password","id","form-pass","autocomplete","new-password","tabindex","2",1,"form-control","py-2",3,"placeholder","readonly","ngClass"],[1,"md-form","input-group","mb-4"],["formControlName","passwordConfirm","type","password","id","form-pass-confirm","autocomplete","new-password","tabindex","2",1,"form-control","py-2",3,"placeholder","readonly","ngClass"],[1,"w-100","text-center"],["type","submit",1,"btn","btn-primary",3,"disabled","ngClass"],[1,"button-loading-overlay","fas","fa-fw","fa-spinner","fa-pulse"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz",1,"form-control",3,"change"],[1,"mt-3","w-100","d-flex","justify-content-between"],["type","button",1,"btn","btn-elegant","ms-0",3,"click","disabled"],["type","button",1,"btn","btn-primary","me-0",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"pt-4","pb-3"],[1,"text-center"],["routerLink","/",1,"btn","btn-lg","btn-primary","mt-3"]],template:function(r,a){r&1&&(n(0,"div",0)(1,"div",1),_(2,ee,12,9,"div",2),_(3,te,30,38,"div",2),_(4,oe,16,13,"div",2),_(5,re,7,3,"div",2),_(6,ae,11,9,"div",2),o()()),r&2&&(i(2),f(a.step==="welcome"?2:-1),i(),f(a.step==="create-account"?3:-1),i(),f(a.step==="restore-backup"?4:-1),i(),f(a.step==="restarting"?5:-1),i(),f(a.step==="setup-complete"?6:-1))},dependencies:[D,R,B,P,V,G,W,N,I,L,A],styles:[".setup-container[_ngcontent-%COMP%]{background-size:cover;z-index:-1;padding-top:1em;padding-bottom:1em}@media screen and (min-height: 500px) and (min-width: 600px){.setup-container[_ngcontent-%COMP%]{padding-top:4em}}.setup-card[_ngcontent-%COMP%]{max-width:600px;border-radius:15px;background-color:#fff;padding-right:25px;padding-left:25px}.setup-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width: 600px){.setup-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}} body.dark-mode .setup-card{background-color:#2b2b2b;color:#fff}.homebridge-logo[_ngcontent-%COMP%]{margin-right:10px;height:200px}@media screen and (max-height: 500px){.homebridge-logo[_ngcontent-%COMP%]{height:100px}}@media screen and (max-width: 600px){.homebridge-logo[_ngcontent-%COMP%]{height:100px}}.homebridge-logo-small[_ngcontent-%COMP%]{height:50px}.button-loading[_ngcontent-%COMP%]{position:relative;color:#0000}.button-loading[_ngcontent-%COMP%] .button-loading-overlay[_ngcontent-%COMP%]{display:block;color:#fff}.button-loading-overlay[_ngcontent-%COMP%]{display:none;position:absolute;top:9px;left:0;right:0}small[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}"]})}return t})();export{Se as a};
@@ -0,0 +1 @@
1
+ import{e as b}from"./chunk-PAZ5V5TQ.js";var L=b((p,v)=>{(function(d,r){typeof define=="function"&&define.amd?define([],r):typeof p<"u"?r():(r(),d.FileSaver={})})(p,function(){"use strict";function d(e,t){return typeof t>"u"?t={autoBom:!1}:typeof t!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e}function r(e,t,i){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){l(n.response,t,i)},n.onerror=function(){console.error("could not download file")},n.send()}function w(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function s(e){try{e.dispatchEvent(new MouseEvent("click"))}catch{var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,m=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),l=a.saveAs||(typeof window!="object"||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!m?function(e,t,i){var n=a.URL||a.webkitURL,o=document.createElement("a");t=t||e.name||"download",o.download=t,o.rel="noopener",typeof e=="string"?(o.href=e,o.origin===location.origin?s(o):w(o.href)?r(e,t,i):s(o,o.target="_blank")):(o.href=n.createObjectURL(e),setTimeout(function(){n.revokeObjectURL(o.href)},4e4),setTimeout(function(){s(o)},0))}:"msSaveOrOpenBlob"in navigator?function(e,t,i){if(t=t||e.name||"download",typeof e!="string")navigator.msSaveOrOpenBlob(d(e,i),t);else if(w(e))r(e,t,i);else{var n=document.createElement("a");n.href=e,n.target="_blank",setTimeout(function(){s(n)})}}:function(e,t,i,n){if(n=n||open("","_blank"),n&&(n.document.title=n.document.body.innerText="downloading..."),typeof e=="string")return r(e,t,i);var o=e.type==="application/octet-stream",E=/constructor/i.test(a.HTMLElement)||a.safari,y=/CriOS\/[\d]+/.test(navigator.userAgent);if((y||o&&E||m)&&typeof FileReader<"u"){var u=new FileReader;u.onloadend=function(){var c=u.result;c=y?c:c.replace(/^data:[^;]*;/,"data:attachment/file;"),n?n.location.href=c:location=c,n=null},u.readAsDataURL(e)}else{var h=a.URL||a.webkitURL,f=h.createObjectURL(e);n?n.location=f:location.href=f,n=null,setTimeout(function(){h.revokeObjectURL(f)},4e4)}});a.saveAs=l.saveAs=l,typeof v<"u"&&(v.exports=l)})});export{L as a};
@@ -0,0 +1 @@
1
+ import{Ca as E,Cb as Ie,D as we,Da as g,Fa as O,Gb as x,Gc as m,Hc as F,Nc as Se,Qc as de,Tc as ce,Xb as V,a as h,b as f,da as W,eb as N,fa as d,fb as o,ha as q,hc as ue,ja as A,mb as z,n as Me,nb as l,pb as u,q as Ee,tb as C,uc as c,x as Fe,za as M}from"./chunk-PAZ5V5TQ.js";var je=(()=>{class n{_renderer;_elementRef;onChange=e=>{};onTouched=()=>{};constructor(e,i){this._renderer=e,this._elementRef=i}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}static \u0275fac=function(i){return new(i||n)(o(N),o(O))};static \u0275dir=l({type:n})}return n})(),H=(()=>{class n extends je{static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,features:[u]})}return n})(),b=new A(""),ct={provide:b,useExisting:d(()=>ht),multi:!0},ht=(()=>{class n extends H{writeValue(e){this.setProperty("checked",e)}static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(i,r){i&1&&V("change",function(a){return r.onChange(a.target.checked)})("blur",function(){return r.onTouched()})},standalone:!1,features:[c([ct]),u]})}return n})(),ft={provide:b,useExisting:d(()=>Be),multi:!0};function gt(){let n=ce()?ce().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}var pt=new A(""),Be=(()=>{class n extends je{_compositionMode;_composing=!1;constructor(e,i,r){super(e,i),this._compositionMode=r,this._compositionMode==null&&(this._compositionMode=!gt())}writeValue(e){let i=e??"";this.setProperty("value",i)}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}static \u0275fac=function(i){return new(i||n)(o(N),o(O),o(pt,8))};static \u0275dir=l({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,r){i&1&&V("input",function(a){return r._handleInput(a.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(a){return r._compositionEnd(a.target.value)})},standalone:!1,features:[c([ft]),u]})}return n})();function ge(n){return n==null||pe(n)===0}function pe(n){return n==null?null:Array.isArray(n)||typeof n=="string"?n.length:n instanceof Set?n.size:null}var y=new A(""),L=new A(""),mt=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Oe=class{static min(t){return Ue(t)}static max(t){return He(t)}static required(t){return Le(t)}static requiredTrue(t){return _t(t)}static email(t){return vt(t)}static minLength(t){return yt(t)}static maxLength(t){return Ct(t)}static pattern(t){return $e(t)}static nullValidator(t){return X()}static compose(t){return Ye(t)}static composeAsync(t){return Ke(t)}};function Ue(n){return t=>{if(t.value==null||n==null)return null;let e=parseFloat(t.value);return!isNaN(e)&&e<n?{min:{min:n,actual:t.value}}:null}}function He(n){return t=>{if(t.value==null||n==null)return null;let e=parseFloat(t.value);return!isNaN(e)&&e>n?{max:{max:n,actual:t.value}}:null}}function Le(n){return ge(n.value)?{required:!0}:null}function _t(n){return n.value===!0?null:{required:!0}}function vt(n){return ge(n.value)||mt.test(n.value)?null:{email:!0}}function yt(n){return t=>{let e=t.value?.length??pe(t.value);return e===null||e===0?null:e<n?{minlength:{requiredLength:n,actualLength:e}}:null}}function Ct(n){return t=>{let e=t.value?.length??pe(t.value);return e!==null&&e>n?{maxlength:{requiredLength:n,actualLength:e}}:null}}function $e(n){if(!n)return X;let t,e;return typeof n=="string"?(e="",n.charAt(0)!=="^"&&(e+="^"),e+=n,n.charAt(n.length-1)!=="$"&&(e+="$"),t=new RegExp(e)):(e=n.toString(),t=n),i=>{if(ge(i.value))return null;let r=i.value;return t.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}function X(n){return null}function We(n){return n!=null}function qe(n){return Ie(n)?Ee(n):n}function ze(n){let t={};return n.forEach(e=>{t=e!=null?h(h({},t),e):t}),Object.keys(t).length===0?null:t}function Ze(n,t){return t.map(e=>e(n))}function Vt(n){return!n.validate}function Xe(n){return n.map(t=>Vt(t)?t:e=>t.validate(e))}function Ye(n){if(!n)return null;let t=n.filter(We);return t.length==0?null:function(e){return ze(Ze(e,t))}}function me(n){return n!=null?Ye(Xe(n)):null}function Ke(n){if(!n)return null;let t=n.filter(We);return t.length==0?null:function(e){let i=Ze(e,t).map(qe);return we(i).pipe(Fe(ze))}}function _e(n){return n!=null?Ke(Xe(n)):null}function Ne(n,t){return n===null?[t]:Array.isArray(n)?[...n,t]:[n,t]}function Je(n){return n._rawValidators}function Qe(n){return n._rawAsyncValidators}function he(n){return n?Array.isArray(n)?n:[n]:[]}function Y(n,t){return Array.isArray(n)?n.includes(t):n===t}function xe(n,t){let e=he(t);return he(n).forEach(r=>{Y(e,r)||e.push(r)}),e}function Pe(n,t){return he(t).filter(e=>!Y(n,e))}var K=class{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=me(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_e(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,e){return this.control?this.control.hasError(t,e):!1}getError(t,e){return this.control?this.control.getError(t,e):null}},_=class extends K{name;get formDirective(){return null}get path(){return null}},v=class extends K{_parent=null;name=null;valueAccessor=null},J=class{_cd;constructor(t){this._cd=t}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}},Dt={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},An=f(h({},Dt),{"[class.ng-submitted]":"isSubmitted"}),Mn=(()=>{class n extends J{constructor(e){super(e)}static \u0275fac=function(i){return new(i||n)(o(v,2))};static \u0275dir=l({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){i&2&&ue("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},standalone:!1,features:[u]})}return n})(),En=(()=>{class n extends J{constructor(e){super(e)}static \u0275fac=function(i){return new(i||n)(o(_,10))};static \u0275dir=l({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){i&2&&ue("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},standalone:!1,features:[u]})}return n})();var P="VALID",Z="INVALID",w="PENDING",k="DISABLED",D=class{},Q=class extends D{value;source;constructor(t,e){super(),this.value=t,this.source=e}},G=class extends D{pristine;source;constructor(t,e){super(),this.pristine=t,this.source=e}},T=class extends D{touched;source;constructor(t,e){super(),this.touched=t,this.source=e}},I=class extends D{status;source;constructor(t,e){super(),this.status=t,this.source=e}},ee=class extends D{source;constructor(t){super(),this.source=t}},te=class extends D{source;constructor(t){super(),this.source=t}};function ve(n){return(se(n)?n.validators:n)||null}function bt(n){return Array.isArray(n)?me(n):n||null}function ye(n,t){return(se(t)?t.asyncValidators:n)||null}function At(n){return Array.isArray(n)?_e(n):n||null}function se(n){return n!=null&&!Array.isArray(n)&&typeof n=="object"}function et(n,t,e){let i=n.controls;if(!(t?Object.keys(i):i).length)throw new W(1e3,"");if(!i[e])throw new W(1001,"")}function tt(n,t,e){n._forEachChild((i,r)=>{if(e[r]===void 0)throw new W(1002,"")})}var j=class{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(t,e){this._assignValidators(t),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get status(){return m(this.statusReactive)}set status(t){m(()=>this.statusReactive.set(t))}_status=F(()=>this.statusReactive());statusReactive=M(void 0);get valid(){return this.status===P}get invalid(){return this.status===Z}get pending(){return this.status==w}get disabled(){return this.status===k}get enabled(){return this.status!==k}errors;get pristine(){return m(this.pristineReactive)}set pristine(t){m(()=>this.pristineReactive.set(t))}_pristine=F(()=>this.pristineReactive());pristineReactive=M(!0);get dirty(){return!this.pristine}get touched(){return m(this.touchedReactive)}set touched(t){m(()=>this.touchedReactive.set(t))}_touched=F(()=>this.touchedReactive());touchedReactive=M(!1);get untouched(){return!this.touched}_events=new Me;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(xe(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(xe(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(Pe(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(Pe(t,this._rawAsyncValidators))}hasValidator(t){return Y(this._rawValidators,t)}hasAsyncValidator(t){return Y(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){let e=this.touched===!1;this.touched=!0;let i=t.sourceControl??this;this._parent&&!t.onlySelf&&this._parent.markAsTouched(f(h({},t),{sourceControl:i})),e&&t.emitEvent!==!1&&this._events.next(new T(!0,i))}markAllAsDirty(t={}){this.markAsDirty({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsDirty(t))}markAllAsTouched(t={}){this.markAsTouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsTouched(t))}markAsUntouched(t={}){let e=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let i=t.sourceControl??this;this._forEachChild(r=>{r.markAsUntouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:i})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t,i),e&&t.emitEvent!==!1&&this._events.next(new T(!1,i))}markAsDirty(t={}){let e=this.pristine===!0;this.pristine=!1;let i=t.sourceControl??this;this._parent&&!t.onlySelf&&this._parent.markAsDirty(f(h({},t),{sourceControl:i})),e&&t.emitEvent!==!1&&this._events.next(new G(!1,i))}markAsPristine(t={}){let e=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let i=t.sourceControl??this;this._forEachChild(r=>{r.markAsPristine({onlySelf:!0,emitEvent:t.emitEvent})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t,i),e&&t.emitEvent!==!1&&this._events.next(new G(!0,i))}markAsPending(t={}){this.status=w;let e=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new I(this.status,e)),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.markAsPending(f(h({},t),{sourceControl:e}))}disable(t={}){let e=this._parentMarkedDirty(t.onlySelf);this.status=k,this.errors=null,this._forEachChild(r=>{r.disable(f(h({},t),{onlySelf:!0}))}),this._updateValue();let i=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new Q(this.value,i)),this._events.next(new I(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(f(h({},t),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(r=>r(!0))}enable(t={}){let e=this._parentMarkedDirty(t.onlySelf);this.status=P,this._forEachChild(i=>{i.enable(f(h({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(f(h({},t),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(t,e){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine({},e),this._parent._updateTouched({},e))}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){let i=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===P||this.status===w)&&this._runAsyncValidator(i,t.emitEvent)}let e=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new Q(this.value,e)),this._events.next(new I(this.status,e)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(f(h({},t),{sourceControl:e}))}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?k:P}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t,e){if(this.asyncValidator){this.status=w,this._hasOwnPendingAsyncValidator={emitEvent:e!==!1,shouldHaveEmitted:t!==!1};let i=qe(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(r=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(r,{emitEvent:e,shouldHaveEmitted:t})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let t=(this._hasOwnPendingAsyncValidator?.emitEvent||this._hasOwnPendingAsyncValidator?.shouldHaveEmitted)??!1;return this._hasOwnPendingAsyncValidator=null,t}return!1}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(e.emitEvent!==!1,this,e.shouldHaveEmitted)}get(t){let e=t;return e==null||(Array.isArray(e)||(e=e.split(".")),e.length===0)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(t,e){let i=e?this.get(e):this;return i&&i.errors?i.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t,e,i){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),(t||i)&&this._events.next(new I(this.status,e)),this._parent&&this._parent._updateControlsErrors(t,e,i)}_initObservables(){this.valueChanges=new C,this.statusChanges=new C}_calculateStatus(){return this._allControlsDisabled()?k:this.errors?Z:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(w)?w:this._anyControlsHaveStatus(Z)?Z:P}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t,e){let i=!this._anyControlsDirty(),r=this.pristine!==i;this.pristine=i,this._parent&&!t.onlySelf&&this._parent._updatePristine(t,e),r&&this._events.next(new G(this.pristine,e))}_updateTouched(t={},e){this.touched=this._anyControlsTouched(),this._events.next(new T(this.touched,e)),this._parent&&!t.onlySelf&&this._parent._updateTouched(t,e)}_onDisabledChange=[];_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){se(t)&&t.updateOn!=null&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){let e=this._parent&&this._parent.dirty;return!t&&!!e&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=bt(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=At(this._rawAsyncValidators)}},B=class extends j{constructor(t,e,i){super(ve(e),ye(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,i={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){tt(this,!0,t),Object.keys(t).forEach(i=>{et(this,!0,i),this.controls[i].setValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t!=null&&(Object.keys(t).forEach(i=>{let r=this.controls[i];r&&r.patchValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((i,r)=>{i.reset(t?t[r]:null,{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,i)=>(t[i]=e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(e,i)=>i._syncPendingControls()?!0:e);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(e=>{let i=this.controls[e];i&&t(i,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(let[e,i]of Object.entries(this.controls))if(this.contains(e)&&t(i))return!0;return!1}_reduceValue(){let t={};return this._reduceChildren(t,(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(t,e){let i=t;return this._forEachChild((r,s)=>{i=e(i,r,s)}),i}_allControlsDisabled(){for(let t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}};var Fn=B;var S=new A("",{providedIn:"root",factory:()=>oe}),oe="always";function nt(n,t){return[...t.path,n]}function U(n,t,e=oe){Ce(n,t),t.valueAccessor.writeValue(n.value),(n.disabled||e==="always")&&t.valueAccessor.setDisabledState?.(n.disabled),Et(n,t),wt(n,t),Ft(n,t),Mt(n,t)}function ne(n,t,e=!0){let i=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(i),t.valueAccessor.registerOnTouched(i)),re(n,t),n&&(t._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function ie(n,t){n.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function Mt(n,t){if(t.valueAccessor.setDisabledState){let e=i=>{t.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(e),t._registerOnDestroy(()=>{n._unregisterOnDisabledChange(e)})}}function Ce(n,t){let e=Je(n);t.validator!==null?n.setValidators(Ne(e,t.validator)):typeof e=="function"&&n.setValidators([e]);let i=Qe(n);t.asyncValidator!==null?n.setAsyncValidators(Ne(i,t.asyncValidator)):typeof i=="function"&&n.setAsyncValidators([i]);let r=()=>n.updateValueAndValidity();ie(t._rawValidators,r),ie(t._rawAsyncValidators,r)}function re(n,t){let e=!1;if(n!==null){if(t.validator!==null){let r=Je(n);if(Array.isArray(r)&&r.length>0){let s=r.filter(a=>a!==t.validator);s.length!==r.length&&(e=!0,n.setValidators(s))}}if(t.asyncValidator!==null){let r=Qe(n);if(Array.isArray(r)&&r.length>0){let s=r.filter(a=>a!==t.asyncValidator);s.length!==r.length&&(e=!0,n.setAsyncValidators(s))}}}let i=()=>{};return ie(t._rawValidators,i),ie(t._rawAsyncValidators,i),e}function Et(n,t){t.valueAccessor.registerOnChange(e=>{n._pendingValue=e,n._pendingChange=!0,n._pendingDirty=!0,n.updateOn==="change"&&it(n,t)})}function Ft(n,t){t.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,n.updateOn==="blur"&&n._pendingChange&&it(n,t),n.updateOn!=="submit"&&n.markAsTouched()})}function it(n,t){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function wt(n,t){let e=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i)};n.registerOnChange(e),t._registerOnDestroy(()=>{n._unregisterOnChange(e)})}function rt(n,t){n==null,Ce(n,t)}function It(n,t){return re(n,t)}function Ve(n,t){if(!n.hasOwnProperty("model"))return!1;let e=n.model;return e.isFirstChange()?!0:!Object.is(t,e.currentValue)}function St(n){return Object.getPrototypeOf(n.constructor)===H}function st(n,t){n._syncPendingControls(),t.forEach(e=>{let i=e.control;i.updateOn==="submit"&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function De(n,t){if(!t)return null;Array.isArray(t);let e,i,r;return t.forEach(s=>{s.constructor===Be?e=s:St(s)?i=s:r=s}),r||i||e||null}function Ot(n,t){let e=n.indexOf(t);e>-1&&n.splice(e,1)}var Nt={provide:_,useExisting:d(()=>xt)},R=Promise.resolve(),xt=(()=>{class n extends _{callSetDisabledState;get submitted(){return m(this.submittedReactive)}_submitted=F(()=>this.submittedReactive());submittedReactive=M(!1);_directives=new Set;form;ngSubmit=new C;options;constructor(e,i,r){super(),this.callSetDisabledState=r,this.form=new B({},me(e),_e(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){R.then(()=>{let i=this._findContainer(e.path);e.control=i.registerControl(e.name,e.control),U(e.control,e,this.callSetDisabledState),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){R.then(()=>{let i=this._findContainer(e.path);i&&i.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){R.then(()=>{let i=this._findContainer(e.path),r=new B({});rt(r,e),i.registerControl(e.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){R.then(()=>{let i=this._findContainer(e.path);i&&i.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,i){R.then(()=>{this.form.get(e.path).setValue(i)})}setValue(e){this.control.setValue(e)}onSubmit(e){return this.submittedReactive.set(!0),st(this.form,this._directives),this.ngSubmit.emit(e),this.form._events.next(new ee(this.control)),e?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submittedReactive.set(!1),this.form._events.next(new te(this.form))}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}static \u0275fac=function(i){return new(i||n)(o(y,10),o(L,10),o(S,8))};static \u0275dir=l({type:n,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){i&1&&V("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()})},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[c([Nt]),u]})}return n})();function ke(n,t){let e=n.indexOf(t);e>-1&&n.splice(e,1)}function Re(n){return typeof n=="object"&&n!==null&&Object.keys(n).length===2&&"value"in n&&"disabled"in n}var be=class extends j{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(t=null,e,i){super(ve(e),ye(i,e)),this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),se(e)&&(e.nonNullable||e.initialValueIsDefault)&&(Re(t)?this.defaultValue=t.value:this.defaultValue=t)}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&e.emitModelToViewChange!==!1&&this._onChange.forEach(i=>i(this.value,e.emitViewToModelChange!==!1)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=this.defaultValue,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){ke(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){ke(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(t){Re(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},In=be,Pt=n=>n instanceof be;var kt={provide:v,useExisting:d(()=>Rt)},Ge=Promise.resolve(),Rt=(()=>{class n extends v{_changeDetectorRef;callSetDisabledState;control=new be;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new C;constructor(e,i,r,s,a,p){super(),this._changeDetectorRef=a,this.callSetDisabledState=p,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=De(this,s)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){let i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),Ve(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){U(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(e){Ge.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){let i=e.isDisabled.currentValue,r=i!==0&&de(i);Ge.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?nt(e,this._parent):[e]}static \u0275fac=function(i){return new(i||n)(o(_,9),o(y,10),o(L,10),o(b,10),o(Se,8),o(S,8))};static \u0275dir=l({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[c([kt]),u,E]})}return n})();var Sn=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=l({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:!1})}return n})(),Gt={provide:b,useExisting:d(()=>Tt),multi:!0},Tt=(()=>{class n extends H{writeValue(e){let i=e??"";this.setProperty("value",i)}registerOnChange(e){this.onChange=i=>{e(i==""?null:parseFloat(i))}}static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,r){i&1&&V("input",function(a){return r.onChange(a.target.value)})("blur",function(){return r.onTouched()})},standalone:!1,features:[c([Gt]),u]})}return n})();var Ae=new A(""),jt={provide:v,useExisting:d(()=>Bt)},Bt=(()=>{class n extends v{_ngModelWarningConfig;callSetDisabledState;viewModel;form;set isDisabled(e){}model;update=new C;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,s,a){super(),this._ngModelWarningConfig=s,this.callSetDisabledState=a,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=De(this,r)}ngOnChanges(e){if(this._isControlChanged(e)){let i=e.form.previousValue;i&&ne(i,this,!1),U(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}Ve(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&ne(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_isControlChanged(e){return e.hasOwnProperty("form")}static \u0275fac=function(i){return new(i||n)(o(y,10),o(L,10),o(b,10),o(Ae,8),o(S,8))};static \u0275dir=l({type:n,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],standalone:!1,features:[c([jt]),u,E]})}return n})(),Ut={provide:_,useExisting:d(()=>Ht)},Ht=(()=>{class n extends _{callSetDisabledState;get submitted(){return m(this._submittedReactive)}set submitted(e){this._submittedReactive.set(e)}_submitted=F(()=>this._submittedReactive());_submittedReactive=M(!1);_oldForm;_onCollectionChange=()=>this._updateDomValue();directives=[];form=null;ngSubmit=new C;constructor(e,i,r){super(),this.callSetDisabledState=r,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(re(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){let i=this.form.get(e.path);return U(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){ne(e.control||null,e,!1),Ot(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this._submittedReactive.set(!0),st(this.form,this.directives),this.ngSubmit.emit(e),this.form._events.next(new ee(this.control)),e?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0,i={}){this.form.reset(e,i),this._submittedReactive.set(!1),i?.emitEvent!==!1&&this.form._events.next(new te(this.form))}_updateDomValue(){this.directives.forEach(e=>{let i=e.control,r=this.form.get(e.path);i!==r&&(ne(i||null,e),Pt(r)&&(U(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){let i=this.form.get(e.path);rt(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){let i=this.form.get(e.path);i&&It(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Ce(this.form,this),this._oldForm&&re(this._oldForm,this)}static \u0275fac=function(i){return new(i||n)(o(y,10),o(L,10),o(S,8))};static \u0275dir=l({type:n,selectors:[["","formGroup",""]],hostBindings:function(i,r){i&1&&V("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[c([Ut]),u,E]})}return n})();var Lt={provide:v,useExisting:d(()=>$t)},$t=(()=>{class n extends v{_ngModelWarningConfig;_added=!1;viewModel;control;name=null;set isDisabled(e){}model;update=new C;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,s,a){super(),this._ngModelWarningConfig=a,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=De(this,s)}ngOnChanges(e){this._added||this._setUpControl(),Ve(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return nt(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_setUpControl(){this.control=this.formDirective.addControl(this),this._added=!0}static \u0275fac=function(i){return new(i||n)(o(_,13),o(y,10),o(L,10),o(b,10),o(Ae,8))};static \u0275dir=l({type:n,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},standalone:!1,features:[c([Lt]),u,E]})}return n})();var Wt={provide:b,useExisting:d(()=>at),multi:!0};function ot(n,t){return n==null?`${t}`:(t&&typeof t=="object"&&(t="Object"),`${n}: ${t}`.slice(0,50))}function qt(n){return n.split(":")[0]}var at=(()=>{class n extends H{value;_optionMap=new Map;_idCounter=0;set compareWith(e){this._compareWith=e}_compareWith=Object.is;writeValue(e){this.value=e;let i=this._getOptionId(e),r=ot(i,e);this.setProperty("value",r)}registerOnChange(e){this.onChange=i=>{this.value=this._getOptionValue(i),e(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(e){for(let i of this._optionMap.keys())if(this._compareWith(this._optionMap.get(i),e))return i;return null}_getOptionValue(e){let i=qt(e);return this._optionMap.has(i)?this._optionMap.get(i):e}static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(i,r){i&1&&V("change",function(a){return r.onChange(a.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[c([Wt]),u]})}return n})(),On=(()=>{class n{_element;_renderer;_select;id;constructor(e,i,r){this._element=e,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption())}set ngValue(e){this._select!=null&&(this._select._optionMap.set(this.id,e),this._setElementValue(ot(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._setElementValue(e),this._select&&this._select.writeValue(this._select.value)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(i){return new(i||n)(o(O),o(N),o(at,9))};static \u0275dir=l({type:n,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return n})(),zt={provide:b,useExisting:d(()=>lt),multi:!0};function Te(n,t){return n==null?`${t}`:(typeof t=="string"&&(t=`'${t}'`),t&&typeof t=="object"&&(t="Object"),`${n}: ${t}`.slice(0,50))}function Zt(n){return n.split(":")[0]}var lt=(()=>{class n extends H{value;_optionMap=new Map;_idCounter=0;set compareWith(e){this._compareWith=e}_compareWith=Object.is;writeValue(e){this.value=e;let i;if(Array.isArray(e)){let r=e.map(s=>this._getOptionId(s));i=(s,a)=>{s._setSelected(r.indexOf(a.toString())>-1)}}else i=(r,s)=>{r._setSelected(!1)};this._optionMap.forEach(i)}registerOnChange(e){this.onChange=i=>{let r=[],s=i.selectedOptions;if(s!==void 0){let a=s;for(let p=0;p<a.length;p++){let $=a[p],le=this._getOptionValue($.value);r.push(le)}}else{let a=i.options;for(let p=0;p<a.length;p++){let $=a[p];if($.selected){let le=this._getOptionValue($.value);r.push(le)}}}this.value=r,e(r)}}_registerOption(e){let i=(this._idCounter++).toString();return this._optionMap.set(i,e),i}_getOptionId(e){for(let i of this._optionMap.keys())if(this._compareWith(this._optionMap.get(i)._value,e))return i;return null}_getOptionValue(e){let i=Zt(e);return this._optionMap.has(i)?this._optionMap.get(i)._value:e}static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(i,r){i&1&&V("change",function(a){return r.onChange(a.target)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[c([zt]),u]})}return n})(),Nn=(()=>{class n{_element;_renderer;_select;id;_value;constructor(e,i,r){this._element=e,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption(this))}set ngValue(e){this._select!=null&&(this._value=e,this._setElementValue(Te(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._select?(this._value=e,this._setElementValue(Te(this.id,e)),this._select.writeValue(this._select.value)):this._setElementValue(e)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}_setSelected(e){this._renderer.setProperty(this._element.nativeElement,"selected",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(i){return new(i||n)(o(O),o(N),o(lt,9))};static \u0275dir=l({type:n,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return n})();function ut(n){return typeof n=="number"?n:parseFloat(n)}var ae=(()=>{class n{_validator=X;_onChange;_enabled;ngOnChanges(e){if(this.inputName in e){let i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):X,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return e!=null}static \u0275fac=function(i){return new(i||n)};static \u0275dir=l({type:n,features:[E]})}return n})(),Xt={provide:y,useExisting:d(()=>Yt),multi:!0},Yt=(()=>{class n extends ae{max;inputName="max";normalizeInput=e=>ut(e);createValidator=e=>He(e);static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(i,r){i&2&&x("max",r._enabled?r.max:null)},inputs:{max:"max"},standalone:!1,features:[c([Xt]),u]})}return n})(),Kt={provide:y,useExisting:d(()=>Jt),multi:!0},Jt=(()=>{class n extends ae{min;inputName="min";normalizeInput=e=>ut(e);createValidator=e=>Ue(e);static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(i,r){i&2&&x("min",r._enabled?r.min:null)},inputs:{min:"min"},standalone:!1,features:[c([Kt]),u]})}return n})(),Qt={provide:y,useExisting:d(()=>en),multi:!0};var en=(()=>{class n extends ae{required;inputName="required";normalizeInput=de;createValidator=e=>Le;enabled(e){return e}static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(i,r){i&2&&x("required",r._enabled?"":null)},inputs:{required:"required"},standalone:!1,features:[c([Qt]),u]})}return n})();var tn={provide:y,useExisting:d(()=>nn),multi:!0},nn=(()=>{class n extends ae{pattern;inputName="pattern";normalizeInput=e=>e;createValidator=e=>$e(e);static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(i,r){i&2&&x("pattern",r._enabled?r.pattern:null)},inputs:{pattern:"pattern"},standalone:!1,features:[c([tn]),u]})}return n})();var dt=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=z({type:n});static \u0275inj=q({})}return n})(),fe=class extends j{constructor(t,e,i){super(ve(e),ye(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;at(t){return this.controls[this._adjustIndex(t)]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,i={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(t,e={}){let i=this._adjustIndex(t);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,i={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),e&&(this.controls.splice(r,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){tt(this,!1,t),t.forEach((i,r)=>{et(this,!1,r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t!=null&&(t.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((i,r)=>{i.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((e,i)=>i._syncPendingControls()?!0:e,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((e,i)=>{t(e,i)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(let t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}},xn=fe;var Pn=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:S,useValue:e.callSetDisabledState??oe}]}}static \u0275fac=function(i){return new(i||n)};static \u0275mod=z({type:n});static \u0275inj=q({imports:[dt]})}return n})(),kn=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:Ae,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:S,useValue:e.callSetDisabledState??oe}]}}static \u0275fac=function(i){return new(i||n)};static \u0275mod=z({type:n});static \u0275inj=q({imports:[dt]})}return n})();export{b as a,ht as b,Be as c,Oe as d,Mn as e,En as f,B as g,Fn as h,xt as i,be as j,In as k,Rt as l,Sn as m,Tt as n,Bt as o,Ht as p,$t as q,at as r,On as s,Nn as t,Yt as u,Jt as v,en as w,nn as x,xn as y,Pn as z,kn as A};
@@ -0,0 +1 @@
1
+ import{a as Ie}from"./chunk-YHXSTLHD.js";import{a as $e}from"./chunk-ZVGCGGDU.js";import{w as Te}from"./chunk-Y4XTCS5Q.js";import{g as X,m as T,n as Y}from"./chunk-SKVHW32E.js";import{A as Q,b as G,c as ue,e as q,f as _e,g as te,j as P,k as ge,l as K,m as be,n as ve,o as fe,p as xe,q as he,r as Ce,s as Se,t as we,u as ke,v as ye,z as J}from"./chunk-RQA2H3J6.js";import{d as U,e as Ee}from"./chunk-2SEP7Q76.js";import{b as Z}from"./chunk-7ZNHDMCE.js";import{h as N,j as Be,k as M}from"./chunk-7Z74FGCO.js";import{a as A,b as E}from"./chunk-4SITUFK3.js";import{$a as t,Ac as o,Bc as s,Cc as W,Gb as x,Hb as v,Ib as f,Kb as F,Lb as V,M as ee,Mb as R,Nb as _,Ob as i,Pb as n,Qb as c,Ub as k,Xa as re,Xb as b,Ya as le,Yb as g,ac as oe,bc as se,bd as L,cc as de,gd as j,h as B,jc as r,kc as p,la as C,lb as y,lc as u,qc as pe,ra as S,rc as ce,sa as w,sc as me,w as I,wc as H,xc as $,yc as O}from"./chunk-PAZ5V5TQ.js";function He(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),o(4,"translate"),n()),a&2&&(t(3),p(s(4,1,"reset.no_accessories")))}function Ue(a,m){a&1&&(i(0,"div",12),c(1,"i",15),n(),i(2,"ul",16)(3,"li"),r(4),o(5,"translate"),n(),i(6,"li"),r(7),o(8,"translate"),n(),i(9,"li"),r(10),o(11,"translate"),n()(),i(12,"ngb-alert",17)(13,"p",18),r(14),o(15,"translate"),n()()),a&2&&(t(4),p(s(5,5,"reset.accessory_all.list_1")),t(3),p(s(8,7,"reset.accessory_all.list_2")),t(3),p(s(11,9,"reset.accessory_all.list_3")),t(2),_("dismissible",!1),t(2),p(s(15,11,"reset.action_is_irreversible")))}function Oe(a,m){if(a&1){let e=k();i(0,"button",19),o(1,"translate"),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(2),o(3,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),x("aria-label",s(1,3,"form.button_close")),t(2),u(" ",s(3,5,"form.button_close")," ")}}function Le(a,m){if(a&1){let e=k();i(0,"button",20),o(1,"translate"),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(2),o(3,"translate"),n()}a&2&&(x("aria-label",s(1,2,"form.button_close")),t(2),u(" ",s(3,4,"form.button_close")," "))}function ze(a,m){a&1&&(r(0),o(1,"translate")),a&2&&u(" ",s(1,1,"form.button_remove")," ")}function We(a,m){a&1&&c(0,"i",22)}function je(a,m){if(a&1){let e=k();i(0,"button",21),b("click",function(){S(e);let l=g();return w(l.onResetCachedAccessoriesClick())}),v(1,ze,2,3),v(2,We,1,0,"i",22),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),f(e.clicked?-1:1),t(),f(e.clicked?2:-1)}}var Ae=(()=>{class a{$activeModal=C(T);$api=C(M);$router=C(U);$toastr=C(N);$translate=C(A);clicked=!1;cachedAccessories=[];constructor(){}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return B(this,null,function*(){try{this.cachedAccessories=yield I(this.$api.get("/server/cached-accessories"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}onResetCachedAccessoriesClick(){return this.clicked=!0,this.$api.put("/server/reset-cached-accessories",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.delete_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),v(8,He,5,3),v(9,Ue,16,13),n(),i(10,"div",5)(11,"div",6),v(12,Oe,4,7,"button",7),n(),i(13,"div",8),v(14,Le,4,6,"button",9),n(),i(15,"div",10),v(16,je,3,3,"button",11),n()()()),d&2&&(t(3),p(s(4,8,"reset.accessory_all.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,10,"form.button_close")),t(3),f(l.cachedAccessories.length===0?8:-1),t(),f(l.cachedAccessories.length>0?9:-1),t(3),f(l.cachedAccessories.length>0?12:-1),t(2),f(l.cachedAccessories.length===0?14:-1),t(2),f(l.cachedAccessories.length>0?16:-1))},dependencies:[X,E],encapsulation:2})}return a})();var Ge=(a,m)=>({"green-text":a,"grey-text":m}),qe=(a,m)=>({"btn-danger":a,"btn-elegant":m}),Ke=(a,m,e)=>({"fa-broom":a,"fa-undo":m,"fa-spinner fa-pulse":e});function Je(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),o(4,"translate"),n()),a&2&&(t(3),p(s(4,1,"reset.bridge_accessories.empty")))}function Qe(a,m){if(a&1){let e=k();i(0,"li",18)(1,"span"),r(2),c(3,"br"),i(4,"small",19),c(5,"i",20),r(6),o(7,"translate"),i(8,"span",21),r(9),n()()(),i(10,"button",22),o(11,"translate"),b("click",function(){let l=S(e).$implicit,h=g(2);return w(h.toggleList(l._id))}),c(12,"i",23),n()()}if(a&2){let e=m.$implicit,d=g(2);t(2),u(" ",e.name," "),t(3),_("ngClass",$(12,Ge,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),_("disabled",d.clicked)("ngClass",$(15,qe,!d.toDelete.includes(e._id),d.toDelete.includes(e._id))),x("aria-label",s(11,10,"form.button_delete")),t(2),_("ngClass",O(18,Ke,!d.toDelete.includes(e._id),d.toDelete.includes(e._id)&&!d.clicked,d.toDelete.includes(e._id)&&d.clicked))}}function Xe(a,m){if(a&1&&(i(0,"div",12),c(1,"i",15),n(),i(2,"ul",16)(3,"li"),r(4),o(5,"translate"),n(),i(6,"li"),r(7),o(8,"translate"),n(),i(9,"li"),r(10),o(11,"translate"),n()(),i(12,"ul",17),V(13,Qe,13,22,"li",18,F),n()),a&2){let e=g();t(4),p(s(5,3,"reset.bridge_accessories.list_1")),t(3),p(s(8,5,"reset.clear_cache_single.list_3")),t(3),p(s(11,7,"reset.bridge_accessories.list_2")),t(3),R(e.pairings)}}function Ye(a,m){if(a&1){let e=k();i(0,"button",24),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),u(" ",s(2,2,"form.button_close")," ")}}function Ze(a,m){if(a&1){let e=k();i(0,"button",25),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}a&2&&(t(),u(" ",s(2,1,"form.button_close")," "))}function et(a,m){if(a&1&&r(0),a&2){let e=g(3);u(" (",e.toDelete.length,") ")}}function tt(a,m){if(a&1&&(r(0),o(1,"translate"),v(2,et,1,1)),a&2){let e=g(2);u(" ",s(1,2,"form.button_remove")," "),t(2),f(e.toDelete.length>0?2:-1)}}function it(a,m){a&1&&c(0,"i",27)}function nt(a,m){if(a&1){let e=k();i(0,"button",26),b("click",function(){S(e);let l=g();return w(l.cleanBridges())}),v(1,tt,3,4),v(2,it,1,0,"i",27),n()}if(a&2){let e=g();_("disabled",!e.toDelete.length||e.clicked),t(),f(e.clicked?-1:1),t(),f(e.clicked?2:-1)}}var Ne=(()=>{class a{$activeModal=C(T);$api=C(M);$router=C(U);$toastr=C(N);$translate=C(A);clicked=!1;pairings=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return B(this,null,function*(){try{this.pairings=(yield I(this.$api.get("/server/pairings"))).filter(e=>e._category==="bridge"&&!e._main).sort((e,d)=>e.name.localeCompare(d.name))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(e){this.toDelete.includes(e)?this.toDelete=this.toDelete.filter(d=>d!==e):this.toDelete.push(e)}cleanBridges(){return this.clicked=!0,this.$api.delete("/server/pairings/accessories",{body:this.toDelete.map(e=>({id:e}))}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-broom","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),v(8,Je,5,3),v(9,Xe,15,9),n(),i(10,"div",5)(11,"div",6),v(12,Ye,3,4,"button",7),n(),i(13,"div",8),v(14,Ze,3,3,"button",9),n(),i(15,"div",10),v(16,nt,3,3,"button",11),n()()()),d&2&&(t(3),p(s(4,8,"reset.bridge_accessories.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,10,"form.button_close")),t(3),f(l.pairings.length===0?8:-1),t(),f(l.pairings.length>0?9:-1),t(3),f(l.pairings.length>0?12:-1),t(2),f(l.pairings.length===0?14:-1),t(2),f(l.pairings.length>0?16:-1))},dependencies:[L,E],encapsulation:2})}return a})();function at(a,m){a&1&&(r(0),o(1,"translate")),a&2&&u(" ",s(1,1,"form.button_reset")," ")}function rt(a,m){a&1&&c(0,"i",16)}var Me=(()=>{class a{$activeModal=C(T);$api=C(M);$route=C(U);$toastr=C(N);$translate=C(A);clicked;constructor(){}onResetHomebridgeAccessoryClick(){return this.clicked=!0,this.$api.put("/server/reset-homebridge-accessory",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_reset"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$route.navigate(["/restart"])},error:e=>{console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],decls:38,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),c(9,"i",6),n(),i(10,"ul",7)(11,"li"),r(12),o(13,"translate"),n(),i(14,"li"),r(15),o(16,"translate"),n(),i(17,"li"),r(18),o(19,"translate"),n(),i(20,"li"),r(21),o(22,"translate"),n()(),i(23,"ngb-alert",8)(24,"p",9),r(25),o(26,"translate"),n()()(),i(27,"div",10)(28,"div",11)(29,"button",12),o(30,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),r(31),o(32,"translate"),n()(),c(33,"div",13),i(34,"div",14)(35,"button",15),b("click",function(){return l.onResetHomebridgeAccessoryClick()}),v(36,at,2,3),v(37,rt,1,0,"i",16),n()()()()),d&2&&(t(3),p(s(4,15,"reset.bridge_all.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,17,"form.button_close")),t(7),p(s(13,19,"reset.bridge_all.list_1")),t(3),p(s(16,21,"reset.bridge_all.list_2")),t(3),p(s(19,23,"reset.bridge_all.list_3")),t(3),p(s(22,25,"reset.bridge_all.list_4")),t(2),_("dismissible",!1),t(2),p(s(26,27,"reset.action_is_irreversible")),t(4),_("disabled",l.clicked),x("aria-label",s(30,29,"form.button_close")),t(2),u(" ",s(32,31,"form.button_close")," "),t(4),_("disabled",l.clicked),t(),f(l.clicked?-1:36),t(),f(l.clicked?37:-1))},dependencies:[X,E],encapsulation:2})}return a})();var ie=(a,m)=>({"green-text":a,"grey-text":m}),ne=(a,m)=>({"btn-danger":a,"btn-elegant":m}),Fe=(a,m,e)=>({"fa-refresh":a,"fa-undo":m,"fa-spinner fa-pulse":e}),lt=(a,m,e)=>({"fa-trash":a,"fa-undo":m,"fa-spinner fa-pulse":e});function ot(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),o(4,"translate"),n()),a&2&&(t(3),p(s(4,1,"reset.bridges.empty")))}function st(a,m){if(a&1){let e=k();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),o(7,"translate"),i(8,"span",23),r(9),n(),r(10),o(11,"titlecase"),n()(),i(12,"button",24),o(13,"translate"),b("click",function(){let l=S(e).$implicit,h=g(3);return w(h.toggleList(l._id,!1))}),c(14,"i",25),n()()}if(a&2){let e=m.$implicit,d=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",$(15,ie,e._isPaired,!e._isPaired)),t(),u(" ",s(7,9,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),u(" \xB7 ",e._main?"Homebridge":s(11,11,e._category)," "),t(2),_("disabled",d.clicked)("ngClass",$(18,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",s(13,13,"form.button_unpair")),t(2),_("ngClass",O(21,Fe,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function dt(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),n(),i(5,"p",19),r(6),o(7,"translate"),n()(),V(8,st,15,25,"li",20,F),n()),a&2){let e=g(2);t(3),p(s(4,2,"reset.bridge_ind.head_non_child")),t(3),p(s(7,4,"reset.bridge_ind.desc_non_child")),t(2),R(e.pairingsNonChild)}}function pt(a,m){if(a&1){let e=k();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),o(7,"translate"),i(8,"span",23),r(9),n()()(),i(10,"button",24),o(11,"translate"),b("click",function(){let l=S(e).$implicit,h=g(3);return w(h.toggleList(l._id,!0))}),c(12,"i",25),n()()}if(a&2){let e=m.$implicit,d=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",$(12,ie,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),_("disabled",d.clicked)("ngClass",$(15,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",s(11,10,"form.button_unpair")),t(2),_("ngClass",O(18,Fe,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function ct(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),n(),i(5,"p",19),r(6),o(7,"translate"),n()(),V(8,pt,13,22,"li",20,F),n()),a&2){let e=g(2);t(3),p(s(4,2,"reset.bridge_ind.head_child_active")),t(3),p(s(7,4,"reset.bridge_ind.desc_child_active")),t(2),R(e.pairingsChildActive)}}function mt(a,m){if(a&1){let e=k();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),o(7,"translate"),i(8,"span",23),r(9),n()()(),i(10,"button",24),o(11,"translate"),b("click",function(){let l=S(e).$implicit,h=g(3);return w(h.toggleList(l._id,!1))}),c(12,"i",25),n()()}if(a&2){let e=m.$implicit,d=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",$(12,ie,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),_("disabled",d.clicked)("ngClass",$(15,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",s(11,10,"form.button_unpair")),t(2),_("ngClass",O(18,lt,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function ut(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),n(),i(5,"p",19),r(6),o(7,"translate"),n()(),V(8,mt,13,22,"li",20,F),n()),a&2){let e=g(2);t(3),p(s(4,2,"reset.bridge_ind.head_child_stale")),t(3),p(s(7,4,"reset.bridge_ind.desc_child_stale")),t(2),R(e.pairingsChildStale)}}function _t(a,m){if(a&1&&(i(0,"div",12),c(1,"i",15),n(),v(2,dt,10,6,"ul",16),v(3,ct,10,6,"ul",16),v(4,ut,10,6,"ul",16)),a&2){let e=g();t(2),f(e.pairingsNonChild.length>0?2:-1),t(),f(e.pairingsChildActive.length>0?3:-1),t(),f(e.pairingsChildStale.length>0?4:-1)}}function gt(a,m){if(a&1){let e=k();i(0,"button",26),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),u(" ",s(2,2,"form.button_close")," ")}}function bt(a,m){if(a&1){let e=k();i(0,"button",27),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}a&2&&(t(),u(" ",s(2,1,"form.button_close")," "))}function vt(a,m){if(a&1&&r(0),a&2){let e=g(3);u(" (",e.toDelete.length,") ")}}function ft(a,m){if(a&1&&(r(0),o(1,"translate"),v(2,vt,1,1)),a&2){let e=g(2);u(" ",s(1,2,"form.button_reset")," "),t(2),f(e.toDelete.length>0?2:-1)}}function xt(a,m){a&1&&c(0,"i",29)}function ht(a,m){if(a&1){let e=k();i(0,"button",28),b("click",function(){S(e);let l=g();return w(l.removeBridges())}),v(1,ft,3,4),v(2,xt,1,0,"i",29),n()}if(a&2){let e=g();_("disabled",!e.toDelete.length||e.clicked),t(),f(e.clicked?-1:1),t(),f(e.clicked?2:-1)}}var Ve=(()=>{class a{$activeModal=C(T);$api=C(M);$router=C(U);$toastr=C(N);$translate=C(A);clicked=!1;pairingsNonChild=[];pairingsChildActive=[];pairingsChildStale=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return B(this,null,function*(){try{let e=(yield I(this.$api.get("/server/pairings"))).filter(d=>!d._main).sort((d,l)=>d.name.localeCompare(l.name));this.pairingsChildActive=e.filter(d=>d._category==="bridge"&&!d._couldBeStale),this.pairingsNonChild=e.filter(d=>d._category!=="bridge"),this.pairingsChildStale=e.filter(d=>d._category==="bridge"&&d._couldBeStale)}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(e,d=!1){this.toDelete.some(l=>l.id===e)?this.toDelete=this.toDelete.filter(l=>l.id!==e):this.toDelete.push({id:e,resetPairingInfo:d})}isInList(e){return this.toDelete.some(d=>d.id===e)}removeBridges(){return this.clicked=!0,this.$api.delete("/server/pairings",{body:this.toDelete}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.bridge_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.bridge_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"text-center","mb-0"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"mb-0","small","grey-text","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),v(8,ot,5,3),v(9,_t,5,3),n(),i(10,"div",5)(11,"div",6),v(12,gt,3,4,"button",7),n(),i(13,"div",8),v(14,bt,3,3,"button",9),n(),i(15,"div",10),v(16,ht,3,3,"button",11),n()()()),d&2&&(t(3),p(s(4,8,"reset.bridge_ind.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,10,"form.button_close")),t(3),f(l.pairingsChildActive.length===0&&l.pairingsChildStale.length===0&&l.pairingsNonChild.length===0?8:-1),t(),f(l.pairingsChildActive.length>0||l.pairingsChildStale.length>0||l.pairingsNonChild.length>0?9:-1),t(3),f(l.pairingsChildActive.length>0||l.pairingsChildStale.length>0||l.pairingsNonChild.length>0?12:-1),t(2),f(l.pairingsChildActive.length===0&&l.pairingsChildStale.length===0&&l.pairingsNonChild.length===0?14:-1),t(2),f(l.pairingsChildActive.length>0||l.pairingsChildStale.length>0||l.pairingsNonChild.length>0?16:-1))},dependencies:[L,j,E],encapsulation:2})}return a})();function St(a,m){if(a&1){let e=k();i(0,"li",10)(1,"span")(2,"label",17)(3,"input",18),me("ngModelChange",function(l){let h=S(e).$implicit;return ce(h.selected,l)||(h.selected=l),w(l)}),n(),i(4,"span"),r(5),n(),c(6,"span",19),n()(),i(7,"span",20),r(8),n()()}if(a&2){let e=m.$implicit;t(2),_("for","adapter"+e.iface),t(),_("id","adapter"+e.iface),pe("ngModel",e.selected),t(2),p(e.iface),t(3),p(e.ip4||e.ip6)}}var Re=(()=>{class a{$activeModal=C(T);availableNetworkAdapters=[];bridgeNetworkAdapters=[];constructor(){}submit(){this.$activeModal.close(this.availableNetworkAdapters.filter(e=>e.selected).map(e=>e.iface))}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],inputs:{availableNetworkAdapters:"availableNetworkAdapters",bridgeNetworkAdapters:"bridgeNetworkAdapters"},decls:35,vars:24,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-ethernet","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","flex-row","justify-content-between"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"],[1,"hb-uix-switch","d-inline","pe-3",3,"for"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"hb-uix-slider","hb-uix-round"],[1,"font-monospace"]],template:function(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),c(9,"i",6),n(),i(10,"ul",7)(11,"li"),r(12),o(13,"translate"),n()(),i(14,"ul",8)(15,"li",9)(16,"strong"),r(17),o(18,"translate"),n(),i(19,"strong"),r(20),o(21,"translate"),n()(),V(22,St,9,5,"li",10,F),n()(),i(24,"div",11)(25,"div",12)(26,"button",13),o(27,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),r(28),o(29,"translate"),n()(),c(30,"div",14),i(31,"div",15)(32,"button",16),b("click",function(){return l.submit()}),r(33),o(34,"translate"),n()()()()),d&2&&(t(3),p(s(4,8,"settings.network.title_network_interfaces")),t(2),x("aria-label",s(6,10,"form.button_close")),t(7),p(s(13,12,"settings.network.message_network_interface")),t(5),p(s(18,14,"settings.network.label_interface_name")),t(3),p(s(21,16,"settings.network.label_ip_address")),t(2),R(l.availableNetworkAdapters),t(4),x("aria-label",s(27,18,"form.button_close")),t(2),u(" ",s(29,20,"form.button_close")," "),t(5),u(" ",s(34,22,"form.button_save")," "))},dependencies:[J,G,q,K,E],encapsulation:2})}return a})();var wt=["wallpaperInput"],kt=a=>({maxFileSizeText:a});function yt(a,m){if(a&1){let e=k();i(0,"div",10),c(1,"img",20),i(2,"button",21),o(3,"translate"),b("click",function(){S(e);let l=g();return w(l.clearWallpaper())}),c(4,"i",22),n()()}if(a&2){let e=g();t(),_("src",e.wallpaperUrl,le),t(),x("aria-label",s(3,2,"form.button_delete"))}}function Et(a,m){a&1&&c(0,"div",11)}var De=(()=>{class a{$activeModal=C(T);$api=C(M);$modal=C(Y);$settings=C(Z);$toastr=C(N);$translate=C(A);clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;wallpaperUrl=null;originalWallpaperUrl=null;wallpaperInput;constructor(){}ngOnInit(){this.$settings.env.customWallpaperHash&&(this.wallpaperUrl=`${Be.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`,this.originalWallpaperUrl=this.wallpaperUrl)}onFileChange(e){if(e.length){this.selectedFile=e[0];let d=new FileReader;d.onload=l=>{this.wallpaperUrl=l.target.result},d.readAsDataURL(this.selectedFile)}else delete this.selectedFile,this.wallpaperUrl=this.originalWallpaperUrl}saveWallpaper(){if(this.clicked=!0,this.selectedFile){let e=new FormData;e.append("wallpaper",this.selectedFile,this.selectedFile.name),this.$api.post("/server/wallpaper",e).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("settings.display.wallpaper_success"),this.$translate.instant("toast.title_success"))},error:d=>{console.error(d),this.$toastr.error(d.error?.message,this.$translate.instant("toast.title_error")),this.clicked=!1}})}else this.$api.delete("/server/wallpaper").subscribe({next:()=>{this.$activeModal.close()},error:e=>{console.error(e),this.$toastr.error(e.error?.message,this.$translate.instant("toast.title_error")),this.clicked=!1}})}clearWallpaper(){this.selectedFile=null,this.wallpaperUrl=this.wallpaperUrl===this.originalWallpaperUrl?null:this.originalWallpaperUrl,this.wallpaperInput.nativeElement.value=""}cancel(){this.$activeModal.dismiss()}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],viewQuery:function(d,l){if(d&1&&oe(wt,5),d&2){let h;se(h=de())&&(l.wallpaperInput=h.first)}},decls:36,vars:28,consts:[["wallpaperInput",""],[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-image","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"mb-3","text-center"],[1,"position-relative","d-inline-block"],[1,"gradient","anim","rounded",2,"height","200px","width","350px","margin","0 auto"],[1,"mb-0"],["type","file","id","wallpaper","accept","image/*",1,"form-control",3,"change"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["alt","Current Wallpaper",1,"img-fluid","rounded","mx-auto","d-block",2,"height","200px",3,"src"],[1,"btn","btn-danger","position-absolute",2,"top","10px","right","10px",3,"click"],[1,"fas","fa-fw","fa-trash"]],template:function(d,l){if(d&1){let h=k();i(0,"div",1)(1,"div",2)(2,"h5",3),r(3),o(4,"translate"),n(),i(5,"button",4),o(6,"translate"),b("click",function(){return S(h),w(l.$activeModal.dismiss("Dismiss"))}),n()(),i(7,"div",5)(8,"div",6),c(9,"i",7),n(),i(10,"ul",8)(11,"li"),r(12),o(13,"translate"),n(),i(14,"li"),r(15),o(16,"translate"),n(),i(17,"li"),r(18),o(19,"translate"),n()(),i(20,"div",9),v(21,yt,5,4,"div",10)(22,Et,1,0,"div",11),n(),i(23,"div",12)(24,"input",13,0),b("change",function(Pe){return S(h),w(l.onFileChange(Pe.target.files))}),n()()(),i(26,"div",14)(27,"div",15)(28,"button",16),b("click",function(){return S(h),w(l.cancel())}),r(29),o(30,"translate"),n()(),c(31,"div",17),i(32,"div",18)(33,"button",19),b("click",function(){return S(h),w(l.saveWallpaper())}),r(34),o(35,"translate"),n()()()()}d&2&&(t(3),p(s(4,11,"settings.display.wallpaper")),t(2),_("disabled",l.clicked),x("aria-label",s(6,13,"form.button_close")),t(7),p(s(13,15,"settings.display.wallpaper_intro")),t(3),p(W(16,17,"settings.display.wallpaper_rule",H(26,kt,l.maxFileSizeText))),t(3),p(s(19,20,"settings.display.wallpaper_rule2")),t(3),f(l.wallpaperUrl?21:22),t(7),_("disabled",l.clicked),t(),u(" ",s(30,22,"form.button_close")," "),t(4),_("disabled",l.wallpaperUrl===l.originalWallpaperUrl||l.clicked),t(),u(" ",s(35,24,"form.button_save")," "))},dependencies:[Q,E],styles:[".anim[_ngcontent-%COMP%]{-webkit-animation:_ngcontent-%COMP%_gradient 20s ease infinite;-moz-animation:gradient 20s ease infinite;-o-animation:gradient 20s ease infinite;animation:_ngcontent-%COMP%_gradient 20s ease infinite}@keyframes _ngcontent-%COMP%_gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}"]})}return a})();var ae=a=>({"is-invalid":a}),Bt=a=>({link:a}),It=a=>({"fa-pulse":a}),$t=(a,m)=>({"badge-danger":a,"badge-info":m});function Tt(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),o(3,"translate"),n(),i(4,"button",24),o(5,"translate"),r(6),o(7,"translate"),n()()),a&2&&(t(2),p(s(3,3,"settings.changes.saved")),t(2),x("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function At(a,m){if(a&1){let e=k();i(0,"ul",5)(1,"li",14)(2,"span"),r(3,"Homebridge Name"),n(),i(4,"div",15),c(5,"input",16),o(6,"translate"),n()(),i(7,"li",17)(8,"span",18),r(9),o(10,"translate"),n(),i(11,"button",19),o(12,"translate"),b("click",function(){S(e);let l=g();return w(l.openUiSettings())}),c(13,"i",20),n()(),i(14,"li",17)(15,"span",18),r(16),o(17,"translate"),n(),i(18,"button",19),o(19,"translate"),b("click",function(){S(e);let l=g();return w(l.openBackupModal())}),c(20,"i",20),n()(),i(21,"li",17)(22,"span",18),r(23),o(24,"translate"),n(),i(25,"a",21),o(26,"translate"),c(27,"i",20),n()(),v(28,Tt,8,9,"li",22),n()}if(a&2){let e=g();t(5),_("formControl",e.hbNameFormControl)("ngClass",H(24,ae,e.isInvalidHbName)),x("aria-label",s(6,10,"settings.network.port_ui")),t(4),p(s(10,12,"menu.label_settings_advanced")),t(2),x("aria-label",s(12,14,"menu.label_settings_advanced")),t(5),u(" ",s(17,16,"backup.title_backup")," "),t(2),x("aria-label",s(19,18,"backup.title_backup")),t(5),u(" ",s(24,20,"menu.tooltip_user_accounts")," "),t(2),x("aria-label",s(26,22,"menu.tooltip_user_accounts")),t(3),f(e.hasChangedHbName&&!e.isInvalidHbName?28:-1)}}function Nt(a,m){if(a&1){let e=k();i(0,"ul",6)(1,"li",14),r(2),o(3,"translate"),i(4,"div",25)(5,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("lang",l))}),i(6,"option",27),r(7),o(8,"translate"),n(),i(9,"option",28),r(10,"Bulgarian (bg)"),n(),i(11,"option",29),r(12,"Catalan (ca)"),n(),i(13,"option",30),r(14,"Chinese - Simplified (zh-CN)"),n(),i(15,"option",31),r(16,"Chinese - Traditional (zh-TW)"),n(),i(17,"option",32),r(18,"Czech (cs)"),n(),i(19,"option",33),r(20,"Dutch (nl)"),n(),i(21,"option",34),r(22,"English (en)"),n(),i(23,"option",35),r(24,"Finnish (fi)"),n(),i(25,"option",36),r(26,"French (fr)"),n(),i(27,"option",37),r(28,"German (de)"),n(),i(29,"option",38),r(30,"Hebrew (he)"),n(),i(31,"option",39),r(32,"Hungarian (hu)"),n(),i(33,"option",40),r(34,"Indonesian (id)"),n(),i(35,"option",41),r(36,"Italian (it)"),n(),i(37,"option",42),r(38,"Japanese (ja)"),n(),i(39,"option",43),r(40,"Korean (ko)"),n(),i(41,"option",44),r(42,"Macedonian (mk)"),n(),i(43,"option",45),r(44,"Norwegian (no)"),n(),i(45,"option",46),r(46,"Polish (pl)"),n(),i(47,"option",47),r(48,"Portuguese (Brazil)"),n(),i(49,"option",48),r(50,"Portuguese (Portugal)"),n(),i(51,"option",49),r(52,"Russian (ru)"),n(),i(53,"option",50),r(54,"Slovenian (sl)"),n(),i(55,"option",51),r(56,"Spanish (es)"),n(),i(57,"option",52),r(58,"Swedish (sv)"),n(),i(59,"option",53),r(60,"Thai (th)"),n(),i(61,"option",54),r(62,"Turkish (tr)"),n(),i(63,"option",55),r(64,"Ukrainian (uk)"),n()()()(),i(65,"li",14),r(66),o(67,"translate"),i(68,"div",25)(69,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("theme",l))}),i(70,"option",56),r(71),o(72,"translate"),n(),i(73,"option",57),r(74),o(75,"translate"),n(),i(76,"option",58),r(77),o(78,"translate"),n(),i(79,"option",59),r(80),o(81,"translate"),n(),i(82,"option",60),r(83),o(84,"translate"),n(),i(85,"option",61),r(86),o(87,"translate"),n(),i(88,"option",62),r(89),o(90,"translate"),n(),i(91,"option",63),r(92),o(93,"translate"),n(),i(94,"option",64),r(95),o(96,"translate"),n(),i(97,"option",65),r(98),o(99,"translate"),n(),i(100,"option",66),r(101),o(102,"translate"),n(),i(103,"option",67),r(104),o(105,"translate"),n(),i(106,"option",68),r(107),o(108,"translate"),n()()()(),i(109,"li",14),r(110),o(111,"translate"),i(112,"div",25)(113,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("lightingMode",l))}),i(114,"option",27),r(115),o(116,"translate"),n(),i(117,"option",69),r(118),o(119,"translate"),n(),i(120,"option",70),r(121),o(122,"translate"),n()()()(),i(123,"li",14),r(124),o(125,"translate"),i(126,"div",25)(127,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("menuMode",l))}),i(128,"option",71),r(129),o(130,"translate"),n(),i(131,"option",72),r(132),o(133,"translate"),n()()()(),i(134,"li",14),r(135),o(136,"translate"),i(137,"div",25)(138,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("tempUnits",l))}),i(139,"option",73),r(140),o(141,"translate"),n(),i(142,"option",74),r(143),o(144,"translate"),n()()()(),i(145,"li",17)(146,"span",18),r(147),o(148,"translate"),n(),i(149,"button",19),o(150,"translate"),b("click",function(){S(e);let l=g();return w(l.openWallpaperModal())}),c(151,"i",20),n()()()}if(a&2){let e=g();t(2),u(" ",s(3,33,"settings.display.lang")," "),t(3),_("ngModel",e.$settings.env.lang),t(2),p(s(8,35,"form.select.auto")),t(59),u(" ",s(67,37,"settings.display.theme")," "),t(3),_("ngModel",e.$settings.theme),t(2),p(s(72,39,"settings.display.orange")),t(3),p(s(75,41,"settings.display.red")),t(3),p(s(78,43,"settings.display.pink")),t(3),p(s(81,45,"settings.display.purple")),t(3),p(s(84,47,"settings.display.deep_purple")),t(3),p(s(87,49,"settings.display.indigo")),t(3),p(s(90,51,"settings.display.blue")),t(3),p(s(93,53,"settings.display.bluegrey")),t(3),p(s(96,55,"settings.display.cyan")),t(3),p(s(99,57,"settings.display.green")),t(3),p(s(102,59,"settings.display.teal")),t(3),p(s(105,61,"settings.display.grey")),t(3),p(s(108,63,"settings.display.brown")),t(3),u(" ",s(111,65,"settings.display.lighting_mode")," "),t(3),_("ngModel",e.$settings.lightingMode),t(2),p(s(116,67,"form.select.auto")),t(3),p(s(119,69,"settings.display.light")),t(3),p(s(122,71,"settings.display.dark")),t(3),u(" ",s(125,73,"settings.display.menu_mode")," "),t(3),_("ngModel",e.$settings.menuMode),t(2),p(s(130,75,"settings.display.menu_default")),t(3),p(s(133,77,"settings.display.menu_freeze")),t(3),u(" ",s(136,79,"settings.display.temp_units")," "),t(3),_("ngModel",e.$settings.env.temperatureUnits),t(2),p(s(141,81,"settings.display.temp_units.c")),t(3),p(s(144,83,"settings.display.temp_units.f")),t(4),p(s(148,85,"settings.display.wallpaper")),t(2),x("aria-label",s(150,87,"settings.display.wallpaper"))}}function Mt(a,m){a&1&&(i(0,"li",17)(1,"span"),r(2),o(3,"translate"),c(4,"br"),i(5,"small",75),r(6),o(7,"translate"),n()(),i(8,"a",86),o(9,"translate"),c(10,"i",20),n()()),a&2&&(t(2),u(" ",s(3,3,"menu.docker.startup_script")),t(4),p(s(7,5,"platform.docker.script_help")),t(2),x("aria-label",s(9,7,"menu.docker.startup_script")))}function Ft(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),o(3,"translate"),n(),i(4,"button",24),o(5,"translate"),r(6),o(7,"translate"),n()()),a&2&&(t(2),p(s(3,3,"settings.changes.saved")),t(2),x("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function Vt(a,m){if(a&1&&(i(0,"ul",8)(1,"li",17)(2,"span"),r(3),o(4,"translate"),i(5,"code"),r(6,"-D"),n(),c(7,"br"),i(8,"small",75),r(9),o(10,"translate"),n()(),c(11,"input",76),o(12,"translate"),c(13,"label",77),n(),i(14,"li",17)(15,"span"),r(16),o(17,"translate"),i(18,"code"),r(19,"-I"),n(),c(20,"br"),i(21,"small",75),r(22),o(23,"translate"),n()(),c(24,"input",78),o(25,"translate"),c(26,"label",79),n(),i(27,"li",17)(28,"span"),r(29),o(30,"translate"),i(31,"code"),r(32,"-K"),n(),c(33,"br"),i(34,"small",75),r(35),o(36,"translate"),n()(),c(37,"input",80),o(38,"translate"),c(39,"label",81),n(),i(40,"li",14)(41,"span")(42,"span",82),r(43,"DEBUG"),n(),c(44,"br")(45,"small",83),o(46,"translate"),n(),i(47,"div",25),c(48,"input",84),n()(),i(49,"li",14)(50,"span")(51,"span",82),r(52,"NODE_OPTIONS"),n(),c(53,"br"),i(54,"small",75),r(55),o(56,"translate"),n()(),i(57,"div",25),c(58,"input",85),n()(),v(59,Mt,11,9,"li",17),v(60,Ft,8,9,"li",22),n()),a&2){let e=g();t(3),u(" ",s(4,13,"settings.startup.debug")," "),t(6),u(" ",s(10,15,e.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),t(2),x("aria-label",s(12,17,"settings.startup.debug")),t(5),u(" ",s(17,19,"settings.startup.insecure")," "),t(6),p(s(23,21,"settings.startup.insecure_desc")),t(2),x("aria-label",s(25,23,"settings.startup.insecure")),t(5),u(" ",s(30,25,"settings.startup.keep_accessories")," "),t(6),p(s(36,27,"settings.startup.keep_accessories_desc")),t(2),x("aria-label",s(38,29,"settings.startup.keep_accessories")),t(8),_("innerHTML",W(46,31,"settings.service.debug_tooltip",H(36,Bt,e.linkDebug)),re),t(10),p(s(56,34,"settings.service.node_tooltip")),t(4),f(e.$settings.env.runningInDocker?59:-1),t(),f(e.hasChangedService?60:-1)}}function Rt(a,m){a&1&&c(0,"i",98)}function Dt(a,m){if(a&1&&(i(0,"span",88),v(1,Rt,1,0,"i",98),r(2),i(3,"span",99),r(4),o(5,"translate"),n()()),a&2){let e=m.$implicit;_("ngClass",$(6,$t,e.missing,!e.missing)),t(),f(e.missing?1:-1),t(),u(" ",e.iface,": "),t(2),p(e.missing?s(5,4,"settings.mdns_advertiser_not_connected"):e.ip4||e.ip6)}}function Pt(a,m){a&1&&(i(0,"option",92),r(1),o(2,"translate"),n()),a&2&&(t(),u("Avahi (",s(2,1,"settings.mdns_advertiser_rec"),")"))}function Ht(a,m){a&1&&(i(0,"option",95),r(1),o(2,"translate"),n()),a&2&&(t(),u("systemd-resolved (",s(2,1,"settings.mdns_advertiser_exp"),")"))}function Ut(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),o(3,"translate"),n(),i(4,"button",24),o(5,"translate"),r(6),o(7,"translate"),n()()),a&2&&(t(2),p(s(3,3,"settings.changes.saved")),t(2),x("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function Ot(a,m){if(a&1){let e=k();i(0,"ul",9)(1,"li",17)(2,"span",18),r(3),o(4,"translate"),c(5,"br"),i(6,"div",87),r(7),o(8,"translate"),n(),V(9,Dt,6,9,"span",88,F),n(),i(11,"button",89),o(12,"translate"),b("click",function(){S(e);let l=g();return w(l.selectNetworkInterfaces())}),c(13,"i",90),n()(),i(14,"li",14)(15,"span"),r(16),o(17,"translate"),c(18,"br"),i(19,"small",75),r(20),o(21,"translate"),n()(),i(22,"div",25)(23,"select",91),o(24,"translate"),v(25,Pt,3,3,"option",92),i(26,"option",93),r(27),o(28,"translate"),n(),i(29,"option",94),r(30,"Bonjour HAP"),n(),v(31,Ht,3,3,"option",95),n()()(),i(32,"li",14)(33,"span"),r(34),o(35,"translate"),c(36,"br"),i(37,"small",75),r(38),o(39,"translate"),n()(),i(40,"div",25),c(41,"input",96),o(42,"translate"),n()(),i(43,"li",14)(44,"span"),r(45),o(46,"translate"),c(47,"br"),i(48,"small",75),r(49),o(50,"translate"),n()(),i(51,"div",25),c(52,"input",97),o(53,"translate"),n()(),v(54,Ut,8,9,"li",22),n()}if(a&2){let e=g();t(3),u(" ",s(4,22,"settings.network.title_network_interfaces")),t(4),p(s(8,24,"settings.network.message_network_interface")),t(2),R(e.bridgeNetworkAdapters),t(2),_("disabled",!e.availableNetworkAdapters.length),x("aria-label",s(12,26,"settings.network.title_network_interfaces")),t(2),_("ngClass",H(48,It,!e.availableNetworkAdapters.length)),t(3),u(" ",s(17,28,"settings.mdns_advertiser")),t(4),p(s(21,30,"settings.mdns_advertiser_help")),t(3),_("formControl",e.legacyMdnsFormControl),x("aria-label",s(24,32,"settings.mdns_advertiser")),t(2),f(e.showAvahiMdnsOption?25:-1),t(2),u(" Ciao ",e.showAvahiMdnsOption?"":"("+s(28,34,"settings.mdns_advertiser_rec")+")"," "),t(4),f(e.showResolvedMdnsOption?31:-1),t(3),u(" ",s(35,36,"settings.network.port_hb")),t(4),p(s(39,38,"settings.network.port_hb_desc")),t(3),_("formControl",e.hbPortFormControl)("ngClass",H(50,ae,e.isInvalidHbPort)),x("aria-label",s(42,40,"settings.network.port_ui")),t(4),u(" ",s(46,42,"settings.network.port_ui")),t(4),p(s(50,44,"settings.network.port_ui_desc")),t(3),_("ngClass",H(52,ae,e.isInvalidHbUiPort)),x("aria-label",s(53,46,"settings.network.port_ui")),t(2),f(e.hasChangedHbPort&&!e.isInvalidHbPort||e.hasChangedUiSettings||e.hasChangedMdns||e.hasChangedBridgeNetworkAdapters?54:-1)}}function Lt(a,m){a&1&&(i(0,"p",10),r(1),o(2,"translate"),n()),a&2&&(t(),p(s(2,1,"settings.cache.desc")))}function zt(a,m){if(a&1){let e=k();i(0,"ul",11)(1,"li",17)(2,"span",18),r(3),o(4,"translate"),c(5,"br"),i(6,"small",75),r(7),o(8,"translate"),n()(),i(9,"button",19),o(10,"translate"),b("click",function(){S(e);let l=g();return w(l.removeSingleCachedAccessories())}),c(11,"i",20),n()(),i(12,"li",17)(13,"span",18),r(14),o(15,"translate"),c(16,"br"),i(17,"small",75),r(18),o(19,"translate"),n()(),i(20,"button",19),o(21,"translate"),b("click",function(){S(e);let l=g();return w(l.removeBridgeAccessories())}),c(22,"i",20),n()(),i(23,"li",17)(24,"span",18),r(25),o(26,"translate"),c(27,"br"),i(28,"small",75),r(29),o(30,"translate"),n()(),i(31,"button",19),o(32,"translate"),b("click",function(){S(e);let l=g();return w(l.removeAllCachedAccessories())}),c(33,"i",20),n()()()}a&2&&(t(3),u(" ",s(4,9,"reset.accessory_ind.title")),t(4),p(s(8,11,"reset.accessory_ind.desc")),t(2),x("aria-label",s(10,13,"reset.accessory_ind.title")),t(5),u(" ",s(15,15,"reset.bridge_accessories.title")),t(4),p(s(19,17,"reset.bridge_accessories.desc")),t(2),x("aria-label",s(21,19,"reset.accessory_all.title")),t(5),u(" ",s(26,21,"reset.accessory_all.title")),t(4),p(s(30,23,"reset.accessory_all.desc")),t(2),x("aria-label",s(32,25,"reset.accessory_all.title")))}function Wt(a,m){a&1&&(i(0,"p",10),r(1),o(2,"translate"),n()),a&2&&(t(),p(s(2,1,"reset.bridges.desc")))}function jt(a,m){if(a&1){let e=k();i(0,"ul",12)(1,"li",17)(2,"span",18),r(3),o(4,"translate"),c(5,"br"),i(6,"small",75),r(7),o(8,"translate"),n()(),i(9,"button",19),o(10,"translate"),b("click",function(){S(e);let l=g();return w(l.unpairAccessory())}),c(11,"i",20),n()(),i(12,"li",17)(13,"span",18),r(14),o(15,"translate"),o(16,"titlecase"),c(17,"br"),i(18,"small",75),r(19),o(20,"translate"),n()(),i(21,"button",19),o(22,"translate"),b("click",function(){S(e);let l=g();return w(l.resetHomebridgeState())}),c(23,"i",20),n()()()}a&2&&(t(3),u(" ",s(4,6,"reset.bridge_ind.title")),t(4),p(s(8,8,"reset.bridge_ind.desc")),t(2),x("aria-label",s(10,10,"reset.bridge_ind.title")),t(5),u(" ",s(16,14,s(15,12,"reset.bridge_all.title"))),t(5),p(s(20,16,"reset.bridge_all.desc")),t(2),x("aria-label",s(22,18,"reset.bridge_all.title")))}var fn=(()=>{class a{$api=C(M);$modal=C(Y);$plugin=C(Te);$settings=C(Z);$toastr=C(N);$translate=C(A);originalServiceForm={HOMEBRIDGE_DEBUG:!1,HOMEBRIDGE_KEEP_ORPHANS:!1,HOMEBRIDGE_INSECURE:!0,ENV_DEBUG:"",ENV_NODE_OPTIONS:""};originalUiSettingsForm={port:0};originalMdnsSetting="";originalBridgeNetworkAdapters=[];originalHbPort=0;originalHbName="";hasChangedService=!1;hasChangedUiSettings=!1;hasChangedMdns=!1;hasChangedBridgeNetworkAdapters=!1;hasChangedHbPort=!1;hasChangedHbName=!1;isInvalidHbPort=!1;isInvalidHbName=!1;isInvalidHbUiPort=!1;serviceForm=new te({HOMEBRIDGE_DEBUG:new P(!1),HOMEBRIDGE_KEEP_ORPHANS:new P(!1),HOMEBRIDGE_INSECURE:new P(!0),ENV_DEBUG:new P(""),ENV_NODE_OPTIONS:new P("")});uiSettingsForm=new te({port:new P(0)});legacyMdnsFormControl=new ge(!1);showAvahiMdnsOption=!1;showResolvedMdnsOption=!1;availableNetworkAdapters=[];bridgeNetworkAdapters=[];hbPortFormControl=new P(0);hbNameFormControl=new P("");isHbV2=!1;showFields={general:!0,display:!0,startup:!0,network:!0,reset:!0,cache:!0};linkDebug='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){}ngOnInit(){this.isHbV2=this.$settings.env.homebridgeVersion.startsWith("2"),this.hbNameFormControl.patchValue(this.$settings.env.homebridgeInstanceName),this.hbNameFormControl.valueChanges.subscribe(e=>this.setHomebridgeName(e)),this.originalHbName=this.$settings.env.homebridgeInstanceName,this.initUiSettingsForm(),this.initNetworkingOptions(),this.initStartupSettingsForm()}initUiSettingsForm(){this.originalUiSettingsForm={port:this.$settings.env.port},this.uiSettingsForm.patchValue({port:this.$settings.env.port}),this.uiSettingsForm.valueChanges.pipe(ee(500)).subscribe(e=>{let d=!1;Object.keys(e).forEach(l=>{this.originalUiSettingsForm[l]!==e[l]&&(this.saveUiSettingChange(l,e[l]),d=!0)}),this.hasChangedUiSettings=d})}initStartupSettingsForm(){this.$api.get("/platform-tools/hb-service/homebridge-startup-settings").subscribe({next:e=>{Object.keys(e).forEach(d=>{this.originalServiceForm[d]=e[d]}),this.serviceForm.patchValue(e),this.serviceForm.valueChanges.pipe(ee(500)).subscribe(this.saveStartupSettingsSettings.bind(this))},error:e=>{console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}saveUiSettingChange(e,d){switch(e){case"lang":this.$settings.setLang(d);break;case"lightingMode":this.$settings.setLightingMode(d,"user");break;case"menuMode":this.$settings.setMenuMode(d),window.location.reload();break;case"theme":this.$settings.setTheme(d);break;case"tempUnits":this.$settings.setEnvItem("temperatureUnits",d);break;case"port":if(!d||typeof d!="number"||d<1025||d>65533||Number.isInteger(d)===!1||d===this.hbPortFormControl.value){this.isInvalidHbUiPort=!0;return}this.$settings.setEnvItem("port",d),this.isInvalidHbUiPort=!1;break}I(this.$api.put("/config-editor/ui",{key:e,value:d})).catch(l=>{console.error(l),this.$toastr.error(l.message,this.$translate.instant("toast.title_error"))})}openUiSettings(){this.$plugin.settings({name:"homebridge-config-ui-x",displayName:"Homebridge UI",settingsSchema:!0,links:{}})}openBackupModal(){this.$modal.open(Ie,{size:"lg",backdrop:"static"})}openWallpaperModal(){this.$modal.open(De,{size:"lg",backdrop:"static"})}saveStartupSettingsSettings(e=this.serviceForm.value){this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",e).subscribe({next:()=>{this.hasChangedService=JSON.stringify(e)!==JSON.stringify(this.originalServiceForm)},error:d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))}})}resetHomebridgeState(){this.$modal.open(Me,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(Ve,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(Ae,{size:"lg",backdrop:"static"})}removeSingleCachedAccessories(){this.$modal.open($e,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open(Ne,{size:"lg",backdrop:"static"})}initNetworkingOptions(){return B(this,null,function*(){try{this.getNetworkSettings(),(this.$settings.env.runningInLinux||this.$settings.env.runningInDocker||this.$settings.env.runningInSynologyPackage||this.$settings.env.runningInPackageMode)&&(this.showAvahiMdnsOption=!0,this.showResolvedMdnsOption=!0)}catch{}})}getNetworkSettings(){return B(this,null,function*(){return Promise.all([I(this.$api.get("/server/network-interfaces/system")),I(this.$api.get("/server/network-interfaces/bridge")),I(this.$api.get("/server/mdns-advertiser")),I(this.$api.get("/server/port"))]).then(([e,d,l,h])=>{this.availableNetworkAdapters=e,this.buildBridgeNetworkAdapterList(d),this.legacyMdnsFormControl.patchValue(l.advertiser),this.originalMdnsSetting=l.advertiser,this.originalBridgeNetworkAdapters=this.bridgeNetworkAdapters.map(D=>D.iface),this.legacyMdnsFormControl.valueChanges.subscribe(D=>{this.setHomebridgeMdnsSetting(D)}),this.hbPortFormControl.patchValue(h.port),this.hbPortFormControl.valueChanges.subscribe(D=>this.setHomebridgePort(D)),this.originalHbPort=h.port})})}setHomebridgeMdnsSetting(e){return B(this,null,function*(){this.$api.put("/server/mdns-advertiser",{advertiser:e}).subscribe({next:()=>{this.hasChangedMdns=e!==this.originalMdnsSetting},error:d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))}})})}setNetworkInterfaces(e){return B(this,null,function*(){this.$api.put("/server/network-interfaces/bridge",{adapters:e}).subscribe({next:()=>{this.hasChangedBridgeNetworkAdapters=this.originalBridgeNetworkAdapters.join(",")!==e.join(",")},error:d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))}})})}setHomebridgeName(e){return B(this,null,function*(){if(!e||!/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u.test(e)){this.isInvalidHbName=!0;return}this.$api.put("/server/name",{name:e}).subscribe({next:()=>{this.hasChangedHbName=this.originalHbName!==e,this.$settings.setEnvItem("homebridgeInstanceName",e),this.isInvalidHbName=!1},error:()=>{this.isInvalidHbName=!0}})})}setHomebridgePort(e){return B(this,null,function*(){if(e===this.uiSettingsForm.get("port").value){this.isInvalidHbPort=!0;return}this.$api.put("/server/port",{port:e}).subscribe({next:()=>{this.hasChangedHbPort=this.originalHbPort!==e,this.isInvalidHbPort=!1},error:()=>{this.isInvalidHbPort=!0}})})}buildBridgeNetworkAdapterList(e){if(!e.length){this.bridgeNetworkAdapters=[];return}this.bridgeNetworkAdapters=e.map(d=>{let l=this.availableNetworkAdapters.find(h=>h.iface===d);return l?(l.selected=!0,l.missing=!1,l):{iface:d,missing:!0}})}selectNetworkInterfaces(){let e=this.$modal.open(Re,{size:"lg",backdrop:"static"});e.componentInstance.availableNetworkAdapters=this.availableNetworkAdapters,e.componentInstance.bridgeNetworkAdapters=this.bridgeNetworkAdapters,e.result.then(d=>{this.buildBridgeNetworkAdapterList(d),this.setNetworkInterfaces(d)}).catch(()=>{})}toggleSection(e){this.showFields[e]=!this.showFields[e]}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],decls:48,vars:49,consts:[[1,"primary-text","m-0"],[1,"my-4"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa","fa-fw",3,"ngClass"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsDisplay",1,"list-group","list-group-box","mt-2","mx-0"],["novalidate","",1,"my-4",3,"formGroup"],["id","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],[1,"small","grey-text","mb-2","mx-0"],["id","fieldsCache",1,"list-group","list-group-box","mb-4","mx-0"],["id","fieldsReset",1,"list-group","list-group-box","mt-2","mx-0"],[1,"pb-3"],[1,"list-group-item","d-block","d-md-flex","justify-content-between","align-items-center"],[1,"my-3","my-md-0","pl-0","pl-md-5","w-auto"],["type","text",1,"form-control","custom-input","resp-input",3,"formControl","ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pe-2"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px"],[1,"list-group-item","d-flex","flex-column","align-items-center"],[1,"grey-text","my-2"],["routerLink","/restart",1,"btn","btn-primary","waves-effect","my-2"],[1,"my-3","my-md-0","ps-0","ps-md-5","w-auto"],[1,"custom-select","resp-select",3,"ngModelChange","ngModel"],["value","auto"],["value","bg"],["value","ca"],["value","zh-CN"],["value","zh-TW"],["value","cs"],["value","nl"],["value","en"],["value","fi"],["value","fr"],["value","de"],["value","he"],["value","hu"],["value","id"],["value","it"],["value","ja"],["value","ko"],["value","mk"],["value","no"],["value","pl"],["value","pt-BR"],["value","pt"],["value","ru"],["value","sl"],["value","es"],["value","sv"],["value","th"],["value","tr"],["value","uk"],["value","orange"],["value","red"],["value","pink"],["value","purple"],["value","deep-purple"],["value","indigo"],["value","blue"],["value","blue-grey"],["value","cyan"],["value","green"],["value","teal"],["value","grey"],["value","brown"],["value","light"],["value","dark"],["value","default"],["value","freeze"],["value","c"],["value","f"],[1,"grey-text","pe-2"],["type","checkbox","id","homebridgeDebugMode","formControlName","HOMEBRIDGE_DEBUG",1,"rendux-input"],["for","homebridgeDebugMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeInsecureMode","formControlName","HOMEBRIDGE_INSECURE",1,"rendux-input"],["for","homebridgeInsecureMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeKeepOrphans","formControlName","HOMEBRIDGE_KEEP_ORPHANS",1,"rendux-input"],["for","homebridgeKeepOrphans",1,"rendux-label","ms-3",2,"min-width","50px"],[1,"font-monospace"],[1,"grey-text","pe-2",3,"innerHTML"],["formControlName","ENV_DEBUG","type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input","resp-input"],["formControlName","ENV_NODE_OPTIONS","type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input","resp-input"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px"],[1,"small","grey-text","pe-2"],[1,"badge","badge-primary","me-1",3,"ngClass"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click","disabled"],[1,"fas","fa-fw","fa-arrow-right",3,"ngClass"],[1,"custom-select","resp-select",3,"formControl"],["value","avahi"],["value","ciao"],["value","bonjour-hap"],["value","resolved"],["type","number","min","1025","max","65533",1,"form-control","custom-input","resp-input",3,"formControl","ngClass"],["type","number","min","1025","max","65533","placeholder","8581","formControlName","port",1,"form-control","custom-input","resp-input",3,"ngClass"],[1,"fas","fa-fw","fa-exclamation-triangle"],[1,"fw-normal"]],template:function(d,l){d&1&&(i(0,"h3",0),r(1),o(2,"translate"),n(),i(3,"div",1)(4,"div",2),b("click",function(){return l.toggleSection("general")}),i(5,"h5",3),c(6,"i",4),r(7),o(8,"translate"),n()(),v(9,At,29,26,"ul",5),n(),i(10,"div",1)(11,"div",2),b("click",function(){return l.toggleSection("display")}),i(12,"h5",3),c(13,"i",4),r(14),o(15,"translate"),n()(),v(16,Nt,152,89,"ul",6),n(),i(17,"form",7)(18,"div",2),b("click",function(){return l.toggleSection("startup")}),i(19,"h5",3),c(20,"i",4),r(21),o(22,"translate"),n()(),v(23,Vt,61,38,"ul",8),n(),i(24,"form",7)(25,"div",2),b("click",function(){return l.toggleSection("network")}),i(26,"h5",3),c(27,"i",4),r(28),o(29,"translate"),n()(),v(30,Ot,55,54,"ul",9),n(),i(31,"div",1)(32,"div",2),b("click",function(){return l.toggleSection("cache")}),i(33,"h5",3),c(34,"i",4),r(35),o(36,"translate"),n()(),v(37,Lt,3,3,"p",10),v(38,zt,34,27,"ul",11),n(),i(39,"div",1)(40,"div",2),b("click",function(){return l.toggleSection("reset")}),i(41,"h5",3),c(42,"i",4),r(43),o(44,"translate"),n()(),v(45,Wt,3,3,"p",10),v(46,jt,24,20,"ul",12),n(),c(47,"div",13)),d&2&&(t(),p(s(2,35,"menu.settings.title")),t(3),x("aria-expanded",l.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),t(2),_("ngClass",l.showFields.general?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(8,37,"settings.general.title_general")," "),t(2),f(l.showFields.general?9:-1),t(2),x("aria-expanded",l.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),t(2),_("ngClass",l.showFields.display?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(15,39,"settings.general.title_display")," "),t(2),f(l.showFields.display?16:-1),t(),_("formGroup",l.serviceForm),t(),x("aria-expanded",l.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),t(2),_("ngClass",l.showFields.startup?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(22,41,"settings.title_startup_options")," "),t(2),f(l.showFields.startup?23:-1),t(),_("formGroup",l.uiSettingsForm),t(),x("aria-expanded",l.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),t(2),_("ngClass",l.showFields.network?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(29,43,"settings.network.title_network")," "),t(2),f(l.showFields.network?30:-1),t(2),x("aria-expanded",l.showFields.cache?"true":"false")("aria-controls","fieldsCache"),t(2),_("ngClass",l.showFields.cache?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(36,45,"settings.cache.title")," "),t(2),f(l.showFields.cache?37:-1),t(),f(l.showFields.cache?38:-1),t(2),x("aria-expanded",l.showFields.reset?"true":"false")("aria-controls","fieldsReset"),t(2),_("ngClass",l.showFields.reset?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(44,47,"reset.bridges.title")," "),t(2),f(l.showFields.reset?45:-1),t(),f(l.showFields.reset?46:-1))},dependencies:[L,Ee,J,be,Se,we,ue,ve,G,Ce,q,_e,ye,ke,K,Q,fe,xe,he,j,E],encapsulation:2})}return a})();export{Ae as a,Me as b,Re as c,De as d,fn as e};
@@ -0,0 +1 @@
1
+ import{a as E}from"./chunk-4UM5QHY6.js";import{d as w}from"./chunk-2SEP7Q76.js";import{b}from"./chunk-7ZNHDMCE.js";import{h as k,k as S}from"./chunk-7Z74FGCO.js";import{a as $,b as T}from"./chunk-4SITUFK3.js";import{$a as i,Ac as c,Bc as l,Cc as y,Hb as m,Ib as p,Nb as g,Ob as r,Pb as n,Qb as u,Xa as _,Yb as v,jc as o,kc as s,la as a,lb as x,wc as C}from"./chunk-PAZ5V5TQ.js";var I=t=>({command:t});function R(t,h){t&1&&(r(0,"p",7),o(1),c(2,"translate"),n()),t&2&&(i(),s(l(2,1,"restart.please_wait_while_server_restarts")))}function D(t,h){if(t&1&&(r(0,"div",8),o(1),n()),t&2){let e=v();i(),s(e.error)}}function B(t,h){t&1&&(r(0,"div",9)(1,"div",11),u(2,"i",12),n()())}function M(t,h){if(t&1&&(r(0,"div",10)(1,"p"),o(2),c(3,"translate"),n(),u(4,"p",13),c(5,"translate"),n()),t&2){let e=v();i(2),s(l(3,2,"platform.docker.server_long_time")),i(2),g("innerHTML",y(5,4,"platform.docker.run_with_restart",C(7,I,e.command)),_)}}var N=(()=>{class t{$api=a(S);$router=a(w);$settings=a(b);$toastr=a(k);$translate=a($);$ws=a(E);checkTimeout;checkDelay;resp={};timeout=!1;error=!1;command='<span class="font-monospace">--restart=always</span>';io;constructor(){}ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch(()=>{})}),this.$api.put("/platform-tools/docker/restart-container",{}).subscribe({next:e=>{this.resp=e,this.checkIfServerUp()},error:e=>{this.error=this.$translate.instant("restart.toast_server_restart_error"),console.error(e),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"))}})}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",e=>{(e.status==="up"||e.status==="pending")&&(this.$toastr.success(this.$translate.instant("platform.docker.container_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]))})},1e4),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("restart.toast_server_restart_timeout"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},6e4)}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}static \u0275fac=function(d){return new(d||t)};static \u0275cmp=x({type:t,selectors:[["ng-component"]],decls:15,vars:10,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fab","fa-fw","fa-docker",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"],[1,"justify-content-center","my-4"],[1,"alert","alert-warning","my-4"],[1,"restart-progress-box","primary-text"],[1,"fas","fa-fw","fa-spinner","fa-spin"],[1,"grey-text","mb-0",3,"innerHTML"]],template:function(d,f){d&1&&(r(0,"div",0)(1,"h3",1),o(2),c(3,"translate"),n()(),r(4,"div",2)(5,"div",3),u(6,"i",4),n(),r(7,"div",5)(8,"h4",6),o(9),c(10,"translate"),n(),m(11,R,3,3,"p",7),m(12,D,2,1,"div",8),m(13,B,3,0,"div",9),m(14,M,6,9,"div",10),n()()),d&2&&(i(2),s(l(3,6,"menu.restart.title")),i(7),s(l(10,8,"platform.docker.title_restarting")),i(2),p(f.error?-1:11),i(),p(f.error?12:-1),i(),p(f.error?-1:13),i(),p(f.timeout?14:-1))},dependencies:[T],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return t})();export{N as a};