@coolon/angular-ui-powerups 0.0.32 → 0.0.33

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 (57) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +867 -724
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.metadata.json +1 -1
  6. package/esm2015/coolon-angular-ui-powerups.js +2 -2
  7. package/esm2015/index.js +2 -2
  8. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +33 -4
  9. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +3 -3
  10. package/esm2015/lib/place/guards/leave-place.guard.js +18 -2
  11. package/esm2015/lib/place/i-place-component.js +17 -0
  12. package/esm2015/lib/place/i-place-service.js +16 -0
  13. package/esm2015/lib/place/index.js +7 -3
  14. package/esm2015/lib/place/place-component.js +165 -7
  15. package/esm2015/lib/place/place.decorator.js +7 -87
  16. package/esm2015/lib/place/place.service.js +47 -8
  17. package/esm2015/lib/place/route/resolved-parameter.js +16 -0
  18. package/esm2015/lib/place/route/resolved-route-parameter-snapshot.js +106 -0
  19. package/esm2015/lib/place/route/route-parameter-bindings.js +14 -158
  20. package/esm2015/lib/place/route/visit-snapshot.js +7 -0
  21. package/esm2015/public_api.js +2 -2
  22. package/esm5/coolon-angular-ui-powerups.js +2 -2
  23. package/esm5/index.js +2 -2
  24. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +40 -4
  25. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +3 -3
  26. package/esm5/lib/place/guards/leave-place.guard.js +18 -2
  27. package/esm5/lib/place/i-place-component.js +17 -0
  28. package/esm5/lib/place/i-place-service.js +16 -0
  29. package/esm5/lib/place/index.js +7 -3
  30. package/esm5/lib/place/place-component.js +195 -7
  31. package/esm5/lib/place/place.decorator.js +7 -97
  32. package/esm5/lib/place/place.service.js +52 -10
  33. package/esm5/lib/place/route/resolved-parameter.js +16 -0
  34. package/esm5/lib/place/route/resolved-route-parameter-snapshot.js +129 -0
  35. package/esm5/lib/place/route/route-parameter-bindings.js +13 -185
  36. package/esm5/lib/place/route/visit-snapshot.js +11 -0
  37. package/esm5/public_api.js +2 -2
  38. package/fesm2015/coolon-angular-ui-powerups.js +818 -696
  39. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  40. package/fesm5/coolon-angular-ui-powerups.js +863 -722
  41. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  42. package/lib/place/components/place-outlet/place-outlet.component.d.ts +4 -0
  43. package/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.d.ts +1 -2
  44. package/lib/place/i-place-component.d.ts +5 -0
  45. package/lib/place/i-place-service.d.ts +10 -0
  46. package/lib/place/index.d.ts +5 -1
  47. package/lib/place/place-component.d.ts +40 -2
  48. package/lib/place/place.decorator.d.ts +1 -25
  49. package/lib/place/place.service.d.ts +13 -2
  50. package/lib/place/route/resolved-parameter.d.ts +5 -0
  51. package/lib/place/route/resolved-route-parameter-snapshot.d.ts +12 -0
  52. package/lib/place/route/route-parameter-bindings.d.ts +3 -4
  53. package/lib/place/route/visit-snapshot.d.ts +2 -0
  54. package/package.json +1 -1
  55. package/esm2015/lib/place/abstract-place-component.js +0 -50
  56. package/esm5/lib/place/abstract-place-component.js +0 -57
  57. package/lib/place/abstract-place-component.d.ts +0 -11
@@ -5,7 +5,7 @@ import { MatDialog, MatButtonModule, MatDialogModule, MatTabsModule, MatProgress
5
5
  import { BrowserModule } from '@angular/platform-browser';
6
6
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
7
7
  import { __extends, __decorate, __metadata, __assign, __awaiter, __generator, __values } from 'tslib';
8
- import { GarbageCollector, DelegatingFormValueModel, UseDelegate, ValueModel, assert, UnaryCommand, lang, Dsl, Logger, ListModel, StoreInListModel, EventListenerList, DelegatingValueModel, MutableListModel, StoreInValueModel, Trace, OptionsHelper, ValueHolder, MutableValueModel, TransactionObserver, Binding } from '@coolon/pectin';
8
+ import { GarbageCollector, DelegatingFormValueModel, UseDelegate, ValueModel, assert, UnaryCommand, lang, Dsl, Logger, ListModel, StoreInListModel, EventListenerList, DelegatingValueModel, MutableListModel, StoreInValueModel, Trace, MutableValueModel, TransactionObserver, Binding, OptionsHelper, ValueHolder } from '@coolon/pectin';
9
9
  import { PortalModule } from '@angular/cdk/portal';
10
10
  import { Deferred } from '@coolon/pectin/lib/promise/deferred.class';
11
11
  import { assert as assert$1, Klass, Opts } from '@coolon/typescript-utilities';
@@ -14,12 +14,12 @@ import { MatIconModule } from '@angular/material/icon';
14
14
  import { MatListModule } from '@angular/material/list';
15
15
  import { MatTabsModule as MatTabsModule$1 } from '@angular/material/tabs';
16
16
  import { MatTooltipModule } from '@angular/material/tooltip';
17
- import { RouterModule, Router, ActivatedRoute, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
18
- import { style, query, group, animate, trigger, transition } from '@angular/animations';
17
+ import { Router, RouterModule, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
18
+ import { Memoize } from '@typescript-plus/fast-memoize-decorator';
19
19
  import { isNil } from 'lodash';
20
20
  import 'reflect-metadata';
21
+ import { style, query, group, animate, trigger, transition } from '@angular/animations';
21
22
  import ResizeObserver from 'resize-observer-polyfill';
22
- import { Memoize } from '@typescript-plus/fast-memoize-decorator';
23
23
  import { Memoize as Memoize$1 } from '@typescript-plus/fast-memoize-decorator/dist/src';
24
24
 
25
25
  /**
@@ -1723,243 +1723,397 @@ var EmptyStateComponent = /** @class */ (function () {
1723
1723
  * @fileoverview added by tsickle
1724
1724
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1725
1725
  */
1726
- var PlaceService = /** @class */ (function () {
1727
- function PlaceService() {
1728
- this._activePlaces = new MutableListModel();
1726
+ var ResolvedRouteParameterSnapshot = /** @class */ (function () {
1727
+ function ResolvedRouteParameterSnapshot(parameters) {
1728
+ this.parameters = parameters;
1729
1729
  }
1730
- Object.defineProperty(PlaceService.prototype, "activePlaces", {
1731
- get: /**
1732
- * @return {?}
1733
- */
1734
- function () {
1735
- return this._activePlaces.readonly;
1736
- },
1737
- enumerable: true,
1738
- configurable: true
1739
- });
1740
1730
  /**
1741
- * @param {?} place
1731
+ * @template T
1732
+ * @param {?} parameter
1742
1733
  * @return {?}
1743
1734
  */
1744
- PlaceService.prototype.onActivate = /**
1745
- * @param {?} place
1735
+ ResolvedRouteParameterSnapshot.prototype.get = /**
1736
+ * @template T
1737
+ * @param {?} parameter
1746
1738
  * @return {?}
1747
1739
  */
1748
- function (place) {
1749
- this._activePlaces.push(place);
1740
+ function (parameter) {
1741
+ /** @type {?} */
1742
+ var resolved = this.parameters.find((/**
1743
+ * @param {?} p
1744
+ * @return {?}
1745
+ */
1746
+ function (p) { return p.parameterDef === parameter; }));
1747
+ return resolved ? resolved.resolvedValue : null;
1750
1748
  };
1751
1749
  /**
1752
- * @param {?} place
1750
+ * @template T
1751
+ * @param {?} parameter
1752
+ * @param {?} value
1753
1753
  * @return {?}
1754
1754
  */
1755
- PlaceService.prototype.onDeactivate = /**
1756
- * @param {?} place
1755
+ ResolvedRouteParameterSnapshot.prototype.replace = /**
1756
+ * @template T
1757
+ * @param {?} parameter
1758
+ * @param {?} value
1757
1759
  * @return {?}
1758
1760
  */
1759
- function (place) {
1760
- this._activePlaces.remove(place);
1761
+ function (parameter, value) {
1762
+ return new ResolvedRouteParameterSnapshot(this.parameters.filter((/**
1763
+ * @param {?} p
1764
+ * @return {?}
1765
+ */
1766
+ function (p) { return p.parameterDef !== parameter; })).concat({
1767
+ parameterDef: parameter,
1768
+ resolvedValue: value
1769
+ }));
1761
1770
  };
1762
- PlaceService.decorators = [
1763
- { type: Injectable, args: [{
1764
- providedIn: 'root'
1765
- },] }
1766
- ];
1767
- /** @nocollapse */
1768
- PlaceService.ctorParameters = function () { return []; };
1769
- /** @nocollapse */ PlaceService.ngInjectableDef = ɵɵdefineInjectable({ factory: function PlaceService_Factory() { return new PlaceService(); }, token: PlaceService, providedIn: "root" });
1770
- __decorate([
1771
- Trace(),
1772
- __metadata("design:type", Function),
1773
- __metadata("design:paramtypes", [Object]),
1774
- __metadata("design:returntype", void 0)
1775
- ], PlaceService.prototype, "onActivate", null);
1776
- __decorate([
1777
- Trace(),
1778
- __metadata("design:type", Function),
1779
- __metadata("design:paramtypes", [Object]),
1780
- __metadata("design:returntype", void 0)
1781
- ], PlaceService.prototype, "onDeactivate", null);
1782
- return PlaceService;
1783
- }());
1784
- if (false) {
1785
- /**
1786
- * @type {?}
1787
- * @private
1788
- */
1789
- PlaceService.prototype._activePlaces;
1790
- }
1791
-
1792
- /**
1793
- * @fileoverview added by tsickle
1794
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1795
- */
1796
- // Freezes the state of the components at the start of the animation.
1797
- /** @type {?} */
1798
- var animationStartStyle = style({ position: 'absolute', top: '0', left: '0', bottom: '0', right: '0' });
1799
- /** @type {?} */
1800
- var left = [
1801
- query(':enter, :leave', animationStartStyle, { optional: true }),
1802
- group([
1803
- query(':enter', [
1804
- style({ transform: 'translateX(-100%)' }),
1805
- animate('{{duration}} ease-out', style({ transform: 'translateX(0%)' }))
1806
- ], {
1807
- optional: true
1808
- }),
1809
- query(':leave', [
1810
- style({ transform: 'translateX(0%)' }),
1811
- animate('{{duration}} ease-out', style({ transform: 'translateX(100%)' }))
1812
- ], {
1813
- optional: true
1814
- })
1815
- ])
1816
- ];
1817
- /** @type {?} */
1818
- var right = [
1819
- query(':enter, :leave', animationStartStyle, { optional: true }),
1820
- group([
1821
- query(':enter', [
1822
- style({ transform: 'translateX(100%)' }),
1823
- animate('{{duration}} ease-out', style({ transform: 'translateX(0%)' }))
1824
- ], {
1825
- optional: true
1826
- }),
1827
- query(':leave', [style({ transform: 'translateX(0%)' }), animate('{{duration}} ease-out', style({ transform: 'translateX(-100%)' }))], {
1828
- optional: true
1829
- })
1830
- ])
1831
- ];
1832
- /** @type {?} */
1833
- var LEFT_RIGHT_PLACE_ANIMATION = trigger('routeAnimations', [
1834
- transition(':increment', right, { params: { duration: '.3s' } }),
1835
- transition(':decrement', left, { params: { duration: '.3s' } })
1836
- ]);
1837
-
1838
- /**
1839
- * @fileoverview added by tsickle
1840
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1841
- */
1842
- var PlaceOutletComponent = /** @class */ (function () {
1843
- function PlaceOutletComponent(placeService) {
1844
- this.placeService = placeService;
1845
- this.animate = true;
1846
- }
1847
1771
  /**
1848
1772
  * @return {?}
1849
1773
  */
1850
- PlaceOutletComponent.prototype.ngOnInit = /**
1774
+ ResolvedRouteParameterSnapshot.prototype.getFormattedRouteId = /**
1851
1775
  * @return {?}
1852
1776
  */
1853
1777
  function () {
1778
+ /** @type {?} */
1779
+ var routeIdParam = this.getRouteIdParam();
1780
+ return routeIdParam ? routeIdParam.parameterDef.type.format(routeIdParam.resolvedValue) : null;
1854
1781
  };
1855
1782
  /**
1856
- * @param {?} $event
1783
+ * @private
1857
1784
  * @return {?}
1858
1785
  */
1859
- PlaceOutletComponent.prototype.onActivate = /**
1860
- * @param {?} $event
1786
+ ResolvedRouteParameterSnapshot.prototype.getRouteIdParam = /**
1787
+ * @private
1861
1788
  * @return {?}
1862
1789
  */
1863
- function ($event) {
1864
- this.placeService.onActivate($event);
1790
+ function () {
1791
+ return this.parameters.find((/**
1792
+ * @param {?} p
1793
+ * @return {?}
1794
+ */
1795
+ function (p) { return p.parameterDef.isRouteId; }));
1865
1796
  };
1866
1797
  /**
1867
- * @param {?} $event
1868
1798
  * @return {?}
1869
1799
  */
1870
- PlaceOutletComponent.prototype.onDeactivate = /**
1871
- * @param {?} $event
1800
+ ResolvedRouteParameterSnapshot.prototype.getFormattedParameters = /**
1872
1801
  * @return {?}
1873
1802
  */
1874
- function ($event) {
1875
- this.placeService.onDeactivate($event);
1803
+ function () {
1804
+ /** @type {?} */
1805
+ var params = {};
1806
+ /** @type {?} */
1807
+ var routeIdParam = this.parameters.filter((/**
1808
+ * @param {?} p
1809
+ * @return {?}
1810
+ */
1811
+ function (p) { return !p.parameterDef.isRouteId; })).forEach((/**
1812
+ * @param {?} p
1813
+ * @return {?}
1814
+ */
1815
+ function (p) {
1816
+ params[p.parameterDef.name] = p.parameterDef.type.format(p.resolvedValue);
1817
+ }));
1818
+ return params;
1876
1819
  };
1877
1820
  /**
1878
- * @param {?} outlet
1879
1821
  * @return {?}
1880
1822
  */
1881
- PlaceOutletComponent.prototype.getPlaceOrder = /**
1882
- * @param {?} outlet
1823
+ ResolvedRouteParameterSnapshot.prototype.hasRouteId = /**
1883
1824
  * @return {?}
1884
1825
  */
1885
- function (outlet) {
1886
- return this.animate && outlet && outlet.activatedRouteData && outlet.activatedRouteData['placeOrder'];
1887
- };
1888
- PlaceOutletComponent.decorators = [
1889
- { type: Component, args: [{
1890
- selector: 'angular-ui-powerups-place-outlet',
1891
- template: "<div class=\"router-outlet-container\" [@routeAnimations]=\"getPlaceOrder(routerOutlet)\">\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\">\n </router-outlet>\n</div>\n\n",
1892
- animations: [LEFT_RIGHT_PLACE_ANIMATION],
1893
- styles: [":host{display:flex;flex-direction:column;min-height:0}.router-outlet-container{flex:1;display:block;position:relative;min-height:0}router-outlet{display:none}"]
1894
- }] }
1895
- ];
1896
- /** @nocollapse */
1897
- PlaceOutletComponent.ctorParameters = function () { return [
1898
- { type: PlaceService }
1899
- ]; };
1900
- PlaceOutletComponent.propDecorators = {
1901
- animate: [{ type: Input }]
1826
+ function () {
1827
+ return !!this.getRouteIdParam();
1902
1828
  };
1903
- return PlaceOutletComponent;
1829
+ __decorate([
1830
+ Trace(),
1831
+ __metadata("design:type", Function),
1832
+ __metadata("design:paramtypes", []),
1833
+ __metadata("design:returntype", void 0)
1834
+ ], ResolvedRouteParameterSnapshot.prototype, "getFormattedRouteId", null);
1835
+ __decorate([
1836
+ Trace(),
1837
+ __metadata("design:type", Function),
1838
+ __metadata("design:paramtypes", []),
1839
+ __metadata("design:returntype", void 0)
1840
+ ], ResolvedRouteParameterSnapshot.prototype, "getFormattedParameters", null);
1841
+ return ResolvedRouteParameterSnapshot;
1904
1842
  }());
1905
1843
  if (false) {
1906
1844
  /** @type {?} */
1907
- PlaceOutletComponent.prototype.animate;
1908
- /**
1909
- * @type {?}
1910
- * @private
1911
- */
1912
- PlaceOutletComponent.prototype.placeService;
1845
+ ResolvedRouteParameterSnapshot.prototype.parameters;
1913
1846
  }
1914
1847
 
1915
1848
  /**
1916
1849
  * @fileoverview added by tsickle
1917
1850
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1918
1851
  */
1919
- /**
1920
- * @param {?} options
1921
- * @return {?}
1922
- */
1923
- function Place(options) {
1924
- return (/**
1925
- * @param {?} target
1926
- * @return {?}
1927
- */
1928
- function (target) {
1929
- Reflect.defineMetadata('place.options', options, target);
1930
- });
1931
- }
1932
- (function (Place) {
1933
- /**
1934
- * @record
1935
- */
1936
- function Options() { }
1937
- Place.Options = Options;
1938
- if (false) {
1939
- /** @type {?} */
1940
- Options.prototype.path;
1852
+ var RouteParameterBindings = /** @class */ (function (_super) {
1853
+ __extends(RouteParameterBindings, _super);
1854
+ function RouteParameterBindings(component, placeService) {
1855
+ var _this = _super.call(this) || this;
1856
+ _this.component = component;
1857
+ _this._incomingRouteChange = new MutableValueModel(false);
1858
+ _this.resolvedParameters = new MutableValueModel();
1859
+ var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe;
1860
+ _this.txo = new TransactionObserver(); //.onEvent(e => console.log(e.toString()));
1861
+ //.onEvent(e => console.log(e.toString()));
1941
1862
  /** @type {?} */
1942
- Options.prototype.order;
1943
- /** @type {?|undefined} */
1944
- Options.prototype.data;
1945
- /** @type {?|undefined} */
1946
- Options.prototype.authenticate;
1947
- }
1948
- var Descriptor = /** @class */ (function () {
1949
- function Descriptor(placeClass, options) {
1950
- assert.notNil(options);
1951
- this.path = options.path;
1952
- this.order = options.order;
1953
- this.data = options.data;
1954
- this.authenticate = isNil(options.authenticate) || options.authenticate;
1955
- }
1956
- /**
1957
- * @template T
1958
- * @param {?} key
1959
- * @param {?=} defaultValue
1863
+ var routeParameterDefs = Klass.get(component).getMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY);
1864
+ routeParameterDefs.forEach((/**
1865
+ * @param {?} parameter
1960
1866
  * @return {?}
1961
1867
  */
1962
- Descriptor.prototype.getData = /**
1868
+ function (parameter) { return _this.installBinding(parameter); }));
1869
+ /** @type {?} */
1870
+ var incomingResolvedRouteParameters = observe.valuesFrom(component.activatedRoute.paramMap)
1871
+ .last()
1872
+ .map((/**
1873
+ * @param {?} params
1874
+ * @return {?}
1875
+ */
1876
+ function (params) {
1877
+ /** @type {?} */
1878
+ var result = [];
1879
+ routeParameterDefs.forEach((/**
1880
+ * @param {?} parameterDef
1881
+ * @return {?}
1882
+ */
1883
+ function (parameterDef) {
1884
+ /** @type {?} */
1885
+ var resolvedValue;
1886
+ if (parameterDef.isArray) {
1887
+ resolvedValue = params.getAll(parameterDef.name).map((/**
1888
+ * @param {?} v
1889
+ * @return {?}
1890
+ */
1891
+ function (v) { return parameterDef.type.parse(v); }));
1892
+ }
1893
+ else {
1894
+ resolvedValue = parameterDef.type.parse(params.get(parameterDef.name));
1895
+ }
1896
+ result.push({ parameterDef: parameterDef, resolvedValue: resolvedValue });
1897
+ }));
1898
+ return new ResolvedRouteParameterSnapshot(result);
1899
+ }));
1900
+ incomingResolvedRouteParameters.subscribe((/**
1901
+ * @param {?} resolvedParameters
1902
+ * @return {?}
1903
+ */
1904
+ function (resolvedParameters) {
1905
+ _this._incomingRouteChange.value = true;
1906
+ _this.resolvedParameters.value = resolvedParameters;
1907
+ _this._incomingRouteChange.value = false;
1908
+ }));
1909
+ when.valueOf(_this.resolvedParameters).changes((/**
1910
+ * @param {?} params
1911
+ * @param {?} previous
1912
+ * @return {?}
1913
+ */
1914
+ function (params, previous) {
1915
+ placeService.notifyRouteParametersChanged({
1916
+ placeComponent: component,
1917
+ next: params,
1918
+ previous: previous,
1919
+ updateRoute: !_this.incomingRouteChange.value // we update the route if it's a component triggered change.
1920
+ });
1921
+ }));
1922
+ _this.txo.observe('incomingResolvedRouteParameters', incomingResolvedRouteParameters);
1923
+ _this.txo.observe('this.routeIsChanging', _this.incomingRouteChange);
1924
+ return _this;
1925
+ }
1926
+ Object.defineProperty(RouteParameterBindings.prototype, "incomingRouteChange", {
1927
+ get: /**
1928
+ * @return {?}
1929
+ */
1930
+ function () {
1931
+ return this._incomingRouteChange.readonly;
1932
+ },
1933
+ enumerable: true,
1934
+ configurable: true
1935
+ });
1936
+ /**
1937
+ * @protected
1938
+ * @template T
1939
+ * @param {?} parameter
1940
+ * @return {?}
1941
+ */
1942
+ RouteParameterBindings.prototype.installBinding = /**
1943
+ * @protected
1944
+ * @template T
1945
+ * @param {?} parameter
1946
+ * @return {?}
1947
+ */
1948
+ function (parameter) {
1949
+ /** @type {?} */
1950
+ var model = this.getModelFor(parameter);
1951
+ // this.txo.observe(parameter.propertyName, model);
1952
+ this.registerDisposable(new Binding(this.resolvedParameters, model, {
1953
+ toRight: /**
1954
+ * @param {?} parameters
1955
+ * @return {?}
1956
+ */
1957
+ function (parameters) {
1958
+ return parameters.get(parameter);
1959
+ },
1960
+ toLeft: /**
1961
+ * @param {?} value
1962
+ * @param {?=} currentParameters
1963
+ * @return {?}
1964
+ */
1965
+ function (value, currentParameters) {
1966
+ return currentParameters.replace(parameter, value);
1967
+ }
1968
+ }));
1969
+ };
1970
+ /**
1971
+ * @private
1972
+ * @template T
1973
+ * @param {?} parameter
1974
+ * @return {?}
1975
+ */
1976
+ RouteParameterBindings.prototype.getModelFor = /**
1977
+ * @private
1978
+ * @template T
1979
+ * @param {?} parameter
1980
+ * @return {?}
1981
+ */
1982
+ function (parameter) {
1983
+ return this.component[parameter.propertyName];
1984
+ };
1985
+ return RouteParameterBindings;
1986
+ }(GarbageCollector));
1987
+ if (false) {
1988
+ /** @type {?} */
1989
+ RouteParameterBindings.prototype._incomingRouteChange;
1990
+ /**
1991
+ * @type {?}
1992
+ * @private
1993
+ */
1994
+ RouteParameterBindings.prototype.txo;
1995
+ /**
1996
+ * @type {?}
1997
+ * @private
1998
+ */
1999
+ RouteParameterBindings.prototype.resolvedParameters;
2000
+ /**
2001
+ * @type {?}
2002
+ * @private
2003
+ */
2004
+ RouteParameterBindings.prototype.component;
2005
+ }
2006
+ (function (RouteParameterBindings) {
2007
+ RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');
2008
+ })(RouteParameterBindings || (RouteParameterBindings = {}));
2009
+
2010
+ /**
2011
+ * @fileoverview added by tsickle
2012
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2013
+ */
2014
+ // RAKE: making this Symbol(...) broke things.
2015
+ /** @type {?} */
2016
+ var DEFINITION_META_DATA_KEY = 'PLACE_DEFINITION_OPTIONS';
2017
+ var PlaceComponent = /** @class */ (function (_super) {
2018
+ __extends(PlaceComponent, _super);
2019
+ function PlaceComponent(activatedRoute, placeService) {
2020
+ var _this = _super.call(this) || this;
2021
+ _this.activatedRoute = activatedRoute;
2022
+ _this.routeBindingMediator = _this.registerDisposable(new RouteParameterBindings(_this, placeService));
2023
+ return _this;
2024
+ }
2025
+ Object.defineProperty(PlaceComponent.prototype, "placeConfig", {
2026
+ get: /**
2027
+ * @return {?}
2028
+ */
2029
+ function () {
2030
+ return PlaceComponent.getDefinition((/** @type {?} */ ((/** @type {?} */ (this.constructor)))));
2031
+ },
2032
+ enumerable: true,
2033
+ configurable: true
2034
+ });
2035
+ /**
2036
+ * @param {?=} nextPlace
2037
+ * @param {?=} nextState
2038
+ * @return {?}
2039
+ */
2040
+ PlaceComponent.prototype.canDeactivate = /**
2041
+ * @param {?=} nextPlace
2042
+ * @param {?=} nextState
2043
+ * @return {?}
2044
+ */
2045
+ function (nextPlace, nextState) {
2046
+ return true;
2047
+ };
2048
+ /**
2049
+ * @return {?}
2050
+ */
2051
+ PlaceComponent.prototype.onPlaceReady = /**
2052
+ * @return {?}
2053
+ */
2054
+ function () {
2055
+ };
2056
+ __decorate([
2057
+ Memoize(),
2058
+ __metadata("design:type", PlaceComponent.Definition),
2059
+ __metadata("design:paramtypes", [])
2060
+ ], PlaceComponent.prototype, "placeConfig", null);
2061
+ __decorate([
2062
+ Trace(),
2063
+ __metadata("design:type", Function),
2064
+ __metadata("design:paramtypes", []),
2065
+ __metadata("design:returntype", void 0)
2066
+ ], PlaceComponent.prototype, "onPlaceReady", null);
2067
+ return PlaceComponent;
2068
+ }(DisposableComponent));
2069
+ if (false) {
2070
+ /**
2071
+ * @type {?}
2072
+ * @private
2073
+ */
2074
+ PlaceComponent.prototype.routeBindingMediator;
2075
+ /** @type {?} */
2076
+ PlaceComponent.prototype.activatedRoute;
2077
+ }
2078
+ (function (PlaceComponent) {
2079
+ var Definition = /** @class */ (function () {
2080
+ function Definition(component, options) {
2081
+ this.component = component;
2082
+ assert.notNil(options);
2083
+ this.path = options.path;
2084
+ this.order = options.order;
2085
+ this.data = options.data;
2086
+ this.authenticate = isNil(options.authenticate) || options.authenticate;
2087
+ }
2088
+ /**
2089
+ * @param {?} construcable
2090
+ * @return {?}
2091
+ */
2092
+ Definition.prototype.isDescriptorForType = /**
2093
+ * @param {?} construcable
2094
+ * @return {?}
2095
+ */
2096
+ function (construcable) {
2097
+ return lang.constructorChain(construcable).includes(PlaceComponent);
2098
+ };
2099
+ /**
2100
+ * @param {?} placeComponent
2101
+ * @return {?}
2102
+ */
2103
+ Definition.prototype.isDescriptorFor = /**
2104
+ * @param {?} placeComponent
2105
+ * @return {?}
2106
+ */
2107
+ function (placeComponent) {
2108
+ return placeComponent.constructor === this.component;
2109
+ };
2110
+ /**
2111
+ * @template T
2112
+ * @param {?} key
2113
+ * @param {?=} defaultValue
2114
+ * @return {?}
2115
+ */
2116
+ Definition.prototype.getData = /**
1963
2117
  * @template T
1964
2118
  * @param {?} key
1965
2119
  * @param {?=} defaultValue
@@ -1976,7 +2130,7 @@ function Place(options) {
1976
2130
  * @param {?=} defaultValue
1977
2131
  * @return {?}
1978
2132
  */
1979
- Descriptor.prototype.searchData = /**
2133
+ Definition.prototype.searchData = /**
1980
2134
  * @template T
1981
2135
  * @param {?} keys
1982
2136
  * @param {?=} defaultValue
@@ -1997,56 +2151,349 @@ function Place(options) {
1997
2151
  return defaultValue;
1998
2152
  }
1999
2153
  };
2000
- return Descriptor;
2154
+ return Definition;
2001
2155
  }());
2002
- Place.Descriptor = Descriptor;
2156
+ PlaceComponent.Definition = Definition;
2003
2157
  if (false) {
2004
2158
  /** @type {?} */
2005
- Descriptor.prototype.path;
2159
+ Definition.prototype.path;
2006
2160
  /** @type {?} */
2007
- Descriptor.prototype.authenticate;
2161
+ Definition.prototype.authenticate;
2008
2162
  /** @type {?} */
2009
- Descriptor.prototype.order;
2163
+ Definition.prototype.order;
2010
2164
  /** @type {?} */
2011
- Descriptor.prototype.data;
2165
+ Definition.prototype.data;
2166
+ /** @type {?} */
2167
+ Definition.prototype.component;
2168
+ }
2169
+ /**
2170
+ * @record
2171
+ */
2172
+ function Options() { }
2173
+ PlaceComponent.Options = Options;
2174
+ if (false) {
2175
+ /** @type {?} */
2176
+ Options.prototype.path;
2177
+ /** @type {?} */
2178
+ Options.prototype.order;
2179
+ /** @type {?|undefined} */
2180
+ Options.prototype.data;
2181
+ /** @type {?|undefined} */
2182
+ Options.prototype.authenticate;
2012
2183
  }
2013
2184
  /**
2014
2185
  * @param {?} klass
2015
2186
  * @return {?}
2016
2187
  */
2017
- function getDescriptor(klass) {
2188
+ function getDefinition(klass) {
2018
2189
  /** @type {?} */
2019
- var placeOptions = Reflect.getMetadata('place.options', klass);
2020
- return new Descriptor(klass, placeOptions);
2190
+ var placeOptions = Reflect.getMetadata(DEFINITION_META_DATA_KEY, klass);
2191
+ return new Definition(klass, placeOptions);
2192
+ }
2193
+ PlaceComponent.getDefinition = getDefinition;
2194
+ /**
2195
+ * @param {?} klass
2196
+ * @param {?} options
2197
+ * @return {?}
2198
+ */
2199
+ function injectDefinition(klass, options) {
2200
+ Reflect.defineMetadata(DEFINITION_META_DATA_KEY, options, klass);
2021
2201
  }
2022
- Place.getDescriptor = getDescriptor;
2023
- })(Place || (Place = {}));
2202
+ PlaceComponent.injectDefinition = injectDefinition;
2203
+ })(PlaceComponent || (PlaceComponent = {}));
2024
2204
 
2025
2205
  /**
2026
2206
  * @fileoverview added by tsickle
2027
2207
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2028
2208
  */
2029
- var TabbedPlaceNavigationComponent = /** @class */ (function (_super) {
2030
- __extends(TabbedPlaceNavigationComponent, _super);
2031
- function TabbedPlaceNavigationComponent() {
2209
+ var PlaceService = /** @class */ (function (_super) {
2210
+ __extends(PlaceService, _super);
2211
+ function PlaceService(router) {
2032
2212
  var _this = _super.call(this) || this;
2033
- var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
2034
- _this.orderedPlaces = chain(_this.placesModel).map((/**
2035
- * @param {?} c
2036
- * @return {?}
2037
- */
2038
- function (c) { return Place.getDescriptor(c); })).sortBy('order');
2213
+ _this.router = router;
2214
+ _this._activePlaces = new MutableListModel();
2039
2215
  return _this;
2040
2216
  }
2217
+ Object.defineProperty(PlaceService.prototype, "activePlaces", {
2218
+ get: /**
2219
+ * @return {?}
2220
+ */
2221
+ function () {
2222
+ return this._activePlaces.readonly;
2223
+ },
2224
+ enumerable: true,
2225
+ configurable: true
2226
+ });
2041
2227
  /**
2228
+ * @param {?} place
2042
2229
  * @return {?}
2043
2230
  */
2044
- TabbedPlaceNavigationComponent.prototype.ngOnInit = /**
2231
+ PlaceService.prototype.onActivate = /**
2232
+ * @param {?} place
2045
2233
  * @return {?}
2046
2234
  */
2047
- function () {
2235
+ function (place) {
2236
+ this._activePlaces.push(place);
2048
2237
  };
2049
- TabbedPlaceNavigationComponent.decorators = [
2238
+ /**
2239
+ * @param {?} place
2240
+ * @return {?}
2241
+ */
2242
+ PlaceService.prototype.onDeactivate = /**
2243
+ * @param {?} place
2244
+ * @return {?}
2245
+ */
2246
+ function (place) {
2247
+ this._activePlaces.remove(place);
2248
+ };
2249
+ /**
2250
+ * @param {?} params
2251
+ * @return {?}
2252
+ */
2253
+ PlaceService.prototype.notifyRouteParametersChanged = /**
2254
+ * @param {?} params
2255
+ * @return {?}
2256
+ */
2257
+ function (params) {
2258
+ // We update the router state...
2259
+ if (params.updateRoute) {
2260
+ /** @type {?} */
2261
+ var routeId = params.next.getFormattedRouteId();
2262
+ /** @type {?} */
2263
+ var relativePath = !!params.previous.hasRouteId() ? '..' : '.';
2264
+ /** @type {?} */
2265
+ var path = routeId ? [relativePath, routeId, params.next.getFormattedParameters()] : [relativePath, params.next.getFormattedParameters()];
2266
+ this.router.navigate(path, {
2267
+ relativeTo: params.placeComponent.activatedRoute
2268
+ });
2269
+ }
2270
+ };
2271
+ PlaceService.decorators = [
2272
+ { type: Injectable, args: [{
2273
+ providedIn: 'root'
2274
+ },] }
2275
+ ];
2276
+ /** @nocollapse */
2277
+ PlaceService.ctorParameters = function () { return [
2278
+ { type: Router }
2279
+ ]; };
2280
+ /** @nocollapse */ PlaceService.ngInjectableDef = ɵɵdefineInjectable({ factory: function PlaceService_Factory() { return new PlaceService(ɵɵinject(Router)); }, token: PlaceService, providedIn: "root" });
2281
+ __decorate([
2282
+ Trace(),
2283
+ __metadata("design:type", Function),
2284
+ __metadata("design:paramtypes", [PlaceComponent]),
2285
+ __metadata("design:returntype", void 0)
2286
+ ], PlaceService.prototype, "onActivate", null);
2287
+ __decorate([
2288
+ Trace(),
2289
+ __metadata("design:type", Function),
2290
+ __metadata("design:paramtypes", [PlaceComponent]),
2291
+ __metadata("design:returntype", void 0)
2292
+ ], PlaceService.prototype, "onDeactivate", null);
2293
+ __decorate([
2294
+ Trace(),
2295
+ __metadata("design:type", Function),
2296
+ __metadata("design:paramtypes", [Object]),
2297
+ __metadata("design:returntype", void 0)
2298
+ ], PlaceService.prototype, "notifyRouteParametersChanged", null);
2299
+ return PlaceService;
2300
+ }(GarbageCollector));
2301
+ if (false) {
2302
+ /**
2303
+ * @type {?}
2304
+ * @private
2305
+ */
2306
+ PlaceService.prototype._activePlaces;
2307
+ /**
2308
+ * @type {?}
2309
+ * @protected
2310
+ */
2311
+ PlaceService.prototype.router;
2312
+ }
2313
+
2314
+ /**
2315
+ * @fileoverview added by tsickle
2316
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2317
+ */
2318
+ // Freezes the state of the components at the start of the animation.
2319
+ /** @type {?} */
2320
+ var animationStartStyle = style({ position: 'absolute', top: '0', left: '0', bottom: '0', right: '0' });
2321
+ /** @type {?} */
2322
+ var left = [
2323
+ query(':enter, :leave', animationStartStyle, { optional: true }),
2324
+ group([
2325
+ query(':enter', [
2326
+ style({ transform: 'translateX(-100%)' }),
2327
+ animate('{{duration}} ease-out', style({ transform: 'translateX(0%)' }))
2328
+ ], {
2329
+ optional: true
2330
+ }),
2331
+ query(':leave', [
2332
+ style({ transform: 'translateX(0%)' }),
2333
+ animate('{{duration}} ease-out', style({ transform: 'translateX(100%)' }))
2334
+ ], {
2335
+ optional: true
2336
+ })
2337
+ ])
2338
+ ];
2339
+ /** @type {?} */
2340
+ var right = [
2341
+ query(':enter, :leave', animationStartStyle, { optional: true }),
2342
+ group([
2343
+ query(':enter', [
2344
+ style({ transform: 'translateX(100%)' }),
2345
+ animate('{{duration}} ease-out', style({ transform: 'translateX(0%)' }))
2346
+ ], {
2347
+ optional: true
2348
+ }),
2349
+ query(':leave', [style({ transform: 'translateX(0%)' }), animate('{{duration}} ease-out', style({ transform: 'translateX(-100%)' }))], {
2350
+ optional: true
2351
+ })
2352
+ ])
2353
+ ];
2354
+ /** @type {?} */
2355
+ var LEFT_RIGHT_PLACE_ANIMATION = trigger('routeAnimations', [
2356
+ transition(':increment', right, { params: { duration: '.3s' } }),
2357
+ transition(':decrement', left, { params: { duration: '.3s' } })
2358
+ ]);
2359
+
2360
+ /**
2361
+ * @fileoverview added by tsickle
2362
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2363
+ */
2364
+ var PlaceOutletComponent = /** @class */ (function () {
2365
+ function PlaceOutletComponent(placeService) {
2366
+ this.placeService = placeService;
2367
+ this.animate = true;
2368
+ }
2369
+ /**
2370
+ * @return {?}
2371
+ */
2372
+ PlaceOutletComponent.prototype.ngOnInit = /**
2373
+ * @return {?}
2374
+ */
2375
+ function () {
2376
+ };
2377
+ /**
2378
+ * @param {?} $event
2379
+ * @return {?}
2380
+ */
2381
+ PlaceOutletComponent.prototype.onActivate = /**
2382
+ * @param {?} $event
2383
+ * @return {?}
2384
+ */
2385
+ function ($event) {
2386
+ this.currentPlace = $event;
2387
+ this.placeService.onActivate($event);
2388
+ if (!this.animate) {
2389
+ this.notifyPlaceReady();
2390
+ }
2391
+ };
2392
+ /**
2393
+ * @param {?} $event
2394
+ * @return {?}
2395
+ */
2396
+ PlaceOutletComponent.prototype.onDeactivate = /**
2397
+ * @param {?} $event
2398
+ * @return {?}
2399
+ */
2400
+ function ($event) {
2401
+ this.currentPlace = null;
2402
+ this.placeService.onDeactivate($event);
2403
+ };
2404
+ /**
2405
+ * @param {?} outlet
2406
+ * @return {?}
2407
+ */
2408
+ PlaceOutletComponent.prototype.getPlaceOrder = /**
2409
+ * @param {?} outlet
2410
+ * @return {?}
2411
+ */
2412
+ function (outlet) {
2413
+ return this.animate && outlet && outlet.activatedRouteData && outlet.activatedRouteData['placeOrder'];
2414
+ };
2415
+ /**
2416
+ * @return {?}
2417
+ */
2418
+ PlaceOutletComponent.prototype.animationDone = /**
2419
+ * @return {?}
2420
+ */
2421
+ function () {
2422
+ this.notifyPlaceReady();
2423
+ };
2424
+ /**
2425
+ * @private
2426
+ * @return {?}
2427
+ */
2428
+ PlaceOutletComponent.prototype.notifyPlaceReady = /**
2429
+ * @private
2430
+ * @return {?}
2431
+ */
2432
+ function () {
2433
+ if (this.currentPlace) {
2434
+ this.currentPlace.onPlaceReady();
2435
+ }
2436
+ };
2437
+ PlaceOutletComponent.decorators = [
2438
+ { type: Component, args: [{
2439
+ selector: 'angular-ui-powerups-place-outlet',
2440
+ template: "<div class=\"router-outlet-container\"\n [@routeAnimations]=\"getPlaceOrder(routerOutlet)\"\n (@routeAnimations.done)=\"animationDone()\"\n>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\">\n </router-outlet>\n</div>\n\n",
2441
+ animations: [LEFT_RIGHT_PLACE_ANIMATION],
2442
+ styles: [":host{display:flex;flex-direction:column;min-height:0}.router-outlet-container{flex:1;display:block;position:relative;min-height:0}router-outlet{display:none}"]
2443
+ }] }
2444
+ ];
2445
+ /** @nocollapse */
2446
+ PlaceOutletComponent.ctorParameters = function () { return [
2447
+ { type: PlaceService }
2448
+ ]; };
2449
+ PlaceOutletComponent.propDecorators = {
2450
+ animate: [{ type: Input }],
2451
+ routerOutLet: [{ type: ViewChild, args: ['routerOutlet', { static: false },] }]
2452
+ };
2453
+ return PlaceOutletComponent;
2454
+ }());
2455
+ if (false) {
2456
+ /** @type {?} */
2457
+ PlaceOutletComponent.prototype.animate;
2458
+ /** @type {?} */
2459
+ PlaceOutletComponent.prototype.routerOutLet;
2460
+ /**
2461
+ * @type {?}
2462
+ * @private
2463
+ */
2464
+ PlaceOutletComponent.prototype.currentPlace;
2465
+ /**
2466
+ * @type {?}
2467
+ * @private
2468
+ */
2469
+ PlaceOutletComponent.prototype.placeService;
2470
+ }
2471
+
2472
+ /**
2473
+ * @fileoverview added by tsickle
2474
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2475
+ */
2476
+ var TabbedPlaceNavigationComponent = /** @class */ (function (_super) {
2477
+ __extends(TabbedPlaceNavigationComponent, _super);
2478
+ function TabbedPlaceNavigationComponent() {
2479
+ var _this = _super.call(this) || this;
2480
+ var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
2481
+ _this.orderedPlaces = chain(_this.placesModel).map((/**
2482
+ * @param {?} c
2483
+ * @return {?}
2484
+ */
2485
+ function (c) { return PlaceComponent.getDefinition(c); })).sortBy('order');
2486
+ return _this;
2487
+ }
2488
+ /**
2489
+ * @return {?}
2490
+ */
2491
+ TabbedPlaceNavigationComponent.prototype.ngOnInit = /**
2492
+ * @return {?}
2493
+ */
2494
+ function () {
2495
+ };
2496
+ TabbedPlaceNavigationComponent.decorators = [
2050
2497
  { type: Component, args: [{
2051
2498
  selector: 'angular-ui-powerups-tabbed-place-navigation',
2052
2499
  template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let placeDescriptor of orderedPlaces.value\"\n [routerLink]='placeDescriptor.path'\n routerLinkActive #rla=\"routerLinkActive\"\n [active]=\"rla.isActive\"\n [matTooltip]=\"placeDescriptor.searchData(['navTooltip', 'navTitle'])\">\n <mat-icon *ngIf=\"placeDescriptor.getData('navIcon')\">{{placeDescriptor.getData('navIcon')}}</mat-icon>\n <span>{{placeDescriptor.getData(\"navTitle\", 'missing @Place({data: {navTitle: ??}\\})')}}</span>\n </a>\n</nav>\n",
@@ -2358,559 +2805,191 @@ var ResizeAwareComponent = /** @class */ (function (_super) {
2358
2805
  function () {
2359
2806
  return this._boundsModel.readonly;
2360
2807
  },
2361
- enumerable: true,
2362
- configurable: true
2363
- });
2364
- Object.defineProperty(ResizeAwareComponent.prototype, "nativeElement", {
2365
- get: /**
2366
- * @return {?}
2367
- */
2368
- function () {
2369
- return this.elementRef.nativeElement;
2370
- },
2371
- enumerable: true,
2372
- configurable: true
2373
- });
2374
- // TODO: Make this handle body scroll
2375
- // TODO: Make this handle body scroll
2376
- /**
2377
- * @param {?} point
2378
- * @return {?}
2379
- */
2380
- ResizeAwareComponent.prototype.relativePositionOf =
2381
- // TODO: Make this handle body scroll
2382
- /**
2383
- * @param {?} point
2384
- * @return {?}
2385
- */
2386
- function (point) {
2387
- return this.bounds.relativePositionOf(point);
2388
- };
2389
- Object.defineProperty(ResizeAwareComponent.prototype, "bounds", {
2390
- get: /**
2391
- * @return {?}
2392
- */
2393
- function () {
2394
- return this._boundsModel.value;
2395
- },
2396
- enumerable: true,
2397
- configurable: true
2398
- });
2399
- /**
2400
- * @private
2401
- * @return {?}
2402
- */
2403
- ResizeAwareComponent.prototype.updateBounds = /**
2404
- * @private
2405
- * @return {?}
2406
- */
2407
- function () {
2408
- this._boundsModel.value = Bounds.ofElement(this.nativeElement);
2409
- };
2410
- return ResizeAwareComponent;
2411
- }(DisposableComponent));
2412
- if (false) {
2413
- /**
2414
- * @type {?}
2415
- * @private
2416
- */
2417
- ResizeAwareComponent.prototype._boundsModel;
2418
- /**
2419
- * @type {?}
2420
- * @protected
2421
- */
2422
- ResizeAwareComponent.prototype.elementRef;
2423
- /**
2424
- * @type {?}
2425
- * @protected
2426
- */
2427
- ResizeAwareComponent.prototype.ngZone;
2428
- }
2429
-
2430
- /**
2431
- * @fileoverview added by tsickle
2432
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2433
- */
2434
-
2435
- /**
2436
- * @fileoverview added by tsickle
2437
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2438
- */
2439
-
2440
- /**
2441
- * @fileoverview added by tsickle
2442
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2443
- */
2444
- /**
2445
- * @record
2446
- */
2447
- function Alert() { }
2448
- if (false) {
2449
- /**
2450
- * @return {?}
2451
- */
2452
- Alert.prototype.title = function () { };
2453
- /**
2454
- * @return {?}
2455
- */
2456
- Alert.prototype.content = function () { };
2457
- /**
2458
- * @return {?}
2459
- */
2460
- Alert.prototype.ok = function () { };
2461
- }
2462
-
2463
- /**
2464
- * @fileoverview added by tsickle
2465
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2466
- */
2467
- /**
2468
- * @record
2469
- */
2470
- function Confirm() { }
2471
- if (false) {
2472
- /** @type {?|undefined} */
2473
- Confirm.prototype.destructive;
2474
- /**
2475
- * @return {?}
2476
- */
2477
- Confirm.prototype.cancel = function () { };
2478
- }
2479
-
2480
- /**
2481
- * @fileoverview added by tsickle
2482
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2483
- */
2484
- /**
2485
- * @record
2486
- * @template R, E
2487
- */
2488
- function Result() { }
2489
- (function (Result) {
2490
- /**
2491
- * @record
2492
- * @template R, E
2493
- */
2494
- function Callback() { }
2495
- Result.Callback = Callback;
2496
- if (false) {
2497
- /** @type {?} */
2498
- Callback.prototype.then;
2499
- /** @type {?} */
2500
- Callback.prototype.catch;
2501
- }
2502
- })(Result || (Result = {}));
2503
-
2504
- /**
2505
- * @fileoverview added by tsickle
2506
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2507
- */
2508
- /**
2509
- * @record
2510
- * @template D, R, E
2511
- */
2512
- function ActivityOutletContext() { }
2513
- if (false) {
2514
- /** @type {?} */
2515
- ActivityOutletContext.prototype.interactionContext;
2516
- /** @type {?} */
2517
- ActivityOutletContext.prototype.activityClass;
2518
- /** @type {?} */
2519
- ActivityOutletContext.prototype.activityData;
2520
- /** @type {?} */
2521
- ActivityOutletContext.prototype.onDone;
2522
- /** @type {?} */
2523
- ActivityOutletContext.prototype.onCancel;
2524
- }
2525
-
2526
- /**
2527
- * @fileoverview added by tsickle
2528
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2529
- */
2530
-
2531
- /**
2532
- * @fileoverview added by tsickle
2533
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2534
- */
2535
- /**
2536
- * @record
2537
- * @template T
2538
- */
2539
- function ResolvedParameter() { }
2540
- if (false) {
2541
- /** @type {?} */
2542
- ResolvedParameter.prototype.parameterDef;
2543
- /** @type {?} */
2544
- ResolvedParameter.prototype.resolvedValue;
2545
- }
2546
- var ResolvedParameters = /** @class */ (function () {
2547
- function ResolvedParameters(parameters) {
2548
- this.parameters = parameters;
2549
- }
2550
- /**
2551
- * @template T
2552
- * @param {?} parameter
2553
- * @return {?}
2554
- */
2555
- ResolvedParameters.prototype.get = /**
2556
- * @template T
2557
- * @param {?} parameter
2558
- * @return {?}
2559
- */
2560
- function (parameter) {
2561
- /** @type {?} */
2562
- var resolved = this.parameters.find((/**
2563
- * @param {?} p
2564
- * @return {?}
2565
- */
2566
- function (p) { return p.parameterDef === parameter; }));
2567
- return resolved ? resolved.resolvedValue : null;
2568
- };
2569
- /**
2570
- * @template T
2571
- * @param {?} parameter
2572
- * @param {?} value
2573
- * @return {?}
2574
- */
2575
- ResolvedParameters.prototype.replace = /**
2576
- * @template T
2577
- * @param {?} parameter
2578
- * @param {?} value
2579
- * @return {?}
2580
- */
2581
- function (parameter, value) {
2582
- return new ResolvedParameters(this.parameters.filter((/**
2583
- * @param {?} p
2584
- * @return {?}
2585
- */
2586
- function (p) { return p.parameterDef !== parameter; })).concat({
2587
- parameterDef: parameter,
2588
- resolvedValue: value
2589
- }));
2590
- };
2591
- /**
2592
- * @protected
2593
- * @return {?}
2594
- */
2595
- ResolvedParameters.prototype.getFormattedRouteId = /**
2596
- * @protected
2597
- * @return {?}
2598
- */
2599
- function () {
2600
- /** @type {?} */
2601
- var routeIdParam = this.getRouteIdParam();
2602
- return routeIdParam ? routeIdParam.parameterDef.type.format(routeIdParam.resolvedValue) : null;
2603
- };
2604
- /**
2605
- * @private
2606
- * @return {?}
2607
- */
2608
- ResolvedParameters.prototype.getRouteIdParam = /**
2609
- * @private
2610
- * @return {?}
2611
- */
2612
- function () {
2613
- return this.parameters.find((/**
2614
- * @param {?} p
2615
- * @return {?}
2616
- */
2617
- function (p) { return p.parameterDef.isRouteId; }));
2618
- };
2619
- /**
2620
- * @protected
2621
- * @return {?}
2622
- */
2623
- ResolvedParameters.prototype.getFormattedParameters = /**
2624
- * @protected
2625
- * @return {?}
2626
- */
2627
- function () {
2628
- /** @type {?} */
2629
- var params = {};
2630
- /** @type {?} */
2631
- var routeIdParam = this.parameters.filter((/**
2632
- * @param {?} p
2633
- * @return {?}
2634
- */
2635
- function (p) { return !p.parameterDef.isRouteId; })).forEach((/**
2636
- * @param {?} p
2637
- * @return {?}
2638
- */
2639
- function (p) {
2640
- params[p.parameterDef.name] = p.parameterDef.type.format(p.resolvedValue);
2641
- }));
2642
- return params;
2643
- };
2644
- /**
2645
- * @return {?}
2646
- */
2647
- ResolvedParameters.prototype.hasRouteId = /**
2648
- * @return {?}
2649
- */
2650
- function () {
2651
- return !!this.getRouteIdParam();
2652
- };
2653
- /**
2654
- * @param {?} previous
2655
- * @param {?} router
2656
- * @param {?} activatedRoute
2657
- * @return {?}
2658
- */
2659
- ResolvedParameters.prototype.redirect = /**
2660
- * @param {?} previous
2661
- * @param {?} router
2662
- * @param {?} activatedRoute
2663
- * @return {?}
2664
- */
2665
- function (previous, router, activatedRoute) {
2666
- /** @type {?} */
2667
- var routeId = this.getFormattedRouteId();
2668
- /** @type {?} */
2669
- var relativePath = !!previous.hasRouteId() ? '..' : '.';
2670
- /** @type {?} */
2671
- var path = routeId ? [relativePath, routeId, this.getFormattedParameters()] : [relativePath, this.getFormattedParameters()];
2672
- router.navigate(path, {
2673
- relativeTo: activatedRoute
2674
- });
2675
- };
2676
- __decorate([
2677
- Trace(),
2678
- __metadata("design:type", Function),
2679
- __metadata("design:paramtypes", []),
2680
- __metadata("design:returntype", void 0)
2681
- ], ResolvedParameters.prototype, "getFormattedRouteId", null);
2682
- __decorate([
2683
- Trace(),
2684
- __metadata("design:type", Function),
2685
- __metadata("design:paramtypes", []),
2686
- __metadata("design:returntype", void 0)
2687
- ], ResolvedParameters.prototype, "getFormattedParameters", null);
2688
- __decorate([
2689
- Trace(),
2690
- __metadata("design:type", Function),
2691
- __metadata("design:paramtypes", [ResolvedParameters, Router, ActivatedRoute]),
2692
- __metadata("design:returntype", void 0)
2693
- ], ResolvedParameters.prototype, "redirect", null);
2694
- return ResolvedParameters;
2695
- }());
2696
- if (false) {
2697
- /** @type {?} */
2698
- ResolvedParameters.prototype.parameters;
2699
- }
2700
- var RouteParameterBindings = /** @class */ (function (_super) {
2701
- __extends(RouteParameterBindings, _super);
2702
- function RouteParameterBindings(component, router, activatedRoute) {
2703
- var _this = _super.call(this) || this;
2704
- _this.component = component;
2705
- _this.router = router;
2706
- _this.activatedRoute = activatedRoute;
2707
- _this._incomingRouteChange = new MutableValueModel(false);
2708
- _this.resolvedParameters = new MutableValueModel();
2709
- var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe;
2710
- _this.txo = new TransactionObserver(); //.onEvent(e => console.log(e.toString()));
2711
- //.onEvent(e => console.log(e.toString()));
2712
- /** @type {?} */
2713
- var routeParameterDefs = Klass.get(component).getMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY);
2714
- routeParameterDefs.forEach((/**
2715
- * @param {?} parameter
2716
- * @return {?}
2717
- */
2718
- function (parameter) { return _this.installBinding(parameter); }));
2719
- /** @type {?} */
2720
- var incomingResolvedRouteParameters = observe.valuesFrom(activatedRoute.paramMap)
2721
- .last()
2722
- .map((/**
2723
- * @param {?} params
2724
- * @return {?}
2725
- */
2726
- function (params) {
2727
- /** @type {?} */
2728
- var result = [];
2729
- routeParameterDefs.forEach((/**
2730
- * @param {?} parameterDef
2731
- * @return {?}
2732
- */
2733
- function (parameterDef) {
2734
- /** @type {?} */
2735
- var resolvedValue;
2736
- if (parameterDef.isArray) {
2737
- resolvedValue = params.getAll(parameterDef.name).map((/**
2738
- * @param {?} v
2739
- * @return {?}
2740
- */
2741
- function (v) { return parameterDef.type.parse(v); }));
2742
- }
2743
- else {
2744
- resolvedValue = parameterDef.type.parse(params.get(parameterDef.name));
2745
- }
2746
- result.push({ parameterDef: parameterDef, resolvedValue: resolvedValue });
2747
- }));
2748
- return new ResolvedParameters(result);
2749
- }));
2750
- incomingResolvedRouteParameters.subscribe((/**
2751
- * @param {?} resolvedParameters
2752
- * @return {?}
2753
- */
2754
- function (resolvedParameters) {
2755
- _this._incomingRouteChange.value = true;
2756
- _this.resolvedParameters.value = resolvedParameters;
2757
- _this._incomingRouteChange.value = false;
2758
- }));
2759
- when.valueOf(_this.resolvedParameters).changes((/**
2760
- * @param {?} params
2761
- * @param {?} previous
2762
- * @return {?}
2763
- */
2764
- function (params, previous) {
2765
- params.redirect(previous, router, activatedRoute);
2766
- }), { unless: _this.incomingRouteChange });
2767
- _this.txo.observe('incomingResolvedRouteParameters', incomingResolvedRouteParameters);
2768
- _this.txo.observe('this.routeIsChanging', _this.incomingRouteChange);
2769
- return _this;
2770
- }
2771
- Object.defineProperty(RouteParameterBindings.prototype, "incomingRouteChange", {
2808
+ enumerable: true,
2809
+ configurable: true
2810
+ });
2811
+ Object.defineProperty(ResizeAwareComponent.prototype, "nativeElement", {
2772
2812
  get: /**
2773
2813
  * @return {?}
2774
2814
  */
2775
2815
  function () {
2776
- return this._incomingRouteChange.readonly;
2816
+ return this.elementRef.nativeElement;
2777
2817
  },
2778
2818
  enumerable: true,
2779
2819
  configurable: true
2780
2820
  });
2821
+ // TODO: Make this handle body scroll
2822
+ // TODO: Make this handle body scroll
2781
2823
  /**
2782
- * @protected
2783
- * @template T
2784
- * @param {?} parameter
2824
+ * @param {?} point
2785
2825
  * @return {?}
2786
2826
  */
2787
- RouteParameterBindings.prototype.installBinding = /**
2788
- * @protected
2789
- * @template T
2790
- * @param {?} parameter
2827
+ ResizeAwareComponent.prototype.relativePositionOf =
2828
+ // TODO: Make this handle body scroll
2829
+ /**
2830
+ * @param {?} point
2791
2831
  * @return {?}
2792
2832
  */
2793
- function (parameter) {
2794
- /** @type {?} */
2795
- var model = this.getModelFor(parameter);
2796
- // this.txo.observe(parameter.propertyName, model);
2797
- this.registerDisposable(new Binding(this.resolvedParameters, model, {
2798
- toRight: /**
2799
- * @param {?} parameters
2800
- * @return {?}
2801
- */
2802
- function (parameters) {
2803
- return parameters.get(parameter);
2804
- },
2805
- toLeft: /**
2806
- * @param {?} value
2807
- * @param {?=} currentParameters
2808
- * @return {?}
2809
- */
2810
- function (value, currentParameters) {
2811
- return currentParameters.replace(parameter, value);
2812
- }
2813
- }));
2833
+ function (point) {
2834
+ return this.bounds.relativePositionOf(point);
2814
2835
  };
2836
+ Object.defineProperty(ResizeAwareComponent.prototype, "bounds", {
2837
+ get: /**
2838
+ * @return {?}
2839
+ */
2840
+ function () {
2841
+ return this._boundsModel.value;
2842
+ },
2843
+ enumerable: true,
2844
+ configurable: true
2845
+ });
2815
2846
  /**
2816
2847
  * @private
2817
- * @template T
2818
- * @param {?} parameter
2819
2848
  * @return {?}
2820
2849
  */
2821
- RouteParameterBindings.prototype.getModelFor = /**
2850
+ ResizeAwareComponent.prototype.updateBounds = /**
2822
2851
  * @private
2823
- * @template T
2824
- * @param {?} parameter
2825
2852
  * @return {?}
2826
2853
  */
2827
- function (parameter) {
2828
- return this.component[parameter.propertyName];
2854
+ function () {
2855
+ this._boundsModel.value = Bounds.ofElement(this.nativeElement);
2829
2856
  };
2830
- return RouteParameterBindings;
2831
- }(GarbageCollector));
2857
+ return ResizeAwareComponent;
2858
+ }(DisposableComponent));
2832
2859
  if (false) {
2833
- /** @type {?} */
2834
- RouteParameterBindings.prototype._incomingRouteChange;
2835
2860
  /**
2836
2861
  * @type {?}
2837
2862
  * @private
2838
2863
  */
2839
- RouteParameterBindings.prototype.txo;
2864
+ ResizeAwareComponent.prototype._boundsModel;
2840
2865
  /**
2841
2866
  * @type {?}
2842
- * @private
2867
+ * @protected
2843
2868
  */
2844
- RouteParameterBindings.prototype.resolvedParameters;
2869
+ ResizeAwareComponent.prototype.elementRef;
2845
2870
  /**
2846
2871
  * @type {?}
2847
- * @private
2872
+ * @protected
2848
2873
  */
2849
- RouteParameterBindings.prototype.component;
2874
+ ResizeAwareComponent.prototype.ngZone;
2875
+ }
2876
+
2877
+ /**
2878
+ * @fileoverview added by tsickle
2879
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2880
+ */
2881
+
2882
+ /**
2883
+ * @fileoverview added by tsickle
2884
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2885
+ */
2886
+
2887
+ /**
2888
+ * @fileoverview added by tsickle
2889
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2890
+ */
2891
+ /**
2892
+ * @record
2893
+ */
2894
+ function Alert() { }
2895
+ if (false) {
2850
2896
  /**
2851
- * @type {?}
2852
- * @private
2897
+ * @return {?}
2898
+ */
2899
+ Alert.prototype.title = function () { };
2900
+ /**
2901
+ * @return {?}
2853
2902
  */
2854
- RouteParameterBindings.prototype.router;
2903
+ Alert.prototype.content = function () { };
2855
2904
  /**
2856
- * @type {?}
2857
- * @private
2905
+ * @return {?}
2858
2906
  */
2859
- RouteParameterBindings.prototype.activatedRoute;
2907
+ Alert.prototype.ok = function () { };
2860
2908
  }
2861
- (function (RouteParameterBindings) {
2862
- RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');
2863
- })(RouteParameterBindings || (RouteParameterBindings = {}));
2864
2909
 
2865
2910
  /**
2866
2911
  * @fileoverview added by tsickle
2867
2912
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2868
2913
  */
2869
- var AbstractPlaceComponent = /** @class */ (function (_super) {
2870
- __extends(AbstractPlaceComponent, _super);
2871
- function AbstractPlaceComponent(activatedRoute, router) {
2872
- var _this = _super.call(this) || this;
2873
- _this.activatedRoute = activatedRoute;
2874
- _this.routeBindingMediator = _this.registerDisposable(new RouteParameterBindings(_this, router, activatedRoute));
2875
- return _this;
2876
- }
2877
- Object.defineProperty(AbstractPlaceComponent.prototype, "placeConfig", {
2878
- get: /**
2879
- * @return {?}
2880
- */
2881
- function () {
2882
- return Place.getDescriptor((/** @type {?} */ ((/** @type {?} */ (this.constructor)))));
2883
- },
2884
- enumerable: true,
2885
- configurable: true
2886
- });
2914
+ /**
2915
+ * @record
2916
+ */
2917
+ function Confirm() { }
2918
+ if (false) {
2919
+ /** @type {?|undefined} */
2920
+ Confirm.prototype.destructive;
2887
2921
  /**
2888
2922
  * @return {?}
2889
2923
  */
2890
- AbstractPlaceComponent.prototype.canDeactivate = /**
2891
- * @return {?}
2892
- */
2893
- function () {
2894
- return true;
2895
- };
2896
- __decorate([
2897
- Memoize(),
2898
- __metadata("design:type", Place.Descriptor),
2899
- __metadata("design:paramtypes", [])
2900
- ], AbstractPlaceComponent.prototype, "placeConfig", null);
2901
- return AbstractPlaceComponent;
2902
- }(DisposableComponent));
2903
- if (false) {
2924
+ Confirm.prototype.cancel = function () { };
2925
+ }
2926
+
2927
+ /**
2928
+ * @fileoverview added by tsickle
2929
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2930
+ */
2931
+ /**
2932
+ * @record
2933
+ * @template R, E
2934
+ */
2935
+ function Result() { }
2936
+ (function (Result) {
2904
2937
  /**
2905
- * @type {?}
2906
- * @private
2938
+ * @record
2939
+ * @template R, E
2907
2940
  */
2908
- AbstractPlaceComponent.prototype.routeBindingMediator;
2941
+ function Callback() { }
2942
+ Result.Callback = Callback;
2943
+ if (false) {
2944
+ /** @type {?} */
2945
+ Callback.prototype.then;
2946
+ /** @type {?} */
2947
+ Callback.prototype.catch;
2948
+ }
2949
+ })(Result || (Result = {}));
2950
+
2951
+ /**
2952
+ * @fileoverview added by tsickle
2953
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2954
+ */
2955
+ /**
2956
+ * @record
2957
+ * @template D, R, E
2958
+ */
2959
+ function ActivityOutletContext() { }
2960
+ if (false) {
2961
+ /** @type {?} */
2962
+ ActivityOutletContext.prototype.interactionContext;
2963
+ /** @type {?} */
2964
+ ActivityOutletContext.prototype.activityClass;
2965
+ /** @type {?} */
2966
+ ActivityOutletContext.prototype.activityData;
2967
+ /** @type {?} */
2968
+ ActivityOutletContext.prototype.onDone;
2969
+ /** @type {?} */
2970
+ ActivityOutletContext.prototype.onCancel;
2971
+ }
2972
+
2973
+ /**
2974
+ * @fileoverview added by tsickle
2975
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2976
+ */
2977
+
2978
+ /**
2979
+ * @fileoverview added by tsickle
2980
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2981
+ */
2982
+ /**
2983
+ * @record
2984
+ */
2985
+ function IPlaceComponent() { }
2986
+ if (false) {
2987
+ /** @type {?} */
2988
+ IPlaceComponent.prototype.activatedRoute;
2909
2989
  /**
2910
- * @type {?}
2911
- * @protected
2990
+ * @return {?}
2912
2991
  */
2913
- AbstractPlaceComponent.prototype.activatedRoute;
2992
+ IPlaceComponent.prototype.onPlaceReady = function () { };
2914
2993
  }
2915
2994
 
2916
2995
  /**
@@ -2920,12 +2999,34 @@ if (false) {
2920
2999
  /**
2921
3000
  * @record
2922
3001
  */
2923
- function PlaceComponent() { }
3002
+ function IPlaceService() { }
2924
3003
  if (false) {
2925
3004
  /**
3005
+ * @param {?} params
3006
+ * @return {?}
3007
+ */
3008
+ IPlaceService.prototype.notifyRouteParametersChanged = function (params) { };
3009
+ }
3010
+
3011
+ /**
3012
+ * @fileoverview added by tsickle
3013
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3014
+ */
3015
+ /**
3016
+ * @param {?} options
3017
+ * @return {?}
3018
+ */
3019
+ function Place(options) {
3020
+ return (/**
3021
+ * @param {?} target
2926
3022
  * @return {?}
2927
3023
  */
2928
- PlaceComponent.prototype.canDeactivate = function () { };
3024
+ function (target) {
3025
+ if (!lang.constructorChain((/** @type {?} */ (target))).includes(PlaceComponent)) {
3026
+ lang.illegalState(target + " must extend PlaceComponent to use the @Place decorator");
3027
+ }
3028
+ PlaceComponent.injectDefinition((/** @type {?} */ (target)), options);
3029
+ });
2929
3030
  }
2930
3031
 
2931
3032
  /**
@@ -2952,7 +3053,21 @@ var LeavePlaceGuard = /** @class */ (function () {
2952
3053
  * @return {?}
2953
3054
  */
2954
3055
  function (component, currentRoute, currentState, nextState) {
2955
- return component.canDeactivate();
3056
+ /** @type {?} */
3057
+ var placeComponent = nextState ?
3058
+ (/** @type {?} */ (nextState.root.firstChild.component)) :
3059
+ null;
3060
+ /** @type {?} */
3061
+ var nextPlaceDefinition = lang.constructorChain(placeComponent).includes(PlaceComponent) ?
3062
+ PlaceComponent.getDefinition((/** @type {?} */ ((/** @type {?} */ (placeComponent))))) :
3063
+ null;
3064
+ if (nextPlaceDefinition.isDescriptorFor(component)) {
3065
+ // console.log("Same place different route. Do we need a place component hook for this??");
3066
+ return true;
3067
+ }
3068
+ else {
3069
+ return component.canDeactivate(nextPlaceDefinition, nextState);
3070
+ }
2956
3071
  };
2957
3072
  LeavePlaceGuard.decorators = [
2958
3073
  { type: Injectable, args: [{
@@ -3759,6 +3874,32 @@ var ParameterType;
3759
3874
  ParameterType.BOOLEAN = new BooleanType();
3760
3875
  })(ParameterType || (ParameterType = {}));
3761
3876
 
3877
+ /**
3878
+ * @fileoverview added by tsickle
3879
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3880
+ */
3881
+ /**
3882
+ * @record
3883
+ * @template T
3884
+ */
3885
+ function ResolvedParameter() { }
3886
+ if (false) {
3887
+ /** @type {?} */
3888
+ ResolvedParameter.prototype.parameterDef;
3889
+ /** @type {?} */
3890
+ ResolvedParameter.prototype.resolvedValue;
3891
+ }
3892
+
3893
+ /**
3894
+ * @fileoverview added by tsickle
3895
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3896
+ */
3897
+ var VisitSnapshot = /** @class */ (function () {
3898
+ function VisitSnapshot() {
3899
+ }
3900
+ return VisitSnapshot;
3901
+ }());
3902
+
3762
3903
  /**
3763
3904
  * @fileoverview added by tsickle
3764
3905
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -3779,5 +3920,5 @@ var ParameterType;
3779
3920
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3780
3921
  */
3781
3922
 
3782
- export { ACTIVITY_DATA, AbstractActivity, AbstractInputComponent, AbstractPlaceComponent, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, AngularUiPowerupsModule, Bounds, BusyOverlayComponent, CommandDirective, ConfirmationDialogComponent, DialogInteractionService, Dimension, DisposableComponent, EmptyStateComponent, FocusBindingDirective, INTERACTION_CONTEXT, InteractionContext, InteractionModule, LEFT_RIGHT_PLACE_ANIMATION, LeavePlaceGuard, NumberInputComponent, ParameterType, PasswordInputComponent, Place, PlaceModule, PlaceOutletComponent, PlaceRouteGuard, PlaceService, Point, QueryParameter, QueryParameterList, ResizeAwareComponent, RouteId, RouteParameter, RouteParameterBindings, RouteParameterList, RouteParameterSanitiser, Sanitiser, SelectInputComponent, StringInputComponent, TabbedPlaceNavigationComponent, slideDownAndUpAnimation, CommandDirective as ɵa, FocusBindingDirective as ɵb, DisposableComponent as ɵc, NumberInputComponent as ɵd, AbstractInputComponent as ɵe, StringInputComponent as ɵf, PasswordInputComponent as ɵg, SelectInputComponent as ɵh, PlaceModule as ɵi, EmptyStateComponent as ɵj, BusyOverlayComponent as ɵk, PlaceOutletComponent as ɵl, LEFT_RIGHT_PLACE_ANIMATION as ɵm, PlaceService as ɵn, TabbedPlaceNavigationComponent as ɵo, InteractionModule as ɵp, ActivityContainerComponent as ɵq, ConfirmationDialogComponent as ɵr, AbstractActivity as ɵs, ACTIVITY_DATA as ɵt, AlertDialogComponent as ɵv, ActivityOutletComponent as ɵx, DialogInteractionService as ɵy, InteractionContext as ɵz };
3923
+ export { ACTIVITY_DATA, AbstractActivity, AbstractInputComponent, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, AngularUiPowerupsModule, Bounds, BusyOverlayComponent, CommandDirective, ConfirmationDialogComponent, DEFINITION_META_DATA_KEY, DialogInteractionService, Dimension, DisposableComponent, EmptyStateComponent, FocusBindingDirective, INTERACTION_CONTEXT, InteractionContext, InteractionModule, LEFT_RIGHT_PLACE_ANIMATION, LeavePlaceGuard, NumberInputComponent, ParameterType, PasswordInputComponent, Place, PlaceComponent, PlaceModule, PlaceOutletComponent, PlaceRouteGuard, PlaceService, Point, QueryParameter, QueryParameterList, ResizeAwareComponent, ResolvedRouteParameterSnapshot, RouteId, RouteParameter, RouteParameterBindings, RouteParameterList, RouteParameterSanitiser, Sanitiser, SelectInputComponent, StringInputComponent, TabbedPlaceNavigationComponent, VisitSnapshot, slideDownAndUpAnimation, CommandDirective as ɵa, FocusBindingDirective as ɵb, DisposableComponent as ɵc, NumberInputComponent as ɵd, AbstractInputComponent as ɵe, StringInputComponent as ɵf, PasswordInputComponent as ɵg, SelectInputComponent as ɵh, PlaceModule as ɵi, EmptyStateComponent as ɵj, BusyOverlayComponent as ɵk, PlaceOutletComponent as ɵl, LEFT_RIGHT_PLACE_ANIMATION as ɵm, PlaceService as ɵn, TabbedPlaceNavigationComponent as ɵo, InteractionModule as ɵp, ActivityContainerComponent as ɵq, ConfirmationDialogComponent as ɵr, AbstractActivity as ɵs, ACTIVITY_DATA as ɵt, AlertDialogComponent as ɵv, ActivityOutletComponent as ɵx, DialogInteractionService as ɵy, InteractionContext as ɵz };
3783
3924
  //# sourceMappingURL=coolon-angular-ui-powerups.js.map