@coolon/angular-ui-powerups 2.0.0-alpha.33 → 2.0.0-alpha.35

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 (71) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/assets/commands.scss +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.js +111 -52
  4. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  5. package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -2
  6. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  7. package/coolon-angular-ui-powerups.metadata.json +1 -1
  8. package/esm2015/lib/components/card-container/card-container.component.js +1 -1
  9. package/esm2015/lib/components/card-container/card-container.component.metadata.json +1 -1
  10. package/esm2015/lib/components/commands/command-face/command-face.component.js +9 -2
  11. package/esm2015/lib/components/commands/command-face/command-face.component.js.map +1 -1
  12. package/esm2015/lib/components/commands/command-face/command-face.component.metadata.json +1 -1
  13. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js +1 -1
  14. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.metadata.json +1 -1
  15. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +2 -5
  16. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  17. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  18. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  19. package/esm2015/lib/place/components/abstract-place-navigation.component.js +4 -3
  20. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  21. package/esm2015/lib/place/components/abstract-place-navigation.component.metadata.json +1 -1
  22. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
  23. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  24. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -1
  25. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +56 -16
  26. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  27. package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
  28. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +1 -1
  29. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -1
  30. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.metadata.json +1 -1
  31. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
  32. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
  33. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.metadata.json +1 -1
  34. package/esm2015/lib/place/place-component.js +12 -0
  35. package/esm2015/lib/place/place-component.js.map +1 -1
  36. package/esm2015/lib/place/place-component.metadata.json +1 -1
  37. package/esm2015/lib/place/place.module.js +3 -3
  38. package/esm2015/lib/place/place.module.js.map +1 -1
  39. package/esm2015/lib/place/place.module.metadata.json +1 -1
  40. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  41. package/esm5/lib/components/card-container/card-container.component.js +1 -1
  42. package/esm5/lib/components/commands/command-face/command-face.component.js +9 -2
  43. package/esm5/lib/components/commands/command-face/command-face.component.js.map +1 -1
  44. package/esm5/lib/interaction/components/activity-actions/activity-actions.component.js +1 -1
  45. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +2 -5
  46. package/esm5/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  47. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  48. package/esm5/lib/place/components/abstract-place-navigation.component.js +4 -3
  49. package/esm5/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  50. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
  51. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  52. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +56 -16
  53. package/esm5/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  54. package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.js +1 -1
  55. package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -1
  56. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
  57. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
  58. package/esm5/lib/place/place-component.js +16 -0
  59. package/esm5/lib/place/place-component.js.map +1 -1
  60. package/esm5/lib/place/place.module.js +3 -3
  61. package/esm5/lib/place/place.module.js.map +1 -1
  62. package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
  63. package/fesm2015/coolon-angular-ui-powerups.js +103 -48
  64. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  65. package/fesm5/coolon-angular-ui-powerups.js +109 -50
  66. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  67. package/lib/components/commands/command-face/command-face.component.d.ts +8 -1
  68. package/lib/place/components/abstract-place-navigation.component.d.ts +2 -2
  69. package/lib/place/components/place-outlet/place-outlet.component.d.ts +8 -2
  70. package/lib/place/place-component.d.ts +6 -0
  71. package/package.json +1 -1
@@ -18,7 +18,7 @@ import { MatTableModule } from '@angular/material/table';
18
18
  import { MatTooltipModule } from '@angular/material/tooltip';
19
19
  import { FaIconLibrary, FontAwesomeModule } from '@fortawesome/angular-fontawesome';
20
20
  import { fas } from '@fortawesome/free-solid-svg-icons';
21
- import { DelegatingValueModel, assert, UnaryCommand, lang, Dsl, GarbageCollector, Logger, TrackExternal, Command, MutableListModel, Disposable, MutableValueModel, StoreInValueModel, ListModel, FocusManager, EventListenerList, Form, Guard, Binding, DebugContext, StoreInListModel, ValueModel, MultipleSelectionModel, DirtyTrackingForm, DelegatingCommand, Deferred, Functions } from '@coolon/pectin';
21
+ import { DelegatingValueModel, assert, UnaryCommand, lang, Dsl, GarbageCollector, Logger, TrackExternal, Command, MutableListModel, Disposable, MutableValueModel, StoreInValueModel, ListModel, FocusManager, EventListenerList, Form, Guard, Binding, DebugContext, StoreInListModel, ValueModel, MultipleSelectionModel, DirtyTrackingForm, DelegatingCommand, Deferred, Trace, Functions } from '@coolon/pectin';
22
22
  import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
23
23
  import ___default, { isEqual, isNil } from 'lodash';
24
24
  import { Enum } from 'typescript-string-enums';
@@ -29,8 +29,8 @@ import { MatDialogModule, MatDialog, MatDialogConfig, MAT_DIALOG_DEFAULT_OPTIONS
29
29
  import { RouterModule, UrlSegment, Router, UrlSerializer, NavigationStart, NavigationEnd, NavigationError, NavigationCancel, RouterOutlet } from '@angular/router';
30
30
  import { Overlay, CdkScrollable } from '@angular/cdk/overlay';
31
31
  import ResizeObserver from 'resize-observer-polyfill';
32
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
33
32
  import { MatListModule } from '@angular/material/list';
33
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
34
34
  import { Memoize as Memoize$1 } from '@typescript-plus/fast-memoize-decorator';
35
35
  import 'reflect-metadata';
36
36
  import { style, query, group, animate, trigger, transition } from '@angular/animations';
@@ -409,7 +409,7 @@ var CardContainerComponent = /** @class */ (function (_super) {
409
409
  Component({
410
410
  selector: 'aup-card-container',
411
411
  template: "<div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled.value\" [pectinCommand]=\"addCardCommand\">\n <aup-icon icon=\"mat:add\"></aup-icon>\n </div>\n\n <div class=\"add-card-template\" *ngIf=\"addCardTemplate\">\n <ng-container [ngTemplateOutlet]=\"addCardTemplate\"></ng-container>\n </div>\n\n</div>\n",
412
- styles: [":root{--aup-default-padding:var(--default-padding, 18px);--aup-default-background:white;--command-face-icon-gap:8px;--aup-icon-width:24px;--aup-fa-icon-width:18px}.router-outlet-container>*{position:absolute;top:0;left:0;bottom:0;right:0}[no-tab-header]>mat-tab-header{display:none}[full-height-tabs] .mat-tab-body-wrapper,mat-tab-group.full-height-tabs .mat-tab-body-wrapper{flex:1}[full-height-tabs] .mat-tab-body-wrapper .mat-tab-body-content,[full-height-tabs] .mat-tab-body-wrapper mat-tab-body,mat-tab-group.full-height-tabs .mat-tab-body-wrapper .mat-tab-body-content,mat-tab-group.full-height-tabs .mat-tab-body-wrapper mat-tab-body{display:flex;flex-direction:column;justify-content:stretch}.dialog-interaction-context{max-width:95vw!important;max-height:95vh!important}.dialog-interaction-context mat-dialog-container{max-width:95vw!important;max-height:95vh!important;padding:0}.activity-outlet-wrapper{display:flex;flex-direction:column;align-items:stretch}.aup-popup-interaction-panel{background:var(--aup-default-background,#fff);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1)}.aup-input-activity{padding:calc(var(--aup-default-padding)/2)}.aup-input-component{display:block}.aup-input-component input,.aup-input-component mat-form-field{width:100%}.aup-input-component input mat-hint.faux-error,.aup-input-component mat-form-field mat-hint.faux-error{color:#f44336}.aup-input-component.dense mat-form-field .mat-form-field-infix{border-top:none}.aup-input-component.dense mat-form-field .mat-form-field-flex{padding-top:0}.aup-input-component.dense mat-form-field .mat-form-field-wrapper{padding-bottom:0;border-bottom:0}.aup-input-component.dense mat-form-field .mat-form-field-underline{bottom:0}.aup-input-component.dense mat-form-field.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label-wrapper{display:none}.aup-input-component.dense mat-form-field.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(0)}aup-table-cell-renderer>.aup-input-component .mat-form-field-flex{padding-top:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-infix{width:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-label-wrapper{display:none}aup-table{--default-column-gap:var(--column-gap, 24px);--resolved-row-hover-background-color:var(--row-hover-background-color, rgba(0, 0, 0, 0.05))}aup-table .mat-table td.mat-cell:first-of-type,aup-table .mat-table td.mat-footer-cell:first-of-type,aup-table .mat-table th.mat-header-cell:first-of-type{padding-left:0}aup-table .mat-table tr.enable-hover:hover{background-color:var(--resolved-row-hover-background-color)}aup-table .mat-table td.enable-cursor{cursor:pointer}aup-table aup-table-cell-renderer,aup-table aup-table-header-cell-renderer{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%;min-height:47px}aup-table aup-table-cell-renderer.first-column,aup-table aup-table-cell-renderer:not(.first-column),aup-table aup-table-header-cell-renderer.first-column,aup-table aup-table-header-cell-renderer:not(.first-column){padding-left:var(--default-column-gap)}aup-table aup-table-cell-renderer.fillCell{justify-content:stretch;padding-left:0!important}aup-table aup-table-cell-renderer.padChild>:first-child{padding-left:var(--default-column-gap);flex:1}aup-icon{--fa-icon-offset:calc((var(--aup-icon-width) - var(--aup-fa-icon-width)) / 2);position:relative}aup-icon fa-icon .svg-inline--fa{position:absolute;top:var(--fa-icon-offset);left:var(--fa-icon-offset);width:var(--aup-fa-icon-width)!important;height:var(--aup-fa-icon-width)!important}.mat-menu-panel aup-icon .svg-inline--fa{opacity:.54}:host{--resolved-card-gap:var(--card-gap, 16px);--resolved-card-width:var(--card-width, 300px);--resolved-card-height:var(--card-height, auto);--resolved-card-min-height:var(--card-min-height, auto);--resolved-card-background:var(--card-background, #fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fill,var(--resolved-card-width));grid-template-rows:repeat(auto-fit,minmax(0,var(--resolved-card-height)));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap));max-width:100%}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:rgba(255,255,255,.8);transition:280ms cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:280ms cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-container:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
412
+ styles: [":root{--aup-default-padding:var(--default-padding, 18px);--aup-default-background:white;--aup-command-face-icon-gap:8px;--aup-icon-width:24px;--aup-fa-icon-width:18px}.router-outlet-container>*{position:absolute;top:0;left:0;bottom:0;right:0}[no-tab-header]>mat-tab-header{display:none}[full-height-tabs] .mat-tab-body-wrapper,mat-tab-group.full-height-tabs .mat-tab-body-wrapper{flex:1}[full-height-tabs] .mat-tab-body-wrapper .mat-tab-body-content,[full-height-tabs] .mat-tab-body-wrapper mat-tab-body,mat-tab-group.full-height-tabs .mat-tab-body-wrapper .mat-tab-body-content,mat-tab-group.full-height-tabs .mat-tab-body-wrapper mat-tab-body{display:flex;flex-direction:column;justify-content:stretch}.dialog-interaction-context{max-width:95vw!important;max-height:95vh!important}.dialog-interaction-context mat-dialog-container{max-width:95vw!important;max-height:95vh!important;padding:0}.activity-outlet-wrapper{display:flex;flex-direction:column;align-items:stretch}.aup-popup-interaction-panel{background:var(--aup-default-background,#fff);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1)}.aup-input-activity{padding:calc(var(--aup-default-padding)/2)}.aup-input-component{display:block}.aup-input-component input,.aup-input-component mat-form-field{width:100%}.aup-input-component input mat-hint.faux-error,.aup-input-component mat-form-field mat-hint.faux-error{color:#f44336}.aup-input-component.dense mat-form-field .mat-form-field-infix{border-top:none}.aup-input-component.dense mat-form-field .mat-form-field-flex{padding-top:0}.aup-input-component.dense mat-form-field .mat-form-field-wrapper{padding-bottom:0;border-bottom:0}.aup-input-component.dense mat-form-field .mat-form-field-underline{bottom:0}.aup-input-component.dense mat-form-field.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label-wrapper{display:none}.aup-input-component.dense mat-form-field.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(0)}aup-table-cell-renderer>.aup-input-component .mat-form-field-flex{padding-top:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-infix{width:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-label-wrapper{display:none}aup-table{--default-column-gap:var(--column-gap, 24px);--resolved-row-hover-background-color:var(--row-hover-background-color, rgba(0, 0, 0, 0.05))}aup-table .mat-table td.mat-cell:first-of-type,aup-table .mat-table td.mat-footer-cell:first-of-type,aup-table .mat-table th.mat-header-cell:first-of-type{padding-left:0}aup-table .mat-table tr.enable-hover:hover{background-color:var(--resolved-row-hover-background-color)}aup-table .mat-table td.enable-cursor{cursor:pointer}aup-table aup-table-cell-renderer,aup-table aup-table-header-cell-renderer{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%;min-height:47px}aup-table aup-table-cell-renderer.first-column,aup-table aup-table-cell-renderer:not(.first-column),aup-table aup-table-header-cell-renderer.first-column,aup-table aup-table-header-cell-renderer:not(.first-column){padding-left:var(--default-column-gap)}aup-table aup-table-cell-renderer.fillCell{justify-content:stretch;padding-left:0!important}aup-table aup-table-cell-renderer.padChild>:first-child{padding-left:var(--default-column-gap);flex:1}aup-icon{--fa-icon-offset:calc((var(--aup-icon-width) - var(--aup-fa-icon-width)) / 2);position:relative}aup-icon fa-icon .svg-inline--fa{position:absolute;top:var(--fa-icon-offset);left:var(--fa-icon-offset);width:var(--aup-fa-icon-width)!important;height:var(--aup-fa-icon-width)!important}.mat-menu-panel aup-icon .svg-inline--fa{opacity:.54}:host{--resolved-card-gap:var(--card-gap, 16px);--resolved-card-width:var(--card-width, 300px);--resolved-card-height:var(--card-height, auto);--resolved-card-min-height:var(--card-min-height, auto);--resolved-card-background:var(--card-background, #fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fill,var(--resolved-card-width));grid-template-rows:repeat(auto-fit,minmax(0,var(--resolved-card-height)));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap));max-width:100%}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:rgba(255,255,255,.8);transition:280ms cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:280ms cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-container:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
413
413
  }),
414
414
  __metadata("design:paramtypes", [])
415
415
  ], CardContainerComponent);
@@ -570,7 +570,14 @@ var CommandBarComponent = /** @class */ (function (_super) {
570
570
  }(CommandContainer));
571
571
 
572
572
  /**
573
- *
573
+ * Custom CSS:
574
+ * @example
575
+ * root: { // globally
576
+ * --aup-command-face-icon-gap: 8px;
577
+ * }
578
+ * aup-command-face { // per instance
579
+ * --icon-gap: 4px;
580
+ * }
574
581
  */
575
582
  var CommandFaceComponent = /** @class */ (function (_super) {
576
583
  __extends(CommandFaceComponent, _super);
@@ -676,7 +683,7 @@ var CommandFaceComponent = /** @class */ (function (_super) {
676
683
  selector: 'aup-command-face',
677
684
  template: "<aup-icon *ngIf=\"iconStart\" [icon]=\"iconModel.value\"></aup-icon>\n<span *ngIf=\"this.text\">{{this.text}}</span>\n<aup-icon *ngIf=\"iconEnd\" [icon]=\"iconModel.value\"></aup-icon>\n",
678
685
  encapsulation: ViewEncapsulation.None,
679
- styles: ["aup-command-face{--icon-gap:var(--command-face-icon-gap);display:inline-flex;flex-direction:row;align-items:center}aup-command-face *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}"]
686
+ styles: ["aup-command-face{--icon-gap:var(--aup-command-face-icon-gap);display:inline-flex;flex-direction:row;align-items:center}aup-command-face *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}"]
680
687
  }),
681
688
  __param(0, Optional()),
682
689
  __metadata("design:paramtypes", [CommandContainer])
@@ -3332,7 +3339,7 @@ var ActivityActionsComponent = /** @class */ (function (_super) {
3332
3339
  Component({
3333
3340
  selector: 'aup-activity-actions',
3334
3341
  template: "<ng-container *ngIf=\"hasCancelCommand()\">\n <button class=\"cancel\" *ngIf=\"!hasCancelText()\" mat-icon-button [pectinCommand]=\"cancelCommand\">\n <aup-icon icon=\"mat:clear\"></aup-icon>\n </button>\n <button class=\"cancel\" *ngIf=\"hasCancelText()\" mat-button [pectinCommand]=\"cancelCommand\">{{cancelText}}</button>\n</ng-container>\n<ng-container *ngIf=\"hasConfirmCommand()\">\n <button class=\"confirm\" *ngIf=\"!hasConfirmText()\" mat-icon-button [pectinCommand]=\"confirmCommand\">\n <aup-icon icon=\"mat:done\"></aup-icon>\n </button>\n <button class=\"confirm\" *ngIf=\"hasConfirmText()\" mat-button [pectinCommand]=\"confirmCommand\">{{confirmText}}</button>\n</ng-container>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>\n",
3335
- styles: [":host{display:-ms-grid;display:grid;grid-template-areas:\"cancel confirm content\";-ms-grid-columns:auto auto 1fr;grid-template-columns:auto auto 1fr;-ms-grid-rows:auto;grid-template-rows:auto;align-items:center;justify-content:end}:host.align-end{grid-template-areas:\"content cancel confirm\";-ms-grid-columns:1fr auto auto;grid-template-columns:1fr auto auto}:host.align-stretch{grid-template-areas:\"cancel content confirm\";-ms-grid-columns:auto 1fr auto;grid-template-columns:auto 1fr auto}.cancel{-ms-grid-row:1;-ms-grid-column:1;grid-area:cancel}:host.align-end>.cancel{-ms-grid-row:1;-ms-grid-column:2}:host.align-stretch>.cancel{-ms-grid-row:1;-ms-grid-column:1}.confirm{-ms-grid-row:1;-ms-grid-column:2;grid-area:confirm}:host.align-end>.confirm{-ms-grid-row:1;-ms-grid-column:3}:host.align-stretch>.confirm{-ms-grid-row:1;-ms-grid-column:3}.content{-ms-grid-row:1;-ms-grid-column:3;grid-area:content;text-align:left}:host.align-end>.content{-ms-grid-row:1;-ms-grid-column:1}:host.align-stretch>.content{-ms-grid-row:1;-ms-grid-column:2}"]
3342
+ styles: [":host{display:-ms-grid;display:grid;grid-template-areas:\"cancel confirm content\";-ms-grid-columns:auto auto 1fr;grid-template-columns:auto auto 1fr;-ms-grid-rows:auto;grid-template-rows:auto;align-items:center;justify-content:end}:host.align-end{grid-template-areas:\"content cancel confirm\";-ms-grid-columns:1fr auto auto;grid-template-columns:1fr auto auto}:host.align-stretch{grid-template-areas:\"cancel content confirm\";-ms-grid-columns:auto 1fr auto;grid-template-columns:auto 1fr auto}.cancel{-ms-grid-row:1;-ms-grid-column:1;grid-area:cancel}:host.align-end>.cancel{-ms-grid-row:1;-ms-grid-column:2}:host.align-stretch>.cancel{-ms-grid-row:1;-ms-grid-column:1}.confirm{-ms-grid-row:1;-ms-grid-column:2;grid-area:confirm}:host.align-end>.confirm{-ms-grid-row:1;-ms-grid-column:3}:host.align-stretch>.confirm{-ms-grid-row:1;-ms-grid-column:3}.column{-ms-grid-row:1;-ms-grid-column:3;grid-area:content;text-align:left}:host.align-end>.column{-ms-grid-row:1;-ms-grid-column:1}:host.align-stretch>.column{-ms-grid-row:1;-ms-grid-column:2}"]
3336
3343
  })
3337
3344
  ], ActivityActionsComponent);
3338
3345
  return ActivityActionsComponent;
@@ -3693,10 +3700,6 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
3693
3700
  _this.dynamicHeight = false;
3694
3701
  _this.activityRefs = [];
3695
3702
  _this.garbage = new GarbageCollector();
3696
- // We have issues where angular is triggering a leave animation when an
3697
- // new activity is started, but is not running the enter animation
3698
- // when it is scrolled back into view. So we track the tab changes and
3699
- // disable all animations inside the tab while we're animating.
3700
3703
  _this.inAnimation = new MutableValueModel(false);
3701
3704
  return _this;
3702
3705
  }
@@ -3854,6 +3857,7 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
3854
3857
  var newIndex = this.getActiveActivityCount() - 1;
3855
3858
  if (previousIndex !== newIndex) {
3856
3859
  this.inAnimation.value = true;
3860
+ this.activityRefs[newIndex].setFocused(false);
3857
3861
  this.tabs.selectedIndex = newIndex;
3858
3862
  this.onAnimationFinishedJob = function () {
3859
3863
  _this.activityRefs = _this.activityRefs.filter(function (tab) { return !tab.isComplete(); });
@@ -3897,7 +3901,7 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
3897
3901
  ActivityContainerComponent = __decorate([
3898
3902
  Component({
3899
3903
  selector: 'aup-activity-container',
3900
- template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let tab of activityRefs; let i = index; trackBy: activityIndex\">\n <div class=\"activity-outlet-wrapper\" [@.disabled]=\"inAnimation.value || !tab.focused\">\n <aup-activity-outlet [nestedInteractionContext]=\"this\"\n [activityRef]=\"tab\"></aup-activity-outlet>\n </div>\n </mat-tab>\n</mat-tab-group>\n",
3904
+ template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <!--\n We have issues where angular is triggering a leave animation when an\n new activity is started, but is not running the enter animation\n when it is scrolled back into view. So we track the tab changes and\n disable all animations inside the tab while we're animating.\n -->\n <div class=\"activity-outlet-wrapper\" [@.disabled]=\"!activityRef.focused\">\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"activityRef\"></aup-activity-outlet>\n </div>\n </mat-tab>\n</mat-tab-group>\n",
3901
3905
  styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]
3902
3906
  }),
3903
3907
  __metadata("design:paramtypes", [])
@@ -4968,6 +4972,9 @@ var PlaceComponent = /** @class */ (function (_super) {
4968
4972
  var _this = _super.call(this) || this;
4969
4973
  _this.visitModel = new MutableValueModel();
4970
4974
  _this._inVisitUpdate = new Guard();
4975
+ _this._active = new MutableValueModel(false);
4976
+ var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
4977
+ when(_this._active).becomesTruthy(function () { return _this.onPlaceReady(); });
4971
4978
  return _this;
4972
4979
  }
4973
4980
  PlaceComponent_1 = PlaceComponent;
@@ -5025,6 +5032,19 @@ var PlaceComponent = /** @class */ (function (_super) {
5025
5032
  enumerable: true,
5026
5033
  configurable: true
5027
5034
  });
5035
+ Object.defineProperty(PlaceComponent.prototype, "active", {
5036
+ get: function () {
5037
+ return this._active.readonly;
5038
+ },
5039
+ enumerable: true,
5040
+ configurable: true
5041
+ });
5042
+ /**
5043
+ * Called by the router when the place is ready to interact after any animations have run.
5044
+ */
5045
+ PlaceComponent.prototype._notifyActive = function (active) {
5046
+ this._active.value = active;
5047
+ };
5028
5048
  PlaceComponent.prototype.onPlaceReady = function () {
5029
5049
  };
5030
5050
  var PlaceComponent_1;
@@ -6562,6 +6582,7 @@ var PlaceOutletComponent = /** @class */ (function (_super) {
6562
6582
  _this._activePlaceModel = new MutableValueModel();
6563
6583
  _this.initialPlaceIndex = null;
6564
6584
  _this._isPushingVisitToRoute = new MutableValueModel(false);
6585
+ _this.isVeryFirstLoad = true;
6565
6586
  var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
6566
6587
  _this.parentOutletModel = new MutableValueModel(parentOutlet);
6567
6588
  var defaultPlaceAnimationOrder = chain(_this.parentOutletModel)
@@ -6570,8 +6591,9 @@ var PlaceOutletComponent = /** @class */ (function (_super) {
6570
6591
  .pluckList('children')
6571
6592
  .pluck('component');
6572
6593
  var activatePlaceType = chain(_this.activePlaceModel).map(function (p) { return p.constructor; });
6573
- _this.placeAnimationOrder = chain(_this.customPlaceAnimationOrderModel)
6574
- .otherwise(defaultPlaceAnimationOrder)
6594
+ _this.placesInAnimationOrder = chain(_this.customPlaceAnimationOrderModel)
6595
+ .otherwise(defaultPlaceAnimationOrder);
6596
+ _this.activePlaceAnimationPosition = _this.placesInAnimationOrder
6575
6597
  .reduce(function (placesInOrder) {
6576
6598
  var placeIndex = 0;
6577
6599
  if (activatePlaceType.value) {
@@ -6582,14 +6604,16 @@ var PlaceOutletComponent = /** @class */ (function (_super) {
6582
6604
  }
6583
6605
  return isNil(_this.initialPlaceIndex) ? 0 : placeIndex - _this.initialPlaceIndex;
6584
6606
  }, { dependsOn: activatePlaceType });
6607
+ _this.animationSupported = _this.placesInAnimationOrder.count().isGreaterThan(0);
6608
+ _this.animationEnabled = valueOf.all(_this.animateModel, _this.animationSupported).areTruthy();
6585
6609
  // Extract our visit model from the place router.
6586
6610
  _this._activePlaceDefinition = chain(_this._activePlaceModel).pluck('placeDefinition');
6587
6611
  _this.routerVisitModel = _this._activePlaceDefinition.findIn(chain(placeRouter.activeVisitsByPlaceDefinition));
6588
6612
  _this.navigationInProgress = chain(_this.placeRouter.navigationInProgress);
6589
- when.valueOf(_this.navigationInProgress).becomesFalsey(function () {
6613
+ when(_this.navigationInProgress).becomesFalsey(function () {
6590
6614
  _this.checkStateAndInitialise();
6591
6615
  });
6592
- when.valueOf(_this.outletActivated).becomesTruthy(function () {
6616
+ when(_this.outletActivated).becomesTruthy(function () {
6593
6617
  _this.checkStateAndInitialise();
6594
6618
  });
6595
6619
  chain(_this._activePlaceModel)
@@ -6602,7 +6626,7 @@ var PlaceOutletComponent = /** @class */ (function (_super) {
6602
6626
  };
6603
6627
  // @Trace()
6604
6628
  PlaceOutletComponent.prototype.getAnimationOrder = function () {
6605
- return this.placeAnimationOrder.value;
6629
+ return this.activePlaceAnimationPosition.value;
6606
6630
  };
6607
6631
  Object.defineProperty(PlaceOutletComponent.prototype, "animationDuration", {
6608
6632
  get: function () {
@@ -6613,7 +6637,10 @@ var PlaceOutletComponent = /** @class */ (function (_super) {
6613
6637
  });
6614
6638
  // @Trace()
6615
6639
  PlaceOutletComponent.prototype.navigate = function (visit) {
6616
- // console.log({ activatedRoute: this._activatedRouteModel.value });
6640
+ // const place = this.placesInAnimationOrder.query().findMatching(p => visit.placeDefinition.component === p);
6641
+ // if (!place) {
6642
+ // lang.illegalState()
6643
+ // }
6617
6644
  this.placeRouter.navigate(visit, {
6618
6645
  relativeTo: this.parentOutlet ? this.parentOutlet.activatedRouteModel.value : null
6619
6646
  });
@@ -6639,14 +6666,25 @@ var PlaceOutletComponent = /** @class */ (function (_super) {
6639
6666
  enumerable: true,
6640
6667
  configurable: true
6641
6668
  });
6642
- // @Trace()
6643
6669
  PlaceOutletComponent.prototype.onOutletActivated = function (routerOutlet, place) {
6644
6670
  this._activatedRouteModel.value = routerOutlet.activatedRoute;
6645
6671
  this._activePlaceModel.value = place;
6672
+ this.validateAnimationState(place);
6646
6673
  this.outletActivated.value = true;
6647
6674
  this.checkStateAndInitialise();
6648
6675
  };
6649
- // @Trace()
6676
+ PlaceOutletComponent.prototype.validateAnimationState = function (place) {
6677
+ if (this.animateModel.value) {
6678
+ if (this.placesInAnimationOrder.length < 1) {
6679
+ console.error('PlaceOutlet.animate === true but placeAnimationOrder has not been set. Animation is disabled.');
6680
+ }
6681
+ else {
6682
+ if (!this.placesInAnimationOrder.query().includes(place.placeDefinition.component)) {
6683
+ console.error("PlaceOutlet.animate === true but placeAnimationOrder doesn't contain " + place.placeDefinition.component.name + ".");
6684
+ }
6685
+ }
6686
+ }
6687
+ };
6650
6688
  PlaceOutletComponent.prototype.onOutletDeactivated = function () {
6651
6689
  this.outletActivated.value = false;
6652
6690
  this._activePlaceModel.value = null;
@@ -6663,7 +6701,6 @@ var PlaceOutletComponent = /** @class */ (function (_super) {
6663
6701
  this.initialisePlace(routerVisit, activePlace);
6664
6702
  }
6665
6703
  };
6666
- // @Trace()
6667
6704
  PlaceOutletComponent.prototype.initialisePlace = function (routerVisit, activePlace) {
6668
6705
  var _this = this;
6669
6706
  var visitModel = new MutableValueModel(routerVisit);
@@ -6671,9 +6708,18 @@ var PlaceOutletComponent = /** @class */ (function (_super) {
6671
6708
  activePlace.initialiseVisit(routerVisit, function (current, previous) {
6672
6709
  _this.pushVisitChangeToRoute(previous, current);
6673
6710
  });
6674
- if (!this.animateModel.value) {
6675
- // we're not animating so trigger any post animation callbacks now.
6676
- this.animationDone();
6711
+ var finishPlaceLoad = function () {
6712
+ _this._activePlaceModel.value._notifyActive(true);
6713
+ };
6714
+ if (!this.animationEnabled.value || this.isVeryFirstLoad) {
6715
+ // if animation is disabled or this is the very first load then
6716
+ // we won't get our animation done callback so we finish the
6717
+ // process here and now.
6718
+ this.isVeryFirstLoad = false;
6719
+ finishPlaceLoad();
6720
+ }
6721
+ else {
6722
+ this.onAnimationFinishedJob = finishPlaceLoad;
6677
6723
  }
6678
6724
  var _a = Dsl.disposeWith(activePlace), when = _a.when, chain = _a.chain, valueOf = _a.valueOf;
6679
6725
  when.valueOf(this.routerVisitModel)
@@ -6696,8 +6742,9 @@ var PlaceOutletComponent = /** @class */ (function (_super) {
6696
6742
  };
6697
6743
  // @Trace()
6698
6744
  PlaceOutletComponent.prototype.animationDone = function () {
6699
- if (this._activePlaceModel.value) {
6700
- this._activePlaceModel.value.onPlaceReady();
6745
+ if (this.onAnimationFinishedJob) {
6746
+ this.onAnimationFinishedJob();
6747
+ this.onAnimationFinishedJob = undefined;
6701
6748
  }
6702
6749
  };
6703
6750
  PlaceOutletComponent.ctorParameters = function () { return [
@@ -6730,10 +6777,22 @@ var PlaceOutletComponent = /** @class */ (function (_super) {
6730
6777
  ViewChild('routeOutlet', { static: true }),
6731
6778
  __metadata("design:type", RouterOutlet)
6732
6779
  ], PlaceOutletComponent.prototype, "routerOut", void 0);
6780
+ __decorate([
6781
+ Trace(),
6782
+ __metadata("design:type", Function),
6783
+ __metadata("design:paramtypes", [RouterOutlet, PlaceComponent]),
6784
+ __metadata("design:returntype", void 0)
6785
+ ], PlaceOutletComponent.prototype, "onOutletActivated", null);
6786
+ __decorate([
6787
+ Trace(),
6788
+ __metadata("design:type", Function),
6789
+ __metadata("design:paramtypes", []),
6790
+ __metadata("design:returntype", void 0)
6791
+ ], PlaceOutletComponent.prototype, "onOutletDeactivated", null);
6733
6792
  PlaceOutletComponent = __decorate([
6734
6793
  Component({
6735
6794
  selector: 'aup-place-outlet',
6736
- template: "<ng-container *ngIf=\"animateModel.value\">\n <div class=\"router-outlet-container\" cdkScrollable\n [@routeAnimations]=\"{value: getAnimationOrder(), params:{duration: animationDuration}}\"\n (@routeAnimations.start)=\"animationStarted()\"\n (@routeAnimations.done)=\"animationDone()\"\n >\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!animateModel.value\">\n <div class=\"router-outlet-container\" cdkScrollable>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n",
6795
+ template: "<ng-container *ngIf=\"animationEnabled.value\">\n <div class=\"router-outlet-container\" cdkScrollable\n [@routeAnimations]=\"{value: getAnimationOrder(), params:{duration: animationDuration}}\"\n (@routeAnimations.start)=\"animationStarted()\"\n (@routeAnimations.done)=\"animationDone()\"\n >\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!animationEnabled.value\">\n <div class=\"router-outlet-container\" cdkScrollable>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n",
6737
6796
  animations: [LEFT_RIGHT_PLACE_ANIMATION],
6738
6797
  styles: [":host{display:flex;flex-direction:column;min-height:0}.router-outlet-container{flex:1;display:block;position:relative;min-height:0;overflow-x:hidden;overflow-y:scroll}router-outlet{display:none}"]
6739
6798
  }),
@@ -6764,10 +6823,10 @@ var AbstractPlaceNavigationComponent = /** @class */ (function (_super) {
6764
6823
  _this.activePlaceDefinition = chain(_this._activePlaceComponent).pluck('placeDefinition');
6765
6824
  return _this;
6766
6825
  }
6767
- AbstractPlaceNavigationComponent.prototype.getNav = function (placeDef) {
6826
+ AbstractPlaceNavigationComponent.prototype.getNavigationFace = function (placeDef) {
6768
6827
  var navItem = placeDef.getPlaceData('nav');
6769
6828
  return {
6770
- title: function () { return navItem ? navItem.title() : placeDef.searchPlaceData(['navTitle', 'title']); },
6829
+ text: function () { return navItem ? navItem.title() : placeDef.searchPlaceData(['navTitle', 'title']); },
6771
6830
  tooltip: function () { return navItem && navItem.tooltip ? navItem.tooltip() : placeDef.getPlaceData('navTooltip', null); },
6772
6831
  icon: function () { return navItem && navItem.icon ? navItem.icon() : placeDef.getPlaceData('navIcon', null); }
6773
6832
  };
@@ -6801,7 +6860,7 @@ var AbstractPlaceNavigationComponent = /** @class */ (function (_super) {
6801
6860
  __metadata("design:type", Function),
6802
6861
  __metadata("design:paramtypes", [PlaceDefinition]),
6803
6862
  __metadata("design:returntype", Object)
6804
- ], AbstractPlaceNavigationComponent.prototype, "getNav", null);
6863
+ ], AbstractPlaceNavigationComponent.prototype, "getNavigationFace", null);
6805
6864
  AbstractPlaceNavigationComponent = __decorate([
6806
6865
  Component({
6807
6866
  template: ''
@@ -6862,7 +6921,7 @@ var ListPlaceNavComponent = /** @class */ (function (_super) {
6862
6921
  ListPlaceNavComponent = __decorate([
6863
6922
  Component({
6864
6923
  selector: 'aup-list-place-nav',
6865
- template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNav(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNav(placeDefinition).icon()\" [icon]=\"getNav(placeDefinition).icon()\"></aup-icon>\n <span>{{getNav(placeDefinition).title()}}</span>\n </a>\n</mat-nav-list>\n",
6924
+ template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNavigationFace(placeDefinition).tooltip()\">\n <aup-command-face [face]=\"getNavigationFace(placeDefinition)\"></aup-command-face>\n </a>\n</mat-nav-list>\n",
6866
6925
  styles: [":host{display:flex;flex-direction:column;--selected-border-color:#838383;--selected-color:inherit;--selected-background:#f1f1f1}mat-nav-list{padding-top:0}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}"]
6867
6926
  }),
6868
6927
  __metadata("design:paramtypes", [PlaceRouter])
@@ -6870,25 +6929,6 @@ var ListPlaceNavComponent = /** @class */ (function (_super) {
6870
6929
  return ListPlaceNavComponent;
6871
6930
  }(AbstractPlaceNavigationComponent));
6872
6931
 
6873
- var TabbedPlaceNavigationComponent = /** @class */ (function (_super) {
6874
- __extends(TabbedPlaceNavigationComponent, _super);
6875
- function TabbedPlaceNavigationComponent(placeRouter) {
6876
- return _super.call(this, placeRouter) || this;
6877
- }
6878
- TabbedPlaceNavigationComponent.ctorParameters = function () { return [
6879
- { type: PlaceRouter }
6880
- ]; };
6881
- TabbedPlaceNavigationComponent = __decorate([
6882
- Component({
6883
- selector: 'aup-tabbed-place-navigation',
6884
- template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNav(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNav(placeDefinition).icon()\" [icon]=\"getNav(placeDefinition).icon()\"></aup-icon>\n <span>{{getNav(placeDefinition).title()}}</span>\n </a>\n</nav>\n",
6885
- styles: [""]
6886
- }),
6887
- __metadata("design:paramtypes", [PlaceRouter])
6888
- ], TabbedPlaceNavigationComponent);
6889
- return TabbedPlaceNavigationComponent;
6890
- }(AbstractPlaceNavigationComponent));
6891
-
6892
6932
  /**
6893
6933
  * @example
6894
6934
  * // Usage
@@ -6963,7 +7003,7 @@ var SidePlaceNavigationComponent = /** @class */ (function (_super) {
6963
7003
  SidePlaceNavigationComponent = __decorate([
6964
7004
  Component({
6965
7005
  selector: 'aup-side-place-navigation',
6966
- template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"mat:menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"mat:arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNav(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNav(placeDefinition).icon()\" [icon]=\"getNav(placeDefinition).icon()\"></aup-icon>\n <span\n class=\"expanded-only\">{{getNav(placeDefinition).title()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n",
7006
+ template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"mat:menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"mat:arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNavigationFace(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNavigationFace(placeDefinition).icon()\" [icon]=\"getNavigationFace(placeDefinition).icon()\"></aup-icon>\n <span class=\"expanded-only\">{{getNavigationFace(placeDefinition).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n",
6967
7007
  styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width:var(--nav-width, 56px);--resolved-nav-item-height:var(--nav-item-height, var(--resolved-nav-item-width));--resolved-expanded-width:var(--nav-expanded-width, 235px);--resolved-color:var(--nav-color, rgba(255, 255, 255, 0.9));--resolved-background-color:var(--nav-background-color, #555);width:var(--resolved-nav-item-width);transition:width 125ms linear;background-color:var(--resolved-background-color);color:var(--resolved-color)}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host-context(.expanded) .expanded-only{max-width:100%}:host-context(.expanded) .collapsed-only{max-width:0}:host-context(.expanded) .mat-list-item aup-icon:not(.collapsed-only){margin-right:12px}:host-context(.expanded) .mat-list-item span{text-wrap:none;white-space:nowrap}.expanded-only{max-width:0;overflow:hidden}.collapsed-only{max-width:100%;overflow:hidden}mat-nav-list{flex:1;display:flex;flex-direction:column}.mat-list-item{width:var(--resolved-nav-item-width);height:var(--resolved-nav-item-height);color:inherit}.mat-list-item.active{background-color:#444}.mat-list-item.home{text-align:left}mat-icon{color:inherit}mat-icon.flip-horizontal{transform:scaleX(-1)}"]
6968
7008
  }),
6969
7009
  __metadata("design:paramtypes", [Router, PlaceRouter])
@@ -6971,6 +7011,25 @@ var SidePlaceNavigationComponent = /** @class */ (function (_super) {
6971
7011
  return SidePlaceNavigationComponent;
6972
7012
  }(AbstractPlaceNavigationComponent));
6973
7013
 
7014
+ var TabbedPlaceNavigationComponent = /** @class */ (function (_super) {
7015
+ __extends(TabbedPlaceNavigationComponent, _super);
7016
+ function TabbedPlaceNavigationComponent(placeRouter) {
7017
+ return _super.call(this, placeRouter) || this;
7018
+ }
7019
+ TabbedPlaceNavigationComponent.ctorParameters = function () { return [
7020
+ { type: PlaceRouter }
7021
+ ]; };
7022
+ TabbedPlaceNavigationComponent = __decorate([
7023
+ Component({
7024
+ selector: 'aup-tabbed-place-navigation',
7025
+ template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNavigationFace(placeDefinition).tooltip()\">\n <aup-command-face [face]=\"getNavigationFace(placeDefinition)\"></aup-command-face>\n </a>\n</nav>\n",
7026
+ styles: [""]
7027
+ }),
7028
+ __metadata("design:paramtypes", [PlaceRouter])
7029
+ ], TabbedPlaceNavigationComponent);
7030
+ return TabbedPlaceNavigationComponent;
7031
+ }(AbstractPlaceNavigationComponent));
7032
+
6974
7033
  var PlaceModule = /** @class */ (function () {
6975
7034
  function PlaceModule() {
6976
7035
  }