@coolon/angular-ui-powerups 16.1.0-aplpha.34 → 16.1.0-aplpha.36

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.
@@ -39,7 +39,7 @@ import { MatTableModule } from '@angular/material/table';
39
39
  import * as i4$1 from '@angular/material/tooltip';
40
40
  import { MatTooltipModule } from '@angular/material/tooltip';
41
41
  import * as i1$3 from '@coolon/pectin';
42
- import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, proxify, ValueModel, Proxify, StoreInValueModel, Command, MutableListModel, StoreInListModel, Disposable, DelegatingListModel, MutableValueModel, DelegateToValueModel, FocusManager, EventListenerList, Guard, DelegatingFormListModel, Binding, DebugContext, DelegateToListModel, DelegatingFormValueModel, ListModel, Functions, PageController, SelectionModel, CanProxy, MultipleSelectionModel, AbstractComputedListModel, DirtyTrackingForm, ProxyRegistry, DelegatingCommand, PagedListModel, ComputedListModel, Deferred, ReducingValueModel, AndValueModel } from '@coolon/pectin';
42
+ import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, proxify, ValueModel, Proxify, StoreInValueModel, Command, MutableListModel, StoreInListModel, Disposable, DelegatingListModel, MutableValueModel, DelegateToValueModel, FocusManager, EventListenerList, Guard, DelegatingFormListModel, Binding, DebugContext, DelegateToListModel, DelegatingFormValueModel, ListModel, Functions, PageController, SelectionModel, CanProxy, MultipleSelectionModel, WatchList, Trace, DirtyTrackingForm, ProxyRegistry, DelegatingCommand, PagedListModel, ComputedListModel, Deferred, ReducingValueModel, AndValueModel } from '@coolon/pectin';
43
43
  import { __decorate, __param, __metadata } from 'tslib';
44
44
  import * as i1 from '@angular/platform-browser';
45
45
  import escapeStringRegexp from 'escape-string-regexp';
@@ -52,6 +52,7 @@ import * as i5 from '@angular/material/core';
52
52
  import { produce } from 'immer';
53
53
  import ResizeObserver from 'resize-observer-polyfill';
54
54
  import { isFunction as isFunction$1, isNil as isNil$1, isEmpty as isEmpty$1, last, findLast } from 'lodash-es';
55
+ import { generateKeyBetween } from 'fractional-indexing';
55
56
  import * as i5$1 from '@angular/cdk/a11y';
56
57
  import { A11yModule } from '@angular/cdk/a11y';
57
58
  import * as i7$1 from '@angular/flex-layout';
@@ -3484,47 +3485,106 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
3484
3485
  type: Directive
3485
3486
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; } });
3486
3487
 
3487
- class ColumnListModel extends AbstractComputedListModel {
3488
- _allColumns$ = new MutableListModel();
3489
- columnsById$;
3488
+ class ColumnRef {
3489
+ column;
3490
+ position;
3491
+ constructor(column, position) {
3492
+ this.column = column;
3493
+ this.position = position;
3494
+ }
3495
+ }
3496
+ class ColumnListModel extends GarbageCollector {
3497
+ _columnRefs$ = new MutableListModel();
3498
+ orderedColumnRefs$;
3499
+ _columnsById$;
3500
+ allColumns$;
3501
+ columnVisibilities$ = new WatchList();
3502
+ visibleColumns$;
3490
3503
  constructor() {
3491
3504
  super();
3492
3505
  const { chain } = Dsl.disposeWith(this);
3493
- this.columnsById$ = chain(this._allColumns$).indexBy('columnId');
3494
- }
3495
- get allColumns$() {
3496
- return this._allColumns$.readonly$;
3506
+ this.orderedColumnRefs$ = chain(this._columnRefs$).orderBy("position", "asc");
3507
+ this.allColumns$ = this.orderedColumnRefs$.pluck("column");
3508
+ this._columnsById$ = chain(this.allColumns$).indexBy('columnId');
3509
+ this.visibleColumns$ = chain(this.allColumns$).select(it => it.visible$.value, {
3510
+ dependsOn: this.columnVisibilities$
3511
+ });
3497
3512
  }
3513
+ // get allColumns$(): ListModel<ColumnModel<Row>> {
3514
+ // return this._allColumns$.readonly$;
3515
+ // }
3498
3516
  getColumn(id) {
3499
- return this.columnsById$.get(id);
3517
+ return this._columnsById$.get(id);
3500
3518
  }
3501
3519
  hasColumn(id) {
3502
- return !!this.columnsById$.get(id);
3520
+ return !!this._columnsById$.get(id);
3503
3521
  }
3504
3522
  hasMatchingColumn(row, regex) {
3505
3523
  // only search the visible columns
3506
- return !!this.value.find(c => regex.test(c.getSearchTextFor(row)));
3524
+ return !!this.visibleColumns$.value.find(c => regex.test(c.getSearchTextFor(row)));
3507
3525
  }
3508
- addColumn(column, index) {
3526
+ addColumn(column, position) {
3509
3527
  if (this.hasColumn(column.columnId)) {
3510
3528
  lang.illegalState(`Column with id=${column.columnId} already exists`);
3511
3529
  }
3512
3530
  this.registerDisposable(column);
3513
- this.runInTransaction(() => {
3514
- if (!isNil(index)) {
3515
- this._allColumns$.insert(index, column);
3516
- }
3517
- else {
3518
- this._allColumns$.push(column);
3531
+ this._columnRefs$.push(new ColumnRef(column, this.computePosition(position)));
3532
+ this.columnVisibilities$.add(column.visible$);
3533
+ return column;
3534
+ }
3535
+ computePosition(position) {
3536
+ const q = this.orderedColumnRefs$.query();
3537
+ return ColumnListModel.processPosition(position, {
3538
+ before(col) {
3539
+ const beforeIndex = q.findIndex(ref => ref.column === col);
3540
+ const beforeCol = q.value[beforeIndex];
3541
+ const afterCol = beforeIndex - 1 > 0 ? q.value[beforeIndex - 1] : undefined;
3542
+ console.log({ afterCol, beforeCol });
3543
+ return generateKeyBetween(afterCol?.position, beforeCol.position);
3544
+ },
3545
+ after(col) {
3546
+ const afterIndex = q.findIndex(ref => ref.column === col);
3547
+ const afterCol = q.value[afterIndex];
3548
+ const beforeCol = afterIndex + 1 < q.length ? q.value[afterIndex + 1] : undefined;
3549
+ console.log({ afterCol, beforeCol });
3550
+ return generateKeyBetween(afterCol.position, beforeCol?.position);
3551
+ },
3552
+ first() {
3553
+ return generateKeyBetween(null, q.first()?.position);
3554
+ },
3555
+ last() {
3556
+ // add it to the end of the list
3557
+ return generateKeyBetween(q.last()?.position, null);
3519
3558
  }
3520
- this.registerDisposable(this.trackSource(column.visible$));
3521
3559
  });
3522
- return column;
3523
3560
  }
3524
3561
  doComputeValue() {
3525
- return this._allColumns$.value.filter(c => c.visible$.value);
3562
+ return this.allColumns$.value.filter(c => c.visible$.value);
3526
3563
  }
3527
3564
  }
3565
+ __decorate([
3566
+ Trace(),
3567
+ __metadata("design:type", Function),
3568
+ __metadata("design:paramtypes", [Object]),
3569
+ __metadata("design:returntype", String)
3570
+ ], ColumnListModel.prototype, "computePosition", null);
3571
+ (function (ColumnListModel) {
3572
+ function processPosition(position, callback) {
3573
+ if (position) {
3574
+ const keys = Object.keys(position);
3575
+ if (keys.includes("before")) {
3576
+ return position["before"] ? callback.before(position["before"]) : callback.first();
3577
+ }
3578
+ else {
3579
+ return position["after"] ? callback.before(position["after"]) : callback.last();
3580
+ }
3581
+ }
3582
+ else {
3583
+ return callback.last();
3584
+ }
3585
+ }
3586
+ ColumnListModel.processPosition = processPosition;
3587
+ })(ColumnListModel || (ColumnListModel = {}));
3528
3588
 
3529
3589
  const TEXT_SEARCH_FORMATTER_KEY = `aup:table:textSearchFormatter`;
3530
3590
  const Keys = Enum("useFunction", "useInstance", "useClass");
@@ -3883,15 +3943,15 @@ class AbstractTableModel extends GarbageCollector {
3883
3943
  });
3884
3944
  this._editorSessionByRowId = chain(this._editorSessions).indexBy("rowId");
3885
3945
  this.editing$ = chain(this._editorSessions).count().isGreaterThan(0);
3886
- this.textSearchPredicate$ = chain(this.visibleColumns).reduce(columns => {
3946
+ this.textSearchPredicate$ = chain(this.visibleColumns$).reduce(columns => {
3887
3947
  return (row, regex) => {
3888
3948
  return (!regex || !!columns.find(c => regex.test(c.getSearchTextFor(row))));
3889
3949
  };
3890
3950
  });
3891
3951
  this.firstEditableColumn$ = chain(this.columns).select(c => c.hasEditorPortal()).first();
3892
- this.firstVisibleColumn$ = chain(this._columnList).first();
3893
- this.lastVisibleColumn$ = chain(this._columnList).last();
3894
- this.rowSelectionDisabledOnAllColumns$ = chain(this._columnList).select(column => column.isRowSelectionEnabled()).count().equals(0);
3952
+ this.firstVisibleColumn$ = chain(this.visibleColumns$).first();
3953
+ this.lastVisibleColumn$ = chain(this.visibleColumns$).last();
3954
+ this.rowSelectionDisabledOnAllColumns$ = chain(this._columnList.visibleColumns$).select(column => column.isRowSelectionEnabled()).count().equals(0);
3895
3955
  this.dataSourceEmpty$ = chain(this.dataSource$).isEmpty();
3896
3956
  this.selectedItems$ = this.selectionModelProxy.selectedItems$;
3897
3957
  this.leadSelection$ = this.selectionModelProxy.leadSelection$;
@@ -3971,8 +4031,8 @@ class AbstractTableModel extends GarbageCollector {
3971
4031
  get columns() {
3972
4032
  return this._columnList.allColumns$;
3973
4033
  }
3974
- get visibleColumns() {
3975
- return this._columnList.readonly$;
4034
+ get visibleColumns$() {
4035
+ return this._columnList.visibleColumns$;
3976
4036
  }
3977
4037
  pluck(property, options) {
3978
4038
  const columnId = options?.columnId || property.toString();
@@ -3992,7 +4052,7 @@ class AbstractTableModel extends GarbageCollector {
3992
4052
  this.selectionColumnModel = new SelectionColumnModel(columnId, () => this.getColumnTextProperties(columnId), this.selectionModelProxy);
3993
4053
  this.selectionColumnModel.useSelectionModel(selectionModel);
3994
4054
  this.addRowClass("aup-row-selected", row => this.selectionColumnModel.isSelected(row));
3995
- const selectionColumnModel = this.addColumn(this.selectionColumnModel, 0);
4055
+ const selectionColumnModel = this.addColumn(this.selectionColumnModel, { before: null }); // first column
3996
4056
  if (!isNil$1(visible)) {
3997
4057
  selectionColumnModel.visibleWhile(visible instanceof ValueModel ? visible : ValueModel.constant(visible));
3998
4058
  }
@@ -4036,8 +4096,8 @@ class AbstractTableModel extends GarbageCollector {
4036
4096
  });
4037
4097
  return classNames;
4038
4098
  }
4039
- addColumn(column, index) {
4040
- return this._columnList.addColumn(column, index);
4099
+ addColumn(column, position) {
4100
+ return this._columnList.addColumn(column, position);
4041
4101
  }
4042
4102
  columnTextProperties(columnTextProperties) {
4043
4103
  this._columnTextPropertiesLookup = columnTextProperties;
@@ -11024,7 +11084,7 @@ class SidePlaceNavigationComponent extends AbstractPlaceNavigationComponent {
11024
11084
  this.expanded = !this.expanded;
11025
11085
  }
11026
11086
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SidePlaceNavigationComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
11027
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SidePlaceNavigationComponent, selector: "aup-side-place-navigation", inputs: { expanded$: "expanded$", expanded: "expanded" }, host: { properties: { "class.expanded": "this.expanded" } }, queries: [{ propertyName: "navEndTemplate", first: true, predicate: ["navEndTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon matListItemIcon [icon]=\"homeIcon$.value\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">Menu</span>\n </a>\n <a *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n mat-list-item\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [activated]=\"item.active\"\n aup-gc #gc=\"aup-gc\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n >\n <aup-icon matListItemIcon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);color:var(--resolved-color);background-color:var(--resolved-background-color);width:var(--resolved-nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host aup-icon{margin-right:12px}:host>mat-nav-list{flex:1;display:flex;flex-direction:column;padding:0}:host .mat-mdc-list-item,:host .mat-mdc-list-item-icon,:host .mat-mdc-list-item-icon.activated,:host .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated .mdc-list-item__primary-text,:host .mdc-list-item--activated .mat-mdc-list-item-icon{color:var(--resolved-color)}:host .mdc-list-item--activated{background-color:#444}:host *.flip-horizontal{transform:scaleX(-1)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3$3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i3$3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
11087
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SidePlaceNavigationComponent, selector: "aup-side-place-navigation", inputs: { expanded$: "expanded$", expanded: "expanded" }, host: { properties: { "class.expanded": "this.expanded" } }, queries: [{ propertyName: "navEndTemplate", first: true, predicate: ["navEndTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon matListItemIcon [icon]=\"homeIcon$.value\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">Menu</span>\n </a>\n <a *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n mat-list-item\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [activated]=\"item.active\"\n aup-gc #gc=\"aup-gc\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n >\n <aup-icon matListItemIcon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);color:var(--resolved-color);background-color:var(--resolved-background-color);width:var(--resolved-nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host aup-icon{margin-right:12px}:host>mat-nav-list{flex:1;display:flex;flex-direction:column;padding:0}:host .mat-mdc-list-item,:host .mat-mdc-list-item-icon,:host .mat-mdc-list-item-icon.activated,:host .mdc-list-item--with-leading-icon:hover .mdc-list-item__start,:host .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated .mdc-list-item__primary-text,:host .mdc-list-item--activated .mat-mdc-list-item-icon{color:var(--resolved-color)}:host .mdc-list-item:hover{background-color:#444;color:var(--resolved-color)}:host .mdc-list-item--activated{background-color:#444}:host *.flip-horizontal{transform:scaleX(-1)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3$3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i3$3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
11028
11088
  }
11029
11089
  __decorate([
11030
11090
  Proxify(),
@@ -11036,7 +11096,7 @@ __decorate([
11036
11096
  ], SidePlaceNavigationComponent.prototype, "expanded", null);
11037
11097
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SidePlaceNavigationComponent, decorators: [{
11038
11098
  type: Component,
11039
- args: [{ selector: 'aup-side-place-navigation', template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon matListItemIcon [icon]=\"homeIcon$.value\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">Menu</span>\n </a>\n <a *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n mat-list-item\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [activated]=\"item.active\"\n aup-gc #gc=\"aup-gc\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n >\n <aup-icon matListItemIcon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);color:var(--resolved-color);background-color:var(--resolved-background-color);width:var(--resolved-nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host aup-icon{margin-right:12px}:host>mat-nav-list{flex:1;display:flex;flex-direction:column;padding:0}:host .mat-mdc-list-item,:host .mat-mdc-list-item-icon,:host .mat-mdc-list-item-icon.activated,:host .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated .mdc-list-item__primary-text,:host .mdc-list-item--activated .mat-mdc-list-item-icon{color:var(--resolved-color)}:host .mdc-list-item--activated{background-color:#444}:host *.flip-horizontal{transform:scaleX(-1)}\n"] }]
11099
+ args: [{ selector: 'aup-side-place-navigation', template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon matListItemIcon [icon]=\"homeIcon$.value\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">Menu</span>\n </a>\n <a *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n mat-list-item\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [activated]=\"item.active\"\n aup-gc #gc=\"aup-gc\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n >\n <aup-icon matListItemIcon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);color:var(--resolved-color);background-color:var(--resolved-background-color);width:var(--resolved-nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host aup-icon{margin-right:12px}:host>mat-nav-list{flex:1;display:flex;flex-direction:column;padding:0}:host .mat-mdc-list-item,:host .mat-mdc-list-item-icon,:host .mat-mdc-list-item-icon.activated,:host .mdc-list-item--with-leading-icon:hover .mdc-list-item__start,:host .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated .mdc-list-item__primary-text,:host .mdc-list-item--activated .mat-mdc-list-item-icon{color:var(--resolved-color)}:host .mdc-list-item:hover{background-color:#444;color:var(--resolved-color)}:host .mdc-list-item--activated{background-color:#444}:host *.flip-horizontal{transform:scaleX(-1)}\n"] }]
11040
11100
  }], ctorParameters: function () { return [{ type: PlaceRouter }]; }, propDecorators: { expanded$: [{
11041
11101
  type: Input
11042
11102
  }], expanded: [{