@coolon/angular-ui-powerups 11.0.0-alpha.17 → 11.0.0-alpha.3

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 (116) hide show
  1. package/assets/table.scss +6 -13
  2. package/bundles/coolon-angular-ui-powerups.umd.js +62 -185
  3. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  5. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  8. package/esm2015/lib/components/card-container/card-container.component.js +1 -1
  9. package/esm2015/lib/components/card-container/card-container.component.metadata.json +1 -1
  10. package/esm2015/lib/components/commands/command/command.component.js +1 -5
  11. package/esm2015/lib/components/commands/command/command.component.js.map +1 -1
  12. package/esm2015/lib/components/commands/command/command.component.metadata.json +1 -1
  13. package/esm2015/lib/components/components.module.js +3 -0
  14. package/esm2015/lib/components/components.module.js.map +1 -1
  15. package/esm2015/lib/components/components.module.metadata.json +1 -1
  16. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  17. package/esm2015/lib/components/table/column-model.js +1 -2
  18. package/esm2015/lib/components/table/column-model.js.map +1 -1
  19. package/esm2015/lib/components/table/column-model.metadata.json +1 -1
  20. package/esm2015/lib/components/table/default-cell-renderer/default-cell-renderer.component.js +1 -1
  21. package/esm2015/lib/components/table/default-cell-renderer/default-cell-renderer.component.js.map +1 -1
  22. package/esm2015/lib/components/table/default-cell-renderer/default-cell-renderer.component.metadata.json +1 -1
  23. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  24. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.metadata.json +1 -1
  25. package/esm2015/lib/components/table/table-model.js +0 -9
  26. package/esm2015/lib/components/table/table-model.js.map +1 -1
  27. package/esm2015/lib/components/table/table-model.metadata.json +1 -1
  28. package/esm2015/lib/components/table/table.component.js +3 -30
  29. package/esm2015/lib/components/table/table.component.js.map +1 -1
  30. package/esm2015/lib/components/table/table.component.metadata.json +1 -1
  31. package/esm2015/lib/components/track-by.js +1 -5
  32. package/esm2015/lib/components/track-by.js.map +1 -1
  33. package/esm2015/lib/components/tree-table/decorated-tree-node.js +22 -19
  34. package/esm2015/lib/components/tree-table/decorated-tree-node.js.map +1 -1
  35. package/esm2015/lib/components/tree-table/tree-table-component.js +4 -21
  36. package/esm2015/lib/components/tree-table/tree-table-component.js.map +1 -1
  37. package/esm2015/lib/components/tree-table/tree-table-component.metadata.json +1 -1
  38. package/esm2015/lib/directives/directives.module.js +2 -8
  39. package/esm2015/lib/directives/directives.module.js.map +1 -1
  40. package/esm2015/lib/directives/directives.module.metadata.json +1 -1
  41. package/esm2015/lib/directives/directives.module.ngfactory.js.map +1 -1
  42. package/esm2015/lib/directives/exports.js +0 -2
  43. package/esm2015/lib/directives/exports.js.map +1 -1
  44. package/esm2015/lib/directives/exports.metadata.json +1 -1
  45. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  46. package/esm2015/lib/place/components/abstract-place-navigation.component.js +9 -18
  47. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  48. package/esm2015/lib/place/components/abstract-place-navigation.component.metadata.json +1 -1
  49. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
  50. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  51. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -1
  52. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +1 -1
  53. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -1
  54. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.metadata.json +1 -1
  55. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
  56. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
  57. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.metadata.json +1 -1
  58. package/esm2015/lib/place/place-component.js +3 -1
  59. package/esm2015/lib/place/place-component.js.map +1 -1
  60. package/esm2015/lib/place/place-component.metadata.json +1 -1
  61. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  62. package/fesm2015/coolon-angular-ui-powerups.js +55 -177
  63. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  64. package/lib/components/commands/command/command.component.d.ts +1 -2
  65. package/lib/components/table/column-model.d.ts +0 -1
  66. package/lib/components/table/table-model.d.ts +0 -9
  67. package/lib/components/table/table.component.d.ts +6 -24
  68. package/lib/components/track-by.d.ts +1 -3
  69. package/lib/components/tree-table/tree-table-component.d.ts +0 -9
  70. package/lib/directives/exports.d.ts +0 -2
  71. package/lib/place/components/abstract-place-navigation.component.d.ts +2 -9
  72. package/lib/place/place-component.d.ts +1 -1
  73. package/package.json +1 -1
  74. package/schematics/aup-i18n/index.js +28 -8
  75. package/schematics/aup-i18n/index.js.map +1 -1
  76. package/schematics/aup-i18n/templates/i18n/aup/components.yml.template +69 -0
  77. package/schematics/bootstrap-app/index.js +4 -5
  78. package/schematics/bootstrap-app/index.js.map +1 -1
  79. package/schematics/bootstrap-app/templates/{i18n.config.json.template → i18n/config.json.template} +0 -2
  80. package/schematics/bootstrap-app/templates/i18n/notifications.yml.template +19 -0
  81. package/schematics/ng-add/index.js +2 -2
  82. package/schematics/ng-add/index.js.map +1 -1
  83. package/schematics/place-add/index.js +5 -4
  84. package/schematics/place-add/index.js.map +1 -1
  85. package/schematics/place-add/templates/component/__name@dasherize__.component.ts.template +1 -3
  86. package/schematics/place-add/templates/files/i18n/places/__name@dasherize__.yml.template +7 -0
  87. package/esm2015/lib/directives/highlight-text-model.directive.js +0 -20
  88. package/esm2015/lib/directives/highlight-text-model.directive.js.map +0 -1
  89. package/esm2015/lib/directives/highlight-text-model.directive.metadata.json +0 -1
  90. package/esm2015/lib/directives/highlight-text-model.directive.ngfactory.js.map +0 -1
  91. package/esm2015/lib/directives/highlight.pipe.js +0 -43
  92. package/esm2015/lib/directives/highlight.pipe.js.map +0 -1
  93. package/esm2015/lib/directives/highlight.pipe.metadata.json +0 -1
  94. package/esm2015/lib/directives/highlight.pipe.ngfactory.js.map +0 -1
  95. package/lib/directives/highlight-text-model.directive.d.ts +0 -5
  96. package/lib/directives/highlight.pipe.d.ts +0 -11
  97. package/schematics/aup-i18n/templates/app/aup.i18n.yml.template +0 -80
  98. package/schematics/place-add/templates/component/__name@dasherize__.i18n.yml.template +0 -5
  99. /package/schematics/bootstrap-app/templates/{src/app → app}/app-routing.module.ts.template +0 -0
  100. /package/schematics/bootstrap-app/templates/{src/app → app}/app.component.html.template +0 -0
  101. /package/schematics/bootstrap-app/templates/{src/app → app}/app.component.scss.template +0 -0
  102. /package/schematics/bootstrap-app/templates/{src/app → app}/app.component.ts.template +0 -0
  103. /package/schematics/bootstrap-app/templates/{src/app → app}/app.module.ts.template +0 -0
  104. /package/schematics/bootstrap-app/templates/{src/app → app}/i18n.ts.template +0 -0
  105. /package/schematics/bootstrap-app/templates/{src/assets → assets}/fonts/material-design-icons/MaterialIcons-Regular.eot +0 -0
  106. /package/schematics/bootstrap-app/templates/{src/assets → assets}/fonts/material-design-icons/MaterialIcons-Regular.ijmap +0 -0
  107. /package/schematics/bootstrap-app/templates/{src/assets → assets}/fonts/material-design-icons/MaterialIcons-Regular.svg +0 -0
  108. /package/schematics/bootstrap-app/templates/{src/assets → assets}/fonts/material-design-icons/MaterialIcons-Regular.ttf +0 -0
  109. /package/schematics/bootstrap-app/templates/{src/assets → assets}/fonts/material-design-icons/MaterialIcons-Regular.woff +0 -0
  110. /package/schematics/bootstrap-app/templates/{src/assets → assets}/fonts/material-design-icons/MaterialIcons-Regular.woff2 +0 -0
  111. /package/schematics/bootstrap-app/templates/{src/assets → assets}/fonts/material-design-icons/README.md +0 -0
  112. /package/schematics/bootstrap-app/templates/{src/assets → assets}/fonts/material-design-icons/codepoints +0 -0
  113. /package/schematics/bootstrap-app/templates/{src/assets → assets}/fonts/material-design-icons/material-icons.css +0 -0
  114. /package/schematics/bootstrap-app/templates/{src/index.html.template → index.html.template} +0 -0
  115. /package/schematics/bootstrap-app/templates/{src/styles → styles}/global-variables.scss.template +0 -0
  116. /package/schematics/bootstrap-app/templates/{src/styles.scss.template → styles.scss.template} +0 -0
package/assets/table.scss CHANGED
@@ -1,9 +1,7 @@
1
1
  aup-table {
2
- --resolved-column-gap: var(--column-gap, var(--aup-table-column-gap, 24px)); // material design table column padding
3
- --resolved-row-selected-background-color: var(--row-selected-background-color, var(--aup-table-row-selected-background-color, rgba(0, 0, 255, 0.04)));
4
- --resolved-row-hover-background-color: var(--row-hover-background-color, var(--aup-table-row-hover-background-color, rgba(0, 0, 0, 0.05)));
5
- --resolved-first-column-padding-left: var(--first-column-padding-left, var(--aup-table-first-column-padding-left, var(--resolved-column-gap)));
6
- --resolved-last-column-padding-right: var(--last-column-padding-right, var(--aup-table-last-column-padding-right, var(--resolved-column-gap)));
2
+ --default-column-gap: var(--column-gap, 24px); // material design table column padding
3
+ --resolved-row-selected-background-color: var(--row-selected-background-color, rgba(0, 0, 255, 0.04));
4
+ --resolved-row-hover-background-color: var(--row-hover-background-color, rgba(0, 0, 0, 0.05));
7
5
 
8
6
  &.hide-header {
9
7
  .mat-table thead {
@@ -66,14 +64,9 @@ aup-table {
66
64
  height: 100%;
67
65
  min-height: 47px; // same as mat table row height - border bottom.
68
66
 
69
- padding-left: var(--resolved-column-gap);
70
-
71
- &.first-visible-column {
72
- padding-left: var(--resolved-first-column-padding-left);
73
- }
74
-
67
+ padding-left: var(--default-column-gap);
75
68
  &.last-visible-column {
76
- padding-right: var(--resolved-last-column-padding-right);
69
+ padding-right: var(--default-column-gap);
77
70
  }
78
71
  }
79
72
 
@@ -85,7 +78,7 @@ aup-table {
85
78
 
86
79
  &.padChild {
87
80
  > *:first-child {
88
- padding-left: var(--resolved-column-gap);
81
+ padding-left: var(--default-column-gap);
89
82
  flex: 1;
90
83
  }
91
84
  }
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/tabs'), require('@angular/platform-browser/animations'), require('@angular/cdk/portal'), require('@angular/cdk/scrolling'), require('@angular/material/autocomplete'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/divider'), require('@angular/material/icon'), require('@angular/material/menu'), require('@angular/material/progress-spinner'), require('@angular/material/table'), require('@angular/material/tooltip'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/free-solid-svg-icons'), require('@coolon/pectin'), require('@angular/platform-browser'), require('lodash'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('typescript-string-enums'), require('resize-observer-polyfill'), require('@coolon/typescript-utilities'), require('immer'), require('@angular/flex-layout'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/cdk/overlay'), require('@angular/material/list'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations')) :
3
- typeof define === 'function' && define.amd ? define('@coolon/angular-ui-powerups', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/tabs', '@angular/platform-browser/animations', '@angular/cdk/portal', '@angular/cdk/scrolling', '@angular/material/autocomplete', '@angular/material/button', '@angular/material/checkbox', '@angular/material/divider', '@angular/material/icon', '@angular/material/menu', '@angular/material/progress-spinner', '@angular/material/table', '@angular/material/tooltip', '@fortawesome/angular-fontawesome', '@fortawesome/free-solid-svg-icons', '@coolon/pectin', '@angular/platform-browser', 'lodash', '@typescript-plus/fast-memoize-decorator/dist/src', 'typescript-string-enums', 'resize-observer-polyfill', '@coolon/typescript-utilities', 'immer', '@angular/flex-layout', '@angular/material/dialog', '@angular/router', '@angular/cdk/overlay', '@angular/material/list', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.coolon = global.coolon || {}, global.coolon['angular-ui-powerups'] = {}), global.ng.common, global.ng.core, global.ng.forms, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.tabs, global.ng.platformBrowser.animations, global.ng.cdk.portal, global.ng.cdk.scrolling, global.ng.material.autocomplete, global.ng.material.button, global.ng.material.checkbox, global.ng.material.divider, global.ng.material.icon, global.ng.material.menu, global.ng.material.progressSpinner, global.ng.material.table, global.ng.material.tooltip, global.angularFontawesome, global.freeSolidSvgIcons, global.pectin, global.ng.platformBrowser, global._, global.src, global.typescriptStringEnums, global.ResizeObserver, global.typescriptUtilities, global.produce, global.ng.flexLayout, global.ng.material.dialog, global.ng.router, global.ng.cdk.overlay, global.ng.material.list, global.fastMemoizeDecorator, null, global.ng.animations));
5
- }(this, (function (exports, i2, i0, forms, formField, input, select, tabs, animations, portal, scrolling, autocomplete, button, checkbox, divider, icon, menu, progressSpinner, table, tooltip, angularFontawesome, freeSolidSvgIcons, pectin, platformBrowser, _, src, typescriptStringEnums, ResizeObserver, typescriptUtilities, produce, flexLayout, i1, i1$1, overlay, list, fastMemoizeDecorator, reflectMetadata, animations$1) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/tabs'), require('@angular/platform-browser/animations'), require('@angular/cdk/portal'), require('@angular/cdk/scrolling'), require('@angular/material/autocomplete'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/divider'), require('@angular/material/icon'), require('@angular/material/menu'), require('@angular/material/progress-spinner'), require('@angular/material/table'), require('@angular/material/tooltip'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/free-solid-svg-icons'), require('@coolon/pectin'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('lodash'), require('typescript-string-enums'), require('resize-observer-polyfill'), require('@coolon/typescript-utilities'), require('immer'), require('@angular/flex-layout'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/cdk/overlay'), require('@angular/material/list'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations')) :
3
+ typeof define === 'function' && define.amd ? define('@coolon/angular-ui-powerups', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/tabs', '@angular/platform-browser/animations', '@angular/cdk/portal', '@angular/cdk/scrolling', '@angular/material/autocomplete', '@angular/material/button', '@angular/material/checkbox', '@angular/material/divider', '@angular/material/icon', '@angular/material/menu', '@angular/material/progress-spinner', '@angular/material/table', '@angular/material/tooltip', '@fortawesome/angular-fontawesome', '@fortawesome/free-solid-svg-icons', '@coolon/pectin', '@typescript-plus/fast-memoize-decorator/dist/src', 'lodash', 'typescript-string-enums', 'resize-observer-polyfill', '@coolon/typescript-utilities', 'immer', '@angular/flex-layout', '@angular/material/dialog', '@angular/router', '@angular/cdk/overlay', '@angular/material/list', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.coolon = global.coolon || {}, global.coolon['angular-ui-powerups'] = {}), global.ng.common, global.ng.core, global.ng.forms, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.tabs, global.ng.platformBrowser.animations, global.ng.cdk.portal, global.ng.cdk.scrolling, global.ng.material.autocomplete, global.ng.material.button, global.ng.material.checkbox, global.ng.material.divider, global.ng.material.icon, global.ng.material.menu, global.ng.material.progressSpinner, global.ng.material.table, global.ng.material.tooltip, global.angularFontawesome, global.freeSolidSvgIcons, global.pectin, global.src, global._, global.typescriptStringEnums, global.ResizeObserver, global.typescriptUtilities, global.produce, global.ng.flexLayout, global.ng.material.dialog, global.ng.router, global.ng.cdk.overlay, global.ng.material.list, global.fastMemoizeDecorator, null, global.ng.animations));
5
+ }(this, (function (exports, i2, i0, forms, formField, input, select, tabs, animations, portal, scrolling, autocomplete, button, checkbox, divider, icon, menu, progressSpinner, table, tooltip, angularFontawesome, freeSolidSvgIcons, pectin, src, _, typescriptStringEnums, ResizeObserver, typescriptUtilities, produce, flexLayout, i1, i1$1, overlay, list, fastMemoizeDecorator, reflectMetadata, animations$1) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -605,66 +605,6 @@
605
605
  onFocusOut: [{ type: i0.HostListener, args: ['focusout',] }]
606
606
  };
607
607
 
608
- var HighlightTextModelDirective = /** @class */ (function () {
609
- function HighlightTextModelDirective() {
610
- }
611
- return HighlightTextModelDirective;
612
- }());
613
- HighlightTextModelDirective.decorators = [
614
- { type: i0.Directive, args: [{
615
- selector: '[aupHighlightTextModel]'
616
- },] }
617
- ];
618
- HighlightTextModelDirective.ctorParameters = function () { return []; };
619
- HighlightTextModelDirective.propDecorators = {
620
- aupHighlightTextModel: [{ type: i0.Input }]
621
- };
622
- __decorate([
623
- pectin.TrackExternal(),
624
- __metadata("design:type", pectin.ValueModel)
625
- ], HighlightTextModelDirective.prototype, "aupHighlightTextModel", void 0);
626
-
627
- var HighlightPipe = /** @class */ (function (_super) {
628
- __extends(HighlightPipe, _super);
629
- function HighlightPipe(sanitizer, highlightContext) {
630
- var _this = _super.call(this) || this;
631
- _this.sanitizer = sanitizer;
632
- _this.highlightContext = highlightContext;
633
- return _this;
634
- }
635
- HighlightPipe.prototype.ngOnDestroy = function () {
636
- this.dispose();
637
- };
638
- HighlightPipe.prototype.transform = function (value, searchModel) {
639
- var _a;
640
- var model = searchModel !== null && searchModel !== void 0 ? searchModel : (_a = this.highlightContext) === null || _a === void 0 ? void 0 : _a.aupHighlightTextModel;
641
- var searchText = model === null || model === void 0 ? void 0 : model.value;
642
- if (___default['default'].isEmpty(searchText) || !___default['default'].isString(value)) {
643
- return value;
644
- }
645
- // Match in a case insensitive manner
646
- var re = new RegExp(searchText, 'gi');
647
- var match = value.match(re);
648
- // If there's no match, just return the original value.
649
- if (!match) {
650
- return value;
651
- }
652
- var result = value.replace(re, '<mark>' + match[0] + '</mark>');
653
- return this.sanitizer.bypassSecurityTrustHtml(result);
654
- };
655
- return HighlightPipe;
656
- }(pectin.GarbageCollector));
657
- HighlightPipe.decorators = [
658
- { type: i0.Pipe, args: [{
659
- name: 'aupHighlight',
660
- pure: false
661
- },] }
662
- ];
663
- HighlightPipe.ctorParameters = function () { return [
664
- { type: platformBrowser.DomSanitizer },
665
- { type: HighlightTextModelDirective, decorators: [{ type: i0.Optional }] }
666
- ]; };
667
-
668
608
  var DirectivesModule = /** @class */ (function () {
669
609
  function DirectivesModule() {
670
610
  }
@@ -674,9 +614,7 @@
674
614
  { type: i0.NgModule, args: [{
675
615
  declarations: [
676
616
  CommandDirective,
677
- FocusBindingDirective,
678
- HighlightPipe,
679
- HighlightTextModelDirective
617
+ FocusBindingDirective
680
618
  ],
681
619
  imports: [
682
620
  i2.CommonModule,
@@ -689,9 +627,7 @@
689
627
  ],
690
628
  exports: [
691
629
  CommandDirective,
692
- FocusBindingDirective,
693
- HighlightPipe,
694
- HighlightTextModelDirective
630
+ FocusBindingDirective
695
631
  ]
696
632
  },] }
697
633
  ];
@@ -793,7 +729,7 @@
793
729
  { type: i0.Component, args: [{
794
730
  selector: 'aup-card-container',
795
731
  template: "<div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled.value\" [pectinCommand]=\"addCardCommand\">\n <aup-command-face *ngIf=\"addCardFace\" [faces]=\"[addCardFace]\"></aup-command-face>\n <aup-icon *ngIf=\"!addCardFace\" icon=\"mat:add\"></aup-icon>\n </div>\n\n <div class=\"add-card-template\" *ngIf=\"addCardTemplate\">\n <ng-container [ngTemplateOutlet]=\"addCardTemplate\"></ng-container>\n </div>\n\n</div>\n",
796
- styles: [":host{--resolved-card-gap:var(--card-gap,16px);--resolved-card-width:var(--card-width,300px);--resolved-card-height:var(--card-height,auto);--resolved-card-min-height:var(--card-min-height,auto);--resolved-card-background:var(--card-background,#fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:grid;grid-template-columns:repeat(auto-fill,var(--resolved-card-width));grid-auto-rows:minmax(var(--resolved-card-min-height),var(--resolved-card-height));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap));max-width:100%}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:hsla(0,0%,100%,.8);transition:all .28s cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);transition:all .28s cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-container:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
732
+ styles: [":host{--resolved-card-gap:var(--card-gap,16px);--resolved-card-width:var(--card-width,300px);--resolved-card-height:var(--card-height,auto);--resolved-card-min-height:var(--card-min-height,auto);--resolved-card-background:var(--card-background,#fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:grid;grid-template-columns:repeat(auto-fill,var(--resolved-card-width));grid-template-rows:repeat(auto-fit,minmax(var(--resolved-card-min-height),var(--resolved-card-height)));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap));max-width:100%}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:hsla(0,0%,100%,.8);transition:all .28s cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);transition:all .28s cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-container:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
797
733
  },] }
798
734
  ];
799
735
  CardContainerComponent.ctorParameters = function () { return []; };
@@ -1073,9 +1009,6 @@
1073
1009
  _this.activeFace = _this.faces.first();
1074
1010
  _this.buttonStyle = chain(_this.activeFace).map(function (f) { return exports.CommandFace.getStyleOf(f); });
1075
1011
  _this.colorModel = chain(_this.activeFace).map(function (f) { return exports.CommandFace.getColorOf(f); });
1076
- _this.iconOnly = _this.faces.select(function (face) {
1077
- return ___default['default'].isEmpty(exports.CommandFace.getTextOf(face)) && !___default['default'].isEmpty(exports.CommandFace.getIconOf(face));
1078
- }).count().equals(_this.faces.count());
1079
1012
  return _this;
1080
1013
  }
1081
1014
  CommandComponent.prototype.isActive = function (face) {
@@ -1094,7 +1027,7 @@
1094
1027
  CommandComponent.decorators = [
1095
1028
  { type: i0.Component, args: [{
1096
1029
  selector: 'aup-command',
1097
- template: "<ng-container *ngIf=\"iconOnly.value\">\n <button mat-icon-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\">\n <aup-command-face class=\"centered\" [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 <aup-command-face class=\"centered\" [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 <aup-command-face class=\"centered\" [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 <aup-command-face class=\"centered\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n </ng-container>\n</ng-container>\n",
1030
+ template: "<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 <aup-command-face class=\"centered\" [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 <aup-command-face class=\"centered\" [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 <aup-command-face class=\"centered\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n</ng-container>\n",
1098
1031
  styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}button{flex:1}"]
1099
1032
  },] }
1100
1033
  ];
@@ -1271,11 +1204,7 @@
1271
1204
  ], MoreMenuComponent.prototype, "tooltip", void 0);
1272
1205
 
1273
1206
  (function (TrackBy) {
1274
- TrackBy.byIndex = function (index, item) { return index; };
1275
- function trackByProperty(property) {
1276
- return function (index, item) { return item[property]; };
1277
- }
1278
- TrackBy.trackByProperty = trackByProperty;
1207
+ TrackBy.byIndex = function (data, index) { return index; };
1279
1208
  })(exports.TrackBy || (exports.TrackBy = {}));
1280
1209
 
1281
1210
  exports.CommandContainer = /** @class */ (function (_super) {
@@ -2634,7 +2563,7 @@
2634
2563
  DefaultCellRendererComponent.decorators = [
2635
2564
  { type: i0.Component, args: [{
2636
2565
  selector: 'aup-default-cell-renderer',
2637
- template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n",
2566
+ template: "{{value}}\n",
2638
2567
  styles: [""]
2639
2568
  },] }
2640
2569
  ];
@@ -2778,7 +2707,6 @@
2778
2707
  this._flex = false;
2779
2708
  this._visibleModel = new pectin.DelegatingValueModel().withDefault(true);
2780
2709
  this.installHeaderRenderer();
2781
- this.dasherisedColumnId = typescriptUtilities.Stringy.from(columnId).dasherize().toString();
2782
2710
  }
2783
2711
  ColumnModel.prototype.installHeaderRenderer = function () {
2784
2712
  this.cellHeaderRenderer(DefaultHeaderCellRendererComponent, function (component, column) {
@@ -3404,32 +3332,15 @@
3404
3332
  *
3405
3333
  * Styling
3406
3334
  * @example
3407
- * // global settings
3408
- * :root {
3409
- * --aup-table-column-gap: 10px; // defaults to 24px
3410
- * --aup-table-row-hover-background-color, rgba(0, 0, 0, 0.05)
3411
- * --aup-table-row-selected-background-color: rebeccapurple; // defaults to transparent
3412
- * --aup-table-first-column-padding-left: 18px // defaults to --column-gap
3413
- * --aup-table-last-column-padding-right: 18px // defaults to --column-gap
3414
- * }
3415
- *
3416
- * // per table settings.
3417
3335
  * aup-table {
3418
3336
  * --column-gap: 10px; // defaults to 24px
3419
3337
  * --row-hover-background-color, rgba(0, 0, 0, 0.05)
3420
3338
  * --row-selected-background-color: rebeccapurple; // defaults to transparent
3421
- * --first-column-padding-left: 18px // defaults to --column-gap
3422
- * --last-column-padding-right: 18px // defaults to --column-gap
3423
- *
3424
- * aup-table-header-cell-renderer,
3425
3339
  * aup-table-cell-renderer {
3426
- * &.aup-col-my-dasherised-column-id {
3340
+ * &:first-column {
3427
3341
  * // do stuff
3428
3342
  * }
3429
- * &.first-visible-column {
3430
- * // do stuff
3431
- * }
3432
- * &.last-visible-column {
3343
+ * &:last-column {
3433
3344
  * // do stuff
3434
3345
  * }
3435
3346
  * }
@@ -3499,22 +3410,12 @@
3499
3410
  var _a;
3500
3411
  return ((_a = this.tableModel.lastVisibleColumn.query().value) === null || _a === void 0 ? void 0 : _a.columnId) === columnId;
3501
3412
  };
3502
- TableComponent.prototype.getColumnClasses = function (columnId) {
3503
- var classes = ["aup-col-" + this.columnsById.get(columnId).dasherisedColumnId];
3504
- if (this.isFirstVisibleColumn(columnId)) {
3505
- classes.push('first-visible-column');
3506
- }
3507
- if (this.isLastVisibleColumn(columnId)) {
3508
- classes.push('last-visible-column');
3509
- }
3510
- return classes;
3511
- };
3512
3413
  return TableComponent;
3513
3414
  }(ResizeAwareComponent));
3514
3415
  TableComponent.decorators = [
3515
3416
  { type: i0.Component, args: [{
3516
3417
  selector: 'aup-table',
3517
- template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"notifyCellClicked(column, row)\"\n [class.enable-cursor]=\"tableModel.isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-cell-renderer>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\" [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [attr.trackBy]=\"tableModel.trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n",
3418
+ template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class.first-visible-column]=\"isFirstVisibleColumn(column.columnId)\"\n [class.last-visible-column]=\"isLastVisibleColumn(column.columnId)\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"notifyCellClicked(column, row)\"\n [class.enable-cursor]=\"tableModel.isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class.first-visible-column]=\"isFirstVisibleColumn(column.columnId)\"\n [class.last-visible-column]=\"isLastVisibleColumn(column.columnId)\"\n ></aup-table-cell-renderer>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\" [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [attr.trackBy]=\"tableModel.trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n",
3518
3419
  styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:scroll;display:flex;flex-direction:column;align-items:stretch}"]
3519
3420
  },] }
3520
3421
  ];
@@ -4013,7 +3914,7 @@
4013
3914
  Object.defineProperty(DecoratedTreeNodeMixin.prototype, "decoratedSelf", {
4014
3915
  get: function () {
4015
3916
  var _this = this;
4016
- return this.memoize('decoratedSelf', function () {
3917
+ return this.memoize("decoratedSelf", function () {
4017
3918
  return _this.parent ? _this.parent.children.find(function (child) { return child.node === _this.node; }) : exports.DecoratedTreeNode.createRoot(_this.node);
4018
3919
  });
4019
3920
  },
@@ -4023,7 +3924,7 @@
4023
3924
  Object.defineProperty(DecoratedTreeNodeMixin.prototype, "children", {
4024
3925
  get: function () {
4025
3926
  var _this = this;
4026
- return this.memoize('children', function () {
3927
+ return this.memoize("children", function () {
4027
3928
  return _this.node.children ? _this.node.children.map(function (child) {
4028
3929
  return typescriptUtilities.Mixin.createProxy(child, new DecoratedTreeNodeMixin(_this.decoratedSelf, child));
4029
3930
  }) : [];
@@ -4034,7 +3935,7 @@
4034
3935
  });
4035
3936
  DecoratedTreeNodeMixin.prototype.descendants = function () {
4036
3937
  var _this = this;
4037
- return this.memoize('descendants', function () {
3938
+ return this.memoize("descendants", function () {
4038
3939
  var result = [];
4039
3940
  _this.visitDescendants(function (child) { return result.push(child); });
4040
3941
  return result;
@@ -4042,7 +3943,7 @@
4042
3943
  };
4043
3944
  DecoratedTreeNodeMixin.prototype.selfAndDescendants = function () {
4044
3945
  var _this = this;
4045
- return this.memoize('selfAndDescendants', function () {
3946
+ return this.memoize("selfAndDescendants", function () {
4046
3947
  var result = [];
4047
3948
  _this.visitSelfAndDescendants(function (child) { return result.push(child); });
4048
3949
  return result;
@@ -4113,24 +4014,29 @@
4113
4014
  };
4114
4015
  DecoratedTreeNodeMixin.prototype.ancestorsAndSelf = function () {
4115
4016
  var _this = this;
4116
- return this.memoize('ancestorsAndSelf', function () {
4017
+ return this.memoize("ancestorsAndSelf", function () {
4117
4018
  return _this.ancestors().concat([(_this.decoratedSelf)]);
4118
4019
  });
4119
4020
  };
4120
4021
  DecoratedTreeNodeMixin.prototype.pathToParent = function (parent) {
4121
- if (this.node === parent.node) {
4122
- return [];
4123
- }
4124
- else if (this.parent) {
4125
- var pathToParent = this.parent.pathToParent(parent);
4126
- return pathToParent.concat([this.parent]);
4127
- }
4128
- else {
4129
- throw new Error('parent is not an ancestor');
4130
- }
4022
+ var _this = this;
4023
+ return this.memoize("pathToParent", function () {
4024
+ if (_this.node === parent.node) {
4025
+ return [];
4026
+ }
4027
+ else if (_this.parent) {
4028
+ return _this.parent.pathToParent(parent).concat([_this.parent]);
4029
+ }
4030
+ else {
4031
+ throw new Error('parent is not an ancestor');
4032
+ }
4033
+ });
4131
4034
  };
4132
4035
  DecoratedTreeNodeMixin.prototype.pathToParentAndSelf = function (parent) {
4133
- return this.pathToParent(parent).concat([this.decoratedSelf]);
4036
+ var _this = this;
4037
+ return this.memoize("pathToParentAndSelf", function () {
4038
+ return _this.pathToParent(parent).concat([_this.decoratedSelf]);
4039
+ });
4134
4040
  };
4135
4041
  DecoratedTreeNodeMixin.prototype.isRoot = function () {
4136
4042
  return !this.parent;
@@ -4146,20 +4052,20 @@
4146
4052
  return !this.isRoot() && this.node.children.length < 1;
4147
4053
  };
4148
4054
  DecoratedTreeNodeMixin.prototype.hasChildren = function () {
4149
- return this.node.children && this.node.children.length > 0;
4055
+ return this.node.children.length > 0;
4150
4056
  };
4151
4057
  DecoratedTreeNodeMixin.prototype.depthFromParent = function (parent) {
4152
4058
  return this.pathToParent(parent).length;
4153
4059
  };
4154
4060
  DecoratedTreeNodeMixin.prototype.treeDepth = function () {
4155
4061
  var _this = this;
4156
- return this.memoize('treeDepth', function () {
4062
+ return this.memoize("treeDepth", function () {
4157
4063
  return 1 + _this.descendants().map(function (child) { return child.depthFromParent(_this); }).reduce(function (prev, current) { return Math.max(prev, current); });
4158
4064
  });
4159
4065
  };
4160
4066
  DecoratedTreeNodeMixin.prototype.flatten = function () {
4161
4067
  var _this = this;
4162
- return this.memoize('flatten', function () {
4068
+ return this.memoize("flatten", function () {
4163
4069
  return _this.flattenInto([]);
4164
4070
  });
4165
4071
  };
@@ -4369,21 +4275,14 @@
4369
4275
  var TreeTableComponent = /** @class */ (function (_super) {
4370
4276
  __extends(TreeTableComponent, _super);
4371
4277
  function TreeTableComponent() {
4372
- var _this = _super.call(this) || this;
4373
- /**
4374
- * Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
4375
- * need to set it explicitly e.g. height: 400px; or by using flex or grid layout to make it fill it's
4376
- * containment area.
4377
- */
4378
- _this.enableScrolling = false;
4379
- return _this;
4278
+ return _super.call(this) || this;
4380
4279
  }
4381
4280
  return TreeTableComponent;
4382
4281
  }(DisposableComponent));
4383
4282
  TreeTableComponent.decorators = [
4384
4283
  { type: i0.Component, args: [{
4385
4284
  selector: "aup-tree-table",
4386
- template: "<aup-table [tableModel]=\"treeTableModel\" [showHeaderModel]=\"showHeaderModel\" [enableScrolling]=\"enableScrolling\"></aup-table>\n",
4285
+ template: "<aup-table [tableModel]=\"treeTableModel\"></aup-table>\n",
4387
4286
  encapsulation: i0.ViewEncapsulation.None // allow us to target nested table styles
4388
4287
  ,
4389
4288
  styles: ["td.mat-cell{border-top-width:0!important;border-bottom-width:0!important}td.mat-column-tree-label{width:1px}aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}aup-tree-label-cell-renderer{flex:1}"]
@@ -4391,23 +4290,12 @@
4391
4290
  ];
4392
4291
  TreeTableComponent.ctorParameters = function () { return []; };
4393
4292
  TreeTableComponent.propDecorators = {
4394
- treeTableModel: [{ type: i0.Input }],
4395
- showHeaderModel: [{ type: i0.Input }],
4396
- showHeader: [{ type: i0.Input }],
4397
- enableScrolling: [{ type: i0.Input }, { type: i0.HostBinding, args: ['class.enable-scrolling',] }]
4293
+ treeTableModel: [{ type: i0.Input }]
4398
4294
  };
4399
4295
  __decorate([
4400
4296
  pectin.TrackExternal(),
4401
4297
  __metadata("design:type", TreeTableModel)
4402
4298
  ], TreeTableComponent.prototype, "treeTableModel", void 0);
4403
- __decorate([
4404
- pectin.TrackExternal({ defaultValue: true }),
4405
- __metadata("design:type", pectin.ValueModel)
4406
- ], TreeTableComponent.prototype, "showHeaderModel", void 0);
4407
- __decorate([
4408
- pectin.StoreInValueModel('showHeaderModel'),
4409
- __metadata("design:type", Boolean)
4410
- ], TreeTableComponent.prototype, "showHeader", void 0);
4411
4299
 
4412
4300
  var VerticalFocusContainerComponent = /** @class */ (function (_super) {
4413
4301
  __extends(VerticalFocusContainerComponent, _super);
@@ -4580,9 +4468,12 @@
4580
4468
  TreeTableComponent,
4581
4469
  exports.TreeInheritanceIconComponent,
4582
4470
  TreeLabelCellRendererComponent,
4471
+ exports.IconComponent,
4583
4472
  BusyOverlayComponent,
4584
4473
  EmptyStateComponent,
4585
4474
  PaginatorComponent,
4475
+ exports.IconComponent,
4476
+ exports.IconComponent
4586
4477
  ],
4587
4478
  imports: [
4588
4479
  i2.CommonModule,
@@ -6071,15 +5962,6 @@
6071
5962
  * table.addCustomColumn("fullName", hero => `${hero.firstName} ${hero.lastName}`);
6072
5963
  * });
6073
5964
  *
6074
- * Template columns
6075
- * @example
6076
- * const model = TableModel.fromList(heroList, table => {
6077
- * table.addSelectionColumn(selectionModel); // <- can be single or multiple selection model
6078
- * table.addTemplateColumn("myTemplate");
6079
- * });
6080
- *
6081
- * <div *aupColumnTemplate="let hero; columnId: 'myTemplate'">{{hero.age}}</div>
6082
- *
6083
5965
  * I18n
6084
5966
  * @example
6085
5967
  * [table.yml]
@@ -6446,7 +6328,6 @@
6446
6328
  _this._active = new pectin.MutableValueModel(false);
6447
6329
  var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
6448
6330
  when(_this._active).becomesTruthy(function () { return _this.onPlaceReady(); });
6449
- _this.childPlaces = _this.placeDefinition.children.map(function (d) { return d.component; });
6450
6331
  return _this;
6451
6332
  }
6452
6333
  // @Trace()
@@ -6496,6 +6377,13 @@
6496
6377
  enumerable: false,
6497
6378
  configurable: true
6498
6379
  });
6380
+ Object.defineProperty(PlaceComponent.prototype, "childPlaces", {
6381
+ get: function () {
6382
+ return this.placeDefinition.children.map(function (d) { return d.component; });
6383
+ },
6384
+ enumerable: false,
6385
+ configurable: true
6386
+ });
6499
6387
  Object.defineProperty(PlaceComponent.prototype, "active", {
6500
6388
  get: function () {
6501
6389
  return this._active.readonly;
@@ -8468,7 +8356,6 @@
8468
8356
  var _this = _super.call(this) || this;
8469
8357
  _this.placeRouter = placeRouter;
8470
8358
  _this._activePlaceComponent = new pectin.DelegatingValueModel();
8471
- _this.trackByPlaceDef = function (data) { return data.place; };
8472
8359
  var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
8473
8360
  _this.placeDefinitions = chain(_this.placesModel)
8474
8361
  .map(function (c) { return exports.PlaceComponent.getDefinition(c); })
@@ -8480,26 +8367,15 @@
8480
8367
  _this.commandFactory = pectin.Command.createFactory(function (placeDefinition) {
8481
8368
  _this.placeOutlet.navigate(new Visit(placeDefinition));
8482
8369
  });
8483
- when(_this.placeOutletModel).changes(function (outlet) { return _this.handlePlaceOutLetChanged(outlet); }, { initialValue: "triggerChange" });
8484
- _this.activePlaceDefinition = chain(_this._activePlaceComponent).pluck('placeDefinition');
8485
- _this.menuItems = chain(_this.placeDefinitions).map(function (d) {
8486
- return {
8487
- place: d,
8488
- active: _this.activePlaceDefinition.value === d
8489
- };
8490
- }, {
8491
- dependsOn: _this.activePlaceDefinition
8370
+ when(_this.placeOutletModel).changes(function (outlet) {
8371
+ // NOTE: this updates during a change cycle and causes our isActiveMethod to return 2 different
8372
+ // values in the one change detection cycle. So instead we delay the update to a different
8373
+ // tick.
8374
+ setTimeout(function () { return _this._activePlaceComponent.setDelegate(outlet ? outlet.activePlaceModel : null); });
8492
8375
  });
8376
+ _this.activePlaceDefinition = chain(_this._activePlaceComponent).pluck('placeDefinition');
8493
8377
  return _this;
8494
- // const txo = new TransactionObserver({ verbose: true }).onEvent(e => console.log(e.name, e.payload));
8495
- // txo.observe('this.placesModel', this.placesModel);
8496
- // txo.observe('this.placeDefinitions', this.placeDefinitions);
8497
- // txo.observe('this.activePlaceDefinition', this.activePlaceDefinition);
8498
- // txo.observe('this.menuItems', this.menuItems);
8499
8378
  }
8500
- AbstractPlaceNavigationComponent.prototype.handlePlaceOutLetChanged = function (outlet) {
8501
- this._activePlaceComponent.setDelegate(outlet ? outlet.activePlaceModel : null);
8502
- };
8503
8379
  AbstractPlaceNavigationComponent.prototype.getNavigationFace = function (placeDef) {
8504
8380
  var navItem = placeDef.getPlaceData('nav');
8505
8381
  return {
@@ -8508,6 +8384,9 @@
8508
8384
  icon: function () { return navItem && navItem.icon ? navItem.icon() : placeDef.getPlaceData('navIcon', null); }
8509
8385
  };
8510
8386
  };
8387
+ AbstractPlaceNavigationComponent.prototype.isActive = function (place) {
8388
+ return this.activePlaceDefinition.query().equals(place);
8389
+ };
8511
8390
  AbstractPlaceNavigationComponent.prototype.ngOnInit = function () {
8512
8391
  };
8513
8392
  return AbstractPlaceNavigationComponent;
@@ -8559,7 +8438,7 @@
8559
8438
  ListPlaceNavComponent.decorators = [
8560
8439
  { type: i0.Component, args: [{
8561
8440
  selector: 'aup-list-place-nav',
8562
- template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n [pectinCommand]=\"commandFactory.create(item.place)\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n</mat-nav-list>\n",
8441
+ template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNavigationFace(placeDefinition).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(placeDefinition)]\"></aup-command-face>\n </a>\n</mat-nav-list>\n",
8563
8442
  styles: [":host{display:flex;flex-direction:column;--selected-border-color:#838383;--selected-color:inherit;--selected-background:#f1f1f1}mat-nav-list{padding-top:0}a{border-right:2px solid transparent}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}"]
8564
8443
  },] }
8565
8444
  ];
@@ -8630,7 +8509,7 @@
8630
8509
  SidePlaceNavigationComponent.decorators = [
8631
8510
  { type: i0.Component, args: [{
8632
8511
  selector: 'aup-side-place-navigation',
8633
- template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"mat:menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"mat:arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n [pectinCommand]=\"commandFactory.create(item.place)\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-icon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span 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",
8512
+ template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"mat:menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"mat:arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNavigationFace(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNavigationFace(placeDefinition).icon()\" [icon]=\"getNavigationFace(placeDefinition).icon()\"></aup-icon>\n <span class=\"expanded-only\">{{getNavigationFace(placeDefinition).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n",
8634
8513
  styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width:var(--nav-width,56px);--resolved-nav-item-height:var(--nav-item-height,var(--resolved-nav-item-width));--resolved-expanded-width:var(--nav-expanded-width,235px);--resolved-color:var(--nav-color,hsla(0,0%,100%,0.9));--resolved-background-color:var(--nav-background-color,#555);width:var(--resolved-nav-item-width);transition:width 125ms linear;background-color:var(--resolved-background-color);color:var(--resolved-color)}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host-context(.expanded) .expanded-only{max-width:100%}:host-context(.expanded) .collapsed-only{max-width:0}:host-context(.expanded) .mat-list-item aup-icon:not(.collapsed-only){margin-right:12px}:host-context(.expanded) .mat-list-item span{text-wrap:none;white-space:nowrap}.expanded-only{max-width:0;overflow:hidden}.collapsed-only{max-width:100%;overflow:hidden}mat-nav-list{flex:1;display:flex;flex-direction:column}.mat-list-item{width:var(--resolved-nav-item-width);height:var(--resolved-nav-item-height);color:inherit}.mat-list-item.active{background-color:#444}.mat-list-item.home{text-align:left}mat-icon{color:inherit}mat-icon.flip-horizontal{transform:scaleX(-1)}"]
8635
8514
  },] }
8636
8515
  ];
@@ -8652,7 +8531,7 @@
8652
8531
  TabbedPlaceNavigationComponent.decorators = [
8653
8532
  { type: i0.Component, args: [{
8654
8533
  selector: 'aup-tabbed-place-navigation',
8655
- template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n [pectinCommand]=\"commandFactory.create(item.place)\"\n [active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n</nav>\n",
8534
+ template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNavigationFace(placeDefinition).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(placeDefinition)]\"></aup-command-face>\n </a>\n</nav>\n",
8656
8535
  styles: [""]
8657
8536
  },] }
8658
8537
  ];
@@ -9331,8 +9210,6 @@
9331
9210
  exports.FocusContainerComponent = FocusContainerComponent;
9332
9211
  exports.FocusableComponent = FocusableComponent;
9333
9212
  exports.HEADER_CELL_RENDERER_PORTAL = HEADER_CELL_RENDERER_PORTAL;
9334
- exports.HighlightPipe = HighlightPipe;
9335
- exports.HighlightTextModelDirective = HighlightTextModelDirective;
9336
9213
  exports.InPlaceInteractionContextComponent = InPlaceInteractionContextComponent;
9337
9214
  exports.InteractionContextTriggerFor = InteractionContextTriggerFor;
9338
9215
  exports.InteractionModule = InteractionModule;