@coolon/angular-ui-powerups 1.4.2 → 1.5.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 (79) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/assets/styles.scss +32 -0
  3. package/bundles/coolon-angular-ui-powerups.umd.js +176 -47
  4. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  5. package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -2
  6. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  7. package/coolon-angular-ui-powerups.d.ts +27 -25
  8. package/coolon-angular-ui-powerups.metadata.json +1 -1
  9. package/esm2015/coolon-angular-ui-powerups.js +25 -23
  10. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  11. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
  12. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  13. package/esm2015/lib/components/card-container/card-container.component.js +43 -0
  14. package/esm2015/lib/components/card-container/card-container.component.js.map +1 -0
  15. package/esm2015/lib/components/card-container/card-container.component.metadata.json +1 -0
  16. package/esm2015/lib/components/card-container/card-container.component.ngfactory.js.map +1 -0
  17. package/esm2015/lib/components/card-container/card-container.component.scss.shim.ngstyle.js.map +1 -0
  18. package/esm2015/lib/components/components.module.js +5 -2
  19. package/esm2015/lib/components/components.module.js.map +1 -1
  20. package/esm2015/lib/components/components.module.metadata.json +1 -1
  21. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  22. package/esm2015/lib/components/index.js +1 -0
  23. package/esm2015/lib/components/index.js.map +1 -1
  24. package/esm2015/lib/components/index.metadata.json +1 -1
  25. package/esm2015/lib/interaction/activity.js +3 -2
  26. package/esm2015/lib/interaction/activity.js.map +1 -1
  27. package/esm2015/lib/interaction/activity.metadata.json +1 -1
  28. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +2 -2
  29. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  30. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -1
  31. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +83 -0
  32. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -0
  33. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.metadata.json +1 -0
  34. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.ngfactory.js.map +1 -0
  35. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.scss.shim.ngstyle.js.map +1 -0
  36. package/esm2015/lib/place/index.js +1 -0
  37. package/esm2015/lib/place/index.js.map +1 -1
  38. package/esm2015/lib/place/index.metadata.json +1 -1
  39. package/esm2015/lib/place/place.module.js +6 -1
  40. package/esm2015/lib/place/place.module.js.map +1 -1
  41. package/esm2015/lib/place/place.module.metadata.json +1 -1
  42. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  43. package/esm5/coolon-angular-ui-powerups.js +25 -23
  44. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  45. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  46. package/esm5/lib/components/card-container/card-container.component.js +44 -0
  47. package/esm5/lib/components/card-container/card-container.component.js.map +1 -0
  48. package/esm5/lib/components/card-container/card-container.component.ngfactory.js.map +1 -0
  49. package/esm5/lib/components/card-container/card-container.component.scss.shim.ngstyle.js.map +1 -0
  50. package/esm5/lib/components/components.module.js +5 -2
  51. package/esm5/lib/components/components.module.js.map +1 -1
  52. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  53. package/esm5/lib/components/index.js +1 -0
  54. package/esm5/lib/components/index.js.map +1 -1
  55. package/esm5/lib/interaction/activity.js +3 -2
  56. package/esm5/lib/interaction/activity.js.map +1 -1
  57. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +2 -2
  58. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  59. package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.js +86 -0
  60. package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -0
  61. package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.ngfactory.js.map +1 -0
  62. package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.scss.shim.ngstyle.js.map +1 -0
  63. package/esm5/lib/place/index.js +1 -0
  64. package/esm5/lib/place/index.js.map +1 -1
  65. package/esm5/lib/place/place.module.js +6 -1
  66. package/esm5/lib/place/place.module.js.map +1 -1
  67. package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
  68. package/fesm2015/coolon-angular-ui-powerups.js +129 -7
  69. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  70. package/fesm5/coolon-angular-ui-powerups.js +133 -7
  71. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  72. package/lib/components/card-container/card-container.component.d.ts +23 -0
  73. package/lib/components/index.d.ts +1 -0
  74. package/lib/interaction/activity.d.ts +3 -2
  75. package/lib/place/components/side-place-navigation/side-place-navigation.component.d.ts +53 -0
  76. package/lib/place/index.d.ts +1 -0
  77. package/package.json +3 -2
  78. package/schematics/place-routes/place-builder.js +1 -1
  79. package/schematics/place-routes/place-builder.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
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.5.0](https://bitbucket.org/coolon/angular-ui-powerups/compare/v1.4.2...v1.5.0) (2020-05-22)
6
+
7
+
8
+ ### Features
9
+
10
+ * added CardContainerComponent ([21730e9](https://bitbucket.org/coolon/angular-ui-powerups/commit/21730e99ea04ebd09b2a94c1496a882ad63d2c54))
11
+ * added SidePlaceNavigationComponent ([17d201d](https://bitbucket.org/coolon/angular-ui-powerups/commit/17d201d7048626232ee6348b9e3b9be2e87dfb35))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * corrected place-builder ts compiler include error message ([72e46d8](https://bitbucket.org/coolon/angular-ui-powerups/commit/72e46d8f8073cc84b5c3fe936cc1a63ebadc5891))
17
+ * updated to extend DisposableComponent to ensure garbage collection ([558dd10](https://bitbucket.org/coolon/angular-ui-powerups/commit/558dd103ed1f749e41c4e411f05292721560d8ac))
18
+
5
19
  ### [1.4.2](https://bitbucket.org/coolon/angular-ui-powerups/compare/v1.4.1...v1.4.2) (2020-05-21)
6
20
 
7
21
 
@@ -1,3 +1,5 @@
1
+ @import "~@angular/material/theming";
2
+
1
3
  :root {
2
4
  --aup-default-padding: var(--default-padding, 18px);
3
5
  }
@@ -39,3 +41,33 @@
39
41
  right: 0;
40
42
  }
41
43
  }
44
+
45
+ @mixin elevate-on-hover($height:2) {
46
+ @include mat-elevation-transition;
47
+ //@include mat-elevation(2);
48
+ &:hover {
49
+ @include mat-elevation($height);
50
+ }
51
+ }
52
+
53
+ @mixin new-card-placeholder-style($color: rgba(0,0,0,0.54), $background-color: rgba(255,255,255,0.8), $hover-color: $color, $background-hover-color: white) {
54
+ box-sizing: border-box;
55
+ border: 2px dashed rgba(0,0,0,0.1);
56
+ border-radius: 6px;
57
+
58
+ font-weight: 300;
59
+ cursor: pointer;
60
+ color: $color;
61
+ background-color: $background-color;
62
+ transition: all $mat-elevation-transition-duration $mat-elevation-transition-timing-function;
63
+
64
+ &:hover {
65
+ @include elevate-on-hover(4);
66
+ transition: all $mat-elevation-transition-duration $mat-elevation-transition-timing-function;
67
+ border-color: transparent;
68
+ background-color: $background-hover-color;
69
+ color: $hover-color;
70
+ }
71
+
72
+ }
73
+
@@ -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/material/button'), require('@angular/material/checkbox'), require('@angular/material/icon'), require('@coolon/pectin'), require('@angular/cdk/portal'), require('@angular/material/dialog'), require('@angular/router'), require('@coolon/typescript-utilities'), require('lodash'), require('@angular/material/progress-spinner'), require('@angular/material/list'), require('@angular/material/tooltip'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations'), require('resize-observer-polyfill'), 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/material/button', '@angular/material/checkbox', '@angular/material/icon', '@coolon/pectin', '@angular/cdk/portal', '@angular/material/dialog', '@angular/router', '@coolon/typescript-utilities', 'lodash', '@angular/material/progress-spinner', '@angular/material/list', '@angular/material/tooltip', '@typescript-plus/fast-memoize-decorator/dist/src', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations', 'resize-observer-polyfill', '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.material.button, global.ng.material.checkbox, global.ng.material.icon, global.pectin, global.ng.cdk.portal, global.ng.material.dialog, global.ng.router, global.typescriptUtilities, global.___default, global.ng.material.progressSpinner, global.ng.material.list, global.ng.material.tooltip, global.src, global.fastMemoizeDecorator, null, global.ng.animations, global.ResizeObserver, global.rxjs));
5
- }(this, (function (exports, common, core, forms, formField, input, select, tabs, animations, button, checkbox, icon, pectin, portal, dialog, router, typescriptUtilities, ___default, progressSpinner, list, tooltip, src, fastMemoizeDecorator, reflectMetadata, animations$1, ResizeObserver, 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/material/button'), require('@angular/material/checkbox'), require('@angular/material/icon'), require('@coolon/pectin'), require('@angular/cdk/portal'), require('@angular/material/dialog'), require('@angular/router'), require('@coolon/typescript-utilities'), require('lodash'), require('@angular/flex-layout'), require('@angular/material/progress-spinner'), require('@angular/material/list'), require('@angular/material/tooltip'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations'), require('resize-observer-polyfill'), 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/material/button', '@angular/material/checkbox', '@angular/material/icon', '@coolon/pectin', '@angular/cdk/portal', '@angular/material/dialog', '@angular/router', '@coolon/typescript-utilities', 'lodash', '@angular/flex-layout', '@angular/material/progress-spinner', '@angular/material/list', '@angular/material/tooltip', '@typescript-plus/fast-memoize-decorator/dist/src', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations', 'resize-observer-polyfill', '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.material.button, global.ng.material.checkbox, global.ng.material.icon, global.pectin, global.ng.cdk.portal, global.ng.material.dialog, global.ng.router, global.typescriptUtilities, global.___default, global.ng.flexLayout, global.ng.material.progressSpinner, global.ng.material.list, global.ng.material.tooltip, global.src, global.fastMemoizeDecorator, null, global.ng.animations, global.ResizeObserver, global.rxjs));
5
+ }(this, (function (exports, common, core, forms, formField, input, select, tabs, animations, button, checkbox, icon, pectin, portal, dialog, router, typescriptUtilities, ___default, flexLayout, progressSpinner, list, tooltip, src, fastMemoizeDecorator, reflectMetadata, animations$1, ResizeObserver, rxjs) { 'use strict';
6
6
 
7
7
  var ___default__default = 'default' in ___default ? ___default['default'] : ___default;
8
8
  ResizeObserver = ResizeObserver && Object.prototype.hasOwnProperty.call(ResizeObserver, 'default') ? ResizeObserver['default'] : ResizeObserver;
@@ -1222,6 +1222,46 @@
1222
1222
  return VerticalFocusContainerComponent;
1223
1223
  }(FocusContainerComponent));
1224
1224
 
1225
+ /**
1226
+ * @example
1227
+ * // CSS Vars
1228
+ * --resolved-card-gap: var(--card-gap, 16px);
1229
+ * --resolved-card-width: var(--card-width, 300px);
1230
+ * --resolved-card-height: var(--card-height, auto);
1231
+ * --resolved-card-background: var(--card-background, #fcfcfb);
1232
+ *
1233
+ * // Content Templates:
1234
+ * #addCardTemplate
1235
+ * <ng-template #addCardTemplate>
1236
+ * This is a new card template, it will the the size of the other cards.
1237
+ * </nav-template>
1238
+ *
1239
+ */
1240
+ var CardContainerComponent = /** @class */ (function () {
1241
+ function CardContainerComponent() {
1242
+ }
1243
+ CardContainerComponent.prototype.ngOnInit = function () {
1244
+ };
1245
+ __decorate([
1246
+ core.Input(),
1247
+ pectin.TrackExternal(),
1248
+ __metadata("design:type", pectin.Command)
1249
+ ], CardContainerComponent.prototype, "addCardCommand", void 0);
1250
+ __decorate([
1251
+ core.ContentChild("addCardTemplate"),
1252
+ __metadata("design:type", core.TemplateRef)
1253
+ ], CardContainerComponent.prototype, "addCardTemplate", void 0);
1254
+ CardContainerComponent = __decorate([
1255
+ core.Component({
1256
+ selector: 'aup-card-container',
1257
+ template: "<div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled.value\" [pectinCommand]=\"addCardCommand\">\n <mat-icon>add</mat-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",
1258
+ styles: [":root{--aup-default-padding:var(--default-padding, 18px)}.dialog-interaction-context{max-width:95vw!important;max-height:95vh!important}.dialog-interaction-context mat-dialog-container{max-width:95vw!important;max-height:95vh!important;padding:0}[no-tab-header]>mat-tab-header{display:none}[full-height-tabs] .mat-tab-body-wrapper,mat-tab-group.full-height-tabs .mat-tab-body-wrapper{flex:1}[full-height-tabs] .mat-tab-body-wrapper .mat-tab-body-content,[full-height-tabs] .mat-tab-body-wrapper mat-tab-body,mat-tab-group.full-height-tabs .mat-tab-body-wrapper .mat-tab-body-content,mat-tab-group.full-height-tabs .mat-tab-body-wrapper mat-tab-body{display:flex;flex-direction:column;justify-content:stretch}.router-outlet-container>*{position:absolute;top:0;left:0;bottom:0;right:0}:host{--resolved-card-gap:var(--card-gap, 16px);--resolved-card-width:var(--card-width, 300px);--resolved-card-height:var(--card-height, auto);--resolved-card-background:var(--card-background, #fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fill,var(--resolved-card-width));grid-template-rows:repeat(auto-fit,minmax(0,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);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:rgba(255,255,255,.8);transition:280ms cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:280ms 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}"]
1259
+ }),
1260
+ __metadata("design:paramtypes", [])
1261
+ ], CardContainerComponent);
1262
+ return CardContainerComponent;
1263
+ }());
1264
+
1225
1265
  var ComponentsModule = /** @class */ (function () {
1226
1266
  function ComponentsModule() {
1227
1267
  }
@@ -1241,7 +1281,8 @@
1241
1281
  SwitchCaseDefaultDirective,
1242
1282
  FocusContainerComponent,
1243
1283
  VerticalFocusContainerComponent,
1244
- FocusableComponent
1284
+ FocusableComponent,
1285
+ CardContainerComponent
1245
1286
  ],
1246
1287
  imports: [
1247
1288
  common.CommonModule,
@@ -1269,7 +1310,8 @@
1269
1310
  SwitchCaseDefaultDirective,
1270
1311
  FocusContainerComponent,
1271
1312
  VerticalFocusContainerComponent,
1272
- FocusableComponent
1313
+ FocusableComponent,
1314
+ CardContainerComponent
1273
1315
  ],
1274
1316
  providers: [
1275
1317
  FocusBindingFactory
@@ -1326,7 +1368,7 @@
1326
1368
  return !!this._activityContext;
1327
1369
  };
1328
1370
  return Activity;
1329
- }(pectin.GarbageCollector));
1371
+ }(DisposableComponent));
1330
1372
 
1331
1373
  var AlertDialogComponent = /** @class */ (function (_super) {
1332
1374
  __extends(AlertDialogComponent, _super);
@@ -1816,7 +1858,7 @@
1816
1858
  }());
1817
1859
 
1818
1860
  var inplaceMonitorCount = 0;
1819
- exports.ɵbe = /** @class */ (function () {
1861
+ exports.ɵbf = /** @class */ (function () {
1820
1862
  function InteractionService(modelInteractionContextFactory) {
1821
1863
  this.modelInteractionContextFactory = modelInteractionContextFactory;
1822
1864
  this.garbage = new pectin.GarbageCollector();
@@ -1976,7 +2018,7 @@
1976
2018
  return ApiAdapter;
1977
2019
  }());
1978
2020
  InteractionService.ApiAdapter = ApiAdapter;
1979
- })(exports.ɵbe || (exports.ɵbe = {}));
2021
+ })(exports.ɵbf || (exports.ɵbf = {}));
1980
2022
 
1981
2023
  var InPlaceInteractionContextComponent = /** @class */ (function (_super) {
1982
2024
  __extends(InPlaceInteractionContextComponent, _super);
@@ -2020,7 +2062,7 @@
2020
2062
  return this.activityContainerComponent.startActivity(activityType, data);
2021
2063
  };
2022
2064
  InPlaceInteractionContextComponent.ctorParameters = function () { return [
2023
- { type: exports.ɵbe }
2065
+ { type: exports.ɵbf }
2024
2066
  ]; };
2025
2067
  __decorate([
2026
2068
  core.ViewChild('activityContainer', { static: true }),
@@ -2032,7 +2074,7 @@
2032
2074
  template: "<mat-tab-group no-tab-header [selectedIndex]=\"isActive() ? 1 : 0\" full-height-tabs [dynamicHeight]=\"false\">\n <mat-tab>\n <ng-content></ng-content>\n </mat-tab>\n <mat-tab>\n <aup-activity-container #activityContainer [dynamicHeight]=\"false\"></aup-activity-container>\n </mat-tab>\n</mat-tab-group>\n\n",
2033
2075
  styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]
2034
2076
  }),
2035
- __metadata("design:paramtypes", [exports.ɵbe])
2077
+ __metadata("design:paramtypes", [exports.ɵbf])
2036
2078
  ], InPlaceInteractionContextComponent);
2037
2079
  return InPlaceInteractionContextComponent;
2038
2080
  }(DisposableComponent));
@@ -2070,7 +2112,7 @@
2070
2112
  AlertDialogComponent
2071
2113
  ],
2072
2114
  providers: [
2073
- exports.ɵbe,
2115
+ exports.ɵbf,
2074
2116
  ]
2075
2117
  })
2076
2118
  ], InteractionModule);
@@ -3189,7 +3231,7 @@
3189
3231
  return PopStateNavigation;
3190
3232
  }(AbstractPopStateNavigation));
3191
3233
 
3192
- exports.ɵbh = /** @class */ (function () {
3234
+ exports.ɵbi = /** @class */ (function () {
3193
3235
  function PlaceHistory() {
3194
3236
  this._archive = new Map();
3195
3237
  this.placeHistoryDepth = 4;
@@ -3326,7 +3368,7 @@
3326
3368
  // }
3327
3369
  //
3328
3370
  // }
3329
- })(exports.ɵbh || (exports.ɵbh = {}));
3371
+ })(exports.ɵbi || (exports.ɵbi = {}));
3330
3372
 
3331
3373
  exports.UrlSnapshot = /** @class */ (function () {
3332
3374
  // TODO: Update this accept a url Parser so it can be immutable and generate new trees on mutation using toString() are parseUrl.
@@ -3849,11 +3891,11 @@
3849
3891
  PlaceRouter.ctorParameters = function () { return [
3850
3892
  { type: router.Router },
3851
3893
  { type: common.Location },
3852
- { type: exports.ɵbe },
3894
+ { type: exports.ɵbf },
3853
3895
  { type: UrlService },
3854
- { type: exports.ɵbh }
3896
+ { type: exports.ɵbi }
3855
3897
  ]; };
3856
- PlaceRouter.ɵprov = core.ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(core.ɵɵinject(router.Router), core.ɵɵinject(common.Location), core.ɵɵinject(exports.ɵbe), core.ɵɵinject(UrlService), core.ɵɵinject(exports.ɵbh)); }, token: PlaceRouter, providedIn: "root" });
3898
+ PlaceRouter.ɵprov = core.ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(core.ɵɵinject(router.Router), core.ɵɵinject(common.Location), core.ɵɵinject(exports.ɵbf), core.ɵɵinject(UrlService), core.ɵɵinject(exports.ɵbi)); }, token: PlaceRouter, providedIn: "root" });
3857
3899
  __decorate([
3858
3900
  pectin.Trace(),
3859
3901
  __metadata("design:type", Function),
@@ -3866,9 +3908,9 @@
3866
3908
  }),
3867
3909
  __metadata("design:paramtypes", [router.Router,
3868
3910
  common.Location,
3869
- exports.ɵbe,
3911
+ exports.ɵbf,
3870
3912
  UrlService,
3871
- exports.ɵbh])
3913
+ exports.ɵbi])
3872
3914
  ], PlaceRouter);
3873
3915
  return PlaceRouter;
3874
3916
  }(pectin.GarbageCollector));
@@ -4247,8 +4289,8 @@
4247
4289
  ListPlaceNavComponent = __decorate([
4248
4290
  core.Component({
4249
4291
  selector: 'aup-list-place-nav',
4250
- template: "<mat-nav-list class=\"app-menu\">\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 <mat-icon *ngIf=\"getNav(placeDefinition).icon()\">{{getNav(placeDefinition).icon()}}</mat-icon>\n <span class=\"expanded-only\">{{getNav(placeDefinition).title()}}</span>\n </a>\n</mat-nav-list>\n",
4251
- styles: [":host{display:flex;flex-direction:column;--expanded-width:235px;--nav-item-width:var(--nav-bar-height);width:var(--nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--expanded-width);max-width:var(--expanded-width)}.expanded-only{max-width:0;overflow:hidden}.collapsed-only{max-width:100%;overflow:hidden}.header{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;height:var(--nav-bar-height);border-bottom:var(--pinstripe-border);cursor:pointer}.header .menu{flex:1}.header button{color:inherit;width:var(--nav-item-width);height:var(--nav-bar-height)}mat-nav-list{flex:1;display:flex;flex-direction:column}.mat-list-item{width:var(--nav-item-width);height:var(--nav-bar-height);color:rgba(0,0,0,.6)}.mat-list-item.active{background-color:rgba(0,0,0,.1);color:rgba(0,0,0,.9)}mat-icon{color:inherit}mat-icon.flip-horizontal{transform:scaleX(-1)}:host-context(.expanded) .expanded-only{max-width:100%}:host-context(.expanded) .collapsed-only{max-width:0}:host-context(.expanded) .mat-list-item mat-icon{margin-right:12px}:host-context(.expanded) .mat-list-item span{text-wrap:none;white-space:nowrap}a[ng-reflect-router-link=manage-instruments] mat-icon{transform:rotate(90deg)}.app-menu{padding-top:0}"]
4292
+ 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]=\"getNav(placeDefinition).tooltip()\">\n <mat-icon *ngIf=\"getNav(placeDefinition).icon()\">{{getNav(placeDefinition).icon()}}</mat-icon>\n <span class=\"expanded-only\">{{getNav(placeDefinition).title()}}</span>\n </a>\n</mat-nav-list>\n",
4293
+ styles: [":host{display:flex;flex-direction:column}"]
4252
4294
  }),
4253
4295
  __metadata("design:paramtypes", [PlaceRouter])
4254
4296
  ], ListPlaceNavComponent);
@@ -4274,6 +4316,86 @@
4274
4316
  return TabbedPlaceNavigationComponent;
4275
4317
  }(AbstractPlaceNavigationComponent));
4276
4318
 
4319
+ /**
4320
+ * @example
4321
+ * // Usage
4322
+ * <aup-vertical-place-navigation [places]="placeConstructorArray"
4323
+ * [placeOutlet]="placeOutletComponent">
4324
+ * </aup-vertical-place-navigation>
4325
+ * <aup-place-outlet #placeOutletComponent></aup-place-outlet>
4326
+ *
4327
+ * // CSS overrides:
4328
+ * --nav-width: 56px
4329
+ * --nav-expanded-width: 235px
4330
+ * --nav-item-height: var(--nav-width)
4331
+ * --nav-background-color: #555;
4332
+ * --nav-color: rgba(255, 255, 255, 0.9);
4333
+ *
4334
+ * // Content Templates:
4335
+ * #navEndTemplate
4336
+ * <ng-template #navEndTemplate>
4337
+ * <a mat-list-item (click)="logout()" matTooltip="Logout">
4338
+ * <mat-icon>exit_to_app</mat-icon>
4339
+ * <span class="expanded-only">Logout</span>
4340
+ * </a>
4341
+ * </nav-template>
4342
+ *
4343
+ * // Place nav item in an i18n.yml
4344
+ * places:
4345
+ * myPlace:
4346
+ * nav(NavItem):
4347
+ * title: "Activities"
4348
+ * icon: "build"
4349
+ * tooltip: "Alerts, confirms and dialogs"
4350
+ *
4351
+ * // In your place
4352
+ * (at)Place({
4353
+ * path: 'myPlace',
4354
+ * data: {
4355
+ * nav: I18n.places.myPlace.nav()
4356
+ * }
4357
+ * })
4358
+ */
4359
+ var SidePlaceNavigationComponent = /** @class */ (function (_super) {
4360
+ __extends(SidePlaceNavigationComponent, _super);
4361
+ function SidePlaceNavigationComponent(router, placeRouter) {
4362
+ var _this = _super.call(this, placeRouter) || this;
4363
+ _this.router = router;
4364
+ _this.expanded = false;
4365
+ return _this;
4366
+ }
4367
+ SidePlaceNavigationComponent.prototype.expandMenu = function () {
4368
+ this.expanded = true;
4369
+ };
4370
+ SidePlaceNavigationComponent.prototype.collapseMenu = function () {
4371
+ this.expanded = false;
4372
+ };
4373
+ SidePlaceNavigationComponent.prototype.toggleMenu = function () {
4374
+ this.expanded = !this.expanded;
4375
+ };
4376
+ SidePlaceNavigationComponent.ctorParameters = function () { return [
4377
+ { type: router.Router },
4378
+ { type: PlaceRouter }
4379
+ ]; };
4380
+ __decorate([
4381
+ core.HostBinding('class.expanded'),
4382
+ __metadata("design:type", Object)
4383
+ ], SidePlaceNavigationComponent.prototype, "expanded", void 0);
4384
+ __decorate([
4385
+ core.ContentChild('navEndTemplate'),
4386
+ __metadata("design:type", core.TemplateRef)
4387
+ ], SidePlaceNavigationComponent.prototype, "navEndTemplate", void 0);
4388
+ SidePlaceNavigationComponent = __decorate([
4389
+ core.Component({
4390
+ selector: 'aup-side-place-navigation',
4391
+ template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <mat-icon class=\"collapsed-only\">menu</mat-icon>\n <mat-icon class=\"expanded-only\">arrow_back</mat-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 <mat-icon *ngIf=\"getNav(placeDefinition).icon()\">{{getNav(placeDefinition).icon()}}</mat-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",
4392
+ 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 mat-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)}"]
4393
+ }),
4394
+ __metadata("design:paramtypes", [router.Router, PlaceRouter])
4395
+ ], SidePlaceNavigationComponent);
4396
+ return SidePlaceNavigationComponent;
4397
+ }(AbstractPlaceNavigationComponent));
4398
+
4277
4399
  var PlaceModule = /** @class */ (function () {
4278
4400
  function PlaceModule() {
4279
4401
  }
@@ -4288,7 +4410,8 @@
4288
4410
  list.MatListModule,
4289
4411
  tooltip.MatTooltipModule,
4290
4412
  icon.MatIconModule,
4291
- DirectivesModule
4413
+ DirectivesModule,
4414
+ flexLayout.FlexModule
4292
4415
  ],
4293
4416
  declarations: [
4294
4417
  EmptyStateComponent,
@@ -4296,6 +4419,7 @@
4296
4419
  PlaceOutletComponent,
4297
4420
  TabbedPlaceNavigationComponent,
4298
4421
  ListPlaceNavComponent,
4422
+ SidePlaceNavigationComponent,
4299
4423
  AbstractPlaceNavigationComponent
4300
4424
  ],
4301
4425
  entryComponents: [BusyOverlayComponent],
@@ -4305,6 +4429,7 @@
4305
4429
  EmptyStateComponent,
4306
4430
  TabbedPlaceNavigationComponent,
4307
4431
  ListPlaceNavComponent,
4432
+ SidePlaceNavigationComponent,
4308
4433
  AbstractPlaceNavigationComponent
4309
4434
  ],
4310
4435
  providers: [
@@ -4996,6 +5121,7 @@
4996
5121
  exports.AlertDialogComponent = AlertDialogComponent;
4997
5122
  exports.AngularUiPowerupsModule = AngularUiPowerupsModule;
4998
5123
  exports.BusyOverlayComponent = BusyOverlayComponent;
5124
+ exports.CardContainerComponent = CardContainerComponent;
4999
5125
  exports.CheckboxInputComponent = CheckboxInputComponent;
5000
5126
  exports.CommandDirective = CommandDirective;
5001
5127
  exports.ComponentsModule = ComponentsModule;
@@ -5018,7 +5144,7 @@
5018
5144
  exports.FocusableComponent = FocusableComponent;
5019
5145
  exports.InPlaceInteractionContextComponent = InPlaceInteractionContextComponent;
5020
5146
  exports.InteractionModule = InteractionModule;
5021
- exports.InteractionService = exports.ɵbe;
5147
+ exports.InteractionService = exports.ɵbf;
5022
5148
  exports.InteractionServiceRoutingAdapter = InteractionServiceRoutingAdapter;
5023
5149
  exports.LEFT_RIGHT_PLACE_ANIMATION = LEFT_RIGHT_PLACE_ANIMATION;
5024
5150
  exports.ListPlaceNavComponent = ListPlaceNavComponent;
@@ -5034,7 +5160,7 @@
5034
5160
  exports.PlaceComponentDeactivationHandler = PlaceComponentDeactivationHandler;
5035
5161
  exports.PlaceDefinition = PlaceDefinition;
5036
5162
  exports.PlaceGuard = PlaceGuard;
5037
- exports.PlaceHistory = exports.ɵbh;
5163
+ exports.PlaceHistory = exports.ɵbi;
5038
5164
  exports.PlaceModule = PlaceModule;
5039
5165
  exports.PlaceOutletComponent = PlaceOutletComponent;
5040
5166
  exports.PlaceRouter = PlaceRouter;
@@ -5047,6 +5173,7 @@
5047
5173
  exports.RouteId = RouteId;
5048
5174
  exports.ScrollContainerComponent = ScrollContainerComponent;
5049
5175
  exports.SelectInputComponent = SelectInputComponent;
5176
+ exports.SidePlaceNavigationComponent = SidePlaceNavigationComponent;
5050
5177
  exports.StringInputComponent = StringInputComponent;
5051
5178
  exports.SwitchCaseComponent = SwitchCaseComponent;
5052
5179
  exports.SwitchCaseDefaultDirective = SwitchCaseDefaultDirective;
@@ -5068,24 +5195,26 @@
5068
5195
  exports.slideRightOnEnterAnimation = slideRightOnEnterAnimation;
5069
5196
  exports.ɵa = DirectivesModule;
5070
5197
  exports.ɵb = CommandDirective;
5071
- exports.ɵba = LEFT_RIGHT_PLACE_ANIMATION;
5072
- exports.ɵbb = AUP_PLACE_CONFIG;
5073
- exports.ɵbd = PlaceRouter;
5074
- exports.ɵbf = ModalInteractionContextFactory;
5075
- exports.ɵbg = UrlService;
5076
- exports.ɵbi = TabbedPlaceNavigationComponent;
5077
- exports.ɵbj = AbstractPlaceNavigationComponent;
5078
- exports.ɵbk = ListPlaceNavComponent;
5079
- exports.ɵbl = InteractionModule;
5080
- exports.ɵbm = ActivityContainerComponent;
5081
- exports.ɵbn = AbstractInteractionContext;
5082
- exports.ɵbo = ActivityOutletComponent;
5083
- exports.ɵbp = ConfirmationDialogComponent;
5084
- exports.ɵbq = ACTIVITY_DATA;
5085
- exports.ɵbr = Activity;
5086
- exports.ɵbt = ConfirmThenDialogComponent;
5087
- exports.ɵbu = AlertDialogComponent;
5088
- exports.ɵbw = InPlaceInteractionContextComponent;
5198
+ exports.ɵba = leftRightPlaceAnimation;
5199
+ exports.ɵbb = LEFT_RIGHT_PLACE_ANIMATION;
5200
+ exports.ɵbc = AUP_PLACE_CONFIG;
5201
+ exports.ɵbe = PlaceRouter;
5202
+ exports.ɵbg = ModalInteractionContextFactory;
5203
+ exports.ɵbh = UrlService;
5204
+ exports.ɵbj = TabbedPlaceNavigationComponent;
5205
+ exports.ɵbk = AbstractPlaceNavigationComponent;
5206
+ exports.ɵbl = ListPlaceNavComponent;
5207
+ exports.ɵbm = SidePlaceNavigationComponent;
5208
+ exports.ɵbn = InteractionModule;
5209
+ exports.ɵbo = ActivityContainerComponent;
5210
+ exports.ɵbp = AbstractInteractionContext;
5211
+ exports.ɵbq = ActivityOutletComponent;
5212
+ exports.ɵbr = ConfirmationDialogComponent;
5213
+ exports.ɵbs = ACTIVITY_DATA;
5214
+ exports.ɵbt = Activity;
5215
+ exports.ɵbv = ConfirmThenDialogComponent;
5216
+ exports.ɵbw = AlertDialogComponent;
5217
+ exports.ɵby = InPlaceInteractionContextComponent;
5089
5218
  exports.ɵc = FocusBindingDirective;
5090
5219
  exports.ɵd = DisposableComponent;
5091
5220
  exports.ɵe = FocusBindingFactory;
@@ -5105,11 +5234,11 @@
5105
5234
  exports.ɵs = FocusContainerComponent;
5106
5235
  exports.ɵt = VerticalFocusContainerComponent;
5107
5236
  exports.ɵu = FocusableComponent;
5108
- exports.ɵv = PlaceModule;
5109
- exports.ɵw = EmptyStateComponent;
5110
- exports.ɵx = BusyOverlayComponent;
5111
- exports.ɵy = PlaceOutletComponent;
5112
- exports.ɵz = leftRightPlaceAnimation;
5237
+ exports.ɵv = CardContainerComponent;
5238
+ exports.ɵw = PlaceModule;
5239
+ exports.ɵx = EmptyStateComponent;
5240
+ exports.ɵy = BusyOverlayComponent;
5241
+ exports.ɵz = PlaceOutletComponent;
5113
5242
 
5114
5243
  Object.defineProperty(exports, '__esModule', { value: true });
5115
5244