spiderly 0.0.8 → 19.0.1

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 (442) hide show
  1. package/eslint.config.js +32 -0
  2. package/ng-package.json +10 -0
  3. package/package.json +55 -65
  4. package/src/lib/components/auth/login/login.component.html +25 -0
  5. package/src/lib/components/auth/login/login.component.ts +77 -0
  6. package/src/lib/components/auth/partials/auth.component.html +29 -0
  7. package/src/lib/components/auth/partials/auth.component.ts +60 -0
  8. package/src/lib/components/auth/partials/login-verification.component.html +2 -0
  9. package/src/lib/components/auth/partials/login-verification.component.ts +41 -0
  10. package/src/lib/components/auth/partials/registration-verification.component.html +1 -0
  11. package/src/lib/components/auth/partials/registration-verification.component.ts +41 -0
  12. package/src/lib/components/auth/partials/verification-wrapper.component.html +39 -0
  13. package/src/lib/components/auth/partials/verification-wrapper.component.ts +68 -0
  14. package/src/lib/components/auth/registration/registration.component.html +31 -0
  15. package/src/lib/components/auth/registration/registration.component.ts +77 -0
  16. package/src/lib/components/base-details/role-base-details.component.html +33 -0
  17. package/src/lib/components/base-details/role-base-details.component.ts +194 -0
  18. package/src/lib/components/base-form/base-form copy.ts +356 -0
  19. package/src/lib/components/card-skeleton/card-skeleton.component.html +8 -0
  20. package/src/lib/components/card-skeleton/card-skeleton.component.ts +21 -0
  21. package/src/lib/components/footer/app.footer.component.ts +17 -0
  22. package/src/lib/components/footer/footer.component.html +3 -0
  23. package/src/lib/components/footer/footer.component.ts +17 -0
  24. package/src/lib/components/index-card/index-card.component.html +15 -0
  25. package/src/lib/components/index-card/index-card.component.ts +48 -0
  26. package/src/lib/components/info-card/info-card.component.html +18 -0
  27. package/src/lib/components/info-card/info-card.component.ts +29 -0
  28. package/src/lib/components/layout/layout-base.component.ts +140 -0
  29. package/src/lib/components/layout/sidebar/menuitem.component.html +40 -0
  30. package/src/lib/components/layout/sidebar/menuitem.component.ts +179 -0
  31. package/src/lib/components/layout/sidebar/sidebar-menu.component.html +6 -0
  32. package/src/lib/components/layout/sidebar/sidebar-menu.component.ts +44 -0
  33. package/src/lib/components/layout/sidebar/sidebar-menu.service.ts +22 -0
  34. package/src/lib/components/layout/sidebar/sidebar.component.html +1 -0
  35. package/src/lib/components/layout/sidebar/sidebar.component.ts +20 -0
  36. package/src/lib/components/layout/topbar/topbar.component.html +64 -0
  37. package/src/lib/components/layout/topbar/topbar.component.ts +137 -0
  38. package/src/lib/components/not-found/not-found.component.html +27 -0
  39. package/src/lib/components/not-found/not-found.component.ts +22 -0
  40. package/src/lib/components/required/required.component.html +1 -0
  41. package/src/lib/components/required/required.component.ts +13 -0
  42. package/src/lib/components/spiderly-buttons/google-button/google-button.component.html +5 -0
  43. package/src/lib/components/spiderly-buttons/google-button/google-button.component.ts +53 -0
  44. package/src/lib/components/spiderly-buttons/return-button/return-button.component.html +3 -0
  45. package/src/lib/components/spiderly-buttons/return-button/return-button.component.ts +35 -0
  46. package/src/lib/components/spiderly-buttons/spiderly-button/spiderly-button.component.html +14 -0
  47. package/src/lib/components/spiderly-buttons/spiderly-button/spiderly-button.component.ts +27 -0
  48. package/src/lib/components/spiderly-buttons/spiderly-button-base/spiderly-button-base.ts +61 -0
  49. package/src/lib/components/spiderly-buttons/spiderly-split-button/spiderly-split-button.component.html +15 -0
  50. package/src/lib/components/spiderly-buttons/spiderly-split-button/spiderly-split-button.component.ts +24 -0
  51. package/src/lib/components/spiderly-data-table/spiderly-data-table.component.html +93 -0
  52. package/{styles → src/lib}/components/spiderly-data-table/spiderly-data-table.component.scss +15 -0
  53. package/src/lib/components/spiderly-data-table/spiderly-data-table.component.ts +614 -0
  54. package/src/lib/components/spiderly-delete-dialog/spiderly-delete-confirmation.component.html +17 -0
  55. package/src/lib/components/spiderly-delete-dialog/spiderly-delete-confirmation.component.ts +39 -0
  56. package/src/lib/components/spiderly-form-control/spiderly-form-control.ts +60 -0
  57. package/src/lib/components/spiderly-panels/panel-body/panel-body.component.html +8 -0
  58. package/src/lib/components/spiderly-panels/panel-body/panel-body.component.ts +16 -0
  59. package/src/lib/components/spiderly-panels/panel-footer/panel-footer.component.html +8 -0
  60. package/{styles → src/lib}/components/spiderly-panels/panel-footer/panel-footer.component.scss +3 -3
  61. package/src/lib/components/spiderly-panels/panel-footer/panel-footer.component.ts +15 -0
  62. package/src/lib/components/spiderly-panels/panel-header/panel-header.component.html +25 -0
  63. package/src/lib/components/spiderly-panels/panel-header/panel-header.component.ts +69 -0
  64. package/src/lib/components/spiderly-panels/spiderly-card/spiderly-card.component.html +7 -0
  65. package/src/lib/components/spiderly-panels/spiderly-card/spiderly-card.component.ts +17 -0
  66. package/src/lib/components/spiderly-panels/spiderly-panel/spiderly-panel.component.html +40 -0
  67. package/src/lib/components/spiderly-panels/spiderly-panel/spiderly-panel.component.scss +11 -0
  68. package/src/lib/components/spiderly-panels/spiderly-panel/spiderly-panel.component.ts +42 -0
  69. package/src/lib/components/spiderly-panels/spiderly-panels.module.ts +32 -0
  70. package/src/lib/controls/base-autocomplete-control.ts +17 -0
  71. package/src/lib/controls/base-control.ts +60 -0
  72. package/src/lib/controls/base-dropdown-control.ts +37 -0
  73. package/src/lib/controls/spiderly-autocomplete/spiderly-autocomplete.component.html +36 -0
  74. package/src/lib/controls/spiderly-autocomplete/spiderly-autocomplete.component.ts +56 -0
  75. package/src/lib/controls/spiderly-calendar/spiderly-calendar.component.html +21 -0
  76. package/src/lib/controls/spiderly-calendar/spiderly-calendar.component.ts +37 -0
  77. package/src/lib/controls/spiderly-checkbox/spiderly-checkbox.component.html +16 -0
  78. package/src/lib/controls/spiderly-checkbox/spiderly-checkbox.component.ts +38 -0
  79. package/src/lib/controls/spiderly-colorpick/spiderly-colorpick.component.html +33 -0
  80. package/src/lib/controls/spiderly-colorpick/spiderly-colorpick.component.ts +40 -0
  81. package/src/lib/controls/spiderly-controls.module.ts +61 -0
  82. package/src/lib/controls/spiderly-dropdown/spiderly-dropdown.component.html +27 -0
  83. package/src/lib/controls/spiderly-dropdown/spiderly-dropdown.component.ts +39 -0
  84. package/src/lib/controls/spiderly-editor/spiderly-editor.component.html +22 -0
  85. package/src/lib/controls/spiderly-editor/spiderly-editor.component.ts +58 -0
  86. package/src/lib/controls/spiderly-file/spiderly-file.component.html +54 -0
  87. package/src/lib/controls/spiderly-file/spiderly-file.component.ts +123 -0
  88. package/src/lib/controls/spiderly-multiautocomplete/spiderly-multiautocomplete.component.html +30 -0
  89. package/src/lib/controls/spiderly-multiautocomplete/spiderly-multiautocomplete.component.ts +38 -0
  90. package/src/lib/controls/spiderly-multiselect/spiderly-multiselect.component.html +23 -0
  91. package/src/lib/controls/spiderly-multiselect/spiderly-multiselect.component.ts +32 -0
  92. package/src/lib/controls/spiderly-number/spiderly-number.component.html +19 -0
  93. package/src/lib/controls/spiderly-number/spiderly-number.component.ts +37 -0
  94. package/src/lib/controls/spiderly-password/spiderly-password.component.html +17 -0
  95. package/src/lib/controls/spiderly-password/spiderly-password.component.ts +34 -0
  96. package/src/lib/controls/spiderly-textarea/spiderly-textarea.component.html +18 -0
  97. package/src/lib/controls/spiderly-textarea/spiderly-textarea.component.ts +32 -0
  98. package/src/lib/controls/spiderly-textbox/spiderly-textbox.component.html +23 -0
  99. package/src/lib/controls/spiderly-textbox/spiderly-textbox.component.ts +41 -0
  100. package/src/lib/entities/base-entity.ts +25 -0
  101. package/src/lib/entities/codebook.ts +23 -0
  102. package/src/lib/entities/init-company-auth-dialog-details.ts +22 -0
  103. package/src/lib/entities/init-top-bar-data.ts +35 -0
  104. package/src/lib/entities/is-authorized-for-save-event.ts +22 -0
  105. package/src/lib/entities/last-menu-icon-index-clicked.ts +18 -0
  106. package/src/lib/entities/lazy-load-selected-ids-result.ts +22 -0
  107. package/{lib/entities/menuchangeevent.d.ts → src/lib/entities/menuchangeevent.ts} +4 -4
  108. package/src/lib/entities/mime-type.ts +15 -0
  109. package/src/lib/entities/namebook.ts +22 -0
  110. package/src/lib/entities/primeng-option.ts +23 -0
  111. package/src/lib/entities/readonly-object.ts +1 -0
  112. package/src/lib/entities/security-entities.ts +548 -0
  113. package/src/lib/entities/simple-save-result.ts +19 -0
  114. package/src/lib/entities/spiderly-button.ts +30 -0
  115. package/{lib/entities/table-filter-context.d.ts → src/lib/entities/table-filter-context.ts} +6 -5
  116. package/src/lib/entities/table-filter-sort-meta.ts +5 -0
  117. package/{lib/entities/table-filter.d.ts → src/lib/entities/table-filter.ts} +48 -23
  118. package/src/lib/entities/table-response.ts +5 -0
  119. package/src/lib/enums/security-enums.ts +28 -0
  120. package/src/lib/enums/verification-type-codes.ts +5 -0
  121. package/src/lib/guards/auth.guard.ts +39 -0
  122. package/src/lib/guards/not-auth.guard.ts +32 -0
  123. package/src/lib/handlers/spiderly-error-handler.ts +32 -0
  124. package/src/lib/handlers/spiderly-transloco-fallback-strategy.ts +25 -0
  125. package/src/lib/interceptors/http-loading.interceptor.ts +21 -0
  126. package/src/lib/interceptors/json-parser.interceptor.ts +44 -0
  127. package/src/lib/interceptors/jwt.interceptor.ts +18 -0
  128. package/src/lib/interceptors/unauthorized.interceptor.ts +77 -0
  129. package/src/lib/modules/core.module.ts +22 -0
  130. package/src/lib/modules/primeng.module.ts +122 -0
  131. package/src/lib/modules/spiderly-transloco.module.ts +50 -0
  132. package/src/lib/services/api.service.security.ts +120 -0
  133. package/src/lib/services/app-initializer.ts +9 -0
  134. package/src/lib/services/app-layout-base.service.ts +184 -0
  135. package/src/lib/services/auth-base.service.ts +271 -0
  136. package/src/lib/services/base-form.service.ts +178 -0
  137. package/src/lib/services/config-base.service.ts +36 -0
  138. package/src/lib/services/helper-functions.ts +288 -0
  139. package/src/lib/services/spiderly-message.service.ts +66 -0
  140. package/src/lib/services/spiderly-transloco-loader.ts +15 -0
  141. package/src/lib/services/translate-labels-abstract.service.ts +13 -0
  142. package/src/lib/services/validator-abstract.service.ts +63 -0
  143. package/{styles → src/lib}/styles/layout/_config.scss +2 -2
  144. package/{styles → src/lib}/styles/layout/_content.scss +2 -0
  145. package/{styles → src/lib}/styles/layout/_footer.scss +2 -0
  146. package/{styles → src/lib}/styles/layout/_main.scss +6 -3
  147. package/{styles → src/lib}/styles/layout/_menu.scss +10 -7
  148. package/{styles → src/lib}/styles/layout/_mixins.scss +2 -2
  149. package/{styles → src/lib}/styles/layout/_preloading.scss +1 -1
  150. package/{styles → src/lib}/styles/layout/_responsive.scss +2 -0
  151. package/{styles → src/lib}/styles/layout/_spiderly-controls.scss +2 -0
  152. package/{styles → src/lib}/styles/layout/_topbar.scss +16 -11
  153. package/{styles → src/lib}/styles/layout/_typography.scss +1 -1
  154. package/{styles → src/lib}/styles/layout/_utils.scss +1 -1
  155. package/{styles → src/lib}/styles/layout/_variables.scss +59 -53
  156. package/src/lib/styles/layout/layout.scss +13 -0
  157. package/{styles → src/lib}/styles/shared.scss +70 -42
  158. package/src/lib/styles/styles.scss +3 -0
  159. package/{public-api.d.ts → src/public-api.ts} +103 -90
  160. package/tsconfig.lib.json +17 -0
  161. package/tsconfig.lib.prod.json +10 -0
  162. package/tsconfig.spec.json +14 -0
  163. package/esm2022/lib/components/auth/auth.module.mjs +0 -65
  164. package/esm2022/lib/components/auth/login/login.component.mjs +0 -60
  165. package/esm2022/lib/components/auth/partials/auth.component.mjs +0 -53
  166. package/esm2022/lib/components/auth/partials/login-verification.component.mjs +0 -39
  167. package/esm2022/lib/components/auth/partials/registration-verification.component.mjs +0 -37
  168. package/esm2022/lib/components/auth/partials/verification-wrapper.component.mjs +0 -74
  169. package/esm2022/lib/components/auth/registration/registration.component.mjs +0 -59
  170. package/esm2022/lib/components/base-details/role-base-details.component.mjs +0 -171
  171. package/esm2022/lib/components/base-form/base-form copy.mjs +0 -247
  172. package/esm2022/lib/components/card-skeleton/card-skeleton.component.mjs +0 -25
  173. package/esm2022/lib/components/footer/footer.component.mjs +0 -16
  174. package/esm2022/lib/components/index-card/index-card.component.mjs +0 -57
  175. package/esm2022/lib/components/info-card/info-card.component.mjs +0 -29
  176. package/esm2022/lib/components/layout/layout-base.component.mjs +0 -121
  177. package/esm2022/lib/components/layout/sidebar/menuitem.component.mjs +0 -161
  178. package/esm2022/lib/components/layout/sidebar/sidebar-menu.component.mjs +0 -34
  179. package/esm2022/lib/components/layout/sidebar/sidebar-menu.service.mjs +0 -26
  180. package/esm2022/lib/components/layout/sidebar/sidebar.component.mjs +0 -21
  181. package/esm2022/lib/components/layout/topbar/topbar.component.mjs +0 -115
  182. package/esm2022/lib/components/not-found/not-found.component.mjs +0 -20
  183. package/esm2022/lib/components/required/required.component.mjs +0 -12
  184. package/esm2022/lib/components/spiderly-buttons/google-button/google-button.component.mjs +0 -43
  185. package/esm2022/lib/components/spiderly-buttons/return-button/return-button.component.mjs +0 -37
  186. package/esm2022/lib/components/spiderly-buttons/spiderly-button/spiderly-button.component.mjs +0 -20
  187. package/esm2022/lib/components/spiderly-buttons/spiderly-button-base/spiderly-button-base.mjs +0 -68
  188. package/esm2022/lib/components/spiderly-buttons/spiderly-split-button/spiderly-split-button.component.mjs +0 -22
  189. package/esm2022/lib/components/spiderly-data-table/spiderly-data-table.component.mjs +0 -501
  190. package/esm2022/lib/components/spiderly-delete-dialog/spiderly-delete-confirmation.component.mjs +0 -42
  191. package/esm2022/lib/components/spiderly-form-control/spiderly-form-control.mjs +0 -36
  192. package/esm2022/lib/components/spiderly-panels/panel-body/panel-body.component.mjs +0 -19
  193. package/esm2022/lib/components/spiderly-panels/panel-footer/panel-footer.component.mjs +0 -14
  194. package/esm2022/lib/components/spiderly-panels/panel-header/panel-header.component.mjs +0 -49
  195. package/esm2022/lib/components/spiderly-panels/spiderly-card/spiderly-card.component.mjs +0 -20
  196. package/esm2022/lib/components/spiderly-panels/spiderly-panel/spiderly-panel.component.mjs +0 -63
  197. package/esm2022/lib/components/spiderly-panels/spiderly-panels.module.mjs +0 -49
  198. package/esm2022/lib/controls/base-autocomplete-control.mjs +0 -18
  199. package/esm2022/lib/controls/base-control.mjs +0 -62
  200. package/esm2022/lib/controls/base-dropdown-control.mjs +0 -37
  201. package/esm2022/lib/controls/spiderly-autocomplete/spiderly-autocomplete.component.mjs +0 -60
  202. package/esm2022/lib/controls/spiderly-calendar/spiderly-calendar.component.mjs +0 -39
  203. package/esm2022/lib/controls/spiderly-checkbox/spiderly-checkbox.component.mjs +0 -45
  204. package/esm2022/lib/controls/spiderly-colorpick/spiderly-colorpick.component.mjs +0 -40
  205. package/esm2022/lib/controls/spiderly-controls.module.mjs +0 -112
  206. package/esm2022/lib/controls/spiderly-dropdown/spiderly-dropdown.component.mjs +0 -40
  207. package/esm2022/lib/controls/spiderly-editor/spiderly-editor.component.mjs +0 -59
  208. package/esm2022/lib/controls/spiderly-file/spiderly-file.component.mjs +0 -106
  209. package/esm2022/lib/controls/spiderly-multiautocomplete/spiderly-multiautocomplete.component.mjs +0 -38
  210. package/esm2022/lib/controls/spiderly-multiselect/spiderly-multiselect.component.mjs +0 -34
  211. package/esm2022/lib/controls/spiderly-number/spiderly-number.component.mjs +0 -44
  212. package/esm2022/lib/controls/spiderly-password/spiderly-password.component.mjs +0 -37
  213. package/esm2022/lib/controls/spiderly-textarea/spiderly-textarea.component.mjs +0 -34
  214. package/esm2022/lib/controls/spiderly-textbox/spiderly-textbox.component.mjs +0 -45
  215. package/esm2022/lib/entities/base-entity.mjs +0 -18
  216. package/esm2022/lib/entities/codebook.mjs +0 -10
  217. package/esm2022/lib/entities/init-company-auth-dialog-details.mjs +0 -9
  218. package/esm2022/lib/entities/init-top-bar-data.mjs +0 -12
  219. package/esm2022/lib/entities/is-authorized-for-save-event.mjs +0 -9
  220. package/esm2022/lib/entities/last-menu-icon-index-clicked.mjs +0 -8
  221. package/esm2022/lib/entities/lazy-load-selected-ids-result.mjs +0 -11
  222. package/esm2022/lib/entities/menuchangeevent.mjs +0 -3
  223. package/esm2022/lib/entities/mime-type.mjs +0 -15
  224. package/esm2022/lib/entities/namebook.mjs +0 -9
  225. package/esm2022/lib/entities/primeng-option.mjs +0 -9
  226. package/esm2022/lib/entities/security-entities.mjs +0 -169
  227. package/esm2022/lib/entities/simple-save-result.mjs +0 -9
  228. package/esm2022/lib/entities/spiderly-button.mjs +0 -11
  229. package/esm2022/lib/entities/table-filter-context.mjs +0 -3
  230. package/esm2022/lib/entities/table-filter-sort-meta.mjs +0 -3
  231. package/esm2022/lib/entities/table-filter.mjs +0 -15
  232. package/esm2022/lib/entities/table-response.mjs +0 -3
  233. package/esm2022/lib/enums/security-enums.mjs +0 -26
  234. package/esm2022/lib/enums/verification-type-codes.mjs +0 -6
  235. package/esm2022/lib/guards/auth.guard.mjs +0 -40
  236. package/esm2022/lib/guards/not-auth.guard.mjs +0 -32
  237. package/esm2022/lib/handlers/spiderly-error-handler.mjs +0 -30
  238. package/esm2022/lib/handlers/spiderly-transloco-fallback-strategy.mjs +0 -24
  239. package/esm2022/lib/interceptors/http-loading.interceptor.mjs +0 -27
  240. package/esm2022/lib/interceptors/json-parser.interceptor.mjs +0 -47
  241. package/esm2022/lib/interceptors/jwt.interceptor.mjs +0 -27
  242. package/esm2022/lib/interceptors/unauthorized.interceptor.mjs +0 -64
  243. package/esm2022/lib/modules/core.module.mjs +0 -140
  244. package/esm2022/lib/modules/primeng.module.mjs +0 -278
  245. package/esm2022/lib/modules/spiderly-transloco.module.mjs +0 -44
  246. package/esm2022/lib/services/api.service.security.mjs +0 -86
  247. package/esm2022/lib/services/app-initializer.mjs +0 -6
  248. package/esm2022/lib/services/app-layout-base.service.mjs +0 -132
  249. package/esm2022/lib/services/auth-base.service.mjs +0 -220
  250. package/esm2022/lib/services/base-form.service.mjs +0 -124
  251. package/esm2022/lib/services/config-base.service.mjs +0 -33
  252. package/esm2022/lib/services/helper-functions.mjs +0 -229
  253. package/esm2022/lib/services/spiderly-message.service.mjs +0 -64
  254. package/esm2022/lib/services/spiderly-transloco-loader.mjs +0 -20
  255. package/esm2022/lib/services/translate-labels-abstract.service.mjs +0 -15
  256. package/esm2022/lib/services/validator-abstract.service.mjs +0 -51
  257. package/esm2022/public-api.mjs +0 -94
  258. package/esm2022/spiderly.mjs +0 -5
  259. package/fesm2022/spiderly.mjs +0 -4807
  260. package/fesm2022/spiderly.mjs.map +0 -1
  261. package/index.d.ts +0 -5
  262. package/lib/components/auth/auth.module.d.ts +0 -17
  263. package/lib/components/auth/login/login.component.d.ts +0 -35
  264. package/lib/components/auth/partials/auth.component.d.ts +0 -21
  265. package/lib/components/auth/partials/login-verification.component.d.ts +0 -18
  266. package/lib/components/auth/partials/registration-verification.component.d.ts +0 -17
  267. package/lib/components/auth/partials/verification-wrapper.component.d.ts +0 -31
  268. package/lib/components/auth/registration/registration.component.d.ts +0 -34
  269. package/lib/components/base-details/role-base-details.component.d.ts +0 -50
  270. package/lib/components/base-form/base-form copy.d.ts +0 -54
  271. package/lib/components/card-skeleton/card-skeleton.component.d.ts +0 -12
  272. package/lib/components/footer/footer.component.d.ts +0 -9
  273. package/lib/components/index-card/index-card.component.d.ts +0 -22
  274. package/lib/components/info-card/info-card.component.d.ts +0 -11
  275. package/lib/components/layout/layout-base.component.d.ts +0 -37
  276. package/lib/components/layout/sidebar/menuitem.component.d.ts +0 -43
  277. package/lib/components/layout/sidebar/sidebar-menu.component.d.ts +0 -23
  278. package/lib/components/layout/sidebar/sidebar-menu.service.d.ts +0 -12
  279. package/lib/components/layout/sidebar/sidebar.component.d.ts +0 -11
  280. package/lib/components/layout/topbar/topbar.component.d.ts +0 -45
  281. package/lib/components/not-found/not-found.component.d.ts +0 -9
  282. package/lib/components/required/required.component.d.ts +0 -6
  283. package/lib/components/spiderly-buttons/google-button/google-button.component.d.ts +0 -17
  284. package/lib/components/spiderly-buttons/return-button/return-button.component.d.ts +0 -10
  285. package/lib/components/spiderly-buttons/spiderly-button/spiderly-button.component.d.ts +0 -6
  286. package/lib/components/spiderly-buttons/spiderly-button-base/spiderly-button-base.d.ts +0 -27
  287. package/lib/components/spiderly-buttons/spiderly-split-button/spiderly-split-button.component.d.ts +0 -8
  288. package/lib/components/spiderly-data-table/spiderly-data-table.component.d.ts +0 -157
  289. package/lib/components/spiderly-delete-dialog/spiderly-delete-confirmation.component.d.ts +0 -11
  290. package/lib/components/spiderly-form-control/spiderly-form-control.d.ts +0 -37
  291. package/lib/components/spiderly-panels/panel-body/panel-body.component.d.ts +0 -9
  292. package/lib/components/spiderly-panels/panel-footer/panel-footer.component.d.ts +0 -8
  293. package/lib/components/spiderly-panels/panel-header/panel-header.component.d.ts +0 -29
  294. package/lib/components/spiderly-panels/spiderly-card/spiderly-card.component.d.ts +0 -10
  295. package/lib/components/spiderly-panels/spiderly-panel/spiderly-panel.component.d.ts +0 -25
  296. package/lib/components/spiderly-panels/spiderly-panels.module.d.ts +0 -13
  297. package/lib/controls/base-autocomplete-control.d.ts +0 -9
  298. package/lib/controls/base-control.d.ts +0 -23
  299. package/lib/controls/base-dropdown-control.d.ts +0 -18
  300. package/lib/controls/spiderly-autocomplete/spiderly-autocomplete.component.d.ts +0 -18
  301. package/lib/controls/spiderly-calendar/spiderly-calendar.component.d.ts +0 -13
  302. package/lib/controls/spiderly-checkbox/spiderly-checkbox.component.d.ts +0 -14
  303. package/lib/controls/spiderly-colorpick/spiderly-colorpick.component.d.ts +0 -11
  304. package/lib/controls/spiderly-controls.module.d.ts +0 -22
  305. package/lib/controls/spiderly-dropdown/spiderly-dropdown.component.d.ts +0 -14
  306. package/lib/controls/spiderly-editor/spiderly-editor.component.d.ts +0 -16
  307. package/lib/controls/spiderly-file/spiderly-file.component.d.ts +0 -36
  308. package/lib/controls/spiderly-multiautocomplete/spiderly-multiautocomplete.component.d.ts +0 -13
  309. package/lib/controls/spiderly-multiselect/spiderly-multiselect.component.d.ts +0 -11
  310. package/lib/controls/spiderly-number/spiderly-number.component.d.ts +0 -15
  311. package/lib/controls/spiderly-password/spiderly-password.component.d.ts +0 -12
  312. package/lib/controls/spiderly-textarea/spiderly-textarea.component.d.ts +0 -11
  313. package/lib/controls/spiderly-textbox/spiderly-textbox.component.d.ts +0 -15
  314. package/lib/entities/base-entity.d.ts +0 -14
  315. package/lib/entities/codebook.d.ts +0 -9
  316. package/lib/entities/init-company-auth-dialog-details.d.ts +0 -9
  317. package/lib/entities/init-top-bar-data.d.ts +0 -16
  318. package/lib/entities/is-authorized-for-save-event.d.ts +0 -9
  319. package/lib/entities/last-menu-icon-index-clicked.d.ts +0 -7
  320. package/lib/entities/lazy-load-selected-ids-result.d.ts +0 -9
  321. package/lib/entities/mime-type.d.ts +0 -11
  322. package/lib/entities/namebook.d.ts +0 -9
  323. package/lib/entities/primeng-option.d.ts +0 -9
  324. package/lib/entities/security-entities.d.ts +0 -211
  325. package/lib/entities/simple-save-result.d.ts +0 -7
  326. package/lib/entities/spiderly-button.d.ts +0 -13
  327. package/lib/entities/table-filter-sort-meta.d.ts +0 -4
  328. package/lib/entities/table-response.d.ts +0 -4
  329. package/lib/enums/security-enums.d.ts +0 -22
  330. package/lib/enums/verification-type-codes.d.ts +0 -4
  331. package/lib/guards/auth.guard.d.ts +0 -15
  332. package/lib/guards/not-auth.guard.d.ts +0 -12
  333. package/lib/handlers/spiderly-error-handler.d.ts +0 -14
  334. package/lib/handlers/spiderly-transloco-fallback-strategy.d.ts +0 -13
  335. package/lib/interceptors/http-loading.interceptor.d.ts +0 -11
  336. package/lib/interceptors/json-parser.interceptor.d.ts +0 -11
  337. package/lib/interceptors/jwt.interceptor.d.ts +0 -11
  338. package/lib/interceptors/unauthorized.interceptor.d.ts +0 -16
  339. package/lib/modules/core.module.d.ts +0 -13
  340. package/lib/modules/primeng.module.d.ts +0 -42
  341. package/lib/modules/spiderly-transloco.module.d.ts +0 -9
  342. package/lib/services/api.service.security.d.ts +0 -35
  343. package/lib/services/app-initializer.d.ts +0 -4
  344. package/lib/services/app-layout-base.service.d.ts +0 -60
  345. package/lib/services/auth-base.service.d.ts +0 -55
  346. package/lib/services/base-form.service.d.ts +0 -27
  347. package/lib/services/config-base.service.d.ts +0 -24
  348. package/lib/services/helper-functions.d.ts +0 -37
  349. package/lib/services/spiderly-message.service.d.ts +0 -17
  350. package/lib/services/spiderly-transloco-loader.d.ts +0 -10
  351. package/lib/services/translate-labels-abstract.service.d.ts +0 -7
  352. package/lib/services/validator-abstract.service.d.ts +0 -13
  353. package/styles/styles/layout/layout.scss +0 -13
  354. package/styles/styles/styles.scss +0 -6
  355. package/styles/styles/theme/base/_colors.scss +0 -18
  356. package/styles/styles/theme/base/_common.scss +0 -75
  357. package/styles/styles/theme/base/_components.scss +0 -106
  358. package/styles/styles/theme/base/_mixins.scss +0 -343
  359. package/styles/styles/theme/base/components/button/_button.scss +0 -564
  360. package/styles/styles/theme/base/components/button/_speeddial.scss +0 -96
  361. package/styles/styles/theme/base/components/button/_splitbutton.scss +0 -381
  362. package/styles/styles/theme/base/components/data/_carousel.scss +0 -37
  363. package/styles/styles/theme/base/components/data/_datatable.scss +0 -338
  364. package/styles/styles/theme/base/components/data/_dataview.scss +0 -55
  365. package/styles/styles/theme/base/components/data/_filter.scss +0 -138
  366. package/styles/styles/theme/base/components/data/_orderlist.scss +0 -103
  367. package/styles/styles/theme/base/components/data/_organizationchart.scss +0 -50
  368. package/styles/styles/theme/base/components/data/_paginator.scss +0 -92
  369. package/styles/styles/theme/base/components/data/_picklist.scss +0 -103
  370. package/styles/styles/theme/base/components/data/_timeline.scss +0 -81
  371. package/styles/styles/theme/base/components/data/_tree.scss +0 -149
  372. package/styles/styles/theme/base/components/data/_treetable.scss +0 -256
  373. package/styles/styles/theme/base/components/data/_virtualscroller.scss +0 -28
  374. package/styles/styles/theme/base/components/file/_fileupload.scss +0 -64
  375. package/styles/styles/theme/base/components/input/_autocomplete.scss +0 -118
  376. package/styles/styles/theme/base/components/input/_calendar.scss +0 -263
  377. package/styles/styles/theme/base/components/input/_cascadeselect.scss +0 -130
  378. package/styles/styles/theme/base/components/input/_checkbox.scss +0 -90
  379. package/styles/styles/theme/base/components/input/_chips.scss +0 -55
  380. package/styles/styles/theme/base/components/input/_colorpicker.scss +0 -26
  381. package/styles/styles/theme/base/components/input/_dropdown.scss +0 -152
  382. package/styles/styles/theme/base/components/input/_editor.scss +0 -122
  383. package/styles/styles/theme/base/components/input/_inputgroup.scss +0 -75
  384. package/styles/styles/theme/base/components/input/_inputmask.scss +0 -16
  385. package/styles/styles/theme/base/components/input/_inputnumber.scss +0 -28
  386. package/styles/styles/theme/base/components/input/_inputswitch.scss +0 -60
  387. package/styles/styles/theme/base/components/input/_inputtext.scss +0 -100
  388. package/styles/styles/theme/base/components/input/_listbox.scss +0 -82
  389. package/styles/styles/theme/base/components/input/_multiselect.scss +0 -173
  390. package/styles/styles/theme/base/components/input/_password.scss +0 -52
  391. package/styles/styles/theme/base/components/input/_radiobutton.scss +0 -78
  392. package/styles/styles/theme/base/components/input/_rating.scss +0 -55
  393. package/styles/styles/theme/base/components/input/_selectbutton.scss +0 -50
  394. package/styles/styles/theme/base/components/input/_slider.scss +0 -71
  395. package/styles/styles/theme/base/components/input/_togglebutton.scss +0 -48
  396. package/styles/styles/theme/base/components/input/_treeselect.scss +0 -139
  397. package/styles/styles/theme/base/components/menu/_breadcrumb.scss +0 -42
  398. package/styles/styles/theme/base/components/menu/_contextmenu.scss +0 -39
  399. package/styles/styles/theme/base/components/menu/_dock.scss +0 -95
  400. package/styles/styles/theme/base/components/menu/_megamenu.scss +0 -55
  401. package/styles/styles/theme/base/components/menu/_menu.scss +0 -37
  402. package/styles/styles/theme/base/components/menu/_menubar.scss +0 -141
  403. package/styles/styles/theme/base/components/menu/_panelmenu.scss +0 -153
  404. package/styles/styles/theme/base/components/menu/_slidemenu.scss +0 -59
  405. package/styles/styles/theme/base/components/menu/_steps.scss +0 -56
  406. package/styles/styles/theme/base/components/menu/_tabmenu.scss +0 -74
  407. package/styles/styles/theme/base/components/menu/_tieredmenu.scss +0 -43
  408. package/styles/styles/theme/base/components/messages/_inlinemessage.scss +0 -69
  409. package/styles/styles/theme/base/components/messages/_message.scss +0 -107
  410. package/styles/styles/theme/base/components/messages/_toast.scss +0 -103
  411. package/styles/styles/theme/base/components/misc/_avatar.scss +0 -30
  412. package/styles/styles/theme/base/components/misc/_badge.scss +0 -48
  413. package/styles/styles/theme/base/components/misc/_blockui.scss +0 -0
  414. package/styles/styles/theme/base/components/misc/_chip.scss +0 -42
  415. package/styles/styles/theme/base/components/misc/_inplace.scss +0 -17
  416. package/styles/styles/theme/base/components/misc/_progressbar.scss +0 -17
  417. package/styles/styles/theme/base/components/misc/_scrolltop.scss +0 -25
  418. package/styles/styles/theme/base/components/misc/_skeleton.scss +0 -8
  419. package/styles/styles/theme/base/components/misc/_tag.scss +0 -40
  420. package/styles/styles/theme/base/components/misc/_terminal.scss +0 -12
  421. package/styles/styles/theme/base/components/multimedia/_galleria.scss +0 -155
  422. package/styles/styles/theme/base/components/multimedia/_image.scss +0 -49
  423. package/styles/styles/theme/base/components/overlay/_confirmpopup.scss +0 -72
  424. package/styles/styles/theme/base/components/overlay/_dialog.scss +0 -73
  425. package/styles/styles/theme/base/components/overlay/_overlaypanel.scss +0 -64
  426. package/styles/styles/theme/base/components/overlay/_sidebar.scss +0 -27
  427. package/styles/styles/theme/base/components/overlay/_tooltip.scss +0 -33
  428. package/styles/styles/theme/base/components/panel/_accordion.scss +0 -119
  429. package/styles/styles/theme/base/components/panel/_card.scss +0 -30
  430. package/styles/styles/theme/base/components/panel/_divider.scss +0 -31
  431. package/styles/styles/theme/base/components/panel/_fieldset.scss +0 -47
  432. package/styles/styles/theme/base/components/panel/_panel.scss +0 -58
  433. package/styles/styles/theme/base/components/panel/_scrollpanel.scss +0 -6
  434. package/styles/styles/theme/base/components/panel/_splitter.scss +0 -19
  435. package/styles/styles/theme/base/components/panel/_tabview.scss +0 -82
  436. package/styles/styles/theme/base/components/panel/_toolbar.scss +0 -11
  437. package/styles/styles/theme/saga/_extensions.scss +0 -27
  438. package/styles/styles/theme/saga/_variables.scss +0 -1
  439. package/styles/styles/theme/saga/saga-blue/_extensions.scss +0 -2
  440. package/styles/styles/theme/saga/saga-blue/_fonts.scss +0 -1
  441. package/styles/styles/theme/saga/saga-blue/_variables.scss +0 -1
  442. package/styles/styles/theme/saga/saga-blue/theme.scss +0 -4
@@ -1,57 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, EventEmitter, Input, Output } from '@angular/core';
3
- import { SpiderlyPanelsModule } from "../spiderly-panels/spiderly-panels.module";
4
- import { PrimengModule } from '../../modules/primeng.module';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "../spiderly-panels/panel-header/panel-header.component";
9
- import * as i4 from "../spiderly-panels/panel-body/panel-body.component";
10
- import * as i5 from "../spiderly-panels/spiderly-panel/spiderly-panel.component";
11
- export class IndexCardComponent {
12
- constructor(formBuilder) {
13
- this.formBuilder = formBuilder;
14
- this.header = '';
15
- this.showCrudMenu = true;
16
- this.onMenuIconClick = new EventEmitter();
17
- this.onRemoveIconClick = new EventEmitter();
18
- }
19
- ngOnInit() {
20
- // console.log(this.last);
21
- }
22
- menuIconClick(index) {
23
- this.onMenuIconClick.next(index);
24
- }
25
- removeIconClick() {
26
- this.onRemoveIconClick.next(null);
27
- }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IndexCardComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: IndexCardComponent, isStandalone: true, selector: "index-card", inputs: { last: "last", index: "index", header: "header", description: "description", showRemoveIcon: "showRemoveIcon", showCrudMenu: "showCrudMenu", crudMenu: "crudMenu" }, outputs: { onMenuIconClick: "onMenuIconClick", onRemoveIconClick: "onRemoveIconClick" }, ngImport: i0, template: "<div [ngClass]=\"{\r\n\t'last-child-zero-margin': last,\r\n 'card-margin-bottom': true,\r\n\t}\">\r\n\t<spiderly-panel [crudMenu]=\"crudMenu\" [showCrudMenu]=\"showCrudMenu\" (onMenuIconClick)=\"menuIconClick($event)\" [showRemoveIcon]=\"showRemoveIcon\" (onRemoveIconClick)=\"removeIconClick()\" [index]=\"index\">\r\n\t\t<panel-header [title]=\"header\" [index]=\"index\" [showIcon]=\"false\"></panel-header>\r\n\t\t\r\n\t\t<panel-body>\r\n\t\t\t<ng-content>\r\n\t\t\t\t<!-- Custom things below description -->\r\n\t\t\t</ng-content>\r\n\t\t</panel-body>\r\n\t\t\r\n\t</spiderly-panel>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: PrimengModule }, { kind: "ngmodule", type: SpiderlyPanelsModule }, { kind: "component", type: i3.PanelHeaderComponent, selector: "panel-header", inputs: ["title", "showBigTitle", "showIcon", "icon", "index", "tabs"] }, { kind: "component", type: i4.PanelBodyComponent, selector: "panel-body", inputs: ["normalBottomPadding"] }, { kind: "component", type: i5.SpiderlyPanelComponent, selector: "spiderly-panel", inputs: ["isFirstMultiplePanel", "isMiddleMultiplePanel", "isLastMultiplePanel", "toggleable", "collapsed", "crudMenu", "showCrudMenu", "showRemoveIcon", "index", "showPanelHeader"], outputs: ["onMenuIconClick", "onRemoveIconClick"] }] }); }
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IndexCardComponent, decorators: [{
32
- type: Component,
33
- args: [{ selector: 'index-card', standalone: true, imports: [
34
- CommonModule,
35
- PrimengModule,
36
- SpiderlyPanelsModule
37
- ], template: "<div [ngClass]=\"{\r\n\t'last-child-zero-margin': last,\r\n 'card-margin-bottom': true,\r\n\t}\">\r\n\t<spiderly-panel [crudMenu]=\"crudMenu\" [showCrudMenu]=\"showCrudMenu\" (onMenuIconClick)=\"menuIconClick($event)\" [showRemoveIcon]=\"showRemoveIcon\" (onRemoveIconClick)=\"removeIconClick()\" [index]=\"index\">\r\n\t\t<panel-header [title]=\"header\" [index]=\"index\" [showIcon]=\"false\"></panel-header>\r\n\t\t\r\n\t\t<panel-body>\r\n\t\t\t<ng-content>\r\n\t\t\t\t<!-- Custom things below description -->\r\n\t\t\t</ng-content>\r\n\t\t</panel-body>\r\n\t\t\r\n\t</spiderly-panel>\r\n</div>\r\n" }]
38
- }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { last: [{
39
- type: Input
40
- }], index: [{
41
- type: Input
42
- }], header: [{
43
- type: Input
44
- }], description: [{
45
- type: Input
46
- }], showRemoveIcon: [{
47
- type: Input
48
- }], showCrudMenu: [{
49
- type: Input
50
- }], crudMenu: [{
51
- type: Input
52
- }], onMenuIconClick: [{
53
- type: Output
54
- }], onRemoveIconClick: [{
55
- type: Output
56
- }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGlkZXJseS9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgtY2FyZC9pbmRleC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwaWRlcmx5L3NyYy9saWIvY29tcG9uZW50cy9pbmRleC1jYXJkL2luZGV4LWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7O0FBWTdELE1BQU0sT0FBTyxrQkFBa0I7SUFhM0IsWUFDYyxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVg3QixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBR3BCLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBSTVCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM3QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBTXZELENBQUM7SUFFRCxRQUFRO1FBQ0osMEJBQTBCO0lBQzlCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQzsrR0E3QlEsa0JBQWtCO21HQUFsQixrQkFBa0IsNlVDakIvQiw4bEJBZUEsMkNESEksWUFBWSw0SEFDWixhQUFhLDhCQUNiLG9CQUFvQjs7NEZBR1gsa0JBQWtCO2tCQVY5QixTQUFTOytCQUNJLFlBQVksY0FFVixJQUFJLFdBQ1A7d0JBQ1QsWUFBWTt3QkFDWixhQUFhO3dCQUNiLG9CQUFvQjtxQkFDdkI7Z0ZBR1ksSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgU3BpZGVybHlQYW5lbHNNb2R1bGUgfSBmcm9tIFwiLi4vc3BpZGVybHktcGFuZWxzL3NwaWRlcmx5LXBhbmVscy5tb2R1bGVcIjtcclxuaW1wb3J0IHsgUHJpbWVuZ01vZHVsZSB9IGZyb20gJy4uLy4uL21vZHVsZXMvcHJpbWVuZy5tb2R1bGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2luZGV4LWNhcmQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2luZGV4LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFByaW1lbmdNb2R1bGUsXHJcbiAgICBTcGlkZXJseVBhbmVsc01vZHVsZVxyXG5dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmRleENhcmRDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgbGFzdDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGluZGV4OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBoZWFkZXI6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHNob3dSZW1vdmVJY29uOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgc2hvd0NydWRNZW51OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKSBjcnVkTWVudTogTWVudUl0ZW1bXTtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25NZW51SWNvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25SZW1vdmVJY29uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPG51bGw+KCk7XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXHJcbiAgICApIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKXtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmxhc3QpO1xyXG4gICAgfVxyXG5cclxuICAgIG1lbnVJY29uQ2xpY2soaW5kZXg6IG51bWJlcil7XHJcbiAgICAgICAgdGhpcy5vbk1lbnVJY29uQ2xpY2submV4dChpbmRleCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlSWNvbkNsaWNrKCl7XHJcbiAgICAgICAgdGhpcy5vblJlbW92ZUljb25DbGljay5uZXh0KG51bGwpO1xyXG4gICAgfVxyXG5cclxufSIsIjxkaXYgW25nQ2xhc3NdPVwie1xyXG5cdCdsYXN0LWNoaWxkLXplcm8tbWFyZ2luJzogbGFzdCxcclxuICAgICdjYXJkLW1hcmdpbi1ib3R0b20nOiB0cnVlLFxyXG5cdH1cIj5cclxuXHQ8c3BpZGVybHktcGFuZWwgW2NydWRNZW51XT1cImNydWRNZW51XCIgW3Nob3dDcnVkTWVudV09XCJzaG93Q3J1ZE1lbnVcIiAob25NZW51SWNvbkNsaWNrKT1cIm1lbnVJY29uQ2xpY2soJGV2ZW50KVwiIFtzaG93UmVtb3ZlSWNvbl09XCJzaG93UmVtb3ZlSWNvblwiIChvblJlbW92ZUljb25DbGljayk9XCJyZW1vdmVJY29uQ2xpY2soKVwiIFtpbmRleF09XCJpbmRleFwiPlxyXG5cdFx0PHBhbmVsLWhlYWRlciBbdGl0bGVdPVwiaGVhZGVyXCIgW2luZGV4XT1cImluZGV4XCIgW3Nob3dJY29uXT1cImZhbHNlXCI+PC9wYW5lbC1oZWFkZXI+XHJcblx0XHRcclxuXHRcdDxwYW5lbC1ib2R5PlxyXG5cdFx0XHQ8bmctY29udGVudD5cclxuXHRcdFx0XHQ8IS0tIEN1c3RvbSB0aGluZ3MgYmVsb3cgZGVzY3JpcHRpb24gLS0+XHJcblx0XHRcdDwvbmctY29udGVudD5cclxuXHRcdDwvcGFuZWwtYm9keT5cclxuXHRcdFxyXG5cdDwvc3BpZGVybHktcGFuZWw+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,29 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, Input } from '@angular/core';
3
- import { SpiderlyPanelsModule } from "../spiderly-panels/spiderly-panels.module";
4
- import { PrimengModule } from '../../modules/primeng.module';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- export class InfoCardComponent {
8
- constructor(formBuilder) {
9
- this.formBuilder = formBuilder;
10
- this.header = '';
11
- }
12
- ngOnInit() {
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InfoCardComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InfoCardComponent, isStandalone: true, selector: "info-card", inputs: { header: "header", description: "description" }, ngImport: i0, template: "<div class=\"card responsive-card-padding\" style=\"background-color: var(--primary-lighter-color); position: relative; overflow: hidden;\">\r\n <!-- TODO FT: Translate -->\r\n <div style=\"display: flex; align-items: center; gap: 21px; position: relative; z-index: 2;\">\r\n <i class=\"pi pi-info-circle\" style=\"font-size: 26px; color: var(--primary-color);\"></i>\r\n <div>\r\n <div class=\"header\" style=\"color:var(--primary-color); font-weight: 600; text-align: left;\">\r\n {{header}}\r\n </div>\r\n <div style=\"color:var(--primary-color); text-align: left; margin-top: 8px;\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-overflow-icon\" style=\"position: absolute; overflow: hidden; right: 8px; top: -25px; z-index: 1;\">\r\n <i class=\"pi pi-info-circle\" style=\"font-size: 270px;\"></i>\r\n </div>\r\n </div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: PrimengModule }, { kind: "ngmodule", type: SpiderlyPanelsModule }] }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InfoCardComponent, decorators: [{
18
- type: Component,
19
- args: [{ selector: 'info-card', standalone: true, imports: [
20
- CommonModule,
21
- PrimengModule,
22
- SpiderlyPanelsModule
23
- ], template: "<div class=\"card responsive-card-padding\" style=\"background-color: var(--primary-lighter-color); position: relative; overflow: hidden;\">\r\n <!-- TODO FT: Translate -->\r\n <div style=\"display: flex; align-items: center; gap: 21px; position: relative; z-index: 2;\">\r\n <i class=\"pi pi-info-circle\" style=\"font-size: 26px; color: var(--primary-color);\"></i>\r\n <div>\r\n <div class=\"header\" style=\"color:var(--primary-color); font-weight: 600; text-align: left;\">\r\n {{header}}\r\n </div>\r\n <div style=\"color:var(--primary-color); text-align: left; margin-top: 8px;\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-overflow-icon\" style=\"position: absolute; overflow: hidden; right: 8px; top: -25px; z-index: 1;\">\r\n <i class=\"pi pi-info-circle\" style=\"font-size: 270px;\"></i>\r\n </div>\r\n </div>" }]
24
- }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { header: [{
25
- type: Input
26
- }], description: [{
27
- type: Input
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwaWRlcmx5L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWNhcmQvaW5mby1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwaWRlcmx5L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWNhcmQvaW5mby1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQVk3RCxNQUFNLE9BQU8saUJBQWlCO0lBSTFCLFlBQ2MsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFKdEIsV0FBTSxHQUFXLEVBQUUsQ0FBQztJQU9oQyxDQUFDO0lBRUwsUUFBUTtJQUNSLENBQUM7K0dBWFEsaUJBQWlCO21HQUFqQixpQkFBaUIsK0hDaEI5QixxOEJBaUJRLDJDRE5KLFlBQVksOEJBQ1osYUFBYSw4QkFDYixvQkFBb0I7OzRGQUdYLGlCQUFpQjtrQkFWN0IsU0FBUzsrQkFDSSxXQUFXLGNBRVQsSUFBSSxXQUNQO3dCQUNULFlBQVk7d0JBQ1osYUFBYTt3QkFDYixvQkFBb0I7cUJBQ3ZCO2dGQUdtQixNQUFNO3NCQUFyQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTcGlkZXJseVBhbmVsc01vZHVsZSB9IGZyb20gXCIuLi9zcGlkZXJseS1wYW5lbHMvc3BpZGVybHktcGFuZWxzLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBQcmltZW5nTW9kdWxlIH0gZnJvbSAnLi4vLi4vbW9kdWxlcy9wcmltZW5nLm1vZHVsZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaW5mby1jYXJkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbmZvLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFByaW1lbmdNb2R1bGUsXHJcbiAgICBTcGlkZXJseVBhbmVsc01vZHVsZVxyXG5dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvQ2FyZENvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgaGVhZGVyOiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxyXG4gICAgICAgICkge1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKXtcclxuICAgIH1cclxuXHJcbn0iLCI8ZGl2IGNsYXNzPVwiY2FyZCByZXNwb25zaXZlLWNhcmQtcGFkZGluZ1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1saWdodGVyLWNvbG9yKTsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuO1wiPlxyXG4gICAgPCEtLSBUT0RPIEZUOiBUcmFuc2xhdGUgLS0+XHJcbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAyMXB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDI7XCI+XHJcbiAgICAgIDxpIGNsYXNzPVwicGkgcGktaW5mby1jaXJjbGVcIiBzdHlsZT1cImZvbnQtc2l6ZTogMjZweDsgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1wiPjwvaT5cclxuICAgICAgPGRpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIiBzdHlsZT1cImNvbG9yOnZhcigtLXByaW1hcnktY29sb3IpOyBmb250LXdlaWdodDogNjAwOyB0ZXh0LWFsaWduOiBsZWZ0O1wiPlxyXG4gICAgICAgICAgICAgIHt7aGVhZGVyfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBzdHlsZT1cImNvbG9yOnZhcigtLXByaW1hcnktY29sb3IpOyB0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW4tdG9wOiA4cHg7XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLW92ZXJmbG93LWljb25cIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgcmlnaHQ6IDhweDsgdG9wOiAtMjVweDsgei1pbmRleDogMTtcIj5cclxuICAgICAgPGkgY2xhc3M9XCJwaSBwaS1pbmZvLWNpcmNsZVwiIHN0eWxlPVwiZm9udC1zaXplOiAyNzBweDtcIj48L2k+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj4iXX0=
@@ -1,121 +0,0 @@
1
- import { Component, ViewChild } from '@angular/core';
2
- import { NavigationEnd } from '@angular/router';
3
- import { filter } from 'rxjs';
4
- import { AppSidebarComponent } from './sidebar/sidebar.component';
5
- import { AppTopBarComponent } from './topbar/topbar.component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../services/app-layout-base.service";
8
- import * as i2 from "@angular/router";
9
- export class LayoutBaseComponent {
10
- constructor(layoutService, renderer, router) {
11
- this.layoutService = layoutService;
12
- this.renderer = renderer;
13
- this.router = router;
14
- this.onAfterNgDestroy = () => { };
15
- this.overlayMenuOpenSubscription = this.layoutService.overlayOpen$.subscribe(() => {
16
- if (!this.menuOutsideClickListener) {
17
- this.menuOutsideClickListener = this.renderer.listen('document', 'click', event => {
18
- const isOutsideClicked = !(this.appSidebar.el.nativeElement.isSameNode(event.target) ||
19
- this.appSidebar.el.nativeElement.contains(event.target) ||
20
- this.appTopbar.menuButton.nativeElement.isSameNode(event.target) ||
21
- this.appTopbar.menuButton.nativeElement.contains(event.target) ||
22
- (event.target.closest('.p-autocomplete-items')) ||
23
- (event.target.closest('.p-autocomplete-clear-icon')));
24
- if (isOutsideClicked) {
25
- this.hideMenu();
26
- }
27
- });
28
- }
29
- if (!this.profileMenuOutsideClickListener) {
30
- this.profileMenuOutsideClickListener = this.renderer.listen('document', 'click', event => {
31
- const isOutsideClicked = !(this.appTopbar.menu.nativeElement.isSameNode(event.target) ||
32
- this.appTopbar.menu.nativeElement.contains(event.target));
33
- if (isOutsideClicked) {
34
- this.hideProfileMenu();
35
- }
36
- });
37
- }
38
- if (this.layoutService.state.staticMenuMobileActive) {
39
- this.blockBodyScroll();
40
- }
41
- });
42
- this.router.events.pipe(filter(event => event instanceof NavigationEnd))
43
- .subscribe(() => {
44
- this.hideMenu();
45
- this.hideProfileMenu();
46
- });
47
- }
48
- hideMenu() {
49
- this.layoutService.state.overlayMenuActive = false;
50
- this.layoutService.state.staticMenuMobileActive = false;
51
- this.layoutService.state.menuHoverActive = false;
52
- if (this.menuOutsideClickListener) {
53
- this.menuOutsideClickListener();
54
- this.menuOutsideClickListener = null;
55
- }
56
- this.unblockBodyScroll();
57
- }
58
- hideProfileMenu() {
59
- this.layoutService.state.profileSidebarVisible = false;
60
- if (this.profileMenuOutsideClickListener) {
61
- this.profileMenuOutsideClickListener();
62
- this.profileMenuOutsideClickListener = null;
63
- }
64
- }
65
- blockBodyScroll() {
66
- if (document.body.classList) {
67
- document.body.classList.add('blocked-scroll');
68
- }
69
- else {
70
- document.body.className += ' blocked-scroll';
71
- }
72
- }
73
- unblockBodyScroll() {
74
- if (document.body.classList) {
75
- document.body.classList.remove('blocked-scroll');
76
- }
77
- else {
78
- document.body.className = document.body.className.replace(new RegExp('(^|\\b)' +
79
- 'blocked-scroll'.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
80
- }
81
- }
82
- get containerClass() {
83
- return {
84
- 'layout-theme-light': this.layoutService.layoutConfig.colorScheme === 'light',
85
- 'layout-theme-dark': this.layoutService.layoutConfig.colorScheme === 'dark',
86
- 'layout-overlay': this.layoutService.layoutConfig.menuMode === 'overlay',
87
- 'layout-static': this.layoutService.layoutConfig.menuMode === 'static',
88
- 'layout-static-inactive': this.layoutService.state.staticMenuDesktopInactive && this.layoutService.layoutConfig.menuMode === 'static',
89
- 'layout-overlay-active': this.layoutService.state.overlayMenuActive,
90
- 'layout-mobile-active': this.layoutService.state.staticMenuMobileActive,
91
- 'p-input-filled': this.layoutService.layoutConfig.inputStyle === 'filled',
92
- 'p-ripple-disabled': !this.layoutService.layoutConfig.ripple
93
- };
94
- }
95
- ngOnDestroy() {
96
- if (this.overlayMenuOpenSubscription) {
97
- this.overlayMenuOpenSubscription.unsubscribe();
98
- }
99
- if (this.menuOutsideClickListener) {
100
- this.menuOutsideClickListener();
101
- }
102
- this.onAfterNgDestroy();
103
- }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutBaseComponent, deps: [{ token: i1.LayoutBaseService }, { token: i0.Renderer2 }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LayoutBaseComponent, isStandalone: true, selector: "layout-base", viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopBarComponent, descendants: true }], ngImport: i0, template: '', isInline: true }); }
106
- }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutBaseComponent, decorators: [{
108
- type: Component,
109
- args: [{
110
- selector: 'layout-base',
111
- template: '',
112
- standalone: true
113
- }]
114
- }], ctorParameters: () => [{ type: i1.LayoutBaseService }, { type: i0.Renderer2 }, { type: i2.Router }], propDecorators: { appSidebar: [{
115
- type: ViewChild,
116
- args: [AppSidebarComponent]
117
- }], appTopbar: [{
118
- type: ViewChild,
119
- args: [AppTopBarComponent]
120
- }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BpZGVybHkvc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9sYXlvdXQtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBd0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQVEvRCxNQUFNLE9BQU8sbUJBQW1CO0lBWTVCLFlBQ2MsYUFBZ0MsRUFDaEMsUUFBbUIsRUFDbkIsTUFBYztRQUZkLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVE7UUE2RzVCLHFCQUFnQixHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQTtRQTNHdkIsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDOUUsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7b0JBQzlFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEtB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c0JBQXNCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsc0JBQXNCO1lBQ3ZFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFVBQVUsS0FBSyxRQUFRO1lBQ3pFLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTTtTQUMvRCxDQUFBO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUNsQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbEQ7UUFFRCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUMvQixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztTQUNuQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBMUhRLG1CQUFtQjttR0FBbkIsbUJBQW1CLG1IQVFqQixtQkFBbUIsNEVBRW5CLGtCQUFrQixnREFibkIsRUFBRTs7NEZBR0gsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsRUFBRTtvQkFDWixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7bUlBU21DLFVBQVU7c0JBQXpDLFNBQVM7dUJBQUMsbUJBQW1CO2dCQUVDLFNBQVM7c0JBQXZDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFwcFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBUb3BCYXJDb21wb25lbnQgfSBmcm9tICcuL3RvcGJhci90b3BiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGF5b3V0QmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHAtbGF5b3V0LWJhc2Uuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGF5b3V0LWJhc2UnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5b3V0QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gICAgb3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgbWVudU91dHNpZGVDbGlja0xpc3RlbmVyOiBhbnk7XHJcblxyXG4gICAgcHJvZmlsZU1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcjogYW55O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoQXBwU2lkZWJhckNvbXBvbmVudCkgYXBwU2lkZWJhciE6IEFwcFNpZGViYXJDb21wb25lbnQ7XHJcblxyXG4gICAgQFZpZXdDaGlsZChBcHBUb3BCYXJDb21wb25lbnQpIGFwcFRvcGJhciE6IEFwcFRvcEJhckNvbXBvbmVudDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgbGF5b3V0U2VydmljZTogTGF5b3V0QmFzZVNlcnZpY2UsIFxyXG4gICAgICAgIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyLCBcclxuICAgICAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLm92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbiA9IHRoaXMubGF5b3V0U2VydmljZS5vdmVybGF5T3BlbiQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCBldmVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNPdXRzaWRlQ2xpY2tlZCA9ICEoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwU2lkZWJhci5lbC5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBTaWRlYmFyLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcFRvcGJhci5tZW51QnV0dG9uLm5hdGl2ZUVsZW1lbnQuaXNTYW1lTm9kZShldmVudC50YXJnZXQpIHx8IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcFRvcGJhci5tZW51QnV0dG9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5wLWF1dG9jb21wbGV0ZS1pdGVtcycpKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5wLWF1dG9jb21wbGV0ZS1jbGVhci1pY29uJykpXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPdXRzaWRlQ2xpY2tlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVNZW51KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICghdGhpcy5wcm9maWxlTWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnByb2ZpbGVNZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCBldmVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNPdXRzaWRlQ2xpY2tlZCA9ICEoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwVG9wYmFyLm1lbnUubmF0aXZlRWxlbWVudC5pc1NhbWVOb2RlKGV2ZW50LnRhcmdldCkgfHwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwVG9wYmFyLm1lbnUubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3V0c2lkZUNsaWNrZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlUHJvZmlsZU1lbnUoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrQm9keVNjcm9sbCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lbnUoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZVByb2ZpbGVNZW51KCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGhpZGVNZW51KCkge1xyXG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5vdmVybGF5TWVudUFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm1lbnVIb3ZlckFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xyXG4gICAgICAgICAgICB0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcigpO1xyXG4gICAgICAgICAgICB0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudW5ibG9ja0JvZHlTY3JvbGwoKTtcclxuICAgIH1cclxuXHJcbiAgICBoaWRlUHJvZmlsZU1lbnUoKSB7XHJcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnByb2ZpbGVTaWRlYmFyVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLnByb2ZpbGVNZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5wcm9maWxlTWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XHJcbiAgICAgICAgICAgIHRoaXMucHJvZmlsZU1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJsb2NrQm9keVNjcm9sbCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QpIHtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdibG9ja2VkLXNjcm9sbCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgKz0gJyBibG9ja2VkLXNjcm9sbCc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVuYmxvY2tCb2R5U2Nyb2xsKCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNsYXNzTGlzdCkge1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2Jsb2NrZWQtc2Nyb2xsJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSA9IGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lLnJlcGxhY2UobmV3IFJlZ0V4cCgnKF58XFxcXGIpJyArXHJcbiAgICAgICAgICAgICAgICAnYmxvY2tlZC1zY3JvbGwnLnNwbGl0KCcgJykuam9pbignfCcpICsgJyhcXFxcYnwkKScsICdnaScpLCAnICcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29udGFpbmVyQ2xhc3MoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ2xheW91dC10aGVtZS1saWdodCc6IHRoaXMubGF5b3V0U2VydmljZS5sYXlvdXRDb25maWcuY29sb3JTY2hlbWUgPT09ICdsaWdodCcsXHJcbiAgICAgICAgICAgICdsYXlvdXQtdGhlbWUtZGFyayc6IHRoaXMubGF5b3V0U2VydmljZS5sYXlvdXRDb25maWcuY29sb3JTY2hlbWUgPT09ICdkYXJrJyxcclxuICAgICAgICAgICAgJ2xheW91dC1vdmVybGF5JzogdGhpcy5sYXlvdXRTZXJ2aWNlLmxheW91dENvbmZpZy5tZW51TW9kZSA9PT0gJ292ZXJsYXknLFxyXG4gICAgICAgICAgICAnbGF5b3V0LXN0YXRpYyc6IHRoaXMubGF5b3V0U2VydmljZS5sYXlvdXRDb25maWcubWVudU1vZGUgPT09ICdzdGF0aWMnLFxyXG4gICAgICAgICAgICAnbGF5b3V0LXN0YXRpYy1pbmFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51RGVza3RvcEluYWN0aXZlICYmIHRoaXMubGF5b3V0U2VydmljZS5sYXlvdXRDb25maWcubWVudU1vZGUgPT09ICdzdGF0aWMnLFxyXG4gICAgICAgICAgICAnbGF5b3V0LW92ZXJsYXktYWN0aXZlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm92ZXJsYXlNZW51QWN0aXZlLFxyXG4gICAgICAgICAgICAnbGF5b3V0LW1vYmlsZS1hY3RpdmUnOiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSxcclxuICAgICAgICAgICAgJ3AtaW5wdXQtZmlsbGVkJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmxheW91dENvbmZpZy5pbnB1dFN0eWxlID09PSAnZmlsbGVkJyxcclxuICAgICAgICAgICAgJ3AtcmlwcGxlLWRpc2FibGVkJzogIXRoaXMubGF5b3V0U2VydmljZS5sYXlvdXRDb25maWcucmlwcGxlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm9uQWZ0ZXJOZ0Rlc3Ryb3koKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkFmdGVyTmdEZXN0cm95ID0gKCkgPT4ge31cclxuICAgIFxyXG59XHJcblxyXG4iXX0=
@@ -1,161 +0,0 @@
1
- import { Component, HostBinding, Input } from '@angular/core';
2
- import { NavigationEnd } from '@angular/router';
3
- import { animate, state, style, transition, trigger } from '@angular/animations';
4
- import { filter } from 'rxjs/operators';
5
- import { SpiderlyFormControl } from '../../spiderly-form-control/spiderly-form-control';
6
- import { CommonModule } from '@angular/common';
7
- import { PrimengModule } from '../../../modules/primeng.module';
8
- import { SpiderlyControlsModule } from '../../../controls/spiderly-controls.module';
9
- import { TranslocoDirective } from '@jsverse/transloco';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../../../services/app-layout-base.service";
12
- import * as i2 from "@angular/router";
13
- import * as i3 from "./sidebar-menu.service";
14
- import * as i4 from "../../../services/auth-base.service";
15
- import * as i5 from "../../../services/api.service.security";
16
- import * as i6 from "../../../services/config-base.service";
17
- import * as i7 from "@angular/common";
18
- import * as i8 from "primeng/ripple";
19
- import * as i9 from "../../../controls/spiderly-autocomplete/spiderly-autocomplete.component";
20
- export class MenuitemComponent {
21
- constructor(layoutService, cd, router, menuService, authService, apiService, config) {
22
- this.layoutService = layoutService;
23
- this.cd = cd;
24
- this.router = router;
25
- this.menuService = menuService;
26
- this.authService = authService;
27
- this.apiService = apiService;
28
- this.config = config;
29
- this.active = false;
30
- this.permissionSubscription = null;
31
- this.key = "";
32
- this.selectedPartner = new SpiderlyFormControl(null, { updateOn: 'change' });
33
- this.partnersAutocompleteButtonClick = async () => {
34
- this.layoutService.partnersAutocompleteButtonClick(this.selectedPartner);
35
- };
36
- this.menuSourceSubscription = this.menuService.menuSource$.subscribe(value => {
37
- Promise.resolve(null).then(() => {
38
- if (value.routeEvent) {
39
- this.active = (value.key === this.key || value.key.startsWith(this.key + '-')) ? true : false;
40
- }
41
- else {
42
- if (value.key !== this.key && !value.key.startsWith(this.key + '-')) {
43
- this.active = false;
44
- }
45
- }
46
- });
47
- });
48
- this.menuResetSubscription = this.menuService.resetSource$.subscribe(() => {
49
- this.active = false;
50
- });
51
- this.router.events.pipe(filter(event => event instanceof NavigationEnd))
52
- .subscribe(params => {
53
- if (this.item.routerLink) {
54
- this.updateActiveStateFromRoute();
55
- }
56
- });
57
- }
58
- ngOnInit() {
59
- this.key = this.parentKey ? this.parentKey + '-' + this.index : String(this.index);
60
- if (this.item.routerLink) {
61
- this.updateActiveStateFromRoute();
62
- }
63
- this.permissionSubscription = this.authService.currentUserPermissionCodes$.subscribe((currentUserPermissionCodes) => {
64
- if (this.item && typeof this.item.hasPermission === 'function') {
65
- this.item.visible = this.item.hasPermission(currentUserPermissionCodes);
66
- }
67
- });
68
- }
69
- updateActiveStateFromRoute() {
70
- let activeRoute = this.router.isActive(this.item.routerLink[0], { paths: 'exact', queryParams: 'ignored', matrixParams: 'ignored', fragment: 'ignored' });
71
- if (activeRoute) {
72
- this.menuService.onMenuStateChange({ key: this.key, routeEvent: true });
73
- }
74
- }
75
- itemClick(event) {
76
- // avoid processing disabled items
77
- if (this.item.disabled || event === null) {
78
- event.preventDefault();
79
- return;
80
- }
81
- // execute command
82
- if (this.item.command) {
83
- this.item.command({ originalEvent: event, item: this.item });
84
- }
85
- // toggle active state
86
- if (this.item.items) {
87
- this.active = !this.active;
88
- }
89
- this.menuService.onMenuStateChange({ key: this.key });
90
- }
91
- get submenuAnimation() {
92
- return this.root ? 'expanded' : (this.active ? 'expanded' : 'collapsed');
93
- }
94
- get activeClass() {
95
- return this.active && !this.root;
96
- }
97
- //#region FT HACK: Partner
98
- searchPartners(event) {
99
- this.layoutService.searchPartners(event).subscribe(po => {
100
- this.partnerOptions = po;
101
- });
102
- }
103
- //#endregion
104
- ngOnDestroy() {
105
- if (this.menuSourceSubscription) {
106
- this.menuSourceSubscription.unsubscribe();
107
- }
108
- if (this.menuResetSubscription) {
109
- this.menuResetSubscription.unsubscribe();
110
- }
111
- if (this.permissionSubscription) {
112
- this.permissionSubscription.unsubscribe();
113
- }
114
- }
115
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MenuitemComponent, deps: [{ token: i1.LayoutBaseService }, { token: i0.ChangeDetectorRef }, { token: i2.Router }, { token: i3.SidebarMenuService }, { token: i4.AuthBaseService }, { token: i5.ApiSecurityService }, { token: i6.ConfigBaseService }], target: i0.ɵɵFactoryTarget.Component }); }
116
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MenuitemComponent, isStandalone: true, selector: "[menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, host: { properties: { "class.layout-root-menuitem": "this.root", "class.active-menuitem": "this.activeClass" } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div *ngIf=\"root && item.visible === true\" class=\"layout-menuitem-root-text\">{{item.label}}</div>\r\n <a *ngIf=\"(!item.routerLink || item.items) && item.visible === true\" [attr.href]=\"item.url\" (click)=\"itemClick($event)\"\r\n [ngClass]=\"item.styleClass\" [attr.target]=\"item.target\" tabindex=\"0\" pRipple>\r\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\r\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\r\n </a>\r\n <a *ngIf=\"(item.routerLink && !item.items) && item.visible === true\" (click)=\"itemClick($event)\" [ngClass]=\"item.styleClass\"\r\n [routerLink]=\"item.routerLink\" routerLinkActive=\"active-route\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{ paths: 'exact', queryParams: 'ignored', matrixParams: 'ignored', fragment: 'ignored' }\"\r\n [fragment]=\"item.fragment\" [queryParamsHandling]=\"item.queryParamsHandling\" [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\" [replaceUrl]=\"item.replaceUrl\" [state]=\"item.state\" [queryParams]=\"item.queryParams\"\r\n [attr.target]=\"item.target\" tabindex=\"0\" pRipple>\r\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\r\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\r\n </a>\r\n\r\n <ul *ngIf=\"item.items && item.visible === true\" [@children]=\"submenuAnimation\">\r\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\r\n <li menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeStyleClass\"></li>\r\n </ng-template>\r\n </ul>\r\n\r\n <!-- FT: Delete this in the future iterations, make link to partner in /partners page -->\r\n <spiderly-autocomplete\r\n *ngIf=\"item.showPartnerDialog\"\r\n [control]=\"selectedPartner\"\r\n [options]=\"partnerOptions\"\r\n (onTextInput)=\"searchPartners($event)\"\r\n label=\"\"\r\n [placeholder]=\"t('SelectThePartner')\"\r\n [showAddon]=\"true\"\r\n (onButtonClick)=\"partnersAutocompleteButtonClick()\"\r\n addonIcon=\"pi pi-check\"\r\n [emptyMessage]=\"t('LeftCornerPartnersEmptyMessage')\"\r\n class=\"mobile-stay-open\"\r\n ></spiderly-autocomplete>\r\n \r\n</ng-container>", dependencies: [{ kind: "component", type: MenuitemComponent, selector: "[menuitem]", inputs: ["item", "index", "root", "parentKey"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PrimengModule }, { kind: "directive", type: i8.Ripple, selector: "[pRipple]" }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: SpiderlyControlsModule }, { kind: "component", type: i9.SpiderlyAutocompleteComponent, selector: "spiderly-autocomplete", inputs: ["appendTo", "showClear", "emptyMessage", "displayName"] }], animations: [
117
- trigger('children', [
118
- state('collapsed', style({
119
- height: '0'
120
- })),
121
- state('expanded', style({
122
- height: '*'
123
- })),
124
- transition('collapsed <=> expanded', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))
125
- ])
126
- ] }); }
127
- }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MenuitemComponent, decorators: [{
129
- type: Component,
130
- args: [{ selector: '[menuitem]', animations: [
131
- trigger('children', [
132
- state('collapsed', style({
133
- height: '0'
134
- })),
135
- state('expanded', style({
136
- height: '*'
137
- })),
138
- transition('collapsed <=> expanded', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))
139
- ])
140
- ], standalone: true, imports: [
141
- CommonModule,
142
- PrimengModule,
143
- TranslocoDirective,
144
- SpiderlyControlsModule,
145
- ], template: "<ng-container *transloco=\"let t\">\r\n <div *ngIf=\"root && item.visible === true\" class=\"layout-menuitem-root-text\">{{item.label}}</div>\r\n <a *ngIf=\"(!item.routerLink || item.items) && item.visible === true\" [attr.href]=\"item.url\" (click)=\"itemClick($event)\"\r\n [ngClass]=\"item.styleClass\" [attr.target]=\"item.target\" tabindex=\"0\" pRipple>\r\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\r\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\r\n </a>\r\n <a *ngIf=\"(item.routerLink && !item.items) && item.visible === true\" (click)=\"itemClick($event)\" [ngClass]=\"item.styleClass\"\r\n [routerLink]=\"item.routerLink\" routerLinkActive=\"active-route\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{ paths: 'exact', queryParams: 'ignored', matrixParams: 'ignored', fragment: 'ignored' }\"\r\n [fragment]=\"item.fragment\" [queryParamsHandling]=\"item.queryParamsHandling\" [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\" [replaceUrl]=\"item.replaceUrl\" [state]=\"item.state\" [queryParams]=\"item.queryParams\"\r\n [attr.target]=\"item.target\" tabindex=\"0\" pRipple>\r\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\r\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\r\n </a>\r\n\r\n <ul *ngIf=\"item.items && item.visible === true\" [@children]=\"submenuAnimation\">\r\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\r\n <li menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeStyleClass\"></li>\r\n </ng-template>\r\n </ul>\r\n\r\n <!-- FT: Delete this in the future iterations, make link to partner in /partners page -->\r\n <spiderly-autocomplete\r\n *ngIf=\"item.showPartnerDialog\"\r\n [control]=\"selectedPartner\"\r\n [options]=\"partnerOptions\"\r\n (onTextInput)=\"searchPartners($event)\"\r\n label=\"\"\r\n [placeholder]=\"t('SelectThePartner')\"\r\n [showAddon]=\"true\"\r\n (onButtonClick)=\"partnersAutocompleteButtonClick()\"\r\n addonIcon=\"pi pi-check\"\r\n [emptyMessage]=\"t('LeftCornerPartnersEmptyMessage')\"\r\n class=\"mobile-stay-open\"\r\n ></spiderly-autocomplete>\r\n \r\n</ng-container>" }]
146
- }], ctorParameters: () => [{ type: i1.LayoutBaseService }, { type: i0.ChangeDetectorRef }, { type: i2.Router }, { type: i3.SidebarMenuService }, { type: i4.AuthBaseService }, { type: i5.ApiSecurityService }, { type: i6.ConfigBaseService }], propDecorators: { item: [{
147
- type: Input
148
- }], index: [{
149
- type: Input
150
- }], root: [{
151
- type: Input
152
- }, {
153
- type: HostBinding,
154
- args: ['class.layout-root-menuitem']
155
- }], parentKey: [{
156
- type: Input
157
- }], activeClass: [{
158
- type: HostBinding,
159
- args: ['class.active-menuitem']
160
- }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BpZGVybHkvc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9zaWRlYmFyL21lbnVpdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwaWRlcmx5L3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvc2lkZWJhci9tZW51aXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFNeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7QUF5QnhELE1BQU0sT0FBTyxpQkFBaUI7SUF3QjFCLFlBQ1csYUFBZ0MsRUFDL0IsRUFBcUIsRUFDdEIsTUFBYyxFQUNiLFdBQStCLEVBQy9CLFdBQTRCLEVBQzVCLFVBQThCLEVBQzlCLE1BQXlCO1FBTjFCLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUMvQixP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SyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7b0JBQ3JCLE1BQU0sRUFBRSxHQUFHO2lCQUNkLENBQUMsQ0FBQztnQkFDSCxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQztvQkFDcEIsTUFBTSxFQUFFLEdBQUc7aUJBQ2QsQ0FBQyxDQUFDO2dCQUNILFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQzthQUN4RixDQUFDO1NBQ0w7OzRGQVNRLGlCQUFpQjtrQkF2QjdCLFNBQVM7K0JBRUksWUFBWSxjQUVWO3dCQUNSLE9BQU8sQ0FBQyxVQUFVLEVBQUU7NEJBQ2hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2dDQUNyQixNQUFNLEVBQUUsR0FBRzs2QkFDZCxDQUFDLENBQUM7NEJBQ0gsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUM7Z0NBQ3BCLE1BQU0sRUFBRSxHQUFHOzZCQUNkLENBQUMsQ0FBQzs0QkFDSCxVQUFVLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7eUJBQ3hGLENBQUM7cUJBQ0wsY0FDVyxJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3FCQUN6QjsyUUFJUSxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUU4QyxJQUFJO3NCQUF2RCxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLDRCQUE0QjtnQkFFekMsU0FBUztzQkFBakIsS0FBSztnQkFpR0YsV0FBVztzQkFEZCxXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFNpZGViYXJNZW51U2VydmljZSB9IGZyb20gJy4vc2lkZWJhci1tZW51LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTcGlkZXJseU1lbnVJdGVtIH0gZnJvbSAnLi9zaWRlYmFyLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlQ29tcGxldGVFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgU3BpZGVybHlGb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uL3NwaWRlcmx5LWZvcm0tY29udHJvbC9zcGlkZXJseS1mb3JtLWNvbnRyb2wnO1xyXG5pbXBvcnQgeyBQcmltZW5nT3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZW50aXRpZXMvcHJpbWVuZy1vcHRpb24nO1xyXG5pbXBvcnQgeyBMYXlvdXRCYXNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcC1sYXlvdXQtYmFzZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC1iYXNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlTZWN1cml0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcGkuc2VydmljZS5zZWN1cml0eSc7XHJcbmltcG9ydCB7IENvbmZpZ0Jhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29uZmlnLWJhc2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFByaW1lbmdNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9tb2R1bGVzL3ByaW1lbmcubW9kdWxlJztcclxuaW1wb3J0IHsgU3BpZGVybHlDb250cm9sc01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbnRyb2xzL3NwaWRlcmx5LWNvbnRyb2xzLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRyYW5zbG9jb0RpcmVjdGl2ZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgICBzZWxlY3RvcjogJ1ttZW51aXRlbV0nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnVpdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICAgIGFuaW1hdGlvbnM6IFtcclxuICAgICAgICB0cmlnZ2VyKCdjaGlsZHJlbicsIFtcclxuICAgICAgICAgICAgc3RhdGUoJ2NvbGxhcHNlZCcsIHN0eWxlKHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJzAnXHJcbiAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgc3RhdGUoJ2V4cGFuZGVkJywgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnKidcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdjb2xsYXBzZWQgPD0+IGV4cGFuZGVkJywgYW5pbWF0ZSgnNDAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJykpXHJcbiAgICAgICAgXSlcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBQcmltZW5nTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcclxuICAgICAgICBTcGlkZXJseUNvbnRyb2xzTW9kdWxlLFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudWl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgQElucHV0KCkgaXRlbTogU3BpZGVybHlNZW51SXRlbTtcclxuXHJcbiAgICBASW5wdXQoKSBpbmRleCE6IG51bWJlcjtcclxuXHJcbiAgICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzLmxheW91dC1yb290LW1lbnVpdGVtJykgcm9vdCE6IGJvb2xlYW47XHJcblxyXG4gICAgQElucHV0KCkgcGFyZW50S2V5ITogc3RyaW5nO1xyXG5cclxuICAgIGFjdGl2ZSA9IGZhbHNlO1xyXG5cclxuICAgIHByaXZhdGUgbWVudVNvdXJjZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIHByaXZhdGUgbWVudVJlc2V0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgcHJpdmF0ZSBwZXJtaXNzaW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBrZXk6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgc2VsZWN0ZWRQYXJ0bmVyOiBTcGlkZXJseUZvcm1Db250cm9sID0gbmV3IFNwaWRlcmx5Rm9ybUNvbnRyb2w8c3RyaW5nPihudWxsLCB7IHVwZGF0ZU9uOiAnY2hhbmdlJyB9KTtcclxuXHJcbiAgICBwYXJ0bmVyT3B0aW9uczogUHJpbWVuZ09wdGlvbltdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRCYXNlU2VydmljZSwgXHJcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIFxyXG4gICAgICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlciwgXHJcbiAgICAgICAgcHJpdmF0ZSBtZW51U2VydmljZTogU2lkZWJhck1lbnVTZXJ2aWNlLCBcclxuICAgICAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoQmFzZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZWN1cml0eVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ0Jhc2VTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLm1lbnVTb3VyY2VTdWJzY3JpcHRpb24gPSB0aGlzLm1lbnVTZXJ2aWNlLm1lbnVTb3VyY2UkLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5yb3V0ZUV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSAodmFsdWUua2V5ID09PSB0aGlzLmtleSB8fCB2YWx1ZS5rZXkuc3RhcnRzV2l0aCh0aGlzLmtleSArICctJykpID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlLmtleSAhPT0gdGhpcy5rZXkgJiYgIXZhbHVlLmtleS5zdGFydHNXaXRoKHRoaXMua2V5ICsgJy0nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMubWVudVJlc2V0U3Vic2NyaXB0aW9uID0gdGhpcy5tZW51U2VydmljZS5yZXNldFNvdXJjZSQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW0ucm91dGVyTGluaykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5rZXkgPSB0aGlzLnBhcmVudEtleSA/IHRoaXMucGFyZW50S2V5ICsgJy0nICsgdGhpcy5pbmRleCA6IFN0cmluZyh0aGlzLmluZGV4KTtcclxuICAgICAgICBcclxuICAgICAgICBpZiAodGhpcy5pdGVtLnJvdXRlckxpbmspIHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVTdGF0ZUZyb21Sb3V0ZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9uU3Vic2NyaXB0aW9uID0gdGhpcy5hdXRoU2VydmljZS5jdXJyZW50VXNlclBlcm1pc3Npb25Db2RlcyQuc3Vic2NyaWJlKChjdXJyZW50VXNlclBlcm1pc3Npb25Db2Rlczogc3RyaW5nW10pID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXRlbSAmJiB0eXBlb2YgdGhpcy5pdGVtLmhhc1Blcm1pc3Npb24gPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbS52aXNpYmxlID0gdGhpcy5pdGVtLmhhc1Blcm1pc3Npb24oY3VycmVudFVzZXJQZXJtaXNzaW9uQ29kZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKSB7XHJcbiAgICAgICAgbGV0IGFjdGl2ZVJvdXRlID0gdGhpcy5yb3V0ZXIuaXNBY3RpdmUodGhpcy5pdGVtLnJvdXRlckxpbmtbMF0sIHsgcGF0aHM6ICdleGFjdCcsIHF1ZXJ5UGFyYW1zOiAnaWdub3JlZCcsIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnLCBmcmFnbWVudDogJ2lnbm9yZWQnIH0pO1xyXG5cclxuICAgICAgICBpZiAoYWN0aXZlUm91dGUpIHtcclxuICAgICAgICAgICAgdGhpcy5tZW51U2VydmljZS5vbk1lbnVTdGF0ZUNoYW5nZSh7IGtleTogdGhpcy5rZXksIHJvdXRlRXZlbnQ6IHRydWUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGl0ZW1DbGljayhldmVudDogRXZlbnQpIHtcclxuICAgICAgICAvLyBhdm9pZCBwcm9jZXNzaW5nIGRpc2FibGVkIGl0ZW1zXHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbS5kaXNhYmxlZCB8fCBldmVudCA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBleGVjdXRlIGNvbW1hbmRcclxuICAgICAgICBpZiAodGhpcy5pdGVtLmNvbW1hbmQpIHtcclxuICAgICAgICAgICAgdGhpcy5pdGVtLmNvbW1hbmQoeyBvcmlnaW5hbEV2ZW50OiBldmVudCwgaXRlbTogdGhpcy5pdGVtIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gdG9nZ2xlIGFjdGl2ZSBzdGF0ZVxyXG4gICAgICAgIGlmICh0aGlzLml0ZW0uaXRlbXMpIHtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSAhdGhpcy5hY3RpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMubWVudVNlcnZpY2Uub25NZW51U3RhdGVDaGFuZ2UoeyBrZXk6IHRoaXMua2V5IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzdWJtZW51QW5pbWF0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvb3QgPyAnZXhwYW5kZWQnIDogKHRoaXMuYWN0aXZlID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZS1tZW51aXRlbScpIFxyXG4gICAgZ2V0IGFjdGl2ZUNsYXNzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZSAmJiAhdGhpcy5yb290O1xyXG4gICAgfVxyXG5cclxuICAgIC8vI3JlZ2lvbiBGVCBIQUNLOiBQYXJ0bmVyXHJcblxyXG4gICAgc2VhcmNoUGFydG5lcnMoZXZlbnQ6IEF1dG9Db21wbGV0ZUNvbXBsZXRlRXZlbnQpIHtcclxuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc2VhcmNoUGFydG5lcnMoZXZlbnQpLnN1YnNjcmliZShwbyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucGFydG5lck9wdGlvbnMgPSBwbzsgICAgXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBwYXJ0bmVyc0F1dG9jb21wbGV0ZUJ1dHRvbkNsaWNrID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5wYXJ0bmVyc0F1dG9jb21wbGV0ZUJ1dHRvbkNsaWNrKHRoaXMuc2VsZWN0ZWRQYXJ0bmVyKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5tZW51U291cmNlU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVudVNvdXJjZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMubWVudVJlc2V0U3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVudVJlc2V0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5wZXJtaXNzaW9uU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxyXG4gICAgPGRpdiAqbmdJZj1cInJvb3QgJiYgaXRlbS52aXNpYmxlID09PSB0cnVlXCIgY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0tcm9vdC10ZXh0XCI+e3tpdGVtLmxhYmVsfX08L2Rpdj5cclxuICAgIDxhICpuZ0lmPVwiKCFpdGVtLnJvdXRlckxpbmsgfHwgaXRlbS5pdGVtcykgJiYgaXRlbS52aXNpYmxlID09PSB0cnVlXCIgW2F0dHIuaHJlZl09XCJpdGVtLnVybFwiIChjbGljayk9XCJpdGVtQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICBbbmdDbGFzc109XCJpdGVtLnN0eWxlQ2xhc3NcIiBbYXR0ci50YXJnZXRdPVwiaXRlbS50YXJnZXRcIiB0YWJpbmRleD1cIjBcIiBwUmlwcGxlPlxyXG4gICAgICAgIDxpIFtuZ0NsYXNzXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLWljb25cIj48L2k+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0tdGV4dFwiPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxyXG4gICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktYW5nbGUtZG93biBsYXlvdXQtc3VibWVudS10b2dnbGVyXCIgKm5nSWY9XCJpdGVtLml0ZW1zXCI+PC9pPlxyXG4gICAgPC9hPlxyXG4gICAgPGEgKm5nSWY9XCIoaXRlbS5yb3V0ZXJMaW5rICYmICFpdGVtLml0ZW1zKSAmJiBpdGVtLnZpc2libGUgPT09IHRydWVcIiAoY2xpY2spPVwiaXRlbUNsaWNrKCRldmVudClcIiBbbmdDbGFzc109XCJpdGVtLnN0eWxlQ2xhc3NcIlxyXG4gICAgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZS1yb3V0ZVwiIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJpdGVtLnJvdXRlckxpbmtBY3RpdmVPcHRpb25zfHx7IHBhdGhzOiAnZXhhY3QnLCBxdWVyeVBhcmFtczogJ2lnbm9yZWQnLCBtYXRyaXhQYXJhbXM6ICdpZ25vcmVkJywgZnJhZ21lbnQ6ICdpZ25vcmVkJyB9XCJcclxuICAgIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCIgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwiaXRlbS5xdWVyeVBhcmFtc0hhbmRsaW5nXCIgW3ByZXNlcnZlRnJhZ21lbnRdPVwiaXRlbS5wcmVzZXJ2ZUZyYWdtZW50XCJcclxuICAgIFtza2lwTG9jYXRpb25DaGFuZ2VdPVwiaXRlbS5za2lwTG9jYXRpb25DaGFuZ2VcIiBbcmVwbGFjZVVybF09XCJpdGVtLnJlcGxhY2VVcmxcIiBbc3RhdGVdPVwiaXRlbS5zdGF0ZVwiIFtxdWVyeVBhcmFtc109XCJpdGVtLnF1ZXJ5UGFyYW1zXCJcclxuICAgIFthdHRyLnRhcmdldF09XCJpdGVtLnRhcmdldFwiIHRhYmluZGV4PVwiMFwiIHBSaXBwbGU+XHJcbiAgICAgICAgPGkgW25nQ2xhc3NdPVwiaXRlbS5pY29uXCIgY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0taWNvblwiPjwvaT5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImxheW91dC1tZW51aXRlbS10ZXh0XCI+e3tpdGVtLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1hbmdsZS1kb3duIGxheW91dC1zdWJtZW51LXRvZ2dsZXJcIiAqbmdJZj1cIml0ZW0uaXRlbXNcIj48L2k+XHJcbiAgICA8L2E+XHJcblxyXG4gICAgPHVsICpuZ0lmPVwiaXRlbS5pdGVtcyAmJiBpdGVtLnZpc2libGUgPT09IHRydWVcIiBbQGNoaWxkcmVuXT1cInN1Ym1lbnVBbmltYXRpb25cIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWNoaWxkIGxldC1pPVwiaW5kZXhcIiBbbmdGb3JPZl09XCJpdGVtLml0ZW1zXCI+XHJcbiAgICAgICAgICAgIDxsaSBtZW51aXRlbSBbaXRlbV09XCJjaGlsZFwiIFtpbmRleF09XCJpXCIgW3BhcmVudEtleV09XCJrZXlcIiBbY2xhc3NdPVwiY2hpbGQuYmFkZ2VTdHlsZUNsYXNzXCI+PC9saT5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC91bD5cclxuXHJcbiAgICA8IS0tIEZUOiBEZWxldGUgdGhpcyBpbiB0aGUgZnV0dXJlIGl0ZXJhdGlvbnMsIG1ha2UgbGluayB0byBwYXJ0bmVyIGluIC9wYXJ0bmVycyBwYWdlIC0tPlxyXG4gICAgPHNwaWRlcmx5LWF1dG9jb21wbGV0ZVxyXG4gICAgKm5nSWY9XCJpdGVtLnNob3dQYXJ0bmVyRGlhbG9nXCJcclxuICAgIFtjb250cm9sXT1cInNlbGVjdGVkUGFydG5lclwiXHJcbiAgICBbb3B0aW9uc109XCJwYXJ0bmVyT3B0aW9uc1wiXHJcbiAgICAob25UZXh0SW5wdXQpPVwic2VhcmNoUGFydG5lcnMoJGV2ZW50KVwiXHJcbiAgICBsYWJlbD1cIlwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwidCgnU2VsZWN0VGhlUGFydG5lcicpXCJcclxuICAgIFtzaG93QWRkb25dPVwidHJ1ZVwiXHJcbiAgICAob25CdXR0b25DbGljayk9XCJwYXJ0bmVyc0F1dG9jb21wbGV0ZUJ1dHRvbkNsaWNrKClcIlxyXG4gICAgYWRkb25JY29uPVwicGkgcGktY2hlY2tcIlxyXG4gICAgW2VtcHR5TWVzc2FnZV09XCJ0KCdMZWZ0Q29ybmVyUGFydG5lcnNFbXB0eU1lc3NhZ2UnKVwiXHJcbiAgICBjbGFzcz1cIm1vYmlsZS1zdGF5LW9wZW5cIlxyXG4gICAgPjwvc3BpZGVybHktYXV0b2NvbXBsZXRlPlxyXG4gICAgIFxyXG48L25nLWNvbnRhaW5lcj4iXX0=
@@ -1,34 +0,0 @@
1
- import { Input } from '@angular/core';
2
- import { Component } from '@angular/core';
3
- import { MenuitemComponent } from './menuitem.component';
4
- import { CommonModule } from '@angular/common';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../services/app-layout-base.service";
7
- import * as i2 from "../../../services/auth-base.service";
8
- import * as i3 from "@jsverse/transloco";
9
- import * as i4 from "../../../services/config-base.service";
10
- import * as i5 from "@angular/common";
11
- export class SidebarMenuComponent {
12
- constructor(layoutService, authService, translocoService, config) {
13
- this.layoutService = layoutService;
14
- this.authService = authService;
15
- this.translocoService = translocoService;
16
- this.config = config;
17
- }
18
- ngOnInit() {
19
- }
20
- ngOnDestroy() {
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarMenuComponent, deps: [{ token: i1.LayoutBaseService }, { token: i2.AuthBaseService }, { token: i3.TranslocoService }, { token: i4.ConfigBaseService }], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SidebarMenuComponent, isStandalone: true, selector: "sidebar-menu", inputs: { menu: "menu" }, ngImport: i0, template: "<ul class=\"layout-menu\">\r\n <ng-container *ngFor=\"let item of menu; let i = index;\">\r\n <li menuitem *ngIf=\"!item.separator\" [item]=\"item\" [index]=\"i\" [root]=\"true\"></li>\r\n <li *ngIf=\"item.separator\" class=\"gray-separator\" style=\"margin-top: 11px;\"></li>\r\n </ng-container>\r\n</ul>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MenuitemComponent, selector: "[menuitem]", inputs: ["item", "index", "root", "parentKey"] }] }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarMenuComponent, decorators: [{
26
- type: Component,
27
- args: [{ selector: 'sidebar-menu', standalone: true, imports: [
28
- CommonModule,
29
- MenuitemComponent
30
- ], template: "<ul class=\"layout-menu\">\r\n <ng-container *ngFor=\"let item of menu; let i = index;\">\r\n <li menuitem *ngIf=\"!item.separator\" [item]=\"item\" [index]=\"i\" [root]=\"true\"></li>\r\n <li *ngIf=\"item.separator\" class=\"gray-separator\" style=\"margin-top: 11px;\"></li>\r\n </ng-container>\r\n</ul>\r\n" }]
31
- }], ctorParameters: () => [{ type: i1.LayoutBaseService }, { type: i2.AuthBaseService }, { type: i3.TranslocoService }, { type: i4.ConfigBaseService }], propDecorators: { menu: [{
32
- type: Input
33
- }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwaWRlcmx5L3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvc2lkZWJhci9zaWRlYmFyLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BpZGVybHkvc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9zaWRlYmFyL3NpZGViYXItbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBZ0IvQyxNQUFNLE9BQU8sb0JBQW9CO0lBRzdCLFlBQ1csYUFBZ0MsRUFDL0IsV0FBNEIsRUFDNUIsZ0JBQWtDLEVBQ2xDLE1BQXlCO1FBSDFCLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtJQUdyQyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFHRCxXQUFXO0lBRVgsQ0FBQzsrR0FsQlEsb0JBQW9CO21HQUFwQixvQkFBb0Isa0dDeEJqQywyVUFNQSwyQ0RjUSxZQUFZLGdRQUNaLGlCQUFpQjs7NEZBR1osb0JBQW9CO2tCQVRoQyxTQUFTOytCQUNJLGNBQWMsY0FFWixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixpQkFBaUI7cUJBQ3BCO21MQUdRLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xyXG5pbXBvcnQgeyBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgTGF5b3V0QmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcHAtbGF5b3V0LWJhc2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhCYXNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgtYmFzZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uZmlnQmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb25maWctYmFzZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVudWl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21lbnVpdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNwaWRlcmx5TWVudUl0ZW0gZXh0ZW5kcyBNZW51SXRlbXtcclxuICAgIGhhc1Blcm1pc3Npb24/OiAocGVybWlzc2lvbkNvZGVzOiBzdHJpbmdbXSkgPT4gYm9vbGVhbjtcclxuICAgIHNob3dQYXJ0bmVyRGlhbG9nPzogYm9vbGVhbjsgXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzaWRlYmFyLW1lbnUnLCAvLyBGVDogRG9uJ3QgY2hhbmUgc2VsZWN0b3IgdG8gJ21lbnUnLCBiZWNhdXNlIG90aGVyIHN0eWxlIHdpbGwgYXBwbHkgdG8gaXRcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaWRlYmFyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgTWVudWl0ZW1Db21wb25lbnRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZGViYXJNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIG1lbnU6IFNwaWRlcmx5TWVudUl0ZW1bXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0QmFzZVNlcnZpY2UsIFxyXG4gICAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhCYXNlU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ0Jhc2VTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG4iLCI8dWwgY2xhc3M9XCJsYXlvdXQtbWVudVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51OyBsZXQgaSA9IGluZGV4O1wiPlxyXG4gICAgICAgIDxsaSBtZW51aXRlbSAqbmdJZj1cIiFpdGVtLnNlcGFyYXRvclwiIFtpdGVtXT1cIml0ZW1cIiBbaW5kZXhdPVwiaVwiIFtyb290XT1cInRydWVcIj48L2xpPlxyXG4gICAgICAgIDxsaSAqbmdJZj1cIml0ZW0uc2VwYXJhdG9yXCIgY2xhc3M9XCJncmF5LXNlcGFyYXRvclwiIHN0eWxlPVwibWFyZ2luLXRvcDogMTFweDtcIj48L2xpPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvdWw+XHJcbiJdfQ==
@@ -1,26 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class SidebarMenuService {
5
- constructor() {
6
- this.menuSource = new Subject();
7
- this.resetSource = new Subject();
8
- this.menuSource$ = this.menuSource.asObservable();
9
- this.resetSource$ = this.resetSource.asObservable();
10
- }
11
- onMenuStateChange(event) {
12
- this.menuSource.next(event);
13
- }
14
- reset() {
15
- this.resetSource.next(true);
16
- }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarMenuService, providedIn: 'root' }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarMenuService, decorators: [{
21
- type: Injectable,
22
- args: [{
23
- providedIn: 'root'
24
- }]
25
- }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGlkZXJseS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L3NpZGViYXIvc2lkZWJhci1tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU0vQixNQUFNLE9BQU8sa0JBQWtCO0lBSC9CO1FBSVksZUFBVSxHQUFHLElBQUksT0FBTyxFQUFtQixDQUFDO1FBQzVDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVwQyxnQkFBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0MsaUJBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0tBU2xEO0lBUEcsaUJBQWlCLENBQUMsS0FBc0I7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDOytHQWJRLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmYsTUFBTTs7NEZBRVQsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNZW51Q2hhbmdlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9lbnRpdGllcy9tZW51Y2hhbmdlZXZlbnQnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWRlYmFyTWVudVNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBtZW51U291cmNlID0gbmV3IFN1YmplY3Q8TWVudUNoYW5nZUV2ZW50PigpO1xyXG4gICAgcHJpdmF0ZSByZXNldFNvdXJjZSA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gICAgbWVudVNvdXJjZSQgPSB0aGlzLm1lbnVTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICByZXNldFNvdXJjZSQgPSB0aGlzLnJlc2V0U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIG9uTWVudVN0YXRlQ2hhbmdlKGV2ZW50OiBNZW51Q2hhbmdlRXZlbnQpIHtcclxuICAgICAgICB0aGlzLm1lbnVTb3VyY2UubmV4dChldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzZXQoKSB7XHJcbiAgICAgICAgdGhpcy5yZXNldFNvdXJjZS5uZXh0KHRydWUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,21 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { SidebarMenuComponent } from './sidebar-menu.component';
3
- import * as i0 from "@angular/core";
4
- export class AppSidebarComponent {
5
- constructor(el) {
6
- this.el = el;
7
- }
8
- ngOnInit() {
9
- }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppSidebarComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AppSidebarComponent, isStandalone: true, selector: "sidebar", inputs: { menu: "menu" }, ngImport: i0, template: " <sidebar-menu [menu]=\"menu\"></sidebar-menu>\r\n", dependencies: [{ kind: "component", type: SidebarMenuComponent, selector: "sidebar-menu", inputs: ["menu"] }] }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppSidebarComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: 'sidebar', standalone: true, imports: [
16
- SidebarMenuComponent
17
- ], template: " <sidebar-menu [menu]=\"menu\"></sidebar-menu>\r\n" }]
18
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { menu: [{
19
- type: Input
20
- }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGlkZXJseS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGlkZXJseS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQW9CLE1BQU0sMEJBQTBCLENBQUM7O0FBVWxGLE1BQU0sT0FBTyxtQkFBbUI7SUFHNUIsWUFBbUIsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7SUFDakMsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDOytHQVBRLG1CQUFtQjttR0FBbkIsbUJBQW1CLDZGQ1hoQyxvREFDQSw0Q0RPUSxvQkFBb0I7OzRGQUdmLG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDSSxTQUFTLGNBRVAsSUFBSSxXQUNQO3dCQUNMLG9CQUFvQjtxQkFDdkI7K0VBR1EsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTaWRlYmFyTWVudUNvbXBvbmVudCwgU3BpZGVybHlNZW51SXRlbSB9IGZyb20gJy4vc2lkZWJhci1tZW51LmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2lkZWJhcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIFNpZGViYXJNZW51Q29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBTaWRlYmFyQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIG1lbnU6IFNwaWRlcmx5TWVudUl0ZW1bXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYpIHsgXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKXtcclxuICAgIH1cclxufVxyXG5cclxuIiwiIDxzaWRlYmFyLW1lbnUgW21lbnVdPVwibWVudVwiPjwvc2lkZWJhci1tZW51PlxyXG4iXX0=