@coolon/angular-ui-powerups 1.19.1 → 1.21.0

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 (74) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js +150 -84
  3. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -2
  5. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  6. package/coolon-angular-ui-powerups.d.ts +35 -34
  7. package/coolon-angular-ui-powerups.metadata.json +1 -1
  8. package/esm2015/coolon-angular-ui-powerups.js +33 -32
  9. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  10. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
  11. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  12. package/esm2015/lib/components/components.module.js +8 -3
  13. package/esm2015/lib/components/components.module.js.map +1 -1
  14. package/esm2015/lib/components/components.module.metadata.json +1 -1
  15. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  16. package/esm2015/lib/components/icon/icon.component.js +21 -23
  17. package/esm2015/lib/components/icon/icon.component.js.map +1 -1
  18. package/esm2015/lib/components/icon/icon.component.metadata.json +1 -1
  19. package/esm2015/lib/components/index.js +1 -0
  20. package/esm2015/lib/components/index.js.map +1 -1
  21. package/esm2015/lib/components/index.metadata.json +1 -1
  22. package/esm2015/lib/components/section-header/section-header.component.js +24 -0
  23. package/esm2015/lib/components/section-header/section-header.component.js.map +1 -0
  24. package/esm2015/lib/components/section-header/section-header.component.metadata.json +1 -0
  25. package/esm2015/lib/components/section-header/section-header.component.ngfactory.js.map +1 -0
  26. package/esm2015/lib/components/section-header/section-header.component.scss.shim.ngstyle.js.map +1 -0
  27. package/esm2015/lib/components/table/table-model.js +20 -0
  28. package/esm2015/lib/components/table/table-model.js.map +1 -1
  29. package/esm2015/lib/components/table/table-model.metadata.json +1 -1
  30. package/esm2015/lib/components/table/table.component.js +1 -1
  31. package/esm2015/lib/components/table/table.component.js.map +1 -1
  32. package/esm2015/lib/components/table/table.component.metadata.json +1 -1
  33. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js +16 -2
  34. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js.map +1 -1
  35. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.metadata.json +1 -1
  36. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  37. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +1 -1
  38. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -1
  39. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.metadata.json +1 -1
  40. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  41. package/esm5/coolon-angular-ui-powerups.js +33 -32
  42. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  43. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  44. package/esm5/lib/components/components.module.js +8 -3
  45. package/esm5/lib/components/components.module.js.map +1 -1
  46. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  47. package/esm5/lib/components/icon/icon.component.js +30 -27
  48. package/esm5/lib/components/icon/icon.component.js.map +1 -1
  49. package/esm5/lib/components/index.js +1 -0
  50. package/esm5/lib/components/index.js.map +1 -1
  51. package/esm5/lib/components/section-header/section-header.component.js +25 -0
  52. package/esm5/lib/components/section-header/section-header.component.js.map +1 -0
  53. package/esm5/lib/components/section-header/section-header.component.ngfactory.js.map +1 -0
  54. package/esm5/lib/components/section-header/section-header.component.scss.shim.ngstyle.js.map +1 -0
  55. package/esm5/lib/components/table/table-model.js +22 -0
  56. package/esm5/lib/components/table/table-model.js.map +1 -1
  57. package/esm5/lib/components/table/table.component.js +1 -1
  58. package/esm5/lib/components/table/table.component.js.map +1 -1
  59. package/esm5/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js +16 -2
  60. package/esm5/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js.map +1 -1
  61. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  62. package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.js +1 -1
  63. package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -1
  64. package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
  65. package/fesm2015/coolon-angular-ui-powerups.js +88 -32
  66. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  67. package/fesm5/coolon-angular-ui-powerups.js +100 -36
  68. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  69. package/lib/components/icon/icon.component.d.ts +6 -7
  70. package/lib/components/index.d.ts +1 -0
  71. package/lib/components/section-header/section-header.component.d.ts +6 -0
  72. package/lib/components/table/table-model.d.ts +3 -0
  73. package/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.d.ts +10 -0
  74. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [1.21.0](https://bitbucket.org/coolon/angular-ui-powerups/compare/v1.20.0...v1.21.0) (2020-06-30)
6
+
7
+
8
+ ### Features
9
+
10
+ * added row class specifiers to table model ([1ab39cf](https://bitbucket.org/coolon/angular-ui-powerups/commit/1ab39cf3375114659beaf3dada5a3b479f03867e))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * fixed icon failing to update when icon type changed ([24d3e87](https://bitbucket.org/coolon/angular-ui-powerups/commit/24d3e875768db3609e41fcc842c1219961e0a7bf))
16
+
17
+ ## [1.20.0](https://bitbucket.org/coolon/angular-ui-powerups/compare/v1.19.1...v1.20.0) (2020-06-26)
18
+
19
+
20
+ ### Features
21
+
22
+ * adde more styling options to aup-add-item-interaction-context ([d1253f5](https://bitbucket.org/coolon/angular-ui-powerups/commit/d1253f566659a2603c21093fa84e581e2bd3b62b))
23
+ * added section-header component ([ec2ca50](https://bitbucket.org/coolon/angular-ui-powerups/commit/ec2ca50818b22f5b19985a5ce0a53ca932d046ed))
24
+
5
25
  ### [1.19.1](https://bitbucket.org/coolon/angular-ui-powerups/compare/v1.19.0...v1.19.1) (2020-06-25)
6
26
 
7
27
 
@@ -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/button'), require('@angular/material/checkbox'), require('@angular/material/icon'), require('@angular/material/table'), require('@coolon/pectin'), require('@coolon/typescript-utilities'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('lodash'), require('immer'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/free-solid-svg-icons'), require('@angular/flex-layout'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/cdk/overlay'), require('resize-observer-polyfill'), require('@angular/material/progress-spinner'), require('@angular/material/list'), require('@angular/material/tooltip'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations'), require('rxjs')) :
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/button', '@angular/material/checkbox', '@angular/material/icon', '@angular/material/table', '@coolon/pectin', '@coolon/typescript-utilities', '@typescript-plus/fast-memoize-decorator/dist/src', 'lodash', 'immer', '@fortawesome/angular-fontawesome', '@fortawesome/free-solid-svg-icons', '@angular/flex-layout', '@angular/material/dialog', '@angular/router', '@angular/cdk/overlay', 'resize-observer-polyfill', '@angular/material/progress-spinner', '@angular/material/list', '@angular/material/tooltip', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations', 'rxjs'], factory) :
4
- (global = 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.button, global.ng.material.checkbox, global.ng.material.icon, global.ng.material.table, global.pectin, global.typescriptUtilities, global.src, global.___default, global.produce, global.angularFontawesome, global.freeSolidSvgIcons, global.ng.flexLayout, global.ng.material.dialog, global.ng.router, global.ng.cdk.overlay, global.ResizeObserver, global.ng.material.progressSpinner, global.ng.material.list, global.ng.material.tooltip, global.fastMemoizeDecorator, null, global.ng.animations, global.rxjs));
5
- }(this, (function (exports, common, core, forms, formField, input, select, tabs, animations, portal, scrolling, button, checkbox, icon, table, pectin, typescriptUtilities, src, ___default, produce, angularFontawesome, freeSolidSvgIcons, flexLayout, dialog, router, overlay, ResizeObserver, progressSpinner, list, tooltip, fastMemoizeDecorator, reflectMetadata, animations$1, rxjs) { '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/button'), require('@angular/material/checkbox'), require('@angular/material/icon'), require('@angular/material/table'), require('@coolon/pectin'), require('@coolon/typescript-utilities'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('lodash'), require('immer'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/free-solid-svg-icons'), require('@angular/material/tooltip'), require('@angular/flex-layout'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/cdk/overlay'), require('resize-observer-polyfill'), require('@angular/material/progress-spinner'), require('@angular/material/list'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations'), require('rxjs')) :
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/button', '@angular/material/checkbox', '@angular/material/icon', '@angular/material/table', '@coolon/pectin', '@coolon/typescript-utilities', '@typescript-plus/fast-memoize-decorator/dist/src', 'lodash', 'immer', '@fortawesome/angular-fontawesome', '@fortawesome/free-solid-svg-icons', '@angular/material/tooltip', '@angular/flex-layout', '@angular/material/dialog', '@angular/router', '@angular/cdk/overlay', 'resize-observer-polyfill', '@angular/material/progress-spinner', '@angular/material/list', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations', 'rxjs'], factory) :
4
+ (global = 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.button, global.ng.material.checkbox, global.ng.material.icon, global.ng.material.table, global.pectin, global.typescriptUtilities, global.src, global.___default, global.produce, global.angularFontawesome, global.freeSolidSvgIcons, global.ng.material.tooltip, global.ng.flexLayout, global.ng.material.dialog, global.ng.router, global.ng.cdk.overlay, global.ResizeObserver, global.ng.material.progressSpinner, global.ng.material.list, global.fastMemoizeDecorator, null, global.ng.animations, global.rxjs));
5
+ }(this, (function (exports, common, core, forms, formField, input, select, tabs, animations, portal, scrolling, button, checkbox, icon, table, pectin, typescriptUtilities, src, ___default, produce, angularFontawesome, freeSolidSvgIcons, tooltip, flexLayout, dialog, router, overlay, ResizeObserver, progressSpinner, list, fastMemoizeDecorator, reflectMetadata, animations$1, rxjs) { 'use strict';
6
6
 
7
7
  var ___default__default = 'default' in ___default ? ___default['default'] : ___default;
8
8
  produce = produce && Object.prototype.hasOwnProperty.call(produce, 'default') ? produce['default'] : produce;
@@ -1139,6 +1139,28 @@
1139
1139
  return ScrollContainerComponent;
1140
1140
  }());
1141
1141
 
1142
+ var SectionHeaderComponent = /** @class */ (function () {
1143
+ function SectionHeaderComponent() {
1144
+ this.underline = false;
1145
+ }
1146
+ SectionHeaderComponent.prototype.ngOnInit = function () {
1147
+ };
1148
+ __decorate([
1149
+ core.Input(),
1150
+ core.HostBinding('class.underline'),
1151
+ __metadata("design:type", Object)
1152
+ ], SectionHeaderComponent.prototype, "underline", void 0);
1153
+ SectionHeaderComponent = __decorate([
1154
+ core.Component({
1155
+ selector: 'aup-section-header',
1156
+ template: "<ng-content></ng-content>\n",
1157
+ styles: [":host{--def-border-bottom-color:var(--border-bottom-color, rgba(0, 0, 0, 0.07));display:block;padding:8px 16px;font-size:12px;line-height:12px;color:rgba(0,0,0,.5)}:host.underline{border-bottom:1px solid var(--def-border-bottom-color)}"]
1158
+ }),
1159
+ __metadata("design:paramtypes", [])
1160
+ ], SectionHeaderComponent);
1161
+ return SectionHeaderComponent;
1162
+ }());
1163
+
1142
1164
  var SwitchCaseOption = /** @class */ (function () {
1143
1165
  function SwitchCaseOption(templateRef) {
1144
1166
  this.templateRef = templateRef;
@@ -1829,6 +1851,13 @@
1829
1851
 
1830
1852
  // export type StringPropertiesOf<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];
1831
1853
  // export type NumberPropertiesOf<T> = { [K in keyof T]: T[K] extends number ? K : never }[keyof T];
1854
+ var RowClass = /** @class */ (function () {
1855
+ function RowClass(className, matches) {
1856
+ this.className = className;
1857
+ this.matches = matches;
1858
+ }
1859
+ return RowClass;
1860
+ }());
1832
1861
  /**
1833
1862
  * Example:
1834
1863
  * @example
@@ -1901,10 +1930,12 @@
1901
1930
  */
1902
1931
  var TableModel = /** @class */ (function () {
1903
1932
  function TableModel(sourceOfTruth) {
1933
+ var _this = this;
1904
1934
  this.sourceOfTruth = sourceOfTruth;
1905
1935
  this._garbage = new pectin.GarbageCollector();
1906
1936
  this._columns = new pectin.MutableListModel();
1907
1937
  this._editorSessions = new pectin.MutableListModel();
1938
+ this.rowClassNamePredicates = [];
1908
1939
  this._createForm = function (row) { return new pectin.Form(); };
1909
1940
  this.identityOf = sourceOfTruth.identityOf;
1910
1941
  var _a = pectin.Dsl.disposeWith(this._garbage), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
@@ -1917,6 +1948,7 @@
1917
1948
  this.dataSource = chain(this.sourceOfTruth).replaceAll(this.rowsBeingEdited);
1918
1949
  this.firstEditableColumn = chain(this.columns).select(function (c) { return c.hasEditorPortal(); }).first();
1919
1950
  this.hasColumnsWithRowSelectionExplicitlyEnabled = chain(this._columns).findIndex(function (column) { return column.isRowSelectionExplicitlyEnabled(); }).isGreaterThanOrEqualTo(0);
1951
+ this.addRowClass("enable-hover", function () { return _this.isRowSelectionEnabled(); });
1920
1952
  }
1921
1953
  TableModel_1 = TableModel;
1922
1954
  TableModel.fromList = function (sourceOfTruth, builder) {
@@ -1965,6 +1997,18 @@
1965
1997
  TableModel.prototype.addTemplateColumn = function (columnId) {
1966
1998
  return this.addColumn(new CustomTemplateColumnModel(columnId, this));
1967
1999
  };
2000
+ TableModel.prototype.addRowClass = function (className, predicate) {
2001
+ this.rowClassNamePredicates.push(new RowClass(className, predicate));
2002
+ };
2003
+ TableModel.prototype.getRowClasses = function (row) {
2004
+ var classNames = [];
2005
+ this.rowClassNamePredicates.forEach(function (i) {
2006
+ if (i.matches(row)) {
2007
+ classNames.push(i.className);
2008
+ }
2009
+ });
2010
+ return classNames;
2011
+ };
1968
2012
  TableModel.prototype.useFormFactory = function (factory) {
1969
2013
  this._createForm = factory;
1970
2014
  return this;
@@ -2101,7 +2145,7 @@
2101
2145
  TableComponent = __decorate([
2102
2146
  core.Component({
2103
2147
  selector: 'aup-table',
2104
- template: "<table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.getTrackByFunction()\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\" matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef>\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"onCellClicked(column, row)\" [class.enable-cursor]=\"tableModel.isRowSelectionEnabledFor(column)\">\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\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;\" [class.enable-hover]=\"tableModel.isRowSelectionEnabled()\"></tr>\n\n</table>\n",
2148
+ template: "<table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.getTrackByFunction()\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\" matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef>\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"onCellClicked(column, row)\" [class.enable-cursor]=\"tableModel.isRowSelectionEnabledFor(column)\">\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\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;\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n ></tr>\n\n</table>\n",
2105
2149
  styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{flex:1}"]
2106
2150
  }),
2107
2151
  __metadata("design:paramtypes", [])
@@ -2424,38 +2468,41 @@
2424
2468
  var IconComponent = /** @class */ (function () {
2425
2469
  function IconComponent() {
2426
2470
  }
2427
- IconComponent.prototype.ligature = function () {
2428
- if (this.icon.startsWith('mat:')) {
2429
- return this.icon.slice(4);
2430
- }
2431
- if (!this.icon.includes(":")) {
2432
- return this.icon;
2433
- }
2434
- };
2435
- IconComponent.prototype.svgIcon = function () {
2436
- if (this.icon.startsWith('svg:')) {
2437
- return this.icon.slice(4);
2438
- }
2439
- };
2440
- IconComponent.prototype.isFontAwesome = function () {
2441
- return this.icon.startsWith('fab:');
2442
- };
2443
- IconComponent.prototype.fontAwesomeIcon = function () {
2444
- if (this.isFontAwesome()) {
2445
- return this.icon.slice(4);
2446
- }
2447
- };
2471
+ Object.defineProperty(IconComponent.prototype, "icon", {
2472
+ get: function () {
2473
+ return this._icon;
2474
+ },
2475
+ set: function (iconName) {
2476
+ this._icon = iconName;
2477
+ if (!iconName) {
2478
+ this.errorMessage = 'icon is nil';
2479
+ this.prefix = undefined;
2480
+ return;
2481
+ }
2482
+ var colonIndex = iconName.indexOf(':');
2483
+ if (colonIndex > 0) {
2484
+ this.prefix = this.icon.slice(0, colonIndex);
2485
+ this.suffix = this.icon.slice(colonIndex + 1);
2486
+ }
2487
+ if (this.prefix) {
2488
+ this.errorMessage = "Unknown icon \"" + iconName + "\"";
2489
+ }
2490
+ this.errorMessage = "Unknown icon prefix \"" + this.prefix + "\"";
2491
+ },
2492
+ enumerable: true,
2493
+ configurable: true
2494
+ });
2448
2495
  __decorate([
2449
2496
  core.Input(),
2450
- __metadata("design:type", String)
2451
- ], IconComponent.prototype, "icon", void 0);
2497
+ __metadata("design:type", String),
2498
+ __metadata("design:paramtypes", [String])
2499
+ ], IconComponent.prototype, "icon", null);
2452
2500
  IconComponent = __decorate([
2453
2501
  core.Component({
2454
2502
  selector: 'aup-icon',
2455
- template: "<mat-icon *ngIf=\"!isFontAwesome()\"\n [svgIcon]=\"svgIcon()\">\n {{ligature()}}\n</mat-icon>\n<fa-icon *ngIf=\"isFontAwesome()\"\n [icon]=\"fontAwesomeIcon()\">\n</fa-icon>\n\n",
2456
- styles: [":host{display:inline-flex;width:24px}fa-icon{width:100%;text-align:center}:host(.mat-chip-remove) mat-icon{font-size:18px}mat-icon{width:inherit;height:inherit}"]
2457
- }),
2458
- __metadata("design:paramtypes", [])
2503
+ template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"'svg'\"\n [svgIcon]=\"suffix\"\n class=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngSwitchCase=\"'mat'\">\n {{suffix}}\n </mat-icon>\n\n <div *ngSwitchCase=\"'fab'\"\n class=\"faIconWrapper\">\n <fa-icon [icon]=\"suffix\">\n </fa-icon>\n </div>\n\n <mat-icon *ngSwitchDefault\n [matTooltip]=\"errorMessage\">\n bug_report\n </mat-icon>\n\n</ng-container>\n\n",
2504
+ styles: [":host{display:inline-flex;width:24px}fa-icon{vertical-align:middle}.faIconWrapper{text-align:center;width:24px;height:24px}.svgIcon{width:24px;height:24px}:host(.mat-chip-remove) mat-icon{font-size:18px}mat-icon{width:inherit;height:inherit}"]
2505
+ })
2459
2506
  ], IconComponent);
2460
2507
  return IconComponent;
2461
2508
  }());
@@ -2498,7 +2545,8 @@
2498
2545
  DefaultHeaderCellRendererComponent,
2499
2546
  TableHeaderCellRendererComponent,
2500
2547
  MultipleSelectInputComponent,
2501
- IconComponent
2548
+ IconComponent,
2549
+ SectionHeaderComponent
2502
2550
  ],
2503
2551
  imports: [
2504
2552
  common.CommonModule,
@@ -2515,7 +2563,8 @@
2515
2563
  table.MatTableModule,
2516
2564
  portal.PortalModule,
2517
2565
  scrolling.CdkScrollableModule,
2518
- angularFontawesome.FontAwesomeModule
2566
+ angularFontawesome.FontAwesomeModule,
2567
+ tooltip.MatTooltipModule
2519
2568
  ],
2520
2569
  exports: [
2521
2570
  NumberInputComponent,
@@ -2537,7 +2586,8 @@
2537
2586
  EditRowControls,
2538
2587
  ColumnTemplateDirective,
2539
2588
  MultipleSelectInputComponent,
2540
- IconComponent
2589
+ IconComponent,
2590
+ SectionHeaderComponent
2541
2591
  ],
2542
2592
  providers: [
2543
2593
  FocusBindingFactory,
@@ -3181,7 +3231,7 @@
3181
3231
  }());
3182
3232
 
3183
3233
  var inplaceMonitorCount = 0;
3184
- exports.ɵbu = /** @class */ (function () {
3234
+ exports.ɵbv = /** @class */ (function () {
3185
3235
  function InteractionService(modelInteractionContextFactory) {
3186
3236
  this.modelInteractionContextFactory = modelInteractionContextFactory;
3187
3237
  this.garbage = new pectin.GarbageCollector();
@@ -3326,7 +3376,7 @@
3326
3376
  return ApiAdapter;
3327
3377
  }());
3328
3378
  InteractionService.ApiAdapter = ApiAdapter;
3329
- })(exports.ɵbu || (exports.ɵbu = {}));
3379
+ })(exports.ɵbv || (exports.ɵbv = {}));
3330
3380
 
3331
3381
  var InPlaceInteractionContextComponent = /** @class */ (function (_super) {
3332
3382
  __extends(InPlaceInteractionContextComponent, _super);
@@ -3384,7 +3434,7 @@
3384
3434
  return this.activityContainerComponent.startActivity(activityType, data, options);
3385
3435
  };
3386
3436
  InPlaceInteractionContextComponent.ctorParameters = function () { return [
3387
- { type: exports.ɵbu },
3437
+ { type: exports.ɵbv },
3388
3438
  { type: undefined, decorators: [{ type: core.Inject, args: [tabs.MAT_TABS_CONFIG,] }, { type: core.Optional }] }
3389
3439
  ]; };
3390
3440
  __decorate([
@@ -3402,15 +3452,25 @@
3402
3452
  styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]
3403
3453
  }),
3404
3454
  __param(1, core.Inject(tabs.MAT_TABS_CONFIG)), __param(1, core.Optional()),
3405
- __metadata("design:paramtypes", [exports.ɵbu, Object])
3455
+ __metadata("design:paramtypes", [exports.ɵbv, Object])
3406
3456
  ], InPlaceInteractionContextComponent);
3407
3457
  return InPlaceInteractionContextComponent;
3408
3458
  }(DisposableComponent));
3409
3459
 
3460
+ /**
3461
+ * Css Vars.
3462
+ * --link-color
3463
+ * --link-color-hover
3464
+ * --link-background
3465
+ * --link-background-hover
3466
+ * --link-border-radius
3467
+ * --link-padding
3468
+ */
3410
3469
  var AddItemInteractionContextComponent = /** @class */ (function (_super) {
3411
3470
  __extends(AddItemInteractionContextComponent, _super);
3412
3471
  function AddItemInteractionContextComponent() {
3413
3472
  var _this = _super.call(this) || this;
3473
+ _this.icon = "mat:add";
3414
3474
  _this.tabindex = 0;
3415
3475
  _this.clickCommand = pectin.Command.create(function (context) {
3416
3476
  if (_this.activityClass) {
@@ -3440,6 +3500,10 @@
3440
3500
  core.Input(),
3441
3501
  __metadata("design:type", String)
3442
3502
  ], AddItemInteractionContextComponent.prototype, "label", void 0);
3503
+ __decorate([
3504
+ core.Input(),
3505
+ __metadata("design:type", Object)
3506
+ ], AddItemInteractionContextComponent.prototype, "icon", void 0);
3443
3507
  __decorate([
3444
3508
  core.Input(),
3445
3509
  __metadata("design:type", Object)
@@ -3469,8 +3533,8 @@
3469
3533
  AddItemInteractionContextComponent = __decorate([
3470
3534
  core.Component({
3471
3535
  selector: 'aup-add-item-interaction-context',
3472
- template: "<aup-in-place-interaction-context #interactionContext [animateFirstActivity]=\"false\">\n <a part=\"link\" class=\"link\" [pectinCommand]=\"clickCommand\"><aup-icon icon=\"mat:add\"></aup-icon> {{label}}</a>\n</aup-in-place-interaction-context>\n",
3473
- styles: [":host{--def-link-color:var(--link-color, currentColor);--def-link-backgound:var(--link-background, rgba(0, 0, 0, 0.05));--def-link-border-radius:var(--link-border-radius, 4px);--def-link-padding:var(--link-padding, calc(var(--aup-default-padding) / 2));display:flex;flex-direction:column;border-radius:var(--def-link-border-radius);box-sizing:border-box;outline:0}:host:hover{--link-background:rgba(0,0,0,0.1)}aup-in-place-interaction-context{border-radius:var(--def-link-border-radius)}a.link{display:flex;flex-direction:row;align-items:center;border-radius:var(--def-link-border-radius);color:var(--def-link-color);background:var(--def-link-backgound);padding:var(--def-link-padding);cursor:pointer;text-decoration:none}a.link mat-icon{margin-right:8px}"]
3536
+ template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\">\n <a part=\"link\" class=\"link\" [pectinCommand]=\"clickCommand\"><aup-icon [icon]=\"icon\"></aup-icon> {{label}}</a>\n</aup-in-place-interaction-context>\n",
3537
+ styles: [":host{--def-link-color:var(--link-color, currentColor);--def-link-color-hover:var(--link-color-hover, currentColor);--def-link-background:var(--link-background, transparent);--def-link-background-hover:var(--link-background-hover, rgba(0, 0, 0, 0.05));--def-link-border-radius:var(--link-border-radius, 4px);--def-link-padding:var(--link-padding, calc(var(--aup-default-padding) / 2));display:flex;flex-direction:column;border-radius:var(--def-link-border-radius);box-sizing:border-box;outline:0}:host:hover a.link{color:var(--def-link-color-hover);background-color:var(--def-link-background-hover)}aup-in-place-interaction-context{border-radius:var(--def-link-border-radius)}a.link{display:flex;flex-direction:row;align-items:center;border-radius:var(--def-link-border-radius);color:var(--def-link-color);background:var(--def-link-background);padding:var(--def-link-padding);cursor:pointer;text-decoration:none}a.link mat-icon{margin-right:8px}"]
3474
3538
  }),
3475
3539
  __metadata("design:paramtypes", [])
3476
3540
  ], AddItemInteractionContextComponent);
@@ -3927,7 +3991,7 @@
3927
3991
  AlertDialogComponent
3928
3992
  ],
3929
3993
  providers: [
3930
- exports.ɵbu
3994
+ exports.ɵbv
3931
3995
  // {
3932
3996
  // provide: MAT_TABS_CONFIG, useValue: { animationDuration: "2s" }
3933
3997
  // }
@@ -5049,7 +5113,7 @@
5049
5113
  return PopStateNavigation;
5050
5114
  }(AbstractPopStateNavigation));
5051
5115
 
5052
- exports.ɵbx = /** @class */ (function () {
5116
+ exports.ɵby = /** @class */ (function () {
5053
5117
  function PlaceHistory() {
5054
5118
  this._archive = new Map();
5055
5119
  this.placeHistoryDepth = 4;
@@ -5186,7 +5250,7 @@
5186
5250
  // }
5187
5251
  //
5188
5252
  // }
5189
- })(exports.ɵbx || (exports.ɵbx = {}));
5253
+ })(exports.ɵby || (exports.ɵby = {}));
5190
5254
 
5191
5255
  exports.UrlSnapshot = /** @class */ (function () {
5192
5256
  // TODO: Update this accept a url Parser so it can be immutable and generate new trees on mutation using toString() are parseUrl.
@@ -5709,11 +5773,11 @@
5709
5773
  PlaceRouter.ctorParameters = function () { return [
5710
5774
  { type: router.Router },
5711
5775
  { type: common.Location },
5712
- { type: exports.ɵbu },
5776
+ { type: exports.ɵbv },
5713
5777
  { type: UrlService },
5714
- { type: exports.ɵbx }
5778
+ { type: exports.ɵby }
5715
5779
  ]; };
5716
- PlaceRouter.ɵprov = core.ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(core.ɵɵinject(router.Router), core.ɵɵinject(common.Location), core.ɵɵinject(exports.ɵbu), core.ɵɵinject(UrlService), core.ɵɵinject(exports.ɵbx)); }, token: PlaceRouter, providedIn: "root" });
5780
+ PlaceRouter.ɵprov = core.ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(core.ɵɵinject(router.Router), core.ɵɵinject(common.Location), core.ɵɵinject(exports.ɵbv), core.ɵɵinject(UrlService), core.ɵɵinject(exports.ɵby)); }, token: PlaceRouter, providedIn: "root" });
5717
5781
  __decorate([
5718
5782
  pectin.Trace(),
5719
5783
  __metadata("design:type", Function),
@@ -5726,9 +5790,9 @@
5726
5790
  }),
5727
5791
  __metadata("design:paramtypes", [router.Router,
5728
5792
  common.Location,
5729
- exports.ɵbu,
5793
+ exports.ɵbv,
5730
5794
  UrlService,
5731
- exports.ɵbx])
5795
+ exports.ɵby])
5732
5796
  ], PlaceRouter);
5733
5797
  return PlaceRouter;
5734
5798
  }(pectin.GarbageCollector));
@@ -6193,7 +6257,7 @@
6193
6257
  SidePlaceNavigationComponent = __decorate([
6194
6258
  core.Component({
6195
6259
  selector: 'aup-side-place-navigation',
6196
- template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNav(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNav(placeDefinition).icon()\" [icon]=\"getNav(placeDefinition).icon()\"></aup-icon>\n <span\n class=\"expanded-only\">{{getNav(placeDefinition).title()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n",
6260
+ template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"mat:menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"mat:arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNav(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNav(placeDefinition).icon()\" [icon]=\"getNav(placeDefinition).icon()\"></aup-icon>\n <span\n class=\"expanded-only\">{{getNav(placeDefinition).title()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n",
6197
6261
  styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width:var(--nav-width, 56px);--resolved-nav-item-height:var(--nav-item-height, var(--resolved-nav-item-width));--resolved-expanded-width:var(--nav-expanded-width, 235px);--resolved-color:var(--nav-color, rgba(255, 255, 255, 0.9));--resolved-background-color:var(--nav-background-color, #555);width:var(--resolved-nav-item-width);transition:width 125ms linear;background-color:var(--resolved-background-color);color:var(--resolved-color)}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host-context(.expanded) .expanded-only{max-width:100%}:host-context(.expanded) .collapsed-only{max-width:0}:host-context(.expanded) .mat-list-item aup-icon:not(.collapsed-only){margin-right:12px}:host-context(.expanded) .mat-list-item span{text-wrap:none;white-space:nowrap}.expanded-only{max-width:0;overflow:hidden}.collapsed-only{max-width:100%;overflow:hidden}mat-nav-list{flex:1;display:flex;flex-direction:column}.mat-list-item{width:var(--resolved-nav-item-width);height:var(--resolved-nav-item-height);color:inherit}.mat-list-item.active{background-color:#444}.mat-list-item.home{text-align:left}mat-icon{color:inherit}mat-icon.flip-horizontal{transform:scaleX(-1)}"]
6198
6262
  }),
6199
6263
  __metadata("design:paramtypes", [router.Router, PlaceRouter])
@@ -6862,7 +6926,7 @@
6862
6926
  exports.InPlaceInteractionContextComponent = InPlaceInteractionContextComponent;
6863
6927
  exports.InteractionContextTriggerFor = InteractionContextTriggerFor;
6864
6928
  exports.InteractionModule = InteractionModule;
6865
- exports.InteractionService = exports.ɵbu;
6929
+ exports.InteractionService = exports.ɵbv;
6866
6930
  exports.InteractionServiceRoutingAdapter = InteractionServiceRoutingAdapter;
6867
6931
  exports.LEFT_RIGHT_PLACE_ANIMATION = LEFT_RIGHT_PLACE_ANIMATION;
6868
6932
  exports.ListPlaceNavComponent = ListPlaceNavComponent;
@@ -6882,7 +6946,7 @@
6882
6946
  exports.PlaceComponentDeactivationHandler = PlaceComponentDeactivationHandler;
6883
6947
  exports.PlaceDefinition = PlaceDefinition;
6884
6948
  exports.PlaceGuard = PlaceGuard;
6885
- exports.PlaceHistory = exports.ɵbx;
6949
+ exports.PlaceHistory = exports.ɵby;
6886
6950
  exports.PlaceModule = PlaceModule;
6887
6951
  exports.PlaceOutletComponent = PlaceOutletComponent;
6888
6952
  exports.PlaceRouter = PlaceRouter;
@@ -6896,6 +6960,7 @@
6896
6960
  exports.ResizeAwareComponent = ResizeAwareComponent;
6897
6961
  exports.RouteId = RouteId;
6898
6962
  exports.ScrollContainerComponent = ScrollContainerComponent;
6963
+ exports.SectionHeaderComponent = SectionHeaderComponent;
6899
6964
  exports.SelectCellRendererComponent = SelectCellRendererComponent;
6900
6965
  exports.SelectHeaderCellRendererComponent = SelectHeaderCellRendererComponent;
6901
6966
  exports.SelectInputActivity = SelectInputActivity;
@@ -6941,39 +7006,40 @@
6941
7006
  exports.ɵbh = TableHeaderCellRendererComponent;
6942
7007
  exports.ɵbi = MultipleSelectInputComponent;
6943
7008
  exports.ɵbj = IconComponent;
6944
- exports.ɵbk = PlaceModule;
6945
- exports.ɵbl = ComponentsModule;
6946
- exports.ɵbm = EmptyStateComponent;
6947
- exports.ɵbn = BusyOverlayComponent;
6948
- exports.ɵbo = PlaceOutletComponent;
6949
- exports.ɵbp = leftRightPlaceAnimation;
6950
- exports.ɵbq = LEFT_RIGHT_PLACE_ANIMATION;
6951
- exports.ɵbr = AUP_PLACE_CONFIG;
6952
- exports.ɵbt = PlaceRouter;
6953
- exports.ɵbv = ModalInteractionContextFactory;
6954
- exports.ɵbw = UrlService;
6955
- exports.ɵby = TabbedPlaceNavigationComponent;
6956
- exports.ɵbz = AbstractPlaceNavigationComponent;
7009
+ exports.ɵbk = SectionHeaderComponent;
7010
+ exports.ɵbl = PlaceModule;
7011
+ exports.ɵbm = ComponentsModule;
7012
+ exports.ɵbn = EmptyStateComponent;
7013
+ exports.ɵbo = BusyOverlayComponent;
7014
+ exports.ɵbp = PlaceOutletComponent;
7015
+ exports.ɵbq = leftRightPlaceAnimation;
7016
+ exports.ɵbr = LEFT_RIGHT_PLACE_ANIMATION;
7017
+ exports.ɵbs = AUP_PLACE_CONFIG;
7018
+ exports.ɵbu = PlaceRouter;
7019
+ exports.ɵbw = ModalInteractionContextFactory;
7020
+ exports.ɵbx = UrlService;
7021
+ exports.ɵbz = TabbedPlaceNavigationComponent;
6957
7022
  exports.ɵc = FocusBindingDirective;
6958
- exports.ɵca = ListPlaceNavComponent;
6959
- exports.ɵcb = SidePlaceNavigationComponent;
6960
- exports.ɵcc = InteractionModule;
6961
- exports.ɵcd = ActivityContainerComponent;
6962
- exports.ɵce = AbstractInteractionContext;
6963
- exports.ɵcf = ActivityOutletComponent;
6964
- exports.ɵcg = ConfirmationDialogComponent;
6965
- exports.ɵch = ACTIVITY_DATA;
6966
- exports.ɵci = Activity;
6967
- exports.ɵck = ConfirmThenDialogComponent;
6968
- exports.ɵcl = AlertDialogComponent;
6969
- exports.ɵcn = InPlaceInteractionContextComponent;
6970
- exports.ɵco = AddItemInteractionContextComponent;
6971
- exports.ɵcp = ActivityActionsComponent;
6972
- exports.ɵcq = PopupInteractionContextComponent;
6973
- exports.ɵcr = StringInputActivity;
6974
- exports.ɵcs = AbstractInputActivity;
6975
- exports.ɵct = SelectInputActivity;
6976
- exports.ɵcu = InteractionContextTriggerFor;
7023
+ exports.ɵca = AbstractPlaceNavigationComponent;
7024
+ exports.ɵcb = ListPlaceNavComponent;
7025
+ exports.ɵcc = SidePlaceNavigationComponent;
7026
+ exports.ɵcd = InteractionModule;
7027
+ exports.ɵce = ActivityContainerComponent;
7028
+ exports.ɵcf = AbstractInteractionContext;
7029
+ exports.ɵcg = ActivityOutletComponent;
7030
+ exports.ɵch = ConfirmationDialogComponent;
7031
+ exports.ɵci = ACTIVITY_DATA;
7032
+ exports.ɵcj = Activity;
7033
+ exports.ɵcl = ConfirmThenDialogComponent;
7034
+ exports.ɵcm = AlertDialogComponent;
7035
+ exports.ɵco = InPlaceInteractionContextComponent;
7036
+ exports.ɵcp = AddItemInteractionContextComponent;
7037
+ exports.ɵcq = ActivityActionsComponent;
7038
+ exports.ɵcr = PopupInteractionContextComponent;
7039
+ exports.ɵcs = StringInputActivity;
7040
+ exports.ɵct = AbstractInputActivity;
7041
+ exports.ɵcu = SelectInputActivity;
7042
+ exports.ɵcv = InteractionContextTriggerFor;
6977
7043
  exports.ɵd = DisposableComponent;
6978
7044
  exports.ɵe = FocusBindingFactory;
6979
7045
  exports.ɵf = ComponentsModule;