@coolon/angular-ui-powerups 12.4.0 → 12.4.2

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 (142) hide show
  1. package/bundles/coolon-angular-ui-powerups-cypress.umd.js +14 -34
  2. package/bundles/coolon-angular-ui-powerups-cypress.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.js +111 -110
  4. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  5. package/coolon-angular-ui-powerups.metadata.json +1 -1
  6. package/cypress/coolon-angular-ui-powerups-cypress.metadata.json +1 -1
  7. package/esm2015/cypress/component-builder.js +3 -3
  8. package/esm2015/cypress/component-builder.js.map +1 -1
  9. package/esm2015/cypress/component-builder.metadata.json +1 -1
  10. package/esm2015/cypress/components/aup-abstract-table.js +3 -3
  11. package/esm2015/cypress/components/aup-abstract-table.js.map +1 -1
  12. package/esm2015/cypress/components/aup-abstract-table.metadata.json +1 -1
  13. package/esm2015/cypress/components/aup-command.js +2 -2
  14. package/esm2015/cypress/components/aup-command.js.map +1 -1
  15. package/esm2015/cypress/components/aup-command.metadata.json +1 -1
  16. package/esm2015/cypress/components/aup-tree-table.js +1 -1
  17. package/esm2015/cypress/components/aup-tree-table.js.map +1 -1
  18. package/esm2015/cypress/components/aup-tree-table.metadata.json +1 -1
  19. package/esm2015/cypress/page-element.js +3 -3
  20. package/esm2015/cypress/page-element.js.map +1 -1
  21. package/esm2015/cypress/page-element.metadata.json +1 -1
  22. package/esm2015/cypress/page.js +3 -3
  23. package/esm2015/cypress/page.js.map +1 -1
  24. package/esm2015/cypress/page.metadata.json +1 -1
  25. package/esm2015/lib/components/busy-overlay/busy-overlay.component.js +1 -1
  26. package/esm2015/lib/components/busy-overlay/busy-overlay.component.metadata.json +1 -1
  27. package/esm2015/lib/components/cards/card-container/card-container.component.js +4 -4
  28. package/esm2015/lib/components/cards/card-container/card-container.component.js.map +1 -1
  29. package/esm2015/lib/components/cards/card-container/card-container.component.metadata.json +1 -1
  30. package/esm2015/lib/components/commands/command/command.component.js +2 -2
  31. package/esm2015/lib/components/commands/command/command.component.js.map +1 -1
  32. package/esm2015/lib/components/commands/command/command.component.metadata.json +1 -1
  33. package/esm2015/lib/components/commands/command-face.js +8 -8
  34. package/esm2015/lib/components/commands/command-face.js.map +1 -1
  35. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +3 -3
  36. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +1 -1
  37. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +1 -1
  38. package/esm2015/lib/components/tables/abstract-table-model.js +3 -3
  39. package/esm2015/lib/components/tables/abstract-table-model.js.map +1 -1
  40. package/esm2015/lib/components/tables/abstract-table-model.metadata.json +1 -1
  41. package/esm2015/lib/components/tables/column-list-model.js +2 -2
  42. package/esm2015/lib/components/tables/column-list-model.js.map +1 -1
  43. package/esm2015/lib/components/tables/column-list-model.metadata.json +1 -1
  44. package/esm2015/lib/components/tables/table/column-model.js +12 -12
  45. package/esm2015/lib/components/tables/table/column-model.js.map +1 -1
  46. package/esm2015/lib/components/tables/table/column-model.metadata.json +1 -1
  47. package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.js.map +1 -1
  48. package/esm2015/lib/components/tables/tree-table/decorated-tree-node.js +3 -3
  49. package/esm2015/lib/components/tables/tree-table/decorated-tree-node.js.map +1 -1
  50. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.js +2 -2
  51. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.js.map +1 -1
  52. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.metadata.json +1 -1
  53. package/esm2015/lib/components/tables/tree-table/tree-table-model.js +2 -2
  54. package/esm2015/lib/components/tables/tree-table/tree-table-model.js.map +1 -1
  55. package/esm2015/lib/components/tables/tree-table/tree-table-model.metadata.json +1 -1
  56. package/esm2015/lib/components/text/markdown/markdown.component.js +3 -3
  57. package/esm2015/lib/components/text/markdown/markdown.component.js.map +1 -1
  58. package/esm2015/lib/components/text/markdown/markdown.component.metadata.json +1 -1
  59. package/esm2015/lib/directives/highlight.pipe.js +2 -2
  60. package/esm2015/lib/directives/highlight.pipe.js.map +1 -1
  61. package/esm2015/lib/directives/highlight.pipe.metadata.json +1 -1
  62. package/esm2015/lib/interaction/abstract-interaction-context.js.map +1 -1
  63. package/esm2015/lib/interaction/alert.js +3 -3
  64. package/esm2015/lib/interaction/alert.js.map +1 -1
  65. package/esm2015/lib/interaction/components/abstract-dialog.component.js +2 -2
  66. package/esm2015/lib/interaction/components/abstract-dialog.component.js.map +1 -1
  67. package/esm2015/lib/interaction/components/activity-body/activity-body.component.js.map +1 -1
  68. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +3 -3
  69. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  70. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  71. package/esm2015/lib/interaction/components/activity-title/activity-title.component.js +2 -2
  72. package/esm2015/lib/interaction/components/activity-title/activity-title.component.js.map +1 -1
  73. package/esm2015/lib/interaction/components/activity-title/activity-title.component.metadata.json +1 -1
  74. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js +2 -2
  75. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js.map +1 -1
  76. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.metadata.json +1 -1
  77. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +1 -1
  78. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -1
  79. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.metadata.json +1 -1
  80. package/esm2015/lib/interaction/components/input-activities/input-activity.js +2 -2
  81. package/esm2015/lib/interaction/components/input-activities/input-activity.js.map +1 -1
  82. package/esm2015/lib/interaction/components/input-activities/input-activity.metadata.json +1 -1
  83. package/esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.js +2 -2
  84. package/esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.js.map +1 -1
  85. package/esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.metadata.json +1 -1
  86. package/esm2015/lib/place/components/abstract-place-navigation.component.js +1 -1
  87. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  88. package/esm2015/lib/place/components/abstract-place-navigation.component.metadata.json +1 -1
  89. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +8 -5
  90. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  91. package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
  92. package/esm2015/lib/place/guards/consolidated-param-map.js +3 -3
  93. package/esm2015/lib/place/guards/consolidated-param-map.js.map +1 -1
  94. package/esm2015/lib/place/guards/consolidated-param-map.metadata.json +1 -1
  95. package/esm2015/lib/place/navigation/place-component-deactivation-handler.js +2 -2
  96. package/esm2015/lib/place/navigation/place-component-deactivation-handler.js.map +1 -1
  97. package/esm2015/lib/place/navigation/place-component-deactivation-handler.metadata.json +1 -1
  98. package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js +2 -2
  99. package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js.map +1 -1
  100. package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.metadata.json +1 -1
  101. package/esm2015/lib/place/place-component.js +3 -3
  102. package/esm2015/lib/place/place-component.js.map +1 -1
  103. package/esm2015/lib/place/place-component.metadata.json +1 -1
  104. package/esm2015/lib/place/place-definition.js +5 -5
  105. package/esm2015/lib/place/place-definition.js.map +1 -1
  106. package/esm2015/lib/place/place-definition.metadata.json +1 -1
  107. package/esm2015/lib/place/place-history.js +8 -8
  108. package/esm2015/lib/place/place-history.js.map +1 -1
  109. package/esm2015/lib/place/place-history.metadata.json +1 -1
  110. package/esm2015/lib/place/place.decorator.js +2 -2
  111. package/esm2015/lib/place/place.decorator.js.map +1 -1
  112. package/esm2015/lib/place/place.decorator.metadata.json +1 -1
  113. package/esm2015/lib/place/route/formatter.js +3 -3
  114. package/esm2015/lib/place/route/formatter.js.map +1 -1
  115. package/esm2015/lib/place/route/parameter-definition.js +8 -8
  116. package/esm2015/lib/place/route/parameter-definition.js.map +1 -1
  117. package/esm2015/lib/place/route/parameter-definition.metadata.json +1 -1
  118. package/esm2015/lib/place/url-snapshot.js +3 -3
  119. package/esm2015/lib/place/url-snapshot.js.map +1 -1
  120. package/esm2015/lib/place/url-snapshot.metadata.json +1 -1
  121. package/esm2015/lib/place/visit.js +5 -5
  122. package/esm2015/lib/place/visit.js.map +1 -1
  123. package/esm2015/lib/place/visit.metadata.json +1 -1
  124. package/fesm2015/coolon-angular-ui-powerups-cypress.js +10 -10
  125. package/fesm2015/coolon-angular-ui-powerups-cypress.js.map +1 -1
  126. package/fesm2015/coolon-angular-ui-powerups.js +84 -82
  127. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  128. package/package.json +10 -9
  129. package/schematics/place-routes/place-class-scanner.js +5 -5
  130. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  131. package/schematics/place-routes/place-def.js +5 -5
  132. package/schematics/place-routes/place-def.js.map +1 -1
  133. package/schematics/utils/import-def.js +4 -4
  134. package/schematics/utils/import-def.js.map +1 -1
  135. package/schematics/utils/method-scanner.js +6 -6
  136. package/schematics/utils/method-scanner.js.map +1 -1
  137. package/schematics/utils/path-helper.js +4 -4
  138. package/schematics/utils/path-helper.js.map +1 -1
  139. package/schematics/utils/source-file-scanner.js +5 -5
  140. package/schematics/utils/source-file-scanner.js.map +1 -1
  141. package/schematics/utils/source-file-utilities.js +2 -2
  142. package/schematics/utils/source-file-utilities.js.map +1 -1
@@ -25,10 +25,9 @@ import { fas } from '@fortawesome/free-solid-svg-icons';
25
25
  import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, TrackExternal, ValueModel, StoreInValueModel, Command, MutableListModel, StoreInListModel, Disposable, MutableValueModel, DelegatingListModel, FocusManager, EventListenerList, Form, Guard, Binding, DebugContext, ListModel, MultipleSelectionModel, DelegatingSelectionModel, AbstractComputedListModel, DirtyTrackingForm, ComputedListModel, PageController, Deferred, Functions } from '@coolon/pectin';
26
26
  import { __decorate, __metadata, __awaiter } from 'tslib';
27
27
  import { DomSanitizer } from '@angular/platform-browser';
28
- import * as _ from 'lodash';
29
- import ___default from 'lodash';
28
+ import { isEmpty, isString, isFunction, isNil, isInteger, findLast, isObject, isEqual, first, uniq, isNumber, isNaN as isNaN$1 } from 'lodash-es';
30
29
  import { marked } from 'marked';
31
- import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
30
+ import { Memoize } from '@typescript-plus/fast-memoize-decorator';
32
31
  import { Enum } from 'typescript-string-enums';
33
32
  import { lang as lang$1, assert as assert$1, Stringy, Opts, Klass } from '@coolon/typescript-utilities';
34
33
  import ResizeObserver from 'resize-observer-polyfill';
@@ -39,9 +38,9 @@ import * as i1$1 from '@angular/material/dialog';
39
38
  import { MatDialogModule, MatDialog, MatDialogConfig, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
40
39
  import * as i1 from '@angular/router';
41
40
  import { RouterModule, ActivatedRouteSnapshot, UrlSegment, Router, UrlSerializer, NavigationStart, NavigationEnd, NavigationError, NavigationCancel } from '@angular/router';
41
+ import { isFunction as isFunction$1 } from 'lodash';
42
42
  import { Overlay, CdkScrollable } from '@angular/cdk/overlay';
43
43
  import { MatListModule } from '@angular/material/list';
44
- import { Memoize as Memoize$1 } from '@typescript-plus/fast-memoize-decorator';
45
44
  import 'reflect-metadata';
46
45
  import { style, query, group, animate, trigger, transition } from '@angular/animations';
47
46
  import * as wakeEvent from 'wake-event';
@@ -340,7 +339,7 @@ class HighlightPipe extends GarbageCollector {
340
339
  var _a;
341
340
  const model = searchModel !== null && searchModel !== void 0 ? searchModel : (_a = this.highlightContext) === null || _a === void 0 ? void 0 : _a.aupHighlightTextModel;
342
341
  const searchText = model === null || model === void 0 ? void 0 : model.value;
343
- if (___default.isEmpty(searchText) || !___default.isString(value)) {
342
+ if (isEmpty(searchText) || !isString(value)) {
344
343
  return value;
345
344
  }
346
345
  // Match in a case insensitive manner
@@ -464,7 +463,7 @@ BusyOverlayComponent.decorators = [
464
463
  { type: Component, args: [{
465
464
  selector: 'aup-busy-overlay',
466
465
  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"]
466
+ 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
467
  },] }
469
468
  ];
470
469
  BusyOverlayComponent.ctorParameters = () => [];
@@ -494,27 +493,27 @@ var CommandFace;
494
493
  RAISED: 'raised'
495
494
  });
496
495
  function getColorOf(face) {
497
- return ___default.isFunction(face === null || face === void 0 ? void 0 : face.color) ? face.color() : undefined;
496
+ return isFunction(face === null || face === void 0 ? void 0 : face.color) ? face.color() : undefined;
498
497
  }
499
498
  CommandFace.getColorOf = getColorOf;
500
499
  function getStyleOf(face) {
501
- return ___default.isFunction(face === null || face === void 0 ? void 0 : face.style) ? face.style() : undefined;
500
+ return isFunction(face === null || face === void 0 ? void 0 : face.style) ? face.style() : undefined;
502
501
  }
503
502
  CommandFace.getStyleOf = getStyleOf;
504
503
  function getIconOf(face) {
505
- return ___default.isFunction(face === null || face === void 0 ? void 0 : face.icon) ? face.icon() : undefined;
504
+ return isFunction(face === null || face === void 0 ? void 0 : face.icon) ? face.icon() : undefined;
506
505
  }
507
506
  CommandFace.getIconOf = getIconOf;
508
507
  function getIconPositionOf(face) {
509
- return ___default.isFunction(face === null || face === void 0 ? void 0 : face.iconPosition) ? face.iconPosition() : undefined;
508
+ return isFunction(face === null || face === void 0 ? void 0 : face.iconPosition) ? face.iconPosition() : undefined;
510
509
  }
511
510
  CommandFace.getIconPositionOf = getIconPositionOf;
512
511
  function getTooltipOf(face) {
513
- return ___default.isFunction(face === null || face === void 0 ? void 0 : face.tooltip) ? face.tooltip() : undefined;
512
+ return isFunction(face === null || face === void 0 ? void 0 : face.tooltip) ? face.tooltip() : undefined;
514
513
  }
515
514
  CommandFace.getTooltipOf = getTooltipOf;
516
515
  function getTextOf(face) {
517
- return ___default.isFunction(face === null || face === void 0 ? void 0 : face.text) ? face.text() : undefined;
516
+ return isFunction(face === null || face === void 0 ? void 0 : face.text) ? face.text() : undefined;
518
517
  }
519
518
  CommandFace.getTextOf = getTextOf;
520
519
  class Adapter {
@@ -686,7 +685,7 @@ class CardContainerComponent extends AbstractCardContainerComponent {
686
685
  this.enabledScroll = false;
687
686
  }
688
687
  set columnCount(count) {
689
- if (!_.isNil(count) && (!_.isInteger(count) || count < 1)) {
688
+ if (!isNil(count) && (!isInteger(count) || count < 1)) {
690
689
  lang$1.illegalState('columnCount must be a positive integer or nil');
691
690
  }
692
691
  this._columnCount = count;
@@ -700,14 +699,14 @@ class CardContainerComponent extends AbstractCardContainerComponent {
700
699
  this.updateColumnCountStyles();
701
700
  }
702
701
  get isAutoColumns() {
703
- return _.isNil(this._columnCount);
702
+ return isNil(this._columnCount);
704
703
  }
705
704
  get isSingleColumn() {
706
705
  return this._columnCount === 1;
707
706
  }
708
707
  updateColumnCountStyles() {
709
708
  const el = this.elementRef.nativeElement;
710
- if (_.isNil(this._columnCount)) {
709
+ if (isNil(this._columnCount)) {
711
710
  el.style.setProperty('--aup-card-container-column-count', '');
712
711
  }
713
712
  else {
@@ -928,7 +927,7 @@ class CommandComponent extends PopupAwareComponent {
928
927
  this.color$ = chain(this.activeFace$).map(f => CommandFace.getColorOf(f));
929
928
  this.tooltip$ = chain(this.activeFace$).map(f => CommandFace.getTooltipOf(f));
930
929
  this.iconOnly$ = this.faces$.select(face => {
931
- return ___default.isEmpty(CommandFace.getTextOf(face)) && !___default.isEmpty(CommandFace.getIconOf(face));
930
+ return isEmpty(CommandFace.getTextOf(face)) && !isEmpty(CommandFace.getIconOf(face));
932
931
  }).count().equals(this.faces$.count());
933
932
  }
934
933
  isActive(face) {
@@ -1680,10 +1679,10 @@ class AutocompleteInputComponent extends AbstractValueInputComponent {
1680
1679
  this.optionLabelFormat = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;
1681
1680
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1682
1681
  const lowerCaseFilterValue = chain(this.filterValue)
1683
- .map(v => ___default.isString(v) ? v.toLowerCase() : '');
1682
+ .map(v => isString(v) ? v.toLowerCase() : '');
1684
1683
  this.filteredOptions = chain(this.optionsModel)
1685
1684
  .select(option => {
1686
- return ___default.isEmpty(this.filterValue.value) || this.optionLabelFormat(option).toString().toLowerCase().includes(lowerCaseFilterValue.value);
1685
+ return isEmpty(this.filterValue.value) || this.optionLabelFormat(option).toString().toLowerCase().includes(lowerCaseFilterValue.value);
1687
1686
  }, { dependsOn: lowerCaseFilterValue });
1688
1687
  }
1689
1688
  ngOnInit() {
@@ -2631,7 +2630,7 @@ class ColumnModel extends GarbageCollector {
2631
2630
  }
2632
2631
  onRendererAttached(host, component) {
2633
2632
  this._cellRendererPortalRef.onPortalAttached(host, component);
2634
- if (___default.isFunction(component === null || component === void 0 ? void 0 : component.matches)) {
2633
+ if (isFunction(component === null || component === void 0 ? void 0 : component.matches)) {
2635
2634
  this._cellRendererTextSearchPredicate = (row, text) => component.matches(row, text);
2636
2635
  }
2637
2636
  else {
@@ -2678,11 +2677,11 @@ class PropertyColumnModel extends ColumnModel {
2678
2677
  cellRenderer(componentType, onComponentInitOrOptions) {
2679
2678
  this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
2680
2679
  if (firstTime) {
2681
- if (___default.isFunction(onComponentInitOrOptions)) {
2680
+ if (isFunction(onComponentInitOrOptions)) {
2682
2681
  onComponentInitOrOptions(component);
2683
2682
  }
2684
2683
  else {
2685
- if (___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
2684
+ if (isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
2686
2685
  onComponentInitOrOptions.onComponentInit(component);
2687
2686
  }
2688
2687
  }
@@ -2706,7 +2705,7 @@ class PropertyColumnModel extends ColumnModel {
2706
2705
  component[CELL_RENDERER_COMPONENT_ROW_CACHE] = rowData.row;
2707
2706
  let disableEditCallback = false;
2708
2707
  if (firstTime) {
2709
- if (___default.isFunction(options === null || options === void 0 ? void 0 : options.onComponentInit)) {
2708
+ if (isFunction(options === null || options === void 0 ? void 0 : options.onComponentInit)) {
2710
2709
  options.onComponentInit(component);
2711
2710
  }
2712
2711
  // install our edit callback
@@ -2721,7 +2720,7 @@ class PropertyColumnModel extends ColumnModel {
2721
2720
  disableEditCallback = true;
2722
2721
  component.value = rowData.row[this.property];
2723
2722
  disableEditCallback = false;
2724
- if (!___default.isFunction(options) && ___default.isFunction(options === null || options === void 0 ? void 0 : options.onRowUpdate)) {
2723
+ if (!isFunction(options) && isFunction(options === null || options === void 0 ? void 0 : options.onRowUpdate)) {
2725
2724
  options.onRowUpdate(component, rowData.row);
2726
2725
  }
2727
2726
  }));
@@ -2729,7 +2728,7 @@ class PropertyColumnModel extends ColumnModel {
2729
2728
  }
2730
2729
  cellEditor(editor, validatorsOrInitialiser, onComponentInit) {
2731
2730
  const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
2732
- const initialiser = ___default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
2731
+ const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
2733
2732
  this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
2734
2733
  const formValueModel = editSession.form.pluck(this.property);
2735
2734
  if (validators) {
@@ -2769,7 +2768,7 @@ class ListPropertyColumnModel extends ColumnModel {
2769
2768
  }
2770
2769
  cellEditor(editor, validatorsOrInitialiser, initialiseComponent) {
2771
2770
  const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
2772
- const initialiser = ___default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
2771
+ const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
2773
2772
  this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
2774
2773
  const formListModel = editSession.form.pluckList(this.property);
2775
2774
  if (validators) {
@@ -2800,17 +2799,17 @@ class CustomValueColumnModel extends ColumnModel {
2800
2799
  cellRenderer(componentType, onComponentInitOrOptions) {
2801
2800
  this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
2802
2801
  if (firstTime) {
2803
- if (___default.isFunction(onComponentInitOrOptions)) {
2802
+ if (isFunction(onComponentInitOrOptions)) {
2804
2803
  onComponentInitOrOptions(component);
2805
2804
  }
2806
2805
  else {
2807
- if (___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
2806
+ if (isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
2808
2807
  onComponentInitOrOptions.onComponentInit(component);
2809
2808
  }
2810
2809
  }
2811
2810
  }
2812
2811
  component.value = this.getValue(rowData.row);
2813
- if (!___default.isFunction(onComponentInitOrOptions) && ___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
2812
+ if (!isFunction(onComponentInitOrOptions) && isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
2814
2813
  onComponentInitOrOptions.onRowUpdate(component, rowData.row);
2815
2814
  }
2816
2815
  }));
@@ -3094,7 +3093,7 @@ class ColumnListModel extends AbstractComputedListModel {
3094
3093
  }
3095
3094
  this.registerDisposable(column);
3096
3095
  this.runInTransaction(() => {
3097
- if (!_.isNil(index)) {
3096
+ if (!isNil(index)) {
3098
3097
  this._allColumns.insert(index, column);
3099
3098
  }
3100
3099
  else {
@@ -3176,14 +3175,14 @@ class AbstractTableModel extends GarbageCollector {
3176
3175
  this.selectionColumnModel = new SelectionColumnModel(columnId, () => this.getColumnTextProperties(columnId), selectionModel);
3177
3176
  this.addRowClass('aup-row-selected', row => this.selectionColumnModel.isSelected(row));
3178
3177
  const selectionColumnModel = this.addColumn(this.selectionColumnModel, 0);
3179
- if (!_.isNil(visible)) {
3178
+ if (!isNil(visible)) {
3180
3179
  selectionColumnModel.visibleWhile(visible instanceof ValueModel ? visible : ValueModel.constant(visible));
3181
3180
  }
3182
3181
  return selectionColumnModel;
3183
3182
  }
3184
3183
  addEditControls(saveCommandFactory, formFactory) {
3185
3184
  this.saveCommandFactory = saveCommandFactory;
3186
- if (_.isFunction(formFactory)) {
3185
+ if (isFunction(formFactory)) {
3187
3186
  this._createForm = formFactory;
3188
3187
  }
3189
3188
  const columnId = 'editControls';
@@ -3672,11 +3671,11 @@ var DecoratedTreeNode;
3672
3671
  return this.parent ? this.parent[treeNodeDecorator].children.length > 1 : false;
3673
3672
  }
3674
3673
  // find(predicate: Predicate<T>): T {
3675
- // return _.find(this.descendants(), predicate);
3674
+ // return find(this.descendants(), predicate);
3676
3675
  // }
3677
3676
  //
3678
3677
  // select(predicate: Predicate<T>): T[] {
3679
- // return _.filter(this.descendants(), predicate);
3678
+ // return filter(this.descendants(), predicate);
3680
3679
  // }
3681
3680
  //
3682
3681
  // flattenInto(array: T[]): T[] {
@@ -3878,7 +3877,7 @@ class TreeLabelColumnModel extends ColumnModel {
3878
3877
  component.treeTableModel = this.expansionModel;
3879
3878
  }
3880
3879
  component.value = rowData.row;
3881
- component.label = ___default.isNil(this.labelProperty) ? undefined : rowData.row[this.labelProperty];
3880
+ component.label = isNil(this.labelProperty) ? undefined : rowData.row[this.labelProperty];
3882
3881
  component.iconFactory = this.iconFactory;
3883
3882
  }));
3884
3883
  return this;
@@ -3904,7 +3903,7 @@ class TreeTableModel extends AbstractTableModel {
3904
3903
  this.treeExpansionModel = new TreeExpansionModel(row => this.identityOf(row));
3905
3904
  if (builder)
3906
3905
  builder(this);
3907
- const childExtractor = _.isFunction(childAccessor) ? childAccessor : row => row[childAccessor];
3906
+ const childExtractor = isFunction(childAccessor) ? childAccessor : row => row[childAccessor];
3908
3907
  this.flattenedDataSource = this.registerDisposable(new FlattenedTreeListModel(source, childExtractor, this.treeExpansionModel));
3909
3908
  this.setDataSource(this.flattenedDataSource);
3910
3909
  this.addRowClass('aup-node-collapsed', row => this.isCollapsed(row));
@@ -4287,7 +4286,7 @@ class MarkdownComponent extends DisposableComponent {
4287
4286
  ngOnInit() {
4288
4287
  const { when } = Dsl.disposeWith(this);
4289
4288
  when(this.content$).changes(content => this.renderContent(content), { initialValue: 'triggerChangeUnlessNil' });
4290
- if (_.isNil(this.content) && !_.isEmpty(this.element.nativeElement.innerHTML)) {
4289
+ if (isNil(this.content) && !isEmpty(this.element.nativeElement.innerHTML)) {
4291
4290
  this.renderContent(this.extractInnerContent(this.element.nativeElement.innerHTML));
4292
4291
  }
4293
4292
  }
@@ -4300,7 +4299,7 @@ class MarkdownComponent extends DisposableComponent {
4300
4299
  return lines.map(l => l.substr(prefix)).join('\n');
4301
4300
  }
4302
4301
  renderContent(content) {
4303
- if (!_.isNil(content)) {
4302
+ if (!isNil(content)) {
4304
4303
  const markdown = this.inline ?
4305
4304
  this.markdownService.renderInline(content) :
4306
4305
  this.markdownService.render(content);
@@ -4644,11 +4643,11 @@ var Alert;
4644
4643
  }
4645
4644
  Alert.getContent = getContent;
4646
4645
  function getTitle(alert) {
4647
- return _.isFunction(alert.title) ? alert.title() : undefined;
4646
+ return isFunction(alert.title) ? alert.title() : undefined;
4648
4647
  }
4649
4648
  Alert.getTitle = getTitle;
4650
4649
  function getColor(alert) {
4651
- return _.isFunction(alert.color) ? alert.color() : undefined;
4650
+ return isFunction(alert.color) ? alert.color() : undefined;
4652
4651
  }
4653
4652
  Alert.getColor = getColor;
4654
4653
  })(Alert || (Alert = {}));
@@ -4687,7 +4686,7 @@ class AbstractDialogComponent extends Activity {
4687
4686
  }
4688
4687
  isDestructive() {
4689
4688
  // @ts-ignore
4690
- return _.isFunction(this.config['destructive']) && this.config.destructive();
4689
+ return isFunction$1(this.config['destructive']) && this.config.destructive();
4691
4690
  }
4692
4691
  }
4693
4692
  AbstractDialogComponent.decorators = [
@@ -5009,7 +5008,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
5009
5008
  if (!this.isActive()) {
5010
5009
  lang$1.illegalState('no activity in progress');
5011
5010
  }
5012
- return ___default.findLast(this.activityRefs, tab => !tab.isComplete());
5011
+ return findLast(this.activityRefs, tab => !tab.isComplete());
5013
5012
  }
5014
5013
  /**
5015
5014
  * Cancels the current activity and returns true the context is no longer active, false if
@@ -5142,7 +5141,7 @@ ActivityContainerComponent.decorators = [
5142
5141
  { type: Component, args: [{
5143
5142
  selector: 'aup-activity-container',
5144
5143
  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",
5145
- styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-busy-overlay{flex:1}\n"]
5144
+ styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-busy-overlay{flex:1}.activity-outlet-wrapper{flex:1}\n"]
5146
5145
  },] }
5147
5146
  ];
5148
5147
  ActivityContainerComponent.ctorParameters = () => [];
@@ -5180,7 +5179,7 @@ class ActivityTitleComponent extends DisposableComponent {
5180
5179
  this._hasUserTransparentBackground = value;
5181
5180
  }
5182
5181
  get hasTransparentBackground() {
5183
- return ___default.isNil(this._hasUserTransparentBackground) ? !this._color : this._hasUserTransparentBackground;
5182
+ return isNil(this._hasUserTransparentBackground) ? !this._color : this._hasUserTransparentBackground;
5184
5183
  }
5185
5184
  set color(color) {
5186
5185
  this._color = color;
@@ -5528,7 +5527,7 @@ InPlaceInteractionContextComponent.decorators = [
5528
5527
  { type: Component, args: [{
5529
5528
  selector: 'aup-in-place-interaction-context',
5530
5529
  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",
5531
- styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}\n"]
5530
+ styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-activity-container{flex:1}\n"]
5532
5531
  },] }
5533
5532
  ];
5534
5533
  InPlaceInteractionContextComponent.ctorParameters = () => [
@@ -5825,7 +5824,7 @@ class InteractionContextTriggerFor extends GarbageCollector {
5825
5824
  });
5826
5825
  }
5827
5826
  prepareActivityData() {
5828
- return ___default.isFunction(this.activityDataFactory()) ? this.activityDataFactory() : this.activityData;
5827
+ return isFunction(this.activityDataFactory()) ? this.activityDataFactory() : this.activityData;
5829
5828
  }
5830
5829
  }
5831
5830
  InteractionContextTriggerFor.decorators = [
@@ -5911,7 +5910,7 @@ class InputActivity extends Activity {
5911
5910
  }
5912
5911
  }
5913
5912
  shouldCancelOnEscape() {
5914
- return _.isNil(this.data.cancelOnEscape) // we default to true..
5913
+ return isNil(this.data.cancelOnEscape) // we default to true..
5915
5914
  || this.data.cancelOnEscape;
5916
5915
  }
5917
5916
  }
@@ -6227,7 +6226,7 @@ class InlineStringEditorComponent extends DisposableComponent {
6227
6226
  // deviceDescription.isNil()
6228
6227
  ).areTruthy();
6229
6228
  this.displayValue = chain(this.editorModel.valueModel).map(v => {
6230
- return _.isEmpty(v) ? this.placeHolderModel.value : v;
6229
+ return isEmpty(v) ? this.placeHolderModel.value : v;
6231
6230
  }, { dependsOn: this.placeHolderModel, allowNil: true });
6232
6231
  }
6233
6232
  createInputActivityData() {
@@ -6452,11 +6451,11 @@ class ParameterDefinition {
6452
6451
  }
6453
6452
  prepareCustomSanitiser(injector) {
6454
6453
  const customSanitiser = this.options.getOptional('sanitiser', null);
6455
- if (___default.isFunction(customSanitiser)) {
6454
+ if (isFunction(customSanitiser)) {
6456
6455
  return injector.get(customSanitiser);
6457
6456
  }
6458
- if (___default.isObject(customSanitiser)) {
6459
- return ___default.isFunction(customSanitiser['sanitise']) ?
6457
+ if (isObject(customSanitiser)) {
6458
+ return isFunction(customSanitiser['sanitise']) ?
6460
6459
  customSanitiser :
6461
6460
  lang$1.illegalState(`expected @VisitParameter({sanitiser: ...}) for ${this.propertyName} to be a constructor or instance of ParameterSanitiser, got: ` + customSanitiser);
6462
6461
  }
@@ -6475,7 +6474,7 @@ class ParameterDefinition {
6475
6474
  this.backingModelFactory = () => new MutableValueModel();
6476
6475
  }
6477
6476
  isEmptyValue(value) {
6478
- return ___default.isNil(value);
6477
+ return isNil(value);
6479
6478
  }
6480
6479
  hasChanged(a, b) {
6481
6480
  return a !== b;
@@ -6490,7 +6489,7 @@ class ParameterDefinition {
6490
6489
  this.backingModelFactory = () => new MutableValueModel();
6491
6490
  }
6492
6491
  isEmptyValue(value) {
6493
- return ___default.isNil(value);
6492
+ return isNil(value);
6494
6493
  }
6495
6494
  hasChanged(a, b) {
6496
6495
  return a !== b;
@@ -6505,10 +6504,10 @@ class ParameterDefinition {
6505
6504
  this.backingModelFactory = () => new MutableListModel();
6506
6505
  }
6507
6506
  isEmptyValue(value) {
6508
- return ___default.isNil(value) || value.length < 1;
6507
+ return isNil(value) || value.length < 1;
6509
6508
  }
6510
6509
  hasChanged(a, b) {
6511
- return !___default.isEqual(a, b);
6510
+ return !isEqual(a, b);
6512
6511
  }
6513
6512
  }
6514
6513
  ParameterDefinition.ArrayParameter = ArrayParameter;
@@ -6555,12 +6554,12 @@ class PlaceDefinition {
6555
6554
  }
6556
6555
  getPlaceData(key, defaultValue) {
6557
6556
  return this.data ?
6558
- ___default.isNil(this.data[key]) ? defaultValue : this.data[key] :
6557
+ isNil(this.data[key]) ? defaultValue : this.data[key] :
6559
6558
  defaultValue;
6560
6559
  }
6561
6560
  searchPlaceData(keys, defaultValue) {
6562
6561
  if (this.data) {
6563
- const found = keys.find(key => !___default.isNil(this.data[key]));
6562
+ const found = keys.find(key => !isNil(this.data[key]));
6564
6563
  return found ? this.data[found] : defaultValue;
6565
6564
  }
6566
6565
  else {
@@ -6628,7 +6627,7 @@ class PlaceDefinition {
6628
6627
  // because our id routes redirect if the id isn't present we always have a id
6629
6628
  // parameter in our params. This will bugger our remember and defaultvalue sanitisation
6630
6629
  // as it'll see that the id is present (event thought its a blank string).
6631
- if (!___default.isEmpty(value)) {
6630
+ if (!isEmpty(value)) {
6632
6631
  result[def.name] = def.urlFormat.parse(value);
6633
6632
  }
6634
6633
  }
@@ -6740,8 +6739,8 @@ class PlaceComponent extends DisposableComponent {
6740
6739
  // Now we need to initialise the binding direction. If we have a value in the Url then we should always push
6741
6740
  // that to the view. If we don't and the view already has a value (e.g. a selection model has already initialised in the
6742
6741
  // component constructor) then we should push that to the route.
6743
- const isInVisit = !_.isNil(initialVisit.getParameterValue(parameterDef));
6744
- const isInModel = !_.isNil(model.value);
6742
+ const isInVisit = !isNil(initialVisit.getParameterValue(parameterDef));
6743
+ const isInModel = !isNil(model.value);
6745
6744
  if (!isInVisit && isInModel) {
6746
6745
  binding.writeLeft(); // push it to the route
6747
6746
  }
@@ -6819,7 +6818,7 @@ PlaceComponent.decorators = [
6819
6818
  ];
6820
6819
  PlaceComponent.ctorParameters = () => [];
6821
6820
  __decorate([
6822
- Memoize$1(),
6821
+ Memoize(),
6823
6822
  __metadata("design:type", PlaceDefinition),
6824
6823
  __metadata("design:paramtypes", [])
6825
6824
  ], PlaceComponent.prototype, "placeDefinition", null);
@@ -6896,7 +6895,7 @@ class PlaceComponentDeactivationHandler {
6896
6895
  if (this.isPrimaryComponent && this.routerInteractionAdapter.isModalActive()) {
6897
6896
  const routeIds = this.urlService.getActiveInteractionIdsFromUrl(nextState.url);
6898
6897
  const currentIds = this.routerInteractionAdapter.getActiveInteractionContextIds();
6899
- if (!_.isEqual(currentIds, routeIds)) { // why am I checking this????
6898
+ if (!isEqual(currentIds, routeIds)) { // why am I checking this????
6900
6899
  yield this.routerInteractionAdapter.cancelCurrentModalInteraction();
6901
6900
  return false;
6902
6901
  }
@@ -7215,7 +7214,7 @@ class SynchroniseInteractionContextIdsWithRoute extends NavigationSession {
7215
7214
  const currentIds = this.interactionServiceAdapter.getActiveInteractionContextIds();
7216
7215
  const previousIds = this.urlService.getCurrentLocationUrlSnapshot().getInteractionIds();
7217
7216
  // console.log(`---> synchroniseInteractionIds`, { is: currentIds.join(','), was: previousIds.join(',') });
7218
- if (___default.isEqual(currentIds, previousIds)) {
7217
+ if (isEqual(currentIds, previousIds)) {
7219
7218
  // console.log('### Activity context ids were the same, skipping');
7220
7219
  this.context.finishRoutingSession();
7221
7220
  }
@@ -7653,7 +7652,7 @@ class PlaceHistory {
7653
7652
  return !!((_a = this._previousVisits) === null || _a === void 0 ? void 0 : _a.getVisitFor(placeDef));
7654
7653
  }
7655
7654
  getMostRecentVisitFor(placeDef) {
7656
- return ___default.first(this.getHistory(placeDef));
7655
+ return first(this.getHistory(placeDef));
7657
7656
  }
7658
7657
  getHistory(placeDef) {
7659
7658
  let history = this._archive.get(placeDef);
@@ -7669,7 +7668,7 @@ class PlaceHistory {
7669
7668
  archive(visits) {
7670
7669
  visits.forEach(state => {
7671
7670
  const history = this.getHistory(state.placeDefinition);
7672
- const previousState = ___default.first(history);
7671
+ const previousState = first(history);
7673
7672
  if (!previousState || state.hasChangedFrom(previousState)) {
7674
7673
  history.unshift(state); // LIFO
7675
7674
  this.setHistory(state.placeDefinition, history.slice(0, this.placeHistoryDepth));
@@ -7720,7 +7719,7 @@ PlaceHistory.ctorParameters = () => [];
7720
7719
  // return Object.keys(parameters).reduce((acc, key) => {
7721
7720
  // const matchValue = parameters[key];
7722
7721
  // const visitValue = state.get(key);
7723
- // const matched = matchValue === '*' ? !_.isNil(visitValue) : visitValue == matchValue;
7722
+ // const matched = matchValue === '*' ? !isNil(visitValue) : visitValue == matchValue;
7724
7723
  // // Logger.get(this).info(`matched=${matched}`, parameters, visitValue);
7725
7724
  // return acc && matched;
7726
7725
  // }, true);
@@ -7729,18 +7728,18 @@ PlaceHistory.ctorParameters = () => [];
7729
7728
  // }
7730
7729
  //
7731
7730
  // last(): Visit.State {
7732
- // return _.findLast(this._history, visit => this._matches(visit))
7731
+ // return findLast(this._history, visit => this._matches(visit))
7733
7732
  // }
7734
7733
  //
7735
7734
  // // @trace
7736
7735
  // allThatMatch(): Visit.State[] {
7737
- // return _.filter(this._history, visit => this._matches(visit)).slice(-this._limit);
7736
+ // return filter(this._history, visit => this._matches(visit)).slice(-this._limit);
7738
7737
  // }
7739
7738
  //
7740
7739
  // // @trace
7741
7740
  // mostRecentValueOf<T=any>(param: string, defaultValue: T = null): T {
7742
- // const lastStateWithParam = _.findLast(this.allThatMatch(), state => !_.isNil(state.get(param)));
7743
- // return _.isNil(lastStateWithParam) ? defaultValue : lastStateWithParam.get(param);
7741
+ // const lastStateWithParam = findLast(this.allThatMatch(), state => !isNil(state.get(param)));
7742
+ // return isNil(lastStateWithParam) ? defaultValue : lastStateWithParam.get(param);
7744
7743
  // }
7745
7744
  //
7746
7745
  // limit(limit: number): this {
@@ -7790,7 +7789,7 @@ class ConsolidatedParameterMap {
7790
7789
  return !!this.paramMaps.find(m => m.has(name));
7791
7790
  }
7792
7791
  get keys() {
7793
- return _.uniq(this.paramMaps.reduce((result, params) => result.concat(params.keys), []));
7792
+ return uniq(this.paramMaps.reduce((result, params) => result.concat(params.keys), []));
7794
7793
  }
7795
7794
  }
7796
7795
  __decorate([
@@ -7828,7 +7827,7 @@ class Visit {
7828
7827
  }
7829
7828
  // @Trace()
7830
7829
  hasRouteId() {
7831
- return !_.isNil(this.getRouteId());
7830
+ return !isNil(this.getRouteId());
7832
7831
  }
7833
7832
  /**
7834
7833
  * Returns the value of the place parameter with the specified name. The parameter
@@ -7837,7 +7836,7 @@ class Visit {
7837
7836
  * @param parameter the visit parameter definition
7838
7837
  */
7839
7838
  getParameterValue(parameter) {
7840
- return _.isString(parameter) ? this.visitParameters[parameter] : this.visitParameters[parameter.name];
7839
+ return isString(parameter) ? this.visitParameters[parameter] : this.visitParameters[parameter.name];
7841
7840
  }
7842
7841
  // @Trace()
7843
7842
  hasParameter(parameterDef) {
@@ -7873,11 +7872,11 @@ class Visit {
7873
7872
  const currentParams = this.placeDefinition.getFormattedRouteParameters(this, true);
7874
7873
  const otherParams = this.placeDefinition.getFormattedRouteParameters(other, true);
7875
7874
  // console.log({currentParams, otherParams});
7876
- const sameRouteParameters = _.isEqual(currentParams, otherParams);
7875
+ const sameRouteParameters = isEqual(currentParams, otherParams);
7877
7876
  return !samePlace || !sameRouteParameters;
7878
7877
  }
7879
7878
  hasChangedFrom(other) {
7880
- const sameNonRouteParameters = _.isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
7879
+ const sameNonRouteParameters = isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
7881
7880
  return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
7882
7881
  }
7883
7882
  toDebugString() {
@@ -7947,7 +7946,7 @@ class UrlSnapshot {
7947
7946
  return this.getInteractionIds().length > 0;
7948
7947
  }
7949
7948
  hasInteractionIds(ids) {
7950
- return ___default.isEqual(this.getInteractionIds(), ids);
7949
+ return isEqual(this.getInteractionIds(), ids);
7951
7950
  }
7952
7951
  // @Trace()
7953
7952
  updateInteractionIds(ids) {
@@ -8461,11 +8460,11 @@ class PlaceOutletComponent extends DisposableComponent {
8461
8460
  let placeIndex = 0;
8462
8461
  if (activatePlaceType.value) {
8463
8462
  placeIndex = placesInOrder.indexOf(activatePlaceType.value);
8464
- if (_.isNil(this.initialPlaceIndex)) {
8463
+ if (isNil(this.initialPlaceIndex)) {
8465
8464
  this.initialPlaceIndex = placeIndex;
8466
8465
  }
8467
8466
  }
8468
- return _.isNil(this.initialPlaceIndex) ? 0 : placeIndex - this.initialPlaceIndex;
8467
+ return isNil(this.initialPlaceIndex) ? 0 : placeIndex - this.initialPlaceIndex;
8469
8468
  }, { dependsOn: activatePlaceType });
8470
8469
  this.animationSupported = this.placesInAnimationOrder.count().isGreaterThan(0);
8471
8470
  this.animationEnabled = valueOf.all(this.animateModel, this.animationSupported).areTruthy();
@@ -8562,6 +8561,7 @@ class PlaceOutletComponent extends DisposableComponent {
8562
8561
  const visitModel = new MutableValueModel(routerVisit);
8563
8562
  DebugContext.tag(visitModel, `PlaceOutletComponent[${activePlace.constructor.name})].visitModel`);
8564
8563
  activePlace.initialiseVisit(routerVisit, (current, previous) => {
8564
+ console.log("initialiseVisitCallback", { routerVisitModel: this.routerVisitModel.value });
8565
8565
  this.pushVisitChangeToRoute(previous, current);
8566
8566
  });
8567
8567
  const finishPlaceLoad = () => {
@@ -8580,6 +8580,7 @@ class PlaceOutletComponent extends DisposableComponent {
8580
8580
  const { when, chain, valueOf } = Dsl.disposeWith(activePlace);
8581
8581
  when(this.routerVisitModel)
8582
8582
  .changes(visit => {
8583
+ console.log("routerVisitModel.change", { routerVisitModel: this.routerVisitModel.value });
8583
8584
  this.pushVisitChangeToComponent(activePlace, visit);
8584
8585
  }, {
8585
8586
  unless: valueOf.any(this._isPushingVisitToRoute, this.routerVisitModel.isNil()).areTruthy()
@@ -8598,8 +8599,9 @@ class PlaceOutletComponent extends DisposableComponent {
8598
8599
  this._isPushingVisitToRoute.value = false;
8599
8600
  }
8600
8601
  // sanitisers may have adjusted other values in the visit to we check and write it back.
8601
- if (current.hasRoutingChangedFrom(this.routerVisitModel.value)) {
8602
- this.pushVisitChangeToComponent(this.activePlaceModel.value, this.routerVisitModel.value);
8602
+ const routerVisit = this.routerVisitModel.value; // this is occasionally null... need to investigate if that's a normal state or not.
8603
+ if (routerVisit && current.hasRoutingChangedFrom(routerVisit)) {
8604
+ this.pushVisitChangeToComponent(this.activePlaceModel.value, routerVisit);
8603
8605
  }
8604
8606
  });
8605
8607
  }
@@ -9031,7 +9033,7 @@ function Place(options) {
9031
9033
  return (target) => {
9032
9034
  var _a;
9033
9035
  if (PlaceComponent.isPlaceComponentConstructor(target)) {
9034
- PlaceComponent.injectDefinition(target, new PlaceDefinition(target, options.path, _.isNil(options.authenticate) ? true : options.authenticate, (_a = options.role) !== null && _a !== void 0 ? _a : options.roles, options.data, PlaceComponent.getRouteParameters(target), (options.children || []).map(c => PlaceComponent.getDefinition(c))));
9036
+ PlaceComponent.injectDefinition(target, new PlaceDefinition(target, options.path, isNil(options.authenticate) ? true : options.authenticate, (_a = options.role) !== null && _a !== void 0 ? _a : options.roles, options.data, PlaceComponent.getRouteParameters(target), (options.children || []).map(c => PlaceComponent.getDefinition(c))));
9035
9037
  if (options.roles) {
9036
9038
  console.warn(`${target.name} @Place({roles: string[]}) is deprecated. Use @Place({role:any}) instead`);
9037
9039
  }
@@ -9217,11 +9219,11 @@ var Formatter;
9217
9219
  }
9218
9220
  class NumberType {
9219
9221
  format(value) {
9220
- return ___default.isNumber(value) && !___default.isNaN(value) ? `${value}` : null;
9222
+ return isNumber(value) && !isNaN(value) ? `${value}` : null;
9221
9223
  }
9222
9224
  parse(value) {
9223
9225
  const parsed = Number.parseFloat(value);
9224
- return ___default.isNaN(parsed) ? null : parsed;
9226
+ return isNaN$1(parsed) ? null : parsed;
9225
9227
  }
9226
9228
  }
9227
9229
  class BooleanType {