@rxap/layout 16.0.0-dev.0 → 16.0.0-dev.10

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 (111) hide show
  1. package/CHANGELOG.md +378 -0
  2. package/LICENSE +621 -21
  3. package/LICENSE.md +621 -0
  4. package/README.md +7 -22
  5. package/esm2022/index.mjs +5 -20
  6. package/esm2022/lib/app-url.service.mjs +64 -0
  7. package/esm2022/lib/footer/footer.component.mjs +13 -42
  8. package/esm2022/lib/footer.directive.mjs +21 -35
  9. package/esm2022/lib/header/apps-button/apps-button.component.mjs +42 -101
  10. package/esm2022/lib/header/header.component.mjs +66 -108
  11. package/esm2022/lib/header/language-selector/language-selector.component.mjs +30 -108
  12. package/esm2022/lib/header/navigation-progress-bar/navigation-progress-bar.component.mjs +22 -26
  13. package/esm2022/lib/header/reset-button/reset-button.component.mjs +16 -21
  14. package/esm2022/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.mjs +20 -36
  15. package/esm2022/lib/header/sign-out/sign-out.component.mjs +19 -28
  16. package/esm2022/lib/header/user-profile-icon/user-profile-icon.component.mjs +39 -109
  17. package/esm2022/lib/i18n-check.guard.mjs +34 -0
  18. package/esm2022/lib/i18n.service.mjs +36 -0
  19. package/esm2022/lib/language-selector.service.mjs +34 -0
  20. package/esm2022/lib/layout/layout.component.mjs +58 -72
  21. package/esm2022/lib/layout/layout.component.service.mjs +21 -22
  22. package/esm2022/lib/navigation/navigation-item/navigation-item.component.mjs +120 -234
  23. package/esm2022/lib/navigation/navigation-item.mjs +4 -4
  24. package/esm2022/lib/navigation/navigation.component.mjs +47 -91
  25. package/esm2022/lib/navigation/navigation.service.mjs +28 -27
  26. package/esm2022/lib/navigation/replace-router-paths.service.mjs +9 -10
  27. package/esm2022/lib/sidenav/sidenav-footer.directive.mjs +15 -15
  28. package/esm2022/lib/sidenav/sidenav-header.directive.mjs +15 -15
  29. package/esm2022/lib/sidenav/sidenav.component.mjs +40 -112
  30. package/esm2022/lib/sidenav/sidenav.component.service.mjs +8 -9
  31. package/esm2022/lib/sidenav/version/version.component.mjs +17 -44
  32. package/esm2022/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.mjs +19 -40
  33. package/esm2022/lib/tokens.mjs +1 -1
  34. package/esm2022/lib/types.mjs +1 -1
  35. package/esm2022/lib/window-container-sidenav/window-container-sidenav.component.mjs +18 -36
  36. package/esm2022/rxap-layout.mjs +1 -1
  37. package/fesm2022/rxap-layout.mjs +761 -1845
  38. package/fesm2022/rxap-layout.mjs.map +1 -1
  39. package/index.d.ts +4 -17
  40. package/lib/app-url.service.d.ts +26 -0
  41. package/lib/footer/footer.component.d.ts +1 -1
  42. package/lib/footer.directive.d.ts +2 -7
  43. package/lib/header/apps-button/apps-button.component.d.ts +13 -21
  44. package/lib/header/header.component.d.ts +8 -11
  45. package/lib/header/language-selector/language-selector.component.d.ts +2 -17
  46. package/lib/header/navigation-progress-bar/navigation-progress-bar.component.d.ts +1 -1
  47. package/lib/header/reset-button/reset-button.component.d.ts +1 -1
  48. package/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.d.ts +1 -1
  49. package/lib/header/sign-out/sign-out.component.d.ts +5 -5
  50. package/lib/header/user-profile-icon/user-profile-icon.component.d.ts +12 -8
  51. package/lib/i18n-check.guard.d.ts +14 -0
  52. package/lib/i18n.service.d.ts +12 -0
  53. package/lib/language-selector.service.d.ts +15 -0
  54. package/lib/layout/layout.component.d.ts +8 -4
  55. package/lib/navigation/navigation-item/navigation-item.component.d.ts +11 -18
  56. package/lib/navigation/navigation-item.d.ts +1 -1
  57. package/lib/navigation/navigation.component.d.ts +6 -6
  58. package/lib/navigation/navigation.service.d.ts +1 -1
  59. package/lib/sidenav/sidenav-footer.directive.d.ts +1 -1
  60. package/lib/sidenav/sidenav-header.directive.d.ts +1 -1
  61. package/lib/sidenav/sidenav.component.d.ts +1 -1
  62. package/lib/sidenav/version/version.component.d.ts +3 -3
  63. package/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.d.ts +3 -5
  64. package/lib/types.d.ts +3 -2
  65. package/lib/window-container-sidenav/window-container-sidenav.component.d.ts +2 -2
  66. package/package.json +90 -67
  67. package/theme.css +1 -0
  68. package/collection.json +0 -10
  69. package/esm2022/lib/footer/footer.component.module.mjs +0 -30
  70. package/esm2022/lib/header/apps-button/apps-button.component.module.mjs +0 -46
  71. package/esm2022/lib/header/header.component.module.mjs +0 -70
  72. package/esm2022/lib/header/language-selector/language-selector.component.module.mjs +0 -30
  73. package/esm2022/lib/header/navigation-progress-bar/navigation-progress-bar.component.module.mjs +0 -26
  74. package/esm2022/lib/header/reset-button/reset-button.component.module.mjs +0 -26
  75. package/esm2022/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.module.mjs +0 -30
  76. package/esm2022/lib/header/sign-out/sign-out.component.module.mjs +0 -30
  77. package/esm2022/lib/header/user-profile-icon/user-profile-icon.component.module.mjs +0 -38
  78. package/esm2022/lib/layout/layout.component.module.mjs +0 -70
  79. package/esm2022/lib/navigation/navigation.component.module.mjs +0 -71
  80. package/esm2022/lib/navigation/replace-router-paths.pipe.mjs +0 -36
  81. package/esm2022/lib/sidenav/sidenav.component.module.mjs +0 -44
  82. package/esm2022/lib/sidenav/version/version.component.module.mjs +0 -26
  83. package/esm2022/lib/sidenav-content/sidenav-content.component.mjs +0 -46
  84. package/esm2022/lib/sidenav-content/sidenav-content.component.module.mjs +0 -26
  85. package/esm2022/lib/sidenav-content/sidenav-content.component.service.mjs +0 -37
  86. package/esm2022/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.module.mjs +0 -30
  87. package/esm2022/lib/window-container-sidenav/window-container-sidenav.component.module.mjs +0 -30
  88. package/lib/footer/footer.component.module.d.ts +0 -10
  89. package/lib/header/apps-button/apps-button.component.module.d.ts +0 -14
  90. package/lib/header/header.component.module.d.ts +0 -20
  91. package/lib/header/language-selector/language-selector.component.module.d.ts +0 -10
  92. package/lib/header/navigation-progress-bar/navigation-progress-bar.component.module.d.ts +0 -9
  93. package/lib/header/reset-button/reset-button.component.module.d.ts +0 -9
  94. package/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.module.d.ts +0 -10
  95. package/lib/header/sign-out/sign-out.component.module.d.ts +0 -10
  96. package/lib/header/user-profile-icon/user-profile-icon.component.module.d.ts +0 -12
  97. package/lib/layout/layout.component.module.d.ts +0 -20
  98. package/lib/navigation/navigation.component.module.d.ts +0 -19
  99. package/lib/navigation/replace-router-paths.pipe.d.ts +0 -16
  100. package/lib/sidenav/sidenav.component.module.d.ts +0 -15
  101. package/lib/sidenav/version/version.component.module.d.ts +0 -9
  102. package/lib/sidenav-content/sidenav-content.component.d.ts +0 -12
  103. package/lib/sidenav-content/sidenav-content.component.module.d.ts +0 -9
  104. package/lib/sidenav-content/sidenav-content.component.service.d.ts +0 -15
  105. package/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.module.d.ts +0 -10
  106. package/lib/window-container-sidenav/window-container-sidenav.component.module.d.ts +0 -10
  107. package/migration.json +0 -4
  108. package/src/schematics/ng-add/index.d.ts +0 -2
  109. package/src/schematics/ng-add/index.js +0 -8
  110. package/src/schematics/ng-add/index.js.map +0 -1
  111. package/src/schematics/ng-add/schema.json +0 -7
package/esm2022/index.mjs CHANGED
@@ -1,26 +1,17 @@
1
1
  export * from './lib/tokens';
2
2
  // region footer
3
- export * from './lib/footer/footer.component.module';
4
3
  export * from './lib/footer/footer.component';
5
4
  // endregion
6
5
  // region header
7
- export * from './lib/header/header.component.module';
8
6
  export * from './lib/header/header.component';
9
7
  export * from './lib/header/sign-out/sign-out.component';
10
- export * from './lib/header/sign-out/sign-out.component.module';
11
8
  export * from './lib/header/user-profile-icon/user-profile-icon.component';
12
- export * from './lib/header/user-profile-icon/user-profile-icon.component.module';
13
9
  export * from './lib/header/reset-button/reset-button.component';
14
- export * from './lib/header/reset-button/reset-button.component.module';
15
10
  export * from './lib/header/sidenav-toggle-button/sidenav-toggle-button.component';
16
- export * from './lib/header/sidenav-toggle-button/sidenav-toggle-button.component.module';
17
11
  export * from './lib/header/navigation-progress-bar/navigation-progress-bar.component';
18
- export * from './lib/header/navigation-progress-bar/navigation-progress-bar.component.module';
19
- export * from './lib/header/apps-button/apps-button.component.module';
20
12
  export * from './lib/header/apps-button/apps-button.component';
21
13
  // endregion
22
14
  // region layout
23
- export * from './lib/layout/layout.component.module';
24
15
  export * from './lib/layout/layout.component';
25
16
  export * from './lib/layout/layout.component.service';
26
17
  // endregion
@@ -28,32 +19,26 @@ export * from './lib/layout/layout.component.service';
28
19
  export * from './lib/navigation/navigation-item';
29
20
  export * from './lib/navigation/replace-router-paths.service';
30
21
  export * from './lib/navigation/navigation.service';
31
- export * from './lib/navigation/navigation.component.module';
32
22
  export * from './lib/navigation/navigation.component';
33
23
  export * from './lib/navigation/navigation-item/navigation-item.component';
34
24
  // endregion
35
25
  // region sidenav
36
- export * from './lib/sidenav/sidenav.component.module';
37
26
  export * from './lib/sidenav/sidenav.component';
38
27
  export * from './lib/sidenav/sidenav-header.directive';
39
28
  export * from './lib/sidenav/sidenav-footer.directive';
40
29
  export * from './lib/sidenav/sidenav.component.service';
41
30
  export * from './lib/sidenav/version/version.component';
42
- export * from './lib/sidenav/version/version.component.module';
43
- // endregion
44
- // region sidenav content
45
- export * from './lib/sidenav-content/sidenav-content.component.service';
46
- export * from './lib/sidenav-content/sidenav-content.component.module';
47
- export * from './lib/sidenav-content/sidenav-content.component';
48
31
  // endregion
49
32
  // region toggle window sidenav button
50
- export * from './lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.module';
51
33
  export * from './lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component';
52
34
  // endregion
53
35
  // region window container sidenav
54
36
  export * from './lib/window-container-sidenav/window-container-sidenav.component';
55
- export * from './lib/window-container-sidenav/window-container-sidenav.component.module';
56
37
  // endregion
57
38
  export * from './lib/footer.directive';
58
39
  export * from './lib/types';
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2xheW91dC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFFN0IsZ0JBQWdCO0FBRWhCLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxZQUFZO0FBRVosZ0JBQWdCO0FBRWhCLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLG1FQUFtRSxDQUFDO0FBQ2xGLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyx3RUFBd0UsQ0FBQztBQUN2RixjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxnREFBZ0QsQ0FBQztBQUUvRCxZQUFZO0FBRVosZ0JBQWdCO0FBRWhCLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELFlBQVk7QUFFWixvQkFBb0I7QUFFcEIsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNERBQTRELENBQUM7QUFFM0UsWUFBWTtBQUVaLGlCQUFpQjtBQUVqQixjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGdEQUFnRCxDQUFDO0FBRS9ELFlBQVk7QUFFWix5QkFBeUI7QUFFekIsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsaURBQWlELENBQUM7QUFFaEUsWUFBWTtBQUVaLHNDQUFzQztBQUV0QyxjQUFjLGtGQUFrRixDQUFDO0FBQ2pHLGNBQWMsMkVBQTJFLENBQUM7QUFFMUYsWUFBWTtBQUVaLGtDQUFrQztBQUVsQyxjQUFjLG1FQUFtRSxDQUFDO0FBQ2xGLGNBQWMsMEVBQTBFLENBQUM7QUFFekYsWUFBWTtBQUVaLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbnMnO1xuXG4vLyByZWdpb24gZm9vdGVyXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb290ZXIvZm9vdGVyLmNvbXBvbmVudCc7XG5cbi8vIGVuZHJlZ2lvblxuXG4vLyByZWdpb24gaGVhZGVyXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlYWRlci9zaWduLW91dC9zaWduLW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVhZGVyL3NpZ24tb3V0L3NpZ24tb3V0LmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVhZGVyL3VzZXItcHJvZmlsZS1pY29uL3VzZXItcHJvZmlsZS1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZWFkZXIvdXNlci1wcm9maWxlLWljb24vdXNlci1wcm9maWxlLWljb24uY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZWFkZXIvcmVzZXQtYnV0dG9uL3Jlc2V0LWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVhZGVyL3Jlc2V0LWJ1dHRvbi9yZXNldC1idXR0b24uY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZWFkZXIvc2lkZW5hdi10b2dnbGUtYnV0dG9uL3NpZGVuYXYtdG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVhZGVyL3NpZGVuYXYtdG9nZ2xlLWJ1dHRvbi9zaWRlbmF2LXRvZ2dsZS1idXR0b24uY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZWFkZXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIvbmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlYWRlci9uYXZpZ2F0aW9uLXByb2dyZXNzLWJhci9uYXZpZ2F0aW9uLXByb2dyZXNzLWJhci5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlYWRlci9hcHBzLWJ1dHRvbi9hcHBzLWJ1dHRvbi5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlYWRlci9hcHBzLWJ1dHRvbi9hcHBzLWJ1dHRvbi5jb21wb25lbnQnO1xuXG4vLyBlbmRyZWdpb25cblxuLy8gcmVnaW9uIGxheW91dFxuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGF5b3V0L2xheW91dC5jb21wb25lbnQuc2VydmljZSc7XG5cbi8vIGVuZHJlZ2lvblxuXG4vLyByZWdpb24gbmF2aWdhdGlvblxuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24taXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uYXZpZ2F0aW9uL3JlcGxhY2Utcm91dGVyLXBhdGhzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24taXRlbS9uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50JztcblxuLy8gZW5kcmVnaW9uXG5cbi8vIHJlZ2lvbiBzaWRlbmF2XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NpZGVuYXYvc2lkZW5hdi5jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NpZGVuYXYvc2lkZW5hdi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lkZW5hdi9zaWRlbmF2LWhlYWRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lkZW5hdi9zaWRlbmF2LWZvb3Rlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NpZGVuYXYvdmVyc2lvbi92ZXJzaW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaWRlbmF2L3ZlcnNpb24vdmVyc2lvbi5jb21wb25lbnQubW9kdWxlJztcblxuLy8gZW5kcmVnaW9uXG5cbi8vIHJlZ2lvbiBzaWRlbmF2IGNvbnRlbnRcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lkZW5hdi1jb250ZW50L3NpZGVuYXYtY29udGVudC5jb21wb25lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaWRlbmF2LWNvbnRlbnQvc2lkZW5hdi1jb250ZW50LmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lkZW5hdi1jb250ZW50L3NpZGVuYXYtY29udGVudC5jb21wb25lbnQnO1xuXG4vLyBlbmRyZWdpb25cblxuLy8gcmVnaW9uIHRvZ2dsZSB3aW5kb3cgc2lkZW5hdiBidXR0b25cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9nZ2xlLXdpbmRvdy1zaWRlbmF2LWJ1dHRvbi90b2dnbGUtd2luZG93LXNpZGVuYXYtYnV0dG9uLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9nZ2xlLXdpbmRvdy1zaWRlbmF2LWJ1dHRvbi90b2dnbGUtd2luZG93LXNpZGVuYXYtYnV0dG9uLmNvbXBvbmVudCc7XG5cbi8vIGVuZHJlZ2lvblxuXG4vLyByZWdpb24gd2luZG93IGNvbnRhaW5lciBzaWRlbmF2XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3dpbmRvdy1jb250YWluZXItc2lkZW5hdi93aW5kb3ctY29udGFpbmVyLXNpZGVuYXYuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3dpbmRvdy1jb250YWluZXItc2lkZW5hdi93aW5kb3ctY29udGFpbmVyLXNpZGVuYXYuY29tcG9uZW50Lm1vZHVsZSc7XG5cbi8vIGVuZHJlZ2lvblxuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb290ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzJztcbiJdfQ==
40
+ export * from './lib/i18n-check.guard';
41
+ export * from './lib/i18n.service';
42
+ export * from './lib/language-selector.service';
43
+ export * from './lib/app-url.service';
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFFN0IsZ0JBQWdCO0FBR2hCLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsWUFBWTtBQUVaLGdCQUFnQjtBQUdoQixjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsMENBQTBDLENBQUM7QUFFekQsY0FBYyw0REFBNEQsQ0FBQztBQUUzRSxjQUFjLGtEQUFrRCxDQUFDO0FBRWpFLGNBQWMsb0VBQW9FLENBQUM7QUFFbkYsY0FBYyx3RUFBd0UsQ0FBQztBQUd2RixjQUFjLGdEQUFnRCxDQUFDO0FBRS9ELFlBQVk7QUFFWixnQkFBZ0I7QUFFaEIsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELFlBQVk7QUFFWixvQkFBb0I7QUFFcEIsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDREQUE0RCxDQUFDO0FBRTNFLFlBQVk7QUFFWixpQkFBaUI7QUFHakIsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBR3hELFlBQVk7QUFFWixzQ0FBc0M7QUFHdEMsY0FBYywyRUFBMkUsQ0FBQztBQUUxRixZQUFZO0FBRVosa0NBQWtDO0FBRWxDLGNBQWMsbUVBQW1FLENBQUM7QUFHbEYsWUFBWTtBQUVaLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucyc7XG5cbi8vIHJlZ2lvbiBmb290ZXJcblxuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb290ZXIvZm9vdGVyLmNvbXBvbmVudCc7XG5cbi8vIGVuZHJlZ2lvblxuXG4vLyByZWdpb24gaGVhZGVyXG5cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZWFkZXIvc2lnbi1vdXQvc2lnbi1vdXQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVhZGVyL3VzZXItcHJvZmlsZS1pY29uL3VzZXItcHJvZmlsZS1pY29uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlYWRlci9yZXNldC1idXR0b24vcmVzZXQtYnV0dG9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlYWRlci9zaWRlbmF2LXRvZ2dsZS1idXR0b24vc2lkZW5hdi10b2dnbGUtYnV0dG9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlYWRlci9uYXZpZ2F0aW9uLXByb2dyZXNzLWJhci9uYXZpZ2F0aW9uLXByb2dyZXNzLWJhci5jb21wb25lbnQnO1xuXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlYWRlci9hcHBzLWJ1dHRvbi9hcHBzLWJ1dHRvbi5jb21wb25lbnQnO1xuXG4vLyBlbmRyZWdpb25cblxuLy8gcmVnaW9uIGxheW91dFxuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC5zZXJ2aWNlJztcblxuLy8gZW5kcmVnaW9uXG5cbi8vIHJlZ2lvbiBuYXZpZ2F0aW9uXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRpb24vcmVwbGFjZS1yb3V0ZXItcGF0aHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLWl0ZW0vbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudCc7XG5cbi8vIGVuZHJlZ2lvblxuXG4vLyByZWdpb24gc2lkZW5hdlxuXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NpZGVuYXYvc2lkZW5hdi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lkZW5hdi9zaWRlbmF2LWhlYWRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lkZW5hdi9zaWRlbmF2LWZvb3Rlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NpZGVuYXYvdmVyc2lvbi92ZXJzaW9uLmNvbXBvbmVudCc7XG5cblxuLy8gZW5kcmVnaW9uXG5cbi8vIHJlZ2lvbiB0b2dnbGUgd2luZG93IHNpZGVuYXYgYnV0dG9uXG5cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9nZ2xlLXdpbmRvdy1zaWRlbmF2LWJ1dHRvbi90b2dnbGUtd2luZG93LXNpZGVuYXYtYnV0dG9uLmNvbXBvbmVudCc7XG5cbi8vIGVuZHJlZ2lvblxuXG4vLyByZWdpb24gd2luZG93IGNvbnRhaW5lciBzaWRlbmF2XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3dpbmRvdy1jb250YWluZXItc2lkZW5hdi93aW5kb3ctY29udGFpbmVyLXNpZGVuYXYuY29tcG9uZW50JztcblxuXG4vLyBlbmRyZWdpb25cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9vdGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pMThuLWNoZWNrLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2kxOG4uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYW5ndWFnZS1zZWxlY3Rvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC11cmwuc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,64 @@
1
+ import { Inject, Injectable, LOCALE_ID, } from '@angular/core';
2
+ import { ConfigService } from '@rxap/config';
3
+ import { JoinPath } from '@rxap/utilities';
4
+ import { ClickOnLink } from '@rxap/browser-utilities';
5
+ import { RxapUserProfileService } from '@rxap/authentication';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@rxap/config";
8
+ import * as i2 from "@rxap/authentication";
9
+ export class AppUrlService {
10
+ constructor(config, localeId, userProfileService) {
11
+ this.config = config;
12
+ this.localeId = localeId;
13
+ this.userProfileService = userProfileService;
14
+ this._apps = this.config.get('navigation.apps') ?? [];
15
+ }
16
+ getApp(appId) {
17
+ return this._apps.find(app => app.id === appId) ?? null;
18
+ }
19
+ getAppUrl(appId, path) {
20
+ const app = this.getApp(appId);
21
+ if (app) {
22
+ const prefix = this.getPathPrefix();
23
+ return JoinPath(app.href, prefix, path);
24
+ }
25
+ return null;
26
+ }
27
+ navigate(appId, path) {
28
+ const url = this.getAppUrl(appId, path);
29
+ if (url) {
30
+ ClickOnLink(url);
31
+ }
32
+ }
33
+ async getAppList() {
34
+ const roles = await this.userProfileService.getRoleList();
35
+ return this._apps.filter(app => !app.hidden)
36
+ .map(app => ({
37
+ ...app,
38
+ href: JoinPath(app.href, this.getPathPrefix()),
39
+ }))
40
+ .filter(app => !app.permissions ||
41
+ !app.permissions.length ||
42
+ app.permissions.every(permission => roles.includes(permission)));
43
+ }
44
+ getPathPrefix() {
45
+ switch (this.localeId) {
46
+ case 'de-DE':
47
+ return 'de';
48
+ case 'en-US':
49
+ return 'en';
50
+ default:
51
+ return 'de';
52
+ }
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AppUrlService, deps: [{ token: i1.ConfigService }, { token: LOCALE_ID }, { token: i2.RxapUserProfileService }], target: i0.ɵɵFactoryTarget.Injectable }); }
55
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AppUrlService, providedIn: 'root' }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AppUrlService, decorators: [{
58
+ type: Injectable,
59
+ args: [{ providedIn: 'root' }]
60
+ }], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: undefined, decorators: [{
61
+ type: Inject,
62
+ args: [LOCALE_ID]
63
+ }] }, { type: i2.RxapUserProfileService }]; } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXVybC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9hcHAtdXJsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE1BQU0sRUFDTixVQUFVLEVBQ1YsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQWE5RCxNQUFNLE9BQU8sYUFBYTtJQUl4QixZQUNtQixNQUFxQixFQUVyQixRQUFnQixFQUNoQixrQkFBMEM7UUFIMUMsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUVyQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBd0I7UUFFM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQWE7UUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQzFELENBQUM7SUFFTSxTQUFTLENBQUMsS0FBYSxFQUFFLElBQVk7UUFFMUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvQixJQUFJLEdBQUcsRUFBRTtZQUNQLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNwQyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN6QztRQUVELE9BQU8sSUFBSSxDQUFDO0lBRWQsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFhLEVBQUUsSUFBWTtRQUV6QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV4QyxJQUFJLEdBQUcsRUFBRTtZQUNQLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNsQjtJQUVILENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO2FBQ2hDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDWCxHQUFHLEdBQUc7WUFDTixJQUFJLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQy9DLENBQUMsQ0FBQzthQUNGLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVc7WUFDN0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07WUFDdkIsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRU8sYUFBYTtRQUNuQixRQUFRLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFFckIsS0FBSyxPQUFPO2dCQUNWLE9BQU8sSUFBSSxDQUFDO1lBRWQsS0FBSyxPQUFPO2dCQUNWLE9BQU8sSUFBSSxDQUFDO1lBRWQ7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7U0FFZjtJQUNILENBQUM7OEdBakVVLGFBQWEsK0NBTWQsU0FBUztrSEFOUixhQUFhLGNBREEsTUFBTTs7MkZBQ25CLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFPN0IsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBMT0NBTEVfSUQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0ByeGFwL2NvbmZpZyc7XG5pbXBvcnQgeyBKb2luUGF0aCB9IGZyb20gJ0ByeGFwL3V0aWxpdGllcyc7XG5pbXBvcnQgeyBDbGlja09uTGluayB9IGZyb20gJ0ByeGFwL2Jyb3dzZXItdXRpbGl0aWVzJztcbmltcG9ydCB7IFJ4YXBVc2VyUHJvZmlsZVNlcnZpY2UgfSBmcm9tICdAcnhhcC9hdXRoZW50aWNhdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZXJuYWxBcHBzIHtcbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGhyZWY6IHN0cmluZztcbiAgZW1wdHk/OiBmYWxzZTtcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgaWQ/OiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBcHBVcmxTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9hcHBzOiBBcnJheTxFeHRlcm5hbEFwcHM+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxuICAgIEBJbmplY3QoTE9DQUxFX0lEKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlSWQ6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJQcm9maWxlU2VydmljZTogUnhhcFVzZXJQcm9maWxlU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5fYXBwcyA9IHRoaXMuY29uZmlnLmdldCgnbmF2aWdhdGlvbi5hcHBzJykgPz8gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0QXBwKGFwcElkOiBzdHJpbmcpOiBFeHRlcm5hbEFwcHMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fYXBwcy5maW5kKGFwcCA9PiBhcHAuaWQgPT09IGFwcElkKSA/PyBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldEFwcFVybChhcHBJZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcblxuICAgIGNvbnN0IGFwcCA9IHRoaXMuZ2V0QXBwKGFwcElkKTtcblxuICAgIGlmIChhcHApIHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IHRoaXMuZ2V0UGF0aFByZWZpeCgpO1xuICAgICAgcmV0dXJuIEpvaW5QYXRoKGFwcC5ocmVmLCBwcmVmaXgsIHBhdGgpO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuXG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGUoYXBwSWQ6IHN0cmluZywgcGF0aDogc3RyaW5nKTogdm9pZCB7XG5cbiAgICBjb25zdCB1cmwgPSB0aGlzLmdldEFwcFVybChhcHBJZCwgcGF0aCk7XG5cbiAgICBpZiAodXJsKSB7XG4gICAgICBDbGlja09uTGluayh1cmwpO1xuICAgIH1cblxuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEFwcExpc3QoKTogUHJvbWlzZTxBcnJheTxFeHRlcm5hbEFwcHM+PiB7XG4gICAgY29uc3Qgcm9sZXMgPSBhd2FpdCB0aGlzLnVzZXJQcm9maWxlU2VydmljZS5nZXRSb2xlTGlzdCgpO1xuICAgIHJldHVybiB0aGlzLl9hcHBzLmZpbHRlcihhcHAgPT4gIWFwcC5oaWRkZW4pXG4gICAgICAgICAgICAgICAubWFwKGFwcCA9PiAoe1xuICAgICAgICAgICAgICAgICAuLi5hcHAsXG4gICAgICAgICAgICAgICAgIGhyZWY6IEpvaW5QYXRoKGFwcC5ocmVmLCB0aGlzLmdldFBhdGhQcmVmaXgoKSksXG4gICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgIC5maWx0ZXIoYXBwID0+ICFhcHAucGVybWlzc2lvbnMgfHxcbiAgICAgICAgICAgICAgICAgIWFwcC5wZXJtaXNzaW9ucy5sZW5ndGggfHxcbiAgICAgICAgICAgICAgICAgYXBwLnBlcm1pc3Npb25zLmV2ZXJ5KHBlcm1pc3Npb24gPT4gcm9sZXMuaW5jbHVkZXMocGVybWlzc2lvbikpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF0aFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy5sb2NhbGVJZCkge1xuXG4gICAgICBjYXNlICdkZS1ERSc6XG4gICAgICAgIHJldHVybiAnZGUnO1xuXG4gICAgICBjYXNlICdlbi1VUyc6XG4gICAgICAgIHJldHVybiAnZW4nO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2RlJztcblxuICAgIH1cbiAgfVxuXG59XG4iXX0=
@@ -1,50 +1,21 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, } from '@angular/core';
2
2
  import { FooterService } from '@rxap/services';
3
+ import { PortalModule } from '@angular/cdk/portal';
4
+ import { MatToolbarModule } from '@angular/material/toolbar';
5
+ import { AsyncPipe, NgFor, NgIf, } from '@angular/common';
3
6
  import * as i0 from "@angular/core";
4
7
  import * as i1 from "@rxap/services";
5
8
  import * as i2 from "@angular/material/toolbar";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/cdk/portal";
8
- function FooterComponent_ng_template_0_mat_toolbar_0_mat_toolbar_row_1_ng_template_1_Template(rf, ctx) { }
9
- function FooterComponent_ng_template_0_mat_toolbar_0_mat_toolbar_row_1_Template(rf, ctx) { if (rf & 1) {
10
- i0.ɵɵelementStart(0, "mat-toolbar-row");
11
- i0.ɵɵtemplate(1, FooterComponent_ng_template_0_mat_toolbar_0_mat_toolbar_row_1_ng_template_1_Template, 0, 0, "ng-template", 4);
12
- i0.ɵɵelementEnd();
13
- } if (rf & 2) {
14
- const portal_r4 = ctx.$implicit;
15
- i0.ɵɵadvance(1);
16
- i0.ɵɵproperty("cdkPortalOutlet", portal_r4);
17
- } }
18
- function FooterComponent_ng_template_0_mat_toolbar_0_Template(rf, ctx) { if (rf & 1) {
19
- i0.ɵɵelementStart(0, "mat-toolbar", 2);
20
- i0.ɵɵtemplate(1, FooterComponent_ng_template_0_mat_toolbar_0_mat_toolbar_row_1_Template, 2, 1, "mat-toolbar-row", 3);
21
- i0.ɵɵelementEnd();
22
- } if (rf & 2) {
23
- const portals_r1 = i0.ɵɵnextContext().$implicit;
24
- i0.ɵɵadvance(1);
25
- i0.ɵɵproperty("ngForOf", portals_r1);
26
- } }
27
- function FooterComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {
28
- i0.ɵɵtemplate(0, FooterComponent_ng_template_0_mat_toolbar_0_Template, 2, 1, "mat-toolbar", 1);
29
- } if (rf & 2) {
30
- const portals_r1 = ctx.$implicit;
31
- i0.ɵɵproperty("ngIf", portals_r1.length);
32
- } }
33
- class FooterComponent {
9
+ import * as i3 from "@angular/cdk/portal";
10
+ export class FooterComponent {
34
11
  constructor(footerService) {
35
12
  this.footerService = footerService;
36
13
  }
37
- static { this.ɵfac = function FooterComponent_Factory(t) { return new (t || FooterComponent)(i0.ɵɵdirectiveInject(i1.FooterService)); }; }
38
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FooterComponent, selectors: [["rxap-footer"]], decls: 2, vars: 3, consts: [[3, "ngIf"], ["class", "footer mat-elevation-z1", 4, "ngIf"], [1, "footer", "mat-elevation-z1"], [4, "ngFor", "ngForOf"], [3, "cdkPortalOutlet"]], template: function FooterComponent_Template(rf, ctx) { if (rf & 1) {
39
- i0.ɵɵtemplate(0, FooterComponent_ng_template_0_Template, 1, 1, "ng-template", 0);
40
- i0.ɵɵpipe(1, "async");
41
- } if (rf & 2) {
42
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.footerService.portals$));
43
- } }, dependencies: [i2.MatToolbar, i2.MatToolbarRow, i3.NgForOf, i3.NgIf, i4.CdkPortalOutlet, i3.AsyncPipe], changeDetection: 0 }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: FooterComponent, deps: [{ token: i1.FooterService }], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: FooterComponent, isStandalone: true, selector: "rxap-footer", ngImport: i0, template: "<ng-template [ngIf]=\"footerService.portals$ | async\" let-portals>\n <mat-toolbar *ngIf=\"portals.length\" class=\"footer mat-elevation-z1\">\n <mat-toolbar-row *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </mat-toolbar-row>\n </mat-toolbar>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i2.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
16
  }
45
- export { FooterComponent };
46
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FooterComponent, [{
47
- type: Component,
48
- args: [{ selector: 'rxap-footer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template [ngIf]=\"footerService.portals$ | async\" let-portals>\n <mat-toolbar *ngIf=\"portals.length\" class=\"footer mat-elevation-z1\">\n <mat-toolbar-row *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </mat-toolbar-row>\n </mat-toolbar>\n</ng-template>\n" }]
49
- }], function () { return [{ type: i1.FooterService }]; }, null); })();
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xheW91dC9zcmMvbGliL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDeEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztJQ0YzQyx1Q0FBZ0Q7SUFDOUMsOEhBQXNEO0lBQ3hELGlCQUFrQjs7O0lBREgsZUFBMEI7SUFBMUIsMkNBQTBCOzs7SUFGM0Msc0NBQW9FO0lBQ2xFLG9IQUVrQjtJQUNwQixpQkFBYzs7O0lBSHdCLGVBQVU7SUFBVixvQ0FBVTs7O0lBRGhELDhGQUljOzs7SUFKQSx3Q0FBb0I7O0FES3BDLE1BTWEsZUFBZTtJQUUxQixZQUNrQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUMzQyxDQUFDO2dGQUpPLGVBQWU7b0VBQWYsZUFBZTtZQ1o1QixnRkFNYzs7O1lBTkQsdUVBQXVDOzs7U0RZdkMsZUFBZTt1RkFBZixlQUFlO2NBTjNCLFNBQVM7MkJBQ1MsYUFBYSxtQkFHYix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvb3RlclNlcnZpY2UgfSBmcm9tICdAcnhhcC9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogICAgICAgICdyeGFwLWZvb3RlcicsXG4gIHRlbXBsYXRlVXJsOiAgICAgJy4vZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiAgICAgICBbICcuL2Zvb3Rlci5jb21wb25lbnQuc2NzcycgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9vdGVyQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9vdGVyU2VydmljZTogRm9vdGVyU2VydmljZVxuICApIHt9XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSBbbmdJZl09XCJmb290ZXJTZXJ2aWNlLnBvcnRhbHMkIHwgYXN5bmNcIiBsZXQtcG9ydGFscz5cbiAgPG1hdC10b29sYmFyICpuZ0lmPVwicG9ydGFscy5sZW5ndGhcIiBjbGFzcz1cImZvb3RlciBtYXQtZWxldmF0aW9uLXoxXCI+XG4gICAgPG1hdC10b29sYmFyLXJvdyAqbmdGb3I9XCJsZXQgcG9ydGFsIG9mIHBvcnRhbHNcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9tYXQtdG9vbGJhci1yb3c+XG4gIDwvbWF0LXRvb2xiYXI+XG48L25nLXRlbXBsYXRlPlxuIl19
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: FooterComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'rxap-footer', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, MatToolbarModule, NgFor, PortalModule, AsyncPipe], template: "<ng-template [ngIf]=\"footerService.portals$ | async\" let-portals>\n <mat-toolbar *ngIf=\"portals.length\" class=\"footer mat-elevation-z1\">\n <mat-toolbar-row *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </mat-toolbar-row>\n </mat-toolbar>\n</ng-template>\n" }]
20
+ }], ctorParameters: function () { return [{ type: i1.FooterService }]; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbGF5b3V0L3NyYy9saWIvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvbGliL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxJQUFJLEdBQ0wsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFVekIsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFDa0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFOUMsQ0FBQzs4R0FMVSxlQUFlO2tHQUFmLGVBQWUsdUVDckI1QixxVUFPQSwwRERZYSxJQUFJLDRGQUFFLGdCQUFnQiwwUEFBRSxLQUFLLGtIQUFFLFlBQVksNkxBQUUsU0FBUzs7MkZBRXRELGVBQWU7a0JBUjNCLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9vdGVyU2VydmljZSB9IGZyb20gJ0ByeGFwL3NlcnZpY2VzJztcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuaW1wb3J0IHtcbiAgQXN5bmNQaXBlLFxuICBOZ0ZvcixcbiAgTmdJZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnhhcC1mb290ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2Zvb3Rlci5jb21wb25lbnQuc2NzcycgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFsgTmdJZiwgTWF0VG9vbGJhck1vZHVsZSwgTmdGb3IsIFBvcnRhbE1vZHVsZSwgQXN5bmNQaXBlIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvb3RlckNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGZvb3RlclNlcnZpY2U6IEZvb3RlclNlcnZpY2UsXG4gICkge1xuICB9XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSBbbmdJZl09XCJmb290ZXJTZXJ2aWNlLnBvcnRhbHMkIHwgYXN5bmNcIiBsZXQtcG9ydGFscz5cbiAgPG1hdC10b29sYmFyICpuZ0lmPVwicG9ydGFscy5sZW5ndGhcIiBjbGFzcz1cImZvb3RlciBtYXQtZWxldmF0aW9uLXoxXCI+XG4gICAgPG1hdC10b29sYmFyLXJvdyAqbmdGb3I9XCJsZXQgcG9ydGFsIG9mIHBvcnRhbHNcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9tYXQtdG9vbGJhci1yb3c+XG4gIDwvbWF0LXRvb2xiYXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,9 +1,9 @@
1
- import { Directive, TemplateRef, ViewContainerRef, NgModule, Inject, } from '@angular/core';
1
+ import { Directive, Inject, TemplateRef, ViewContainerRef, } from '@angular/core';
2
2
  import { FooterService } from '@rxap/services';
3
3
  import { TemplatePortal } from '@angular/cdk/portal';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@rxap/services";
6
- class FooterDirective {
6
+ export class FooterDirective {
7
7
  constructor(footerService, template, viewContainerRef) {
8
8
  this.footerService = footerService;
9
9
  this.template = template;
@@ -18,37 +18,23 @@ class FooterDirective {
18
18
  this.footerService.removePortal(this._portal);
19
19
  }
20
20
  }
21
- static { this.ɵfac = function FooterDirective_Factory(t) { return new (t || FooterDirective)(i0.ɵɵdirectiveInject(FooterService), i0.ɵɵdirectiveInject(TemplateRef), i0.ɵɵdirectiveInject(ViewContainerRef)); }; }
22
- static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: FooterDirective, selectors: [["", "rxapFooter", ""]] }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: FooterDirective, deps: [{ token: FooterService }, { token: TemplateRef }, { token: ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
22
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.4", type: FooterDirective, isStandalone: true, selector: "[rxapFooter]", ngImport: i0 }); }
23
23
  }
24
- export { FooterDirective };
25
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FooterDirective, [{
26
- type: Directive,
27
- args: [{
28
- selector: '[rxapFooter]',
29
- }]
30
- }], function () { return [{ type: i1.FooterService, decorators: [{
31
- type: Inject,
32
- args: [FooterService]
33
- }] }, { type: i0.TemplateRef, decorators: [{
34
- type: Inject,
35
- args: [TemplateRef]
36
- }] }, { type: i0.ViewContainerRef, decorators: [{
37
- type: Inject,
38
- args: [ViewContainerRef]
39
- }] }]; }, null); })();
40
- class FooterDirectiveModule {
41
- static { this.ɵfac = function FooterDirectiveModule_Factory(t) { return new (t || FooterDirectiveModule)(); }; }
42
- static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: FooterDirectiveModule }); }
43
- static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({}); }
44
- }
45
- export { FooterDirectiveModule };
46
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FooterDirectiveModule, [{
47
- type: NgModule,
48
- args: [{
49
- declarations: [FooterDirective],
50
- exports: [FooterDirective],
51
- }]
52
- }], null, null); })();
53
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(FooterDirectiveModule, { declarations: [FooterDirective], exports: [FooterDirective] }); })();
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvZm9vdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUdULFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFFckQsTUFHYSxlQUFlO0lBRzFCLFlBRW1CLGFBQTRCLEVBRTVCLFFBQTJCLEVBRTNCLGdCQUFrQztRQUpsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUU1QixhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUUzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ2xELENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FDL0IsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsZ0JBQWdCLENBQ3RCLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7Z0ZBeEJVLGVBQWUsdUJBSWhCLGFBQWEsd0JBRWIsV0FBVyx3QkFFWCxnQkFBZ0I7b0VBUmYsZUFBZTs7U0FBZixlQUFlO3VGQUFmLGVBQWU7Y0FIM0IsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2FBQ3pCOztzQkFLSSxNQUFNO3VCQUFDLGFBQWE7O3NCQUVwQixNQUFNO3VCQUFDLFdBQVc7O3NCQUVsQixNQUFNO3VCQUFDLGdCQUFnQjs7QUFtQjVCLE1BSWEscUJBQXFCO3NGQUFyQixxQkFBcUI7bUVBQXJCLHFCQUFxQjs7O1NBQXJCLHFCQUFxQjt1RkFBckIscUJBQXFCO2NBSmpDLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBQy9CLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQzthQUMzQjs7d0ZBQ1kscUJBQXFCLG1CQS9CckIsZUFBZSxhQUFmLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgTmdNb2R1bGUsXG4gIEluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb290ZXJTZXJ2aWNlIH0gZnJvbSAnQHJ4YXAvc2VydmljZXMnO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3J4YXBGb290ZXJdJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9vdGVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9wb3J0YWw/OiBUZW1wbGF0ZVBvcnRhbDx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEZvb3RlclNlcnZpY2UpXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb290ZXJTZXJ2aWNlOiBGb290ZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoVGVtcGxhdGVSZWYpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dm9pZD4sXG4gICAgQEluamVjdChWaWV3Q29udGFpbmVyUmVmKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX3BvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbDx2b2lkPihcbiAgICAgIHRoaXMudGVtcGxhdGUsXG4gICAgICB0aGlzLnZpZXdDb250YWluZXJSZWZcbiAgICApO1xuICAgIHRoaXMuZm9vdGVyU2VydmljZS5wdXNoUG9ydGFsKHRoaXMuX3BvcnRhbCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuX3BvcnRhbCkge1xuICAgICAgdGhpcy5mb290ZXJTZXJ2aWNlLnJlbW92ZVBvcnRhbCh0aGlzLl9wb3J0YWwpO1xuICAgIH1cbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtGb290ZXJEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbRm9vdGVyRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9vdGVyRGlyZWN0aXZlTW9kdWxlIHt9XG4iXX0=
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: FooterDirective, decorators: [{
25
+ type: Directive,
26
+ args: [{
27
+ selector: '[rxapFooter]',
28
+ standalone: true,
29
+ }]
30
+ }], ctorParameters: function () { return [{ type: i1.FooterService, decorators: [{
31
+ type: Inject,
32
+ args: [FooterService]
33
+ }] }, { type: i0.TemplateRef, decorators: [{
34
+ type: Inject,
35
+ args: [TemplateRef]
36
+ }] }, { type: i0.ViewContainerRef, decorators: [{
37
+ type: Inject,
38
+ args: [ViewContainerRef]
39
+ }] }]; } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbGF5b3V0L3NyYy9saWIvZm9vdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFHTixXQUFXLEVBQ1gsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQU1yRCxNQUFNLE9BQU8sZUFBZTtJQUcxQixZQUVtQixhQUE0QixFQUU1QixRQUEyQixFQUUzQixnQkFBa0M7UUFKbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFFNUIsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUFFM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUVyRCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxjQUFjLENBQy9CLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUN0QixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDOzhHQXpCVSxlQUFlLGtCQUloQixhQUFhLGFBRWIsV0FBVyxhQUVYLGdCQUFnQjtrR0FSZixlQUFlOzsyRkFBZixlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQUtJLE1BQU07MkJBQUMsYUFBYTs7MEJBRXBCLE1BQU07MkJBQUMsV0FBVzs7MEJBRWxCLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBJbmplY3QsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb290ZXJTZXJ2aWNlIH0gZnJvbSAnQHJ4YXAvc2VydmljZXMnO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3J4YXBGb290ZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRm9vdGVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9wb3J0YWw/OiBUZW1wbGF0ZVBvcnRhbDx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEZvb3RlclNlcnZpY2UpXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb290ZXJTZXJ2aWNlOiBGb290ZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoVGVtcGxhdGVSZWYpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dm9pZD4sXG4gICAgQEluamVjdChWaWV3Q29udGFpbmVyUmVmKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsPHZvaWQ+KFxuICAgICAgdGhpcy50ZW1wbGF0ZSxcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICApO1xuICAgIHRoaXMuZm9vdGVyU2VydmljZS5wdXNoUG9ydGFsKHRoaXMuX3BvcnRhbCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuX3BvcnRhbCkge1xuICAgICAgdGhpcy5mb290ZXJTZXJ2aWNlLnJlbW92ZVBvcnRhbCh0aGlzLl9wb3J0YWwpO1xuICAgIH1cbiAgfVxufVxuXG5cbiJdfQ==
@@ -1,107 +1,48 @@
1
- import { Component, ChangeDetectionStrategy, Inject, Optional, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Inject, Optional, signal, } from '@angular/core';
2
2
  import { RXAP_LAYOUT_APPS_GRID } from '../../tokens';
3
- import { ConfigService } from '@rxap/config';
3
+ import { MatIconModule } from '@angular/material/icon';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { FlexModule } from '@angular/flex-layout/flex';
6
+ import { NgFor, NgIf, NgOptimizedImage, } from '@angular/common';
7
+ import { AppUrlService, } from '../../app-url.service';
8
+ import { RxapAuthenticationService } from '@rxap/authentication';
9
+ import { switchMap, } from 'rxjs';
10
+ import { filter, tap, } from 'rxjs/operators';
4
11
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/material/legacy-button";
6
- import * as i2 from "@angular/material/icon";
7
- import * as i3 from "@angular/cdk/overlay";
8
- import * as i4 from "@angular/flex-layout/flex";
9
- import * as i5 from "@angular/flex-layout/extended";
10
- import * as i6 from "@angular/common";
11
- import * as i7 from "@rxap/config";
12
- function AppsButtonComponent_ng_template_0_ng_template_4_li_2_a_1_Template(rf, ctx) { if (rf & 1) {
13
- i0.ɵɵelementStart(0, "a", 9)(1, "span", 10);
14
- i0.ɵɵelement(2, "img", 11);
15
- i0.ɵɵelementStart(3, "span");
16
- i0.ɵɵtext(4);
17
- i0.ɵɵelementEnd()()();
18
- } if (rf & 2) {
19
- const item_r4 = i0.ɵɵnextContext().$implicit;
20
- i0.ɵɵproperty("href", item_r4.href, i0.ɵɵsanitizeUrl);
21
- i0.ɵɵadvance(2);
22
- i0.ɵɵproperty("src", item_r4.image, i0.ɵɵsanitizeUrl);
23
- i0.ɵɵadvance(2);
24
- i0.ɵɵtextInterpolate(item_r4.label);
25
- } }
26
- const _c0 = function (a0) { return { empty: a0 }; };
27
- function AppsButtonComponent_ng_template_0_ng_template_4_li_2_Template(rf, ctx) { if (rf & 1) {
28
- i0.ɵɵelementStart(0, "li", 7);
29
- i0.ɵɵtemplate(1, AppsButtonComponent_ng_template_0_ng_template_4_li_2_a_1_Template, 5, 3, "a", 8);
30
- i0.ɵɵelementEnd();
31
- } if (rf & 2) {
32
- const item_r4 = ctx.$implicit;
33
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c0, item_r4.empty));
34
- i0.ɵɵadvance(1);
35
- i0.ɵɵproperty("ngIf", !item_r4.empty);
36
- } }
37
- const _c1 = function (a0) { return { columns: a0 }; };
38
- function AppsButtonComponent_ng_template_0_ng_template_4_Template(rf, ctx) { if (rf & 1) {
39
- i0.ɵɵelementStart(0, "div", 4)(1, "ul", 5);
40
- i0.ɵɵtemplate(2, AppsButtonComponent_ng_template_0_ng_template_4_li_2_Template, 2, 4, "li", 6);
41
- i0.ɵɵelementEnd()();
42
- } if (rf & 2) {
43
- const ctx_r2 = i0.ɵɵnextContext(2);
44
- i0.ɵɵadvance(1);
45
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(2, _c1, ctx_r2.columns));
46
- i0.ɵɵadvance(1);
47
- i0.ɵɵproperty("ngForOf", ctx_r2.gridWithPadding);
48
- } }
49
- function AppsButtonComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {
50
- const _r8 = i0.ɵɵgetCurrentView();
51
- i0.ɵɵelementStart(0, "button", 1, 2);
52
- i0.ɵɵlistener("click", function AppsButtonComponent_ng_template_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.isOpen = !ctx_r7.isOpen); });
53
- i0.ɵɵelementStart(2, "mat-icon");
54
- i0.ɵɵtext(3, "apps");
55
- i0.ɵɵelementEnd()();
56
- i0.ɵɵtemplate(4, AppsButtonComponent_ng_template_0_ng_template_4_Template, 3, 4, "ng-template", 3);
57
- i0.ɵɵlistener("overlayOutsideClick", function AppsButtonComponent_ng_template_0_Template_ng_template_overlayOutsideClick_4_listener() { i0.ɵɵrestoreView(_r8); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.isOpen = false); });
58
- } if (rf & 2) {
59
- const _r1 = i0.ɵɵreference(1);
60
- const ctx_r0 = i0.ɵɵnextContext();
61
- i0.ɵɵadvance(4);
62
- i0.ɵɵproperty("cdkConnectedOverlayOpen", ctx_r0.isOpen)("cdkConnectedOverlayOrigin", _r1);
63
- } }
64
- class AppsButtonComponent {
65
- get gridWithPadding() {
66
- const gridWithPadding = this.grid.slice();
67
- while (gridWithPadding.length % this.columns !== 0) {
68
- gridWithPadding.push({ empty: true });
69
- }
70
- return gridWithPadding;
12
+ import * as i1 from "../../app-url.service";
13
+ import * as i2 from "@rxap/authentication";
14
+ import * as i3 from "@angular/material/button";
15
+ import * as i4 from "@angular/material/icon";
16
+ export class AppsButtonComponent {
17
+ constructor(grid, appUrlService, authenticationService) {
18
+ this.appUrlService = appUrlService;
19
+ this.authenticationService = authenticationService;
20
+ this.isOpen = false;
21
+ this.appList = signal([]);
71
22
  }
72
- get columns() {
73
- if (this.grid.length < 4) {
74
- return 1;
75
- }
76
- if (this.grid.length < 6) {
77
- return 2;
78
- }
79
- return 3;
23
+ ngOnInit() {
24
+ this._subscription = this.authenticationService.isAuthenticated$.pipe(filter(Boolean), switchMap(() => this.appUrlService.getAppList()), tap((apps) => this.appList.set(apps))).subscribe();
80
25
  }
81
- constructor(grid, config) {
82
- this.config = config;
83
- this.isOpen = false;
84
- this.grid = [];
85
- this.grid = grid ?? this.config.get('navigation.apps') ?? [];
26
+ ngOnDestroy() {
27
+ this._subscription?.unsubscribe();
86
28
  }
87
- static { this.ɵfac = function AppsButtonComponent_Factory(t) { return new (t || AppsButtonComponent)(i0.ɵɵdirectiveInject(RXAP_LAYOUT_APPS_GRID, 8), i0.ɵɵdirectiveInject(ConfigService)); }; }
88
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AppsButtonComponent, selectors: [["rxap-apps-button"]], hostAttrs: [1, "rxap-apps-button"], decls: 1, vars: 1, consts: [[3, "ngIf"], ["cdkOverlayOrigin", "", "mat-icon-button", "", 3, "click"], ["trigger", "cdkOverlayOrigin"], ["cdkConnectedOverlay", "", 3, "cdkConnectedOverlayOpen", "cdkConnectedOverlayOrigin", "overlayOutsideClick"], [1, "grid-container"], [1, "grid", 3, "ngStyle"], [3, "ngClass", 4, "ngFor", "ngForOf"], [3, "ngClass"], [3, "href", 4, "ngIf"], [3, "href"], ["fxLayout", "column", "fxLayoutAlign", "start center", "fxLayoutGap", "12px"], ["width", "53px", 3, "src"]], template: function AppsButtonComponent_Template(rf, ctx) { if (rf & 1) {
89
- i0.ɵɵtemplate(0, AppsButtonComponent_ng_template_0_Template, 5, 2, "ng-template", 0);
90
- } if (rf & 2) {
91
- i0.ɵɵproperty("ngIf", ctx.grid && ctx.grid.length);
92
- } }, dependencies: [i1.MatLegacyButton, i2.MatIcon, i3.CdkConnectedOverlay, i3.CdkOverlayOrigin, i4.DefaultLayoutDirective, i4.DefaultLayoutGapDirective, i4.DefaultLayoutAlignDirective, i5.DefaultClassDirective, i5.DefaultStyleDirective, i6.NgClass, i6.NgForOf, i6.NgIf, i6.NgStyle], styles: [".grid-container[_ngcontent-%COMP%]{padding:8px;border:1px solid rgba(0,0,0,.2);border-radius:8px;box-shadow:0 1px 2px #3c40434d,0 2px 6px 2px #3c404326}.grid[_ngcontent-%COMP%]{list-style-type:none;margin:0;padding:0}.grid[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{border-radius:8px;padding:6px;height:84px;width:84px;transition-delay:0s;transition-duration:.2s;transition-property:tramsform;transition-timing-function:cubic-bezier(.333,0,0,1);position:relative}.grid[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{position:absolute;inset:6px;text-align:center;text-decoration:none;color:#000}"], changeDetection: 0 }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AppsButtonComponent, deps: [{ token: RXAP_LAYOUT_APPS_GRID, optional: true }, { token: i1.AppUrlService }, { token: i2.RxapAuthenticationService }], target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: AppsButtonComponent, isStandalone: true, selector: "rxap-apps-button", ngImport: i0, template: "<div *ngIf=\"appList()?.length\" class=\"flex flex-row items-center gap-8\">\n\n <div *ngIf=\"isOpen\" class=\"flex flex-row items-center gap-6\">\n\n <div *ngFor=\"let app of appList()\" class=\"h-10\">\n <a [href]=\"app.href\" mat-stroked-button>\n <span class=\"flex flex-row items-center gap-4\">\n <img *ngIf=\"app.image\" [alt]=\"app.label\" [ngSrc]=\"app.image\" height=\"40\" width=\"40\">\n <span class=\"label grow-0\">{{app.label}}</span>\n </span>\n </a>\n </div>\n\n </div>\n\n <button (click)=\"isOpen = !isOpen\" mat-icon-button>\n <mat-icon>apps</mat-icon>\n </button>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FlexModule }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
31
  }
94
- export { AppsButtonComponent };
95
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppsButtonComponent, [{
96
- type: Component,
97
- args: [{ selector: 'rxap-apps-button', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'rxap-apps-button' }, template: "<ng-template [ngIf]=\"grid && grid.length\">\n <button #trigger=\"cdkOverlayOrigin\" (click)=\"isOpen = !isOpen\" cdkOverlayOrigin mat-icon-button>\n <mat-icon>apps</mat-icon>\n </button>\n\n <ng-template (overlayOutsideClick)=\"isOpen = false\"\n [cdkConnectedOverlayOpen]=\"isOpen\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n cdkConnectedOverlay>\n\n <div class=\"grid-container\">\n\n <ul [ngStyle]=\"{ columns: columns }\" class=\"grid\">\n <li *ngFor=\"let item of gridWithPadding\" [ngClass]=\"{ empty: item.empty }\">\n <a *ngIf=\"!item.empty\" [href]=\"item.href\">\n\n <span fxLayout=\"column\" fxLayoutAlign=\"start center\" fxLayoutGap=\"12px\">\n <img [src]=\"item.image\" width=\"53px\">\n <span>{{item.label}}</span>\n </span>\n\n </a>\n </li>\n </ul>\n\n </div>\n\n </ng-template>\n</ng-template>\n", styles: [".grid-container{padding:8px;border:1px solid rgba(0,0,0,.2);border-radius:8px;box-shadow:0 1px 2px #3c40434d,0 2px 6px 2px #3c404326}.grid{list-style-type:none;margin:0;padding:0}.grid li{border-radius:8px;padding:6px;height:84px;width:84px;transition-delay:0s;transition-duration:.2s;transition-property:tramsform;transition-timing-function:cubic-bezier(.333,0,0,1);position:relative}.grid li a{position:absolute;inset:6px;text-align:center;text-decoration:none;color:#000}\n"] }]
98
- }], function () { return [{ type: undefined, decorators: [{
99
- type: Optional
100
- }, {
101
- type: Inject,
102
- args: [RXAP_LAYOUT_APPS_GRID]
103
- }] }, { type: i7.ConfigService, decorators: [{
104
- type: Inject,
105
- args: [ConfigService]
106
- }] }]; }, null); })();
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcy1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvYXBwcy1idXR0b24vYXBwcy1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvYXBwcy1idXR0b24vYXBwcy1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7OztJQ09uQyw0QkFBMEMsZUFBQTtJQUcxQywwQkFBcUM7SUFDckMsNEJBQU07SUFBQSxZQUFjO0lBQUEsaUJBQU8sRUFBQSxFQUFBOzs7SUFKSixxREFBa0I7SUFHcEMsZUFBa0I7SUFBbEIscURBQWtCO0lBQ2pCLGVBQWM7SUFBZCxtQ0FBYzs7OztJQUx0Qiw2QkFBMkU7SUFDekUsaUdBT0k7SUFDTixpQkFBSzs7O0lBVG9DLG1FQUFpQztJQUNwRSxlQUFpQjtJQUFqQixxQ0FBaUI7Ozs7SUFKM0IsOEJBQTRCLFlBQUE7SUFHeEIsOEZBU0s7SUFDUCxpQkFBSyxFQUFBOzs7SUFYRCxlQUFnQztJQUFoQyxvRUFBZ0M7SUFDYixlQUFrQjtJQUFsQixnREFBa0I7Ozs7SUFaN0Msb0NBQWdHO0lBQTVELDBOQUEwQjtJQUM1RCxnQ0FBVTtJQUFBLG9CQUFJO0lBQUEsaUJBQVcsRUFBQTtJQUczQixrR0FzQmM7SUF0QkQsd09BQWdDLEtBQUssS0FBQzs7OztJQUN0QyxlQUFrQztJQUFsQyx1REFBa0Msa0NBQUE7O0FEaUJqRCxNQU9hLG1CQUFtQjtJQUM5QixJQUFXLGVBQWU7UUFHeEIsTUFBTSxlQUFlLEdBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsT0FBTyxlQUFlLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssQ0FBQyxFQUFFO1lBQ2xELGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN2QztRQUNELE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDeEIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFLRCxZQUdFLElBQVMsRUFFUSxNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBUmpDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixTQUFJLEdBQThCLEVBQUUsQ0FBQztRQVMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvRCxDQUFDO29GQWpDVSxtQkFBbUIsdUJBMkJwQixxQkFBcUIsMkJBRXJCLGFBQWE7b0VBN0JaLG1CQUFtQjtZQzlCaEMsb0ZBNEJjOztZQTVCRCxrREFBNEI7OztTRDhCNUIsbUJBQW1CO3VGQUFuQixtQkFBbUI7Y0FQL0IsU0FBUzsyQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxRQUN6QyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRTs7c0JBNEJoQyxRQUFROztzQkFDUixNQUFNO3VCQUFDLHFCQUFxQjs7c0JBRTVCLE1BQU07dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIEluamVjdCxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUlhBUF9MQVlPVVRfQVBQU19HUklEIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAcnhhcC9jb25maWcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwcHNCdXR0b25HcmlkSXRlbSB7XG4gIGltYWdlOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGhyZWY6IHN0cmluZztcbiAgZW1wdHk/OiBmYWxzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbXB0eUFwcHNCdXR0b25HcmlkSXRlbSB7XG4gIGVtcHR5OiB0cnVlO1xuICBocmVmPzogdW5kZWZpbmVkO1xuICBsYWJlbD86IHVuZGVmaW5lZDtcbiAgaW1hZ2U/OiB1bmRlZmluZWQ7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3J4YXAtYXBwcy1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYXBwcy1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hcHBzLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBjbGFzczogJ3J4YXAtYXBwcy1idXR0b24nIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFwcHNCdXR0b25Db21wb25lbnQge1xuICBwdWJsaWMgZ2V0IGdyaWRXaXRoUGFkZGluZygpOiBBcnJheTxcbiAgICBBcHBzQnV0dG9uR3JpZEl0ZW0gfCBFbXB0eUFwcHNCdXR0b25HcmlkSXRlbVxuICA+IHtcbiAgICBjb25zdCBncmlkV2l0aFBhZGRpbmc6IEFycmF5PEFwcHNCdXR0b25HcmlkSXRlbSB8IEVtcHR5QXBwc0J1dHRvbkdyaWRJdGVtPiA9XG4gICAgICB0aGlzLmdyaWQuc2xpY2UoKTtcbiAgICB3aGlsZSAoZ3JpZFdpdGhQYWRkaW5nLmxlbmd0aCAlIHRoaXMuY29sdW1ucyAhPT0gMCkge1xuICAgICAgZ3JpZFdpdGhQYWRkaW5nLnB1c2goeyBlbXB0eTogdHJ1ZSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGdyaWRXaXRoUGFkZGluZztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29sdW1ucygpIHtcbiAgICBpZiAodGhpcy5ncmlkLmxlbmd0aCA8IDQpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICBpZiAodGhpcy5ncmlkLmxlbmd0aCA8IDYpIHtcbiAgICAgIHJldHVybiAyO1xuICAgIH1cbiAgICByZXR1cm4gMztcbiAgfVxuXG4gIHB1YmxpYyBpc09wZW4gPSBmYWxzZTtcbiAgcHVibGljIGdyaWQ6IEFycmF5PEFwcHNCdXR0b25HcmlkSXRlbT4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoUlhBUF9MQVlPVVRfQVBQU19HUklEKVxuICAgIGdyaWQ6IGFueSxcbiAgICBASW5qZWN0KENvbmZpZ1NlcnZpY2UpXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IENvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5ncmlkID0gZ3JpZCA/PyB0aGlzLmNvbmZpZy5nZXQoJ25hdmlnYXRpb24uYXBwcycpID8/IFtdO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgW25nSWZdPVwiZ3JpZCAmJiBncmlkLmxlbmd0aFwiPlxuICA8YnV0dG9uICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiIChjbGljayk9XCJpc09wZW4gPSAhaXNPcGVuXCIgY2RrT3ZlcmxheU9yaWdpbiBtYXQtaWNvbi1idXR0b24+XG4gICAgPG1hdC1pY29uPmFwcHM8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8bmctdGVtcGxhdGUgKG92ZXJsYXlPdXRzaWRlQ2xpY2spPVwiaXNPcGVuID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cImlzT3BlblwiXG4gICAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyXCJcbiAgICAgICAgICAgICAgIGNka0Nvbm5lY3RlZE92ZXJsYXk+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1jb250YWluZXJcIj5cblxuICAgICAgPHVsIFtuZ1N0eWxlXT1cInsgY29sdW1uczogY29sdW1ucyB9XCIgY2xhc3M9XCJncmlkXCI+XG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncmlkV2l0aFBhZGRpbmdcIiBbbmdDbGFzc109XCJ7IGVtcHR5OiBpdGVtLmVtcHR5IH1cIj5cbiAgICAgICAgICA8YSAqbmdJZj1cIiFpdGVtLmVtcHR5XCIgW2hyZWZdPVwiaXRlbS5ocmVmXCI+XG5cbiAgICAgICAgPHNwYW4gZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxMnB4XCI+XG4gICAgICAgICAgPGltZyBbc3JjXT1cIml0ZW0uaW1hZ2VcIiB3aWR0aD1cIjUzcHhcIj5cbiAgICAgICAgICA8c3Bhbj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cblxuICAgIDwvZGl2PlxuXG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AppsButtonComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'rxap-apps-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
35
+ NgIf,
36
+ FlexModule,
37
+ NgFor,
38
+ MatButtonModule,
39
+ MatIconModule,
40
+ NgOptimizedImage,
41
+ ], template: "<div *ngIf=\"appList()?.length\" class=\"flex flex-row items-center gap-8\">\n\n <div *ngIf=\"isOpen\" class=\"flex flex-row items-center gap-6\">\n\n <div *ngFor=\"let app of appList()\" class=\"h-10\">\n <a [href]=\"app.href\" mat-stroked-button>\n <span class=\"flex flex-row items-center gap-4\">\n <img *ngIf=\"app.image\" [alt]=\"app.label\" [ngSrc]=\"app.image\" height=\"40\" width=\"40\">\n <span class=\"label grow-0\">{{app.label}}</span>\n </span>\n </a>\n </div>\n\n </div>\n\n <button (click)=\"isOpen = !isOpen\" mat-icon-button>\n <mat-icon>apps</mat-icon>\n </button>\n\n</div>\n" }]
42
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
43
+ type: Optional
44
+ }, {
45
+ type: Inject,
46
+ args: [RXAP_LAYOUT_APPS_GRID]
47
+ }] }, { type: i1.AppUrlService }, { type: i2.RxapAuthenticationService }]; } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcy1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvYXBwcy1idXR0b24vYXBwcy1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9oZWFkZXIvYXBwcy1idXR0b24vYXBwcy1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUdOLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFDTCxLQUFLLEVBQ0wsSUFBSSxFQUNKLGdCQUFnQixHQUNqQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDTCxhQUFhLEdBRWQsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBRUwsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUNMLE1BQU0sRUFDTixHQUFHLEdBQ0osTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBaUJ4QixNQUFNLE9BQU8sbUJBQW1CO0lBTzlCLFlBR0ksSUFBUyxFQUNNLGFBQTRCLEVBQzVCLHFCQUFnRDtRQURoRCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQTJCO1FBWDVELFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFTixZQUFPLEdBQUcsTUFBTSxDQUFzQixFQUFFLENBQUMsQ0FBQztJQVV2RCxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDbkUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUNmLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQ2hELEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDdEMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQzs4R0F6QlUsbUJBQW1CLGtCQVNwQixxQkFBcUI7a0dBVHBCLG1CQUFtQiw0RUMvQ2hDLDZvQkFvQkEsMEREbUJJLElBQUksNEZBQ0osVUFBVSwrQkFDVixLQUFLLGtIQUNMLGVBQWUsb2FBQ2YsYUFBYSxvTEFDYixnQkFBZ0I7OzJGQUdQLG1CQUFtQjtrQkFmL0IsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixVQUFVO3dCQUNWLEtBQUs7d0JBQ0wsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakI7OzBCQVVFLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSWEFQX0xBWU9VVF9BUFBTX0dSSUQgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEZsZXhNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dC9mbGV4JztcbmltcG9ydCB7XG4gIE5nRm9yLFxuICBOZ0lmLFxuICBOZ09wdGltaXplZEltYWdlLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQXBwVXJsU2VydmljZSxcbiAgRXh0ZXJuYWxBcHBzLFxufSBmcm9tICcuLi8uLi9hcHAtdXJsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUnhhcEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJ0ByeGFwL2F1dGhlbnRpY2F0aW9uJztcbmltcG9ydCB7XG4gIFN1YnNjcmlwdGlvbixcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGZpbHRlcixcbiAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3J4YXAtYXBwcy1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYXBwcy1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vYXBwcy1idXR0b24uY29tcG9uZW50LnNjc3MnIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBGbGV4TW9kdWxlLFxuICAgIE5nRm9yLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE5nT3B0aW1pemVkSW1hZ2UsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFwcHNCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBpc09wZW4gPSBmYWxzZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYXBwTGlzdCA9IHNpZ25hbDxBcnJheTxFeHRlcm5hbEFwcHM+PihbXSk7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChSWEFQX0xBWU9VVF9BUFBTX0dSSUQpXG4gICAgICBncmlkOiBhbnksXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBVcmxTZXJ2aWNlOiBBcHBVcmxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBSeGFwQXV0aGVudGljYXRpb25TZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuaXNBdXRoZW50aWNhdGVkJC5waXBlKFxuICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuYXBwVXJsU2VydmljZS5nZXRBcHBMaXN0KCkpLFxuICAgICAgdGFwKChhcHBzKSA9PiB0aGlzLmFwcExpc3Quc2V0KGFwcHMpKSxcbiAgICApLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbn1cbiIsIjxkaXYgKm5nSWY9XCJhcHBMaXN0KCk/Lmxlbmd0aFwiIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgZ2FwLThcIj5cblxuICA8ZGl2ICpuZ0lmPVwiaXNPcGVuXCIgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGl0ZW1zLWNlbnRlciBnYXAtNlwiPlxuXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgYXBwIG9mIGFwcExpc3QoKVwiIGNsYXNzPVwiaC0xMFwiPlxuICAgICAgPGEgW2hyZWZdPVwiYXBwLmhyZWZcIiBtYXQtc3Ryb2tlZC1idXR0b24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgZ2FwLTRcIj5cbiAgICAgICAgICA8aW1nICpuZ0lmPVwiYXBwLmltYWdlXCIgW2FsdF09XCJhcHAubGFiZWxcIiBbbmdTcmNdPVwiYXBwLmltYWdlXCIgaGVpZ2h0PVwiNDBcIiB3aWR0aD1cIjQwXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbCBncm93LTBcIj57e2FwcC5sYWJlbH19PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cbiAgPGJ1dHRvbiAoY2xpY2spPVwiaXNPcGVuID0gIWlzT3BlblwiIG1hdC1pY29uLWJ1dHRvbj5cbiAgICA8bWF0LWljb24+YXBwczwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG48L2Rpdj5cbiJdfQ==