@coolon/angular-ui-powerups 12.4.0-alpha.90 → 12.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +29 -25
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/coolon-angular-ui-powerups.metadata.json +1 -1
  4. package/esm2015/lib/components/busy-overlay/busy-overlay.component.js +1 -1
  5. package/esm2015/lib/components/busy-overlay/busy-overlay.component.metadata.json +1 -1
  6. package/esm2015/lib/components/commands/command/command.component.js +9 -9
  7. package/esm2015/lib/components/commands/command/command.component.js.map +1 -1
  8. package/esm2015/lib/components/commands/command/command.component.metadata.json +1 -1
  9. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js +3 -2
  10. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js.map +1 -1
  11. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.metadata.json +1 -1
  12. package/esm2015/lib/components/commands/group/popup-menu/more-menu.component.js +1 -1
  13. package/esm2015/lib/components/commands/group/popup-menu/more-menu.component.js.map +1 -1
  14. package/esm2015/lib/components/commands/group/popup-menu/more-menu.component.metadata.json +1 -1
  15. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js +2 -2
  16. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js.map +1 -1
  17. package/esm2015/lib/components/commands/group/popup-menu/popup-menu.component.js +1 -2
  18. package/esm2015/lib/components/commands/group/popup-menu/popup-menu.component.js.map +1 -1
  19. package/esm2015/lib/components/commands/group/popup-menu/popup-menu.component.metadata.json +1 -1
  20. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  21. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +1 -1
  22. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +1 -1
  23. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +1 -1
  24. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
  25. package/esm2015/lib/components/forms/select-input/select-input.component.js +1 -1
  26. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  27. package/esm2015/lib/components/text/markdown/markdown.component.js +1 -0
  28. package/esm2015/lib/components/text/markdown/markdown.component.js.map +1 -1
  29. package/esm2015/lib/components/text/markdown/markdown.component.metadata.json +1 -1
  30. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +1 -1
  31. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  32. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +1 -1
  33. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.metadata.json +1 -1
  34. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +5 -2
  35. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  36. package/fesm2015/coolon-angular-ui-powerups.js +28 -24
  37. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  38. package/lib/components/commands/command/command.component.d.ts +6 -6
  39. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +1 -0
  40. package/package.json +1 -1
@@ -464,7 +464,7 @@ BusyOverlayComponent.decorators = [
464
464
  { type: Component, args: [{
465
465
  selector: 'aup-busy-overlay',
466
466
  template: "<ng-content></ng-content>\n<div class=\"busy-overlay-backdrop\" *ngIf=\"busyModel.value\">\n <mat-progress-spinner mode=\"indeterminate\" [diameter]=\"52\"></mat-progress-spinner>\n</div>\n",
467
- styles: [":host{position:relative}div.busy-overlay-backdrop{z-index:10;z-index:var(--aup-busy-overlay-z-index, 10);position:absolute;background-color:#0003;top:0;left:0;bottom:0;right:0;display:grid;grid-template-columns:auto;grid-template-rows:auto;place-content:center}\n"]
467
+ styles: [":host{position:relative;display:flex;flex-direction:column;align-items:stretch}div.busy-overlay-backdrop{z-index:10;z-index:var(--aup-busy-overlay-z-index, 10);position:absolute;background-color:#0003;top:0;left:0;bottom:0;right:0;display:grid;grid-template-columns:auto;grid-template-rows:auto;place-content:center}\n"]
468
468
  },] }
469
469
  ];
470
470
  BusyOverlayComponent.ctorParameters = () => [];
@@ -917,22 +917,22 @@ class CommandComponent extends PopupAwareComponent {
917
917
  this.CommandFace = CommandFace;
918
918
  this.alignFace = HorizontalAlignment.CENTER;
919
919
  const { chain, switchOn } = Dsl.disposeWith(this);
920
- this.faces = chain(this.command.busy).mapToList(busy => {
920
+ this.faces$ = chain(this.command.busy).mapToList(busy => {
921
921
  return busy ?
922
922
  [this.busyFaceModel.value, this.faceModel.value] :
923
923
  [this.faceModel.value, this.busyFaceModel.value];
924
924
  }, { allowNil: true, dependsOn: [this.faceModel, this.busyFaceModel] })
925
925
  .rejectNil();
926
- this.activeFace = this.faces.first();
927
- this.buttonStyle = chain(this.activeFace).map(f => CommandFace.getStyleOf(f));
928
- this.colorModel = chain(this.activeFace).map(f => CommandFace.getColorOf(f));
929
- this.tooltipModel = chain(this.activeFace).map(f => CommandFace.getTooltipOf(f));
930
- this.iconOnly = this.faces.select(face => {
926
+ this.activeFace$ = this.faces$.first();
927
+ this.buttonStyle$ = chain(this.activeFace$).map(f => CommandFace.getStyleOf(f));
928
+ this.color$ = chain(this.activeFace$).map(f => CommandFace.getColorOf(f));
929
+ this.tooltip$ = chain(this.activeFace$).map(f => CommandFace.getTooltipOf(f));
930
+ this.iconOnly$ = this.faces$.select(face => {
931
931
  return ___default.isEmpty(CommandFace.getTextOf(face)) && !___default.isEmpty(CommandFace.getIconOf(face));
932
- }).count().equals(this.faces.count());
932
+ }).count().equals(this.faces$.count());
933
933
  }
934
934
  isActive(face) {
935
- return this.activeFace.query().equals(face);
935
+ return this.activeFace$.query().equals(face);
936
936
  }
937
937
  ngOnInit() {
938
938
  }
@@ -946,7 +946,7 @@ class CommandComponent extends PopupAwareComponent {
946
946
  CommandComponent.decorators = [
947
947
  { type: Component, args: [{
948
948
  selector: 'aup-command',
949
- template: "<ng-container *ngIf=\"iconOnly.value\">\n <button mat-icon-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltipModel.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n</ng-container>\n<ng-container *ngIf=\"!iconOnly.value\">\n <ng-container [ngSwitch]=\"buttonStyle.value\">\n <ng-container *ngSwitchCase=\"CommandFace.Style.STROKED\">\n <button mat-stroked-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltipModel.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFace.Style.RAISED\">\n <button mat-raised-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltipModel.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button mat-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltipModel.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n </ng-container>\n</ng-container>\n",
949
+ template: "<ng-container *ngIf=\"iconOnly$.value\">\n <button mat-icon-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n</ng-container>\n<ng-container *ngIf=\"!iconOnly$.value\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFace.Style.STROKED\">\n <button mat-stroked-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFace.Style.RAISED\">\n <button mat-raised-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button mat-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n </ng-container>\n</ng-container>\n",
950
950
  styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}:host.centered button{text-align:center}:host.start button{text-align:start}:host.end button{text-align:end}button{flex:1}\n"]
951
951
  },] }
952
952
  ];
@@ -1014,6 +1014,7 @@ class AbstractPopupMenuComponent extends PopupAwareComponent {
1014
1014
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1015
1015
  // group.faceListModel = chain(this.faceModel).mapToList(face => [face]);
1016
1016
  this.faceAdapterModel = chain(this.faceModelDelegate).map(f => new CommandFace.Adapter(f));
1017
+ this.faces$ = chain(this.faceAdapterModel).pluck('face').mapToList(face => [face]);
1017
1018
  this.children = chain(this._unorderedChildren).sortBy('componentIndex');
1018
1019
  }
1019
1020
  ngAfterContentChecked() {
@@ -1023,7 +1024,7 @@ class AbstractPopupMenuComponent extends PopupAwareComponent {
1023
1024
  get faceAdapter() {
1024
1025
  var _a, _b;
1025
1026
  if (!this.faceAdapterModel) {
1026
- console.error("Somehow faceAdapterModel is nil -- set a break point here and let me know what's going on");
1027
+ console.error('Somehow faceAdapterModel is nil -- set a break point here and let me know what\'s going on');
1027
1028
  }
1028
1029
  return (_b = (_a = this.faceAdapterModel) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : new CommandFace.Adapter(undefined);
1029
1030
  }
@@ -1066,7 +1067,7 @@ AbstractPopupMenuComponent.propDecorators = {
1066
1067
  enabledModel: [{ type: Input }]
1067
1068
  };
1068
1069
  __decorate([
1069
- StoreInValueModel("enabledModel"),
1070
+ StoreInValueModel('enabledModel'),
1070
1071
  __metadata("design:type", Boolean)
1071
1072
  ], AbstractPopupMenuComponent.prototype, "enabled", void 0);
1072
1073
  __decorate([
@@ -1098,7 +1099,7 @@ class MoreMenuComponent extends AbstractPopupMenuComponent {
1098
1099
  MoreMenuComponent.decorators = [
1099
1100
  { type: Component, args: [{
1100
1101
  selector: 'aup-more-menu',
1101
- template: "<div class=\"content\" style=\"display: none\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"isRoot()\">\n <ng-container *ngIf=\"faceAdapter.text\" [ngSwitch]=\"faceAdapter.style\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-stroked-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-raised-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu [parent]=\"this\" (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!faceAdapter.text\">\n <button matMenuTrigger\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n >\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n</ng-container>\n",
1102
+ template: "<div class=\"content\" style=\"display: none\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"isRoot()\">\n <ng-container *ngIf=\"faceAdapter.text\" [ngSwitch]=\"faceAdapter.style\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-stroked-button>\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-raised-button>\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-button>\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu [parent]=\"this\" (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!faceAdapter.text\">\n <button matMenuTrigger\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n >\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n</ng-container>\n",
1102
1103
  providers: [
1103
1104
  { provide: POPUP_CONTAINER, useExisting: MoreMenuComponent }
1104
1105
  ]
@@ -1231,13 +1232,12 @@ class PopupMenuComponent extends AbstractPopupMenuComponent {
1231
1232
  constructor(element, parent) {
1232
1233
  super(element, parent);
1233
1234
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1234
- // group.faceListModel = chain(this.faceModel).mapToList(face => [face]);
1235
1235
  }
1236
1236
  }
1237
1237
  PopupMenuComponent.decorators = [
1238
1238
  { type: Component, args: [{
1239
1239
  selector: 'aup-popup-menu',
1240
- template: "<div class=\"content\" style=\"display: none\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"isRoot()\">\n <ng-container *ngIf=\"faceAdapter.text\" [ngSwitch]=\"faceAdapter.style\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-stroked-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-raised-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu [parent]=\"this\" (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!faceAdapter.text\">\n <button matMenuTrigger\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n >\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n</ng-container>\n",
1240
+ template: "<div class=\"content\" style=\"display: none\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"isRoot()\">\n <ng-container *ngIf=\"faceAdapter.text\" [ngSwitch]=\"faceAdapter.style\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-stroked-button>\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-raised-button>\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-button>\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu [parent]=\"this\" (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!faceAdapter.text\">\n <button matMenuTrigger\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n >\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n</ng-container>\n",
1241
1241
  providers: [
1242
1242
  { provide: POPUP_CONTAINER, useExisting: PopupMenuComponent }
1243
1243
  ]
@@ -1323,9 +1323,9 @@ class PopupMenuRendererComponent extends DisposableComponent {
1323
1323
  }
1324
1324
  getFaces(child) {
1325
1325
  return this.isCommand(child) ?
1326
- child.faces.value :
1326
+ child.faces$.value :
1327
1327
  this.isPopupMenu(child) ?
1328
- [child.faceAdapter.face] :
1328
+ child.faces$.value :
1329
1329
  undefined;
1330
1330
  }
1331
1331
  }
@@ -1702,7 +1702,7 @@ AutocompleteInputComponent.decorators = [
1702
1702
  { type: Component, args: [{
1703
1703
  selector: 'aup-autocomplete-input',
1704
1704
  template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"string\"\n matInput\n [matAutocomplete]=\"autocomplete\"\n placeholder=\"{{placeholder}}\"\n [ngModel]=\"componentValueModel.value\"\n (ngModelChange)=\"updateFilter($event)\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-autocomplete #autocomplete [displayWith]=\"optionLabelFormat\" [autoActiveFirstOption]=\"true\" (optionSelected)=\"onSelect($event)\">\n <mat-option *ngFor=\"let option of filteredOptions.value; let i = index\"\n [value]=\"option\"\n >{{formatOption(option)}}</mat-option>\n <mat-option *ngIf=\"allowNil\">{{placeholder}}</mat-option>\n </mat-autocomplete>\n\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div>{{placeholder}}</div>\n <div class=\"item\" *ngFor=\"let item of options\">{{optionLabelFormat(item)}}</div>\n</div>\n",
1705
- styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:inline-block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:0}\n"]
1705
+ styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:0}\n"]
1706
1706
  },] }
1707
1707
  ];
1708
1708
  AutocompleteInputComponent.ctorParameters = () => [];
@@ -1766,7 +1766,7 @@ MultipleSelectInputComponent.decorators = [
1766
1766
  { type: Component, args: [{
1767
1767
  selector: 'aup-multiple-select-input',
1768
1768
  template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [(ngModel)]=\"componentListModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div>{{placeholder}}</div>\n <div class=\"item\" *ngFor=\"let item of options\">{{optionLabelFormat(item)}}</div>\n</div>\n",
1769
- styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:inline-block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:30px}\n"]
1769
+ styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:30px}\n"]
1770
1770
  },] }
1771
1771
  ];
1772
1772
  MultipleSelectInputComponent.ctorParameters = () => [];
@@ -1848,7 +1848,7 @@ SelectInputComponent.decorators = [
1848
1848
  { type: Component, args: [{
1849
1849
  selector: 'aup-select-input',
1850
1850
  template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div class=\"item\" *ngFor=\"let item of options\">{{optionLabelFormat(item)}}</div>\n</div>\n",
1851
- styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:inline-block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:0}\n"]
1851
+ styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:0}\n"]
1852
1852
  },] }
1853
1853
  ];
1854
1854
  SelectInputComponent.ctorParameters = () => [];
@@ -4262,6 +4262,7 @@ LabelledValueComponent.propDecorators = {
4262
4262
  label: [{ type: Input }]
4263
4263
  };
4264
4264
 
4265
+ // TODO: Look at using unified parser: https://javascript.plainenglish.io/markdown-to-angular-rendering-using-unified-and-remark-96835bb877
4265
4266
  /**
4266
4267
  * @example
4267
4268
  * <aup-markdown [content]="..."></aup-markdown>
@@ -5141,7 +5142,7 @@ ActivityContainerComponent.decorators = [
5141
5142
  { type: Component, args: [{
5142
5143
  selector: 'aup-activity-container',
5143
5144
  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 <aup-busy-overlay [busyModel]=\"busy\" cdkTrapFocus cdkTrapFocusAutoCapture>\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 </aup-busy-overlay>\n </mat-tab>\n</mat-tab-group>\n",
5144
- styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-busy-overlay{flex:1}\n"]
5145
+ styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-busy-overlay{flex:1}.activity-outlet-wrapper{flex:1}\n"]
5145
5146
  },] }
5146
5147
  ];
5147
5148
  ActivityContainerComponent.ctorParameters = () => [];
@@ -5527,7 +5528,7 @@ InPlaceInteractionContextComponent.decorators = [
5527
5528
  { type: Component, args: [{
5528
5529
  selector: 'aup-in-place-interaction-context',
5529
5530
  template: "<mat-tab-group no-tab-header [selectedIndex]=\"isActive() ? 1 : 0\" full-height-tabs [dynamicHeight]=\"false\" [animationDuration]=\"animationDuration\">\n <mat-tab>\n <ng-content></ng-content>\n </mat-tab>\n <mat-tab>\n <aup-activity-container #activityContainer [dynamicHeight]=\"false\"></aup-activity-container>\n </mat-tab>\n</mat-tab-group>\n\n",
5530
- styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}\n"]
5531
+ styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-activity-container{flex:1}\n"]
5531
5532
  },] }
5532
5533
  ];
5533
5534
  InPlaceInteractionContextComponent.ctorParameters = () => [
@@ -8561,6 +8562,7 @@ class PlaceOutletComponent extends DisposableComponent {
8561
8562
  const visitModel = new MutableValueModel(routerVisit);
8562
8563
  DebugContext.tag(visitModel, `PlaceOutletComponent[${activePlace.constructor.name})].visitModel`);
8563
8564
  activePlace.initialiseVisit(routerVisit, (current, previous) => {
8565
+ console.log("initialiseVisitCallback", { routerVisitModel: this.routerVisitModel.value });
8564
8566
  this.pushVisitChangeToRoute(previous, current);
8565
8567
  });
8566
8568
  const finishPlaceLoad = () => {
@@ -8579,6 +8581,7 @@ class PlaceOutletComponent extends DisposableComponent {
8579
8581
  const { when, chain, valueOf } = Dsl.disposeWith(activePlace);
8580
8582
  when(this.routerVisitModel)
8581
8583
  .changes(visit => {
8584
+ console.log("routerVisitModel.change", { routerVisitModel: this.routerVisitModel.value });
8582
8585
  this.pushVisitChangeToComponent(activePlace, visit);
8583
8586
  }, {
8584
8587
  unless: valueOf.any(this._isPushingVisitToRoute, this.routerVisitModel.isNil()).areTruthy()
@@ -8597,8 +8600,9 @@ class PlaceOutletComponent extends DisposableComponent {
8597
8600
  this._isPushingVisitToRoute.value = false;
8598
8601
  }
8599
8602
  // sanitisers may have adjusted other values in the visit to we check and write it back.
8600
- if (current.hasRoutingChangedFrom(this.routerVisitModel.value)) {
8601
- this.pushVisitChangeToComponent(this.activePlaceModel.value, this.routerVisitModel.value);
8603
+ const routerVisit = this.routerVisitModel.value; // this is occasionally null... need to investigate if that's a normal state or not.
8604
+ if (routerVisit && current.hasRoutingChangedFrom(routerVisit)) {
8605
+ this.pushVisitChangeToComponent(this.activePlaceModel.value, routerVisit);
8602
8606
  }
8603
8607
  });
8604
8608
  }