@rxap/layout 19.0.4-dev.5 → 19.1.0-dev.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 (251) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/compodoc/changelog.html +10 -0
  3. package/compodoc/components/AppsButtonComponent.html +33 -1
  4. package/compodoc/components/DefaultHeaderComponent.html +66 -2
  5. package/compodoc/components/FooterComponent.html +33 -1
  6. package/compodoc/components/HeaderComponent.html +33 -1
  7. package/compodoc/components/LayoutComponent.html +33 -1
  8. package/compodoc/components/NavigationComponent.html +100 -4
  9. package/compodoc/components/NavigationItemComponent.html +165 -5
  10. package/compodoc/components/ReleaseInfoComponent.html +33 -1
  11. package/compodoc/components/SettingsButtonComponent.html +33 -1
  12. package/compodoc/components/SidenavComponent.html +176 -46
  13. package/compodoc/components/SidenavToggleButtonComponent.html +33 -1
  14. package/compodoc/components/UserProfileIconComponent.html +72 -2
  15. package/compodoc/injectables/LayoutService.html +67 -27
  16. package/compodoc/injectables/LogoService.html +10 -7
  17. package/compodoc/js/search/search_index.js +2 -2
  18. package/compodoc/miscellaneous/functions.html +6 -6
  19. package/compodoc/miscellaneous/variables.html +46 -0
  20. package/compodoc/properties.html +1 -1
  21. package/docs/documentation.json +2354 -1470
  22. package/docs/html/assets/navigation.js +1 -1
  23. package/docs/html/assets/search.js +1 -1
  24. package/docs/html/classes/AppsButtonComponent.html +5 -4
  25. package/docs/html/classes/BaseLayoutComponent.html +2 -2
  26. package/docs/html/classes/DefaultHeaderComponent.html +4 -2
  27. package/docs/html/classes/DefaultHeaderService.html +5 -5
  28. package/docs/html/classes/ExternalAppsService.html +2 -2
  29. package/docs/html/classes/FooterComponent.html +4 -3
  30. package/docs/html/classes/FooterDirective.html +3 -3
  31. package/docs/html/classes/FooterService.html +5 -5
  32. package/docs/html/classes/HeaderComponent.html +3 -2
  33. package/docs/html/classes/HeaderDirective.html +3 -3
  34. package/docs/html/classes/HeaderService.html +5 -5
  35. package/docs/html/classes/LayoutComponent.html +3 -2
  36. package/docs/html/classes/LayoutService.html +2 -2
  37. package/docs/html/classes/LogoService.html +2 -2
  38. package/docs/html/classes/MinimalLayoutComponent.html +2 -2
  39. package/docs/html/classes/NavigationComponent.html +6 -3
  40. package/docs/html/classes/NavigationItemComponent.html +11 -6
  41. package/docs/html/classes/NavigationProgressBarComponent.html +2 -2
  42. package/docs/html/classes/NavigationService.html +3 -3
  43. package/docs/html/classes/ReleaseInfoComponent.html +4 -3
  44. package/docs/html/classes/SettingsButtonComponent.html +3 -2
  45. package/docs/html/classes/SidenavComponent.html +5 -2
  46. package/docs/html/classes/SidenavFooterDirective.html +2 -2
  47. package/docs/html/classes/SidenavHeaderDirective.html +2 -2
  48. package/docs/html/classes/SidenavToggleButtonComponent.html +4 -3
  49. package/docs/html/classes/UserProfileIconComponent.html +5 -3
  50. package/docs/html/functions/IsNavigationDividerItem.html +1 -1
  51. package/docs/html/functions/IsNavigationInsertItem.html +1 -1
  52. package/docs/html/functions/IsNavigationItem.html +1 -1
  53. package/docs/html/functions/provideExternalApps.html +1 -1
  54. package/docs/html/functions/provideLayout.html +1 -1
  55. package/docs/html/functions/withDefaultHeaderComponent.html +1 -1
  56. package/docs/html/functions/withDefaultHeaderItems.html +1 -1
  57. package/docs/html/functions/withFooterComponents.html +1 -1
  58. package/docs/html/functions/withHeaderComponents.html +1 -1
  59. package/docs/html/functions/withNavigationConfig.html +1 -1
  60. package/docs/html/functions/withNavigationInserts.html +1 -1
  61. package/docs/html/functions/withReleaseInfoModules.html +1 -1
  62. package/docs/html/functions/withSettingsMenuItems.html +1 -1
  63. package/docs/html/functions/withUserProfileDataSource.html +1 -1
  64. package/docs/html/index.html +2 -2
  65. package/docs/html/interfaces/NavigationDividerItem.html +2 -2
  66. package/docs/html/interfaces/NavigationInsertItem.html +2 -2
  67. package/docs/html/interfaces/NavigationItem.html +2 -2
  68. package/docs/html/interfaces/NavigationStatus.html +2 -2
  69. package/docs/html/interfaces/ReleaseInfoModule.html +2 -2
  70. package/docs/html/interfaces/SettingsMenuItem.html +2 -2
  71. package/docs/html/modules.html +1 -1
  72. package/docs/html/types/DefaultHeaderItemComponent.html +1 -1
  73. package/docs/html/types/ExternalApp.html +1 -1
  74. package/docs/html/types/ExtractUsernameFromProfileFn.html +1 -1
  75. package/docs/html/types/Navigation.html +1 -1
  76. package/docs/html/types/NavigationWithInserts.html +1 -1
  77. package/docs/html/types/SettingsMenuItemComponent.html +1 -1
  78. package/docs/html/variables/EXTRACT_USERNAME_FROM_PROFILE.html +1 -1
  79. package/docs/html/variables/RXAP_DEFAULT_HEADER_ITEM_COMPONENT.html +1 -1
  80. package/docs/html/variables/RXAP_EXTERNAL_APP.html +1 -1
  81. package/docs/html/variables/RXAP_EXTERNAL_APP_FILTER.html +1 -1
  82. package/docs/html/variables/RXAP_FOOTER_COMPONENT.html +1 -1
  83. package/docs/html/variables/RXAP_HEADER_COMPONENT.html +1 -1
  84. package/docs/html/variables/RXAP_LAYOUT_APPS_GRID.html +1 -1
  85. package/docs/html/variables/RXAP_LOGO_CONFIG.html +1 -1
  86. package/docs/html/variables/RXAP_LOGO_CONFIG_DEFAULTS.html +1 -0
  87. package/docs/html/variables/RXAP_NAVIGATION_CONFIG.html +1 -1
  88. package/docs/html/variables/RXAP_NAVIGATION_CONFIG_INSERTS.html +1 -1
  89. package/docs/html/variables/RXAP_NAVIGATION_LAYOUT_CONFIG_DEFAULTS.html +1 -0
  90. package/docs/html/variables/RXAP_RELEASE_INFO_MODULE.html +1 -1
  91. package/docs/html/variables/RXAP_SETTINGS_MENU_ITEM.html +1 -1
  92. package/docs/html/variables/RXAP_SETTINGS_MENU_ITEM_COMPONENT.html +1 -1
  93. package/docs/html/variables/RXAP_USER_PROFILE_DATA_SOURCE.html +1 -1
  94. package/docs/markdown/README.md +1 -1
  95. package/docs/markdown/classes/AppsButtonComponent.md +15 -7
  96. package/docs/markdown/classes/BaseLayoutComponent.md +2 -2
  97. package/docs/markdown/classes/DefaultHeaderComponent.md +23 -7
  98. package/docs/markdown/classes/DefaultHeaderService.md +6 -6
  99. package/docs/markdown/classes/ExternalAppsService.md +18 -18
  100. package/docs/markdown/classes/FooterComponent.md +12 -4
  101. package/docs/markdown/classes/FooterDirective.md +4 -4
  102. package/docs/markdown/classes/FooterService.md +6 -6
  103. package/docs/markdown/classes/HeaderComponent.md +13 -5
  104. package/docs/markdown/classes/HeaderDirective.md +4 -4
  105. package/docs/markdown/classes/HeaderService.md +6 -6
  106. package/docs/markdown/classes/LayoutComponent.md +13 -5
  107. package/docs/markdown/classes/LayoutService.md +24 -18
  108. package/docs/markdown/classes/LogoService.md +6 -6
  109. package/docs/markdown/classes/MinimalLayoutComponent.md +2 -2
  110. package/docs/markdown/classes/NavigationComponent.md +35 -11
  111. package/docs/markdown/classes/NavigationItemComponent.md +54 -14
  112. package/docs/markdown/classes/NavigationProgressBarComponent.md +4 -4
  113. package/docs/markdown/classes/NavigationService.md +12 -12
  114. package/docs/markdown/classes/ReleaseInfoComponent.md +13 -5
  115. package/docs/markdown/classes/SettingsButtonComponent.md +26 -18
  116. package/docs/markdown/classes/SidenavComponent.md +49 -15
  117. package/docs/markdown/classes/SidenavFooterDirective.md +4 -4
  118. package/docs/markdown/classes/SidenavHeaderDirective.md +4 -4
  119. package/docs/markdown/classes/SidenavToggleButtonComponent.md +12 -4
  120. package/docs/markdown/classes/UserProfileIconComponent.md +21 -5
  121. package/docs/markdown/functions/IsNavigationDividerItem.md +2 -2
  122. package/docs/markdown/functions/IsNavigationInsertItem.md +2 -2
  123. package/docs/markdown/functions/IsNavigationItem.md +2 -2
  124. package/docs/markdown/functions/provideExternalApps.md +2 -2
  125. package/docs/markdown/functions/provideLayout.md +2 -2
  126. package/docs/markdown/functions/withDefaultHeaderComponent.md +2 -2
  127. package/docs/markdown/functions/withDefaultHeaderItems.md +2 -2
  128. package/docs/markdown/functions/withFooterComponents.md +2 -2
  129. package/docs/markdown/functions/withHeaderComponents.md +2 -2
  130. package/docs/markdown/functions/withNavigationConfig.md +2 -2
  131. package/docs/markdown/functions/withNavigationInserts.md +2 -2
  132. package/docs/markdown/functions/withReleaseInfoModules.md +2 -2
  133. package/docs/markdown/functions/withSettingsMenuItems.md +2 -2
  134. package/docs/markdown/functions/withUserProfileDataSource.md +2 -2
  135. package/docs/markdown/globals.md +4 -2
  136. package/docs/markdown/interfaces/NavigationDividerItem.md +4 -4
  137. package/docs/markdown/interfaces/NavigationInsertItem.md +3 -3
  138. package/docs/markdown/interfaces/NavigationItem.md +7 -7
  139. package/docs/markdown/interfaces/NavigationStatus.md +3 -3
  140. package/docs/markdown/interfaces/ReleaseInfoModule.md +5 -5
  141. package/docs/markdown/interfaces/SettingsMenuItem.md +5 -5
  142. package/docs/markdown/type-aliases/DefaultHeaderItemComponent.md +2 -2
  143. package/docs/markdown/type-aliases/ExternalApp.md +2 -2
  144. package/docs/markdown/type-aliases/ExtractUsernameFromProfileFn.md +2 -2
  145. package/docs/markdown/type-aliases/Navigation.md +2 -2
  146. package/docs/markdown/type-aliases/NavigationWithInserts.md +2 -2
  147. package/docs/markdown/type-aliases/SettingsMenuItemComponent.md +2 -2
  148. package/docs/markdown/variables/EXTRACT_USERNAME_FROM_PROFILE.md +2 -2
  149. package/docs/markdown/variables/RXAP_DEFAULT_HEADER_ITEM_COMPONENT.md +2 -2
  150. package/docs/markdown/variables/RXAP_EXTERNAL_APP.md +2 -2
  151. package/docs/markdown/variables/RXAP_EXTERNAL_APP_FILTER.md +2 -2
  152. package/docs/markdown/variables/RXAP_FOOTER_COMPONENT.md +2 -2
  153. package/docs/markdown/variables/RXAP_HEADER_COMPONENT.md +2 -2
  154. package/docs/markdown/variables/RXAP_LAYOUT_APPS_GRID.md +2 -2
  155. package/docs/markdown/variables/RXAP_LOGO_CONFIG.md +2 -2
  156. package/docs/markdown/variables/RXAP_LOGO_CONFIG_DEFAULTS.md +11 -0
  157. package/docs/markdown/variables/RXAP_NAVIGATION_CONFIG.md +2 -2
  158. package/docs/markdown/variables/RXAP_NAVIGATION_CONFIG_INSERTS.md +2 -2
  159. package/docs/markdown/variables/RXAP_NAVIGATION_LAYOUT_CONFIG_DEFAULTS.md +11 -0
  160. package/docs/markdown/variables/RXAP_RELEASE_INFO_MODULE.md +2 -2
  161. package/docs/markdown/variables/RXAP_SETTINGS_MENU_ITEM.md +2 -2
  162. package/docs/markdown/variables/RXAP_SETTINGS_MENU_ITEM_COMPONENT.md +2 -2
  163. package/docs/markdown/variables/RXAP_USER_PROFILE_DATA_SOURCE.md +2 -2
  164. package/docs/wiki/Class.AppsButtonComponent.md +14 -6
  165. package/docs/wiki/Class.BaseLayoutComponent.md +1 -1
  166. package/docs/wiki/Class.DefaultHeaderComponent.md +22 -6
  167. package/docs/wiki/Class.DefaultHeaderService.md +5 -5
  168. package/docs/wiki/Class.ExternalAppsService.md +17 -17
  169. package/docs/wiki/Class.FooterComponent.md +11 -3
  170. package/docs/wiki/Class.FooterDirective.md +3 -3
  171. package/docs/wiki/Class.FooterService.md +5 -5
  172. package/docs/wiki/Class.HeaderComponent.md +12 -4
  173. package/docs/wiki/Class.HeaderDirective.md +3 -3
  174. package/docs/wiki/Class.HeaderService.md +5 -5
  175. package/docs/wiki/Class.LayoutComponent.md +12 -4
  176. package/docs/wiki/Class.LayoutService.md +23 -17
  177. package/docs/wiki/Class.LogoService.md +5 -5
  178. package/docs/wiki/Class.MinimalLayoutComponent.md +1 -1
  179. package/docs/wiki/Class.NavigationComponent.md +34 -10
  180. package/docs/wiki/Class.NavigationItemComponent.md +53 -13
  181. package/docs/wiki/Class.NavigationProgressBarComponent.md +3 -3
  182. package/docs/wiki/Class.NavigationService.md +11 -11
  183. package/docs/wiki/Class.ReleaseInfoComponent.md +12 -4
  184. package/docs/wiki/Class.SettingsButtonComponent.md +25 -17
  185. package/docs/wiki/Class.SidenavComponent.md +48 -14
  186. package/docs/wiki/Class.SidenavFooterDirective.md +3 -3
  187. package/docs/wiki/Class.SidenavHeaderDirective.md +3 -3
  188. package/docs/wiki/Class.SidenavToggleButtonComponent.md +11 -3
  189. package/docs/wiki/Class.UserProfileIconComponent.md +20 -4
  190. package/docs/wiki/Function.IsNavigationDividerItem.md +1 -1
  191. package/docs/wiki/Function.IsNavigationInsertItem.md +1 -1
  192. package/docs/wiki/Function.IsNavigationItem.md +1 -1
  193. package/docs/wiki/Function.provideExternalApps.md +1 -1
  194. package/docs/wiki/Function.provideLayout.md +1 -1
  195. package/docs/wiki/Function.withDefaultHeaderComponent.md +1 -1
  196. package/docs/wiki/Function.withDefaultHeaderItems.md +1 -1
  197. package/docs/wiki/Function.withFooterComponents.md +1 -1
  198. package/docs/wiki/Function.withHeaderComponents.md +1 -1
  199. package/docs/wiki/Function.withNavigationConfig.md +1 -1
  200. package/docs/wiki/Function.withNavigationInserts.md +1 -1
  201. package/docs/wiki/Function.withReleaseInfoModules.md +1 -1
  202. package/docs/wiki/Function.withSettingsMenuItems.md +1 -1
  203. package/docs/wiki/Function.withUserProfileDataSource.md +1 -1
  204. package/docs/wiki/Interface.NavigationDividerItem.md +3 -3
  205. package/docs/wiki/Interface.NavigationInsertItem.md +2 -2
  206. package/docs/wiki/Interface.NavigationItem.md +6 -6
  207. package/docs/wiki/Interface.NavigationStatus.md +2 -2
  208. package/docs/wiki/Interface.ReleaseInfoModule.md +4 -4
  209. package/docs/wiki/Interface.SettingsMenuItem.md +4 -4
  210. package/docs/wiki/TypeAlias.DefaultHeaderItemComponent.md +1 -1
  211. package/docs/wiki/TypeAlias.ExternalApp.md +1 -1
  212. package/docs/wiki/TypeAlias.ExtractUsernameFromProfileFn.md +1 -1
  213. package/docs/wiki/TypeAlias.Navigation.md +1 -1
  214. package/docs/wiki/TypeAlias.NavigationWithInserts.md +1 -1
  215. package/docs/wiki/TypeAlias.SettingsMenuItemComponent.md +1 -1
  216. package/docs/wiki/Variable.EXTRACT_USERNAME_FROM_PROFILE.md +1 -1
  217. package/docs/wiki/Variable.RXAP_DEFAULT_HEADER_ITEM_COMPONENT.md +1 -1
  218. package/docs/wiki/Variable.RXAP_EXTERNAL_APP.md +1 -1
  219. package/docs/wiki/Variable.RXAP_EXTERNAL_APP_FILTER.md +1 -1
  220. package/docs/wiki/Variable.RXAP_FOOTER_COMPONENT.md +1 -1
  221. package/docs/wiki/Variable.RXAP_HEADER_COMPONENT.md +1 -1
  222. package/docs/wiki/Variable.RXAP_LAYOUT_APPS_GRID.md +1 -1
  223. package/docs/wiki/Variable.RXAP_LOGO_CONFIG.md +1 -1
  224. package/docs/wiki/Variable.RXAP_LOGO_CONFIG_DEFAULTS.md +7 -0
  225. package/docs/wiki/Variable.RXAP_NAVIGATION_CONFIG.md +1 -1
  226. package/docs/wiki/Variable.RXAP_NAVIGATION_CONFIG_INSERTS.md +1 -1
  227. package/docs/wiki/Variable.RXAP_NAVIGATION_LAYOUT_CONFIG_DEFAULTS.md +7 -0
  228. package/docs/wiki/Variable.RXAP_RELEASE_INFO_MODULE.md +1 -1
  229. package/docs/wiki/Variable.RXAP_SETTINGS_MENU_ITEM.md +1 -1
  230. package/docs/wiki/Variable.RXAP_SETTINGS_MENU_ITEM_COMPONENT.md +1 -1
  231. package/docs/wiki/Variable.RXAP_USER_PROFILE_DATA_SOURCE.md +1 -1
  232. package/docs/wiki/_Sidebar.md +2 -0
  233. package/docs/wiki/globals.md +3 -1
  234. package/fesm2022/rxap-layout.mjs +24 -16
  235. package/fesm2022/rxap-layout.mjs.map +1 -1
  236. package/lib/default-header/apps-button/apps-button.component.d.ts +2 -1
  237. package/lib/default-header/default-header.component.d.ts +4 -2
  238. package/lib/default-header/settings-button/settings-button.component.d.ts +2 -2
  239. package/lib/default-header/sidenav-toggle-button/sidenav-toggle-button.component.d.ts +2 -1
  240. package/lib/default-header/user-profile-icon/user-profile-icon.component.d.ts +4 -2
  241. package/lib/footer/footer.component.d.ts +2 -1
  242. package/lib/header/header.component.d.ts +2 -1
  243. package/lib/layout/layout.component.d.ts +2 -1
  244. package/lib/layout.service.d.ts +3 -2
  245. package/lib/navigation/navigation-item/navigation-item.component.d.ts +9 -6
  246. package/lib/navigation/navigation.component.d.ts +5 -3
  247. package/lib/release-info/release-info.component.d.ts +2 -1
  248. package/lib/sidenav/sidenav.component.d.ts +5 -3
  249. package/lib/tokens.d.ts +3 -1
  250. package/package.json +2 -2
  251. package/theme.css +425 -1
@@ -164,12 +164,10 @@
164
164
  <code>MatSidenavContent</code>
165
165
  <code><a href="../components/NavigationComponent.html" target="_self" >NavigationComponent</a></code>
166
166
  <code>NgIf</code>
167
- <code>RouterOutlet</code>
168
167
  <code>NgClass</code>
169
168
  <code>NgStyle</code>
170
169
  <code>MatDivider</code>
171
170
  <code>NgTemplateOutlet</code>
172
- <code>MatButton</code>
173
171
  </td>
174
172
  </tr>
175
173
 
@@ -233,6 +231,11 @@
233
231
  <span class="modifier">Readonly</span>
234
232
  <a href="#fixedTopGap" >fixedTopGap</a>
235
233
  </li>
234
+ <li>
235
+ <span class="modifier">Protected</span>
236
+ <span class="modifier">Readonly</span>
237
+ <a href="#layoutService" >layoutService</a>
238
+ </li>
236
239
  <li>
237
240
  <span class="modifier">Public</span>
238
241
  <span class="modifier">Readonly</span>
@@ -243,6 +246,11 @@
243
246
  <span class="modifier">Readonly</span>
244
247
  <a href="#pinned" >pinned</a>
245
248
  </li>
249
+ <li>
250
+ <span class="modifier">Protected</span>
251
+ <span class="modifier">Readonly</span>
252
+ <a href="#sidenav" >sidenav</a>
253
+ </li>
246
254
  <li>
247
255
  <span class="modifier">Public</span>
248
256
  <span class="modifier">Readonly</span>
@@ -274,6 +282,9 @@
274
282
  <span class="modifier">Async</span>
275
283
  <a href="#closeSidenav" >closeSidenav</a>
276
284
  </li>
285
+ <li>
286
+ <a href="#onOpenedChanged" >onOpenedChanged</a>
287
+ </li>
277
288
  <li>
278
289
  <span class="modifier">Async</span>
279
290
  <a href="#openSidenav" >openSidenav</a>
@@ -325,8 +336,8 @@
325
336
 
326
337
  <tr>
327
338
  <td class="col-md-4">
328
- <div class="io-line">Defined in <a href="" data-line="82"
329
- class="link-to-prism">src/lib/sidenav/sidenav.component.ts:82</a></div>
339
+ <div class="io-line">Defined in <a href="" data-line="79"
340
+ class="link-to-prism">src/lib/sidenav/sidenav.component.ts:79</a></div>
330
341
  </td>
331
342
  </tr>
332
343
 
@@ -342,6 +353,73 @@
342
353
  </tr>
343
354
  </tbody>
344
355
  </table>
356
+ <table class="table table-sm table-bordered">
357
+ <tbody>
358
+ <tr>
359
+ <td class="col-md-4">
360
+ <a name="onOpenedChanged"></a>
361
+ <span class="name">
362
+ <span ><b>onOpenedChanged</b></span>
363
+ <a href="#onOpenedChanged"><span class="icon ion-ios-link"></span></a>
364
+ </span>
365
+ </td>
366
+ </tr>
367
+ <tr>
368
+ <td class="col-md-4">
369
+ <code>onOpenedChanged(opened: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank">boolean</a>)</code>
370
+ </td>
371
+ </tr>
372
+
373
+
374
+ <tr>
375
+ <td class="col-md-4">
376
+ <div class="io-line">Defined in <a href="" data-line="70"
377
+ class="link-to-prism">src/lib/sidenav/sidenav.component.ts:70</a></div>
378
+ </td>
379
+ </tr>
380
+
381
+
382
+ <tr>
383
+ <td class="col-md-4">
384
+
385
+ <div class="io-description">
386
+ <b>Parameters :</b>
387
+
388
+ <table class="params">
389
+ <thead>
390
+ <tr>
391
+ <td>Name</td>
392
+ <td>Type</td>
393
+ <td>Optional</td>
394
+ </tr>
395
+ </thead>
396
+ <tbody>
397
+ <tr>
398
+ <td>opened</td>
399
+ <td>
400
+ <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
401
+ </td>
402
+
403
+ <td>
404
+ No
405
+ </td>
406
+
407
+
408
+ </tr>
409
+ </tbody>
410
+ </table>
411
+ </div>
412
+ <div class="io-description">
413
+ <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
414
+
415
+ </div>
416
+ <div class="io-description">
417
+
418
+ </div>
419
+ </td>
420
+ </tr>
421
+ </tbody>
422
+ </table>
345
423
  <table class="table table-sm table-bordered">
346
424
  <tbody>
347
425
  <tr>
@@ -364,8 +442,8 @@
364
442
 
365
443
  <tr>
366
444
  <td class="col-md-4">
367
- <div class="io-line">Defined in <a href="" data-line="77"
368
- class="link-to-prism">src/lib/sidenav/sidenav.component.ts:77</a></div>
445
+ <div class="io-line">Defined in <a href="" data-line="74"
446
+ class="link-to-prism">src/lib/sidenav/sidenav.component.ts:74</a></div>
369
447
  </td>
370
448
  </tr>
371
449
 
@@ -401,8 +479,8 @@
401
479
 
402
480
  <tr>
403
481
  <td class="col-md-4">
404
- <div class="io-line">Defined in <a href="" data-line="73"
405
- class="link-to-prism">src/lib/sidenav/sidenav.component.ts:73</a></div>
482
+ <div class="io-line">Defined in <a href="" data-line="66"
483
+ class="link-to-prism">src/lib/sidenav/sidenav.component.ts:66</a></div>
406
484
  </td>
407
485
  </tr>
408
486
 
@@ -450,7 +528,7 @@
450
528
  </tr>
451
529
  <tr>
452
530
  <td class="col-md-4">
453
- <div class="io-line">Defined in <a href="" data-line="68" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:68</a></div>
531
+ <div class="io-line">Defined in <a href="" data-line="61" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:61</a></div>
454
532
  </td>
455
533
  </tr>
456
534
 
@@ -483,7 +561,7 @@
483
561
  </tr>
484
562
  <tr>
485
563
  <td class="col-md-4">
486
- <div class="io-line">Defined in <a href="" data-line="67" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:67</a></div>
564
+ <div class="io-line">Defined in <a href="" data-line="60" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:60</a></div>
487
565
  </td>
488
566
  </tr>
489
567
 
@@ -516,7 +594,7 @@
516
594
  </tr>
517
595
  <tr>
518
596
  <td class="col-md-4">
519
- <div class="io-line">Defined in <a href="" data-line="63" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:63</a></div>
597
+ <div class="io-line">Defined in <a href="" data-line="56" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:56</a></div>
520
598
  </td>
521
599
  </tr>
522
600
 
@@ -549,7 +627,7 @@
549
627
  </tr>
550
628
  <tr>
551
629
  <td class="col-md-4">
552
- <div class="io-line">Defined in <a href="" data-line="65" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:65</a></div>
630
+ <div class="io-line">Defined in <a href="" data-line="58" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:58</a></div>
553
631
  </td>
554
632
  </tr>
555
633
 
@@ -582,7 +660,34 @@
582
660
  </tr>
583
661
  <tr>
584
662
  <td class="col-md-4">
585
- <div class="io-line">Defined in <a href="" data-line="64" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:64</a></div>
663
+ <div class="io-line">Defined in <a href="" data-line="57" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:57</a></div>
664
+ </td>
665
+ </tr>
666
+
667
+
668
+ </tbody>
669
+ </table>
670
+ <table class="table table-sm table-bordered">
671
+ <tbody>
672
+ <tr>
673
+ <td class="col-md-4">
674
+ <a name="layoutService"></a>
675
+ <span class="name">
676
+ <span class="modifier">Protected</span>
677
+ <span class="modifier">Readonly</span>
678
+ <span ><b>layoutService</b></span>
679
+ <a href="#layoutService"><span class="icon ion-ios-link"></span></a>
680
+ </span>
681
+ </td>
682
+ </tr>
683
+ <tr>
684
+ <td class="col-md-4">
685
+ <i>Default value : </i><code>inject(LayoutService)</code>
686
+ </td>
687
+ </tr>
688
+ <tr>
689
+ <td class="col-md-4">
690
+ <div class="io-line">Defined in <a href="" data-line="51" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:51</a></div>
586
691
  </td>
587
692
  </tr>
588
693
 
@@ -615,7 +720,7 @@
615
720
  </tr>
616
721
  <tr>
617
722
  <td class="col-md-4">
618
- <div class="io-line">Defined in <a href="" data-line="69" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:69</a></div>
723
+ <div class="io-line">Defined in <a href="" data-line="62" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:62</a></div>
619
724
  </td>
620
725
  </tr>
621
726
 
@@ -648,7 +753,34 @@
648
753
  </tr>
649
754
  <tr>
650
755
  <td class="col-md-4">
651
- <div class="io-line">Defined in <a href="" data-line="66" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:66</a></div>
756
+ <div class="io-line">Defined in <a href="" data-line="59" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:59</a></div>
757
+ </td>
758
+ </tr>
759
+
760
+
761
+ </tbody>
762
+ </table>
763
+ <table class="table table-sm table-bordered">
764
+ <tbody>
765
+ <tr>
766
+ <td class="col-md-4">
767
+ <a name="sidenav"></a>
768
+ <span class="name">
769
+ <span class="modifier">Protected</span>
770
+ <span class="modifier">Readonly</span>
771
+ <span ><b>sidenav</b></span>
772
+ <a href="#sidenav"><span class="icon ion-ios-link"></span></a>
773
+ </span>
774
+ </td>
775
+ </tr>
776
+ <tr>
777
+ <td class="col-md-4">
778
+ <i>Default value : </i><code>viewChild(MatSidenav)</code>
779
+ </td>
780
+ </tr>
781
+ <tr>
782
+ <td class="col-md-4">
783
+ <div class="io-line">Defined in <a href="" data-line="53" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:53</a></div>
652
784
  </td>
653
785
  </tr>
654
786
 
@@ -675,7 +807,7 @@
675
807
  </tr>
676
808
  <tr>
677
809
  <td class="col-md-4">
678
- <div class="io-line">Defined in <a href="" data-line="70" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:70</a></div>
810
+ <div class="io-line">Defined in <a href="" data-line="63" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:63</a></div>
679
811
  </td>
680
812
  </tr>
681
813
 
@@ -702,7 +834,7 @@
702
834
  </tr>
703
835
  <tr>
704
836
  <td class="col-md-4">
705
- <div class="io-line">Defined in <a href="" data-line="71" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:71</a></div>
837
+ <div class="io-line">Defined in <a href="" data-line="64" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:64</a></div>
706
838
  </td>
707
839
  </tr>
708
840
 
@@ -735,7 +867,7 @@
735
867
  </tr>
736
868
  <tr>
737
869
  <td class="col-md-4">
738
- <div class="io-line">Defined in <a href="" data-line="62" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:62</a></div>
870
+ <div class="io-line">Defined in <a href="" data-line="55" class="link-to-prism">src/lib/sidenav/sidenav.component.ts:55</a></div>
739
871
  </td>
740
872
  </tr>
741
873
 
@@ -763,10 +895,7 @@ import {
763
895
  Signal,
764
896
  viewChild,
765
897
  } from &#x27;@angular/core&#x27;;
766
- import {
767
- MatButton,
768
- MatIconButton,
769
- } from &#x27;@angular/material/button&#x27;;
898
+ import { MatIconButton } from &#x27;@angular/material/button&#x27;;
770
899
  import { MatDivider } from &#x27;@angular/material/divider&#x27;;
771
900
  import { MatIcon } from &#x27;@angular/material/icon&#x27;;
772
901
  import {
@@ -775,39 +904,35 @@ import {
775
904
  MatSidenavContainer,
776
905
  MatSidenavContent,
777
906
  } from &#x27;@angular/material/sidenav&#x27;;
778
- import { RouterOutlet } from &#x27;@angular/router&#x27;;
779
907
  import { LayoutService } from &#x27;../layout.service&#x27;;
780
908
  import { NavigationComponent } from &#x27;../navigation/navigation.component&#x27;;
781
909
  import { SidenavFooterDirective } from &#x27;./sidenav-footer.directive&#x27;;
782
910
  import { SidenavHeaderDirective } from &#x27;./sidenav-header.directive&#x27;;
783
911
 
784
912
  @Component({
785
- selector: &#x27;rxap-sidenav&#x27;,
786
- templateUrl: &#x27;./sidenav.component.html&#x27;,
787
- styleUrls: [&#x27;./sidenav.component.scss&#x27;],
788
- changeDetection: ChangeDetectionStrategy.OnPush,
789
- imports: [
790
- MatIcon,
791
- MatIconButton,
792
- MatSidenav,
793
- MatSidenavContainer,
794
- MatSidenavContent,
795
- NavigationComponent,
796
- NgIf,
797
- RouterOutlet,
798
- NgClass,
799
- NgStyle,
800
- MatDivider,
801
- NgTemplateOutlet,
802
- MatButton,
803
- ]
913
+ selector: &#x27;rxap-sidenav&#x27;,
914
+ templateUrl: &#x27;./sidenav.component.html&#x27;,
915
+ styleUrls: [&#x27;./sidenav.component.scss&#x27;],
916
+ changeDetection: ChangeDetectionStrategy.OnPush,
917
+ imports: [
918
+ MatIcon,
919
+ MatIconButton,
920
+ MatSidenav,
921
+ MatSidenavContainer,
922
+ MatSidenavContent,
923
+ NavigationComponent,
924
+ NgIf,
925
+ NgClass,
926
+ NgStyle,
927
+ MatDivider,
928
+ NgTemplateOutlet,
929
+ ],
804
930
  })
805
931
  export class SidenavComponent {
806
932
 
807
- private readonly layoutService &#x3D; inject(LayoutService);
808
-
933
+ protected readonly layoutService &#x3D; inject(LayoutService);
809
934
 
810
- private readonly sidenav &#x3D; viewChild(MatSidenav);
935
+ protected readonly sidenav &#x3D; viewChild(MatSidenav);
811
936
 
812
937
  public readonly sidenavMode: Signal&lt;MatDrawerMode&gt; &#x3D; computed(() &#x3D;&gt; this.layoutService.mode());
813
938
  public readonly fixedBottomGap: Signal&lt;number&gt; &#x3D; computed(() &#x3D;&gt; this.layoutService.fixedBottomGap());
@@ -824,6 +949,10 @@ export class SidenavComponent {
824
949
  this.layoutService.togglePinned();
825
950
  }
826
951
 
952
+ onOpenedChanged(opened: boolean) {
953
+ this.layoutService.opened.set(opened);
954
+ }
955
+
827
956
  async openSidenav() {
828
957
  await this.sidenav()?.open();
829
958
  this.layoutService.openSidenav();
@@ -850,6 +979,7 @@ export class SidenavComponent {
850
979
  [mode]&#x3D;&quot;sidenavMode()&quot;
851
980
  [ngClass]&#x3D;&quot;{ collapsable: collapsable() }&quot;
852
981
  [opened]&#x3D;&quot;opened()&quot;
982
+ (openedChange)&#x3D;&quot;onOpenedChanged($event)&quot;
853
983
  &gt;
854
984
  &lt;div (mouseleave)&#x3D;&quot;collapsable() &amp;&amp; !pinned() &amp;&amp; closeSidenav()&quot;
855
985
  class&#x3D;&quot;h-full py-2 flex flex-col items-center gap-y-5 justify-items-stretch&quot;&gt;
@@ -951,7 +1081,7 @@ export class SidenavComponent {
951
1081
  <script src="../js/libs/htmlparser.js"></script>
952
1082
  <script src="../js/libs/deep-iterator.js"></script>
953
1083
  <script>
954
- var COMPONENT_TEMPLATE = '<div><mat-sidenav-container [ngStyle]="{ \'padding-top.px\': fixedTopGap(), \'padding-bottom.px\': fixedBottomGap(), }" class="h-full"> <mat-sidenav [fixedBottomGap]="fixedBottomGap()" [fixedInViewport]="fixedInViewport()" [fixedTopGap]="fixedTopGap()" [mode]="sidenavMode()" [ngClass]="{ collapsable: collapsable() }" [opened]="opened()" > <div (mouseleave)="collapsable() && !pinned() && closeSidenav()" class="h-full py-2 flex flex-col items-center gap-y-5 justify-items-stretch"> <div (click)="togglePinned()" *ngIf="collapsable()" class="pl-2 self-stretch grow-0 flex flex-row justify-between items-center"> <span class="text-lg" i18n>Navigation</span> <div class="flex flex-row items-center justify-center" style="width: 64px"> <button mat-icon-button> <mat-icon *ngIf="!pinned()">radio_button_unchecked</mat-icon> <mat-icon *ngIf="pinned()">radio_button_checked</mat-icon> </button> </div> </div> @if (sidenavHeaderDirective()?.template; as template) { <div [ngClass]="{ hidden: collapsed() }" class="header grow-0"> <ng-container *ngTemplateOutlet="template"></ng-container> </div> <mat-divider [ngClass]="{ hidden: collapsed() }" class="grow-0"></mat-divider> } <ul (mouseenter)="collapsable() && !pinned() && openSidenav()" class="grow self-stretch" [root]="true" rxap-navigation > </ul> @if (sidenavFooterDirective()?.template; as template) { <mat-divider [ngClass]="{ hidden: collapsed() }" class="grow-0"></mat-divider> <div [ngClass]="{ hidden: collapsed() }" class="footer grow-0"> <ng-container *ngTemplateOutlet="template"></ng-container> </div> } </div> </mat-sidenav> <mat-sidenav-content [ngClass]="{ \'ml-16\': collapsable() }" class="p-4"> <ng-content></ng-content> </mat-sidenav-content></mat-sidenav-container></div>'
1084
+ var COMPONENT_TEMPLATE = '<div><mat-sidenav-container [ngStyle]="{ \'padding-top.px\': fixedTopGap(), \'padding-bottom.px\': fixedBottomGap(), }" class="h-full"> <mat-sidenav [fixedBottomGap]="fixedBottomGap()" [fixedInViewport]="fixedInViewport()" [fixedTopGap]="fixedTopGap()" [mode]="sidenavMode()" [ngClass]="{ collapsable: collapsable() }" [opened]="opened()" (openedChange)="onOpenedChanged($event)" > <div (mouseleave)="collapsable() && !pinned() && closeSidenav()" class="h-full py-2 flex flex-col items-center gap-y-5 justify-items-stretch"> <div (click)="togglePinned()" *ngIf="collapsable()" class="pl-2 self-stretch grow-0 flex flex-row justify-between items-center"> <span class="text-lg" i18n>Navigation</span> <div class="flex flex-row items-center justify-center" style="width: 64px"> <button mat-icon-button> <mat-icon *ngIf="!pinned()">radio_button_unchecked</mat-icon> <mat-icon *ngIf="pinned()">radio_button_checked</mat-icon> </button> </div> </div> @if (sidenavHeaderDirective()?.template; as template) { <div [ngClass]="{ hidden: collapsed() }" class="header grow-0"> <ng-container *ngTemplateOutlet="template"></ng-container> </div> <mat-divider [ngClass]="{ hidden: collapsed() }" class="grow-0"></mat-divider> } <ul (mouseenter)="collapsable() && !pinned() && openSidenav()" class="grow self-stretch" [root]="true" rxap-navigation > </ul> @if (sidenavFooterDirective()?.template; as template) { <mat-divider [ngClass]="{ hidden: collapsed() }" class="grow-0"></mat-divider> <div [ngClass]="{ hidden: collapsed() }" class="footer grow-0"> <ng-container *ngTemplateOutlet="template"></ng-container> </div> } </div> </mat-sidenav> <mat-sidenav-content [ngClass]="{ \'ml-16\': collapsable() }" class="p-4"> <ng-content></ng-content> </mat-sidenav-content></mat-sidenav-container></div>'
955
1085
  var COMPONENTS = [{'name': 'AppsButtonComponent', 'selector': 'rxap-apps-button'},{'name': 'BaseLayoutComponent', 'selector': 'rxap-base-layout'},{'name': 'DefaultHeaderComponent', 'selector': 'rxap-default-header'},{'name': 'FooterComponent', 'selector': 'rxap-footer'},{'name': 'HeaderComponent', 'selector': 'rxap-header'},{'name': 'LayoutComponent', 'selector': 'rxap-layout'},{'name': 'MinimalLayoutComponent', 'selector': 'rxap-minimal-layout'},{'name': 'NavigationComponent', 'selector': 'ul[rxap-navigation]'},{'name': 'NavigationItemComponent', 'selector': 'li[rxap-navigation-item]'},{'name': 'NavigationProgressBarComponent', 'selector': 'rxap-navigation-progress-bar'},{'name': 'ReleaseInfoComponent', 'selector': 'rxap-release-info'},{'name': 'SettingsButtonComponent', 'selector': 'rxap-settings-button'},{'name': 'SidenavComponent', 'selector': 'rxap-sidenav'},{'name': 'SidenavToggleButtonComponent', 'selector': 'rxap-sidenav-toggle-button'},{'name': 'UserProfileIconComponent', 'selector': 'rxap-user-profile-icon'}];
956
1086
  var DIRECTIVES = [{'name': 'FooterDirective', 'selector': '[rxapFooter]'},{'name': 'HeaderDirective', 'selector': '[rxapHeader]'},{'name': 'SidenavFooterDirective', 'selector': '[rxapSidenavFooter]'},{'name': 'SidenavHeaderDirective', 'selector': '[rxapSidenavHeader]'}];
957
1087
  var ACTUAL_COMPONENT = {'name': 'SidenavComponent'};
@@ -197,6 +197,11 @@
197
197
  <tr>
198
198
  <td class="col-md-4">
199
199
  <ul class="index-list">
200
+ <li>
201
+ <span class="modifier">Protected</span>
202
+ <span class="modifier">Readonly</span>
203
+ <a href="#layoutComponentService" >layoutComponentService</a>
204
+ </li>
200
205
  <li>
201
206
  <span class="modifier">Public</span>
202
207
  <span class="modifier">Readonly</span>
@@ -285,6 +290,33 @@
285
290
  <h3 id="inputs">
286
291
  Properties
287
292
  </h3>
293
+ <table class="table table-sm table-bordered">
294
+ <tbody>
295
+ <tr>
296
+ <td class="col-md-4">
297
+ <a name="layoutComponentService"></a>
298
+ <span class="name">
299
+ <span class="modifier">Protected</span>
300
+ <span class="modifier">Readonly</span>
301
+ <span ><b>layoutComponentService</b></span>
302
+ <a href="#layoutComponentService"><span class="icon ion-ios-link"></span></a>
303
+ </span>
304
+ </td>
305
+ </tr>
306
+ <tr>
307
+ <td class="col-md-4">
308
+ <i>Default value : </i><code>inject(LayoutService)</code>
309
+ </td>
310
+ </tr>
311
+ <tr>
312
+ <td class="col-md-4">
313
+ <div class="io-line">Defined in <a href="" data-line="23" class="link-to-prism">src/lib/default-header/sidenav-toggle-button/sidenav-toggle-button.component.ts:23</a></div>
314
+ </td>
315
+ </tr>
316
+
317
+
318
+ </tbody>
319
+ </table>
288
320
  <table class="table table-sm table-bordered">
289
321
  <tbody>
290
322
  <tr>
@@ -340,7 +372,7 @@ import { LayoutService } from &#x27;../../layout.service&#x27;;
340
372
  })
341
373
  export class SidenavToggleButtonComponent {
342
374
 
343
- private readonly layoutComponentService &#x3D; inject(LayoutService);
375
+ protected readonly layoutComponentService &#x3D; inject(LayoutService);
344
376
 
345
377
  public readonly opened &#x3D; computed(() &#x3D;&gt; this.layoutComponentService.opened());
346
378
 
@@ -197,11 +197,21 @@
197
197
  <tr>
198
198
  <td class="col-md-4">
199
199
  <ul class="index-list">
200
+ <li>
201
+ <span class="modifier">Protected</span>
202
+ <span class="modifier">Readonly</span>
203
+ <a href="#extractUsernameFromProfile" >extractUsernameFromProfile</a>
204
+ </li>
200
205
  <li>
201
206
  <span class="modifier">Public</span>
202
207
  <span class="modifier">Readonly</span>
203
208
  <a href="#profile" >profile</a>
204
209
  </li>
210
+ <li>
211
+ <span class="modifier">Protected</span>
212
+ <span class="modifier">Readonly</span>
213
+ <a href="#pubSubService" >pubSubService</a>
214
+ </li>
205
215
  <li>
206
216
  <span class="modifier">Public</span>
207
217
  <span class="modifier">Readonly</span>
@@ -326,6 +336,39 @@
326
336
  <h3 id="inputs">
327
337
  Properties
328
338
  </h3>
339
+ <table class="table table-sm table-bordered">
340
+ <tbody>
341
+ <tr>
342
+ <td class="col-md-4">
343
+ <a name="extractUsernameFromProfile"></a>
344
+ <span class="name">
345
+ <span class="modifier">Protected</span>
346
+ <span class="modifier">Readonly</span>
347
+ <span ><b>extractUsernameFromProfile</b></span>
348
+ <a href="#extractUsernameFromProfile"><span class="icon ion-ios-link"></span></a>
349
+ </span>
350
+ </td>
351
+ </tr>
352
+ <tr>
353
+ <td class="col-md-4">
354
+ <i>Type : </i> <code><a href="../miscellaneous/typealiases.html#ExtractUsernameFromProfileFn" target="_self" >ExtractUsernameFromProfileFn</a></code>
355
+
356
+ </td>
357
+ </tr>
358
+ <tr>
359
+ <td class="col-md-4">
360
+ <i>Default value : </i><code>inject(EXTRACT_USERNAME_FROM_PROFILE)</code>
361
+ </td>
362
+ </tr>
363
+ <tr>
364
+ <td class="col-md-4">
365
+ <div class="io-line">Defined in <a href="" data-line="29" class="link-to-prism">src/lib/default-header/user-profile-icon/user-profile-icon.component.ts:29</a></div>
366
+ </td>
367
+ </tr>
368
+
369
+
370
+ </tbody>
371
+ </table>
329
372
  <table class="table table-sm table-bordered">
330
373
  <tbody>
331
374
  <tr>
@@ -346,6 +389,33 @@
346
389
  </tr>
347
390
 
348
391
 
392
+ </tbody>
393
+ </table>
394
+ <table class="table table-sm table-bordered">
395
+ <tbody>
396
+ <tr>
397
+ <td class="col-md-4">
398
+ <a name="pubSubService"></a>
399
+ <span class="name">
400
+ <span class="modifier">Protected</span>
401
+ <span class="modifier">Readonly</span>
402
+ <span ><b>pubSubService</b></span>
403
+ <a href="#pubSubService"><span class="icon ion-ios-link"></span></a>
404
+ </span>
405
+ </td>
406
+ </tr>
407
+ <tr>
408
+ <td class="col-md-4">
409
+ <i>Default value : </i><code>inject(PubSubService)</code>
410
+ </td>
411
+ </tr>
412
+ <tr>
413
+ <td class="col-md-4">
414
+ <div class="io-line">Defined in <a href="" data-line="30" class="link-to-prism">src/lib/default-header/user-profile-icon/user-profile-icon.component.ts:30</a></div>
415
+ </td>
416
+ </tr>
417
+
418
+
349
419
  </tbody>
350
420
  </table>
351
421
  <table class="table table-sm table-bordered">
@@ -415,8 +485,8 @@ import { ExtractUsernameFromProfileFn } from &#x27;../../types&#x27;;
415
485
  })
416
486
  export class UserProfileIconComponent {
417
487
 
418
- private readonly extractUsernameFromProfile: ExtractUsernameFromProfileFn &#x3D; inject(EXTRACT_USERNAME_FROM_PROFILE);
419
- private readonly pubSubService &#x3D; inject(PubSubService);
488
+ protected readonly extractUsernameFromProfile: ExtractUsernameFromProfileFn &#x3D; inject(EXTRACT_USERNAME_FROM_PROFILE);
489
+ protected readonly pubSubService &#x3D; inject(PubSubService);
420
490
 
421
491
  public readonly profile &#x3D; input.required();
422
492