@theseam/ui-common 0.3.8 → 0.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,6 +9,7 @@ import { BaseLayoutContentFooterDirective } from './directives/base-layout-conte
9
9
  import { BaseLayoutContentHeaderDirective } from './directives/base-layout-content-header.directive';
10
10
  import { BaseLayoutContentDirective } from './directives/base-layout-content.directive';
11
11
  import { BaseLayoutNavToggleDirective } from './directives/base-layout-nav-toggle.directive';
12
+ import { BaseLayoutSideBarFooterDirective } from './directives/base-layout-side-bar-footer.directive';
12
13
  import { BaseLayoutSideBarDirective } from './directives/base-layout-side-bar.directive';
13
14
  import { BaseLayoutTopBarDirective } from './directives/base-layout-top-bar.directive';
14
15
  export class TheSeamBaseLayoutModule {
@@ -19,6 +20,7 @@ TheSeamBaseLayoutModule.decorators = [
19
20
  TheSeamBaseLayoutComponent,
20
21
  BaseLayoutContentDirective,
21
22
  BaseLayoutSideBarDirective,
23
+ BaseLayoutSideBarFooterDirective,
22
24
  BaseLayoutTopBarDirective,
23
25
  BaseLayoutNavToggleDirective,
24
26
  BaseLayoutContentHeaderDirective,
@@ -35,6 +37,7 @@ TheSeamBaseLayoutModule.decorators = [
35
37
  TheSeamBaseLayoutComponent,
36
38
  BaseLayoutContentDirective,
37
39
  BaseLayoutSideBarDirective,
40
+ BaseLayoutSideBarFooterDirective,
38
41
  BaseLayoutTopBarDirective,
39
42
  BaseLayoutNavToggleDirective,
40
43
  BaseLayoutContentHeaderDirective,
@@ -42,4 +45,4 @@ TheSeamBaseLayoutModule.decorators = [
42
45
  ]
43
46
  },] }
44
47
  ];
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYXlvdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9iYXNlLWxheW91dC9iYXNlLWxheW91dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXhDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRXJFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG1EQUFtRCxDQUFBO0FBQ3BHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG1EQUFtRCxDQUFBO0FBQ3BHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBQ3ZGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFBO0FBQzVGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBK0J0RixNQUFNLE9BQU8sdUJBQXVCOzs7WUEzQm5DLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osMEJBQTBCO29CQUMxQiwwQkFBMEI7b0JBQzFCLDBCQUEwQjtvQkFDMUIseUJBQXlCO29CQUN6Qiw0QkFBNEI7b0JBQzVCLGdDQUFnQztvQkFDaEMsZ0NBQWdDO2lCQUNqQztnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZO29CQUNaLHNCQUFzQjtvQkFDdEIsaUJBQWlCO29CQUNqQixvQkFBb0I7aUJBQ3JCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCwwQkFBMEI7b0JBQzFCLDBCQUEwQjtvQkFDMUIsMEJBQTBCO29CQUMxQix5QkFBeUI7b0JBQ3pCLDRCQUE0QjtvQkFDNUIsZ0NBQWdDO29CQUNoQyxnQ0FBZ0M7aUJBQ2pDO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBUaGVTZWFtQnV0dG9uc01vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9idXR0b25zJ1xuaW1wb3J0IHsgVGhlU2VhbUljb25Nb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vaWNvbidcbmltcG9ydCB7IFRoZVNlYW1TY3JvbGxiYXJNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vc2Nyb2xsYmFyJ1xuXG5pbXBvcnQgeyBUaGVTZWFtQmFzZUxheW91dENvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1sYXlvdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgQmFzZUxheW91dENvbnRlbnRGb290ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYmFzZS1sYXlvdXQtY29udGVudC1mb290ZXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgQmFzZUxheW91dENvbnRlbnRIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYmFzZS1sYXlvdXQtY29udGVudC1oZWFkZXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgQmFzZUxheW91dENvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYmFzZS1sYXlvdXQtY29udGVudC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBCYXNlTGF5b3V0TmF2VG9nZ2xlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LW5hdi10b2dnbGUuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgQmFzZUxheW91dFNpZGVCYXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYmFzZS1sYXlvdXQtc2lkZS1iYXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgQmFzZUxheW91dFRvcEJhckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9iYXNlLWxheW91dC10b3AtYmFyLmRpcmVjdGl2ZSdcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRoZVNlYW1CYXNlTGF5b3V0Q29tcG9uZW50LFxuICAgIEJhc2VMYXlvdXRDb250ZW50RGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXRTaWRlQmFyRGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXRUb3BCYXJEaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dE5hdlRvZ2dsZURpcmVjdGl2ZSxcbiAgICBCYXNlTGF5b3V0Q29udGVudEhlYWRlckRpcmVjdGl2ZSxcbiAgICBCYXNlTGF5b3V0Q29udGVudEZvb3RlckRpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgICBUaGVTZWFtU2Nyb2xsYmFyTW9kdWxlLFxuICAgIFRoZVNlYW1JY29uTW9kdWxlLFxuICAgIFRoZVNlYW1CdXR0b25zTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUaGVTZWFtQmFzZUxheW91dENvbXBvbmVudCxcbiAgICBCYXNlTGF5b3V0Q29udGVudERpcmVjdGl2ZSxcbiAgICBCYXNlTGF5b3V0U2lkZUJhckRpcmVjdGl2ZSxcbiAgICBCYXNlTGF5b3V0VG9wQmFyRGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXROYXZUb2dnbGVEaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dENvbnRlbnRIZWFkZXJEaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dENvbnRlbnRGb290ZXJEaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVTZWFtQmFzZUxheW91dE1vZHVsZSB7IH1cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYXlvdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9iYXNlLWxheW91dC9iYXNlLWxheW91dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXhDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRXJFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG1EQUFtRCxDQUFBO0FBQ3BHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG1EQUFtRCxDQUFBO0FBQ3BHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBQ3ZGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFBO0FBQzVGLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQ3JHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBaUN0RixNQUFNLE9BQU8sdUJBQXVCOzs7WUE3Qm5DLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osMEJBQTBCO29CQUMxQiwwQkFBMEI7b0JBQzFCLDBCQUEwQjtvQkFDMUIsZ0NBQWdDO29CQUNoQyx5QkFBeUI7b0JBQ3pCLDRCQUE0QjtvQkFDNUIsZ0NBQWdDO29CQUNoQyxnQ0FBZ0M7aUJBQ2pDO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFlBQVk7b0JBQ1osc0JBQXNCO29CQUN0QixpQkFBaUI7b0JBQ2pCLG9CQUFvQjtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDBCQUEwQjtvQkFDMUIsMEJBQTBCO29CQUMxQiwwQkFBMEI7b0JBQzFCLGdDQUFnQztvQkFDaEMseUJBQXlCO29CQUN6Qiw0QkFBNEI7b0JBQzVCLGdDQUFnQztvQkFDaEMsZ0NBQWdDO2lCQUNqQzthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgVGhlU2VhbUJ1dHRvbnNNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vYnV0dG9ucydcbmltcG9ydCB7IFRoZVNlYW1JY29uTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2ljb24nXG5pbXBvcnQgeyBUaGVTZWFtU2Nyb2xsYmFyTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3Njcm9sbGJhcidcblxuaW1wb3J0IHsgVGhlU2VhbUJhc2VMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtbGF5b3V0LmNvbXBvbmVudCdcbmltcG9ydCB7IEJhc2VMYXlvdXRDb250ZW50Rm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LWNvbnRlbnQtZm9vdGVyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEJhc2VMYXlvdXRDb250ZW50SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LWNvbnRlbnQtaGVhZGVyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEJhc2VMYXlvdXRDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LWNvbnRlbnQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgQmFzZUxheW91dE5hdlRvZ2dsZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9iYXNlLWxheW91dC1uYXYtdG9nZ2xlLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEJhc2VMYXlvdXRTaWRlQmFyRm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LXNpZGUtYmFyLWZvb3Rlci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBCYXNlTGF5b3V0U2lkZUJhckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9iYXNlLWxheW91dC1zaWRlLWJhci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBCYXNlTGF5b3V0VG9wQmFyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LXRvcC1iYXIuZGlyZWN0aXZlJ1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVGhlU2VhbUJhc2VMYXlvdXRDb21wb25lbnQsXG4gICAgQmFzZUxheW91dENvbnRlbnREaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dFNpZGVCYXJEaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dFNpZGVCYXJGb290ZXJEaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dFRvcEJhckRpcmVjdGl2ZSxcbiAgICBCYXNlTGF5b3V0TmF2VG9nZ2xlRGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXRDb250ZW50SGVhZGVyRGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXRDb250ZW50Rm9vdGVyRGlyZWN0aXZlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlLFxuICAgIFRoZVNlYW1TY3JvbGxiYXJNb2R1bGUsXG4gICAgVGhlU2VhbUljb25Nb2R1bGUsXG4gICAgVGhlU2VhbUJ1dHRvbnNNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFRoZVNlYW1CYXNlTGF5b3V0Q29tcG9uZW50LFxuICAgIEJhc2VMYXlvdXRDb250ZW50RGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXRTaWRlQmFyRGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXRTaWRlQmFyRm9vdGVyRGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXRUb3BCYXJEaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dE5hdlRvZ2dsZURpcmVjdGl2ZSxcbiAgICBCYXNlTGF5b3V0Q29udGVudEhlYWRlckRpcmVjdGl2ZSxcbiAgICBCYXNlTGF5b3V0Q29udGVudEZvb3RlckRpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1CYXNlTGF5b3V0TW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,15 @@
1
+ import { Directive, ElementRef } from '@angular/core';
2
+ export class BaseLayoutSideBarFooterDirective {
3
+ constructor(_elementRef) {
4
+ this._elementRef = _elementRef;
5
+ }
6
+ }
7
+ BaseLayoutSideBarFooterDirective.decorators = [
8
+ { type: Directive, args: [{
9
+ selector: '[seamBaseLayoutSideBarFooter]'
10
+ },] }
11
+ ];
12
+ BaseLayoutSideBarFooterDirective.ctorParameters = () => [
13
+ { type: ElementRef }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYXlvdXQtc2lkZS1iYXItZm9vdGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvYmFzZS1sYXlvdXQvZGlyZWN0aXZlcy9iYXNlLWxheW91dC1zaWRlLWJhci1mb290ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBT3JELE1BQU0sT0FBTyxnQ0FBZ0M7SUFFM0MsWUFDUyxXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtJQUM1QixDQUFDOzs7WUFQTixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLCtCQUErQjthQUMxQzs7O1lBTm1CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBIYXNFbGVtZW50UmVmIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2NvcmUnXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzZWFtQmFzZUxheW91dFNpZGVCYXJGb290ZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBCYXNlTGF5b3V0U2lkZUJhckZvb3RlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEhhc0VsZW1lbnRSZWYge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBfZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHsgfVxuXG59XG4iXX0=
@@ -1,13 +1,15 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { animate, animateChild, group, query, state, style, transition, trigger } from '@angular/animations';
3
3
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
- import { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, Optional, ViewEncapsulation } from '@angular/core';
4
+ import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Inject, Input, Optional, Output, TemplateRef, ViewContainerRef, ViewEncapsulation } from '@angular/core';
5
5
  import { BehaviorSubject, combineLatest, Subject } from 'rxjs';
6
6
  import { distinctUntilChanged, map, shareReplay, switchMap, takeUntil, tap } from 'rxjs/operators';
7
7
  import { InputBoolean } from '@theseam/ui-common/core';
8
8
  import { TheSeamLayoutService } from '@theseam/ui-common/layout';
9
9
  import { THESEAM_BASE_LAYOUT_REF } from '../base-layout/index';
10
10
  import { TheSeamSideNavService } from './side-nav.service';
11
+ import { BaseLayoutSideBarFooterDirective } from '../base-layout/directives/base-layout-side-bar-footer.directive';
12
+ import { TemplatePortal } from '@angular/cdk/portal';
11
13
  const EXPANDED_STATE = 'expanded';
12
14
  const COLLAPSED_STATE = 'collapsed';
13
15
  const EXPANDED_OVERLAY_STATE = 'expanded-overlay';
@@ -36,7 +38,8 @@ export function sideNavExpandStateChangeFn(fromState, toState) {
36
38
  (EXPANDED_STATES.indexOf(toState) !== -1 && COLLAPSED_STATES.indexOf(fromState) !== -1)));
37
39
  }
38
40
  export class SideNavComponent {
39
- constructor(_layout, _sideNav, _baseLayoutRef) {
41
+ constructor(_viewContainerRef, _layout, _sideNav, _baseLayoutRef) {
42
+ this._viewContainerRef = _viewContainerRef;
40
43
  this._layout = _layout;
41
44
  this._sideNav = _sideNav;
42
45
  this._baseLayoutRef = _baseLayoutRef;
@@ -48,9 +51,10 @@ export class SideNavComponent {
48
51
  this.hasHeaderToggle = true;
49
52
  this._items = new BehaviorSubject([]);
50
53
  this._expanded = new BehaviorSubject(true);
51
- this.expanded$ = this._expanded.asObservable();
54
+ this.expanded$ = this._expanded.asObservable().pipe(tap(expanded => this.toggleExpand.emit(expanded)));
52
55
  this._overlay = new BehaviorSubject(false);
53
56
  this.overlay$ = this._overlay.asObservable();
57
+ this.toggleExpand = new EventEmitter();
54
58
  this._backdropHidden = new BehaviorSubject(true);
55
59
  this.items$ = this._items.asObservable().pipe(switchMap(items => this._sideNav.createItemsObservable(items)), shareReplay({ bufferSize: 1, refCount: true }));
56
60
  this.isMobile$ = this._layout.isMobile$.pipe(tap(isMobile => isMobile && this.collapse()));
@@ -74,6 +78,9 @@ export class SideNavComponent {
74
78
  this.sideNavExpandedState$
75
79
  .pipe(takeUntil(this._ngUnsubscribe))
76
80
  .subscribe(v => this._sideNavExpand = v);
81
+ if (this._sideBarFooterTpl) {
82
+ this._sideBarFooterPortal = new TemplatePortal(this._sideBarFooterTpl, this._viewContainerRef);
83
+ }
77
84
  }
78
85
  ngOnDestroy() {
79
86
  this._ngUnsubscribe.next();
@@ -105,7 +112,7 @@ export class SideNavComponent {
105
112
  SideNavComponent.decorators = [
106
113
  { type: Component, args: [{
107
114
  selector: 'seam-side-nav',
108
- template: "<div class=\"side-nav-backdrop\" *ngIf=\"isMobile$ | async\"\n [@sideNavBackdrop]=\"_sideNavExpand\"\n [class.side-nav-backdrop-hidden]=\"_backdropHidden | async\"></div>\n\n<div class=\"side-nav-inner-wrapper\" [@sideNavExpand]=\"_sideNavExpand\"\n (@sideNavExpand.start)=\"animateStart()\"\n (@sideNavExpand.done)=\"animateEnd()\">\n <nav class=\"nav side-nav-content\">\n <seam-side-nav-toggle *ngIf=\"hasHeaderToggle\"\n [expanded]=\"expanded$ | async\"\n (toggleExpand)=\"toggle()\">\n </seam-side-nav-toggle>\n <div class=\"side-nav-items-container\" seamOverlayScrollbar>\n <seam-side-nav-item *ngFor=\"let item of items$ | async\"\n [compact]=\"!(expanded$ | async)\"\n [itemType]=\"$any(item)?.itemType\"\n [icon]=\"$any(item)?.icon\"\n [label]=\"$any(item)?.label\"\n [link]=\"$any(item)?.link\"\n [badgeText]=\"$any(item)?.badge?.text\"\n [badgeTheme]=\"$any(item)?.badge?.theme || 'danger'\"\n [badgeSrContent]=\"$any(item)?.badge?.srContent\"\n [badgeTooltip]=\"$any(item)?.badge?.tooltip\"\n [queryParams]=\"$any(item)?.queryParams\"\n [children]=\"$any(item)?.children\"\n [active]=\"$any(item).__state.active\"\n [expanded]=\"$any(item).__state.expanded\">\n </seam-side-nav-item>\n </div>\n </nav>\n</div>\n",
115
+ template: "<div class=\"side-nav-backdrop\" *ngIf=\"isMobile$ | async\"\n [@sideNavBackdrop]=\"_sideNavExpand\"\n [class.side-nav-backdrop-hidden]=\"_backdropHidden | async\"></div>\n\n<div class=\"side-nav-inner-wrapper\" [@sideNavExpand]=\"_sideNavExpand\"\n (@sideNavExpand.start)=\"animateStart()\"\n (@sideNavExpand.done)=\"animateEnd()\">\n <nav class=\"nav side-nav-content\">\n <seam-side-nav-toggle *ngIf=\"hasHeaderToggle\"\n [expanded]=\"expanded$ | async\"\n (toggleExpand)=\"toggle()\">\n </seam-side-nav-toggle>\n <div class=\"side-nav-items-container\" seamOverlayScrollbar>\n <seam-side-nav-item *ngFor=\"let item of items$ | async\"\n [compact]=\"!(expanded$ | async)\"\n [itemType]=\"$any(item)?.itemType\"\n [icon]=\"$any(item)?.icon\"\n [label]=\"$any(item)?.label\"\n [link]=\"$any(item)?.link\"\n [badgeText]=\"$any(item)?.badge?.text\"\n [badgeTheme]=\"$any(item)?.badge?.theme || 'danger'\"\n [badgeSrContent]=\"$any(item)?.badge?.srContent\"\n [badgeTooltip]=\"$any(item)?.badge?.tooltip\"\n [queryParams]=\"$any(item)?.queryParams\"\n [children]=\"$any(item)?.children\"\n [active]=\"$any(item).__state.active\"\n [expanded]=\"$any(item).__state.expanded\">\n </seam-side-nav-item>\n </div>\n <ng-template [cdkPortalOutlet]=\"_sideBarFooterPortal\"></ng-template>\n </nav>\n</div>\n",
109
116
  providers: [
110
117
  TheSeamSideNavService
111
118
  ],
@@ -178,6 +185,7 @@ SideNavComponent.decorators = [
178
185
  },] }
179
186
  ];
180
187
  SideNavComponent.ctorParameters = () => [
188
+ { type: ViewContainerRef },
181
189
  { type: TheSeamLayoutService },
182
190
  { type: TheSeamSideNavService },
183
191
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [THESEAM_BASE_LAYOUT_REF,] }] }
@@ -187,9 +195,11 @@ SideNavComponent.propDecorators = {
187
195
  hasHeaderToggle: [{ type: Input }],
188
196
  items: [{ type: Input }],
189
197
  expanded: [{ type: Input }],
190
- overlay: [{ type: Input }]
198
+ overlay: [{ type: Input }],
199
+ toggleExpand: [{ type: Output }],
200
+ _sideBarFooterTpl: [{ type: ContentChild, args: [BaseLayoutSideBarFooterDirective, { static: true, read: TemplateRef },] }]
191
201
  };
192
202
  __decorate([
193
203
  InputBoolean()
194
204
  ], SideNavComponent.prototype, "hasHeaderToggle", void 0);
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9zaWRlLW5hdi9zaWRlLW5hdi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxPQUFPLEVBQ1AsWUFBWSxFQUNaLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxFQUNSLE1BQU0scUJBQXFCLENBQUE7QUFDNUIsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUU5SSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFVLEdBQUcsRUFBbUIsV0FBVyxFQUFhLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFdEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBRWhFLE9BQU8sRUFBZ0QsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUc1RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUUxRCxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUE7QUFDakMsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFBO0FBRW5DLE1BQU0sc0JBQXNCLEdBQUcsa0JBQWtCLENBQUE7QUFDakQsTUFBTSx1QkFBdUIsR0FBRyxtQkFBbUIs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OzRCQUNkLEtBQUssRUFBRSxvQkFBb0I7NEJBQzNCLFNBQVMsRUFBRSxlQUFlO3lCQUMzQixDQUFDLENBQUM7d0JBQ0gsS0FBSyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQzs0QkFDbkMsUUFBUSxFQUFFLFVBQVU7NEJBQ3BCLEdBQUcsRUFBRSxDQUFDOzRCQUNOLE1BQU0sRUFBRSxNQUFNOzRCQUNkLE1BQU0sRUFBRSxDQUFDOzRCQUNULElBQUksRUFBRSxDQUFDOzRCQUNQLEtBQUssRUFBRSxNQUFNOzRCQUNiLE1BQU0sRUFBRSxNQUFNOzRCQUNkLEtBQUssRUFBRSxvQkFBb0I7NEJBQzNCLFNBQVMsRUFBRSxpQ0FBaUM7NEJBQzVDLFlBQVksRUFBRSxRQUFRO3lCQUN2QixDQUFDLENBQUM7d0JBRUgsdUZBQXVGO3dCQUV2RixVQUFVLENBQUMsMEJBQTBCLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7d0JBRW5FLDJEQUEyRDt3QkFDM0QsNERBQTREO3dCQUM1RCw0REFBNEQ7d0JBQzVELFlBQVk7d0JBQ1osMkRBQTJEO3dCQUMzRCwyREFBMkQ7d0JBQzNELGlFQUFpRTt3QkFDakUsa0NBQWtDO3dCQUNsQyxPQUFPO3dCQUNQLE1BQU07cUJBQ1AsQ0FBQztpQkFDSDtnQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2FBQ3RDOzs7WUEzSFEsb0JBQW9CO1lBS3BCLHFCQUFxQjs0Q0E2SnpCLFFBQVEsWUFBSSxNQUFNLFNBQUMsdUJBQXVCOzs7NkJBN0I1QyxXQUFXLFNBQUMsY0FBYzs4QkFFMUIsS0FBSztvQkFFTCxLQUFLO3VCQU1MLEtBQUs7c0JBTUwsS0FBSzs7QUFkbUI7SUFBZixZQUFZLEVBQUU7eURBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYW5pbWF0ZSxcbiAgYW5pbWF0ZUNoaWxkLFxuICBncm91cCxcbiAgcXVlcnksXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlclxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJ1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgbWFwVG8sIHBhaXJ3aXNlLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IElucHV0Qm9vbGVhbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9jb3JlJ1xuaW1wb3J0IHsgVGhlU2VhbUxheW91dFNlcnZpY2UgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vbGF5b3V0J1xuXG5pbXBvcnQgeyBJVGhlU2VhbUJhc2VMYXlvdXROYXYsIElUaGVTZWFtQmFzZUxheW91dFJlZiwgVEhFU0VBTV9CQVNFX0xBWU9VVF9SRUYgfSBmcm9tICcuLi9iYXNlLWxheW91dC9pbmRleCdcblxuaW1wb3J0IHsgSVNpZGVOYXZJdGVtIH0gZnJvbSAnLi9zaWRlLW5hdi5tb2RlbHMnXG5pbXBvcnQgeyBUaGVTZWFtU2lkZU5hdlNlcnZpY2UgfSBmcm9tICcuL3NpZGUtbmF2LnNlcnZpY2UnXG5cbmNvbnN0IEVYUEFOREVEX1NUQVRFID0gJ2V4cGFuZGVkJ1xuY29uc3QgQ09MTEFQU0VEX1NUQVRFID0gJ2NvbGxhcHNlZCdcblxuY29uc3QgRVhQQU5ERURfT1ZFUkxBWV9TVEFURSA9ICdleHBhbmRlZC1vdmVybGF5J1xuY29uc3QgQ09MTEFQU0VEX09WRVJMQVlfU1RBVEUgPSAnY29sbGFwc2VkLW92ZXJsYXknXG5cbmNvbnN0IEVYUEFOREVEX1NUQVRFUyA9IFsgRVhQQU5ERURfU1RBVEUsIEVYUEFOREVEX09WRVJMQVlfU1RBVEUgXVxuY29uc3QgQ09MTEFQU0VEX1NUQVRFUyA9IFsgQ09MTEFQU0VEX1NUQVRFLCBDT0xMQVBTRURfT1ZFUkxBWV9TVEFURSBdXG5jb25zdCBFWFBBTkRfU1RBVEVTID0gWyAuLi5FWFBBTkRFRF9TVEFURVMsIC4uLkNPTExBUFNFRF9TVEFURVMgXVxuXG5leHBvcnQgZnVuY3Rpb24gc2lkZU5hdkV4cGFuZFN0YXRlQ2hhbmdlRm4oZnJvbVN0YXRlOiBzdHJpbmcsIHRvU3RhdGU6IHN0cmluZykge1xuICAvLyBjb25zb2xlLmxvZyh7IGZyb21TdGF0ZSwgdG9TdGF0ZSB9KVxuICByZXR1cm4gZnJvbVN0YXRlICE9PSB0b1N0YXRlICYmXG4gICAgKFxuICAgICAgLy8gTk9URTogVGhlIGN1cnJlbnQgd2F5IHRoZSBzaWRlIG5hdiBpcyBiZWluZyB1c2VkIGl0IGNhdXNlcyB0aGVcbiAgICAgIC8vIGNvbXBvbmVudCB0byBzb21ldGltZXMgZ2V0IHBsYWNlZCBpbiB0aGUgd3JvbmcgbG9jYXRpb24gaW5pdGlhbGx5LiBJdFxuICAgICAgLy8gaXMgZmFzdCBlbm91Z2ggdG8gbm90IGJlIG5vdGljZWQgd2l0aG91dCBhbiBpbml0aWFsIGFuaW1hdGlvbiB1c3VhbGx5LFxuICAgICAgLy8gc28gaXQgaXMgY29tbWVudGVkIG91dCBiZWxvdyB1bnRpbCB0aGUgaW5pdGlhbCBwbGFjZW1lbnQgaXNzdWUgaXRcbiAgICAgIC8vIGZpeGVkLlxuICAgICAgLy9cbiAgICAgIC8vIChcbiAgICAgIC8vICAgZnJvbVN0YXRlID09PSAndm9pZCcgJiYgRVhQQU5EX1NUQVRFUy5pbmRleE9mKHRvU3RhdGUpICE9PSAtMVxuICAgICAgLy8gICB8fFxuICAgICAgLy8gICB0b1N0YXRlID09PSAndm9pZCcgJiYgRVhQQU5EX1NUQVRFUy5pbmRleE9mKGZyb21TdGF0ZSkgIT09IC0xXG4gICAgICAvLyApXG4gICAgICAvLyB8fFxuICAgICAgKFxuICAgICAgICAoRVhQQU5ERURfU1RBVEVTLmluZGV4T2YoZnJvbVN0YXRlKSAhPT0gLTEgJiYgQ09MTEFQU0VEX1NUQVRFUy5pbmRleE9mKHRvU3RhdGUpICE9PSAtMSlcbiAgICAgICAgfHxcbiAgICAgICAgKEVYUEFOREVEX1NUQVRFUy5pbmRleE9mKHRvU3RhdGUpICE9PSAtMSAmJiBDT0xMQVBTRURfU1RBVEVTLmluZGV4T2YoZnJvbVN0YXRlKSAhPT0gLTEpXG4gICAgICApXG4gICAgKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLXNpZGUtbmF2JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtbmF2LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2lkZS1uYXYuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgVGhlU2VhbVNpZGVOYXZTZXJ2aWNlXG4gIF0sXG4gIGFuaW1hdGlvbnM6IFtcblxuICAgIC8vXG4gICAgLy8gVE9ETzogVGhpcyBhbmltYXRpb24gY29kZSB0dXJuZWQgaW50byBhIG1lc3MuIENsZWFuIGl0IHVwIGFuZCBtYWtlIGl0XG4gICAgLy8gbW9yZSBzbW9vdGguXG4gICAgLy9cblxuICAgIHRyaWdnZXIoJ3NpZGVOYXZBbmltJywgW1xuICAgICAgdHJhbnNpdGlvbihzaWRlTmF2RXhwYW5kU3RhdGVDaGFuZ2VGbiwgW1xuICAgICAgICBncm91cChbXG4gICAgICAgICAgcXVlcnkoJ0BzaWRlTmF2QmFja2Ryb3AnLCBhbmltYXRlQ2hpbGQoKSwgeyBvcHRpb25hbDogdHJ1ZSB9KSxcbiAgICAgICAgICBxdWVyeSgnQHNpZGVOYXZFeHBhbmQnLCBhbmltYXRlQ2hpbGQoKSwgeyBvcHRpb25hbDogdHJ1ZSB9KSxcbiAgICAgICAgXSksXG4gICAgICBdKSxcbiAgICBdKSxcblxuICAgIHRyaWdnZXIoJ3NpZGVOYXZCYWNrZHJvcCcsIFtcbiAgICAgIHN0YXRlKEVYUEFOREVEX09WRVJMQVlfU1RBVEUsIHN0eWxlKHsgb3BhY2l0eTogJzEnIH0pKSxcbiAgICAgIHN0YXRlKENPTExBUFNFRF9PVkVSTEFZX1NUQVRFLCBzdHlsZSh7IG9wYWNpdHk6ICcwJyB9KSksXG5cbiAgICAgIC8vIHRyYW5zaXRpb24oKGZyb21TdGF0ZSwgdG9TdGF0ZSwgZWxlbWVudCwgcGFyYW1zKSA9PiB7XG4gICAgICAvLyAgIGNvbnNvbGUubG9nKCdzaWRlTmF2QmFja2Ryb3AgdicsIGZyb21TdGF0ZSwgdG9TdGF0ZSwgZWxlbWVudCwgcGFyYW1zKVxuICAgICAgLy8gICByZXR1cm4gZmFsc2VcbiAgICAgIC8vIH0sIFtdKSxcblxuICAgICAgdHJhbnNpdGlvbihzaWRlTmF2RXhwYW5kU3RhdGVDaGFuZ2VGbiwgYW5pbWF0ZSgnMC4ycyBlYXNlLWluLW91dCcpKSxcbiAgICBdKSxcblxuICAgIHRyaWdnZXIoJ3NpZGVOYXZFeHBhbmQnLCBbXG4gICAgICAvLyBUT0RPOiBNYWtlIHdpZHRoIGNvbmZpZ3VyYWJsZS5cbiAgICAgIHN0YXRlKEVYUEFOREVEX1NUQVRFLCBzdHlsZSh7IHdpZHRoOiAnMjYwcHgnIH0pKSxcbiAgICAgIHN0YXRlKENPTExBUFNFRF9TVEFURSwgc3R5bGUoeyB3aWR0aDogJzUwcHgnLCAnb3ZlcmZsb3cteCc6ICdoaWRkZW4nIH0pKSxcblxuICAgICAgc3RhdGUoRVhQQU5ERURfT1ZFUkxBWV9TVEFURSwgc3R5bGUoe1xuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICBsZWZ0OiAwLFxuICAgICAgICBmbG9hdDogJ2xlZnQnLFxuICAgICAgICB6SW5kZXg6ICc5OTk5JyxcbiAgICAgICAgd2lkdGg6ICdjYWxjKDEwMHZ3IC0gNTBweCknLFxuICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJ1xuICAgICAgfSkpLFxuICAgICAgc3RhdGUoQ09MTEFQU0VEX09WRVJMQVlfU1RBVEUsIHN0eWxlKHtcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIHRvcDogMCxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIGJvdHRvbTogMCxcbiAgICAgICAgbGVmdDogMCxcbiAgICAgICAgZmxvYXQ6ICdsZWZ0JyxcbiAgICAgICAgekluZGV4OiAnOTk5OScsXG4gICAgICAgIHdpZHRoOiAnY2FsYygxMDB2dyAtIDUwcHgpJyxcbiAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWChjYWxjKC0xMDB2dyArIDUwcHgpKScsXG4gICAgICAgICdvdmVyZmxvdy14JzogJ2hpZGRlbidcbiAgICAgIH0pKSxcblxuICAgICAgLy8gdHJhbnNpdGlvbihgJHtFWFBBTkRFRF9TVEFURX0gPD0+ICR7Q09MTEFQU0VEX1NUQVRFfWAsIGFuaW1hdGUoJzAuMnMgZWFzZS1pbi1vdXQnKSksXG5cbiAgICAgIHRyYW5zaXRpb24oc2lkZU5hdkV4cGFuZFN0YXRlQ2hhbmdlRm4sIGFuaW1hdGUoJzAuMnMgZWFzZS1pbi1vdXQnKSksXG5cbiAgICAgIC8vIHRyYW5zaXRpb24oYCR7RVhQQU5ERURfU1RBVEV9IDw9PiAke0NPTExBUFNFRF9TVEFURX1gLCBbXG4gICAgICAvLyAgIC8vIHF1ZXJ5KCc6bGVhdmUnLCBhbmltYXRlQ2hpbGQoKSwgeyBvcHRpb25hbDogdHJ1ZSB9KSxcbiAgICAgIC8vICAgLy8gcXVlcnkoJzplbnRlcicsIGFuaW1hdGVDaGlsZCgpLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICAgICAgLy8gICBncm91cChbXG4gICAgICAvLyAgICAgcXVlcnkoJzpsZWF2ZScsIGFuaW1hdGVDaGlsZCgpLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICAgICAgLy8gICAgIHF1ZXJ5KCc6ZW50ZXInLCBhbmltYXRlQ2hpbGQoKSwgeyBvcHRpb25hbDogdHJ1ZSB9KSxcbiAgICAgIC8vICAgICBxdWVyeSgnQGNvbXBhY3RBbmltJywgYW5pbWF0ZUNoaWxkKCksIHsgb3B0aW9uYWw6IHRydWUgfSksXG4gICAgICAvLyAgICAgYW5pbWF0ZSgnNS4ycyBlYXNlLWluLW91dCcpXG4gICAgICAvLyAgIF0pXG4gICAgICAvLyBdKSxcbiAgICBdKVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlTmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIElUaGVTZWFtQmFzZUxheW91dE5hdiB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9oYXNIZWFkZXJUb2dnbGU6IEJvb2xlYW5JbnB1dFxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpXG5cbiAgLy8gQEhvc3RCaW5kaW5nKCdAc2lkZU5hdkV4cGFuZCcpIF9zaWRlTmF2RXhwYW5kID0gRVhQQU5ERURfU1RBVEVcbiAgLy8gX3NpZGVOYXZFeHBhbmQgPSBFWFBBTkRFRF9TVEFURVxuXG4gIC8vIEBIb3N0QmluZGluZygnQHNpZGVOYXZBbmltJykgX3NpZGVOYXZFeHBhbmQgPSBFWFBBTkRFRF9TVEFURVxuICBASG9zdEJpbmRpbmcoJ0BzaWRlTmF2QW5pbScpIF9zaWRlTmF2RXhwYW5kID0gJ2luaXRpYWwnXG5cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIGhhc0hlYWRlclRvZ2dsZSA9IHRydWVcblxuICBASW5wdXQoKVxuICBnZXQgaXRlbXMoKTogSVNpZGVOYXZJdGVtW10geyByZXR1cm4gdGhpcy5faXRlbXMudmFsdWUgfVxuICBzZXQgaXRlbXModmFsdWU6IElTaWRlTmF2SXRlbVtdKSB7IHRoaXMuX2l0ZW1zLm5leHQodmFsdWUpIH1cbiAgcHJpdmF0ZSBfaXRlbXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElTaWRlTmF2SXRlbVtdPihbXSlcbiAgcHVibGljIHJlYWRvbmx5IGl0ZW1zJDogT2JzZXJ2YWJsZTxJU2lkZU5hdkl0ZW1bXT5cblxuICBASW5wdXQoKVxuICBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9leHBhbmRlZC52YWx1ZSB9XG4gIHNldCBleHBhbmRlZCh2YWx1ZTogYm9vbGVhbikgeyB0aGlzLl9leHBhbmRlZC5uZXh0KGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpIH1cbiAgcHJpdmF0ZSBfZXhwYW5kZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpXG4gIHB1YmxpYyByZWFkb25seSBleHBhbmRlZCQgPSB0aGlzLl9leHBhbmRlZC5hc09ic2VydmFibGUoKVxuXG4gIEBJbnB1dCgpXG4gIGdldCBvdmVybGF5KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fb3ZlcmxheS52YWx1ZSB9XG4gIHNldCBvdmVybGF5KHZhbHVlOiBib29sZWFuKSB7IHRoaXMuX292ZXJsYXkubmV4dChjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpKSB9XG4gIHByaXZhdGUgX292ZXJsYXkgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKVxuICBwdWJsaWMgcmVhZG9ubHkgb3ZlcmxheSQgPSB0aGlzLl9vdmVybGF5LmFzT2JzZXJ2YWJsZSgpXG5cbiAgcHVibGljIHJlYWRvbmx5IGlzTW9iaWxlJDogT2JzZXJ2YWJsZTxib29sZWFuPlxuICBwdWJsaWMgcmVhZG9ubHkgc2lkZU5hdkV4cGFuZGVkU3RhdGUkOiBPYnNlcnZhYmxlPHN0cmluZz5cbiAgcHVibGljIF9iYWNrZHJvcEhpZGRlbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSlcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9sYXlvdXQ6IFRoZVNlYW1MYXlvdXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NpZGVOYXY6IFRoZVNlYW1TaWRlTmF2U2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRIRVNFQU1fQkFTRV9MQVlPVVRfUkVGKSBwcml2YXRlIHJlYWRvbmx5IF9iYXNlTGF5b3V0UmVmOiBJVGhlU2VhbUJhc2VMYXlvdXRSZWZcbiAgKSB7XG4gICAgdGhpcy5pdGVtcyQgPSB0aGlzLl9pdGVtcy5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGl0ZW1zID0+IHRoaXMuX3NpZGVOYXYuY3JlYXRlSXRlbXNPYnNlcnZhYmxlKGl0ZW1zKSksXG4gICAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pLFxuICAgIClcblxuICAgIHRoaXMuaXNNb2JpbGUkID0gdGhpcy5fbGF5b3V0LmlzTW9iaWxlJC5waXBlKFxuICAgICAgdGFwKGlzTW9iaWxlID0+IGlzTW9iaWxlICYmIHRoaXMuY29sbGFwc2UoKSlcbiAgICApXG5cbiAgICB0aGlzLnNpZGVOYXZFeHBhbmRlZFN0YXRlJCA9IGNvbWJpbmVMYXRlc3QoWyB0aGlzLmV4cGFuZGVkJCwgdGhpcy5vdmVybGF5JCBdKS5waXBlKFxuICAgICAgbWFwKChbIGV4cGFuZGVkLCBvdmVybGF5IF0pID0+IGV4cGFuZGVkXG4gICAgICAgID8gb3ZlcmxheSA/IEVYUEFOREVEX09WRVJMQVlfU1RBVEUgOiBFWFBBTkRFRF9TVEFURVxuICAgICAgICA6IG92ZXJsYXkgPyBDT0xMQVBTRURfT1ZFUkxBWV9TVEFURSA6IENPTExBUFNFRF9TVEFURVxuICAgICAgKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5fYmFzZUxheW91dFJlZikgeyB0aGlzLl9iYXNlTGF5b3V0UmVmLnJlZ2lzdGVyTmF2KHRoaXMpIH1cblxuICAgIHRoaXMuaXNNb2JpbGUkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKGIgPT4gdGhpcy5vdmVybGF5ID0gYilcblxuICAgIHRoaXMuc2lkZU5hdkV4cGFuZGVkU3RhdGUkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKHYgPT4gdGhpcy5fc2lkZU5hdkV4cGFuZCA9IHYpXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQoKVxuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUuY29tcGxldGUoKVxuICAgIGlmICh0aGlzLl9iYXNlTGF5b3V0UmVmKSB7IHRoaXMuX2Jhc2VMYXlvdXRSZWYudW5yZWdpc3Rlck5hdih0aGlzKSB9XG4gIH1cblxuICBwdWJsaWMgZXhwYW5kKCkge1xuICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlXG4gIH1cblxuICBwdWJsaWMgY29sbGFwc2UoKSB7XG4gICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlXG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlKCkge1xuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZFxuICB9XG5cbiAgcHVibGljIGFuaW1hdGVTdGFydCgpIHtcbiAgICBpZiAodGhpcy5leHBhbmRlZCkge1xuICAgICAgdGhpcy5fYmFja2Ryb3BIaWRkZW4ubmV4dChmYWxzZSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYW5pbWF0ZUVuZCgpIHtcbiAgICBpZiAoIXRoaXMuZXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuX2JhY2tkcm9wSGlkZGVuLm5leHQodHJ1ZSlcbiAgICB9XG4gIH1cblxufVxuIl19
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9zaWRlLW5hdi9zaWRlLW5hdi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxPQUFPLEVBQ1AsWUFBWSxFQUNaLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxFQUNSLE1BQU0scUJBQXFCLENBQUE7QUFDNUIsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFak4sT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBVSxHQUFHLEVBQW1CLFdBQVcsRUFBYSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXRJLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUVoRSxPQUFPLEVBQWdELHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFHNUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDMUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saUVBQWlFLENBQUE7QUFDbEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFN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RCxZQUFZO3dCQUNaLDJEQUEyRDt3QkFDM0QsMkRBQTJEO3dCQUMzRCxpRUFBaUU7d0JBQ2pFLGtDQUFrQzt3QkFDbEMsT0FBTzt3QkFDUCxNQUFNO3FCQUNQLENBQUM7aUJBQ0g7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOzthQUN0Qzs7O1lBbklzSixnQkFBZ0I7WUFNOUosb0JBQW9CO1lBS3BCLHFCQUFxQjs0Q0F1S3pCLFFBQVEsWUFBSSxNQUFNLFNBQUMsdUJBQXVCOzs7NkJBckM1QyxXQUFXLFNBQUMsY0FBYzs4QkFFMUIsS0FBSztvQkFFTCxLQUFLO3VCQU1MLEtBQUs7c0JBUUwsS0FBSzsyQkFNTCxNQUFNO2dDQU1OLFlBQVksU0FBQyxnQ0FBZ0MsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTs7QUE1QjFEO0lBQWYsWUFBWSxFQUFFO3lEQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFuaW1hdGUsXG4gIGFuaW1hdGVDaGlsZCxcbiAgZ3JvdXAsXG4gIHF1ZXJ5LFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXJcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucydcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJ1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBtYXBUbywgcGFpcndpc2UsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2NvcmUnXG5pbXBvcnQgeyBUaGVTZWFtTGF5b3V0U2VydmljZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9sYXlvdXQnXG5cbmltcG9ydCB7IElUaGVTZWFtQmFzZUxheW91dE5hdiwgSVRoZVNlYW1CYXNlTGF5b3V0UmVmLCBUSEVTRUFNX0JBU0VfTEFZT1VUX1JFRiB9IGZyb20gJy4uL2Jhc2UtbGF5b3V0L2luZGV4J1xuXG5pbXBvcnQgeyBJU2lkZU5hdkl0ZW0gfSBmcm9tICcuL3NpZGUtbmF2Lm1vZGVscydcbmltcG9ydCB7IFRoZVNlYW1TaWRlTmF2U2VydmljZSB9IGZyb20gJy4vc2lkZS1uYXYuc2VydmljZSdcbmltcG9ydCB7IEJhc2VMYXlvdXRTaWRlQmFyRm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vYmFzZS1sYXlvdXQvZGlyZWN0aXZlcy9iYXNlLWxheW91dC1zaWRlLWJhci1mb290ZXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJ1xuXG5jb25zdCBFWFBBTkRFRF9TVEFURSA9ICdleHBhbmRlZCdcbmNvbnN0IENPTExBUFNFRF9TVEFURSA9ICdjb2xsYXBzZWQnXG5cbmNvbnN0IEVYUEFOREVEX09WRVJMQVlfU1RBVEUgPSAnZXhwYW5kZWQtb3ZlcmxheSdcbmNvbnN0IENPTExBUFNFRF9PVkVSTEFZX1NUQVRFID0gJ2NvbGxhcHNlZC1vdmVybGF5J1xuXG5jb25zdCBFWFBBTkRFRF9TVEFURVMgPSBbIEVYUEFOREVEX1NUQVRFLCBFWFBBTkRFRF9PVkVSTEFZX1NUQVRFIF1cbmNvbnN0IENPTExBUFNFRF9TVEFURVMgPSBbIENPTExBUFNFRF9TVEFURSwgQ09MTEFQU0VEX09WRVJMQVlfU1RBVEUgXVxuY29uc3QgRVhQQU5EX1NUQVRFUyA9IFsgLi4uRVhQQU5ERURfU1RBVEVTLCAuLi5DT0xMQVBTRURfU1RBVEVTIF1cblxuZXhwb3J0IGZ1bmN0aW9uIHNpZGVOYXZFeHBhbmRTdGF0ZUNoYW5nZUZuKGZyb21TdGF0ZTogc3RyaW5nLCB0b1N0YXRlOiBzdHJpbmcpIHtcbiAgLy8gY29uc29sZS5sb2coeyBmcm9tU3RhdGUsIHRvU3RhdGUgfSlcbiAgcmV0dXJuIGZyb21TdGF0ZSAhPT0gdG9TdGF0ZSAmJlxuICAgIChcbiAgICAgIC8vIE5PVEU6IFRoZSBjdXJyZW50IHdheSB0aGUgc2lkZSBuYXYgaXMgYmVpbmcgdXNlZCBpdCBjYXVzZXMgdGhlXG4gICAgICAvLyBjb21wb25lbnQgdG8gc29tZXRpbWVzIGdldCBwbGFjZWQgaW4gdGhlIHdyb25nIGxvY2F0aW9uIGluaXRpYWxseS4gSXRcbiAgICAgIC8vIGlzIGZhc3QgZW5vdWdoIHRvIG5vdCBiZSBub3RpY2VkIHdpdGhvdXQgYW4gaW5pdGlhbCBhbmltYXRpb24gdXN1YWxseSxcbiAgICAgIC8vIHNvIGl0IGlzIGNvbW1lbnRlZCBvdXQgYmVsb3cgdW50aWwgdGhlIGluaXRpYWwgcGxhY2VtZW50IGlzc3VlIGl0XG4gICAgICAvLyBmaXhlZC5cbiAgICAgIC8vXG4gICAgICAvLyAoXG4gICAgICAvLyAgIGZyb21TdGF0ZSA9PT0gJ3ZvaWQnICYmIEVYUEFORF9TVEFURVMuaW5kZXhPZih0b1N0YXRlKSAhPT0gLTFcbiAgICAgIC8vICAgfHxcbiAgICAgIC8vICAgdG9TdGF0ZSA9PT0gJ3ZvaWQnICYmIEVYUEFORF9TVEFURVMuaW5kZXhPZihmcm9tU3RhdGUpICE9PSAtMVxuICAgICAgLy8gKVxuICAgICAgLy8gfHxcbiAgICAgIChcbiAgICAgICAgKEVYUEFOREVEX1NUQVRFUy5pbmRleE9mKGZyb21TdGF0ZSkgIT09IC0xICYmIENPTExBUFNFRF9TVEFURVMuaW5kZXhPZih0b1N0YXRlKSAhPT0gLTEpXG4gICAgICAgIHx8XG4gICAgICAgIChFWFBBTkRFRF9TVEFURVMuaW5kZXhPZih0b1N0YXRlKSAhPT0gLTEgJiYgQ09MTEFQU0VEX1NUQVRFUy5pbmRleE9mKGZyb21TdGF0ZSkgIT09IC0xKVxuICAgICAgKVxuICAgIClcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1zaWRlLW5hdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlLW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGUtbmF2LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFRoZVNlYW1TaWRlTmF2U2VydmljZVxuICBdLFxuICBhbmltYXRpb25zOiBbXG5cbiAgICAvL1xuICAgIC8vIFRPRE86IFRoaXMgYW5pbWF0aW9uIGNvZGUgdHVybmVkIGludG8gYSBtZXNzLiBDbGVhbiBpdCB1cCBhbmQgbWFrZSBpdFxuICAgIC8vIG1vcmUgc21vb3RoLlxuICAgIC8vXG5cbiAgICB0cmlnZ2VyKCdzaWRlTmF2QW5pbScsIFtcbiAgICAgIHRyYW5zaXRpb24oc2lkZU5hdkV4cGFuZFN0YXRlQ2hhbmdlRm4sIFtcbiAgICAgICAgZ3JvdXAoW1xuICAgICAgICAgIHF1ZXJ5KCdAc2lkZU5hdkJhY2tkcm9wJywgYW5pbWF0ZUNoaWxkKCksIHsgb3B0aW9uYWw6IHRydWUgfSksXG4gICAgICAgICAgcXVlcnkoJ0BzaWRlTmF2RXhwYW5kJywgYW5pbWF0ZUNoaWxkKCksIHsgb3B0aW9uYWw6IHRydWUgfSksXG4gICAgICAgIF0pLFxuICAgICAgXSksXG4gICAgXSksXG5cbiAgICB0cmlnZ2VyKCdzaWRlTmF2QmFja2Ryb3AnLCBbXG4gICAgICBzdGF0ZShFWFBBTkRFRF9PVkVSTEFZX1NUQVRFLCBzdHlsZSh7IG9wYWNpdHk6ICcxJyB9KSksXG4gICAgICBzdGF0ZShDT0xMQVBTRURfT1ZFUkxBWV9TVEFURSwgc3R5bGUoeyBvcGFjaXR5OiAnMCcgfSkpLFxuXG4gICAgICAvLyB0cmFuc2l0aW9uKChmcm9tU3RhdGUsIHRvU3RhdGUsIGVsZW1lbnQsIHBhcmFtcykgPT4ge1xuICAgICAgLy8gICBjb25zb2xlLmxvZygnc2lkZU5hdkJhY2tkcm9wIHYnLCBmcm9tU3RhdGUsIHRvU3RhdGUsIGVsZW1lbnQsIHBhcmFtcylcbiAgICAgIC8vICAgcmV0dXJuIGZhbHNlXG4gICAgICAvLyB9LCBbXSksXG5cbiAgICAgIHRyYW5zaXRpb24oc2lkZU5hdkV4cGFuZFN0YXRlQ2hhbmdlRm4sIGFuaW1hdGUoJzAuMnMgZWFzZS1pbi1vdXQnKSksXG4gICAgXSksXG5cbiAgICB0cmlnZ2VyKCdzaWRlTmF2RXhwYW5kJywgW1xuICAgICAgLy8gVE9ETzogTWFrZSB3aWR0aCBjb25maWd1cmFibGUuXG4gICAgICBzdGF0ZShFWFBBTkRFRF9TVEFURSwgc3R5bGUoeyB3aWR0aDogJzI2MHB4JyB9KSksXG4gICAgICBzdGF0ZShDT0xMQVBTRURfU1RBVEUsIHN0eWxlKHsgd2lkdGg6ICc1MHB4JywgJ292ZXJmbG93LXgnOiAnaGlkZGVuJyB9KSksXG5cbiAgICAgIHN0YXRlKEVYUEFOREVEX09WRVJMQVlfU1RBVEUsIHN0eWxlKHtcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIHRvcDogMCxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIGJvdHRvbTogMCxcbiAgICAgICAgbGVmdDogMCxcbiAgICAgICAgZmxvYXQ6ICdsZWZ0JyxcbiAgICAgICAgekluZGV4OiAnOTk5OScsXG4gICAgICAgIHdpZHRoOiAnY2FsYygxMDB2dyAtIDUwcHgpJyxcbiAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKSdcbiAgICAgIH0pKSxcbiAgICAgIHN0YXRlKENPTExBUFNFRF9PVkVSTEFZX1NUQVRFLCBzdHlsZSh7XG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICB0b3A6IDAsXG4gICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICBib3R0b206IDAsXG4gICAgICAgIGxlZnQ6IDAsXG4gICAgICAgIGZsb2F0OiAnbGVmdCcsXG4gICAgICAgIHpJbmRleDogJzk5OTknLFxuICAgICAgICB3aWR0aDogJ2NhbGMoMTAwdncgLSA1MHB4KScsXG4gICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoY2FsYygtMTAwdncgKyA1MHB4KSknLFxuICAgICAgICAnb3ZlcmZsb3cteCc6ICdoaWRkZW4nXG4gICAgICB9KSksXG5cbiAgICAgIC8vIHRyYW5zaXRpb24oYCR7RVhQQU5ERURfU1RBVEV9IDw9PiAke0NPTExBUFNFRF9TVEFURX1gLCBhbmltYXRlKCcwLjJzIGVhc2UtaW4tb3V0JykpLFxuXG4gICAgICB0cmFuc2l0aW9uKHNpZGVOYXZFeHBhbmRTdGF0ZUNoYW5nZUZuLCBhbmltYXRlKCcwLjJzIGVhc2UtaW4tb3V0JykpLFxuXG4gICAgICAvLyB0cmFuc2l0aW9uKGAke0VYUEFOREVEX1NUQVRFfSA8PT4gJHtDT0xMQVBTRURfU1RBVEV9YCwgW1xuICAgICAgLy8gICAvLyBxdWVyeSgnOmxlYXZlJywgYW5pbWF0ZUNoaWxkKCksIHsgb3B0aW9uYWw6IHRydWUgfSksXG4gICAgICAvLyAgIC8vIHF1ZXJ5KCc6ZW50ZXInLCBhbmltYXRlQ2hpbGQoKSwgeyBvcHRpb25hbDogdHJ1ZSB9KSxcbiAgICAgIC8vICAgZ3JvdXAoW1xuICAgICAgLy8gICAgIHF1ZXJ5KCc6bGVhdmUnLCBhbmltYXRlQ2hpbGQoKSwgeyBvcHRpb25hbDogdHJ1ZSB9KSxcbiAgICAgIC8vICAgICBxdWVyeSgnOmVudGVyJywgYW5pbWF0ZUNoaWxkKCksIHsgb3B0aW9uYWw6IHRydWUgfSksXG4gICAgICAvLyAgICAgcXVlcnkoJ0Bjb21wYWN0QW5pbScsIGFuaW1hdGVDaGlsZCgpLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICAgICAgLy8gICAgIGFuaW1hdGUoJzUuMnMgZWFzZS1pbi1vdXQnKVxuICAgICAgLy8gICBdKVxuICAgICAgLy8gXSksXG4gICAgXSlcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2lkZU5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBJVGhlU2VhbUJhc2VMYXlvdXROYXYge1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfaGFzSGVhZGVyVG9nZ2xlOiBCb29sZWFuSW5wdXRcblxuICBwcml2YXRlIHJlYWRvbmx5IF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKVxuXG4gIC8vIEBIb3N0QmluZGluZygnQHNpZGVOYXZFeHBhbmQnKSBfc2lkZU5hdkV4cGFuZCA9IEVYUEFOREVEX1NUQVRFXG4gIC8vIF9zaWRlTmF2RXhwYW5kID0gRVhQQU5ERURfU1RBVEVcblxuICAvLyBASG9zdEJpbmRpbmcoJ0BzaWRlTmF2QW5pbScpIF9zaWRlTmF2RXhwYW5kID0gRVhQQU5ERURfU1RBVEVcbiAgQEhvc3RCaW5kaW5nKCdAc2lkZU5hdkFuaW0nKSBfc2lkZU5hdkV4cGFuZCA9ICdpbml0aWFsJ1xuXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBoYXNIZWFkZXJUb2dnbGUgPSB0cnVlXG5cbiAgQElucHV0KClcbiAgZ2V0IGl0ZW1zKCk6IElTaWRlTmF2SXRlbVtdIHsgcmV0dXJuIHRoaXMuX2l0ZW1zLnZhbHVlIH1cbiAgc2V0IGl0ZW1zKHZhbHVlOiBJU2lkZU5hdkl0ZW1bXSkgeyB0aGlzLl9pdGVtcy5uZXh0KHZhbHVlKSB9XG4gIHByaXZhdGUgX2l0ZW1zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJU2lkZU5hdkl0ZW1bXT4oW10pXG4gIHB1YmxpYyByZWFkb25seSBpdGVtcyQ6IE9ic2VydmFibGU8SVNpZGVOYXZJdGVtW10+XG5cbiAgQElucHV0KClcbiAgZ2V0IGV4cGFuZGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZXhwYW5kZWQudmFsdWUgfVxuICBzZXQgZXhwYW5kZWQodmFsdWU6IGJvb2xlYW4pIHsgdGhpcy5fZXhwYW5kZWQubmV4dChjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpKSB9XG4gIHByaXZhdGUgX2V4cGFuZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKVxuICBwdWJsaWMgcmVhZG9ubHkgZXhwYW5kZWQkID0gdGhpcy5fZXhwYW5kZWQuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICB0YXAoZXhwYW5kZWQgPT4gdGhpcy50b2dnbGVFeHBhbmQuZW1pdChleHBhbmRlZCkpXG4gIClcblxuICBASW5wdXQoKVxuICBnZXQgb3ZlcmxheSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX292ZXJsYXkudmFsdWUgfVxuICBzZXQgb3ZlcmxheSh2YWx1ZTogYm9vbGVhbikgeyB0aGlzLl9vdmVybGF5Lm5leHQoY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKSkgfVxuICBwcml2YXRlIF9vdmVybGF5ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSlcbiAgcHVibGljIHJlYWRvbmx5IG92ZXJsYXkkID0gdGhpcy5fb3ZlcmxheS5hc09ic2VydmFibGUoKVxuXG4gIEBPdXRwdXQoKSB0b2dnbGVFeHBhbmQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcblxuICBwdWJsaWMgcmVhZG9ubHkgaXNNb2JpbGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG4gIHB1YmxpYyByZWFkb25seSBzaWRlTmF2RXhwYW5kZWRTdGF0ZSQ6IE9ic2VydmFibGU8c3RyaW5nPlxuICBwdWJsaWMgX2JhY2tkcm9wSGlkZGVuID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKVxuXG4gIEBDb250ZW50Q2hpbGQoQmFzZUxheW91dFNpZGVCYXJGb290ZXJEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KSBfc2lkZUJhckZvb3RlclRwbD86IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsXG4gIF9zaWRlQmFyRm9vdGVyUG9ydGFsPzogVGVtcGxhdGVQb3J0YWxcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2xheW91dDogVGhlU2VhbUxheW91dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc2lkZU5hdjogVGhlU2VhbVNpZGVOYXZTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVEhFU0VBTV9CQVNFX0xBWU9VVF9SRUYpIHByaXZhdGUgcmVhZG9ubHkgX2Jhc2VMYXlvdXRSZWY6IElUaGVTZWFtQmFzZUxheW91dFJlZlxuICApIHtcbiAgICB0aGlzLml0ZW1zJCA9IHRoaXMuX2l0ZW1zLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoaXRlbXMgPT4gdGhpcy5fc2lkZU5hdi5jcmVhdGVJdGVtc09ic2VydmFibGUoaXRlbXMpKSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICAgKVxuXG4gICAgdGhpcy5pc01vYmlsZSQgPSB0aGlzLl9sYXlvdXQuaXNNb2JpbGUkLnBpcGUoXG4gICAgICB0YXAoaXNNb2JpbGUgPT4gaXNNb2JpbGUgJiYgdGhpcy5jb2xsYXBzZSgpKVxuICAgIClcblxuICAgIHRoaXMuc2lkZU5hdkV4cGFuZGVkU3RhdGUkID0gY29tYmluZUxhdGVzdChbIHRoaXMuZXhwYW5kZWQkLCB0aGlzLm92ZXJsYXkkIF0pLnBpcGUoXG4gICAgICBtYXAoKFsgZXhwYW5kZWQsIG92ZXJsYXkgXSkgPT4gZXhwYW5kZWRcbiAgICAgICAgPyBvdmVybGF5ID8gRVhQQU5ERURfT1ZFUkxBWV9TVEFURSA6IEVYUEFOREVEX1NUQVRFXG4gICAgICAgIDogb3ZlcmxheSA/IENPTExBUFNFRF9PVkVSTEFZX1NUQVRFIDogQ09MTEFQU0VEX1NUQVRFXG4gICAgICApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgIClcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLl9iYXNlTGF5b3V0UmVmKSB7IHRoaXMuX2Jhc2VMYXlvdXRSZWYucmVnaXN0ZXJOYXYodGhpcykgfVxuXG4gICAgdGhpcy5pc01vYmlsZSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoYiA9PiB0aGlzLm92ZXJsYXkgPSBiKVxuXG4gICAgdGhpcy5zaWRlTmF2RXhwYW5kZWRTdGF0ZSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUodiA9PiB0aGlzLl9zaWRlTmF2RXhwYW5kID0gdilcblxuICAgIGlmICh0aGlzLl9zaWRlQmFyRm9vdGVyVHBsKSB7XG4gICAgICB0aGlzLl9zaWRlQmFyRm9vdGVyUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuX3NpZGVCYXJGb290ZXJUcGwsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpXG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KClcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKClcbiAgICBpZiAodGhpcy5fYmFzZUxheW91dFJlZikgeyB0aGlzLl9iYXNlTGF5b3V0UmVmLnVucmVnaXN0ZXJOYXYodGhpcykgfVxuICB9XG5cbiAgcHVibGljIGV4cGFuZCgpIHtcbiAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZVxuICB9XG5cbiAgcHVibGljIGNvbGxhcHNlKCkge1xuICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZVxuICB9XG5cbiAgcHVibGljIHRvZ2dsZSgpIHtcbiAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWRcbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRlU3RhcnQoKSB7XG4gICAgaWYgKHRoaXMuZXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuX2JhY2tkcm9wSGlkZGVuLm5leHQoZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFuaW1hdGVFbmQoKSB7XG4gICAgaWYgKCF0aGlzLmV4cGFuZGVkKSB7XG4gICAgICB0aGlzLl9iYWNrZHJvcEhpZGRlbi5uZXh0KHRydWUpXG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
+ import { PortalModule } from '@angular/cdk/portal';
1
2
  import { A11yModule } from '@angular/cdk/a11y';
2
3
  import { CommonModule } from '@angular/common';
3
4
  import { NgModule } from '@angular/core';
@@ -25,7 +26,8 @@ TheSeamSideNavModule.decorators = [
25
26
  A11yModule,
26
27
  TheSeamScrollbarModule,
27
28
  TheSeamLayoutModule,
28
- NgbTooltipModule
29
+ NgbTooltipModule,
30
+ PortalModule
29
31
  ],
30
32
  exports: [
31
33
  SideNavItemComponent,
@@ -34,4 +36,4 @@ TheSeamSideNavModule.decorators = [
34
36
  ]
35
37
  },] }
36
38
  ];
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9zaWRlLW5hdi9zaWRlLW5hdi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUVyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQXVCdkQsTUFBTSxPQUFPLG9CQUFvQjs7O1lBckJoQyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLG9CQUFvQjtvQkFDcEIsZ0JBQWdCO29CQUNoQixzQkFBc0I7aUJBQ3ZCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFlBQVk7b0JBQ1osaUJBQWlCO29CQUNqQixVQUFVO29CQUNWLHNCQUFzQjtvQkFDdEIsbUJBQW1CO29CQUNuQixnQkFBZ0I7aUJBQ2pCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsc0JBQXNCO2lCQUN2QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5J1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuXG5pbXBvcnQgeyBOZ2JUb29sdGlwTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnXG5cbmltcG9ydCB7IFRoZVNlYW1JY29uTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2ljb24nXG5pbXBvcnQgeyBUaGVTZWFtTGF5b3V0TW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2xheW91dCdcbmltcG9ydCB7IFRoZVNlYW1TY3JvbGxiYXJNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vc2Nyb2xsYmFyJ1xuXG5pbXBvcnQgeyBTaWRlTmF2SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vc2lkZS1uYXYtaXRlbS9zaWRlLW5hdi1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IFNpZGVOYXZUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL3NpZGUtbmF2LXRvZ2dsZS9zaWRlLW5hdi10b2dnbGUuY29tcG9uZW50J1xuaW1wb3J0IHsgU2lkZU5hdkNvbXBvbmVudCB9IGZyb20gJy4vc2lkZS1uYXYuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTaWRlTmF2SXRlbUNvbXBvbmVudCxcbiAgICBTaWRlTmF2Q29tcG9uZW50LFxuICAgIFNpZGVOYXZUb2dnbGVDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgVGhlU2VhbUljb25Nb2R1bGUsXG4gICAgQTExeU1vZHVsZSxcbiAgICBUaGVTZWFtU2Nyb2xsYmFyTW9kdWxlLFxuICAgIFRoZVNlYW1MYXlvdXRNb2R1bGUsXG4gICAgTmdiVG9vbHRpcE1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2lkZU5hdkl0ZW1Db21wb25lbnQsXG4gICAgU2lkZU5hdkNvbXBvbmVudCxcbiAgICBTaWRlTmF2VG9nZ2xlQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVGhlU2VhbVNpZGVOYXZNb2R1bGUgeyB9XG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9zaWRlLW5hdi9zaWRlLW5hdi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFFckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFDcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUF3QnZELE1BQU0sT0FBTyxvQkFBb0I7OztZQXRCaEMsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsc0JBQXNCO2lCQUN2QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZO29CQUNaLGlCQUFpQjtvQkFDakIsVUFBVTtvQkFDVixzQkFBc0I7b0JBQ3RCLG1CQUFtQjtvQkFDbkIsZ0JBQWdCO29CQUNoQixZQUFZO2lCQUNiO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsc0JBQXNCO2lCQUN2QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcblxuaW1wb3J0IHsgTmdiVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJ1xuXG5pbXBvcnQgeyBUaGVTZWFtSWNvbk1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9pY29uJ1xuaW1wb3J0IHsgVGhlU2VhbUxheW91dE1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9sYXlvdXQnXG5pbXBvcnQgeyBUaGVTZWFtU2Nyb2xsYmFyTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3Njcm9sbGJhcidcblxuaW1wb3J0IHsgU2lkZU5hdkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3NpZGUtbmF2LWl0ZW0vc2lkZS1uYXYtaXRlbS5jb21wb25lbnQnXG5pbXBvcnQgeyBTaWRlTmF2VG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlLW5hdi10b2dnbGUvc2lkZS1uYXYtdG9nZ2xlLmNvbXBvbmVudCdcbmltcG9ydCB7IFNpZGVOYXZDb21wb25lbnQgfSBmcm9tICcuL3NpZGUtbmF2LmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2lkZU5hdkl0ZW1Db21wb25lbnQsXG4gICAgU2lkZU5hdkNvbXBvbmVudCxcbiAgICBTaWRlTmF2VG9nZ2xlQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIFRoZVNlYW1JY29uTW9kdWxlLFxuICAgIEExMXlNb2R1bGUsXG4gICAgVGhlU2VhbVNjcm9sbGJhck1vZHVsZSxcbiAgICBUaGVTZWFtTGF5b3V0TW9kdWxlLFxuICAgIE5nYlRvb2x0aXBNb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTaWRlTmF2SXRlbUNvbXBvbmVudCxcbiAgICBTaWRlTmF2Q29tcG9uZW50LFxuICAgIFNpZGVOYXZUb2dnbGVDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVTZWFtU2lkZU5hdk1vZHVsZSB7IH1cbiJdfQ==
@@ -2,12 +2,13 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public-api';
5
- export { TheSeamSchemaFormCheckboxComponent as ɵc } from './schema-form-controls/schema-form-checkbox/schema-form-checkbox.component';
6
- export { TheSeamSchemaFormControlsModule as ɵb } from './schema-form-controls/schema-form-controls.module';
7
- export { TheSeamSchemaFormInputComponent as ɵf } from './schema-form-controls/schema-form-input/schema-form-input.component';
8
- export { TheSeamSchemaFormNumberComponent as ɵg } from './schema-form-controls/schema-form-number/schema-form-number.component';
9
- export { TheSeamSchemaFormSelectComponent as ɵe } from './schema-form-controls/schema-form-select/schema-form-select.component';
10
- export { TheSeamSchemaFormSubmitSplitComponent as ɵh } from './schema-form-controls/schema-form-submit-split/schema-form-submit-split.component';
11
- export { TheSeamSchemaFormSubmitComponent as ɵd } from './schema-form-controls/schema-form-submit/schema-form-submit.component';
12
- export { TheSeamSideNavService as ɵa } from './side-nav/side-nav.service';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlc2VhbS11aS1jb21tb24tZnJhbWV3b3JrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay90aGVzZWFtLXVpLWNvbW1vbi1mcmFtZXdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsa0NBQWtDLElBQUksRUFBRSxFQUFDLE1BQU0sNEVBQTRFLENBQUM7QUFDcEksT0FBTyxFQUFDLCtCQUErQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pHLE9BQU8sRUFBQywrQkFBK0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzRUFBc0UsQ0FBQztBQUMzSCxPQUFPLEVBQUMsZ0NBQWdDLElBQUksRUFBRSxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDOUgsT0FBTyxFQUFDLGdDQUFnQyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQzlILE9BQU8sRUFBQyxxQ0FBcUMsSUFBSSxFQUFFLEVBQUMsTUFBTSxvRkFBb0YsQ0FBQztBQUMvSSxPQUFPLEVBQUMsZ0NBQWdDLElBQUksRUFBRSxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDOUgsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge1RoZVNlYW1TY2hlbWFGb3JtQ2hlY2tib3hDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL3NjaGVtYS1mb3JtLWNvbnRyb2xzL3NjaGVtYS1mb3JtLWNoZWNrYm94L3NjaGVtYS1mb3JtLWNoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQge1RoZVNlYW1TY2hlbWFGb3JtQ29udHJvbHNNb2R1bGUgYXMgybVifSBmcm9tICcuL3NjaGVtYS1mb3JtLWNvbnRyb2xzL3NjaGVtYS1mb3JtLWNvbnRyb2xzLm1vZHVsZSc7XG5leHBvcnQge1RoZVNlYW1TY2hlbWFGb3JtSW5wdXRDb21wb25lbnQgYXMgybVmfSBmcm9tICcuL3NjaGVtYS1mb3JtLWNvbnRyb2xzL3NjaGVtYS1mb3JtLWlucHV0L3NjaGVtYS1mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQge1RoZVNlYW1TY2hlbWFGb3JtTnVtYmVyQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9zY2hlbWEtZm9ybS1jb250cm9scy9zY2hlbWEtZm9ybS1udW1iZXIvc2NoZW1hLWZvcm0tbnVtYmVyLmNvbXBvbmVudCc7XG5leHBvcnQge1RoZVNlYW1TY2hlbWFGb3JtU2VsZWN0Q29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9zY2hlbWEtZm9ybS1jb250cm9scy9zY2hlbWEtZm9ybS1zZWxlY3Qvc2NoZW1hLWZvcm0tc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge1RoZVNlYW1TY2hlbWFGb3JtU3VibWl0U3BsaXRDb21wb25lbnQgYXMgybVofSBmcm9tICcuL3NjaGVtYS1mb3JtLWNvbnRyb2xzL3NjaGVtYS1mb3JtLXN1Ym1pdC1zcGxpdC9zY2hlbWEtZm9ybS1zdWJtaXQtc3BsaXQuY29tcG9uZW50JztcbmV4cG9ydCB7VGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRDb21wb25lbnQgYXMgybVkfSBmcm9tICcuL3NjaGVtYS1mb3JtLWNvbnRyb2xzL3NjaGVtYS1mb3JtLXN1Ym1pdC9zY2hlbWEtZm9ybS1zdWJtaXQuY29tcG9uZW50JztcbmV4cG9ydCB7VGhlU2VhbVNpZGVOYXZTZXJ2aWNlIGFzIMm1YX0gZnJvbSAnLi9zaWRlLW5hdi9zaWRlLW5hdi5zZXJ2aWNlJzsiXX0=
5
+ export { BaseLayoutSideBarFooterDirective as ɵa } from './base-layout/directives/base-layout-side-bar-footer.directive';
6
+ export { TheSeamSchemaFormCheckboxComponent as ɵd } from './schema-form-controls/schema-form-checkbox/schema-form-checkbox.component';
7
+ export { TheSeamSchemaFormControlsModule as ɵc } from './schema-form-controls/schema-form-controls.module';
8
+ export { TheSeamSchemaFormInputComponent as ɵg } from './schema-form-controls/schema-form-input/schema-form-input.component';
9
+ export { TheSeamSchemaFormNumberComponent as ɵh } from './schema-form-controls/schema-form-number/schema-form-number.component';
10
+ export { TheSeamSchemaFormSelectComponent as ɵf } from './schema-form-controls/schema-form-select/schema-form-select.component';
11
+ export { TheSeamSchemaFormSubmitSplitComponent as ɵi } from './schema-form-controls/schema-form-submit-split/schema-form-submit-split.component';
12
+ export { TheSeamSchemaFormSubmitComponent as ɵe } from './schema-form-controls/schema-form-submit/schema-form-submit.component';
13
+ export { TheSeamSideNavService as ɵb } from './side-nav/side-nav.service';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlc2VhbS11aS1jb21tb24tZnJhbWV3b3JrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay90aGVzZWFtLXVpLWNvbW1vbi1mcmFtZXdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsZ0NBQWdDLElBQUksRUFBRSxFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDdEgsT0FBTyxFQUFDLGtDQUFrQyxJQUFJLEVBQUUsRUFBQyxNQUFNLDRFQUE0RSxDQUFDO0FBQ3BJLE9BQU8sRUFBQywrQkFBK0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUN6RyxPQUFPLEVBQUMsK0JBQStCLElBQUksRUFBRSxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDM0gsT0FBTyxFQUFDLGdDQUFnQyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQzlILE9BQU8sRUFBQyxnQ0FBZ0MsSUFBSSxFQUFFLEVBQUMsTUFBTSx3RUFBd0UsQ0FBQztBQUM5SCxPQUFPLEVBQUMscUNBQXFDLElBQUksRUFBRSxFQUFDLE1BQU0sb0ZBQW9GLENBQUM7QUFDL0ksT0FBTyxFQUFDLGdDQUFnQyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQzlILE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtCYXNlTGF5b3V0U2lkZUJhckZvb3RlckRpcmVjdGl2ZSBhcyDJtWF9IGZyb20gJy4vYmFzZS1sYXlvdXQvZGlyZWN0aXZlcy9iYXNlLWxheW91dC1zaWRlLWJhci1mb290ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7VGhlU2VhbVNjaGVtYUZvcm1DaGVja2JveENvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vc2NoZW1hLWZvcm0tY29udHJvbHMvc2NoZW1hLWZvcm0tY2hlY2tib3gvc2NoZW1hLWZvcm0tY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCB7VGhlU2VhbVNjaGVtYUZvcm1Db250cm9sc01vZHVsZSBhcyDJtWN9IGZyb20gJy4vc2NoZW1hLWZvcm0tY29udHJvbHMvc2NoZW1hLWZvcm0tY29udHJvbHMubW9kdWxlJztcbmV4cG9ydCB7VGhlU2VhbVNjaGVtYUZvcm1JbnB1dENvbXBvbmVudCBhcyDJtWd9IGZyb20gJy4vc2NoZW1hLWZvcm0tY29udHJvbHMvc2NoZW1hLWZvcm0taW5wdXQvc2NoZW1hLWZvcm0taW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCB7VGhlU2VhbVNjaGVtYUZvcm1OdW1iZXJDb21wb25lbnQgYXMgybVofSBmcm9tICcuL3NjaGVtYS1mb3JtLWNvbnRyb2xzL3NjaGVtYS1mb3JtLW51bWJlci9zY2hlbWEtZm9ybS1udW1iZXIuY29tcG9uZW50JztcbmV4cG9ydCB7VGhlU2VhbVNjaGVtYUZvcm1TZWxlY3RDb21wb25lbnQgYXMgybVmfSBmcm9tICcuL3NjaGVtYS1mb3JtLWNvbnRyb2xzL3NjaGVtYS1mb3JtLXNlbGVjdC9zY2hlbWEtZm9ybS1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7VGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdENvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vc2NoZW1hLWZvcm0tY29udHJvbHMvc2NoZW1hLWZvcm0tc3VibWl0LXNwbGl0L3NjaGVtYS1mb3JtLXN1Ym1pdC1zcGxpdC5jb21wb25lbnQnO1xuZXhwb3J0IHtUaGVTZWFtU2NoZW1hRm9ybVN1Ym1pdENvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vc2NoZW1hLWZvcm0tY29udHJvbHMvc2NoZW1hLWZvcm0tc3VibWl0L3NjaGVtYS1mb3JtLXN1Ym1pdC5jb21wb25lbnQnO1xuZXhwb3J0IHtUaGVTZWFtU2lkZU5hdlNlcnZpY2UgYXMgybVifSBmcm9tICcuL3NpZGUtbmF2L3NpZGUtbmF2LnNlcnZpY2UnOyJdfQ==
@@ -243,6 +243,20 @@ TheSeamBaseLayoutComponent.propDecorators = {
243
243
  _contentFooterTpl: [{ type: ContentChild, args: [BaseLayoutContentFooterDirective, { static: true, read: TemplateRef },] }]
244
244
  };
245
245
 
246
+ class BaseLayoutSideBarFooterDirective {
247
+ constructor(_elementRef) {
248
+ this._elementRef = _elementRef;
249
+ }
250
+ }
251
+ BaseLayoutSideBarFooterDirective.decorators = [
252
+ { type: Directive, args: [{
253
+ selector: '[seamBaseLayoutSideBarFooter]'
254
+ },] }
255
+ ];
256
+ BaseLayoutSideBarFooterDirective.ctorParameters = () => [
257
+ { type: ElementRef }
258
+ ];
259
+
246
260
  class TheSeamBaseLayoutModule {
247
261
  }
248
262
  TheSeamBaseLayoutModule.decorators = [
@@ -251,6 +265,7 @@ TheSeamBaseLayoutModule.decorators = [
251
265
  TheSeamBaseLayoutComponent,
252
266
  BaseLayoutContentDirective,
253
267
  BaseLayoutSideBarDirective,
268
+ BaseLayoutSideBarFooterDirective,
254
269
  BaseLayoutTopBarDirective,
255
270
  BaseLayoutNavToggleDirective,
256
271
  BaseLayoutContentHeaderDirective,
@@ -267,6 +282,7 @@ TheSeamBaseLayoutModule.decorators = [
267
282
  TheSeamBaseLayoutComponent,
268
283
  BaseLayoutContentDirective,
269
284
  BaseLayoutSideBarDirective,
285
+ BaseLayoutSideBarFooterDirective,
270
286
  BaseLayoutTopBarDirective,
271
287
  BaseLayoutNavToggleDirective,
272
288
  BaseLayoutContentHeaderDirective,
@@ -1246,7 +1262,8 @@ function sideNavExpandStateChangeFn(fromState, toState) {
1246
1262
  (EXPANDED_STATES.indexOf(toState) !== -1 && COLLAPSED_STATES.indexOf(fromState) !== -1)));
1247
1263
  }
1248
1264
  class SideNavComponent {
1249
- constructor(_layout, _sideNav, _baseLayoutRef) {
1265
+ constructor(_viewContainerRef, _layout, _sideNav, _baseLayoutRef) {
1266
+ this._viewContainerRef = _viewContainerRef;
1250
1267
  this._layout = _layout;
1251
1268
  this._sideNav = _sideNav;
1252
1269
  this._baseLayoutRef = _baseLayoutRef;
@@ -1258,9 +1275,10 @@ class SideNavComponent {
1258
1275
  this.hasHeaderToggle = true;
1259
1276
  this._items = new BehaviorSubject([]);
1260
1277
  this._expanded = new BehaviorSubject(true);
1261
- this.expanded$ = this._expanded.asObservable();
1278
+ this.expanded$ = this._expanded.asObservable().pipe(tap(expanded => this.toggleExpand.emit(expanded)));
1262
1279
  this._overlay = new BehaviorSubject(false);
1263
1280
  this.overlay$ = this._overlay.asObservable();
1281
+ this.toggleExpand = new EventEmitter();
1264
1282
  this._backdropHidden = new BehaviorSubject(true);
1265
1283
  this.items$ = this._items.asObservable().pipe(switchMap(items => this._sideNav.createItemsObservable(items)), shareReplay({ bufferSize: 1, refCount: true }));
1266
1284
  this.isMobile$ = this._layout.isMobile$.pipe(tap(isMobile => isMobile && this.collapse()));
@@ -1284,6 +1302,9 @@ class SideNavComponent {
1284
1302
  this.sideNavExpandedState$
1285
1303
  .pipe(takeUntil(this._ngUnsubscribe))
1286
1304
  .subscribe(v => this._sideNavExpand = v);
1305
+ if (this._sideBarFooterTpl) {
1306
+ this._sideBarFooterPortal = new TemplatePortal(this._sideBarFooterTpl, this._viewContainerRef);
1307
+ }
1287
1308
  }
1288
1309
  ngOnDestroy() {
1289
1310
  this._ngUnsubscribe.next();
@@ -1315,7 +1336,7 @@ class SideNavComponent {
1315
1336
  SideNavComponent.decorators = [
1316
1337
  { type: Component, args: [{
1317
1338
  selector: 'seam-side-nav',
1318
- template: "<div class=\"side-nav-backdrop\" *ngIf=\"isMobile$ | async\"\n [@sideNavBackdrop]=\"_sideNavExpand\"\n [class.side-nav-backdrop-hidden]=\"_backdropHidden | async\"></div>\n\n<div class=\"side-nav-inner-wrapper\" [@sideNavExpand]=\"_sideNavExpand\"\n (@sideNavExpand.start)=\"animateStart()\"\n (@sideNavExpand.done)=\"animateEnd()\">\n <nav class=\"nav side-nav-content\">\n <seam-side-nav-toggle *ngIf=\"hasHeaderToggle\"\n [expanded]=\"expanded$ | async\"\n (toggleExpand)=\"toggle()\">\n </seam-side-nav-toggle>\n <div class=\"side-nav-items-container\" seamOverlayScrollbar>\n <seam-side-nav-item *ngFor=\"let item of items$ | async\"\n [compact]=\"!(expanded$ | async)\"\n [itemType]=\"$any(item)?.itemType\"\n [icon]=\"$any(item)?.icon\"\n [label]=\"$any(item)?.label\"\n [link]=\"$any(item)?.link\"\n [badgeText]=\"$any(item)?.badge?.text\"\n [badgeTheme]=\"$any(item)?.badge?.theme || 'danger'\"\n [badgeSrContent]=\"$any(item)?.badge?.srContent\"\n [badgeTooltip]=\"$any(item)?.badge?.tooltip\"\n [queryParams]=\"$any(item)?.queryParams\"\n [children]=\"$any(item)?.children\"\n [active]=\"$any(item).__state.active\"\n [expanded]=\"$any(item).__state.expanded\">\n </seam-side-nav-item>\n </div>\n </nav>\n</div>\n",
1339
+ template: "<div class=\"side-nav-backdrop\" *ngIf=\"isMobile$ | async\"\n [@sideNavBackdrop]=\"_sideNavExpand\"\n [class.side-nav-backdrop-hidden]=\"_backdropHidden | async\"></div>\n\n<div class=\"side-nav-inner-wrapper\" [@sideNavExpand]=\"_sideNavExpand\"\n (@sideNavExpand.start)=\"animateStart()\"\n (@sideNavExpand.done)=\"animateEnd()\">\n <nav class=\"nav side-nav-content\">\n <seam-side-nav-toggle *ngIf=\"hasHeaderToggle\"\n [expanded]=\"expanded$ | async\"\n (toggleExpand)=\"toggle()\">\n </seam-side-nav-toggle>\n <div class=\"side-nav-items-container\" seamOverlayScrollbar>\n <seam-side-nav-item *ngFor=\"let item of items$ | async\"\n [compact]=\"!(expanded$ | async)\"\n [itemType]=\"$any(item)?.itemType\"\n [icon]=\"$any(item)?.icon\"\n [label]=\"$any(item)?.label\"\n [link]=\"$any(item)?.link\"\n [badgeText]=\"$any(item)?.badge?.text\"\n [badgeTheme]=\"$any(item)?.badge?.theme || 'danger'\"\n [badgeSrContent]=\"$any(item)?.badge?.srContent\"\n [badgeTooltip]=\"$any(item)?.badge?.tooltip\"\n [queryParams]=\"$any(item)?.queryParams\"\n [children]=\"$any(item)?.children\"\n [active]=\"$any(item).__state.active\"\n [expanded]=\"$any(item).__state.expanded\">\n </seam-side-nav-item>\n </div>\n <ng-template [cdkPortalOutlet]=\"_sideBarFooterPortal\"></ng-template>\n </nav>\n</div>\n",
1319
1340
  providers: [
1320
1341
  TheSeamSideNavService
1321
1342
  ],
@@ -1388,6 +1409,7 @@ SideNavComponent.decorators = [
1388
1409
  },] }
1389
1410
  ];
1390
1411
  SideNavComponent.ctorParameters = () => [
1412
+ { type: ViewContainerRef },
1391
1413
  { type: TheSeamLayoutService },
1392
1414
  { type: TheSeamSideNavService },
1393
1415
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [THESEAM_BASE_LAYOUT_REF,] }] }
@@ -1397,7 +1419,9 @@ SideNavComponent.propDecorators = {
1397
1419
  hasHeaderToggle: [{ type: Input }],
1398
1420
  items: [{ type: Input }],
1399
1421
  expanded: [{ type: Input }],
1400
- overlay: [{ type: Input }]
1422
+ overlay: [{ type: Input }],
1423
+ toggleExpand: [{ type: Output }],
1424
+ _sideBarFooterTpl: [{ type: ContentChild, args: [BaseLayoutSideBarFooterDirective, { static: true, read: TemplateRef },] }]
1401
1425
  };
1402
1426
  __decorate([
1403
1427
  InputBoolean()
@@ -1593,7 +1617,8 @@ TheSeamSideNavModule.decorators = [
1593
1617
  A11yModule,
1594
1618
  TheSeamScrollbarModule,
1595
1619
  TheSeamLayoutModule,
1596
- NgbTooltipModule
1620
+ NgbTooltipModule,
1621
+ PortalModule
1597
1622
  ],
1598
1623
  exports: [
1599
1624
  SideNavItemComponent,
@@ -2649,5 +2674,5 @@ TheSeamSchemaFormModule.decorators = [
2649
2674
  * Generated bundle index. Do not edit.
2650
2675
  */
2651
2676
 
2652
- export { BaseLayoutContentDirective, BaseLayoutContentFooterDirective, BaseLayoutContentHeaderDirective, BaseLayoutNavToggleDirective, BaseLayoutSideBarDirective, BaseLayoutTopBarDirective, DashboardComponent, DashboardWidgetContainerComponent, DashboardWidgetPortalOutletDirective, DashboardWidgetTemplateContainerComponent, DashboardWidgetsComponent, DashboardWidgetsPreferencesService, DashboardWidgetsService, HierarchyLevelResolver, HierarchyRouterOutletComponent, SideNavComponent, SideNavItemComponent, SideNavToggleComponent, THESEAM_BASE_LAYOUT_REF, THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR, THE_SEAM_BASE_LAYOUT, TheSeamBaseLayoutComponent, TheSeamBaseLayoutModule, TheSeamDashboardModule, TheSeamDynamicRouterModule, TheSeamFramework, TheSeamSchemaFormFrameworkComponent, TheSeamSchemaFormModule, TheSeamSideNavModule, TheSeamTopBarComponent, TheSeamTopBarModule, TopBarItemDirective, TopBarMenuBtnDetailDirective, TopBarMenuButtonComponent, TopBarMenuDirective, TopBarTitleComponent, canBeActive, canExpand, canHaveChildren, fader, findLinkItems, getItemStateProp, hasActiveChild, hasChildren, hasExpandedChild, isExpanded, isNavItemActive, isNavItemType, routeChanges, setDefaultState, setItemStateProp, sideNavExpandStateChangeFn, sideToSide, slider, stepper, transformer, TheSeamSideNavService as ɵa, TheSeamSchemaFormControlsModule as ɵb, TheSeamSchemaFormCheckboxComponent as ɵc, TheSeamSchemaFormSubmitComponent as ɵd, TheSeamSchemaFormSelectComponent as ɵe, TheSeamSchemaFormInputComponent as ɵf, TheSeamSchemaFormNumberComponent as ɵg, TheSeamSchemaFormSubmitSplitComponent as ɵh };
2677
+ export { BaseLayoutContentDirective, BaseLayoutContentFooterDirective, BaseLayoutContentHeaderDirective, BaseLayoutNavToggleDirective, BaseLayoutSideBarDirective, BaseLayoutTopBarDirective, DashboardComponent, DashboardWidgetContainerComponent, DashboardWidgetPortalOutletDirective, DashboardWidgetTemplateContainerComponent, DashboardWidgetsComponent, DashboardWidgetsPreferencesService, DashboardWidgetsService, HierarchyLevelResolver, HierarchyRouterOutletComponent, SideNavComponent, SideNavItemComponent, SideNavToggleComponent, THESEAM_BASE_LAYOUT_REF, THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR, THE_SEAM_BASE_LAYOUT, TheSeamBaseLayoutComponent, TheSeamBaseLayoutModule, TheSeamDashboardModule, TheSeamDynamicRouterModule, TheSeamFramework, TheSeamSchemaFormFrameworkComponent, TheSeamSchemaFormModule, TheSeamSideNavModule, TheSeamTopBarComponent, TheSeamTopBarModule, TopBarItemDirective, TopBarMenuBtnDetailDirective, TopBarMenuButtonComponent, TopBarMenuDirective, TopBarTitleComponent, canBeActive, canExpand, canHaveChildren, fader, findLinkItems, getItemStateProp, hasActiveChild, hasChildren, hasExpandedChild, isExpanded, isNavItemActive, isNavItemType, routeChanges, setDefaultState, setItemStateProp, sideNavExpandStateChangeFn, sideToSide, slider, stepper, transformer, BaseLayoutSideBarFooterDirective as ɵa, TheSeamSideNavService as ɵb, TheSeamSchemaFormControlsModule as ɵc, TheSeamSchemaFormCheckboxComponent as ɵd, TheSeamSchemaFormSubmitComponent as ɵe, TheSeamSchemaFormSelectComponent as ɵf, TheSeamSchemaFormInputComponent as ɵg, TheSeamSchemaFormNumberComponent as ɵh, TheSeamSchemaFormSubmitSplitComponent as ɵi };
2653
2678
  //# sourceMappingURL=theseam-ui-common-framework.js.map