@coolon/angular-ui-powerups 0.0.32 → 0.0.34

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 (60) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +847 -765
  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 +1 -1
  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 +8 -4
  14. package/esm2015/lib/place/place-component.js +163 -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/parameter-decorators.js +1 -42
  18. package/esm2015/lib/place/route/resolved-parameter.js +16 -0
  19. package/esm2015/lib/place/route/resolved-route-parameter-snapshot.js +106 -0
  20. package/esm2015/lib/place/route/route-parameter-bindings.js +14 -158
  21. package/esm2015/lib/place/route/visit-snapshot.js +7 -0
  22. package/esm2015/public_api.js +2 -2
  23. package/esm5/coolon-angular-ui-powerups.js +2 -2
  24. package/esm5/index.js +2 -2
  25. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +40 -4
  26. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +3 -3
  27. package/esm5/lib/place/guards/leave-place.guard.js +1 -1
  28. package/esm5/lib/place/i-place-component.js +17 -0
  29. package/esm5/lib/place/i-place-service.js +16 -0
  30. package/esm5/lib/place/index.js +8 -4
  31. package/esm5/lib/place/place-component.js +191 -7
  32. package/esm5/lib/place/place.decorator.js +7 -97
  33. package/esm5/lib/place/place.service.js +52 -10
  34. package/esm5/lib/place/route/parameter-decorators.js +1 -42
  35. package/esm5/lib/place/route/resolved-parameter.js +16 -0
  36. package/esm5/lib/place/route/resolved-route-parameter-snapshot.js +129 -0
  37. package/esm5/lib/place/route/route-parameter-bindings.js +13 -185
  38. package/esm5/lib/place/route/visit-snapshot.js +11 -0
  39. package/esm5/public_api.js +2 -2
  40. package/fesm2015/coolon-angular-ui-powerups.js +777 -712
  41. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  42. package/fesm5/coolon-angular-ui-powerups.js +843 -761
  43. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  44. package/lib/place/components/place-outlet/place-outlet.component.d.ts +4 -0
  45. package/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.d.ts +1 -2
  46. package/lib/place/i-place-component.d.ts +5 -0
  47. package/lib/place/i-place-service.d.ts +10 -0
  48. package/lib/place/index.d.ts +5 -1
  49. package/lib/place/place-component.d.ts +39 -1
  50. package/lib/place/place.decorator.d.ts +1 -25
  51. package/lib/place/place.service.d.ts +13 -2
  52. package/lib/place/route/parameter-decorators.d.ts +0 -12
  53. package/lib/place/route/resolved-parameter.d.ts +5 -0
  54. package/lib/place/route/resolved-route-parameter-snapshot.d.ts +12 -0
  55. package/lib/place/route/route-parameter-bindings.d.ts +3 -4
  56. package/lib/place/route/visit-snapshot.d.ts +2 -0
  57. package/package.json +1 -1
  58. package/esm2015/lib/place/abstract-place-component.js +0 -50
  59. package/esm5/lib/place/abstract-place-component.js +0 -57
  60. 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,393 @@ 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
+ * @return {?}
2037
+ */
2038
+ PlaceComponent.prototype.canDeactivate = /**
2039
+ * @return {?}
2040
+ */
2041
+ function () {
2042
+ return true;
2043
+ };
2044
+ /**
2045
+ * @return {?}
2046
+ */
2047
+ PlaceComponent.prototype.onPlaceReady = /**
2048
+ * @return {?}
2049
+ */
2050
+ function () {
2051
+ };
2052
+ __decorate([
2053
+ Memoize(),
2054
+ __metadata("design:type", PlaceComponent.Definition),
2055
+ __metadata("design:paramtypes", [])
2056
+ ], PlaceComponent.prototype, "placeConfig", null);
2057
+ __decorate([
2058
+ Trace(),
2059
+ __metadata("design:type", Function),
2060
+ __metadata("design:paramtypes", []),
2061
+ __metadata("design:returntype", void 0)
2062
+ ], PlaceComponent.prototype, "onPlaceReady", null);
2063
+ return PlaceComponent;
2064
+ }(DisposableComponent));
2065
+ if (false) {
2066
+ /**
2067
+ * @type {?}
2068
+ * @private
2069
+ */
2070
+ PlaceComponent.prototype.routeBindingMediator;
2071
+ /** @type {?} */
2072
+ PlaceComponent.prototype.activatedRoute;
2073
+ }
2074
+ (function (PlaceComponent) {
2075
+ var Definition = /** @class */ (function () {
2076
+ function Definition(component, options) {
2077
+ this.component = component;
2078
+ assert.notNil(options);
2079
+ this.path = options.path;
2080
+ this.order = options.order;
2081
+ this.data = options.data;
2082
+ this.authenticate = isNil(options.authenticate) || options.authenticate;
2083
+ }
2084
+ /**
2085
+ * @param {?} construcable
2086
+ * @return {?}
2087
+ */
2088
+ Definition.prototype.isDescriptorForType = /**
2089
+ * @param {?} construcable
2090
+ * @return {?}
2091
+ */
2092
+ function (construcable) {
2093
+ return lang.constructorChain(construcable).includes(PlaceComponent);
2094
+ };
2095
+ /**
2096
+ * @param {?} placeComponent
2097
+ * @return {?}
2098
+ */
2099
+ Definition.prototype.isDescriptorFor = /**
2100
+ * @param {?} placeComponent
2101
+ * @return {?}
2102
+ */
2103
+ function (placeComponent) {
2104
+ return placeComponent.constructor === this.component;
2105
+ };
2106
+ /**
2107
+ * @template T
2108
+ * @param {?} key
2109
+ * @param {?=} defaultValue
2110
+ * @return {?}
2111
+ */
2112
+ Definition.prototype.getData = /**
1963
2113
  * @template T
1964
2114
  * @param {?} key
1965
2115
  * @param {?=} defaultValue
@@ -1976,7 +2126,7 @@ function Place(options) {
1976
2126
  * @param {?=} defaultValue
1977
2127
  * @return {?}
1978
2128
  */
1979
- Descriptor.prototype.searchData = /**
2129
+ Definition.prototype.searchData = /**
1980
2130
  * @template T
1981
2131
  * @param {?} keys
1982
2132
  * @param {?=} defaultValue
@@ -1997,57 +2147,350 @@ function Place(options) {
1997
2147
  return defaultValue;
1998
2148
  }
1999
2149
  };
2000
- return Descriptor;
2150
+ return Definition;
2001
2151
  }());
2002
- Place.Descriptor = Descriptor;
2152
+ PlaceComponent.Definition = Definition;
2003
2153
  if (false) {
2004
2154
  /** @type {?} */
2005
- Descriptor.prototype.path;
2155
+ Definition.prototype.path;
2156
+ /** @type {?} */
2157
+ Definition.prototype.authenticate;
2006
2158
  /** @type {?} */
2007
- Descriptor.prototype.authenticate;
2159
+ Definition.prototype.order;
2008
2160
  /** @type {?} */
2009
- Descriptor.prototype.order;
2161
+ Definition.prototype.data;
2010
2162
  /** @type {?} */
2011
- Descriptor.prototype.data;
2163
+ Definition.prototype.component;
2164
+ }
2165
+ /**
2166
+ * @record
2167
+ */
2168
+ function Options() { }
2169
+ PlaceComponent.Options = Options;
2170
+ if (false) {
2171
+ /** @type {?} */
2172
+ Options.prototype.path;
2173
+ /** @type {?} */
2174
+ Options.prototype.order;
2175
+ /** @type {?|undefined} */
2176
+ Options.prototype.data;
2177
+ /** @type {?|undefined} */
2178
+ Options.prototype.authenticate;
2012
2179
  }
2013
2180
  /**
2014
2181
  * @param {?} klass
2015
2182
  * @return {?}
2016
2183
  */
2017
- function getDescriptor(klass) {
2184
+ function getDefinition(klass) {
2018
2185
  /** @type {?} */
2019
- var placeOptions = Reflect.getMetadata('place.options', klass);
2020
- return new Descriptor(klass, placeOptions);
2186
+ var placeOptions = Reflect.getMetadata(DEFINITION_META_DATA_KEY, klass);
2187
+ return new Definition(klass, placeOptions);
2188
+ }
2189
+ PlaceComponent.getDefinition = getDefinition;
2190
+ /**
2191
+ * @param {?} klass
2192
+ * @param {?} options
2193
+ * @return {?}
2194
+ */
2195
+ function injectDefinition(klass, options) {
2196
+ Reflect.defineMetadata(DEFINITION_META_DATA_KEY, options, klass);
2021
2197
  }
2022
- Place.getDescriptor = getDescriptor;
2023
- })(Place || (Place = {}));
2198
+ PlaceComponent.injectDefinition = injectDefinition;
2199
+ })(PlaceComponent || (PlaceComponent = {}));
2024
2200
 
2025
2201
  /**
2026
2202
  * @fileoverview added by tsickle
2027
2203
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2028
2204
  */
2029
- var TabbedPlaceNavigationComponent = /** @class */ (function (_super) {
2030
- __extends(TabbedPlaceNavigationComponent, _super);
2031
- function TabbedPlaceNavigationComponent() {
2205
+ var PlaceService = /** @class */ (function (_super) {
2206
+ __extends(PlaceService, _super);
2207
+ function PlaceService(router) {
2032
2208
  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');
2209
+ _this.router = router;
2210
+ _this._activePlaces = new MutableListModel();
2039
2211
  return _this;
2040
2212
  }
2213
+ Object.defineProperty(PlaceService.prototype, "activePlaces", {
2214
+ get: /**
2215
+ * @return {?}
2216
+ */
2217
+ function () {
2218
+ return this._activePlaces.readonly;
2219
+ },
2220
+ enumerable: true,
2221
+ configurable: true
2222
+ });
2041
2223
  /**
2224
+ * @param {?} place
2042
2225
  * @return {?}
2043
2226
  */
2044
- TabbedPlaceNavigationComponent.prototype.ngOnInit = /**
2227
+ PlaceService.prototype.onActivate = /**
2228
+ * @param {?} place
2045
2229
  * @return {?}
2046
2230
  */
2047
- function () {
2231
+ function (place) {
2232
+ this._activePlaces.push(place);
2048
2233
  };
2049
- TabbedPlaceNavigationComponent.decorators = [
2050
- { type: Component, args: [{
2234
+ /**
2235
+ * @param {?} place
2236
+ * @return {?}
2237
+ */
2238
+ PlaceService.prototype.onDeactivate = /**
2239
+ * @param {?} place
2240
+ * @return {?}
2241
+ */
2242
+ function (place) {
2243
+ this._activePlaces.remove(place);
2244
+ };
2245
+ /**
2246
+ * @param {?} params
2247
+ * @return {?}
2248
+ */
2249
+ PlaceService.prototype.notifyRouteParametersChanged = /**
2250
+ * @param {?} params
2251
+ * @return {?}
2252
+ */
2253
+ function (params) {
2254
+ // We update the router state...
2255
+ if (params.updateRoute) {
2256
+ /** @type {?} */
2257
+ var routeId = params.next.getFormattedRouteId();
2258
+ /** @type {?} */
2259
+ var relativePath = !!params.previous.hasRouteId() ? '..' : '.';
2260
+ /** @type {?} */
2261
+ var path = routeId ? [relativePath, routeId, params.next.getFormattedParameters()] : [relativePath, params.next.getFormattedParameters()];
2262
+ this.router.navigate(path, {
2263
+ relativeTo: params.placeComponent.activatedRoute
2264
+ });
2265
+ }
2266
+ };
2267
+ PlaceService.decorators = [
2268
+ { type: Injectable, args: [{
2269
+ providedIn: 'root'
2270
+ },] }
2271
+ ];
2272
+ /** @nocollapse */
2273
+ PlaceService.ctorParameters = function () { return [
2274
+ { type: Router }
2275
+ ]; };
2276
+ /** @nocollapse */ PlaceService.ngInjectableDef = ɵɵdefineInjectable({ factory: function PlaceService_Factory() { return new PlaceService(ɵɵinject(Router)); }, token: PlaceService, providedIn: "root" });
2277
+ __decorate([
2278
+ Trace(),
2279
+ __metadata("design:type", Function),
2280
+ __metadata("design:paramtypes", [PlaceComponent]),
2281
+ __metadata("design:returntype", void 0)
2282
+ ], PlaceService.prototype, "onActivate", null);
2283
+ __decorate([
2284
+ Trace(),
2285
+ __metadata("design:type", Function),
2286
+ __metadata("design:paramtypes", [PlaceComponent]),
2287
+ __metadata("design:returntype", void 0)
2288
+ ], PlaceService.prototype, "onDeactivate", null);
2289
+ __decorate([
2290
+ Trace(),
2291
+ __metadata("design:type", Function),
2292
+ __metadata("design:paramtypes", [Object]),
2293
+ __metadata("design:returntype", void 0)
2294
+ ], PlaceService.prototype, "notifyRouteParametersChanged", null);
2295
+ return PlaceService;
2296
+ }(GarbageCollector));
2297
+ if (false) {
2298
+ /**
2299
+ * @type {?}
2300
+ * @private
2301
+ */
2302
+ PlaceService.prototype._activePlaces;
2303
+ /**
2304
+ * @type {?}
2305
+ * @protected
2306
+ */
2307
+ PlaceService.prototype.router;
2308
+ }
2309
+
2310
+ /**
2311
+ * @fileoverview added by tsickle
2312
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2313
+ */
2314
+ // Freezes the state of the components at the start of the animation.
2315
+ /** @type {?} */
2316
+ var animationStartStyle = style({ position: 'absolute', top: '0', left: '0', bottom: '0', right: '0' });
2317
+ /** @type {?} */
2318
+ var left = [
2319
+ query(':enter, :leave', animationStartStyle, { optional: true }),
2320
+ group([
2321
+ query(':enter', [
2322
+ style({ transform: 'translateX(-100%)' }),
2323
+ animate('{{duration}} ease-out', style({ transform: 'translateX(0%)' }))
2324
+ ], {
2325
+ optional: true
2326
+ }),
2327
+ query(':leave', [
2328
+ style({ transform: 'translateX(0%)' }),
2329
+ animate('{{duration}} ease-out', style({ transform: 'translateX(100%)' }))
2330
+ ], {
2331
+ optional: true
2332
+ })
2333
+ ])
2334
+ ];
2335
+ /** @type {?} */
2336
+ var right = [
2337
+ query(':enter, :leave', animationStartStyle, { optional: true }),
2338
+ group([
2339
+ query(':enter', [
2340
+ style({ transform: 'translateX(100%)' }),
2341
+ animate('{{duration}} ease-out', style({ transform: 'translateX(0%)' }))
2342
+ ], {
2343
+ optional: true
2344
+ }),
2345
+ query(':leave', [style({ transform: 'translateX(0%)' }), animate('{{duration}} ease-out', style({ transform: 'translateX(-100%)' }))], {
2346
+ optional: true
2347
+ })
2348
+ ])
2349
+ ];
2350
+ /** @type {?} */
2351
+ var LEFT_RIGHT_PLACE_ANIMATION = trigger('routeAnimations', [
2352
+ transition(':increment', right, { params: { duration: '.3s' } }),
2353
+ transition(':decrement', left, { params: { duration: '.3s' } })
2354
+ ]);
2355
+
2356
+ /**
2357
+ * @fileoverview added by tsickle
2358
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2359
+ */
2360
+ var PlaceOutletComponent = /** @class */ (function () {
2361
+ function PlaceOutletComponent(placeService) {
2362
+ this.placeService = placeService;
2363
+ this.animate = true;
2364
+ }
2365
+ /**
2366
+ * @return {?}
2367
+ */
2368
+ PlaceOutletComponent.prototype.ngOnInit = /**
2369
+ * @return {?}
2370
+ */
2371
+ function () {
2372
+ };
2373
+ /**
2374
+ * @param {?} $event
2375
+ * @return {?}
2376
+ */
2377
+ PlaceOutletComponent.prototype.onActivate = /**
2378
+ * @param {?} $event
2379
+ * @return {?}
2380
+ */
2381
+ function ($event) {
2382
+ this.currentPlace = $event;
2383
+ this.placeService.onActivate($event);
2384
+ if (!this.animate) {
2385
+ this.notifyPlaceReady();
2386
+ }
2387
+ };
2388
+ /**
2389
+ * @param {?} $event
2390
+ * @return {?}
2391
+ */
2392
+ PlaceOutletComponent.prototype.onDeactivate = /**
2393
+ * @param {?} $event
2394
+ * @return {?}
2395
+ */
2396
+ function ($event) {
2397
+ this.currentPlace = null;
2398
+ this.placeService.onDeactivate($event);
2399
+ };
2400
+ /**
2401
+ * @param {?} outlet
2402
+ * @return {?}
2403
+ */
2404
+ PlaceOutletComponent.prototype.getPlaceOrder = /**
2405
+ * @param {?} outlet
2406
+ * @return {?}
2407
+ */
2408
+ function (outlet) {
2409
+ return this.animate && outlet && outlet.activatedRouteData && outlet.activatedRouteData['placeOrder'];
2410
+ };
2411
+ /**
2412
+ * @return {?}
2413
+ */
2414
+ PlaceOutletComponent.prototype.animationDone = /**
2415
+ * @return {?}
2416
+ */
2417
+ function () {
2418
+ this.notifyPlaceReady();
2419
+ };
2420
+ /**
2421
+ * @private
2422
+ * @return {?}
2423
+ */
2424
+ PlaceOutletComponent.prototype.notifyPlaceReady = /**
2425
+ * @private
2426
+ * @return {?}
2427
+ */
2428
+ function () {
2429
+ if (this.currentPlace) {
2430
+ this.currentPlace.onPlaceReady();
2431
+ }
2432
+ };
2433
+ PlaceOutletComponent.decorators = [
2434
+ { type: Component, args: [{
2435
+ selector: 'angular-ui-powerups-place-outlet',
2436
+ 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",
2437
+ animations: [LEFT_RIGHT_PLACE_ANIMATION],
2438
+ 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}"]
2439
+ }] }
2440
+ ];
2441
+ /** @nocollapse */
2442
+ PlaceOutletComponent.ctorParameters = function () { return [
2443
+ { type: PlaceService }
2444
+ ]; };
2445
+ PlaceOutletComponent.propDecorators = {
2446
+ animate: [{ type: Input }],
2447
+ routerOutLet: [{ type: ViewChild, args: ['routerOutlet', { static: false },] }]
2448
+ };
2449
+ return PlaceOutletComponent;
2450
+ }());
2451
+ if (false) {
2452
+ /** @type {?} */
2453
+ PlaceOutletComponent.prototype.animate;
2454
+ /** @type {?} */
2455
+ PlaceOutletComponent.prototype.routerOutLet;
2456
+ /**
2457
+ * @type {?}
2458
+ * @private
2459
+ */
2460
+ PlaceOutletComponent.prototype.currentPlace;
2461
+ /**
2462
+ * @type {?}
2463
+ * @private
2464
+ */
2465
+ PlaceOutletComponent.prototype.placeService;
2466
+ }
2467
+
2468
+ /**
2469
+ * @fileoverview added by tsickle
2470
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2471
+ */
2472
+ var TabbedPlaceNavigationComponent = /** @class */ (function (_super) {
2473
+ __extends(TabbedPlaceNavigationComponent, _super);
2474
+ function TabbedPlaceNavigationComponent() {
2475
+ var _this = _super.call(this) || this;
2476
+ 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;
2477
+ _this.orderedPlaces = chain(_this.placesModel).map((/**
2478
+ * @param {?} c
2479
+ * @return {?}
2480
+ */
2481
+ function (c) { return PlaceComponent.getDefinition(c); })).sortBy('order');
2482
+ return _this;
2483
+ }
2484
+ /**
2485
+ * @return {?}
2486
+ */
2487
+ TabbedPlaceNavigationComponent.prototype.ngOnInit = /**
2488
+ * @return {?}
2489
+ */
2490
+ function () {
2491
+ };
2492
+ TabbedPlaceNavigationComponent.decorators = [
2493
+ { type: Component, args: [{
2051
2494
  selector: 'angular-ui-powerups-tabbed-place-navigation',
2052
2495
  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",
2053
2496
  styles: [""]
@@ -2374,543 +2817,175 @@ var ResizeAwareComponent = /** @class */ (function (_super) {
2374
2817
  // TODO: Make this handle body scroll
2375
2818
  // TODO: Make this handle body scroll
2376
2819
  /**
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", {
2772
- get: /**
2773
- * @return {?}
2774
- */
2775
- function () {
2776
- return this._incomingRouteChange.readonly;
2777
- },
2778
- enumerable: true,
2779
- configurable: true
2780
- });
2781
- /**
2782
- * @protected
2783
- * @template T
2784
- * @param {?} parameter
2785
- * @return {?}
2786
- */
2787
- RouteParameterBindings.prototype.installBinding = /**
2788
- * @protected
2789
- * @template T
2790
- * @param {?} parameter
2791
- * @return {?}
2792
- */
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
- }));
2814
- };
2815
- /**
2816
- * @private
2817
- * @template T
2818
- * @param {?} parameter
2820
+ * @param {?} point
2819
2821
  * @return {?}
2820
2822
  */
2821
- RouteParameterBindings.prototype.getModelFor = /**
2822
- * @private
2823
- * @template T
2824
- * @param {?} parameter
2823
+ ResizeAwareComponent.prototype.relativePositionOf =
2824
+ // TODO: Make this handle body scroll
2825
+ /**
2826
+ * @param {?} point
2825
2827
  * @return {?}
2826
2828
  */
2827
- function (parameter) {
2828
- return this.component[parameter.propertyName];
2829
+ function (point) {
2830
+ return this.bounds.relativePositionOf(point);
2829
2831
  };
2830
- return RouteParameterBindings;
2831
- }(GarbageCollector));
2832
- if (false) {
2833
- /** @type {?} */
2834
- RouteParameterBindings.prototype._incomingRouteChange;
2832
+ Object.defineProperty(ResizeAwareComponent.prototype, "bounds", {
2833
+ get: /**
2834
+ * @return {?}
2835
+ */
2836
+ function () {
2837
+ return this._boundsModel.value;
2838
+ },
2839
+ enumerable: true,
2840
+ configurable: true
2841
+ });
2835
2842
  /**
2836
- * @type {?}
2837
2843
  * @private
2844
+ * @return {?}
2838
2845
  */
2839
- RouteParameterBindings.prototype.txo;
2840
- /**
2841
- * @type {?}
2846
+ ResizeAwareComponent.prototype.updateBounds = /**
2842
2847
  * @private
2848
+ * @return {?}
2843
2849
  */
2844
- RouteParameterBindings.prototype.resolvedParameters;
2850
+ function () {
2851
+ this._boundsModel.value = Bounds.ofElement(this.nativeElement);
2852
+ };
2853
+ return ResizeAwareComponent;
2854
+ }(DisposableComponent));
2855
+ if (false) {
2845
2856
  /**
2846
2857
  * @type {?}
2847
2858
  * @private
2848
2859
  */
2849
- RouteParameterBindings.prototype.component;
2860
+ ResizeAwareComponent.prototype._boundsModel;
2850
2861
  /**
2851
2862
  * @type {?}
2852
- * @private
2863
+ * @protected
2853
2864
  */
2854
- RouteParameterBindings.prototype.router;
2865
+ ResizeAwareComponent.prototype.elementRef;
2855
2866
  /**
2856
2867
  * @type {?}
2857
- * @private
2868
+ * @protected
2858
2869
  */
2859
- RouteParameterBindings.prototype.activatedRoute;
2870
+ ResizeAwareComponent.prototype.ngZone;
2860
2871
  }
2861
- (function (RouteParameterBindings) {
2862
- RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');
2863
- })(RouteParameterBindings || (RouteParameterBindings = {}));
2864
2872
 
2865
2873
  /**
2866
2874
  * @fileoverview added by tsickle
2867
2875
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2868
2876
  */
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
- });
2877
+
2878
+ /**
2879
+ * @fileoverview added by tsickle
2880
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2881
+ */
2882
+
2883
+ /**
2884
+ * @fileoverview added by tsickle
2885
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2886
+ */
2887
+ /**
2888
+ * @record
2889
+ */
2890
+ function Alert() { }
2891
+ if (false) {
2887
2892
  /**
2888
2893
  * @return {?}
2889
2894
  */
2890
- AbstractPlaceComponent.prototype.canDeactivate = /**
2895
+ Alert.prototype.title = function () { };
2896
+ /**
2891
2897
  * @return {?}
2892
2898
  */
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));
2899
+ Alert.prototype.content = function () { };
2900
+ /**
2901
+ * @return {?}
2902
+ */
2903
+ Alert.prototype.ok = function () { };
2904
+ }
2905
+
2906
+ /**
2907
+ * @fileoverview added by tsickle
2908
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2909
+ */
2910
+ /**
2911
+ * @record
2912
+ */
2913
+ function Confirm() { }
2903
2914
  if (false) {
2915
+ /** @type {?|undefined} */
2916
+ Confirm.prototype.destructive;
2904
2917
  /**
2905
- * @type {?}
2906
- * @private
2918
+ * @return {?}
2907
2919
  */
2908
- AbstractPlaceComponent.prototype.routeBindingMediator;
2920
+ Confirm.prototype.cancel = function () { };
2921
+ }
2922
+
2923
+ /**
2924
+ * @fileoverview added by tsickle
2925
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2926
+ */
2927
+ /**
2928
+ * @record
2929
+ * @template R, E
2930
+ */
2931
+ function Result() { }
2932
+ (function (Result) {
2909
2933
  /**
2910
- * @type {?}
2911
- * @protected
2934
+ * @record
2935
+ * @template R, E
2936
+ */
2937
+ function Callback() { }
2938
+ Result.Callback = Callback;
2939
+ if (false) {
2940
+ /** @type {?} */
2941
+ Callback.prototype.then;
2942
+ /** @type {?} */
2943
+ Callback.prototype.catch;
2944
+ }
2945
+ })(Result || (Result = {}));
2946
+
2947
+ /**
2948
+ * @fileoverview added by tsickle
2949
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2950
+ */
2951
+ /**
2952
+ * @record
2953
+ * @template D, R, E
2954
+ */
2955
+ function ActivityOutletContext() { }
2956
+ if (false) {
2957
+ /** @type {?} */
2958
+ ActivityOutletContext.prototype.interactionContext;
2959
+ /** @type {?} */
2960
+ ActivityOutletContext.prototype.activityClass;
2961
+ /** @type {?} */
2962
+ ActivityOutletContext.prototype.activityData;
2963
+ /** @type {?} */
2964
+ ActivityOutletContext.prototype.onDone;
2965
+ /** @type {?} */
2966
+ ActivityOutletContext.prototype.onCancel;
2967
+ }
2968
+
2969
+ /**
2970
+ * @fileoverview added by tsickle
2971
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2972
+ */
2973
+
2974
+ /**
2975
+ * @fileoverview added by tsickle
2976
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2977
+ */
2978
+ /**
2979
+ * @record
2980
+ */
2981
+ function IPlaceComponent() { }
2982
+ if (false) {
2983
+ /** @type {?} */
2984
+ IPlaceComponent.prototype.activatedRoute;
2985
+ /**
2986
+ * @return {?}
2912
2987
  */
2913
- AbstractPlaceComponent.prototype.activatedRoute;
2988
+ IPlaceComponent.prototype.onPlaceReady = function () { };
2914
2989
  }
2915
2990
 
2916
2991
  /**
@@ -2920,12 +2995,34 @@ if (false) {
2920
2995
  /**
2921
2996
  * @record
2922
2997
  */
2923
- function PlaceComponent() { }
2998
+ function IPlaceService() { }
2924
2999
  if (false) {
2925
3000
  /**
3001
+ * @param {?} params
3002
+ * @return {?}
3003
+ */
3004
+ IPlaceService.prototype.notifyRouteParametersChanged = function (params) { };
3005
+ }
3006
+
3007
+ /**
3008
+ * @fileoverview added by tsickle
3009
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3010
+ */
3011
+ /**
3012
+ * @param {?} options
3013
+ * @return {?}
3014
+ */
3015
+ function Place(options) {
3016
+ return (/**
3017
+ * @param {?} target
2926
3018
  * @return {?}
2927
3019
  */
2928
- PlaceComponent.prototype.canDeactivate = function () { };
3020
+ function (target) {
3021
+ if (!lang.constructorChain((/** @type {?} */ (target))).includes(PlaceComponent)) {
3022
+ lang.illegalState(target + " must extend PlaceComponent to use the @Place decorator");
3023
+ }
3024
+ PlaceComponent.injectDefinition((/** @type {?} */ (target)), options);
3025
+ });
2929
3026
  }
2930
3027
 
2931
3028
  /**
@@ -3496,26 +3593,6 @@ function RouteId(type, options) {
3496
3593
  UseDelegate()(prototype, propertyKey);
3497
3594
  });
3498
3595
  }
3499
- /**
3500
- * @deprecated use RouteParameter instead.
3501
- * @template T
3502
- * @param {?} type
3503
- * @param {?=} options
3504
- * @return {?}
3505
- */
3506
- function QueryParameter(type, options) {
3507
- return (/**
3508
- * @param {?} prototype
3509
- * @param {?} propertyKey
3510
- * @return {?}
3511
- */
3512
- function (prototype, propertyKey) {
3513
- /** @type {?} */
3514
- var param = createDefinition(propertyKey, type, options, false);
3515
- Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);
3516
- UseDelegate()(prototype, propertyKey);
3517
- });
3518
- }
3519
3596
  /**
3520
3597
  * @template T
3521
3598
  * @param {?} type
@@ -3536,27 +3613,6 @@ function RouteParameter(type, options) {
3536
3613
  UseDelegate()(prototype, propertyKey);
3537
3614
  });
3538
3615
  }
3539
- /**
3540
- * @deprecated use RouteParameterList instead
3541
- * @template E
3542
- * @param {?} elementType
3543
- * @param {?=} options
3544
- * @return {?}
3545
- */
3546
- function QueryParameterList(elementType, options) {
3547
- // assert.isTruthy(type.isValid());
3548
- return (/**
3549
- * @param {?} prototype
3550
- * @param {?} propertyKey
3551
- * @return {?}
3552
- */
3553
- function (prototype, propertyKey) {
3554
- /** @type {?} */
3555
- var param = createArrayDefinition(propertyKey, elementType, options);
3556
- Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);
3557
- UseDelegate()(prototype, propertyKey);
3558
- });
3559
- }
3560
3616
  /**
3561
3617
  * @template E
3562
3618
  * @param {?} elementType
@@ -3759,6 +3815,32 @@ var ParameterType;
3759
3815
  ParameterType.BOOLEAN = new BooleanType();
3760
3816
  })(ParameterType || (ParameterType = {}));
3761
3817
 
3818
+ /**
3819
+ * @fileoverview added by tsickle
3820
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3821
+ */
3822
+ /**
3823
+ * @record
3824
+ * @template T
3825
+ */
3826
+ function ResolvedParameter() { }
3827
+ if (false) {
3828
+ /** @type {?} */
3829
+ ResolvedParameter.prototype.parameterDef;
3830
+ /** @type {?} */
3831
+ ResolvedParameter.prototype.resolvedValue;
3832
+ }
3833
+
3834
+ /**
3835
+ * @fileoverview added by tsickle
3836
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3837
+ */
3838
+ var VisitSnapshot = /** @class */ (function () {
3839
+ function VisitSnapshot() {
3840
+ }
3841
+ return VisitSnapshot;
3842
+ }());
3843
+
3762
3844
  /**
3763
3845
  * @fileoverview added by tsickle
3764
3846
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -3779,5 +3861,5 @@ var ParameterType;
3779
3861
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3780
3862
  */
3781
3863
 
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 };
3864
+ 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, 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
3865
  //# sourceMappingURL=coolon-angular-ui-powerups.js.map