@sync-in/server 1.3.7 → 1.3.9

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 (435) hide show
  1. package/CHANGELOG.md +13 -13
  2. package/migrations/0001_square_mauler.sql +4 -0
  3. package/migrations/meta/0001_snapshot.json +2417 -0
  4. package/migrations/meta/_journal.json +7 -0
  5. package/package.json +45 -2
  6. package/server/app.service.spec.js +4 -4
  7. package/server/app.service.spec.js.map +1 -1
  8. package/server/applications/sync/schemas/sync-clients.schema.js +4 -4
  9. package/server/applications/sync/schemas/sync-clients.schema.js.map +1 -1
  10. package/server/applications/users/schemas/users.schema.js +4 -4
  11. package/server/applications/users/schemas/users.schema.js.map +1 -1
  12. package/server/configuration/config.constants.js +0 -4
  13. package/server/configuration/config.constants.js.map +1 -1
  14. package/server/configuration/config.loader.js +2 -2
  15. package/server/configuration/config.loader.js.map +1 -1
  16. package/server/infrastructure/database/configuration.js +1 -1
  17. package/server/infrastructure/database/configuration.js.map +1 -1
  18. package/server/infrastructure/database/constants.js +19 -5
  19. package/server/infrastructure/database/constants.js.map +1 -1
  20. package/static/assets/mimes/7zip.svg +14 -0
  21. package/static/assets/mimes/application-7zip.svg +14 -0
  22. package/static/assets/mimes/application-atom+xml.svg +15 -0
  23. package/static/assets/mimes/application-gzip.svg +16 -0
  24. package/static/assets/mimes/application-mathml+xml.svg +188 -0
  25. package/static/assets/mimes/application-mp4.svg +18 -0
  26. package/static/assets/mimes/application-msexcel.svg +1 -0
  27. package/static/assets/mimes/application-msword-template.svg +1 -0
  28. package/static/assets/mimes/application-pgp-encrypted.svg +16 -0
  29. package/static/assets/mimes/application-pgp-keys.svg +16 -0
  30. package/static/assets/mimes/application-pgp-signature.svg +16 -0
  31. package/static/assets/mimes/application-powerpoint.svg +1 -0
  32. package/static/assets/mimes/application-rdf+xml.svg +14 -0
  33. package/static/assets/mimes/application-rss+xml.svg +15 -0
  34. package/static/assets/mimes/application-rtf.svg +14 -0
  35. package/static/assets/mimes/application-text.svg +14 -0
  36. package/static/assets/mimes/application-vnd.ms-excel.sheet.binary.macroenabled.12.svg +1 -0
  37. package/static/assets/mimes/application-vnd.ms-excel.sheet.macroenabled.12.svg +1 -0
  38. package/static/assets/mimes/application-vnd.ms-excel.template.macroenabled.12.svg +1 -0
  39. package/static/assets/mimes/application-vnd.ms-powerpoint.presentation.macroenabled.12.svg +1 -0
  40. package/static/assets/mimes/application-vnd.ms-powerpoint.template.macroenabled.12.svg +1 -0
  41. package/static/assets/mimes/application-vnd.ms-word.document.macroenabled.12.svg +1 -0
  42. package/static/assets/mimes/application-vnd.ms-word.svg +1 -0
  43. package/static/assets/mimes/application-vnd.ms-word.template.macroenabled.12.svg +1 -0
  44. package/static/assets/mimes/application-vnd.mspowerpoint.svg +1 -0
  45. package/static/assets/mimes/application-vnd.oasis.opendocument.chart.svg +1 -0
  46. package/static/assets/mimes/application-vnd.oasis.opendocument.text-master.svg +92 -0
  47. package/static/assets/mimes/application-vnd.oasis.opendocument.text-web.svg +18 -0
  48. package/static/assets/mimes/application-vnd.openofficeorg.extension.svg +59 -0
  49. package/static/assets/mimes/application-vnd.openxmlformats-officedocument.presentationml.presentation.svg +1 -0
  50. package/static/assets/mimes/application-vnd.openxmlformats-officedocument.presentationml.slideshow.svg +1 -0
  51. package/static/assets/mimes/application-vnd.openxmlformats-officedocument.spreadsheetml.sheet.svg +1 -0
  52. package/static/assets/mimes/application-vnd.openxmlformats-officedocument.spreadsheetml.template.svg +1 -0
  53. package/static/assets/mimes/application-vnd.openxmlformats-officedocument.wordprocessingml.document.svg +1 -0
  54. package/static/assets/mimes/application-vnd.openxmlformats-officedocument.wordprocessingml.template.svg +1 -0
  55. package/static/assets/mimes/application-vnd.rn-realmedia.svg +18 -0
  56. package/static/assets/mimes/application-vnd.sun.xml.calc.svg +1 -0
  57. package/static/assets/mimes/application-vnd.sun.xml.writer-global.svg +1 -0
  58. package/static/assets/mimes/application-vnd.sun.xml.writer-template.svg +1 -0
  59. package/static/assets/mimes/application-vnd.sun.xml.writer.svg +1 -0
  60. package/static/assets/mimes/application-vnd.sun.xml.writer.template.svg +14 -0
  61. package/static/assets/mimes/application-wps-office.doc.svg +1 -0
  62. package/static/assets/mimes/application-wps-office.docx.svg +1 -0
  63. package/static/assets/mimes/application-wps-office.ppt.svg +1 -0
  64. package/static/assets/mimes/application-wps-office.pptx.svg +1 -0
  65. package/static/assets/mimes/application-wps-office.xls.svg +1 -0
  66. package/static/assets/mimes/application-wps-office.xlsx.svg +1 -0
  67. package/static/assets/mimes/application-x-7zip.svg +14 -0
  68. package/static/assets/mimes/application-x-ace.svg +14 -0
  69. package/static/assets/mimes/application-x-addon.svg +59 -0
  70. package/static/assets/mimes/application-x-ar.svg +16 -0
  71. package/static/assets/mimes/application-x-arc.svg +14 -0
  72. package/static/assets/mimes/application-x-archive.svg +16 -0
  73. package/static/assets/mimes/application-x-arj.svg +14 -0
  74. package/static/assets/mimes/application-x-audacity-project.svg +24 -0
  75. package/static/assets/mimes/application-x-bzdvi.svg +14 -0
  76. package/static/assets/mimes/application-x-bzip-compressed-tar.svg +14 -0
  77. package/static/assets/mimes/application-x-class-file.svg +37 -0
  78. package/static/assets/mimes/application-x-compress-tar.svg +16 -0
  79. package/static/assets/mimes/application-x-compress.svg +16 -0
  80. package/static/assets/mimes/application-x-compressed-tar.svg +14 -0
  81. package/static/assets/mimes/application-x-core.svg +20 -0
  82. package/static/assets/mimes/application-x-cpio.svg +16 -0
  83. package/static/assets/mimes/application-x-deb.svg +14 -0
  84. package/static/assets/mimes/application-x-designer.svg +48 -0
  85. package/static/assets/mimes/application-x-egon.svg +12 -0
  86. package/static/assets/mimes/application-x-extension-html.svg +18 -0
  87. package/static/assets/mimes/application-x-font-afm.svg +14 -0
  88. package/static/assets/mimes/application-x-font-snf.svg +14 -0
  89. package/static/assets/mimes/application-x-font-speedo.svg +14 -0
  90. package/static/assets/mimes/application-x-font-type1.svg +14 -0
  91. package/static/assets/mimes/application-x-gettext-translation.svg +14 -0
  92. package/static/assets/mimes/application-x-gnome-theme-package.svg +109 -0
  93. package/static/assets/mimes/application-x-gzdvi.svg +16 -0
  94. package/static/assets/mimes/application-x-gzip.svg +16 -0
  95. package/static/assets/mimes/application-x-httpd-php.svg +18 -0
  96. package/static/assets/mimes/application-x-iso9660-image.svg +292 -0
  97. package/static/assets/mimes/application-x-java-archive.svg +16 -0
  98. package/static/assets/mimes/application-x-jokosher.svg +24 -0
  99. package/static/assets/mimes/application-x-kcachegrind.svg +273 -0
  100. package/static/assets/mimes/application-x-kcsrc.svg +109 -0
  101. package/static/assets/mimes/application-x-keepass2.svg +2 -0
  102. package/static/assets/mimes/application-x-kgetlist.svg +53 -0
  103. package/static/assets/mimes/application-x-lha.svg +14 -0
  104. package/static/assets/mimes/application-x-lzma-compressed-tar.svg +16 -0
  105. package/static/assets/mimes/application-x-lzop.svg +16 -0
  106. package/static/assets/mimes/application-x-m4.svg +14 -0
  107. package/static/assets/mimes/application-x-matroska.svg +18 -0
  108. package/static/assets/mimes/application-x-mplayer2.svg +18 -0
  109. package/static/assets/mimes/application-x-ms-application.svg +306 -0
  110. package/static/assets/mimes/application-x-msdos-program.svg +306 -0
  111. package/static/assets/mimes/application-x-msdownload.svg +306 -0
  112. package/static/assets/mimes/application-x-msi.svg +306 -0
  113. package/static/assets/mimes/application-x-mswinurl.svg +18 -0
  114. package/static/assets/mimes/application-x-mswrite.svg +1 -0
  115. package/static/assets/mimes/application-x-object.svg +273 -0
  116. package/static/assets/mimes/application-x-ole-storage.svg +273 -0
  117. package/static/assets/mimes/application-x-pak.svg +16 -0
  118. package/static/assets/mimes/application-x-perl.svg +15 -0
  119. package/static/assets/mimes/application-x-php.svg +18 -0
  120. package/static/assets/mimes/application-x-python-bytecode.svg +16 -0
  121. package/static/assets/mimes/application-x-rar.svg +14 -0
  122. package/static/assets/mimes/application-x-rpm.svg +14 -0
  123. package/static/assets/mimes/application-x-ruby.svg +22 -0
  124. package/static/assets/mimes/application-x-sh.svg +17 -0
  125. package/static/assets/mimes/application-x-shared-library-la.svg +62 -0
  126. package/static/assets/mimes/application-x-shellscript.svg +17 -0
  127. package/static/assets/mimes/application-x-shockwave-flash.svg +18 -0
  128. package/static/assets/mimes/application-x-srt.svg +210 -0
  129. package/static/assets/mimes/application-x-tar.svg +16 -0
  130. package/static/assets/mimes/application-x-tarz.svg +14 -0
  131. package/static/assets/mimes/application-x-trash.svg +14 -0
  132. package/static/assets/mimes/application-x-tzo.svg +14 -0
  133. package/static/assets/mimes/application-x-wine-extension-pdd.svg +14 -0
  134. package/static/assets/mimes/application-x-zip.svg +14 -0
  135. package/static/assets/mimes/application-x-zoo.svg +14 -0
  136. package/static/assets/mimes/application-xhtml+xml.svg +18 -0
  137. package/static/assets/mimes/application-xml.svg +18 -0
  138. package/static/assets/mimes/application-xsd.svg +18 -0
  139. package/static/assets/mimes/application-xslt+xml.svg +18 -0
  140. package/static/assets/mimes/application-zip.svg +14 -0
  141. package/static/assets/mimes/applications-java.svg +14 -0
  142. package/static/assets/mimes/archive.svg +16 -0
  143. package/static/assets/mimes/ascii.svg +14 -0
  144. package/static/assets/mimes/audio-ac3.svg +24 -0
  145. package/static/assets/mimes/audio-flac.svg +24 -0
  146. package/static/assets/mimes/audio-mpeg.svg +24 -0
  147. package/static/assets/mimes/audio-vn.rn-realmedia.svg +18 -0
  148. package/static/assets/mimes/audio-vnd.rn-realvideo.svg +18 -0
  149. package/static/assets/mimes/audio-x-adpcm.svg +24 -0
  150. package/static/assets/mimes/audio-x-aiff.svg +24 -0
  151. package/static/assets/mimes/audio-x-flac+ogg.svg +24 -0
  152. package/static/assets/mimes/audio-x-flac.svg +24 -0
  153. package/static/assets/mimes/audio-x-it.svg +24 -0
  154. package/static/assets/mimes/audio-x-monkey.svg +24 -0
  155. package/static/assets/mimes/audio-x-mpegurl.svg +24 -0
  156. package/static/assets/mimes/audio-x-wav.svg +24 -0
  157. package/static/assets/mimes/audio-x-xi.svg +24 -0
  158. package/static/assets/mimes/audio-x-xm.svg +24 -0
  159. package/static/assets/mimes/binary.svg +40 -0
  160. package/static/assets/mimes/deb.svg +14 -0
  161. package/static/assets/mimes/divx.svg +18 -0
  162. package/static/assets/mimes/document.svg +14 -0
  163. package/static/assets/mimes/emblem-package.svg +16 -0
  164. package/static/assets/mimes/eps.svg +24 -0
  165. package/static/assets/mimes/exec.svg +40 -0
  166. package/static/assets/mimes/folder-tar.svg +16 -0
  167. package/static/assets/mimes/folder_tar.svg +16 -0
  168. package/static/assets/mimes/font-otf.svg +14 -0
  169. package/static/assets/mimes/font.svg +14 -0
  170. package/static/assets/mimes/font_bitmap.svg +14 -0
  171. package/static/assets/mimes/font_truetype.svg +14 -0
  172. package/static/assets/mimes/font_type1.svg +14 -0
  173. package/static/assets/mimes/fonts-package.svg +16 -0
  174. package/static/assets/mimes/gedit-plugin.svg +59 -0
  175. package/static/assets/mimes/gnome-exe-thumbnailer-generic-x.svg +306 -0
  176. package/static/assets/mimes/gnome-exe-thumbnailer-generic.svg +306 -0
  177. package/static/assets/mimes/gnome-exe-thumbnailer-template.svg +306 -0
  178. package/static/assets/mimes/gnome-fs-executable.svg +40 -0
  179. package/static/assets/mimes/gnome-mime-application-atom+xml.svg +15 -0
  180. package/static/assets/mimes/gnome-mime-application-msexcel.svg +1 -0
  181. package/static/assets/mimes/gnome-mime-application-msword.svg +1 -0
  182. package/static/assets/mimes/gnome-mime-application-ogg.svg +24 -0
  183. package/static/assets/mimes/gnome-mime-application-pdf.svg +13 -0
  184. package/static/assets/mimes/gnome-mime-application-postscript.svg +14 -0
  185. package/static/assets/mimes/gnome-mime-application-powerpoint.svg +1 -0
  186. package/static/assets/mimes/gnome-mime-application-rss+xml.svg +15 -0
  187. package/static/assets/mimes/gnome-mime-application-rtf.svg +14 -0
  188. package/static/assets/mimes/gnome-mime-application-vnd.ms-excel.svg +1 -0
  189. package/static/assets/mimes/gnome-mime-application-vnd.ms-powerpoint.svg +1 -0
  190. package/static/assets/mimes/gnome-mime-application-vnd.ms-word.svg +1 -0
  191. package/static/assets/mimes/gnome-mime-application-vnd.mspowerpoint.svg +1 -0
  192. package/static/assets/mimes/gnome-mime-application-vnd.oasis.opendocument.formula.svg +188 -0
  193. package/static/assets/mimes/gnome-mime-application-vnd.oasis.opendocument.text-web.svg +18 -0
  194. package/static/assets/mimes/gnome-mime-application-vnd.openxmlformats-officedocument.presentationml.presentation.svg +1 -0
  195. package/static/assets/mimes/gnome-mime-application-vnd.openxmlformats-officedocument.presentationml.slideshow.svg +1 -0
  196. package/static/assets/mimes/gnome-mime-application-vnd.openxmlformats-officedocument.spreadsheetml.sheet.svg +1 -0
  197. package/static/assets/mimes/gnome-mime-application-vnd.openxmlformats-officedocument.wordprocessingml.document.svg +1 -0
  198. package/static/assets/mimes/gnome-mime-application-vnd.rn-realmedia-secure.svg +18 -0
  199. package/static/assets/mimes/gnome-mime-application-vnd.rn-realmedia-vbr.svg +18 -0
  200. package/static/assets/mimes/gnome-mime-application-vnd.rn-realmedia.svg +18 -0
  201. package/static/assets/mimes/gnome-mime-application-wps-office.doc.svg +1 -0
  202. package/static/assets/mimes/gnome-mime-application-wps-office.docx.svg +1 -0
  203. package/static/assets/mimes/gnome-mime-application-wps-office.ppt.svg +1 -0
  204. package/static/assets/mimes/gnome-mime-application-wps-office.pptx.svg +1 -0
  205. package/static/assets/mimes/gnome-mime-application-wps-office.xls.svg +1 -0
  206. package/static/assets/mimes/gnome-mime-application-wps-office.xlsx.svg +1 -0
  207. package/static/assets/mimes/gnome-mime-application-x-7z-compressed.svg +14 -0
  208. package/static/assets/mimes/gnome-mime-application-x-7zip.svg +14 -0
  209. package/static/assets/mimes/gnome-mime-application-x-archive.svg +16 -0
  210. package/static/assets/mimes/gnome-mime-application-x-arj.svg +16 -0
  211. package/static/assets/mimes/gnome-mime-application-x-bittorrent.svg +53 -0
  212. package/static/assets/mimes/gnome-mime-application-x-bzip-compressed-tar.svg +16 -0
  213. package/static/assets/mimes/gnome-mime-application-x-bzip-compressed.svg +16 -0
  214. package/static/assets/mimes/gnome-mime-application-x-bzip.svg +16 -0
  215. package/static/assets/mimes/gnome-mime-application-x-class-file.svg +14 -0
  216. package/static/assets/mimes/gnome-mime-application-x-compress.svg +16 -0
  217. package/static/assets/mimes/gnome-mime-application-x-compressed-tar.svg +16 -0
  218. package/static/assets/mimes/gnome-mime-application-x-cpio-compressed.svg +16 -0
  219. package/static/assets/mimes/gnome-mime-application-x-cpio.svg +16 -0
  220. package/static/assets/mimes/gnome-mime-application-x-deb.svg +14 -0
  221. package/static/assets/mimes/gnome-mime-application-x-designer.svg +48 -0
  222. package/static/assets/mimes/gnome-mime-application-x-executable.svg +40 -0
  223. package/static/assets/mimes/gnome-mime-application-x-font-afm.svg +14 -0
  224. package/static/assets/mimes/gnome-mime-application-x-font-bdf.svg +14 -0
  225. package/static/assets/mimes/gnome-mime-application-x-font-linux-psf.svg +14 -0
  226. package/static/assets/mimes/gnome-mime-application-x-font-pcf.svg +14 -0
  227. package/static/assets/mimes/gnome-mime-application-x-font-sunos-news.svg +14 -0
  228. package/static/assets/mimes/gnome-mime-application-x-font-ttf.svg +14 -0
  229. package/static/assets/mimes/gnome-mime-application-x-glade.svg +48 -0
  230. package/static/assets/mimes/gnome-mime-application-x-gnome-app-info.svg +109 -0
  231. package/static/assets/mimes/gnome-mime-application-x-gnome-theme-package.svg +109 -0
  232. package/static/assets/mimes/gnome-mime-application-x-gzip.svg +16 -0
  233. package/static/assets/mimes/gnome-mime-application-x-gzpostscript.svg +14 -0
  234. package/static/assets/mimes/gnome-mime-application-x-jar.svg +16 -0
  235. package/static/assets/mimes/gnome-mime-application-x-java.svg +14 -0
  236. package/static/assets/mimes/gnome-mime-application-x-killustrator.svg +12 -0
  237. package/static/assets/mimes/gnome-mime-application-x-lha.svg +16 -0
  238. package/static/assets/mimes/gnome-mime-application-x-lhz.svg +16 -0
  239. package/static/assets/mimes/gnome-mime-application-x-lzma-compressed-tar.svg +16 -0
  240. package/static/assets/mimes/gnome-mime-application-x-lzma.svg +16 -0
  241. package/static/assets/mimes/gnome-mime-application-x-ms-dos-executable.svg +306 -0
  242. package/static/assets/mimes/gnome-mime-application-x-perl.svg +15 -0
  243. package/static/assets/mimes/gnome-mime-application-x-php.svg +18 -0
  244. package/static/assets/mimes/gnome-mime-application-x-python-bytecode.svg +16 -0
  245. package/static/assets/mimes/gnome-mime-application-x-rar.svg +14 -0
  246. package/static/assets/mimes/gnome-mime-application-x-rpm.svg +14 -0
  247. package/static/assets/mimes/gnome-mime-application-x-ruby.svg +22 -0
  248. package/static/assets/mimes/gnome-mime-application-x-shellscript.svg +17 -0
  249. package/static/assets/mimes/gnome-mime-application-x-shockwave-flash.svg +18 -0
  250. package/static/assets/mimes/gnome-mime-application-x-stuffit.svg +16 -0
  251. package/static/assets/mimes/gnome-mime-application-x-tar.svg +16 -0
  252. package/static/assets/mimes/gnome-mime-application-x-tarz.svg +16 -0
  253. package/static/assets/mimes/gnome-mime-application-x-tex.svg +79 -0
  254. package/static/assets/mimes/gnome-mime-application-x-theme.svg +109 -0
  255. package/static/assets/mimes/gnome-mime-application-x-zip.svg +14 -0
  256. package/static/assets/mimes/gnome-mime-application-xhtml+xml.svg +18 -0
  257. package/static/assets/mimes/gnome-mime-application-xml.svg +18 -0
  258. package/static/assets/mimes/gnome-mime-application-zip.svg +14 -0
  259. package/static/assets/mimes/gnome-mime-application.svg +40 -0
  260. package/static/assets/mimes/gnome-mime-audio.svg +24 -0
  261. package/static/assets/mimes/gnome-mime-image-vnd.adobe.photoshop.svg +14 -0
  262. package/static/assets/mimes/gnome-mime-image-x-cmu-raster.svg +12 -0
  263. package/static/assets/mimes/gnome-mime-image-x-killustrator.svg +12 -0
  264. package/static/assets/mimes/gnome-mime-image-x-psd.svg +14 -0
  265. package/static/assets/mimes/gnome-mime-image-x-xpixmap.svg +12 -0
  266. package/static/assets/mimes/gnome-mime-image.svg +12 -0
  267. package/static/assets/mimes/gnome-mime-text-html.svg +18 -0
  268. package/static/assets/mimes/gnome-mime-text-install.svg +20 -0
  269. package/static/assets/mimes/gnome-mime-text-plain.svg +14 -0
  270. package/static/assets/mimes/gnome-mime-text-vnd.wap.wml.svg +18 -0
  271. package/static/assets/mimes/gnome-mime-text-x-changelog.svg +208 -0
  272. package/static/assets/mimes/gnome-mime-text-x-copying.svg +17 -0
  273. package/static/assets/mimes/gnome-mime-text-x-csh.svg +17 -0
  274. package/static/assets/mimes/gnome-mime-text-x-gtkrc.svg +109 -0
  275. package/static/assets/mimes/gnome-mime-text-x-install.svg +17 -0
  276. package/static/assets/mimes/gnome-mime-text-x-java-source.svg +14 -0
  277. package/static/assets/mimes/gnome-mime-text-x-java.svg +14 -0
  278. package/static/assets/mimes/gnome-mime-text-x-makefile.svg +176 -0
  279. package/static/assets/mimes/gnome-mime-text-x-opml+xml.svg +15 -0
  280. package/static/assets/mimes/gnome-mime-text-x-opml.svg +15 -0
  281. package/static/assets/mimes/gnome-mime-text-x-python.svg +16 -0
  282. package/static/assets/mimes/gnome-mime-text-x-readme.svg +15 -0
  283. package/static/assets/mimes/gnome-mime-text-x-sh.svg +17 -0
  284. package/static/assets/mimes/gnome-mime-text-x-zsh.svg +17 -0
  285. package/static/assets/mimes/gnome-mime-text.svg +14 -0
  286. package/static/assets/mimes/gnome-mime-video-x-ms-asf.svg +18 -0
  287. package/static/assets/mimes/gnome-mime-video-x-ms-wmv.svg +18 -0
  288. package/static/assets/mimes/gnome-mime-video.svg +18 -0
  289. package/static/assets/mimes/gnome-mime-x-font-afm.svg +14 -0
  290. package/static/assets/mimes/gnome-mime-x-install.svg +20 -0
  291. package/static/assets/mimes/gnome-package.svg +16 -0
  292. package/static/assets/mimes/html.svg +18 -0
  293. package/static/assets/mimes/image-gif.svg +12 -0
  294. package/static/assets/mimes/image-jpeg.svg +12 -0
  295. package/static/assets/mimes/image-png.svg +12 -0
  296. package/static/assets/mimes/image-svg+xml-compressed.svg +12 -0
  297. package/static/assets/mimes/image-svg+xml.svg +12 -0
  298. package/static/assets/mimes/image-vnd.adobe.photoshop.svg +14 -0
  299. package/static/assets/mimes/image-vnd.microsoft.icon.svg +12 -0
  300. package/static/assets/mimes/image-x-psdimage-x-psd.svg +14 -0
  301. package/static/assets/mimes/image-x-xfig.svg +12 -0
  302. package/static/assets/mimes/image.svg +12 -0
  303. package/static/assets/mimes/internet-feed.svg +15 -0
  304. package/static/assets/mimes/libpeas-plugin.svg +59 -0
  305. package/static/assets/mimes/libreoffice-database.svg +155 -0
  306. package/static/assets/mimes/libreoffice-extension.svg +59 -0
  307. package/static/assets/mimes/libreoffice-extensionn.svg +59 -0
  308. package/static/assets/mimes/libreoffice-formula.svg +188 -0
  309. package/static/assets/mimes/libreoffice-oasis-formula.svg +188 -0
  310. package/static/assets/mimes/libreoffice34-extension.svg +59 -0
  311. package/static/assets/mimes/media-audio.svg +24 -0
  312. package/static/assets/mimes/media-video.svg +18 -0
  313. package/static/assets/mimes/mime-ascii.svg +14 -0
  314. package/static/assets/mimes/mime_ascii.svg +14 -0
  315. package/static/assets/mimes/misc.svg +14 -0
  316. package/static/assets/mimes/multipart-encrypted.svg +273 -0
  317. package/static/assets/mimes/music.svg +24 -0
  318. package/static/assets/mimes/none.svg +110 -0
  319. package/static/assets/mimes/openofficeorg3-extension.svg +59 -0
  320. package/static/assets/mimes/package.svg +16 -0
  321. package/static/assets/mimes/package_editors.svg +14 -0
  322. package/static/assets/mimes/pdf.svg +13 -0
  323. package/static/assets/mimes/preferences-certificate.svg +28 -0
  324. package/static/assets/mimes/preferences-plugin.svg +59 -0
  325. package/static/assets/mimes/rar.svg +14 -0
  326. package/static/assets/mimes/raw.svg +12 -0
  327. package/static/assets/mimes/scii.svg +14 -0
  328. package/static/assets/mimes/shellscript.svg +17 -0
  329. package/static/assets/mimes/sound.svg +24 -0
  330. package/static/assets/mimes/stock_certificate.svg +28 -0
  331. package/static/assets/mimes/stock_new-formula.svg +188 -0
  332. package/static/assets/mimes/stock_new-html.svg +18 -0
  333. package/static/assets/mimes/stock_script.svg +17 -0
  334. package/static/assets/mimes/stock_scripts.svg +17 -0
  335. package/static/assets/mimes/tar.svg +16 -0
  336. package/static/assets/mimes/text-css.svg +18 -0
  337. package/static/assets/mimes/text-enriched.svg +14 -0
  338. package/static/assets/mimes/text-htmlh.svg +18 -0
  339. package/static/assets/mimes/text-javascript.svg +6 -0
  340. package/static/assets/mimes/text-mht.svg +18 -0
  341. package/static/assets/mimes/text-plain.svg +14 -0
  342. package/static/assets/mimes/text-x-bibtex.svg +79 -0
  343. package/static/assets/mimes/text-x-gtkrc.svg +109 -0
  344. package/static/assets/mimes/text-x-java-source.svg +14 -0
  345. package/static/assets/mimes/text-x-lua.svg +14 -0
  346. package/static/assets/mimes/text-x-nfo.svg +14 -0
  347. package/static/assets/mimes/text-x-opml+xml.svg +15 -0
  348. package/static/assets/mimes/text-x-opml.svg +15 -0
  349. package/static/assets/mimes/text-x-tex.svg +79 -0
  350. package/static/assets/mimes/text-x-vala.svg +14 -0
  351. package/static/assets/mimes/text-x.svg +14 -0
  352. package/static/assets/mimes/text-xmcd.svg +358 -0
  353. package/static/assets/mimes/text.svg +14 -0
  354. package/static/assets/mimes/text2.svg +14 -0
  355. package/static/assets/mimes/tgz.svg +16 -0
  356. package/static/assets/mimes/txt.svg +14 -0
  357. package/static/assets/mimes/txt2.svg +14 -0
  358. package/static/assets/mimes/uri-mms.svg +18 -0
  359. package/static/assets/mimes/uri-mmst.svg +18 -0
  360. package/static/assets/mimes/uri-mmsu.svg +18 -0
  361. package/static/assets/mimes/uri-pnm.svg +18 -0
  362. package/static/assets/mimes/uri-rtspt.svg +18 -0
  363. package/static/assets/mimes/uri-rtspu.svg +18 -0
  364. package/static/assets/mimes/video-mp4.svg +18 -0
  365. package/static/assets/mimes/video-quicktime.svg +18 -0
  366. package/static/assets/mimes/video-vivo.svg +18 -0
  367. package/static/assets/mimes/video-wavelet.svg +18 -0
  368. package/static/assets/mimes/video-webm.svg +18 -0
  369. package/static/assets/mimes/video-x-anim.svg +18 -0
  370. package/static/assets/mimes/video-x-flic.svg +18 -0
  371. package/static/assets/mimes/video-x-google-vlc-plugin.svg +18 -0
  372. package/static/assets/mimes/video-x-javafx.svg +18 -0
  373. package/static/assets/mimes/video-x-matroska.svg +18 -0
  374. package/static/assets/mimes/video-x-mng.svg +18 -0
  375. package/static/assets/mimes/video-x-ms-asf-plugin.svg +18 -0
  376. package/static/assets/mimes/video-x-ms-asf.svg +18 -0
  377. package/static/assets/mimes/video-x-ms-wmp.svg +18 -0
  378. package/static/assets/mimes/video-x-ms-wmv.svg +18 -0
  379. package/static/assets/mimes/video-x-nsv.svg +18 -0
  380. package/static/assets/mimes/video-x-sgi-movie.svg +18 -0
  381. package/static/assets/mimes/video-x-theora+ogg.svg +18 -0
  382. package/static/assets/mimes/video-x-wmv.svg +18 -0
  383. package/static/assets/mimes/video.svg +18 -0
  384. package/static/assets/mimes/www.svg +18 -0
  385. package/static/assets/mimes/x-kde-nsplugin-generated.svg +59 -0
  386. package/static/assets/mimes/zip.svg +14 -0
  387. package/static/{chunk-CS5K4IBF.js → chunk-3FX6ISDY.js} +1 -1
  388. package/static/chunk-3S4WNZ2T.js +7 -0
  389. package/static/chunk-4KESSWTF.js +1 -0
  390. package/static/{chunk-62NKWSCZ.js → chunk-4TEHM3AS.js} +1 -1
  391. package/static/chunk-AY2GOSJ2.js +24 -0
  392. package/static/chunk-BW5PQAKK.js +4 -0
  393. package/static/{chunk-MGWJOK6G.js → chunk-CLSVDV7J.js} +1 -1
  394. package/static/chunk-FJFNDK67.js +1 -0
  395. package/static/{chunk-YCR3E6AS.js → chunk-HUWQHCUX.js} +1 -1
  396. package/static/{chunk-KOYXXWT3.js → chunk-KFM544CA.js} +1 -1
  397. package/static/{chunk-ATROK3XR.js → chunk-LB7B5RIV.js} +1 -1
  398. package/static/{chunk-CBQRUHAW.js → chunk-LYTD6AJE.js} +1 -1
  399. package/static/{chunk-FNR2JLQZ.js → chunk-MK7WZG3F.js} +1 -1
  400. package/static/{chunk-3UFSZ24R.js → chunk-MTRNPGS4.js} +1 -1
  401. package/static/{chunk-ME4DNAIM.js → chunk-MWFRZBJD.js} +1 -1
  402. package/static/{chunk-VUBNAENR.js → chunk-N3T57OCA.js} +1 -1
  403. package/static/{chunk-USM4HKKT.js → chunk-NV2MEIWP.js} +1 -1
  404. package/static/{chunk-H5ZPIT76.js → chunk-O4AQBQBF.js} +1 -1
  405. package/static/{chunk-OHGTSIIO.js → chunk-O67RFAWU.js} +1 -1
  406. package/static/{chunk-CXGKFQMB.js → chunk-PYSFXLMV.js} +1 -1
  407. package/static/{chunk-BMZK5PGX.js → chunk-QTW62OKJ.js} +1 -1
  408. package/static/chunk-RSNLYAN6.js +560 -0
  409. package/static/{chunk-PU26FIXJ.js → chunk-S5WXHO6D.js} +1 -1
  410. package/static/{chunk-VCXIQZT4.js → chunk-SH5EVL4E.js} +4 -4
  411. package/static/{chunk-K375F6CH.js → chunk-SKDQM65G.js} +1 -1
  412. package/static/{chunk-IYMU2AOQ.js → chunk-SRLMFJ7C.js} +1 -1
  413. package/static/{chunk-OWYD7F64.js → chunk-TTQ37MUV.js} +1 -1
  414. package/static/chunk-WL65GYD5.js +4 -0
  415. package/static/{chunk-ZFGAD4UR.js → chunk-WLPYIJFI.js} +1 -1
  416. package/static/chunk-XE5YHU5J.js +1 -0
  417. package/static/{chunk-NC5X67U2.js → chunk-XUZSYWRF.js} +1 -1
  418. package/static/{chunk-MDYFTKWU.js → chunk-Z5X7LVMZ.js} +1 -1
  419. package/static/{chunk-AOASP2ML.js → chunk-ZFKCGL6X.js} +1 -1
  420. package/static/chunk-ZTXJC5IC.js +1 -0
  421. package/static/index.html +1 -1
  422. package/static/main-RREKR34B.js +10 -0
  423. package/static/{polyfills-GNKGQMRJ.js → polyfills-IA5XWQYN.js} +1 -1
  424. package/static/{scripts-263WP5VB.js → scripts-VZVAP2P4.js} +4 -4
  425. package/sync-in-server.js +1 -1
  426. package/static/chunk-3CQHRM6K.js +0 -24
  427. package/static/chunk-7DWT7W6L.js +0 -1
  428. package/static/chunk-E2MMQS3P.js +0 -1
  429. package/static/chunk-EUCMHS6F.js +0 -4
  430. package/static/chunk-H3O3N5LY.js +0 -4
  431. package/static/chunk-J6YSVODR.js +0 -1
  432. package/static/chunk-JQOMI5VI.js +0 -560
  433. package/static/chunk-MAVDZOWK.js +0 -1
  434. package/static/chunk-N6A3HHB5.js +0 -7
  435. package/static/main-TFDBY2TB.js +0 -10
@@ -1 +1 @@
1
- import{a as z}from"./chunk-H5ZPIT76.js";import"./chunk-FNR2JLQZ.js";import{a as L,b as Q,c as xe,d as Ce}from"./chunk-ME4DNAIM.js";import{g as he}from"./chunk-7DWT7W6L.js";import{B as ee,Hb as ue,Ib as $,Ja as se,Jb as O,Qa as ce,Xa as pe,kb as _e,ob as me,pa as re,qa as ae,ra as le,v as Y,w as Z,xb as de}from"./chunk-H3O3N5LY.js";import"./chunk-ZZ3LHYOY.js";import{d as W}from"./chunk-J6YSVODR.js";import{Cb as x,Eb as a,Ed as G,Fd as X,Gc as U,Ib as b,If as ie,Jb as V,Kb as M,Ma as l,Mb as g,Nb as E,Ob as N,Pb as d,Qb as B,Rb as v,Sb as q,Ue as te,Uf as ne,Xa as H,Yb as K,Zc as j,Zf as oe,ab as k,dc as f,fc as T,ha as S,ib as D,jb as C,kb as h,ma as _,na as m,nb as P,ob as F,pb as u,qb as s,rb as p,sb as w,yd as J,zb as y}from"./chunk-JQOMI5VI.js";import"./chunk-RTRJ3KFH.js";var I=class{constructor(r){this.newly=0,this.isPersonal=!1,Object.assign(this,r),this.isPersonal=this.alias===me.PERSONAL,this.hTimeAgo=(0,ee.default)(this.mtime).fromNow(!0),this.newly=ce(this.mtime)}};var we=["MainContextMenu"],ge=["TargetContextMenu"],fe=(t,r)=>r.id,Te=(t,r)=>r.key;function ye(t,r){if(t&1&&(s(0,"span",25),d(1),p()),t&2){let e=a().$implicit,i=a(2);g("font-size",i.galleryMode.textSize,"px"),l(),B(e.hTimeAgo)}}function ve(t,r){if(t&1&&(d(0),f(1,"translate")),t&2){let e=a().$implicit,i=a(2);v(" ",T(1,1,e.name,i.locale.language)," ")}}function Se(t,r){if(t&1&&d(0),t&2){let e=a().$implicit;v(" ",e.name," ")}}function be(t,r){if(t&1){let e=y();s(0,"div",16),x("click",function(){let n=_(e).$implicit,o=a(2);return m(o.onSelect(n))})("contextmenu",function(n){let o=_(e).$implicit,c=a(2);return m(c.onTargetContextMenu(n,o))})("pressup",function(n){let o=_(e).$implicit,c=a(2);return m(c.onTargetContextMenu(n,o))})("tap",function(){let n=_(e).$implicit,o=a(2);return m(o.browse(n))}),s(1,"div",17),w(2,"fa-icon",18),s(3,"span",19),C(4,ye,2,3,"span",20),p(),s(5,"span",21)(6,"span",22),d(7),p()()(),s(8,"div",23)(9,"span",24),C(10,ve,2,4)(11,Se,1,1),p()()()}if(t&2){let e=r.$implicit,i=r.$index,n=a(2);g("height",n.galleryMode.dimensions,"px")("width",n.galleryMode.dimensions,"px"),E("selected",e.id===(n.selected==null?null:n.selected.id)),l(),D("rowIndex",i),l(),g("min-width",n.galleryMode.image,"px")("min-height",n.galleryMode.image,"px")("font-size",n.galleryMode.faSize,"px"),u("icon",e.isPersonal?n.icons.PERSONAL:n.icons.SPACES),l(2),h(e.newly?4:-1),l(2),g("font-size",n.galleryMode.textSize,"px"),l(),B(e.nb),l(2),g("font-size",n.galleryMode.textSize,"px"),l(),h(e.isPersonal?10:11)}}function Ve(t,r){if(t&1){let e=y();s(0,"div",9)(1,"app-virtual-scroll",13),f(2,"searchFilter"),x("contextmenu",function(n){_(e);let o=a();return m(o.onContextMenu(n))}),s(3,"div",14),P(4,be,12,21,"div",15,fe),p()()()}if(t&2){let e=a();l(),u("childHeight",e.galleryMode.dimensions)("childWidth",e.galleryMode.dimensions)("items",T(2,5,e.trashBins,e.inputFilter.search()))("galleryMode",!0)("resizeOffset",110),l(3),F(e.scrollView==null?null:e.scrollView.viewPortItems)}}function Me(t,r){if(t&1&&w(0,"fa-icon",32),t&2){let e=a(4);u("icon",e.sortTable.sortParam.asc?e.icons.faArrowDown:e.icons.faArrowUp)("fixedWidth",!1)}}function Pe(t,r){if(t&1){let e=y();s(0,"th",31),x("click",function(){_(e);let n=a().$implicit,o=a(2);return m(o.sortBy(n.key))}),d(1),C(2,Me,1,2,"fa-icon",32),p()}if(t&2){let e=a().$implicit,i=a(2);N(e.value.class),g("width",e.value.width,"%"),E("text-align-center",e.value.textCenter)("cursor-pointer",e.value.sortable),l(),v(" ",e.value.label," "),l(),h(i.sortTable.sortParam.column===e.key?2:-1)}}function Fe(t,r){if(t&1&&C(0,Pe,3,10,"th",30),t&2){let e=r.$implicit;h(e.value.show?0:-1)}}function Ee(t,r){if(t&1&&(d(0),f(1,"translate")),t&2){let e=a(4).$implicit,i=a(2);v(" ",T(1,1,e.name,i.locale.language)," ")}}function Ae(t,r){if(t&1&&d(0),t&2){let e=a(4).$implicit;v(" ",e.name," ")}}function Be(t,r){if(t&1&&(s(0,"div",35),w(1,"fa-icon",18),s(2,"span",24),C(3,Ee,2,4)(4,Ae,1,1),p()()),t&2){let e=a(3).$implicit,i=a(2);l(),u("icon",e.isPersonal?i.icons.PERSONAL:i.icons.SPACES),l(2),h(e.isPersonal?3:4)}}function $e(t,r){if(t&1&&(s(0,"span",22),d(1),p()),t&2){let e=a(3).$implicit;l(),B(e.nb)}}function Ie(t,r){if(t&1&&d(0),t&2){let e=a(3).$implicit;v(" ",e.hTimeAgo," ")}}function Re(t,r){if(t&1&&(s(0,"td"),C(1,Be,5,2,"div",35)(2,$e,2,1,"span",22)(3,Ie,1,1),p()),t&2){let e,i=a().$implicit,n=a().$implicit;N(K("",i.value.class," ",i.value.newly?"prop-newly-"+n[i.value.newly]:"")),g("width",i.value.width,"%"),E("text-align-center",i.value.textCenter),l(),h((e=i.key)==="name"?1:e==="nb"?2:e==="modified"?3:-1)}}function ke(t,r){if(t&1&&C(0,Re,4,9,"td",34),t&2){let e=r.$implicit;h(e.value.show?0:-1)}}function Ne(t,r){if(t&1){let e=y();s(0,"tr",33),x("click",function(){let n=_(e).$implicit,o=a(2);return m(o.onSelect(n))})("contextmenu",function(n){let o=_(e).$implicit,c=a(2);return m(c.onTargetContextMenu(n,o))})("pressup",function(n){let o=_(e).$implicit,c=a(2);return m(c.onTargetContextMenu(n,o))})("tap",function(){let n=_(e).$implicit,o=a(2);return m(o.browse(n))}),P(1,ke,1,1,null,null,Te),f(3,"keyvalue"),p()}if(t&2){let e=r.$implicit,i=a(2);E("selected",e.id===(i.selected==null?null:i.selected.id)),l(),F(T(3,2,i.tableHeaders,i.originalOrderKeyValue))}}function Oe(t,r){if(t&1){let e=y();s(0,"table",26)(1,"thead")(2,"tr"),P(3,Fe,1,1,null,null,Te),f(5,"keyvalue"),p()()(),s(6,"app-virtual-scroll",27),f(7,"searchFilter"),x("contextmenu",function(n){_(e);let o=a();return m(o.onContextMenu(n))}),s(8,"table",26)(9,"tbody",28),P(10,Ne,4,5,"tr",29,fe),p()()()}if(t&2){let e=a();l(3),F(T(5,2,e.tableHeaders,e.originalOrderKeyValue)),l(3),u("bufferAmount",5)("items",T(7,5,e.trashBins,e.inputFilter.search())),l(4),F(e.scrollView==null?null:e.scrollView.viewPortItems)}}function Le(t,r){if(t&1&&(s(0,"span",36),w(1,"fa-icon",37),d(2,"Refresh"),p()),t&2){let e=a();l(),u("icon",e.icons.faArrowRotateRight)}}function Qe(t,r){if(t&1&&(s(0,"span",36),w(1,"fa-icon",37),d(2,"Informations"),p()),t&2){let e=a();l(),u("icon",e.icons.faCircleInfo)}}var Ct=(()=>{let r=class r{constructor(){this.locale=S(J),this.layout=S(de),this.originalOrderKeyValue=pe,this.icons={SPACES:$.SPACES,PERSONAL:$.PERSONAL,faArrowDown:ne,faArrowUp:te,faArrowRotateRight:ie,faCircleInfo:oe},this.TAB_MENU=se,this.loading=!1,this.selected=null,this.trashBins=[],this.tableHeaders={name:{label:"Space",width:50,textCenter:!1,class:"",show:!0,sortable:!0},nb:{label:"Elements",width:10,textCenter:!0,class:"",show:!0,sortable:!0},modified:{label:"Modified",width:10,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.btnSortFields={name:"Name",nb:"Elements",mtime:"Modified"},this.router=S(W),this.store=S(_e),this.spacesService=S(he),this.sortSettings={default:[{prop:"isPersonal",type:"number"},{prop:"name",type:"string"}],name:[{prop:"name",type:"string"}],nb:[{prop:"nb",type:"number"}],modified:[{prop:"mtime",type:"date"}]},this.sortTable=new Ce(this.constructor.name,this.sortSettings),this.loadTrashBins(),this.layout.setBreadcrumbIcon($.TRASH),this.layout.setBreadcrumbNav({url:`/${O.TRASH}/${ue.TRASH}`,translating:!0,sameLink:!0})}ngOnInit(){this.galleryMode=this.btnNavigationView.currentView()}loadTrashBins(){this.loading=!0,this.onSelect(),this.spacesService.listTrashBins().subscribe({next:i=>{this.sortBy(this.sortTable.sortParam.column,!1,i.map(n=>new I(n))),this.loading=!1}})}onSelect(i=null){this.selected=i,this.store.trashSelection.set(this.selected)}sortBy(i,n=!0,o){this.trashBins=this.sortTable.sortBy(i,n,o||this.trashBins)}onContextMenu(i){i.preventDefault(),i.stopPropagation(),this.layout.openContextMenu(i,this.mainContextMenu)}onTargetContextMenu(i,n){i.preventDefault(),i.type==="contextmenu"&&i.stopPropagation(),this.onSelect(n),this.layout.openContextMenu(i,this.targetContextMenu)}browse(i){this.router.navigate([O.SPACES_TRASH,i.alias]).catch(console.error)}};r.\u0275fac=function(n){return new(n||r)},r.\u0275cmp=H({type:r,selectors:[["app-spaces-trash"]],viewQuery:function(n,o){if(n&1&&(b(Q,5),b(L,7),b(z,7),b(we,7),b(ge,7)),n&2){let c;V(c=M())&&(o.scrollView=c.first),V(c=M())&&(o.inputFilter=c.first),V(c=M())&&(o.btnNavigationView=c.first),V(c=M())&&(o.mainContextMenu=c.first),V(c=M())&&(o.targetContextMenu=c.first)}},decls:20,vars:14,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],[1,"ms-auto"],[1,"btn-group","btn-group-sm","me-1"],[1,"d-none","d-sm-block"],[3,"sortBy","switchView","sortParams","sortFields"],[1,"app-thumbs"],["contextMenuItem","",3,"execute"],[1,"app-foot-menu"],[1,"mx-auto"],[3,"contextmenu","childHeight","childWidth","items","galleryMode","resizeOffset"],["tabindex","-1",1,"row","g-0"],[1,"card",3,"selected","height","width"],[1,"card",3,"click","contextmenu","pressup","tap"],[1,"card-body"],[1,"circle-primary-icon",3,"icon"],[1,"label-top-right"],["l10nTranslate","",1,"badge","rounded-pill","bg-warning",3,"font-size"],[1,"label-bottom-right"],[1,"badge","rounded-pill","bg-danger"],[1,"card-footer","text-center","text-truncate","p-1"],["draggable","false",1,"no-pointer-events"],["l10nTranslate","",1,"badge","rounded-pill","bg-warning"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"selected"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"icon","fixedWidth"],[3,"click","contextmenu","pressup","tap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center"],["l10nTranslate",""],[3,"icon"]],template:function(n,o){if(n&1){let c=y();s(0,"div",2)(1,"button",3),f(2,"translate"),x("click",function(){return _(c),m(o.loadTrashBins())}),w(3,"fa-icon",4),p(),s(4,"div",5)(5,"div",6),w(6,"app-input-filter",7),p(),s(7,"app-navigation-view",8),x("sortBy",function(R){return _(c),m(o.sortBy(R))})("switchView",function(R){return _(c),m(o.galleryMode=R)}),p()()(),C(8,Ve,6,8,"div",9)(9,Oe,12,8),s(10,"context-menu",null,0),k(12,Le,3,1,"ng-template",10),x("execute",function(){return _(c),m(o.loadTrashBins())}),p(),s(13,"context-menu",null,1),k(15,Qe,3,1,"ng-template",10),x("execute",function(){return _(c),m(o.layout.showRSideBarTab(o.TAB_MENU.SELECTION))}),p(),s(16,"div",11)(17,"span",12),d(18),f(19,"translate"),p()()}n&2&&(l(),u("tooltip",T(2,8,"Refresh",o.locale.language)),l(2),u("icon",o.icons.faArrowRotateRight)("animation",o.loading?"spin":null),l(4),u("sortParams",o.sortTable.sortParam)("sortFields",o.btnSortFields),l(),h(o.galleryMode!=null&&o.galleryMode.enabled?8:9),l(10),q("",o.trashBins.length," ",T(19,11,"trash bins",o.locale.language)))},dependencies:[j,z,L,Z,Y,Q,X,le,ae,re,G,U,xe],encapsulation:2});let t=r;return t})();export{Ct as TrashComponent};
1
+ import{a as z}from"./chunk-O4AQBQBF.js";import"./chunk-MK7WZG3F.js";import{a as L,b as Q,c as xe,d as Ce}from"./chunk-MWFRZBJD.js";import{g as he}from"./chunk-ZTXJC5IC.js";import{B as ee,Gb as ue,Hb as $,Ib as O,Ja as se,Qa as ce,Xa as pe,kb as _e,nb as me,pa as re,qa as ae,ra as le,v as Y,w as Z,wb as de}from"./chunk-WL65GYD5.js";import"./chunk-ZZ3LHYOY.js";import{d as W}from"./chunk-XE5YHU5J.js";import{Cb as x,Eb as a,Ed as G,Fd as X,Gc as U,Ib as b,If as ie,Jb as V,Kb as M,Ma as l,Mb as g,Nb as E,Ob as N,Pb as d,Qb as B,Rb as v,Sb as q,Ue as te,Uf as ne,Xa as H,Yb as K,Zc as j,Zf as oe,ab as k,dc as f,fc as T,ha as S,ib as D,jb as C,kb as h,ma as _,na as m,nb as P,ob as F,pb as u,qb as s,rb as p,sb as w,yd as J,zb as y}from"./chunk-RSNLYAN6.js";import"./chunk-RTRJ3KFH.js";var I=class{constructor(r){this.newly=0,this.isPersonal=!1,Object.assign(this,r),this.isPersonal=this.alias===me.PERSONAL,this.hTimeAgo=(0,ee.default)(this.mtime).fromNow(!0),this.newly=ce(this.mtime)}};var we=["MainContextMenu"],ge=["TargetContextMenu"],fe=(t,r)=>r.id,Te=(t,r)=>r.key;function ye(t,r){if(t&1&&(s(0,"span",25),d(1),p()),t&2){let e=a().$implicit,i=a(2);g("font-size",i.galleryMode.textSize,"px"),l(),B(e.hTimeAgo)}}function ve(t,r){if(t&1&&(d(0),f(1,"translate")),t&2){let e=a().$implicit,i=a(2);v(" ",T(1,1,e.name,i.locale.language)," ")}}function Se(t,r){if(t&1&&d(0),t&2){let e=a().$implicit;v(" ",e.name," ")}}function be(t,r){if(t&1){let e=y();s(0,"div",16),x("click",function(){let n=_(e).$implicit,o=a(2);return m(o.onSelect(n))})("contextmenu",function(n){let o=_(e).$implicit,c=a(2);return m(c.onTargetContextMenu(n,o))})("pressup",function(n){let o=_(e).$implicit,c=a(2);return m(c.onTargetContextMenu(n,o))})("tap",function(){let n=_(e).$implicit,o=a(2);return m(o.browse(n))}),s(1,"div",17),w(2,"fa-icon",18),s(3,"span",19),C(4,ye,2,3,"span",20),p(),s(5,"span",21)(6,"span",22),d(7),p()()(),s(8,"div",23)(9,"span",24),C(10,ve,2,4)(11,Se,1,1),p()()()}if(t&2){let e=r.$implicit,i=r.$index,n=a(2);g("height",n.galleryMode.dimensions,"px")("width",n.galleryMode.dimensions,"px"),E("selected",e.id===(n.selected==null?null:n.selected.id)),l(),D("rowIndex",i),l(),g("min-width",n.galleryMode.image,"px")("min-height",n.galleryMode.image,"px")("font-size",n.galleryMode.faSize,"px"),u("icon",e.isPersonal?n.icons.PERSONAL:n.icons.SPACES),l(2),h(e.newly?4:-1),l(2),g("font-size",n.galleryMode.textSize,"px"),l(),B(e.nb),l(2),g("font-size",n.galleryMode.textSize,"px"),l(),h(e.isPersonal?10:11)}}function Ve(t,r){if(t&1){let e=y();s(0,"div",9)(1,"app-virtual-scroll",13),f(2,"searchFilter"),x("contextmenu",function(n){_(e);let o=a();return m(o.onContextMenu(n))}),s(3,"div",14),P(4,be,12,21,"div",15,fe),p()()()}if(t&2){let e=a();l(),u("childHeight",e.galleryMode.dimensions)("childWidth",e.galleryMode.dimensions)("items",T(2,5,e.trashBins,e.inputFilter.search()))("galleryMode",!0)("resizeOffset",110),l(3),F(e.scrollView==null?null:e.scrollView.viewPortItems)}}function Me(t,r){if(t&1&&w(0,"fa-icon",32),t&2){let e=a(4);u("icon",e.sortTable.sortParam.asc?e.icons.faArrowDown:e.icons.faArrowUp)("fixedWidth",!1)}}function Pe(t,r){if(t&1){let e=y();s(0,"th",31),x("click",function(){_(e);let n=a().$implicit,o=a(2);return m(o.sortBy(n.key))}),d(1),C(2,Me,1,2,"fa-icon",32),p()}if(t&2){let e=a().$implicit,i=a(2);N(e.value.class),g("width",e.value.width,"%"),E("text-align-center",e.value.textCenter)("cursor-pointer",e.value.sortable),l(),v(" ",e.value.label," "),l(),h(i.sortTable.sortParam.column===e.key?2:-1)}}function Fe(t,r){if(t&1&&C(0,Pe,3,10,"th",30),t&2){let e=r.$implicit;h(e.value.show?0:-1)}}function Ee(t,r){if(t&1&&(d(0),f(1,"translate")),t&2){let e=a(4).$implicit,i=a(2);v(" ",T(1,1,e.name,i.locale.language)," ")}}function Ae(t,r){if(t&1&&d(0),t&2){let e=a(4).$implicit;v(" ",e.name," ")}}function Be(t,r){if(t&1&&(s(0,"div",35),w(1,"fa-icon",18),s(2,"span",24),C(3,Ee,2,4)(4,Ae,1,1),p()()),t&2){let e=a(3).$implicit,i=a(2);l(),u("icon",e.isPersonal?i.icons.PERSONAL:i.icons.SPACES),l(2),h(e.isPersonal?3:4)}}function $e(t,r){if(t&1&&(s(0,"span",22),d(1),p()),t&2){let e=a(3).$implicit;l(),B(e.nb)}}function Ie(t,r){if(t&1&&d(0),t&2){let e=a(3).$implicit;v(" ",e.hTimeAgo," ")}}function Re(t,r){if(t&1&&(s(0,"td"),C(1,Be,5,2,"div",35)(2,$e,2,1,"span",22)(3,Ie,1,1),p()),t&2){let e,i=a().$implicit,n=a().$implicit;N(K("",i.value.class," ",i.value.newly?"prop-newly-"+n[i.value.newly]:"")),g("width",i.value.width,"%"),E("text-align-center",i.value.textCenter),l(),h((e=i.key)==="name"?1:e==="nb"?2:e==="modified"?3:-1)}}function ke(t,r){if(t&1&&C(0,Re,4,9,"td",34),t&2){let e=r.$implicit;h(e.value.show?0:-1)}}function Ne(t,r){if(t&1){let e=y();s(0,"tr",33),x("click",function(){let n=_(e).$implicit,o=a(2);return m(o.onSelect(n))})("contextmenu",function(n){let o=_(e).$implicit,c=a(2);return m(c.onTargetContextMenu(n,o))})("pressup",function(n){let o=_(e).$implicit,c=a(2);return m(c.onTargetContextMenu(n,o))})("tap",function(){let n=_(e).$implicit,o=a(2);return m(o.browse(n))}),P(1,ke,1,1,null,null,Te),f(3,"keyvalue"),p()}if(t&2){let e=r.$implicit,i=a(2);E("selected",e.id===(i.selected==null?null:i.selected.id)),l(),F(T(3,2,i.tableHeaders,i.originalOrderKeyValue))}}function Oe(t,r){if(t&1){let e=y();s(0,"table",26)(1,"thead")(2,"tr"),P(3,Fe,1,1,null,null,Te),f(5,"keyvalue"),p()()(),s(6,"app-virtual-scroll",27),f(7,"searchFilter"),x("contextmenu",function(n){_(e);let o=a();return m(o.onContextMenu(n))}),s(8,"table",26)(9,"tbody",28),P(10,Ne,4,5,"tr",29,fe),p()()()}if(t&2){let e=a();l(3),F(T(5,2,e.tableHeaders,e.originalOrderKeyValue)),l(3),u("bufferAmount",5)("items",T(7,5,e.trashBins,e.inputFilter.search())),l(4),F(e.scrollView==null?null:e.scrollView.viewPortItems)}}function Le(t,r){if(t&1&&(s(0,"span",36),w(1,"fa-icon",37),d(2,"Refresh"),p()),t&2){let e=a();l(),u("icon",e.icons.faArrowRotateRight)}}function Qe(t,r){if(t&1&&(s(0,"span",36),w(1,"fa-icon",37),d(2,"Informations"),p()),t&2){let e=a();l(),u("icon",e.icons.faCircleInfo)}}var Ct=(()=>{let r=class r{constructor(){this.locale=S(J),this.layout=S(de),this.originalOrderKeyValue=pe,this.icons={SPACES:$.SPACES,PERSONAL:$.PERSONAL,faArrowDown:ne,faArrowUp:te,faArrowRotateRight:ie,faCircleInfo:oe},this.TAB_MENU=se,this.loading=!1,this.selected=null,this.trashBins=[],this.tableHeaders={name:{label:"Space",width:50,textCenter:!1,class:"",show:!0,sortable:!0},nb:{label:"Elements",width:10,textCenter:!0,class:"",show:!0,sortable:!0},modified:{label:"Modified",width:10,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.btnSortFields={name:"Name",nb:"Elements",mtime:"Modified"},this.router=S(W),this.store=S(_e),this.spacesService=S(he),this.sortSettings={default:[{prop:"isPersonal",type:"number"},{prop:"name",type:"string"}],name:[{prop:"name",type:"string"}],nb:[{prop:"nb",type:"number"}],modified:[{prop:"mtime",type:"date"}]},this.sortTable=new Ce(this.constructor.name,this.sortSettings),this.loadTrashBins(),this.layout.setBreadcrumbIcon($.TRASH),this.layout.setBreadcrumbNav({url:`/${O.TRASH}/${ue.TRASH}`,translating:!0,sameLink:!0})}ngOnInit(){this.galleryMode=this.btnNavigationView.currentView()}loadTrashBins(){this.loading=!0,this.onSelect(),this.spacesService.listTrashBins().subscribe({next:i=>{this.sortBy(this.sortTable.sortParam.column,!1,i.map(n=>new I(n))),this.loading=!1}})}onSelect(i=null){this.selected=i,this.store.trashSelection.set(this.selected)}sortBy(i,n=!0,o){this.trashBins=this.sortTable.sortBy(i,n,o||this.trashBins)}onContextMenu(i){i.preventDefault(),i.stopPropagation(),this.layout.openContextMenu(i,this.mainContextMenu)}onTargetContextMenu(i,n){i.preventDefault(),i.type==="contextmenu"&&i.stopPropagation(),this.onSelect(n),this.layout.openContextMenu(i,this.targetContextMenu)}browse(i){this.router.navigate([O.SPACES_TRASH,i.alias]).catch(console.error)}};r.\u0275fac=function(n){return new(n||r)},r.\u0275cmp=H({type:r,selectors:[["app-spaces-trash"]],viewQuery:function(n,o){if(n&1&&(b(Q,5),b(L,7),b(z,7),b(we,7),b(ge,7)),n&2){let c;V(c=M())&&(o.scrollView=c.first),V(c=M())&&(o.inputFilter=c.first),V(c=M())&&(o.btnNavigationView=c.first),V(c=M())&&(o.mainContextMenu=c.first),V(c=M())&&(o.targetContextMenu=c.first)}},decls:20,vars:14,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],[1,"ms-auto"],[1,"btn-group","btn-group-sm","me-1"],[1,"d-none","d-sm-block"],[3,"sortBy","switchView","sortParams","sortFields"],[1,"app-thumbs"],["contextMenuItem","",3,"execute"],[1,"app-foot-menu"],[1,"mx-auto"],[3,"contextmenu","childHeight","childWidth","items","galleryMode","resizeOffset"],["tabindex","-1",1,"row","g-0"],[1,"card",3,"selected","height","width"],[1,"card",3,"click","contextmenu","pressup","tap"],[1,"card-body"],[1,"circle-primary-icon",3,"icon"],[1,"label-top-right"],["l10nTranslate","",1,"badge","rounded-pill","bg-warning",3,"font-size"],[1,"label-bottom-right"],[1,"badge","rounded-pill","bg-danger"],[1,"card-footer","text-center","text-truncate","p-1"],["draggable","false",1,"no-pointer-events"],["l10nTranslate","",1,"badge","rounded-pill","bg-warning"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"selected"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"icon","fixedWidth"],[3,"click","contextmenu","pressup","tap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center"],["l10nTranslate",""],[3,"icon"]],template:function(n,o){if(n&1){let c=y();s(0,"div",2)(1,"button",3),f(2,"translate"),x("click",function(){return _(c),m(o.loadTrashBins())}),w(3,"fa-icon",4),p(),s(4,"div",5)(5,"div",6),w(6,"app-input-filter",7),p(),s(7,"app-navigation-view",8),x("sortBy",function(R){return _(c),m(o.sortBy(R))})("switchView",function(R){return _(c),m(o.galleryMode=R)}),p()()(),C(8,Ve,6,8,"div",9)(9,Oe,12,8),s(10,"context-menu",null,0),k(12,Le,3,1,"ng-template",10),x("execute",function(){return _(c),m(o.loadTrashBins())}),p(),s(13,"context-menu",null,1),k(15,Qe,3,1,"ng-template",10),x("execute",function(){return _(c),m(o.layout.showRSideBarTab(o.TAB_MENU.SELECTION))}),p(),s(16,"div",11)(17,"span",12),d(18),f(19,"translate"),p()()}n&2&&(l(),u("tooltip",T(2,8,"Refresh",o.locale.language)),l(2),u("icon",o.icons.faArrowRotateRight)("animation",o.loading?"spin":null),l(4),u("sortParams",o.sortTable.sortParam)("sortFields",o.btnSortFields),l(),h(o.galleryMode!=null&&o.galleryMode.enabled?8:9),l(10),q("",o.trashBins.length," ",T(19,11,"trash bins",o.locale.language)))},dependencies:[j,z,L,Z,Y,Q,X,le,ae,re,G,U,xe],encapsulation:2});let t=r;return t})();export{Ct as TrashComponent};
@@ -0,0 +1 @@
1
+ import{$ as y,A as He,Cb as Ur,E as W,G as J,Hb as Pr,I as se,Ia as wr,Jb as _r,K as Dt,Kb as xr,L as ae,O as Ve,P as G,Q as Nt,Qa as xt,R as fr,Ra as _,Sa as br,Tc as zr,V as pr,Va as Ir,Wa as Lt,Xa as Ar,Y as gr,Z as T,Za as Ie,_ as Ut,a as ar,aa as S,b as ur,bb as X,c as cr,ca as C,d as Tt,e as Et,ea as vr,eb as Tr,f as z,fa as D,fb as Er,g as M,ga as We,gb as Or,ha as d,hb as Mr,ia as mr,ib as Dr,ic as Lr,k as F,ka as ue,kc as Q,la as P,nc as jr,o as I,oa as Rr,oc as kr,p as h,q as we,qa as yr,qc as Ke,r as lr,ra as Ge,s as hr,sb as Nr,sc as Ye,ta as Qe,ua as Sr,uc as $r,v,va as be,vc as Ze,w as Ot,wa as Pt,x as A,xa as Cr,y as Mt,ya as _t,z as dr}from"./chunk-RSNLYAN6.js";import{a as l,b as U}from"./chunk-RTRJ3KFH.js";var f="primary",$e=Symbol("RouteTitle"),Ft=class{params;constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function re(t){return new Ft(t)}function Qr(t,n,e){let r=e.path.split("/");if(r.length>t.length||e.pathMatch==="full"&&(n.hasChildren()||r.length<t.length))return null;let i={};for(let o=0;o<r.length;o++){let s=r[o],a=t[o];if(s[0]===":")i[s.substring(1)]=a;else if(s!==a.path)return null}return{consumed:t.slice(0,r.length),posParams:i}}function xn(t,n){if(t.length!==n.length)return!1;for(let e=0;e<t.length;++e)if(!j(t[e],n[e]))return!1;return!0}function j(t,n){let e=t?qt(t):void 0,r=n?qt(n):void 0;if(!e||!r||e.length!=r.length)return!1;let i;for(let o=0;o<e.length;o++)if(i=e[o],!Kr(t[i],n[i]))return!1;return!0}function qt(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function Kr(t,n){if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return!1;let e=[...t].sort(),r=[...n].sort();return e.every((i,o)=>r[o]===i)}else return t===n}function Yr(t){return t.length>0?t[t.length-1]:null}function H(t){return lr(t)?t:Er(t)?I(Promise.resolve(t)):h(t)}var Ln={exact:Jr,subset:Xr},Zr={exact:jn,subset:kn,ignored:()=>!0};function Fr(t,n,e){return Ln[e.paths](t.root,n.root,e.matrixParams)&&Zr[e.queryParams](t.queryParams,n.queryParams)&&!(e.fragment==="exact"&&t.fragment!==n.fragment)}function jn(t,n){return j(t,n)}function Jr(t,n,e){if(!ee(t.segments,n.segments)||!et(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(let r in n.children)if(!t.children[r]||!Jr(t.children[r],n.children[r],e))return!1;return!0}function kn(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>Kr(t[e],n[e]))}function Xr(t,n,e){return en(t,n,n.segments,e)}function en(t,n,e,r){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!ee(i,e)||n.hasChildren()||!et(i,e,r))}else if(t.segments.length===e.length){if(!ee(t.segments,e)||!et(t.segments,e,r))return!1;for(let i in n.children)if(!t.children[i]||!Xr(t.children[i],n.children[i],r))return!1;return!0}else{let i=e.slice(0,t.segments.length),o=e.slice(t.segments.length);return!ee(t.segments,i)||!et(t.segments,i,r)||!t.children[f]?!1:en(t.children[f],n,o,r)}}function et(t,n,e){return n.every((r,i)=>Zr[e](t[i].parameters,r.parameters))}var $=class{root;queryParams;fragment;_queryParamMap;constructor(n=new g([],{}),e={},r=null){this.root=n,this.queryParams=e,this.fragment=r}get queryParamMap(){return this._queryParamMap??=re(this.queryParams),this._queryParamMap}toString(){return Fn.serialize(this)}},g=class{segments;children;parent=null;constructor(n,e){this.segments=n,this.children=e,Object.values(e).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return tt(this)}},K=class{path;parameters;_parameterMap;constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap??=re(this.parameters),this._parameterMap}toString(){return rn(this)}};function $n(t,n){return ee(t,n)&&t.every((e,r)=>j(e.parameters,n[r].parameters))}function ee(t,n){return t.length!==n.length?!1:t.every((e,r)=>e.path===n[r].path)}function zn(t,n){let e=[];return Object.entries(t.children).forEach(([r,i])=>{r===f&&(e=e.concat(n(i,r)))}),Object.entries(t.children).forEach(([r,i])=>{r!==f&&(e=e.concat(n(i,r)))}),e}var ze=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>new ne,providedIn:"root"})}return t})(),ne=class{parse(n){let e=new Ht(n);return new $(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){let e=`/${Ae(n.root,!0)}`,r=Hn(n.queryParams),i=typeof n.fragment=="string"?`#${qn(n.fragment)}`:"";return`${e}${r}${i}`}},Fn=new ne;function tt(t){return t.segments.map(n=>rn(n)).join("/")}function Ae(t,n){if(!t.hasChildren())return tt(t);if(n){let e=t.children[f]?Ae(t.children[f],!1):"",r=[];return Object.entries(t.children).forEach(([i,o])=>{i!==f&&r.push(`${i}:${Ae(o,!1)}`)}),r.length>0?`${e}(${r.join("//")})`:e}else{let e=zn(t,(r,i)=>i===f?[Ae(t.children[f],!1)]:[`${i}:${Ae(r,!1)}`]);return Object.keys(t.children).length===1&&t.children[f]!=null?`${tt(t)}/${e[0]}`:`${tt(t)}/(${e.join("//")})`}}function tn(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Je(t){return tn(t).replace(/%3B/gi,";")}function qn(t){return encodeURI(t)}function Bt(t){return tn(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function rt(t){return decodeURIComponent(t)}function qr(t){return rt(t.replace(/\+/g,"%20"))}function rn(t){return`${Bt(t.path)}${Bn(t.parameters)}`}function Bn(t){return Object.entries(t).map(([n,e])=>`;${Bt(n)}=${Bt(e)}`).join("")}function Hn(t){let n=Object.entries(t).map(([e,r])=>Array.isArray(r)?r.map(i=>`${Je(e)}=${Je(i)}`).join("&"):`${Je(e)}=${Je(r)}`).filter(e=>e);return n.length?`?${n.join("&")}`:""}var Vn=/^[^\/()?;#]+/;function jt(t){let n=t.match(Vn);return n?n[0]:""}var Wn=/^[^\/()?;=#]+/;function Gn(t){let n=t.match(Wn);return n?n[0]:""}var Qn=/^[^=?&#]+/;function Kn(t){let n=t.match(Qn);return n?n[0]:""}var Yn=/^[^&#]+/;function Zn(t){let n=t.match(Yn);return n?n[0]:""}var Ht=class{url;remaining;constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new g([],{}):new g([],this.parseChildren())}parseQueryParams(){let n={};if(this.consumeOptional("?"))do this.parseQueryParam(n);while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(n.length>0||Object.keys(e).length>0)&&(r[f]=new g(n,e)),r}parseSegment(){let n=jt(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new S(4009,!1);return this.capture(n),new K(rt(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let e=Gn(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let i=jt(this.remaining);i&&(r=i,this.capture(r))}n[rt(e)]=rt(r)}parseQueryParam(n){let e=Kn(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let s=Zn(this.remaining);s&&(r=s,this.capture(r))}let i=qr(e),o=qr(r);if(n.hasOwnProperty(i)){let s=n[i];Array.isArray(s)||(s=[s],n[i]=s),s.push(o)}else n[i]=o}parseParens(n){let e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let r=jt(this.remaining),i=this.remaining[r.length];if(i!=="/"&&i!==")"&&i!==";")throw new S(4010,!1);let o;r.indexOf(":")>-1?(o=r.slice(0,r.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=f);let s=this.parseChildren();e[o]=Object.keys(s).length===1?s[f]:new g([],s),this.consumeOptional("//")}return e}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return this.peekStartsWith(n)?(this.remaining=this.remaining.substring(n.length),!0):!1}capture(n){if(!this.consumeOptional(n))throw new S(4011,!1)}};function nn(t){return t.segments.length>0?new g([],{[f]:t}):t}function on(t){let n={};for(let[r,i]of Object.entries(t.children)){let o=on(i);if(r===f&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[r]=o)}let e=new g(t.segments,n);return Jn(e)}function Jn(t){if(t.numberOfChildren===1&&t.children[f]){let n=t.children[f];return new g(t.segments.concat(n.segments),n.children)}return t}function Y(t){return t instanceof $}function sn(t,n,e=null,r=null){let i=an(t);return un(i,n,e,r)}function an(t){let n;function e(o){let s={};for(let u of o.children){let c=e(u);s[u.outlet]=c}let a=new g(o.url,s);return o===t&&(n=a),a}let r=e(t.root),i=nn(r);return n??i}function un(t,n,e,r){let i=t;for(;i.parent;)i=i.parent;if(n.length===0)return kt(i,i,i,e,r);let o=Xn(n);if(o.toRoot())return kt(i,i,new g([],{}),e,r);let s=ei(o,i,t),a=s.processChildren?Ee(s.segmentGroup,s.index,o.commands):ln(s.segmentGroup,s.index,o.commands);return kt(i,s.segmentGroup,a,e,r)}function nt(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function De(t){return typeof t=="object"&&t!=null&&t.outlets}function kt(t,n,e,r,i){let o={};r&&Object.entries(r).forEach(([u,c])=>{o[u]=Array.isArray(c)?c.map(p=>`${p}`):`${c}`});let s;t===n?s=e:s=cn(t,n,e);let a=nn(on(s));return new $(a,o,i)}function cn(t,n,e){let r={};return Object.entries(t.children).forEach(([i,o])=>{o===n?r[i]=e:r[i]=cn(o,n,e)}),new g(t.segments,r)}var it=class{isAbsolute;numberOfDoubleDots;commands;constructor(n,e,r){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=r,n&&r.length>0&&nt(r[0]))throw new S(4003,!1);let i=r.find(De);if(i&&i!==Yr(r))throw new S(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function Xn(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new it(!0,0,t);let n=0,e=!1,r=t.reduce((i,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([u,c])=>{a[u]=typeof c=="string"?c.split("/"):c}),[...i,{outlets:a}]}if(o.segmentPath)return[...i,o.segmentPath]}return typeof o!="string"?[...i,o]:s===0?(o.split("/").forEach((a,u)=>{u==0&&a==="."||(u==0&&a===""?e=!0:a===".."?n++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new it(e,n,r)}var he=class{segmentGroup;processChildren;index;constructor(n,e,r){this.segmentGroup=n,this.processChildren=e,this.index=r}};function ei(t,n,e){if(t.isAbsolute)return new he(n,!0,0);if(!e)return new he(n,!1,NaN);if(e.parent===null)return new he(e,!0,0);let r=nt(t.commands[0])?0:1,i=e.segments.length-1+r;return ti(e,i,t.numberOfDoubleDots)}function ti(t,n,e){let r=t,i=n,o=e;for(;o>i;){if(o-=i,r=r.parent,!r)throw new S(4005,!1);i=r.segments.length}return new he(r,!1,i-o)}function ri(t){return De(t[0])?t[0].outlets:{[f]:t}}function ln(t,n,e){if(t??=new g([],{}),t.segments.length===0&&t.hasChildren())return Ee(t,n,e);let r=ni(t,n,e),i=e.slice(r.commandIndex);if(r.match&&r.pathIndex<t.segments.length){let o=new g(t.segments.slice(0,r.pathIndex),{});return o.children[f]=new g(t.segments.slice(r.pathIndex),t.children),Ee(o,0,i)}else return r.match&&i.length===0?new g(t.segments,{}):r.match&&!t.hasChildren()?Vt(t,n,e):r.match?Ee(t,0,i):Vt(t,n,e)}function Ee(t,n,e){if(e.length===0)return new g(t.segments,{});{let r=ri(e),i={};if(Object.keys(r).some(o=>o!==f)&&t.children[f]&&t.numberOfChildren===1&&t.children[f].segments.length===0){let o=Ee(t.children[f],n,e);return new g(t.segments,o.children)}return Object.entries(r).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=ln(t.children[o],n,s))}),Object.entries(t.children).forEach(([o,s])=>{r[o]===void 0&&(i[o]=s)}),new g(t.segments,i)}}function ni(t,n,e){let r=0,i=n,o={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(r>=e.length)return o;let s=t.segments[i],a=e[r];if(De(a))break;let u=`${a}`,c=r<e.length-1?e[r+1]:null;if(i>0&&u===void 0)break;if(u&&c&&typeof c=="object"&&c.outlets===void 0){if(!Hr(u,c,s))return o;r+=2}else{if(!Hr(u,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function Vt(t,n,e){let r=t.segments.slice(0,n),i=0;for(;i<e.length;){let o=e[i];if(De(o)){let u=ii(o.outlets);return new g(r,u)}if(i===0&&nt(e[0])){let u=t.segments[n];r.push(new K(u.path,Br(e[0]))),i++;continue}let s=De(o)?o.outlets[f]:`${o}`,a=i<e.length-1?e[i+1]:null;s&&a&&nt(a)?(r.push(new K(s,Br(a))),i+=2):(r.push(new K(s,{})),i++)}return new g(r,{})}function ii(t){let n={};return Object.entries(t).forEach(([e,r])=>{typeof r=="string"&&(r=[r]),r!==null&&(n[e]=Vt(new g([],{}),0,r))}),n}function Br(t){let n={};return Object.entries(t).forEach(([e,r])=>n[e]=`${r}`),n}function Hr(t,n,e){return t==e.path&&j(n,e.parameters)}var Oe="imperative",m=(function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t})(m||{}),O=class{id;url;constructor(n,e){this.id=n,this.url=e}},ie=class extends O{type=m.NavigationStart;navigationTrigger;restoredState;constructor(n,e,r="imperative",i=null){super(n,e),this.navigationTrigger=r,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},L=class extends O{urlAfterRedirects;type=m.NavigationEnd;constructor(n,e,r){super(n,e),this.urlAfterRedirects=r}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},w=(function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t[t.Aborted=4]="Aborted",t})(w||{}),Ne=(function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t})(Ne||{}),k=class extends O{reason;code;type=m.NavigationCancel;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},q=class extends O{reason;code;type=m.NavigationSkipped;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}},fe=class extends O{error;target;type=m.NavigationError;constructor(n,e,r,i){super(n,e),this.error=r,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},Ue=class extends O{urlAfterRedirects;state;type=m.RoutesRecognized;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ot=class extends O{urlAfterRedirects;state;type=m.GuardsCheckStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},st=class extends O{urlAfterRedirects;state;shouldActivate;type=m.GuardsCheckEnd;constructor(n,e,r,i,o){super(n,e),this.urlAfterRedirects=r,this.state=i,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},at=class extends O{urlAfterRedirects;state;type=m.ResolveStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ut=class extends O{urlAfterRedirects;state;type=m.ResolveEnd;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ct=class{route;type=m.RouteConfigLoadStart;constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},lt=class{route;type=m.RouteConfigLoadEnd;constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},ht=class{snapshot;type=m.ChildActivationStart;constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},dt=class{snapshot;type=m.ChildActivationEnd;constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},ft=class{snapshot;type=m.ActivationStart;constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},pt=class{snapshot;type=m.ActivationEnd;constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var Pe=class{},pe=class{url;navigationBehaviorOptions;constructor(n,e){this.url=n,this.navigationBehaviorOptions=e}};function oi(t){return!(t instanceof Pe)&&!(t instanceof pe)}function si(t,n){return t.providers&&!t._injector&&(t._injector=Lt(t.providers,n,`Route: ${t.path}`)),t._injector??n}function x(t){return t.outlet||f}function ai(t,n){let e=t.filter(r=>x(r)===n);return e.push(...t.filter(r=>x(r)!==n)),e}function me(t){if(!t)return null;if(t.routeConfig?._injector)return t.routeConfig._injector;for(let n=t.parent;n;n=n.parent){let e=n.routeConfig;if(e?._loadedInjector)return e._loadedInjector;if(e?._injector)return e._injector}return null}var gt=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return me(this.route?.snapshot)??this.rootInjector}constructor(n){this.rootInjector=n,this.children=new Re(this.rootInjector)}},Re=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,r){let i=this.getOrCreateContext(e);i.outlet=r,this.contexts.set(e,i)}onChildOutletDestroyed(e){let r=this.getContext(e);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let r=this.getContext(e);return r||(r=new gt(this.rootInjector),this.contexts.set(e,r)),r}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(r){return new(r||t)(We(ue))};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),vt=class{_root;constructor(n){this._root=n}get root(){return this._root.value}parent(n){let e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){let e=Wt(n,this._root);return e?e.children.map(r=>r.value):[]}firstChild(n){let e=Wt(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){let e=Gt(n,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==n)}pathFromRoot(n){return Gt(n,this._root).map(e=>e.value)}};function Wt(t,n){if(t===n.value)return n;for(let e of n.children){let r=Wt(t,e);if(r)return r}return null}function Gt(t,n){if(t===n.value)return[n];for(let e of n.children){let r=Gt(t,e);if(r.length)return r.unshift(n),r}return[]}var E=class{value;children;constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}};function le(t){let n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}var _e=class extends vt{snapshot;constructor(n,e){super(n),this.snapshot=e,tr(this,n)}toString(){return this.snapshot.toString()}};function hn(t){let n=ui(t),e=new M([new K("",{})]),r=new M({}),i=new M({}),o=new M({}),s=new M(""),a=new B(e,r,o,s,i,f,t,n.root);return a.snapshot=n.root,new _e(new E(a,[]),n)}function ui(t){let n={},e={},r={},o=new te([],n,r,"",e,f,t,null,{});return new xe("",new E(o,[]))}var B=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(n,e,r,i,o,s,a,u){this.urlSubject=n,this.paramsSubject=e,this.queryParamsSubject=r,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=u,this.title=this.dataSubject?.pipe(v(c=>c[$e]))??h(void 0),this.url=n,this.params=e,this.queryParams=r,this.fragment=i,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(v(n=>re(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(v(n=>re(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function mt(t,n,e="emptyOnly"){let r,{routeConfig:i}=t;return n!==null&&(e==="always"||i?.path===""||!n.component&&!n.routeConfig?.loadComponent)?r={params:l(l({},n.params),t.params),data:l(l({},n.data),t.data),resolve:l(l(l(l({},t.data),n.data),i?.data),t._resolvedData)}:r={params:l({},t.params),data:l({},t.data),resolve:l(l({},t.data),t._resolvedData??{})},i&&fn(i)&&(r.resolve[$e]=i.title),r}var te=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;get title(){return this.data?.[$e]}constructor(n,e,r,i,o,s,a,u,c){this.url=n,this.params=e,this.queryParams=r,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=u,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=re(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=re(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(r=>r.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${e}')`}},xe=class extends vt{url;constructor(n,e){super(e),this.url=n,tr(this,e)}toString(){return dn(this._root)}};function tr(t,n){n.value._routerState=t,n.children.forEach(e=>tr(t,e))}function dn(t){let n=t.children.length>0?` { ${t.children.map(dn).join(", ")} } `:"";return`${t.value}${n}`}function $t(t){if(t.snapshot){let n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,j(n.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),n.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),j(n.params,e.params)||t.paramsSubject.next(e.params),xn(n.url,e.url)||t.urlSubject.next(e.url),j(n.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function Qt(t,n){let e=j(t.params,n.params)&&$n(t.url,n.url),r=!t.parent!=!n.parent;return e&&!r&&(!t.parent||Qt(t.parent,n.parent))}function fn(t){return typeof t.title=="string"||t.title===null}var pn=new D(""),rr=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=f;activateEvents=new X;deactivateEvents=new X;attachEvents=new X;detachEvents=new X;routerOutletData=kr(void 0);parentContexts=d(Re);location=d(br);changeDetector=d(Ke);inputBinder=d(Ct,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:r,previousValue:i}=e.name;if(r)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new S(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new S(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new S(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,r){this.activated=e,this._activatedRoute=r,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,r){if(this.isActivated)throw new S(4013,!1);this._activatedRoute=e;let i=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,u=new Kt(e,a,i.injector,this.routerOutletData);this.activated=i.createComponent(s,{index:i.length,injector:u,environmentInjector:r}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(r){return new(r||t)};static \u0275dir=Ie({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[be]})}return t})(),Kt=class{route;childContexts;parent;outletData;constructor(n,e,r,i){this.route=n,this.childContexts=e,this.parent=r,this.outletData=i}get(n,e){return n===B?this.route:n===Re?this.childContexts:n===pn?this.outletData:this.parent.get(n,e)}},Ct=new D("");var nr=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275cmp=Ar({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(r,i){r&1&&Nr(0,"router-outlet")},dependencies:[rr],encapsulation:2})}return t})();function ir(t){let n=t.children&&t.children.map(ir),e=n?U(l({},t),{children:n}):l({},t);return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==f&&(e.component=nr),e}function ci(t,n,e){let r=Le(t,n._root,e?e._root:void 0);return new _e(r,n)}function Le(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){let r=e.value;r._futureSnapshot=n.value;let i=li(t,n,e);return new E(r,i)}else{if(t.shouldAttach(n.value)){let o=t.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>Le(t,a)),s}}let r=hi(n.value),i=n.children.map(o=>Le(t,o));return new E(r,i)}}function li(t,n,e){return n.children.map(r=>{for(let i of e.children)if(t.shouldReuseRoute(r.value,i.value.snapshot))return Le(t,r,i);return Le(t,r)})}function hi(t){return new B(new M(t.url),new M(t.params),new M(t.queryParams),new M(t.fragment),new M(t.data),t.outlet,t.component,t)}var ge=class{redirectTo;navigationBehaviorOptions;constructor(n,e){this.redirectTo=n,this.navigationBehaviorOptions=e}},gn="ngNavigationCancelingError";function Rt(t,n){let{redirectTo:e,navigationBehaviorOptions:r}=Y(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,i=vn(!1,w.Redirect);return i.url=e,i.navigationBehaviorOptions=r,i}function vn(t,n){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[gn]=!0,e.cancellationCode=n,e}function di(t){return mn(t)&&Y(t.url)}function mn(t){return!!t&&t[gn]}var fi=(t,n,e,r)=>v(i=>(new Yt(n,i.targetRouterState,i.currentRouterState,e,r).activate(t),i)),Yt=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(n,e,r,i,o){this.routeReuseStrategy=n,this.futureState=e,this.currState=r,this.forwardEvent=i,this.inputBindingEnabled=o}activate(n){let e=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,r,n),$t(this.futureState.root),this.activateChildRoutes(e,r,n)}deactivateChildRoutes(n,e,r){let i=le(e);n.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,i[s],r),delete i[s]}),Object.values(i).forEach(o=>{this.deactivateRouteAndItsChildren(o,r)})}deactivateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if(i===o)if(i.component){let s=r.getContext(i.outlet);s&&this.deactivateChildRoutes(n,e,s.children)}else this.deactivateChildRoutes(n,e,r);else o&&this.deactivateRouteAndItsChildren(e,r)}deactivateRouteAndItsChildren(n,e){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,e):this.deactivateRouteAndOutlet(n,e)}detachAndStoreRouteSubtree(n,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=le(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);if(r&&r.outlet){let s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=le(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,e,r){let i=le(e);n.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],r),this.forwardEvent(new pt(o.value.snapshot))}),n.children.length&&this.forwardEvent(new dt(n.value.snapshot))}activateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if($t(i),i===o)if(i.component){let s=r.getOrCreateContext(i.outlet);this.activateChildRoutes(n,e,s.children)}else this.activateChildRoutes(n,e,r);else if(i.component){let s=r.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let a=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),$t(a.route.value),this.activateChildRoutes(n,null,s.children)}else s.attachRef=null,s.route=i,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(n,null,s.children)}else this.activateChildRoutes(n,null,r)}},yt=class{path;route;constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},de=class{component;route;constructor(n,e){this.component=n,this.route=e}};function pi(t,n,e){let r=t._root,i=n?n._root:null;return Te(r,i,e,[r.value])}function gi(t){let n=t.routeConfig?t.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:t,guards:n}}function ye(t,n){let e=Symbol(),r=n.get(t,e);return r===e?typeof t=="function"&&!vr(t)?t:n.get(t):r}function Te(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=le(n);return t.children.forEach(s=>{vi(s,o[s.value.outlet],e,r.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>Me(a,e.getContext(s),i)),i}function vi(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,s=n?n.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let u=mi(s,o,o.routeConfig.runGuardsAndResolvers);u?i.canActivateChecks.push(new yt(r)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?Te(t,n,a?a.children:null,r,i):Te(t,n,e,r,i),u&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new de(a.outlet.component,s))}else s&&Me(n,a,i),i.canActivateChecks.push(new yt(r)),o.component?Te(t,null,a?a.children:null,r,i):Te(t,null,e,r,i);return i}function mi(t,n,e){if(typeof e=="function")return e(t,n);switch(e){case"pathParamsChange":return!ee(t.url,n.url);case"pathParamsOrQueryParamsChange":return!ee(t.url,n.url)||!j(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Qt(t,n)||!j(t.queryParams,n.queryParams);case"paramsChange":default:return!Qt(t,n)}}function Me(t,n,e){let r=le(t),i=t.value;Object.entries(r).forEach(([o,s])=>{i.component?n?Me(s,n.children.getContext(o),e):Me(s,null,e):Me(s,n,e)}),i.component?n&&n.outlet&&n.outlet.isActivated?e.canDeactivateChecks.push(new de(n.outlet.component,i)):e.canDeactivateChecks.push(new de(null,i)):e.canDeactivateChecks.push(new de(null,i))}function Fe(t){return typeof t=="function"}function Ri(t){return typeof t=="boolean"}function yi(t){return t&&Fe(t.canLoad)}function Si(t){return t&&Fe(t.canActivate)}function Ci(t){return t&&Fe(t.canActivateChild)}function wi(t){return t&&Fe(t.canDeactivate)}function bi(t){return t&&Fe(t.canMatch)}function Rn(t){return t instanceof hr||t?.name==="EmptyError"}var Xe=Symbol("INITIAL_VALUE");function ve(){return T(t=>Ot(t.map(n=>n.pipe(ae(1),gr(Xe)))).pipe(v(n=>{for(let e of n)if(e!==!0){if(e===Xe)return Xe;if(e===!1||Ii(e))return e}return!0}),W(n=>n!==Xe),ae(1)))}function Ii(t){return Y(t)||t instanceof ge}function Ai(t,n){return A(e=>{let{targetSnapshot:r,currentSnapshot:i,guards:{canActivateChecks:o,canDeactivateChecks:s}}=e;return s.length===0&&o.length===0?h(U(l({},e),{guardsResult:!0})):Ti(s,r,i,t).pipe(A(a=>a&&Ri(a)?Ei(r,o,t,n):h(a)),v(a=>U(l({},e),{guardsResult:a})))})}function Ti(t,n,e,r){return I(t).pipe(A(i=>Ui(i.component,i.route,e,n,r)),G(i=>i!==!0,!0))}function Ei(t,n,e,r){return I(n).pipe(se(i=>dr(Mi(i.route.parent,r),Oi(i.route,r),Ni(t,i.path,e),Di(t,i.route,e))),G(i=>i!==!0,!0))}function Oi(t,n){return t!==null&&n&&n(new ft(t)),h(!0)}function Mi(t,n){return t!==null&&n&&n(new ht(t)),h(!0)}function Di(t,n,e){let r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||r.length===0)return h(!0);let i=r.map(o=>He(()=>{let s=me(n)??e,a=ye(o,s),u=Si(a)?a.canActivate(n,t):P(s,()=>a(n,t));return H(u).pipe(G())}));return h(i).pipe(ve())}function Ni(t,n,e){let r=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(s=>gi(s)).filter(s=>s!==null).map(s=>He(()=>{let a=s.guards.map(u=>{let c=me(s.node)??e,p=ye(u,c),R=Ci(p)?p.canActivateChild(r,t):P(c,()=>p(r,t));return H(R).pipe(G())});return h(a).pipe(ve())}));return h(o).pipe(ve())}function Ui(t,n,e,r,i){let o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;if(!o||o.length===0)return h(!0);let s=o.map(a=>{let u=me(n)??i,c=ye(a,u),p=wi(c)?c.canDeactivate(t,n,e,r):P(u,()=>c(t,n,e,r));return H(p).pipe(G())});return h(s).pipe(ve())}function Pi(t,n,e,r){let i=n.canLoad;if(i===void 0||i.length===0)return h(!0);let o=i.map(s=>{let a=ye(s,t),u=yi(a)?a.canLoad(n,e):P(t,()=>a(n,e));return H(u)});return h(o).pipe(ve(),yn(r))}function yn(t){return ur(y(n=>{if(typeof n!="boolean")throw Rt(t,n)}),v(n=>n===!0))}function _i(t,n,e,r){let i=n.canMatch;if(!i||i.length===0)return h(!0);let o=i.map(s=>{let a=ye(s,t),u=bi(a)?a.canMatch(n,e):P(t,()=>a(n,e));return H(u)});return h(o).pipe(ve(),yn(r))}var je=class{segmentGroup;constructor(n){this.segmentGroup=n||null}},ke=class extends Error{urlTree;constructor(n){super(),this.urlTree=n}};function ce(t){return we(new je(t))}function xi(t){return we(new S(4e3,!1))}function Li(t){return we(vn(!1,w.GuardRejected))}var Zt=class{urlSerializer;urlTree;constructor(n,e){this.urlSerializer=n,this.urlTree=e}lineralizeSegments(n,e){let r=[],i=e.root;for(;;){if(r=r.concat(i.segments),i.numberOfChildren===0)return h(r);if(i.numberOfChildren>1||!i.children[f])return xi(`${n.redirectTo}`);i=i.children[f]}}applyRedirectCommands(n,e,r,i,o){return ji(e,i,o).pipe(v(s=>{if(s instanceof $)throw new ke(s);let a=this.applyRedirectCreateUrlTree(s,this.urlSerializer.parse(s),n,r);if(s[0]==="/")throw new ke(a);return a}))}applyRedirectCreateUrlTree(n,e,r,i){let o=this.createSegmentGroup(n,e.root,r,i);return new $(o,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){let r={};return Object.entries(n).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);r[i]=e[a]}else r[i]=o}),r}createSegmentGroup(n,e,r,i){let o=this.createSegments(n,e.segments,r,i),s={};return Object.entries(e.children).forEach(([a,u])=>{s[a]=this.createSegmentGroup(n,u,r,i)}),new g(o,s)}createSegments(n,e,r,i){return e.map(o=>o.path[0]===":"?this.findPosParam(n,o,i):this.findOrReturn(o,r))}findPosParam(n,e,r){let i=r[e.path.substring(1)];if(!i)throw new S(4001,!1);return i}findOrReturn(n,e){let r=0;for(let i of e){if(i.path===n.path)return e.splice(r),i;r++}return n}};function ji(t,n,e){if(typeof t=="string")return h(t);let r=t,{queryParams:i,fragment:o,routeConfig:s,url:a,outlet:u,params:c,data:p,title:R}=n;return H(P(e,()=>r({params:c,data:p,queryParams:i,fragment:o,routeConfig:s,url:a,outlet:u,title:R})))}var Jt={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function ki(t,n,e,r,i){let o=Sn(t,n,e);return o.matched?(r=si(n,r),_i(r,n,e,i).pipe(v(s=>s===!0?o:l({},Jt)))):h(o)}function Sn(t,n,e){if(n.path==="**")return $i(e);if(n.path==="")return n.pathMatch==="full"&&(t.hasChildren()||e.length>0)?l({},Jt):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(n.matcher||Qr)(e,t,n);if(!i)return l({},Jt);let o={};Object.entries(i.posParams??{}).forEach(([a,u])=>{o[a]=u.path});let s=i.consumed.length>0?l(l({},o),i.consumed[i.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:i.consumed,remainingSegments:e.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function $i(t){return{matched:!0,parameters:t.length>0?Yr(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}function Vr(t,n,e,r){return e.length>0&&qi(t,e,r)?{segmentGroup:new g(n,Fi(r,new g(e,t.children))),slicedSegments:[]}:e.length===0&&Bi(t,e,r)?{segmentGroup:new g(t.segments,zi(t,e,r,t.children)),slicedSegments:e}:{segmentGroup:new g(t.segments,t.children),slicedSegments:e}}function zi(t,n,e,r){let i={};for(let o of e)if(wt(t,n,o)&&!r[x(o)]){let s=new g([],{});i[x(o)]=s}return l(l({},r),i)}function Fi(t,n){let e={};e[f]=n;for(let r of t)if(r.path===""&&x(r)!==f){let i=new g([],{});e[x(r)]=i}return e}function qi(t,n,e){return e.some(r=>wt(t,n,r)&&x(r)!==f)}function Bi(t,n,e){return e.some(r=>wt(t,n,r))}function wt(t,n,e){return(t.hasChildren()||n.length>0)&&e.pathMatch==="full"?!1:e.path===""}function Hi(t,n,e){return n.length===0&&!t.children[e]}var Xt=class{};function Vi(t,n,e,r,i,o,s="emptyOnly"){return new er(t,n,e,r,i,s,o).recognize()}var Wi=31,er=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(n,e,r,i,o,s,a){this.injector=n,this.configLoader=e,this.rootComponentType=r,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new Zt(this.urlSerializer,this.urlTree)}noMatchError(n){return new S(4002,`'${n.segmentGroup}'`)}recognize(){let n=Vr(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(v(({children:e,rootSnapshot:r})=>{let i=new E(r,e),o=new xe("",i),s=sn(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}))}match(n){let e=new te([],Object.freeze({}),Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),f,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,n,f,e).pipe(v(r=>({children:r,rootSnapshot:e})),J(r=>{if(r instanceof ke)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof je?this.noMatchError(r):r}))}processSegmentGroup(n,e,r,i,o){return r.segments.length===0&&r.hasChildren()?this.processChildren(n,e,r,o):this.processSegment(n,e,r,r.segments,i,!0,o).pipe(v(s=>s instanceof E?[s]:[]))}processChildren(n,e,r,i){let o=[];for(let s of Object.keys(r.children))s==="primary"?o.unshift(s):o.push(s);return I(o).pipe(se(s=>{let a=r.children[s],u=ai(e,s);return this.processSegmentGroup(n,u,a,s,i)}),pr((s,a)=>(s.push(...a),s)),Dt(null),fr(),A(s=>{if(s===null)return ce(r);let a=Cn(s);return Gi(a),h(a)}))}processSegment(n,e,r,i,o,s,a){return I(e).pipe(se(u=>this.processSegmentAgainstRoute(u._injector??n,e,u,r,i,o,s,a).pipe(J(c=>{if(c instanceof je)return h(null);throw c}))),G(u=>!!u),J(u=>{if(Rn(u))return Hi(r,i,o)?h(new Xt):ce(r);throw u}))}processSegmentAgainstRoute(n,e,r,i,o,s,a,u){return x(r)!==s&&(s===f||!wt(i,o,r))?ce(i):r.redirectTo===void 0?this.matchSegmentAgainstRoute(n,i,r,o,s,u):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(n,i,e,r,o,s,u):ce(i)}expandSegmentAgainstRouteUsingRedirect(n,e,r,i,o,s,a){let{matched:u,parameters:c,consumedSegments:p,positionalParamSegments:R,remainingSegments:N}=Sn(e,i,o);if(!u)return ce(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>Wi&&(this.allowRedirects=!1));let V=new te(o,c,Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Wr(i),x(i),i.component??i._loadedComponent??null,i,Gr(i)),b=mt(V,a,this.paramsInheritanceStrategy);return V.params=Object.freeze(b.params),V.data=Object.freeze(b.data),this.applyRedirects.applyRedirectCommands(p,i.redirectTo,R,V,n).pipe(T(Z=>this.applyRedirects.lineralizeSegments(i,Z)),A(Z=>this.processSegment(n,r,e,Z.concat(N),s,!1,a)))}matchSegmentAgainstRoute(n,e,r,i,o,s){let a=ki(e,r,i,n,this.urlSerializer);return r.path==="**"&&(e.children={}),a.pipe(T(u=>u.matched?(n=r._injector??n,this.getChildConfig(n,r,i).pipe(T(({routes:c})=>{let p=r._loadedInjector??n,{parameters:R,consumedSegments:N,remainingSegments:V}=u,b=new te(N,R,Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Wr(r),x(r),r.component??r._loadedComponent??null,r,Gr(r)),oe=mt(b,s,this.paramsInheritanceStrategy);b.params=Object.freeze(oe.params),b.data=Object.freeze(oe.data);let{segmentGroup:Z,slicedSegments:At}=Vr(e,N,V,c);if(At.length===0&&Z.hasChildren())return this.processChildren(p,c,Z,b).pipe(v(Be=>new E(b,Be)));if(c.length===0&&At.length===0)return h(new E(b,[]));let Pn=x(r)===o;return this.processSegment(p,c,Z,At,Pn?f:o,!0,b).pipe(v(Be=>new E(b,Be instanceof E?[Be]:[])))}))):ce(e)))}getChildConfig(n,e,r){return e.children?h({routes:e.children,injector:n}):e.loadChildren?e._loadedRoutes!==void 0?h({routes:e._loadedRoutes,injector:e._loadedInjector}):Pi(n,e,r,this.urlSerializer).pipe(A(i=>i?this.configLoader.loadChildren(n,e).pipe(y(o=>{e._loadedRoutes=o.routes,e._loadedInjector=o.injector})):Li(e))):h({routes:[],injector:n})}};function Gi(t){t.sort((n,e)=>n.value.outlet===f?-1:e.value.outlet===f?1:n.value.outlet.localeCompare(e.value.outlet))}function Qi(t){let n=t.value.routeConfig;return n&&n.path===""}function Cn(t){let n=[],e=new Set;for(let r of t){if(!Qi(r)){n.push(r);continue}let i=n.find(o=>r.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...r.children),e.add(i)):n.push(r)}for(let r of e){let i=Cn(r.children);n.push(new E(r.value,i))}return n.filter(r=>!e.has(r))}function Wr(t){return t.data||{}}function Gr(t){return t.resolve||{}}function Ki(t,n,e,r,i,o){return A(s=>Vi(t,n,e,r,s.extractedUrl,i,o).pipe(v(({state:a,tree:u})=>U(l({},s),{targetSnapshot:a,urlAfterRedirects:u}))))}function Yi(t,n){return A(e=>{let{targetSnapshot:r,guards:{canActivateChecks:i}}=e;if(!i.length)return h(e);let o=new Set(i.map(u=>u.route)),s=new Set;for(let u of o)if(!s.has(u))for(let c of wn(u))s.add(c);let a=0;return I(s).pipe(se(u=>o.has(u)?Zi(u,r,t,n):(u.data=mt(u,u.parent,t).resolve,h(void 0))),y(()=>a++),Nt(1),A(u=>a===s.size?h(e):F))})}function wn(t){let n=t.children.map(e=>wn(e)).flat();return[t,...n]}function Zi(t,n,e,r){let i=t.routeConfig,o=t._resolve;return i?.title!==void 0&&!fn(i)&&(o[$e]=i.title),He(()=>(t.data=mt(t,t.parent,e).resolve,Ji(o,t,n,r).pipe(v(s=>(t._resolvedData=s,t.data=l(l({},t.data),s),null)))))}function Ji(t,n,e,r){let i=qt(t);if(i.length===0)return h({});let o={};return I(i).pipe(A(s=>Xi(t[s],n,e,r).pipe(G(),y(a=>{if(a instanceof ge)throw Rt(new ne,a);o[s]=a}))),Nt(1),v(()=>o),J(s=>Rn(s)?F:we(s)))}function Xi(t,n,e,r){let i=me(n)??r,o=ye(t,i),s=o.resolve?o.resolve(n,e):P(i,()=>o(n,e));return H(s)}function zt(t){return T(n=>{let e=t(n);return e?I(e).pipe(v(()=>n)):h(n)})}var or=(()=>{class t{buildTitle(e){let r,i=e.root;for(;i!==void 0;)r=this.getResolvedTitleForRoute(i)??r,i=i.children.find(o=>o.outlet===f);return r}getResolvedTitleForRoute(e){return e.data[$e]}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>d(bn),providedIn:"root"})}return t})(),bn=(()=>{class t extends or{title;constructor(e){super(),this.title=e}updateTitle(e){let r=this.buildTitle(e);r!==void 0&&this.title.setTitle(r)}static \u0275fac=function(r){return new(r||t)(We(zr))};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Se=new D("",{providedIn:"root",factory:()=>({})}),qe=new D(""),In=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=d(Lr);loadComponent(e,r){if(this.componentLoaders.get(r))return this.componentLoaders.get(r);if(r._loadedComponent)return h(r._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(r);let i=H(P(e,()=>r.loadComponent())).pipe(v(Tn),T(En),y(s=>{this.onLoadEndListener&&this.onLoadEndListener(r),r._loadedComponent=s}),Ve(()=>{this.componentLoaders.delete(r)})),o=new Et(i,()=>new z).pipe(Tt());return this.componentLoaders.set(r,o),o}loadChildren(e,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return h({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);let o=An(r,this.compiler,e,this.onLoadEndListener).pipe(Ve(()=>{this.childrenLoaders.delete(r)})),s=new Et(o,()=>new z).pipe(Tt());return this.childrenLoaders.set(r,s),s}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function An(t,n,e,r){return H(P(e,()=>t.loadChildren())).pipe(v(Tn),T(En),A(i=>i instanceof Ir||Array.isArray(i)?h(i):I(n.compileModuleAsync(i))),v(i=>{r&&r(t);let o,s,a=!1;return Array.isArray(i)?(s=i,a=!0):(o=i.create(e).injector,s=o.get(qe,[],{optional:!0,self:!0}).flat()),{routes:s.map(ir),injector:o}}))}function eo(t){return t&&typeof t=="object"&&"default"in t}function Tn(t){return eo(t)?t.default:t}function En(t){return h(t)}var bt=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>d(to),providedIn:"root"})}return t})(),to=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,r){return e}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),On=new D("");var Mn=new D(""),Dn=(()=>{class t{currentNavigation=Qe(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=null;events=new z;transitionAbortWithErrorSubject=new z;configLoader=d(In);environmentInjector=d(ue);destroyRef=d(yr);urlSerializer=d(ze);rootContexts=d(Re);location=d(Ze);inputBindingEnabled=d(Ct,{optional:!0})!==null;titleStrategy=d(or);options=d(Se,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=d(bt);createViewTransition=d(On,{optional:!0});navigationErrorHandler=d(Mn,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>h(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=i=>this.events.next(new ct(i)),r=i=>this.events.next(new lt(i));this.configLoader.onLoadEndListener=r,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let r=++this.navigationId;Q(()=>{this.transitions?.next(U(l({},e),{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,abortController:new AbortController,id:r}))})}setupNavigations(e){return this.transitions=new M(null),this.transitions.pipe(W(r=>r!==null),T(r=>{let i=!1;return h(r).pipe(T(o=>{if(this.navigationId>r.id)return this.cancelNavigationTransition(r,"",w.SupersededByNewNavigation),F;this.currentTransition=r,this.currentNavigation.set({id:o.id,initialUrl:o.rawUrl,extractedUrl:o.extractedUrl,targetBrowserUrl:typeof o.extras.browserUrl=="string"?this.urlSerializer.parse(o.extras.browserUrl):o.extras.browserUrl,trigger:o.source,extras:o.extras,previousNavigation:this.lastSuccessfulNavigation?U(l({},this.lastSuccessfulNavigation),{previousNavigation:null}):null,abort:()=>o.abortController.abort()});let s=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),a=o.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!s&&a!=="reload")return this.events.next(new q(o.id,this.urlSerializer.serialize(o.rawUrl),"",Ne.IgnoredSameUrlNavigation)),o.resolve(!1),F;if(this.urlHandlingStrategy.shouldProcessUrl(o.rawUrl))return h(o).pipe(T(u=>(this.events.next(new ie(u.id,this.urlSerializer.serialize(u.extractedUrl),u.source,u.restoredState)),u.id!==this.navigationId?F:Promise.resolve(u))),Ki(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),y(u=>{r.targetSnapshot=u.targetSnapshot,r.urlAfterRedirects=u.urlAfterRedirects,this.currentNavigation.update(p=>(p.finalUrl=u.urlAfterRedirects,p));let c=new Ue(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot);this.events.next(c)}));if(s&&this.urlHandlingStrategy.shouldProcessUrl(o.currentRawUrl)){let{id:u,extractedUrl:c,source:p,restoredState:R,extras:N}=o,V=new ie(u,this.urlSerializer.serialize(c),p,R);this.events.next(V);let b=hn(this.rootComponentType).snapshot;return this.currentTransition=r=U(l({},o),{targetSnapshot:b,urlAfterRedirects:c,extras:U(l({},N),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(oe=>(oe.finalUrl=c,oe)),h(r)}else return this.events.next(new q(o.id,this.urlSerializer.serialize(o.extractedUrl),"",Ne.IgnoredByUrlHandlingStrategy)),o.resolve(!1),F}),y(o=>{let s=new ot(o.id,this.urlSerializer.serialize(o.extractedUrl),this.urlSerializer.serialize(o.urlAfterRedirects),o.targetSnapshot);this.events.next(s)}),v(o=>(this.currentTransition=r=U(l({},o),{guards:pi(o.targetSnapshot,o.currentSnapshot,this.rootContexts)}),r)),Ai(this.environmentInjector,o=>this.events.next(o)),y(o=>{if(r.guardsResult=o.guardsResult,o.guardsResult&&typeof o.guardsResult!="boolean")throw Rt(this.urlSerializer,o.guardsResult);let s=new st(o.id,this.urlSerializer.serialize(o.extractedUrl),this.urlSerializer.serialize(o.urlAfterRedirects),o.targetSnapshot,!!o.guardsResult);this.events.next(s)}),W(o=>o.guardsResult?!0:(this.cancelNavigationTransition(o,"",w.GuardRejected),!1)),zt(o=>{if(o.guards.canActivateChecks.length!==0)return h(o).pipe(y(s=>{let a=new at(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}),T(s=>{let a=!1;return h(s).pipe(Yi(this.paramsInheritanceStrategy,this.environmentInjector),y({next:()=>a=!0,complete:()=>{a||this.cancelNavigationTransition(s,"",w.NoDataFromResolver)}}))}),y(s=>{let a=new ut(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}))}),zt(o=>{let s=a=>{let u=[];if(a.routeConfig?.loadComponent){let c=me(a)??this.environmentInjector;u.push(this.configLoader.loadComponent(c,a.routeConfig).pipe(y(p=>{a.component=p}),v(()=>{})))}for(let c of a.children)u.push(...s(c));return u};return Ot(s(o.targetSnapshot.root)).pipe(Dt(null),ae(1))}),zt(()=>this.afterPreactivation()),T(()=>{let{currentSnapshot:o,targetSnapshot:s}=r,a=this.createViewTransition?.(this.environmentInjector,o.root,s.root);return a?I(a).pipe(v(()=>r)):h(r)}),v(o=>{let s=ci(e.routeReuseStrategy,o.targetSnapshot,o.currentRouterState);return this.currentTransition=r=U(l({},o),{targetRouterState:s}),this.currentNavigation.update(a=>(a.targetRouterState=s,a)),r}),y(()=>{this.events.next(new Pe)}),fi(this.rootContexts,e.routeReuseStrategy,o=>this.events.next(o),this.inputBindingEnabled),ae(1),Ut(new cr(o=>{let s=r.abortController.signal,a=()=>o.next();return s.addEventListener("abort",a),()=>s.removeEventListener("abort",a)}).pipe(W(()=>!i&&!r.targetRouterState),y(()=>{this.cancelNavigationTransition(r,r.abortController.signal.reason+"",w.Aborted)}))),y({next:o=>{i=!0,this.lastSuccessfulNavigation=Q(this.currentNavigation),this.events.next(new L(o.id,this.urlSerializer.serialize(o.extractedUrl),this.urlSerializer.serialize(o.urlAfterRedirects))),this.titleStrategy?.updateTitle(o.targetRouterState.snapshot),o.resolve(!0)},complete:()=>{i=!0}}),Ut(this.transitionAbortWithErrorSubject.pipe(y(o=>{throw o}))),Ve(()=>{i||this.cancelNavigationTransition(r,"",w.SupersededByNewNavigation),this.currentTransition?.id===r.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),J(o=>{if(this.destroyed)return r.resolve(!1),F;if(i=!0,mn(o))this.events.next(new k(r.id,this.urlSerializer.serialize(r.extractedUrl),o.message,o.cancellationCode)),di(o)?this.events.next(new pe(o.url,o.navigationBehaviorOptions)):r.resolve(!1);else{let s=new fe(r.id,this.urlSerializer.serialize(r.extractedUrl),o,r.targetSnapshot??void 0);try{let a=P(this.environmentInjector,()=>this.navigationErrorHandler?.(s));if(a instanceof ge){let{message:u,cancellationCode:c}=Rt(this.urlSerializer,a);this.events.next(new k(r.id,this.urlSerializer.serialize(r.extractedUrl),u,c)),this.events.next(new pe(a.redirectTo,a.navigationBehaviorOptions))}else throw this.events.next(s),o}catch(a){this.options.resolveNavigationPromiseOnError?r.resolve(!1):r.reject(a)}}return F}))}))}cancelNavigationTransition(e,r,i){let o=new k(e.id,this.urlSerializer.serialize(e.extractedUrl),r,i);this.events.next(o),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),r=Q(this.currentNavigation),i=r?.targetBrowserUrl??r?.extractedUrl;return e.toString()!==i?.toString()&&!r?.extras.skipLocationChange}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function ro(t){return t!==Oe}var Nn=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>d(no),providedIn:"root"})}return t})(),St=class{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}},no=(()=>{class t extends St{static \u0275fac=(()=>{let e;return function(i){return(e||(e=Pt(t)))(i||t)}})();static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Un=(()=>{class t{urlSerializer=d(ze);options=d(Se,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=d(Ze);urlHandlingStrategy=d(bt);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new $;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:e,initialUrl:r,targetBrowserUrl:i}){let o=e!==void 0?this.urlHandlingStrategy.merge(e,r):r,s=i??o;return s instanceof $?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:e,finalUrl:r,initialUrl:i}){r&&e?(this.currentUrlTree=r,this.rawUrlTree=this.urlHandlingStrategy.merge(r,i),this.routerState=e):this.rawUrlTree=i}routerState=hn(null);getRouterState(){return this.routerState}stateMemento=this.createStateMemento();updateStateMemento(){this.stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}resetInternalState({finalUrl:e}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e??this.rawUrlTree)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>d(io),providedIn:"root"})}return t})(),io=(()=>{class t extends Un{currentPageId=0;lastSuccessfulId=-1;restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(r=>{r.type==="popstate"&&setTimeout(()=>{e(r.url,r.state,"popstate")})})}handleRouterEvent(e,r){e instanceof ie?this.updateStateMemento():e instanceof q?this.commitTransition(r):e instanceof Ue?this.urlUpdateStrategy==="eager"&&(r.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof Pe?(this.commitTransition(r),this.urlUpdateStrategy==="deferred"&&!r.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof k&&e.code!==w.SupersededByNewNavigation&&e.code!==w.Redirect?this.restoreHistory(r):e instanceof fe?this.restoreHistory(r,!0):e instanceof L&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,{extras:r,id:i}){let{replaceUrl:o,state:s}=r;if(this.location.isCurrentPathEqualTo(e)||o){let a=this.browserPageId,u=l(l({},s),this.generateNgRouterState(i,a));this.location.replaceState(e,"",u)}else{let a=l(l({},s),this.generateNgRouterState(i,this.browserPageId+1));this.location.go(e,"",a)}}restoreHistory(e,r=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===e.finalUrl&&o===0&&(this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(r&&this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,r){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:r}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=Pt(t)))(i||t)}})();static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function sr(t,n){t.events.pipe(W(e=>e instanceof L||e instanceof k||e instanceof fe||e instanceof q),v(e=>e instanceof L||e instanceof q?0:(e instanceof k?e.code===w.Redirect||e.code===w.SupersededByNewNavigation:!1)?2:1),W(e=>e!==2),ae(1)).subscribe(()=>{n()})}var oo={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},so={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},Ce=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=d(Tr);stateManager=d(Un);options=d(Se,{optional:!0})||{};pendingTasks=d(Sr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=d(Dn);urlSerializer=d(ze);location=d(Ze);urlHandlingStrategy=d(bt);injector=d(ue);_events=new z;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=d(Nn);onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=d(qe,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!d(Ct,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{this.console.warn(e)}}),this.subscribeToNavigationEvents()}eventsSubscription=new ar;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(r=>{try{let i=this.navigationTransitions.currentTransition,o=Q(this.navigationTransitions.currentNavigation);if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(r,o),r instanceof k&&r.code!==w.Redirect&&r.code!==w.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof L)this.navigated=!0;else if(r instanceof pe){let s=r.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(r.url,i.currentRawUrl),u=l({browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||ro(i.source)},s);this.scheduleNavigation(a,Oe,null,u,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}oi(r)&&this._events.next(r)}catch(i){this.navigationTransitions.transitionAbortWithErrorSubject.next(i)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Oe,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,r,i)=>{this.navigateToSyncWithBrowser(e,i,r)})}navigateToSyncWithBrowser(e,r,i){let o={replaceUrl:!0},s=i?.navigationId?i:null;if(i){let u=l({},i);delete u.navigationId,delete u.\u0275routerPageId,Object.keys(u).length!==0&&(o.state=u)}let a=this.parseUrl(e);this.scheduleNavigation(a,r,s,o).catch(u=>{this.disposed||this.injector.get(Ge)(u)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return Q(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(ir),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,r={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:u}=r,c=u?this.currentUrlTree.fragment:s,p=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":p=l(l({},this.currentUrlTree.queryParams),o);break;case"preserve":p=this.currentUrlTree.queryParams;break;default:p=o||null}p!==null&&(p=this.removeEmptyProps(p));let R;try{let N=i?i.snapshot:this.routerState.snapshot.root;R=an(N)}catch{(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),R=this.currentUrlTree.root}return un(R,e,p,c??null)}navigateByUrl(e,r={skipLocationChange:!1}){let i=Y(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,Oe,null,r)}navigate(e,r={skipLocationChange:!1}){return ao(e),this.navigateByUrl(this.createUrlTree(e,r),r)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch{return this.urlSerializer.parse("/")}}isActive(e,r){let i;if(r===!0?i=l({},oo):r===!1?i=l({},so):i=r,Y(e))return Fr(this.currentUrlTree,e,i);let o=this.parseUrl(e);return Fr(this.currentUrlTree,o,i)}removeEmptyProps(e){return Object.entries(e).reduce((r,[i,o])=>(o!=null&&(r[i]=o),r),{})}scheduleNavigation(e,r,i,o,s){if(this.disposed)return Promise.resolve(!1);let a,u,c;s?(a=s.resolve,u=s.reject,c=s.promise):c=new Promise((R,N)=>{a=R,u=N});let p=this.pendingTasks.add();return sr(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(p))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:o,resolve:a,reject:u,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(R=>Promise.reject(R))}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function ao(t){for(let n=0;n<t.length;n++)if(t[n]==null)throw new S(4008,!1)}var It=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;reactiveHref=Qe(null);get href(){return Q(this.reactiveHref)}set href(e){this.reactiveHref.set(e)}target;queryParams;fragment;queryParamsHandling;state;info;relativeTo;isAnchorElement;subscription;onChanges=new z;applicationErrorHandler=d(Ge);options=d(Se,{optional:!0});constructor(e,r,i,o,s,a){this.router=e,this.route=r,this.tabIndexAttribute=i,this.renderer=o,this.el=s,this.locationStrategy=a,this.reactiveHref.set(d(new jr("href"),{optional:!0}));let u=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=u==="a"||u==="area"||!!(typeof customElements=="object"&&customElements.get(u)?.observedAttributes?.includes?.("href")),this.isAnchorElement?this.setTabIndexIfNotOnNativeEl("0"):this.subscribeToNavigationEventsIfNecessary()}subscribeToNavigationEventsIfNecessary(){if(this.subscription!==void 0||!this.isAnchorElement)return;let e=this.preserveFragment,r=i=>i==="merge"||i==="preserve";e||=r(this.queryParamsHandling),e||=!this.queryParamsHandling&&!r(this.options?.defaultQueryParamsHandling),e&&(this.subscription=this.router.events.subscribe(i=>{i instanceof L&&this.updateHref()}))}preserveFragment=!1;skipLocationChange=!1;replaceUrl=!1;setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&(this.updateHref(),this.subscribeToNavigationEventsIfNecessary()),this.onChanges.next(this)}routerLinkInput=null;set routerLink(e){e==null?(this.routerLinkInput=null,this.setTabIndexIfNotOnNativeEl(null)):(Y(e)?this.routerLinkInput=e:this.routerLinkInput=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,r,i,o,s){let a=this.urlTree;if(a===null||this.isAnchorElement&&(e!==0||r||i||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let u={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,u)?.catch(c=>{this.applicationErrorHandler(c)}),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){let e=this.urlTree;this.reactiveHref.set(e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e))??"":null)}applyAttributeValue(e,r){let i=this.renderer,o=this.el.nativeElement;r!==null?i.setAttribute(o,e,r):i.removeAttribute(o,e)}get urlTree(){return this.routerLinkInput===null?null:Y(this.routerLinkInput)?this.routerLinkInput:this.router.createUrlTree(this.routerLinkInput,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static \u0275fac=function(r){return new(r||t)(_(Ce),_(B),Cr("tabindex"),_(xt),_(_t),_($r))};static \u0275dir=Ie({type:t,selectors:[["","routerLink",""]],hostVars:2,hostBindings:function(r,i){r&1&&Ur("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),r&2&&Dr("href",i.reactiveHref(),wr)("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",Ye],skipLocationChange:[2,"skipLocationChange","skipLocationChange",Ye],replaceUrl:[2,"replaceUrl","replaceUrl",Ye],routerLink:"routerLink"},features:[be]})}return t})(),co=(()=>{class t{router;element;renderer;cdr;link;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new X;constructor(e,r,i,o,s){this.router=e,this.element=r,this.renderer=i,this.cdr=o,this.link=s,this.routerEventsSubscription=e.events.subscribe(a=>{a instanceof L&&this.update()})}ngAfterContentInit(){h(this.links.changes,h(null)).pipe(Mt()).subscribe(e=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();let e=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=I(e).pipe(Mt()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(e){let r=Array.isArray(e)?e:e.split(" ");this.classes=r.filter(i=>!!i)}ngOnChanges(e){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let e=this.hasActiveLinks();this.classes.forEach(r=>{e?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),e&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==e&&(this._isActive=e,this.cdr.markForCheck(),this.isActiveChange.emit(e))})}isLinkActive(e){let r=lo(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>{let o=i.urlTree;return o?e.isActive(o,r):!1}}hasActiveLinks(){let e=this.isLinkActive(this.router);return this.link&&e(this.link)||this.links.some(e)}static \u0275fac=function(r){return new(r||t)(_(Ce),_(_t),_(xt),_(Ke),_(It,8))};static \u0275dir=Ie({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(r,i,o){if(r&1&&Pr(o,It,5),r&2){let s;_r(s=xr())&&(i.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[be]})}return t})();function lo(t){return!!t.paths}var ho=new D("");function fo(t,...n){return mr([{provide:qe,multi:!0,useValue:t},[],{provide:B,useFactory:po,deps:[Ce]},{provide:Or,multi:!0,useFactory:go},n.map(e=>e.\u0275providers)])}function po(t){return t.routerState.root}function go(){let t=d(Rr);return n=>{let e=t.get(Mr);if(n!==e.components[0])return;let r=t.get(Ce),i=t.get(vo);t.get(mo)===1&&r.initialNavigation(),t.get(Ro,null,{optional:!0})?.setUpPreloading(),t.get(ho,null,{optional:!0})?.init(),r.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var vo=new D("",{factory:()=>new z}),mo=new D("",{providedIn:"root",factory:()=>1});var Ro=new D("");export{ut as a,B as b,rr as c,Ce as d,It as e,co as f,fo as g};
@@ -1 +1 @@
1
- import{a as Ct}from"./chunk-PU26FIXJ.js";import{a as gt,b as R,c as vt}from"./chunk-KOYXXWT3.js";import{a as Q,b as Fe,c as ot,e as oe}from"./chunk-BMZK5PGX.js";import{a as ht}from"./chunk-USM4HKKT.js";import{d as be}from"./chunk-MGWJOK6G.js";import"./chunk-JXZCNFW7.js";import{a as _t}from"./chunk-ATROK3XR.js";import{a as ne,b as xe,c as Se,d as we,f as Te,i as Ae}from"./chunk-EUCMHS6F.js";import{a as ke,b as Ie,c as ut,d as ft}from"./chunk-ME4DNAIM.js";import{a as K,b as ye}from"./chunk-IYMU2AOQ.js";import"./chunk-E2MMQS3P.js";import{g as dt}from"./chunk-MAVDZOWK.js";import{K as it,L as X,N as nt,R as ve,Xa as pt,pa as at,qa as rt,ra as st,ua as lt,v as qe,va as mt,wa as ct,xb as z}from"./chunk-H3O3N5LY.js";import{b as Re,d as Le}from"./chunk-J6YSVODR.js";import{$a as Pe,$c as Z,Ad as $e,Bf as Ze,Cb as f,Eb as p,Ed as ie,Ee as Ke,Fc as pe,Fd as G,Ga as J,Gc as Ge,Gd as je,Ge as Ce,Ib as re,If as et,Jb as se,Kb as le,L as W,Ma as r,Mb as De,Nb as E,Ob as U,Pb as m,Pf as he,Qb as v,Qd as He,Rb as A,Sb as O,Ue as We,Uf as tt,Xa as N,Xb as P,Yb as Me,Zc as M,_a as me,ab as k,ad as de,ae as Qe,bb as ce,bf as Xe,cd as F,dc as h,ec as w,ed as B,fc as D,fd as $,gd as ee,ha as S,id as y,jb as g,jd as Oe,kb as C,lb as Y,ma as b,na as x,nb as I,nd as q,ob as V,od as te,pb as c,pd as ue,pe as ze,qb as n,qd as fe,rb as o,rd as _e,sb as u,wd as Be,wf as Je,xd as j,xe as ge,yd as H,zb as L,zf as Ye}from"./chunk-JQOMI5VI.js";import"./chunk-RTRJ3KFH.js";function Tt(e,a){if(e&1&&(u(0,"fa-icon",42),n(1,"span"),m(2),o()),e&2){let i=p();c("icon",i.icons.faPen),r(2),v(i.guest.fullName)}}function At(e,a){if(e&1&&(u(0,"fa-icon",42),n(1,"span",43),m(2,"New guest"),o()),e&2){let i=p();c("icon",i.icons.faPlus)}}function Et(e,a){if(e&1&&u(0,"fa-icon",2),e&2){let i=p();c("icon",i.icons.faSpinner)}}function Ut(e,a){e&1&&(n(0,"h4",3)(1,"span",43),m(2,"Edit guest"),o()())}function Dt(e,a){if(e&1&&(u(0,"fa-icon",44),n(1,"span",45),m(2,"Account"),o()),e&2){let i=p();c("icon",i.icons.faAddressCard)}}function Ft(e,a){if(e&1&&u(0,"app-password-strength-bar",22),e&2){let i=p();c("passwordToCheck",i.guestForm.value.password)}}function kt(e,a){if(e&1&&(n(0,"option",26),m(1),o()),e&2){let i=a.$implicit;c("ngValue",i),r(),v(i)}}function It(e,a){if(e&1&&(n(0,"option",34),m(1),o()),e&2){let i=a.$implicit,s=p();c("ngValue",s.allNotifications.indexOf(i)),r(),v(i)}}function Vt(e,a){if(e&1&&(n(0,"div"),m(1),h(2,"amDateFormat"),o(),n(3,"div"),m(4),h(5,"amDateFormat"),o()),e&2){let i=p(2);r(),O("",w(2,4,i.guest.currentAccess)," - ",i.guest.currentIp),r(3),O("",w(5,6,i.guest.lastAccess)," - ",i.guest.lastIp)}}function Nt(e,a){e&1&&(n(0,"span",37),m(1,"never"),o())}function Pt(e,a){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",46),m(3,"Creation date"),o(),n(4,"div",47),m(5),h(6,"amDateFormat"),o()(),n(7,"div",48)(8,"label",49),m(9,"Last accesses"),o(),n(10,"div",50),g(11,Vt,6,8)(12,Nt,2,0,"span",37),o()()()),e&2){let i=p();r(5),v(w(6,2,i.guest.createdAt)),r(6),C(i.guest.lastAccess?11:12)}}function Mt(e,a){if(e&1&&(u(0,"fa-icon",44),n(1,"span",51),m(2,"Managers"),o(),n(3,"span"),m(4),o()),e&2){let i=p();c("icon",i.icons.faUsersGear),r(4),A("(",i.guestForm.value.managers.length||0,")")}}function Gt(e,a){e&1&&(n(0,"small",37),m(1,"At least one manager is required"),o())}function Rt(e,a){if(e&1){let i=L();n(0,"button",52),f("click",function(){b(i);let l=p();return x(l.confirmDeletion=!0)}),m(1," Remove "),o()}if(e&2){let i=p();c("disabled",i.confirmDeletion)}}var Ve=(()=>{let a=class a extends Ct{constructor(){super(),this.adminService=S(R)}searchMembers(s){let l={search:s,ignoreUserIds:this.guestForm.value.managers.map(t=>t.id),usersRole:X.USER,onlyUsers:!0};return this.adminService.searchMembers(l)}onSubmit(){if(this.submitted=!0,this.confirmDeletion)this.adminService.deleteUser(this.guest.id,null,!0).subscribe({next:()=>{this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest deleted",this.guest.login),this.layout.closeDialog()},error:s=>this.onError(s)});else if(!this.guest)this.adminService.createUser(this.makeDto(!0),!0).subscribe({next:s=>{this.guestChange.emit(["add",s]),this.layout.sendNotification("success","Guest created",this.guestForm.value.login),this.layout.closeDialog()},error:s=>this.onError(s)});else{let s=this.makeDto();if(!Object.keys(s).length){this.loading=!1,this.submitted=!1;return}this.adminService.updateUser(this.guest.id,s,!0).subscribe({next:l=>{l?this.guestChange.emit(["update",l]):this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest updated",this.guestForm.value.login),this.layout.closeDialog()},error:l=>this.onError(l)})}}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-guest-dialog"]],features:[Pe],decls:70,vars:40,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","flex-column"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","login","l10nTranslate",""],["id","login","appAutofocus","","formControlName","login","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","email","l10nTranslate",""],["id","email","formControlName","email","autocomplete","off","type","email",1,"form-control","form-control-sm"],["for","firstName","l10nTranslate",""],["id","firstName","formControlName","firstName","autocomplete","off","type","text",1,"form-control","form-control-sm"],["for","lastName","l10nTranslate",""],["id","lastName","formControlName","lastName","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"position-absolute","pe-4",2,"right","50%","padding-top","6px",3,"passwordToCheck"],["id","password","placeholder","Set a password",3,"passwordChange","password","showGenerator","showLabel","isRequired"],["for","language","l10nTranslate",""],["id","language","formControlName","language",1,"form-control","form-select","form-select-sm"],[3,"ngValue"],[1,"d-flex","flex-column","col-6","pe-4"],["for","account","l10nTranslate",""],["id","account",1,"form-check","form-switch","form-check-inline"],["for","isActive",1,"form-check-label"],["formControlName","isActive","id","isActive","type","checkbox",1,"form-check-input"],["for","notification","l10nTranslate",""],["id","notification","formControlName","notification",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],["customClass","tab-dialog",3,"selectTab"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],["l10nTranslate","",1,"text-danger"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"disabled"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",3,"click","disabled"],[1,"me-2",3,"icon"],["l10nTranslate",""],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","access","l10nTranslate",""],["id","access",1,"text-align-end"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),g(2,Tt,3,2)(3,At,3,1),g(4,Et,1,1,"fa-icon",2),o(),g(5,Ut,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"tabset",6),u(9,"hr",7),n(10,"tab",8),f("selectTab",function(){return t.tabView=null}),k(11,Dt,3,1,"ng-template",9),n(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),m(16,"Login"),o(),u(17,"input",14),o(),n(18,"div",15)(19,"label",16),m(20,"Email"),o(),u(21,"input",17),o()(),n(22,"div",11)(23,"div",12)(24,"label",18),m(25,"First name"),o(),u(26,"input",19),o(),n(27,"div",15)(28,"label",20),m(29,"Last name"),o(),u(30,"input",21),o()(),n(31,"div",11)(32,"div",12),g(33,Ft,1,1,"app-password-strength-bar",22),n(34,"app-input-password",23),f("passwordChange",function(_){return t.updatePassword(_)}),o()(),n(35,"div",15)(36,"label",24),m(37,"Language"),o(),n(38,"select",25),I(39,kt,2,2,"option",26,Y),o()()(),n(41,"div",11)(42,"div",27)(43,"label",28),m(44,"Account status"),o(),n(45,"div",29)(46,"label",30),u(47,"input",31),n(48,"span"),m(49),h(50,"translate"),h(51,"titlecase"),o()()()(),n(52,"div",15)(53,"label",32),m(54,"Notification"),o(),n(55,"select",33),I(56,It,2,2,"option",34,Y),o()()(),g(58,Pt,13,4,"div",11),o()(),n(59,"tab",35),f("selectTab",function(){return t.tabView="managers"}),k(60,Mt,5,2,"ng-template",9),n(61,"div",7)(62,"app-user-search",36),f("membersChange",function(_){return t.updateManagers(_)}),o(),g(63,Gt,2,0,"small",37),o()()()(),n(64,"div",38),g(65,Rt,2,1,"button",39),n(66,"button",40),f("click",function(){return t.onCancel()}),m(67,"Cancel"),o(),n(68,"button",41),f("click",function(){return t.onSubmit()}),m(69),o()()),l&2&&(r(2),C(t.guest?2:3),r(2),C(t.loading?4:-1),r(),C(t.guest?5:-1),r(),U(P("btn-close btn-close-white ",t.guest?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.guestForm),r(),c("justified",!0),r(9),E("is-invalid",t.guestForm.controls.login.invalid),c("autoSelect",!1),r(4),E("is-invalid",t.guestForm.controls.email.invalid),r(5),E("is-invalid",t.guestForm.controls.firstName.invalid),r(7),C(t.guestForm.value.password!==t.defaultPassword?33:-1),r(),c("password",t.guestForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),r(5),V(t.languages),r(9),E("text-danger",!t.guestForm.value.isActive),r(),A(" ",w(51,38,D(50,35,t.guestForm.value.isActive?"active":"suspended",t.locale.language))," "),r(7),V(t.allNotifications),r(2),C(t.guest?58:-1),r(4),c("members",t.guestForm.value.managers)("withPermissions",!1)("customPlaceholder","Type to search for managers to add")("searchFunction",t.searchMembers.bind(t)),r(),C(t.guestForm.value.managers.length?-1:63),r(2),C(t.guest!=null&&t.guest.id?65:-1),r(3),U(P("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",t.guestForm.invalid||t.submitted),r(),A(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[M,G,j,fe,_e,de,Z,ue,B,$,q,te,K,ye,Te,Ae,xe,Se,we,ne,ie,pe],encapsulation:2});let e=a;return e})();function Ot(e,a){e&1&&(n(0,"h4",3)(1,"span",13),m(2,"Impersonate identity"),o()())}var bt=(()=>{let a=class a{constructor(){this.locale=S(H),this.layout=S(z),this.submitted=!1,this.icons={faUserSecret:he},this.passwordMinLength=8,this.impersonateUserForm=new ee({password:new y("",F.required)}),this.adminService=S(R)}onSubmit(){this.submitted=!0,this.adminService.impersonateUser(this.user.id,{password:this.impersonateUserForm.value.password}).subscribe({next:s=>{this.layout.closeDialog(),setTimeout(()=>this.adminService.initImpersonateUser(s),500)},error:s=>{this.submitted=!1,this.layout.sendNotification("error","Impersonate identity",this.user.login,s)}})}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-impersonate-user-dialog"]],inputs:{user:"user"},decls:19,vars:16,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],[1,"d-flex","align-items-center","avatar","mb-3"],["alt","",1,"avatar-img",3,"src"],[1,"fw-bold","mx-2"],["id","password","placeholder","Enter your password to confirm",3,"passwordChange","password","passwordMinLength","isRequired","focus"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"],["l10nTranslate",""]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),n(3,"span"),m(4),o()(),g(5,Ot,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"div",6),u(9,"img",7),n(10,"span",8),m(11),h(12,"capitalize"),o()(),n(13,"app-input-password",9),f("passwordChange",function(_){return t.impersonateUserForm.controls.password.setValue(_)}),o()(),n(14,"div",10)(15,"button",11),f("click",function(){return t.layout.closeDialog()}),m(16,"Cancel"),o(),n(17,"button",12),f("click",function(){return t.onSubmit()}),m(18," Confirm "),o()()),l&2&&(r(2),c("icon",t.icons.faUserSecret),r(2),v(t.user.fullName),r(),C(t.user?5:-1),r(),U(P("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.impersonateUserForm),r(2),c("src",t.user.avatarUrl,J),r(2),v(w(12,14,t.user.login)),r(2),c("password",t.impersonateUserForm.value.password)("passwordMinLength",t.passwordMinLength)("isRequired",!0)("focus",!0),r(4),c("disabled",t.impersonateUserForm.invalid||t.submitted))},dependencies:[M,G,j,$,q,K,oe],encapsulation:2});let e=a;return e})();var xt=(()=>{let a=class a{constructor(){this.translate=S($e)}transform(s,l=!1,t=null,d=", "){return s.length?(t?s.map(T=>T[t]):s.concat()).sort().map(T=>new oe().transform(l?this.translate.translate(T):T)).join(d):""}};a.\u0275fac=function(l){return new(l||a)},a.\u0275pipe=me({name:"join",type:a,pure:!0});let e=a;return e})();var St=(()=>{let a=class a{transform(s,l=","){return s?.length?s.split(l):[]}};a.\u0275fac=function(l){return new(l||a)},a.\u0275pipe=me({name:"split",type:a,pure:!0});let e=a;return e})();function Bt(e,a){e&1&&(n(0,"h4",3)(1,"span",9),m(2,"Delete user"),o()())}var wt=(()=>{let a=class a{constructor(){this.wasDeleted=new ce,this.locale=S(H),this.submitted=!1,this.icons={faUserMinus:Je},this.deleteUserForm=new ee({adminPassword:new y("",F.required),deleteSpace:new y(!1)}),this.layout=S(z),this.adminService=S(R)}onClose(){this.wasDeleted.emit(!1),this.layout.closeDialog()}onSubmit(){this.submitted=!0,this.adminService.deleteUser(this.user.id,{adminPassword:this.deleteUserForm.value.adminPassword,deleteSpace:this.deleteUserForm.value.deleteSpace}).subscribe({next:()=>{this.wasDeleted.emit(!0),this.layout.sendNotification("success","Delete user",this.user.login),this.onClose()},error:s=>{this.submitted=!1,this.layout.sendNotification("error","Delete user",this.user.login,s)}})}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-user-delete-dialog"]],inputs:{user:"user"},outputs:{wasDeleted:"wasDeleted"},decls:27,vars:15,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],[1,"d-flex","align-items-center","avatar","mb-3"],["alt","",1,"avatar-img",3,"src"],[1,"fw-bold","mx-2"],["l10nTranslate",""],["id","password","placeholder","Enter your password to confirm",3,"passwordChange","password","isRequired","focus"],[1,"form-check","form-check-inline","mt-3"],[1,"d-flex"],["for","deleteSpace",1,"form-check-label"],["formControlName","deleteSpace","id","deleteSpace","type","checkbox",1,"form-check-input"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),n(3,"span"),m(4),o()(),g(5,Bt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.onClose()}),o()(),n(7,"div",5)(8,"div",6),u(9,"img",7),n(10,"span",8),m(11),h(12,"capitalize"),o(),n(13,"span",9),m(14,"will be permanently removed"),o()(),n(15,"app-input-password",10),f("passwordChange",function(_){return t.deleteUserForm.controls.adminPassword.setValue(_)}),o(),n(16,"div",11)(17,"div",12)(18,"label",13),u(19,"input",14),n(20,"span",9),m(21,"Delete all user files"),o()()()()(),n(22,"div",15)(23,"button",16),f("click",function(){return t.onClose()}),m(24,"Cancel"),o(),n(25,"button",17),f("click",function(){return t.onSubmit()}),m(26," Confirm "),o()()),l&2&&(r(2),c("icon",t.icons.faUserMinus),r(2),v(t.user.fullName),r(),C(t.user?5:-1),r(),U(P("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.deleteUserForm),r(2),c("src",t.user.avatarUrl,J),r(2),v(w(12,13,t.user.login)),r(4),c("password",t.deleteUserForm.value.adminPassword)("isRequired",!0)("focus",!0),r(10),c("disabled",t.deleteUserForm.invalid||t.submitted))},dependencies:[M,G,j,Z,B,$,q,te,K,oe],encapsulation:2});let e=a;return e})();var $t=(e,a)=>a.id;function qt(e,a){if(e&1&&(u(0,"fa-icon",47),n(1,"span"),m(2),o()),e&2){let i=p();c("icon",i.icons.faUserPen),r(2),v(i.user.fullName)}}function jt(e,a){if(e&1&&(u(0,"fa-icon",47),n(1,"span",40),m(2,"New user"),o()),e&2){let i=p();c("icon",i.icons.faUserPlus)}}function Ht(e,a){if(e&1&&u(0,"fa-icon",2),e&2){let i=p();c("icon",i.icons.faSpinner)}}function Qt(e,a){e&1&&(n(0,"h4",3)(1,"span",40),m(2,"Edit user"),o()())}function zt(e,a){if(e&1&&(u(0,"fa-icon",48),n(1,"span",49),m(2,"Account"),o()),e&2){let i=p();c("icon",i.icons.faAddressCard)}}function Kt(e,a){if(e&1&&u(0,"app-password-strength-bar",22),e&2){let i=p();c("passwordToCheck",i.userForm.value.password)}}function Wt(e,a){if(e&1&&(n(0,"option",26),m(1),o()),e&2){let i=a.$implicit;c("ngValue",i),r(),v(i)}}function Xt(e,a){if(e&1&&(n(0,"option",30),m(1),o()),e&2){let i=a.$implicit,s=p();c("ngValue",s.allNotifications.indexOf(i)),r(),v(i)}}function Jt(e,a){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",50),m(3,"Storage Usage"),o(),u(4,"app-storage-usage",51),o(),u(5,"div",15),o()),e&2){let i=p();r(4),c("item",i.user)}}function Yt(e,a){if(e&1&&(n(0,"div"),m(1),h(2,"amDateFormat"),o(),n(3,"div"),m(4),h(5,"amDateFormat"),o()),e&2){let i=p(2);r(),O("",w(2,4,i.user.currentAccess)," - ",i.user.currentIp),r(3),O("",w(5,6,i.user.lastAccess)," - ",i.user.lastIp)}}function Zt(e,a){e&1&&(n(0,"span",57),m(1,"never"),o())}function ei(e,a){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",52),m(3,"Creation date"),o(),n(4,"div",53),m(5),h(6,"amDateFormat"),o()(),n(7,"div",54)(8,"label",55),m(9,"Last accesses"),o(),n(10,"div",56),g(11,Yt,6,8)(12,Zt,2,0,"span",57),o()()()),e&2){let i=p();r(5),v(w(6,2,i.user.createdAt)),r(6),C(i.user.lastAccess?11:12)}}function ti(e,a){if(e&1&&(u(0,"fa-icon",48),n(1,"span",49),m(2,"Permissions"),o()),e&2){let i=p();c("icon",i.icons.faShieldHalved)}}function ii(e,a){if(e&1&&(n(0,"div",60)(1,"div",61),u(2,"fa-icon",62),n(3,"span"),m(4),o()(),n(5,"div",63),m(6),h(7,"split"),h(8,"join"),o()()),e&2){let i=p().$implicit,s=p(2);r(2),c("icon",s.icons.GROUPS),r(2),v(i.name),r(2),v(D(8,5,w(7,3,i.permissions),!0))}}function ni(e,a){if(e&1&&g(0,ii,9,8,"div",60),e&2){let i=a.$implicit;C(i.permissions?0:-1)}}function oi(e,a){if(e&1&&(n(0,"div",32)(1,"label",58),m(2,"Permissions inherited from groups"),o(),n(3,"div",59),I(4,ni,1,1,null,null,$t),o()()),e&2){let i=p();r(4),V(i.userForm.value.groups)}}function ai(e,a){if(e&1&&(u(0,"fa-icon",48),n(1,"span",64),m(2,"Groups"),o(),n(3,"span"),m(4),o()),e&2){let i=p();c("icon",i.icons.faUsers),r(4),A("(",i.userForm.value.groups.length||0,")")}}function ri(e,a){if(e&1){let i=L();n(0,"button",65),f("click",function(){b(i);let l=p();return x(l.confirmDeletion=!0)}),m(1," Remove "),o()}if(e&2){let i=p();c("disabled",i.confirmDeletion)}}var Ne=(()=>{let a=class a{constructor(){this.user=null,this.userChange=new ce,this.locale=S(H),this.layout=S(z),this.submitted=!1,this.loading=!1,this.confirmDeletion=!1,this.icons={GROUPS:lt.GROUPS,faUserPlus:Ce,faUserPen:ge,faSpinner:Xe,faAddressCard:Ke,faUsers:ze,faShieldHalved:Ze},this.allNotifications=Object.values(ve),this.defaultPassword=this.layout.translateString(mt),this.languages=this.layout.getLanguages(!0),this.adminService=S(R)}ngOnInit(){this.userForm=new ee({login:new y(this.user?.login||"",[F.required,F.pattern(it)]),email:new y(this.user?.email||"",[F.required,F.maxLength(255),F.email]),firstName:new y(this.user?.firstName||"",[F.required,F.maxLength(255)]),lastName:new y(this.user?.lastName||"",F.maxLength(255)),password:new y(this.user?this.defaultPassword:"",F.maxLength(255)),language:new y(this.user?.language||null),notification:new y(this.user?.notification||Object.values(ve).indexOf(ve.APPLICATION_EMAIL)),isActive:new y(this.user?this.user.isActive:!0),isAdmin:new y(this.user?this.user.isAdmin:!1),storageQuota:new y(this.user?.storageQuota||null),groups:new y(this.user?.groups||[]),applications:new y(this.user?.applications||[])})}searchMembers(s){let l={search:s,onlyGroups:!0,excludePersonalGroups:!0,withPermissions:!0,ignoreGroupIds:this.userForm.value.groups.map(t=>t.id)};return this.adminService.searchMembers(l)}updateApplications(s){this.userForm.controls.applications.setValue(s),this.userForm.controls.applications.markAsDirty()}updatePassword(s){this.userForm.controls.password.setValue(s),this.userForm.controls.password.markAsDirty()}updateMembers(s){this.userForm.controls.groups.setValue(s),this.userForm.controls.groups.markAsDirty()}updateQuota(s){this.userForm.controls.storageQuota.setValue(s),this.userForm.controls.storageQuota.markAsDirty()}onCancel(){this.confirmDeletion?this.confirmDeletion=!1:this.layout.closeDialog()}onSubmit(){this.submitted=!0,this.confirmDeletion?this.layout.openDialog(wt,"sm",{initialState:{user:this.user}}).content.wasDeleted.pipe(W(1)).subscribe(l=>{l?(this.userChange.emit(["delete",this.user]),this.layout.closeDialog()):(this.confirmDeletion=!1,this.submitted=!1)}):this.user?this.adminService.updateUser(this.user.id,this.makeDto()).subscribe({next:s=>{this.userChange.emit(["update",s]),this.layout.sendNotification("success","User updated",this.userForm.value.login),this.layout.closeDialog()},error:s=>this.onError(s)}):this.adminService.createUser(this.makeDto(!0)).subscribe({next:s=>{this.userChange.emit(["add",s]),this.layout.sendNotification("success","User created",this.userForm.value.login),this.layout.closeDialog()},error:s=>this.onError(s)})}makeDto(s=!1){let l={};if(s)l=this.userForm.value;else for(let t in this.userForm.controls)this.userForm.controls[t].dirty&&(l[t]=this.userForm.controls[t].value);for(let t in l)switch(t){case"language":l[t]=l[t]===ct?null:l[t];break;case"isAdmin":l.role=l[t]?X.ADMINISTRATOR:X.USER;break;case"applications":l.permissions=l[t].join(nt);break;case"groups":l[t]=l[t].map(d=>d.id);break}return l}onError(s){this.layout.sendNotification("error","Group error",this.userForm.value.login,s),this.submitted=!1}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-user-dialog"]],inputs:{user:"user"},outputs:{userChange:"userChange"},decls:82,vars:44,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","flex-column"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","login","l10nTranslate",""],["id","login","appAutofocus","","formControlName","login","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","email","l10nTranslate",""],["id","email","formControlName","email","autocomplete","off","type","email",1,"form-control","form-control-sm"],["for","firstName","l10nTranslate",""],["id","firstName","formControlName","firstName","autocomplete","off","type","text",1,"form-control","form-control-sm"],["for","lastName","l10nTranslate",""],["id","lastName","formControlName","lastName","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"position-absolute","pe-4",2,"right","50%","padding-top","6px",3,"passwordToCheck"],["id","password","placeholder","Set a password",3,"passwordChange","password","showGenerator","showLabel","isRequired"],["for","language","l10nTranslate",""],["id","language","formControlName","language",1,"form-control","form-select","form-select-sm"],[3,"ngValue"],[3,"quotaChange","quota","fullWidth"],["for","notification","l10nTranslate",""],["id","notification","formControlName","notification",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],["customClass","tab-dialog",3,"selectTab"],[1,"d-flex","flex-column","col-12","pb-3"],["for","account","l10nTranslate",""],["id","account",1,"form-check","form-switch","form-check-inline"],[1,"d-flex"],["for","isActive",1,"form-check-label"],["formControlName","isActive","id","isActive","type","checkbox",1,"form-check-input"],["for","isAdmin",1,"form-check-label"],["formControlName","isAdmin","id","isAdmin","type","checkbox",1,"form-check-input"],["l10nTranslate",""],[3,"permissionsChange","permissions"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"disabled"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",3,"click","disabled"],[1,"me-2",3,"icon"],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","storage","l10nTranslate",""],["id","storage",3,"item"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","access","l10nTranslate",""],["id","access",1,"text-align-end"],["l10nTranslate","",1,"text-danger"],["for","groups_permissions","l10nTranslate",""],["id","groups_permissions"],[1,"d-flex","align-items-center","mb-1"],[1,"d-flex","align-items-center","me-5"],[1,"circle-primary-icon","me-2",3,"icon"],[1,"d-flex","fs-xxs","ms-auto"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),g(2,qt,3,2)(3,jt,3,1),g(4,Ht,1,1,"fa-icon",2),o(),g(5,Qt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"tabset",6),u(9,"hr",7),n(10,"tab",8),f("selectTab",function(){return t.tabView=null}),k(11,zt,3,1,"ng-template",9),n(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),m(16,"Login"),o(),u(17,"input",14),o(),n(18,"div",15)(19,"label",16),m(20,"Email"),o(),u(21,"input",17),o()(),n(22,"div",11)(23,"div",12)(24,"label",18),m(25,"First name"),o(),u(26,"input",19),o(),n(27,"div",15)(28,"label",20),m(29,"Last name"),o(),u(30,"input",21),o()(),n(31,"div",11)(32,"div",12),g(33,Kt,1,1,"app-password-strength-bar",22),n(34,"app-input-password",23),f("passwordChange",function(_){return t.updatePassword(_)}),o()(),n(35,"div",15)(36,"label",24),m(37,"Language"),o(),n(38,"select",25),I(39,Wt,2,2,"option",26,Y),o()()(),n(41,"div",11)(42,"div",12)(43,"app-storage-quota",27),f("quotaChange",function(_){return t.updateQuota(_)}),o()(),n(44,"div",15)(45,"label",28),m(46,"Notification"),o(),n(47,"select",29),I(48,Xt,2,2,"option",30,Y),o()()(),g(50,Jt,6,1,"div",11),o(),g(51,ei,13,4,"div",11),o(),n(52,"tab",31),f("selectTab",function(){return t.tabView="permissions"}),k(53,ti,3,1,"ng-template",9),n(54,"div",32)(55,"label",33),m(56,"Account status"),o(),n(57,"div",34)(58,"div",35)(59,"label",36),u(60,"input",37),n(61,"span"),m(62),h(63,"translate"),h(64,"titlecase"),o()()(),n(65,"div",35)(66,"label",38),u(67,"input",39),n(68,"span",40),m(69,"Administrator"),o()()()()(),n(70,"app-admin-permissions",41),f("permissionsChange",function(_){return t.updateApplications(_)}),o(),g(71,oi,6,0,"div",32),o(),n(72,"tab",31),f("selectTab",function(){return t.tabView="groups"}),k(73,ai,5,2,"ng-template",9),n(74,"div",7)(75,"app-user-search",42),f("membersChange",function(_){return t.updateMembers(_)}),o()()()()(),n(76,"div",43),g(77,ri,2,1,"button",44),n(78,"button",45),f("click",function(){return t.onCancel()}),m(79,"Cancel"),o(),n(80,"button",46),f("click",function(){return t.onSubmit()}),m(81),o()()),l&2&&(r(2),C(t.user?2:3),r(2),C(t.loading?4:-1),r(),C(t.user?5:-1),r(),U(P("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.userForm),r(),c("justified",!0),r(9),E("is-invalid",t.userForm.controls.login.invalid),c("autoSelect",!1),r(4),E("is-invalid",t.userForm.controls.email.invalid),r(5),E("is-invalid",t.userForm.controls.firstName.invalid),r(7),C(t.userForm.value.password!==t.defaultPassword?33:-1),r(),c("password",t.userForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),r(5),V(t.languages),r(4),c("quota",t.userForm.value.storageQuota)("fullWidth",!0),r(5),V(t.allNotifications),r(2),C(t.user&&t.user.storageUsage?50:-1),r(),C(t.user?51:-1),r(10),E("text-danger",!t.userForm.value.isActive),r(),A(" ",w(64,42,D(63,39,t.userForm.value.isActive?"active":"suspended",t.locale.language))," "),r(8),c("permissions",t.userForm.value.applications),r(),C(t.userForm.value.groups.length?71:-1),r(4),c("members",t.userForm.value.groups)("withPermissions",!1)("customPlaceholder","Type to search for groups to add")("searchFunction",t.searchMembers.bind(t)),r(2),C(t.user!=null&&t.user.id?77:-1),r(3),U(P("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",t.userForm.invalid||t.submitted),r(),A(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[M,G,Se,we,xe,j,fe,_e,de,Z,ue,B,$,q,te,K,ye,be,ht,Ae,Te,vt,pe,ie,St,xt,ne],encapsulation:2});let e=a;return e})();var si=["MainContextMenu"],li=["TargetContextMenu"],yt=(e,a)=>a.key,mi=(e,a)=>a.id,ci=(e,a)=>a.mid;function pi(e,a){if(e&1&&u(0,"fa-icon",24),e&2){let i=p(3);c("icon",i.sortTable.sortParam.asc?i.icons.faArrowDown:i.icons.faArrowUp)("fixedWidth",!1)}}function di(e,a){if(e&1){let i=L();n(0,"th",23),f("click",function(){b(i);let l=p().$implicit,t=p();return x(t.sortBy(l.key))}),m(1),g(2,pi,1,2,"fa-icon",24),o()}if(e&2){let i=p().$implicit,s=p();U(i.value.class),De("width",i.value.width,"%"),E("text-align-center",i.value.textCenter)("cursor-pointer",i.value.sortable),r(),A(" ",i.value.label," "),r(),C(s.sortTable.sortParam.column===i.key?2:-1)}}function ui(e,a){if(e&1&&g(0,di,3,10,"th",22),e&2){let i=a.$implicit;C(i.value.show?0:-1)}}function fi(e,a){if(e&1&&u(0,"fa-icon",32),e&2){let i=p(5);c("icon",i.icons.faKey)}}function _i(e,a){if(e&1&&(n(0,"div",27),u(1,"img",30),n(2,"div",28)(3,"span",31),m(4),g(5,fi,1,1,"fa-icon",32),o(),n(6,"span",33),m(7),o()()()),e&2){let i=p(3).$implicit;r(),c("src",i.avatarUrl,J),r(3),A(" ",i.login," "),r(),C(i.isAdmin?5:-1),r(2),v(i.email)}}function gi(e,a){if(e&1&&(n(0,"span",34),m(1),o()),e&2){let i=p(4).$implicit;r(),v(i.userRoleText)}}function Ci(e,a){if(e&1&&(n(0,"div",28)(1,"span",31),m(2),o(),g(3,gi,2,1,"span",34),o()),e&2){let i=p(3).$implicit;r(2),v(i.fullName),r(),C(i.isAdmin?3:-1)}}function hi(e,a){if(e&1&&u(0,"app-user-avatar",35),e&2){let i=a.$implicit;c("user",i)("isMember",!0)}}function vi(e,a){if(e&1&&I(0,hi,1,2,"app-user-avatar",35,ci),e&2){let i=p(3).$implicit;V(i.managers)}}function bi(e,a){if(e&1&&u(0,"app-storage-usage",36),e&2){let i=p(4).$implicit;c("item",i)}}function xi(e,a){if(e&1&&g(0,bi,1,1,"app-storage-usage",36),e&2){let i=p(3).$implicit;C(i.storageUsage?0:-1)}}function Si(e,a){if(e&1&&(n(0,"div",28)(1,"div"),m(2),o(),n(3,"div"),m(4),o()()),e&2){let i=p(3).$implicit;r(2),v(i.currentIp),r(2),v(i.lastIp)}}function wi(e,a){e&1&&m(0," too many login attempts ")}function yi(e,a){if(e&1&&m(0),e&2){let i=p(4).$implicit;A(" ",i.userIsActiveText," ")}}function Ti(e,a){if(e&1&&(n(0,"span",11),g(1,wi,1,0)(2,yi,1,1),o()),e&2){let i=p(3).$implicit;U(i.isActive?"text-success":"text-danger"),r(),C(!i.isActive&&i.passwordAttempts?1:2)}}function Ai(e,a){if(e&1&&(n(0,"div",28)(1,"div"),m(2),h(3,"amDateFormat"),o(),n(4,"div"),m(5),h(6,"amDateFormat"),o()()),e&2){let i=p(5).$implicit;r(2),v(w(3,2,i.currentAccess)),r(3),v(w(6,4,i.lastAccess))}}function Ei(e,a){if(e&1&&m(0),e&2){let i=p(5).$implicit;A(" ",i.hTimeAgo," ")}}function Ui(e,a){if(e&1){let i=L();n(0,"div",38),f("mouseover",function(){b(i);let l=p(4).$implicit;return x(l.currentAccessHover=!0)})("focus",function(){b(i);let l=p(4).$implicit;return x(l.currentAccessHover=!0)})("mouseleave",function(){b(i);let l=p(4).$implicit;return x(l.currentAccessHover=!1)}),g(1,Ai,7,6,"div",28)(2,Ei,1,1),o()}if(e&2){let i=p(4).$implicit;r(),C(i.currentAccessHover?1:2)}}function Di(e,a){e&1&&(n(0,"span",11),m(1,"never"),o())}function Fi(e,a){if(e&1&&g(0,Ui,3,1,"div",37)(1,Di,2,0,"span",11),e&2){let i=p(3).$implicit;C(i.currentAccess?0:1)}}function ki(e,a){if(e&1&&(n(0,"td"),g(1,_i,8,4,"div",27)(2,Ci,4,2,"div",28)(3,vi,2,0)(4,xi,1,1)(5,Si,5,2,"div",28)(6,Ti,3,3,"span",29)(7,Fi,2,1),o()),e&2){let i,s=p().$implicit,l=p().$implicit;U(Me("",s.value.class," ",s.value.newly?"prop-newly-"+l[s.value.newly]:"")),De("width",s.value.width,"%"),E("text-align-center",s.value.textCenter),r(),C((i=s.key)==="login"?1:i==="fullName"?2:i==="managers"?3:i==="storage"?4:i==="currentIp"?5:i==="isActive"?6:i==="currentAccess"?7:-1)}}function Ii(e,a){if(e&1&&g(0,ki,8,9,"td",26),e&2){let i=a.$implicit;C(i.value.show?0:-1)}}function Vi(e,a){if(e&1){let i=L();n(0,"tr",25),f("click",function(){let l=b(i).$implicit,t=p();return x(t.onSelect(l))})("contextmenu",function(l){let t=b(i).$implicit,d=p();return x(d.onTargetContextMenu(l,t))})("pressup",function(l){let t=b(i).$implicit,d=p();return x(d.onTargetContextMenu(l,t))})("tap",function(){b(i);let l=p();return x(l.openDialog())}),I(1,Ii,1,1,null,null,yt),h(3,"keyvalue"),o()}if(e&2){let i=a.$implicit,s=p();E("disabled",!i.isActive)("selected",i.id===(s.selected==null?null:s.selected.id)),r(),V(D(3,4,s.tableHeaders,s.originalOrderKeyValue))}}function Ni(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2),o()),e&2){let i=p();r(),c("icon",i.icons.faUserPlus),r(),A("New ",i.guestsView?"guest":"user")}}function Pi(e,a){}function Mi(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2,"Refresh"),o()),e&2){let i=p();r(),c("icon",i.icons.faArrowRotateRight)}}function Gi(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2),o()),e&2){let i=p();r(),c("icon",i.icons.faUserPen),r(),A("Edit ",i.guestsView?"guest":"user")}}function Ri(e,a){}function Li(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2,"Impersonate identity"),o()),e&2){let i=p();r(),c("icon",i.icons.faUserSecret)}}var Lo=(()=>{let a=class a{constructor(){this.locale=S(H),this.originalOrderKeyValue=pt,this.icons={faRotate:je,faUserPlus:Ce,faUserPen:ge,faArrowDown:tt,faArrowUp:We,faKey:Qe,faUserSecret:he,faArrowRotateRight:et,faToggleOn:Ye,faToggleOff:He},this.tableHeaders={login:{label:"Login",width:30,textCenter:!1,class:"",show:!0,sortable:!0},fullName:{label:"Full name",width:15,class:"",textCenter:!1,show:!0,sortable:!0},managers:{label:"Managers",width:15,class:"d-none d-md-table-cell",textCenter:!0,show:!1,sortable:!0},storage:{label:"Storage Space",width:15,class:"d-none d-md-table-cell",textCenter:!0,show:!0,sortable:!0},isActive:{label:"Status",width:10,textCenter:!0,class:"d-none d-lg-table-cell",show:!0,sortable:!0},currentIp:{label:"IP",width:10,textCenter:!1,class:"d-none d-lg-table-cell",show:!0},currentAccess:{label:"Seen",width:12,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.guestsView=!1,this.loading=!1,this.selected=null,this.users=[],this.router=S(Le),this.activatedRoute=S(Re),this.layout=S(z),this.adminService=S(R),this.sortSettings={default:[{prop:"login",type:"string"}],login:[{prop:"login",type:"string"}],fullName:[{prop:"fullName",type:"string"}],managers:[{prop:"managers",type:"length"}],storage:[{prop:"storageUsage",type:"number"}],currentAccess:[{prop:"currentAccess",type:"date"}],isActive:[{prop:"isActive",type:"number"}]},this.sortTable=new ft(this.constructor.name,this.sortSettings),this.layout.setBreadcrumbIcon(ot.USERS),this.activatedRoute.data.subscribe(s=>{this.guestsView=s.type===X.GUEST,this.setEnv()})}loadUsersOrGuests(){this.loading=!0,this.onSelect(),this.adminService.listUsers(this.guestsView).subscribe({next:s=>{this.sortBy(this.sortTable.sortParam.column,!1,s),this.scrollView.scrollInto(-1),this.loading=!1},error:s=>{this.users=[],this.layout.sendNotification("error",this.guestsView?"Guests":"Users","Unable to load",s),this.loading=!1}})}onSelect(s=null){this.selected=s}onGuestsView(s){this.guestsView=s,this.router.navigate([Q.BASE,s?Q.GUESTS:Q.USERS]).catch(console.error)}onContextMenu(s){s.preventDefault(),s.stopPropagation(),this.layout.openContextMenu(s,this.mainContextMenu)}onTargetContextMenu(s,l){s.preventDefault(),s.type==="contextmenu"&&s.stopPropagation(),this.onSelect(l),this.layout.openContextMenu(s,this.targetContextMenu)}sortBy(s,l=!0,t){this.users=this.sortTable.sortBy(s,l,t||this.users)}openDialog(s=!1){this.guestsView?this.openGuestDialog(s):this.openUserDialog(s)}openUserDialog(s=!1){s?this.layout.openDialog(Ne,"md").content.userChange.pipe(W(1)).subscribe(t=>{let[d,_]=t;d==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,[...this.users,_]),this.onSelect(_))}):this.adminService.getUser(this.selected.id).subscribe({next:l=>{this.layout.openDialog(Ne,"md",{initialState:{user:l}}).content.userChange.pipe(W(1)).subscribe(d=>{let[_,T]=d;_==="update"?this.selected=Object.assign(this.selected,T):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.users.filter(Ue=>Ue.id!==T.id)))})},error:l=>this.layout.sendNotification("error","Edit group",this.selected.login,l)})}openGuestDialog(s=!1){s?this.layout.openDialog(Ve,"md").content.guestChange.pipe(W(1)).subscribe(t=>{let[d,_]=t,T=new gt(_);d==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,[...this.users,T]),this.onSelect(T))}):this.adminService.getUser(this.selected.id,!0).subscribe({next:l=>{this.layout.openDialog(Ve,"md",{initialState:{guest:l}}).content.guestChange.pipe(W(1)).subscribe(d=>{let[_,T]=d;_==="update"?this.selected=Object.assign(this.selected,T):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.users.filter(Ue=>Ue.id!==T.id)))})},error:l=>this.layout.sendNotification("error","Guest error",this.selected.fullName,l)})}impersonateIdentity(){this.layout.openDialog(bt,"sm",{initialState:{user:this.selected}})}setEnv(){this.tableHeaders.managers.show=this.guestsView,this.tableHeaders.storage.show=!this.guestsView,this.loadUsersOrGuests(),this.layout.setBreadcrumbNav({url:this.guestsView?`/${Q.BASE}/${Q.GUESTS}/${Fe.GUESTS}`:`/${Q.BASE}/${Q.USERS}/${Fe.USERS}`,splicing:2,translating:!0,sameLink:!0})}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-users"]],viewQuery:function(l,t){if(l&1&&(re(Ie,5),re(ke,7),re(si,7),re(li,7)),l&2){let d;se(d=le())&&(t.scrollView=d.first),se(d=le())&&(t.inputFilter=d.first),se(d=le())&&(t.mainContextMenu=d.first),se(d=le())&&(t.targetContextMenu=d.first)}},decls:47,vars:40,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],[3,"icon"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[1,"ms-auto"],["btnCheckbox","","type","button",1,"btn","btn-sm","btn-custom","me-1",3,"ngModelChange","ngModel"],[1,"d-flex","align-items-center"],[1,"me-2",3,"icon"],["l10nTranslate",""],[1,"btn-group","btn-group-sm"],[1,"d-none","d-sm-block"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"disabled","selected"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem","",3,"execute"],["contextMenuItem","",3,"divider"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"icon","fixedWidth"],[3,"click","contextmenu","pressup","tap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center","avatar"],[1,"d-flex","flex-column"],["l10nTranslate","",3,"class"],["alt","",1,"avatar-img",3,"src"],["draggable","false",1,"no-pointer-events"],[1,"m-0",3,"icon"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"],["draggable","false","l10nTranslate","",1,"no-pointer-events","text-muted","fs-xxxs"],[3,"user","isMember"],[3,"item"],[1,"d-flex","justify-content-center"],[1,"d-flex","justify-content-center",3,"mouseover","focus","mouseleave"]],template:function(l,t){if(l&1){let d=L();n(0,"div",2)(1,"button",3),h(2,"translate"),f("click",function(){return b(d),x(t.loadUsersOrGuests())}),u(3,"fa-icon",4),o(),n(4,"button",3),h(5,"translate"),f("click",function(){return b(d),x(t.openDialog(!0))}),u(6,"fa-icon",5),o(),n(7,"button",6),h(8,"translate"),f("click",function(){return b(d),x(t.openDialog())}),u(9,"fa-icon",5),o(),n(10,"button",6),h(11,"translate"),f("click",function(){return b(d),x(t.impersonateIdentity())}),u(12,"fa-icon",5),o(),n(13,"div",7)(14,"button",8),f("ngModelChange",function(T){return b(d),x(t.onGuestsView(T))}),n(15,"div",9),u(16,"fa-icon",10),n(17,"span",11),m(18,"Guests"),o()()(),n(19,"div",12),u(20,"app-input-filter",13),o()()(),n(21,"table",14)(22,"thead")(23,"tr"),I(24,ui,1,1,null,null,yt),h(26,"keyvalue"),o()()(),n(27,"app-virtual-scroll",15),h(28,"searchFilter"),f("contextmenu",function(T){return b(d),x(t.onContextMenu(T))}),n(29,"table",14)(30,"tbody",16),I(31,Vi,4,7,"tr",17,mi),o()()(),n(33,"div",18)(34,"span",19),m(35),h(36,"translate"),o()(),n(37,"context-menu",null,0),k(39,Ni,3,2,"ng-template",20),f("execute",function(){return b(d),x(t.openDialog(!0))}),k(40,Pi,0,0,"ng-template",21)(41,Mi,3,1,"ng-template",20),f("execute",function(){return b(d),x(t.loadUsersOrGuests())}),o(),n(42,"context-menu",null,1),k(44,Gi,3,2,"ng-template",20),f("execute",function(){return b(d),x(t.openDialog())}),k(45,Ri,0,0,"ng-template",21)(46,Li,3,1,"ng-template",20),f("execute",function(){return b(d),x(t.impersonateIdentity())}),o()}l&2&&(r(),c("tooltip",D(2,19,"Refresh",t.locale.language)),r(2),c("icon",t.icons.faRotate)("animation",t.loading?"spin":null),r(),c("tooltip",D(5,22,t.guestsView?"New guest":"New user",t.locale.language)),r(2),c("icon",t.icons.faUserPlus),r(),c("disabled",!t.selected)("tooltip",D(8,25,t.guestsView?"Edit guest":"Edit user",t.locale.language)),r(2),c("icon",t.icons.faUserPen),r(),c("disabled",!t.selected)("tooltip",D(11,28,"Impersonate identity",t.locale.language)),r(2),c("icon",t.icons.faUserSecret),r(2),c("ngModel",t.guestsView),r(2),c("icon",t.guestsView?t.icons.faToggleOn:t.icons.faToggleOff),r(8),V(D(26,31,t.tableHeaders,t.originalOrderKeyValue)),r(3),c("bufferAmount",5)("items",D(28,34,t.users,t.inputFilter.search())),r(4),V(t.scrollView==null?null:t.scrollView.viewPortItems),r(4),O("",t.users.length," ",D(36,37,t.guestsView?"guests":"users",t.locale.language)),r(5),c("divider",!0),r(5),c("divider",!0))},dependencies:[M,ke,qe,G,Ie,be,st,rt,at,dt,Be,B,Oe,_t,ie,Ge,ut,ne],encapsulation:2});let e=a;return e})();export{Lo as AdminUsersComponent};
1
+ import{a as Ct}from"./chunk-S5WXHO6D.js";import{a as gt,b as R,c as vt}from"./chunk-KFM544CA.js";import{a as Q,b as Fe,c as ot,e as oe}from"./chunk-QTW62OKJ.js";import{a as ht}from"./chunk-NV2MEIWP.js";import{d as be}from"./chunk-CLSVDV7J.js";import"./chunk-JXZCNFW7.js";import{a as _t}from"./chunk-LB7B5RIV.js";import{a as ne,b as xe,c as Se,d as we,f as Te,i as Ae}from"./chunk-BW5PQAKK.js";import{a as ke,b as Ie,c as ut,d as ft}from"./chunk-MWFRZBJD.js";import{a as K,b as ye}from"./chunk-SRLMFJ7C.js";import"./chunk-FJFNDK67.js";import{g as dt}from"./chunk-4KESSWTF.js";import{K as it,L as X,N as nt,R as ve,Xa as pt,pa as at,qa as rt,ra as st,ua as lt,v as qe,va as mt,wa as ct,wb as z}from"./chunk-WL65GYD5.js";import{b as Re,d as Le}from"./chunk-XE5YHU5J.js";import{$a as Pe,$c as Z,Ad as $e,Bf as Ze,Cb as f,Eb as p,Ed as ie,Ee as Ke,Fc as pe,Fd as G,Ga as J,Gc as Ge,Gd as je,Ge as Ce,Ib as re,If as et,Jb as se,Kb as le,L as W,Ma as r,Mb as De,Nb as E,Ob as U,Pb as m,Pf as he,Qb as v,Qd as He,Rb as A,Sb as O,Ue as We,Uf as tt,Xa as N,Xb as P,Yb as Me,Zc as M,_a as me,ab as k,ad as de,ae as Qe,bb as ce,bf as Xe,cd as F,dc as h,ec as w,ed as B,fc as D,fd as $,gd as ee,ha as S,id as y,jb as g,jd as Oe,kb as C,lb as Y,ma as b,na as x,nb as I,nd as q,ob as V,od as te,pb as c,pd as ue,pe as ze,qb as n,qd as fe,rb as o,rd as _e,sb as u,wd as Be,wf as Je,xd as j,xe as ge,yd as H,zb as L,zf as Ye}from"./chunk-RSNLYAN6.js";import"./chunk-RTRJ3KFH.js";function Tt(e,a){if(e&1&&(u(0,"fa-icon",42),n(1,"span"),m(2),o()),e&2){let i=p();c("icon",i.icons.faPen),r(2),v(i.guest.fullName)}}function At(e,a){if(e&1&&(u(0,"fa-icon",42),n(1,"span",43),m(2,"New guest"),o()),e&2){let i=p();c("icon",i.icons.faPlus)}}function Et(e,a){if(e&1&&u(0,"fa-icon",2),e&2){let i=p();c("icon",i.icons.faSpinner)}}function Ut(e,a){e&1&&(n(0,"h4",3)(1,"span",43),m(2,"Edit guest"),o()())}function Dt(e,a){if(e&1&&(u(0,"fa-icon",44),n(1,"span",45),m(2,"Account"),o()),e&2){let i=p();c("icon",i.icons.faAddressCard)}}function Ft(e,a){if(e&1&&u(0,"app-password-strength-bar",22),e&2){let i=p();c("passwordToCheck",i.guestForm.value.password)}}function kt(e,a){if(e&1&&(n(0,"option",26),m(1),o()),e&2){let i=a.$implicit;c("ngValue",i),r(),v(i)}}function It(e,a){if(e&1&&(n(0,"option",34),m(1),o()),e&2){let i=a.$implicit,s=p();c("ngValue",s.allNotifications.indexOf(i)),r(),v(i)}}function Vt(e,a){if(e&1&&(n(0,"div"),m(1),h(2,"amDateFormat"),o(),n(3,"div"),m(4),h(5,"amDateFormat"),o()),e&2){let i=p(2);r(),O("",w(2,4,i.guest.currentAccess)," - ",i.guest.currentIp),r(3),O("",w(5,6,i.guest.lastAccess)," - ",i.guest.lastIp)}}function Nt(e,a){e&1&&(n(0,"span",37),m(1,"never"),o())}function Pt(e,a){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",46),m(3,"Creation date"),o(),n(4,"div",47),m(5),h(6,"amDateFormat"),o()(),n(7,"div",48)(8,"label",49),m(9,"Last accesses"),o(),n(10,"div",50),g(11,Vt,6,8)(12,Nt,2,0,"span",37),o()()()),e&2){let i=p();r(5),v(w(6,2,i.guest.createdAt)),r(6),C(i.guest.lastAccess?11:12)}}function Mt(e,a){if(e&1&&(u(0,"fa-icon",44),n(1,"span",51),m(2,"Managers"),o(),n(3,"span"),m(4),o()),e&2){let i=p();c("icon",i.icons.faUsersGear),r(4),A("(",i.guestForm.value.managers.length||0,")")}}function Gt(e,a){e&1&&(n(0,"small",37),m(1,"At least one manager is required"),o())}function Rt(e,a){if(e&1){let i=L();n(0,"button",52),f("click",function(){b(i);let l=p();return x(l.confirmDeletion=!0)}),m(1," Remove "),o()}if(e&2){let i=p();c("disabled",i.confirmDeletion)}}var Ve=(()=>{let a=class a extends Ct{constructor(){super(),this.adminService=S(R)}searchMembers(s){let l={search:s,ignoreUserIds:this.guestForm.value.managers.map(t=>t.id),usersRole:X.USER,onlyUsers:!0};return this.adminService.searchMembers(l)}onSubmit(){if(this.submitted=!0,this.confirmDeletion)this.adminService.deleteUser(this.guest.id,null,!0).subscribe({next:()=>{this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest deleted",this.guest.login),this.layout.closeDialog()},error:s=>this.onError(s)});else if(!this.guest)this.adminService.createUser(this.makeDto(!0),!0).subscribe({next:s=>{this.guestChange.emit(["add",s]),this.layout.sendNotification("success","Guest created",this.guestForm.value.login),this.layout.closeDialog()},error:s=>this.onError(s)});else{let s=this.makeDto();if(!Object.keys(s).length){this.loading=!1,this.submitted=!1;return}this.adminService.updateUser(this.guest.id,s,!0).subscribe({next:l=>{l?this.guestChange.emit(["update",l]):this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest updated",this.guestForm.value.login),this.layout.closeDialog()},error:l=>this.onError(l)})}}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-guest-dialog"]],features:[Pe],decls:70,vars:40,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","flex-column"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","login","l10nTranslate",""],["id","login","appAutofocus","","formControlName","login","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","email","l10nTranslate",""],["id","email","formControlName","email","autocomplete","off","type","email",1,"form-control","form-control-sm"],["for","firstName","l10nTranslate",""],["id","firstName","formControlName","firstName","autocomplete","off","type","text",1,"form-control","form-control-sm"],["for","lastName","l10nTranslate",""],["id","lastName","formControlName","lastName","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"position-absolute","pe-4",2,"right","50%","padding-top","6px",3,"passwordToCheck"],["id","password","placeholder","Set a password",3,"passwordChange","password","showGenerator","showLabel","isRequired"],["for","language","l10nTranslate",""],["id","language","formControlName","language",1,"form-control","form-select","form-select-sm"],[3,"ngValue"],[1,"d-flex","flex-column","col-6","pe-4"],["for","account","l10nTranslate",""],["id","account",1,"form-check","form-switch","form-check-inline"],["for","isActive",1,"form-check-label"],["formControlName","isActive","id","isActive","type","checkbox",1,"form-check-input"],["for","notification","l10nTranslate",""],["id","notification","formControlName","notification",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],["customClass","tab-dialog",3,"selectTab"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],["l10nTranslate","",1,"text-danger"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"disabled"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",3,"click","disabled"],[1,"me-2",3,"icon"],["l10nTranslate",""],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","access","l10nTranslate",""],["id","access",1,"text-align-end"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),g(2,Tt,3,2)(3,At,3,1),g(4,Et,1,1,"fa-icon",2),o(),g(5,Ut,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"tabset",6),u(9,"hr",7),n(10,"tab",8),f("selectTab",function(){return t.tabView=null}),k(11,Dt,3,1,"ng-template",9),n(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),m(16,"Login"),o(),u(17,"input",14),o(),n(18,"div",15)(19,"label",16),m(20,"Email"),o(),u(21,"input",17),o()(),n(22,"div",11)(23,"div",12)(24,"label",18),m(25,"First name"),o(),u(26,"input",19),o(),n(27,"div",15)(28,"label",20),m(29,"Last name"),o(),u(30,"input",21),o()(),n(31,"div",11)(32,"div",12),g(33,Ft,1,1,"app-password-strength-bar",22),n(34,"app-input-password",23),f("passwordChange",function(_){return t.updatePassword(_)}),o()(),n(35,"div",15)(36,"label",24),m(37,"Language"),o(),n(38,"select",25),I(39,kt,2,2,"option",26,Y),o()()(),n(41,"div",11)(42,"div",27)(43,"label",28),m(44,"Account status"),o(),n(45,"div",29)(46,"label",30),u(47,"input",31),n(48,"span"),m(49),h(50,"translate"),h(51,"titlecase"),o()()()(),n(52,"div",15)(53,"label",32),m(54,"Notification"),o(),n(55,"select",33),I(56,It,2,2,"option",34,Y),o()()(),g(58,Pt,13,4,"div",11),o()(),n(59,"tab",35),f("selectTab",function(){return t.tabView="managers"}),k(60,Mt,5,2,"ng-template",9),n(61,"div",7)(62,"app-user-search",36),f("membersChange",function(_){return t.updateManagers(_)}),o(),g(63,Gt,2,0,"small",37),o()()()(),n(64,"div",38),g(65,Rt,2,1,"button",39),n(66,"button",40),f("click",function(){return t.onCancel()}),m(67,"Cancel"),o(),n(68,"button",41),f("click",function(){return t.onSubmit()}),m(69),o()()),l&2&&(r(2),C(t.guest?2:3),r(2),C(t.loading?4:-1),r(),C(t.guest?5:-1),r(),U(P("btn-close btn-close-white ",t.guest?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.guestForm),r(),c("justified",!0),r(9),E("is-invalid",t.guestForm.controls.login.invalid),c("autoSelect",!1),r(4),E("is-invalid",t.guestForm.controls.email.invalid),r(5),E("is-invalid",t.guestForm.controls.firstName.invalid),r(7),C(t.guestForm.value.password!==t.defaultPassword?33:-1),r(),c("password",t.guestForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),r(5),V(t.languages),r(9),E("text-danger",!t.guestForm.value.isActive),r(),A(" ",w(51,38,D(50,35,t.guestForm.value.isActive?"active":"suspended",t.locale.language))," "),r(7),V(t.allNotifications),r(2),C(t.guest?58:-1),r(4),c("members",t.guestForm.value.managers)("withPermissions",!1)("customPlaceholder","Type to search for managers to add")("searchFunction",t.searchMembers.bind(t)),r(),C(t.guestForm.value.managers.length?-1:63),r(2),C(t.guest!=null&&t.guest.id?65:-1),r(3),U(P("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",t.guestForm.invalid||t.submitted),r(),A(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[M,G,j,fe,_e,de,Z,ue,B,$,q,te,K,ye,Te,Ae,xe,Se,we,ne,ie,pe],encapsulation:2});let e=a;return e})();function Ot(e,a){e&1&&(n(0,"h4",3)(1,"span",13),m(2,"Impersonate identity"),o()())}var bt=(()=>{let a=class a{constructor(){this.locale=S(H),this.layout=S(z),this.submitted=!1,this.icons={faUserSecret:he},this.passwordMinLength=8,this.impersonateUserForm=new ee({password:new y("",F.required)}),this.adminService=S(R)}onSubmit(){this.submitted=!0,this.adminService.impersonateUser(this.user.id,{password:this.impersonateUserForm.value.password}).subscribe({next:s=>{this.layout.closeDialog(),setTimeout(()=>this.adminService.initImpersonateUser(s),500)},error:s=>{this.submitted=!1,this.layout.sendNotification("error","Impersonate identity",this.user.login,s)}})}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-impersonate-user-dialog"]],inputs:{user:"user"},decls:19,vars:16,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],[1,"d-flex","align-items-center","avatar","mb-3"],["alt","",1,"avatar-img",3,"src"],[1,"fw-bold","mx-2"],["id","password","placeholder","Enter your password to confirm",3,"passwordChange","password","passwordMinLength","isRequired","focus"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"],["l10nTranslate",""]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),n(3,"span"),m(4),o()(),g(5,Ot,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"div",6),u(9,"img",7),n(10,"span",8),m(11),h(12,"capitalize"),o()(),n(13,"app-input-password",9),f("passwordChange",function(_){return t.impersonateUserForm.controls.password.setValue(_)}),o()(),n(14,"div",10)(15,"button",11),f("click",function(){return t.layout.closeDialog()}),m(16,"Cancel"),o(),n(17,"button",12),f("click",function(){return t.onSubmit()}),m(18," Confirm "),o()()),l&2&&(r(2),c("icon",t.icons.faUserSecret),r(2),v(t.user.fullName),r(),C(t.user?5:-1),r(),U(P("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.impersonateUserForm),r(2),c("src",t.user.avatarUrl,J),r(2),v(w(12,14,t.user.login)),r(2),c("password",t.impersonateUserForm.value.password)("passwordMinLength",t.passwordMinLength)("isRequired",!0)("focus",!0),r(4),c("disabled",t.impersonateUserForm.invalid||t.submitted))},dependencies:[M,G,j,$,q,K,oe],encapsulation:2});let e=a;return e})();var xt=(()=>{let a=class a{constructor(){this.translate=S($e)}transform(s,l=!1,t=null,d=", "){return s.length?(t?s.map(T=>T[t]):s.concat()).sort().map(T=>new oe().transform(l?this.translate.translate(T):T)).join(d):""}};a.\u0275fac=function(l){return new(l||a)},a.\u0275pipe=me({name:"join",type:a,pure:!0});let e=a;return e})();var St=(()=>{let a=class a{transform(s,l=","){return s?.length?s.split(l):[]}};a.\u0275fac=function(l){return new(l||a)},a.\u0275pipe=me({name:"split",type:a,pure:!0});let e=a;return e})();function Bt(e,a){e&1&&(n(0,"h4",3)(1,"span",9),m(2,"Delete user"),o()())}var wt=(()=>{let a=class a{constructor(){this.wasDeleted=new ce,this.locale=S(H),this.submitted=!1,this.icons={faUserMinus:Je},this.deleteUserForm=new ee({adminPassword:new y("",F.required),deleteSpace:new y(!1)}),this.layout=S(z),this.adminService=S(R)}onClose(){this.wasDeleted.emit(!1),this.layout.closeDialog()}onSubmit(){this.submitted=!0,this.adminService.deleteUser(this.user.id,{adminPassword:this.deleteUserForm.value.adminPassword,deleteSpace:this.deleteUserForm.value.deleteSpace}).subscribe({next:()=>{this.wasDeleted.emit(!0),this.layout.sendNotification("success","Delete user",this.user.login),this.onClose()},error:s=>{this.submitted=!1,this.layout.sendNotification("error","Delete user",this.user.login,s)}})}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-user-delete-dialog"]],inputs:{user:"user"},outputs:{wasDeleted:"wasDeleted"},decls:27,vars:15,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],[1,"d-flex","align-items-center","avatar","mb-3"],["alt","",1,"avatar-img",3,"src"],[1,"fw-bold","mx-2"],["l10nTranslate",""],["id","password","placeholder","Enter your password to confirm",3,"passwordChange","password","isRequired","focus"],[1,"form-check","form-check-inline","mt-3"],[1,"d-flex"],["for","deleteSpace",1,"form-check-label"],["formControlName","deleteSpace","id","deleteSpace","type","checkbox",1,"form-check-input"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),n(3,"span"),m(4),o()(),g(5,Bt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.onClose()}),o()(),n(7,"div",5)(8,"div",6),u(9,"img",7),n(10,"span",8),m(11),h(12,"capitalize"),o(),n(13,"span",9),m(14,"will be permanently removed"),o()(),n(15,"app-input-password",10),f("passwordChange",function(_){return t.deleteUserForm.controls.adminPassword.setValue(_)}),o(),n(16,"div",11)(17,"div",12)(18,"label",13),u(19,"input",14),n(20,"span",9),m(21,"Delete all user files"),o()()()()(),n(22,"div",15)(23,"button",16),f("click",function(){return t.onClose()}),m(24,"Cancel"),o(),n(25,"button",17),f("click",function(){return t.onSubmit()}),m(26," Confirm "),o()()),l&2&&(r(2),c("icon",t.icons.faUserMinus),r(2),v(t.user.fullName),r(),C(t.user?5:-1),r(),U(P("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.deleteUserForm),r(2),c("src",t.user.avatarUrl,J),r(2),v(w(12,13,t.user.login)),r(4),c("password",t.deleteUserForm.value.adminPassword)("isRequired",!0)("focus",!0),r(10),c("disabled",t.deleteUserForm.invalid||t.submitted))},dependencies:[M,G,j,Z,B,$,q,te,K,oe],encapsulation:2});let e=a;return e})();var $t=(e,a)=>a.id;function qt(e,a){if(e&1&&(u(0,"fa-icon",47),n(1,"span"),m(2),o()),e&2){let i=p();c("icon",i.icons.faUserPen),r(2),v(i.user.fullName)}}function jt(e,a){if(e&1&&(u(0,"fa-icon",47),n(1,"span",40),m(2,"New user"),o()),e&2){let i=p();c("icon",i.icons.faUserPlus)}}function Ht(e,a){if(e&1&&u(0,"fa-icon",2),e&2){let i=p();c("icon",i.icons.faSpinner)}}function Qt(e,a){e&1&&(n(0,"h4",3)(1,"span",40),m(2,"Edit user"),o()())}function zt(e,a){if(e&1&&(u(0,"fa-icon",48),n(1,"span",49),m(2,"Account"),o()),e&2){let i=p();c("icon",i.icons.faAddressCard)}}function Kt(e,a){if(e&1&&u(0,"app-password-strength-bar",22),e&2){let i=p();c("passwordToCheck",i.userForm.value.password)}}function Wt(e,a){if(e&1&&(n(0,"option",26),m(1),o()),e&2){let i=a.$implicit;c("ngValue",i),r(),v(i)}}function Xt(e,a){if(e&1&&(n(0,"option",30),m(1),o()),e&2){let i=a.$implicit,s=p();c("ngValue",s.allNotifications.indexOf(i)),r(),v(i)}}function Jt(e,a){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",50),m(3,"Storage Usage"),o(),u(4,"app-storage-usage",51),o(),u(5,"div",15),o()),e&2){let i=p();r(4),c("item",i.user)}}function Yt(e,a){if(e&1&&(n(0,"div"),m(1),h(2,"amDateFormat"),o(),n(3,"div"),m(4),h(5,"amDateFormat"),o()),e&2){let i=p(2);r(),O("",w(2,4,i.user.currentAccess)," - ",i.user.currentIp),r(3),O("",w(5,6,i.user.lastAccess)," - ",i.user.lastIp)}}function Zt(e,a){e&1&&(n(0,"span",57),m(1,"never"),o())}function ei(e,a){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",52),m(3,"Creation date"),o(),n(4,"div",53),m(5),h(6,"amDateFormat"),o()(),n(7,"div",54)(8,"label",55),m(9,"Last accesses"),o(),n(10,"div",56),g(11,Yt,6,8)(12,Zt,2,0,"span",57),o()()()),e&2){let i=p();r(5),v(w(6,2,i.user.createdAt)),r(6),C(i.user.lastAccess?11:12)}}function ti(e,a){if(e&1&&(u(0,"fa-icon",48),n(1,"span",49),m(2,"Permissions"),o()),e&2){let i=p();c("icon",i.icons.faShieldHalved)}}function ii(e,a){if(e&1&&(n(0,"div",60)(1,"div",61),u(2,"fa-icon",62),n(3,"span"),m(4),o()(),n(5,"div",63),m(6),h(7,"split"),h(8,"join"),o()()),e&2){let i=p().$implicit,s=p(2);r(2),c("icon",s.icons.GROUPS),r(2),v(i.name),r(2),v(D(8,5,w(7,3,i.permissions),!0))}}function ni(e,a){if(e&1&&g(0,ii,9,8,"div",60),e&2){let i=a.$implicit;C(i.permissions?0:-1)}}function oi(e,a){if(e&1&&(n(0,"div",32)(1,"label",58),m(2,"Permissions inherited from groups"),o(),n(3,"div",59),I(4,ni,1,1,null,null,$t),o()()),e&2){let i=p();r(4),V(i.userForm.value.groups)}}function ai(e,a){if(e&1&&(u(0,"fa-icon",48),n(1,"span",64),m(2,"Groups"),o(),n(3,"span"),m(4),o()),e&2){let i=p();c("icon",i.icons.faUsers),r(4),A("(",i.userForm.value.groups.length||0,")")}}function ri(e,a){if(e&1){let i=L();n(0,"button",65),f("click",function(){b(i);let l=p();return x(l.confirmDeletion=!0)}),m(1," Remove "),o()}if(e&2){let i=p();c("disabled",i.confirmDeletion)}}var Ne=(()=>{let a=class a{constructor(){this.user=null,this.userChange=new ce,this.locale=S(H),this.layout=S(z),this.submitted=!1,this.loading=!1,this.confirmDeletion=!1,this.icons={GROUPS:lt.GROUPS,faUserPlus:Ce,faUserPen:ge,faSpinner:Xe,faAddressCard:Ke,faUsers:ze,faShieldHalved:Ze},this.allNotifications=Object.values(ve),this.defaultPassword=this.layout.translateString(mt),this.languages=this.layout.getLanguages(!0),this.adminService=S(R)}ngOnInit(){this.userForm=new ee({login:new y(this.user?.login||"",[F.required,F.pattern(it)]),email:new y(this.user?.email||"",[F.required,F.maxLength(255),F.email]),firstName:new y(this.user?.firstName||"",[F.required,F.maxLength(255)]),lastName:new y(this.user?.lastName||"",F.maxLength(255)),password:new y(this.user?this.defaultPassword:"",F.maxLength(255)),language:new y(this.user?.language||null),notification:new y(this.user?.notification||Object.values(ve).indexOf(ve.APPLICATION_EMAIL)),isActive:new y(this.user?this.user.isActive:!0),isAdmin:new y(this.user?this.user.isAdmin:!1),storageQuota:new y(this.user?.storageQuota||null),groups:new y(this.user?.groups||[]),applications:new y(this.user?.applications||[])})}searchMembers(s){let l={search:s,onlyGroups:!0,excludePersonalGroups:!0,withPermissions:!0,ignoreGroupIds:this.userForm.value.groups.map(t=>t.id)};return this.adminService.searchMembers(l)}updateApplications(s){this.userForm.controls.applications.setValue(s),this.userForm.controls.applications.markAsDirty()}updatePassword(s){this.userForm.controls.password.setValue(s),this.userForm.controls.password.markAsDirty()}updateMembers(s){this.userForm.controls.groups.setValue(s),this.userForm.controls.groups.markAsDirty()}updateQuota(s){this.userForm.controls.storageQuota.setValue(s),this.userForm.controls.storageQuota.markAsDirty()}onCancel(){this.confirmDeletion?this.confirmDeletion=!1:this.layout.closeDialog()}onSubmit(){this.submitted=!0,this.confirmDeletion?this.layout.openDialog(wt,"sm",{initialState:{user:this.user}}).content.wasDeleted.pipe(W(1)).subscribe(l=>{l?(this.userChange.emit(["delete",this.user]),this.layout.closeDialog()):(this.confirmDeletion=!1,this.submitted=!1)}):this.user?this.adminService.updateUser(this.user.id,this.makeDto()).subscribe({next:s=>{this.userChange.emit(["update",s]),this.layout.sendNotification("success","User updated",this.userForm.value.login),this.layout.closeDialog()},error:s=>this.onError(s)}):this.adminService.createUser(this.makeDto(!0)).subscribe({next:s=>{this.userChange.emit(["add",s]),this.layout.sendNotification("success","User created",this.userForm.value.login),this.layout.closeDialog()},error:s=>this.onError(s)})}makeDto(s=!1){let l={};if(s)l=this.userForm.value;else for(let t in this.userForm.controls)this.userForm.controls[t].dirty&&(l[t]=this.userForm.controls[t].value);for(let t in l)switch(t){case"language":l[t]=l[t]===ct?null:l[t];break;case"isAdmin":l.role=l[t]?X.ADMINISTRATOR:X.USER;break;case"applications":l.permissions=l[t].join(nt);break;case"groups":l[t]=l[t].map(d=>d.id);break}return l}onError(s){this.layout.sendNotification("error","Group error",this.userForm.value.login,s),this.submitted=!1}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-user-dialog"]],inputs:{user:"user"},outputs:{userChange:"userChange"},decls:82,vars:44,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","flex-column"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","login","l10nTranslate",""],["id","login","appAutofocus","","formControlName","login","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","email","l10nTranslate",""],["id","email","formControlName","email","autocomplete","off","type","email",1,"form-control","form-control-sm"],["for","firstName","l10nTranslate",""],["id","firstName","formControlName","firstName","autocomplete","off","type","text",1,"form-control","form-control-sm"],["for","lastName","l10nTranslate",""],["id","lastName","formControlName","lastName","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"position-absolute","pe-4",2,"right","50%","padding-top","6px",3,"passwordToCheck"],["id","password","placeholder","Set a password",3,"passwordChange","password","showGenerator","showLabel","isRequired"],["for","language","l10nTranslate",""],["id","language","formControlName","language",1,"form-control","form-select","form-select-sm"],[3,"ngValue"],[3,"quotaChange","quota","fullWidth"],["for","notification","l10nTranslate",""],["id","notification","formControlName","notification",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],["customClass","tab-dialog",3,"selectTab"],[1,"d-flex","flex-column","col-12","pb-3"],["for","account","l10nTranslate",""],["id","account",1,"form-check","form-switch","form-check-inline"],[1,"d-flex"],["for","isActive",1,"form-check-label"],["formControlName","isActive","id","isActive","type","checkbox",1,"form-check-input"],["for","isAdmin",1,"form-check-label"],["formControlName","isAdmin","id","isAdmin","type","checkbox",1,"form-check-input"],["l10nTranslate",""],[3,"permissionsChange","permissions"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"disabled"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",3,"click","disabled"],[1,"me-2",3,"icon"],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","storage","l10nTranslate",""],["id","storage",3,"item"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","access","l10nTranslate",""],["id","access",1,"text-align-end"],["l10nTranslate","",1,"text-danger"],["for","groups_permissions","l10nTranslate",""],["id","groups_permissions"],[1,"d-flex","align-items-center","mb-1"],[1,"d-flex","align-items-center","me-5"],[1,"circle-primary-icon","me-2",3,"icon"],[1,"d-flex","fs-xxs","ms-auto"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),g(2,qt,3,2)(3,jt,3,1),g(4,Ht,1,1,"fa-icon",2),o(),g(5,Qt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"tabset",6),u(9,"hr",7),n(10,"tab",8),f("selectTab",function(){return t.tabView=null}),k(11,zt,3,1,"ng-template",9),n(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),m(16,"Login"),o(),u(17,"input",14),o(),n(18,"div",15)(19,"label",16),m(20,"Email"),o(),u(21,"input",17),o()(),n(22,"div",11)(23,"div",12)(24,"label",18),m(25,"First name"),o(),u(26,"input",19),o(),n(27,"div",15)(28,"label",20),m(29,"Last name"),o(),u(30,"input",21),o()(),n(31,"div",11)(32,"div",12),g(33,Kt,1,1,"app-password-strength-bar",22),n(34,"app-input-password",23),f("passwordChange",function(_){return t.updatePassword(_)}),o()(),n(35,"div",15)(36,"label",24),m(37,"Language"),o(),n(38,"select",25),I(39,Wt,2,2,"option",26,Y),o()()(),n(41,"div",11)(42,"div",12)(43,"app-storage-quota",27),f("quotaChange",function(_){return t.updateQuota(_)}),o()(),n(44,"div",15)(45,"label",28),m(46,"Notification"),o(),n(47,"select",29),I(48,Xt,2,2,"option",30,Y),o()()(),g(50,Jt,6,1,"div",11),o(),g(51,ei,13,4,"div",11),o(),n(52,"tab",31),f("selectTab",function(){return t.tabView="permissions"}),k(53,ti,3,1,"ng-template",9),n(54,"div",32)(55,"label",33),m(56,"Account status"),o(),n(57,"div",34)(58,"div",35)(59,"label",36),u(60,"input",37),n(61,"span"),m(62),h(63,"translate"),h(64,"titlecase"),o()()(),n(65,"div",35)(66,"label",38),u(67,"input",39),n(68,"span",40),m(69,"Administrator"),o()()()()(),n(70,"app-admin-permissions",41),f("permissionsChange",function(_){return t.updateApplications(_)}),o(),g(71,oi,6,0,"div",32),o(),n(72,"tab",31),f("selectTab",function(){return t.tabView="groups"}),k(73,ai,5,2,"ng-template",9),n(74,"div",7)(75,"app-user-search",42),f("membersChange",function(_){return t.updateMembers(_)}),o()()()()(),n(76,"div",43),g(77,ri,2,1,"button",44),n(78,"button",45),f("click",function(){return t.onCancel()}),m(79,"Cancel"),o(),n(80,"button",46),f("click",function(){return t.onSubmit()}),m(81),o()()),l&2&&(r(2),C(t.user?2:3),r(2),C(t.loading?4:-1),r(),C(t.user?5:-1),r(),U(P("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.userForm),r(),c("justified",!0),r(9),E("is-invalid",t.userForm.controls.login.invalid),c("autoSelect",!1),r(4),E("is-invalid",t.userForm.controls.email.invalid),r(5),E("is-invalid",t.userForm.controls.firstName.invalid),r(7),C(t.userForm.value.password!==t.defaultPassword?33:-1),r(),c("password",t.userForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),r(5),V(t.languages),r(4),c("quota",t.userForm.value.storageQuota)("fullWidth",!0),r(5),V(t.allNotifications),r(2),C(t.user&&t.user.storageUsage?50:-1),r(),C(t.user?51:-1),r(10),E("text-danger",!t.userForm.value.isActive),r(),A(" ",w(64,42,D(63,39,t.userForm.value.isActive?"active":"suspended",t.locale.language))," "),r(8),c("permissions",t.userForm.value.applications),r(),C(t.userForm.value.groups.length?71:-1),r(4),c("members",t.userForm.value.groups)("withPermissions",!1)("customPlaceholder","Type to search for groups to add")("searchFunction",t.searchMembers.bind(t)),r(2),C(t.user!=null&&t.user.id?77:-1),r(3),U(P("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",t.userForm.invalid||t.submitted),r(),A(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[M,G,Se,we,xe,j,fe,_e,de,Z,ue,B,$,q,te,K,ye,be,ht,Ae,Te,vt,pe,ie,St,xt,ne],encapsulation:2});let e=a;return e})();var si=["MainContextMenu"],li=["TargetContextMenu"],yt=(e,a)=>a.key,mi=(e,a)=>a.id,ci=(e,a)=>a.mid;function pi(e,a){if(e&1&&u(0,"fa-icon",24),e&2){let i=p(3);c("icon",i.sortTable.sortParam.asc?i.icons.faArrowDown:i.icons.faArrowUp)("fixedWidth",!1)}}function di(e,a){if(e&1){let i=L();n(0,"th",23),f("click",function(){b(i);let l=p().$implicit,t=p();return x(t.sortBy(l.key))}),m(1),g(2,pi,1,2,"fa-icon",24),o()}if(e&2){let i=p().$implicit,s=p();U(i.value.class),De("width",i.value.width,"%"),E("text-align-center",i.value.textCenter)("cursor-pointer",i.value.sortable),r(),A(" ",i.value.label," "),r(),C(s.sortTable.sortParam.column===i.key?2:-1)}}function ui(e,a){if(e&1&&g(0,di,3,10,"th",22),e&2){let i=a.$implicit;C(i.value.show?0:-1)}}function fi(e,a){if(e&1&&u(0,"fa-icon",32),e&2){let i=p(5);c("icon",i.icons.faKey)}}function _i(e,a){if(e&1&&(n(0,"div",27),u(1,"img",30),n(2,"div",28)(3,"span",31),m(4),g(5,fi,1,1,"fa-icon",32),o(),n(6,"span",33),m(7),o()()()),e&2){let i=p(3).$implicit;r(),c("src",i.avatarUrl,J),r(3),A(" ",i.login," "),r(),C(i.isAdmin?5:-1),r(2),v(i.email)}}function gi(e,a){if(e&1&&(n(0,"span",34),m(1),o()),e&2){let i=p(4).$implicit;r(),v(i.userRoleText)}}function Ci(e,a){if(e&1&&(n(0,"div",28)(1,"span",31),m(2),o(),g(3,gi,2,1,"span",34),o()),e&2){let i=p(3).$implicit;r(2),v(i.fullName),r(),C(i.isAdmin?3:-1)}}function hi(e,a){if(e&1&&u(0,"app-user-avatar",35),e&2){let i=a.$implicit;c("user",i)("isMember",!0)}}function vi(e,a){if(e&1&&I(0,hi,1,2,"app-user-avatar",35,ci),e&2){let i=p(3).$implicit;V(i.managers)}}function bi(e,a){if(e&1&&u(0,"app-storage-usage",36),e&2){let i=p(4).$implicit;c("item",i)}}function xi(e,a){if(e&1&&g(0,bi,1,1,"app-storage-usage",36),e&2){let i=p(3).$implicit;C(i.storageUsage?0:-1)}}function Si(e,a){if(e&1&&(n(0,"div",28)(1,"div"),m(2),o(),n(3,"div"),m(4),o()()),e&2){let i=p(3).$implicit;r(2),v(i.currentIp),r(2),v(i.lastIp)}}function wi(e,a){e&1&&m(0," too many login attempts ")}function yi(e,a){if(e&1&&m(0),e&2){let i=p(4).$implicit;A(" ",i.userIsActiveText," ")}}function Ti(e,a){if(e&1&&(n(0,"span",11),g(1,wi,1,0)(2,yi,1,1),o()),e&2){let i=p(3).$implicit;U(i.isActive?"text-success":"text-danger"),r(),C(!i.isActive&&i.passwordAttempts?1:2)}}function Ai(e,a){if(e&1&&(n(0,"div",28)(1,"div"),m(2),h(3,"amDateFormat"),o(),n(4,"div"),m(5),h(6,"amDateFormat"),o()()),e&2){let i=p(5).$implicit;r(2),v(w(3,2,i.currentAccess)),r(3),v(w(6,4,i.lastAccess))}}function Ei(e,a){if(e&1&&m(0),e&2){let i=p(5).$implicit;A(" ",i.hTimeAgo," ")}}function Ui(e,a){if(e&1){let i=L();n(0,"div",38),f("mouseover",function(){b(i);let l=p(4).$implicit;return x(l.currentAccessHover=!0)})("focus",function(){b(i);let l=p(4).$implicit;return x(l.currentAccessHover=!0)})("mouseleave",function(){b(i);let l=p(4).$implicit;return x(l.currentAccessHover=!1)}),g(1,Ai,7,6,"div",28)(2,Ei,1,1),o()}if(e&2){let i=p(4).$implicit;r(),C(i.currentAccessHover?1:2)}}function Di(e,a){e&1&&(n(0,"span",11),m(1,"never"),o())}function Fi(e,a){if(e&1&&g(0,Ui,3,1,"div",37)(1,Di,2,0,"span",11),e&2){let i=p(3).$implicit;C(i.currentAccess?0:1)}}function ki(e,a){if(e&1&&(n(0,"td"),g(1,_i,8,4,"div",27)(2,Ci,4,2,"div",28)(3,vi,2,0)(4,xi,1,1)(5,Si,5,2,"div",28)(6,Ti,3,3,"span",29)(7,Fi,2,1),o()),e&2){let i,s=p().$implicit,l=p().$implicit;U(Me("",s.value.class," ",s.value.newly?"prop-newly-"+l[s.value.newly]:"")),De("width",s.value.width,"%"),E("text-align-center",s.value.textCenter),r(),C((i=s.key)==="login"?1:i==="fullName"?2:i==="managers"?3:i==="storage"?4:i==="currentIp"?5:i==="isActive"?6:i==="currentAccess"?7:-1)}}function Ii(e,a){if(e&1&&g(0,ki,8,9,"td",26),e&2){let i=a.$implicit;C(i.value.show?0:-1)}}function Vi(e,a){if(e&1){let i=L();n(0,"tr",25),f("click",function(){let l=b(i).$implicit,t=p();return x(t.onSelect(l))})("contextmenu",function(l){let t=b(i).$implicit,d=p();return x(d.onTargetContextMenu(l,t))})("pressup",function(l){let t=b(i).$implicit,d=p();return x(d.onTargetContextMenu(l,t))})("tap",function(){b(i);let l=p();return x(l.openDialog())}),I(1,Ii,1,1,null,null,yt),h(3,"keyvalue"),o()}if(e&2){let i=a.$implicit,s=p();E("disabled",!i.isActive)("selected",i.id===(s.selected==null?null:s.selected.id)),r(),V(D(3,4,s.tableHeaders,s.originalOrderKeyValue))}}function Ni(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2),o()),e&2){let i=p();r(),c("icon",i.icons.faUserPlus),r(),A("New ",i.guestsView?"guest":"user")}}function Pi(e,a){}function Mi(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2,"Refresh"),o()),e&2){let i=p();r(),c("icon",i.icons.faArrowRotateRight)}}function Gi(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2),o()),e&2){let i=p();r(),c("icon",i.icons.faUserPen),r(),A("Edit ",i.guestsView?"guest":"user")}}function Ri(e,a){}function Li(e,a){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2,"Impersonate identity"),o()),e&2){let i=p();r(),c("icon",i.icons.faUserSecret)}}var Lo=(()=>{let a=class a{constructor(){this.locale=S(H),this.originalOrderKeyValue=pt,this.icons={faRotate:je,faUserPlus:Ce,faUserPen:ge,faArrowDown:tt,faArrowUp:We,faKey:Qe,faUserSecret:he,faArrowRotateRight:et,faToggleOn:Ye,faToggleOff:He},this.tableHeaders={login:{label:"Login",width:30,textCenter:!1,class:"",show:!0,sortable:!0},fullName:{label:"Full name",width:15,class:"",textCenter:!1,show:!0,sortable:!0},managers:{label:"Managers",width:15,class:"d-none d-md-table-cell",textCenter:!0,show:!1,sortable:!0},storage:{label:"Storage Space",width:15,class:"d-none d-md-table-cell",textCenter:!0,show:!0,sortable:!0},isActive:{label:"Status",width:10,textCenter:!0,class:"d-none d-lg-table-cell",show:!0,sortable:!0},currentIp:{label:"IP",width:10,textCenter:!1,class:"d-none d-lg-table-cell",show:!0},currentAccess:{label:"Seen",width:12,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.guestsView=!1,this.loading=!1,this.selected=null,this.users=[],this.router=S(Le),this.activatedRoute=S(Re),this.layout=S(z),this.adminService=S(R),this.sortSettings={default:[{prop:"login",type:"string"}],login:[{prop:"login",type:"string"}],fullName:[{prop:"fullName",type:"string"}],managers:[{prop:"managers",type:"length"}],storage:[{prop:"storageUsage",type:"number"}],currentAccess:[{prop:"currentAccess",type:"date"}],isActive:[{prop:"isActive",type:"number"}]},this.sortTable=new ft(this.constructor.name,this.sortSettings),this.layout.setBreadcrumbIcon(ot.USERS),this.activatedRoute.data.subscribe(s=>{this.guestsView=s.type===X.GUEST,this.setEnv()})}loadUsersOrGuests(){this.loading=!0,this.onSelect(),this.adminService.listUsers(this.guestsView).subscribe({next:s=>{this.sortBy(this.sortTable.sortParam.column,!1,s),this.scrollView.scrollInto(-1),this.loading=!1},error:s=>{this.users=[],this.layout.sendNotification("error",this.guestsView?"Guests":"Users","Unable to load",s),this.loading=!1}})}onSelect(s=null){this.selected=s}onGuestsView(s){this.guestsView=s,this.router.navigate([Q.BASE,s?Q.GUESTS:Q.USERS]).catch(console.error)}onContextMenu(s){s.preventDefault(),s.stopPropagation(),this.layout.openContextMenu(s,this.mainContextMenu)}onTargetContextMenu(s,l){s.preventDefault(),s.type==="contextmenu"&&s.stopPropagation(),this.onSelect(l),this.layout.openContextMenu(s,this.targetContextMenu)}sortBy(s,l=!0,t){this.users=this.sortTable.sortBy(s,l,t||this.users)}openDialog(s=!1){this.guestsView?this.openGuestDialog(s):this.openUserDialog(s)}openUserDialog(s=!1){s?this.layout.openDialog(Ne,"md").content.userChange.pipe(W(1)).subscribe(t=>{let[d,_]=t;d==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,[...this.users,_]),this.onSelect(_))}):this.adminService.getUser(this.selected.id).subscribe({next:l=>{this.layout.openDialog(Ne,"md",{initialState:{user:l}}).content.userChange.pipe(W(1)).subscribe(d=>{let[_,T]=d;_==="update"?this.selected=Object.assign(this.selected,T):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.users.filter(Ue=>Ue.id!==T.id)))})},error:l=>this.layout.sendNotification("error","Edit group",this.selected.login,l)})}openGuestDialog(s=!1){s?this.layout.openDialog(Ve,"md").content.guestChange.pipe(W(1)).subscribe(t=>{let[d,_]=t,T=new gt(_);d==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,[...this.users,T]),this.onSelect(T))}):this.adminService.getUser(this.selected.id,!0).subscribe({next:l=>{this.layout.openDialog(Ve,"md",{initialState:{guest:l}}).content.guestChange.pipe(W(1)).subscribe(d=>{let[_,T]=d;_==="update"?this.selected=Object.assign(this.selected,T):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.users.filter(Ue=>Ue.id!==T.id)))})},error:l=>this.layout.sendNotification("error","Guest error",this.selected.fullName,l)})}impersonateIdentity(){this.layout.openDialog(bt,"sm",{initialState:{user:this.selected}})}setEnv(){this.tableHeaders.managers.show=this.guestsView,this.tableHeaders.storage.show=!this.guestsView,this.loadUsersOrGuests(),this.layout.setBreadcrumbNav({url:this.guestsView?`/${Q.BASE}/${Q.GUESTS}/${Fe.GUESTS}`:`/${Q.BASE}/${Q.USERS}/${Fe.USERS}`,splicing:2,translating:!0,sameLink:!0})}};a.\u0275fac=function(l){return new(l||a)},a.\u0275cmp=N({type:a,selectors:[["app-admin-users"]],viewQuery:function(l,t){if(l&1&&(re(Ie,5),re(ke,7),re(si,7),re(li,7)),l&2){let d;se(d=le())&&(t.scrollView=d.first),se(d=le())&&(t.inputFilter=d.first),se(d=le())&&(t.mainContextMenu=d.first),se(d=le())&&(t.targetContextMenu=d.first)}},decls:47,vars:40,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],[3,"icon"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[1,"ms-auto"],["btnCheckbox","","type","button",1,"btn","btn-sm","btn-custom","me-1",3,"ngModelChange","ngModel"],[1,"d-flex","align-items-center"],[1,"me-2",3,"icon"],["l10nTranslate",""],[1,"btn-group","btn-group-sm"],[1,"d-none","d-sm-block"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"disabled","selected"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem","",3,"execute"],["contextMenuItem","",3,"divider"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"icon","fixedWidth"],[3,"click","contextmenu","pressup","tap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center","avatar"],[1,"d-flex","flex-column"],["l10nTranslate","",3,"class"],["alt","",1,"avatar-img",3,"src"],["draggable","false",1,"no-pointer-events"],[1,"m-0",3,"icon"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"],["draggable","false","l10nTranslate","",1,"no-pointer-events","text-muted","fs-xxxs"],[3,"user","isMember"],[3,"item"],[1,"d-flex","justify-content-center"],[1,"d-flex","justify-content-center",3,"mouseover","focus","mouseleave"]],template:function(l,t){if(l&1){let d=L();n(0,"div",2)(1,"button",3),h(2,"translate"),f("click",function(){return b(d),x(t.loadUsersOrGuests())}),u(3,"fa-icon",4),o(),n(4,"button",3),h(5,"translate"),f("click",function(){return b(d),x(t.openDialog(!0))}),u(6,"fa-icon",5),o(),n(7,"button",6),h(8,"translate"),f("click",function(){return b(d),x(t.openDialog())}),u(9,"fa-icon",5),o(),n(10,"button",6),h(11,"translate"),f("click",function(){return b(d),x(t.impersonateIdentity())}),u(12,"fa-icon",5),o(),n(13,"div",7)(14,"button",8),f("ngModelChange",function(T){return b(d),x(t.onGuestsView(T))}),n(15,"div",9),u(16,"fa-icon",10),n(17,"span",11),m(18,"Guests"),o()()(),n(19,"div",12),u(20,"app-input-filter",13),o()()(),n(21,"table",14)(22,"thead")(23,"tr"),I(24,ui,1,1,null,null,yt),h(26,"keyvalue"),o()()(),n(27,"app-virtual-scroll",15),h(28,"searchFilter"),f("contextmenu",function(T){return b(d),x(t.onContextMenu(T))}),n(29,"table",14)(30,"tbody",16),I(31,Vi,4,7,"tr",17,mi),o()()(),n(33,"div",18)(34,"span",19),m(35),h(36,"translate"),o()(),n(37,"context-menu",null,0),k(39,Ni,3,2,"ng-template",20),f("execute",function(){return b(d),x(t.openDialog(!0))}),k(40,Pi,0,0,"ng-template",21)(41,Mi,3,1,"ng-template",20),f("execute",function(){return b(d),x(t.loadUsersOrGuests())}),o(),n(42,"context-menu",null,1),k(44,Gi,3,2,"ng-template",20),f("execute",function(){return b(d),x(t.openDialog())}),k(45,Ri,0,0,"ng-template",21)(46,Li,3,1,"ng-template",20),f("execute",function(){return b(d),x(t.impersonateIdentity())}),o()}l&2&&(r(),c("tooltip",D(2,19,"Refresh",t.locale.language)),r(2),c("icon",t.icons.faRotate)("animation",t.loading?"spin":null),r(),c("tooltip",D(5,22,t.guestsView?"New guest":"New user",t.locale.language)),r(2),c("icon",t.icons.faUserPlus),r(),c("disabled",!t.selected)("tooltip",D(8,25,t.guestsView?"Edit guest":"Edit user",t.locale.language)),r(2),c("icon",t.icons.faUserPen),r(),c("disabled",!t.selected)("tooltip",D(11,28,"Impersonate identity",t.locale.language)),r(2),c("icon",t.icons.faUserSecret),r(2),c("ngModel",t.guestsView),r(2),c("icon",t.guestsView?t.icons.faToggleOn:t.icons.faToggleOff),r(8),V(D(26,31,t.tableHeaders,t.originalOrderKeyValue)),r(3),c("bufferAmount",5)("items",D(28,34,t.users,t.inputFilter.search())),r(4),V(t.scrollView==null?null:t.scrollView.viewPortItems),r(4),O("",t.users.length," ",D(36,37,t.guestsView?"guests":"users",t.locale.language)),r(5),c("divider",!0),r(5),c("divider",!0))},dependencies:[M,ke,qe,G,Ie,be,st,rt,at,dt,Be,B,Oe,_t,ie,Ge,ut,ne],encapsulation:2});let e=a;return e})();export{Lo as AdminUsersComponent};