@coolon/angular-ui-powerups 0.0.31 → 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 (60) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +1056 -901
  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 +34 -5
  9. package/esm2015/lib/place/components/place-outlet/route-animations.js +29 -17
  10. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +3 -3
  11. package/esm2015/lib/place/guards/leave-place.guard.js +18 -2
  12. package/esm2015/lib/place/i-place-component.js +17 -0
  13. package/esm2015/lib/place/i-place-service.js +16 -0
  14. package/esm2015/lib/place/index.js +7 -3
  15. package/esm2015/lib/place/place-component.js +165 -7
  16. package/esm2015/lib/place/place.decorator.js +7 -87
  17. package/esm2015/lib/place/place.service.js +47 -8
  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 +41 -5
  26. package/esm5/lib/place/components/place-outlet/route-animations.js +29 -17
  27. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +3 -3
  28. package/esm5/lib/place/guards/leave-place.guard.js +18 -2
  29. package/esm5/lib/place/i-place-component.js +17 -0
  30. package/esm5/lib/place/i-place-service.js +16 -0
  31. package/esm5/lib/place/index.js +7 -3
  32. package/esm5/lib/place/place-component.js +195 -7
  33. package/esm5/lib/place/place.decorator.js +7 -97
  34. package/esm5/lib/place/place.service.js +52 -10
  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 +835 -701
  41. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  42. package/fesm5/coolon-angular-ui-powerups.js +1054 -901
  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 +40 -2
  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/resolved-parameter.d.ts +5 -0
  53. package/lib/place/route/resolved-route-parameter-snapshot.d.ts +12 -0
  54. package/lib/place/route/route-parameter-bindings.d.ts +3 -4
  55. package/lib/place/route/visit-snapshot.d.ts +2 -0
  56. package/package.json +1 -1
  57. package/styles/styles.scss +10 -0
  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 { query, style, 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,792 +1723,917 @@ 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
- /** @type {?} */
1797
- var left = [
1798
- query(':enter, :leave', style({ position: 'fixed', width: '100%' }), { optional: true }),
1799
- group([
1800
- query(':enter', [style({ transform: 'translateX(-100%)' }), animate('.3s ease-out', style({ transform: 'translateX(0%)' }))], {
1801
- optional: true,
1802
- }),
1803
- query(':leave', [style({ transform: 'translateX(0%)' }), animate('.3s ease-out', style({ transform: 'translateX(100%)' }))], {
1804
- optional: true,
1805
- }),
1806
- ]),
1807
- ];
1808
- /** @type {?} */
1809
- var right = [
1810
- query(':enter, :leave', style({ position: 'fixed', width: '100%' }), { optional: true }),
1811
- group([
1812
- query(':enter', [style({ transform: 'translateX(100%)' }), animate('.3s ease-out', style({ transform: 'translateX(0%)' }))], {
1813
- optional: true,
1814
- }),
1815
- query(':leave', [style({ transform: 'translateX(0%)' }), animate('.3s ease-out', style({ transform: 'translateX(-100%)' }))], {
1816
- optional: true,
1817
- }),
1818
- ]),
1819
- ];
1820
- /** @type {?} */
1821
- var LEFT_RIGHT_PLACE_ANIMATION = trigger('routeAnimations', [
1822
- transition(':increment', right),
1823
- transition(':decrement', left),
1824
- ]);
1825
-
1826
- /**
1827
- * @fileoverview added by tsickle
1828
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1829
- */
1830
- var PlaceOutletComponent = /** @class */ (function () {
1831
- function PlaceOutletComponent(placeService) {
1832
- this.placeService = placeService;
1833
- this.animate = true;
1834
- }
1835
1771
  /**
1836
1772
  * @return {?}
1837
1773
  */
1838
- PlaceOutletComponent.prototype.ngOnInit = /**
1774
+ ResolvedRouteParameterSnapshot.prototype.getFormattedRouteId = /**
1839
1775
  * @return {?}
1840
1776
  */
1841
1777
  function () {
1778
+ /** @type {?} */
1779
+ var routeIdParam = this.getRouteIdParam();
1780
+ return routeIdParam ? routeIdParam.parameterDef.type.format(routeIdParam.resolvedValue) : null;
1842
1781
  };
1843
1782
  /**
1844
- * @param {?} $event
1783
+ * @private
1845
1784
  * @return {?}
1846
1785
  */
1847
- PlaceOutletComponent.prototype.onActivate = /**
1848
- * @param {?} $event
1786
+ ResolvedRouteParameterSnapshot.prototype.getRouteIdParam = /**
1787
+ * @private
1849
1788
  * @return {?}
1850
1789
  */
1851
- function ($event) {
1852
- this.placeService.onActivate($event);
1790
+ function () {
1791
+ return this.parameters.find((/**
1792
+ * @param {?} p
1793
+ * @return {?}
1794
+ */
1795
+ function (p) { return p.parameterDef.isRouteId; }));
1853
1796
  };
1854
1797
  /**
1855
- * @param {?} $event
1856
1798
  * @return {?}
1857
1799
  */
1858
- PlaceOutletComponent.prototype.onDeactivate = /**
1859
- * @param {?} $event
1800
+ ResolvedRouteParameterSnapshot.prototype.getFormattedParameters = /**
1860
1801
  * @return {?}
1861
1802
  */
1862
- function ($event) {
1863
- 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;
1864
1819
  };
1865
1820
  /**
1866
- * @param {?} outlet
1867
1821
  * @return {?}
1868
1822
  */
1869
- PlaceOutletComponent.prototype.getPlaceOrder = /**
1870
- * @param {?} outlet
1823
+ ResolvedRouteParameterSnapshot.prototype.hasRouteId = /**
1871
1824
  * @return {?}
1872
1825
  */
1873
- function (outlet) {
1874
- return this.animate && outlet && outlet.activatedRouteData && outlet.activatedRouteData['placeOrder'];
1875
- };
1876
- PlaceOutletComponent.decorators = [
1877
- { type: Component, args: [{
1878
- selector: 'angular-ui-powerups-place-outlet',
1879
- template: "<div container [@routeAnimations]=\"getPlaceOrder(routerOutlet)\">\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\">\n </router-outlet>\n</div>\n\n",
1880
- animations: [LEFT_RIGHT_PLACE_ANIMATION],
1881
- styles: [":host{display:flex;flex-direction:column;min-height:0}[container]{flex:1;display:-ms-grid;display:grid;-ms-grid-rows:0 1fr;grid-template-rows:0 1fr;min-height:0}"]
1882
- }] }
1883
- ];
1884
- /** @nocollapse */
1885
- PlaceOutletComponent.ctorParameters = function () { return [
1886
- { type: PlaceService }
1887
- ]; };
1888
- PlaceOutletComponent.propDecorators = {
1889
- animate: [{ type: Input }]
1826
+ function () {
1827
+ return !!this.getRouteIdParam();
1890
1828
  };
1891
- 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;
1892
1842
  }());
1893
1843
  if (false) {
1894
1844
  /** @type {?} */
1895
- PlaceOutletComponent.prototype.animate;
1896
- /**
1897
- * @type {?}
1898
- * @private
1899
- */
1900
- PlaceOutletComponent.prototype.placeService;
1845
+ ResolvedRouteParameterSnapshot.prototype.parameters;
1901
1846
  }
1902
1847
 
1903
1848
  /**
1904
1849
  * @fileoverview added by tsickle
1905
1850
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1906
1851
  */
1907
- /**
1908
- * @param {?} options
1909
- * @return {?}
1910
- */
1911
- function Place(options) {
1912
- return (/**
1913
- * @param {?} target
1914
- * @return {?}
1915
- */
1916
- function (target) {
1917
- Reflect.defineMetadata('place.options', options, target);
1918
- });
1919
- }
1920
- (function (Place) {
1921
- /**
1922
- * @record
1923
- */
1924
- function Options() { }
1925
- Place.Options = Options;
1926
- if (false) {
1927
- /** @type {?} */
1928
- 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()));
1929
1862
  /** @type {?} */
1930
- Options.prototype.order;
1931
- /** @type {?|undefined} */
1932
- Options.prototype.data;
1933
- /** @type {?|undefined} */
1934
- Options.prototype.authenticate;
1935
- }
1936
- var Descriptor = /** @class */ (function () {
1937
- function Descriptor(placeClass, options) {
1938
- assert.notNil(options);
1939
- this.path = options.path;
1940
- this.order = options.order;
1941
- this.data = options.data;
1942
- this.authenticate = isNil(options.authenticate) || options.authenticate;
1943
- }
1944
- /**
1945
- * @template T
1946
- * @param {?} key
1947
- * @param {?=} defaultValue
1948
- * @return {?}
1949
- */
1950
- Descriptor.prototype.getData = /**
1951
- * @template T
1952
- * @param {?} key
1953
- * @param {?=} defaultValue
1954
- * @return {?}
1955
- */
1956
- function (key, defaultValue) {
1957
- return this.data ?
1958
- isNil(this.data[key]) ? defaultValue : this.data[key] :
1959
- defaultValue;
1960
- };
1961
- /**
1962
- * @template T
1963
- * @param {?} keys
1964
- * @param {?=} defaultValue
1863
+ var routeParameterDefs = Klass.get(component).getMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY);
1864
+ routeParameterDefs.forEach((/**
1865
+ * @param {?} parameter
1965
1866
  * @return {?}
1966
1867
  */
1967
- Descriptor.prototype.searchData = /**
1968
- * @template T
1969
- * @param {?} keys
1970
- * @param {?=} defaultValue
1868
+ function (parameter) { return _this.installBinding(parameter); }));
1869
+ /** @type {?} */
1870
+ var incomingResolvedRouteParameters = observe.valuesFrom(component.activatedRoute.paramMap)
1871
+ .last()
1872
+ .map((/**
1873
+ * @param {?} params
1971
1874
  * @return {?}
1972
1875
  */
1973
- function (keys, defaultValue) {
1974
- var _this = this;
1975
- if (this.data) {
1976
- /** @type {?} */
1977
- var found = keys.find((/**
1978
- * @param {?} key
1979
- * @return {?}
1980
- */
1981
- function (key) { return !isNil(_this.data[key]); }));
1982
- return found ? this.data[found] : defaultValue;
1983
- }
1984
- else {
1985
- return defaultValue;
1986
- }
1987
- };
1988
- return Descriptor;
1989
- }());
1990
- Place.Descriptor = Descriptor;
1991
- if (false) {
1992
- /** @type {?} */
1993
- Descriptor.prototype.path;
1994
- /** @type {?} */
1995
- Descriptor.prototype.authenticate;
1996
- /** @type {?} */
1997
- Descriptor.prototype.order;
1998
- /** @type {?} */
1999
- Descriptor.prototype.data;
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;
2000
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
+ });
2001
1936
  /**
2002
- * @param {?} klass
1937
+ * @protected
1938
+ * @template T
1939
+ * @param {?} parameter
1940
+ * @return {?}
1941
+ */
1942
+ RouteParameterBindings.prototype.installBinding = /**
1943
+ * @protected
1944
+ * @template T
1945
+ * @param {?} parameter
2003
1946
  * @return {?}
2004
1947
  */
2005
- function getDescriptor(klass) {
1948
+ function (parameter) {
2006
1949
  /** @type {?} */
2007
- var placeOptions = Reflect.getMetadata('place.options', klass);
2008
- return new Descriptor(klass, placeOptions);
2009
- }
2010
- Place.getDescriptor = getDescriptor;
2011
- })(Place || (Place = {}));
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 = {}));
2012
2009
 
2013
2010
  /**
2014
2011
  * @fileoverview added by tsickle
2015
2012
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2016
2013
  */
2017
- var TabbedPlaceNavigationComponent = /** @class */ (function (_super) {
2018
- __extends(TabbedPlaceNavigationComponent, _super);
2019
- function TabbedPlaceNavigationComponent() {
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
2020
  var _this = _super.call(this) || this;
2021
- 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;
2022
- _this.orderedPlaces = chain(_this.placesModel).map((/**
2023
- * @param {?} c
2024
- * @return {?}
2025
- */
2026
- function (c) { return Place.getDescriptor(c); })).sortBy('order');
2021
+ _this.activatedRoute = activatedRoute;
2022
+ _this.routeBindingMediator = _this.registerDisposable(new RouteParameterBindings(_this, placeService));
2027
2023
  return _this;
2028
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
+ });
2029
2035
  /**
2036
+ * @param {?=} nextPlace
2037
+ * @param {?=} nextState
2030
2038
  * @return {?}
2031
2039
  */
2032
- TabbedPlaceNavigationComponent.prototype.ngOnInit = /**
2040
+ PlaceComponent.prototype.canDeactivate = /**
2041
+ * @param {?=} nextPlace
2042
+ * @param {?=} nextState
2033
2043
  * @return {?}
2034
2044
  */
2035
- function () {
2045
+ function (nextPlace, nextState) {
2046
+ return true;
2036
2047
  };
2037
- TabbedPlaceNavigationComponent.decorators = [
2038
- { type: Component, args: [{
2039
- selector: 'angular-ui-powerups-tabbed-place-navigation',
2040
- 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",
2041
- styles: [""]
2042
- }] }
2043
- ];
2044
- /** @nocollapse */
2045
- TabbedPlaceNavigationComponent.ctorParameters = function () { return []; };
2046
- TabbedPlaceNavigationComponent.propDecorators = {
2047
- places: [{ type: Input }],
2048
- placesModel: [{ type: Input }]
2048
+ /**
2049
+ * @return {?}
2050
+ */
2051
+ PlaceComponent.prototype.onPlaceReady = /**
2052
+ * @return {?}
2053
+ */
2054
+ function () {
2049
2055
  };
2050
2056
  __decorate([
2051
- StoreInListModel('placesModel'),
2052
- __metadata("design:type", Array)
2053
- ], TabbedPlaceNavigationComponent.prototype, "places", void 0);
2057
+ Memoize(),
2058
+ __metadata("design:type", PlaceComponent.Definition),
2059
+ __metadata("design:paramtypes", [])
2060
+ ], PlaceComponent.prototype, "placeConfig", null);
2054
2061
  __decorate([
2055
- UseDelegate(),
2056
- __metadata("design:type", ListModel)
2057
- ], TabbedPlaceNavigationComponent.prototype, "placesModel", void 0);
2058
- return TabbedPlaceNavigationComponent;
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;
2059
2068
  }(DisposableComponent));
2060
2069
  if (false) {
2070
+ /**
2071
+ * @type {?}
2072
+ * @private
2073
+ */
2074
+ PlaceComponent.prototype.routeBindingMediator;
2061
2075
  /** @type {?} */
2062
- TabbedPlaceNavigationComponent.prototype.places;
2063
- /** @type {?} */
2064
- TabbedPlaceNavigationComponent.prototype.placesModel;
2065
- /** @type {?} */
2066
- TabbedPlaceNavigationComponent.prototype.orderedPlaces;
2076
+ PlaceComponent.prototype.activatedRoute;
2067
2077
  }
2068
-
2069
- /**
2070
- * @fileoverview added by tsickle
2071
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2072
- */
2073
- var PlaceModule = /** @class */ (function () {
2074
- function PlaceModule() {
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 = /**
2117
+ * @template T
2118
+ * @param {?} key
2119
+ * @param {?=} defaultValue
2120
+ * @return {?}
2121
+ */
2122
+ function (key, defaultValue) {
2123
+ return this.data ?
2124
+ isNil(this.data[key]) ? defaultValue : this.data[key] :
2125
+ defaultValue;
2126
+ };
2127
+ /**
2128
+ * @template T
2129
+ * @param {?} keys
2130
+ * @param {?=} defaultValue
2131
+ * @return {?}
2132
+ */
2133
+ Definition.prototype.searchData = /**
2134
+ * @template T
2135
+ * @param {?} keys
2136
+ * @param {?=} defaultValue
2137
+ * @return {?}
2138
+ */
2139
+ function (keys, defaultValue) {
2140
+ var _this = this;
2141
+ if (this.data) {
2142
+ /** @type {?} */
2143
+ var found = keys.find((/**
2144
+ * @param {?} key
2145
+ * @return {?}
2146
+ */
2147
+ function (key) { return !isNil(_this.data[key]); }));
2148
+ return found ? this.data[found] : defaultValue;
2149
+ }
2150
+ else {
2151
+ return defaultValue;
2152
+ }
2153
+ };
2154
+ return Definition;
2155
+ }());
2156
+ PlaceComponent.Definition = Definition;
2157
+ if (false) {
2158
+ /** @type {?} */
2159
+ Definition.prototype.path;
2160
+ /** @type {?} */
2161
+ Definition.prototype.authenticate;
2162
+ /** @type {?} */
2163
+ Definition.prototype.order;
2164
+ /** @type {?} */
2165
+ Definition.prototype.data;
2166
+ /** @type {?} */
2167
+ Definition.prototype.component;
2075
2168
  }
2076
- PlaceModule.decorators = [
2077
- { type: NgModule, args: [{
2078
- imports: [
2079
- CommonModule,
2080
- BrowserAnimationsModule,
2081
- MatProgressSpinnerModule,
2082
- RouterModule,
2083
- MatTabsModule$1,
2084
- MatListModule,
2085
- MatTooltipModule,
2086
- MatIconModule
2087
- ],
2088
- declarations: [
2089
- EmptyStateComponent,
2090
- BusyOverlayComponent,
2091
- PlaceOutletComponent,
2092
- TabbedPlaceNavigationComponent
2093
- ],
2094
- entryComponents: [BusyOverlayComponent],
2095
- exports: [
2096
- BusyOverlayComponent,
2097
- PlaceOutletComponent,
2098
- EmptyStateComponent,
2099
- TabbedPlaceNavigationComponent
2100
- ],
2101
- providers: [
2102
- PlaceService
2103
- ]
2104
- },] }
2105
- ];
2106
- return PlaceModule;
2107
- }());
2108
-
2109
- /**
2110
- * @fileoverview added by tsickle
2111
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2112
- */
2113
- var AngularUiPowerupsModule = /** @class */ (function () {
2114
- function AngularUiPowerupsModule() {
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;
2115
2183
  }
2116
- AngularUiPowerupsModule.decorators = [
2117
- { type: NgModule, args: [{
2118
- declarations: [
2119
- CommandDirective,
2120
- FocusBindingDirective,
2121
- NumberInputComponent,
2122
- StringInputComponent,
2123
- PasswordInputComponent,
2124
- SelectInputComponent,
2125
- ],
2126
- imports: [
2127
- CommonModule,
2128
- BrowserModule,
2129
- BrowserAnimationsModule,
2130
- FormsModule,
2131
- MatInputModule,
2132
- MatFormFieldModule,
2133
- MatSelectModule,
2134
- PlaceModule,
2135
- InteractionModule
2136
- ],
2137
- exports: [
2138
- CommandDirective,
2139
- FocusBindingDirective,
2140
- NumberInputComponent,
2141
- StringInputComponent,
2142
- PasswordInputComponent,
2143
- SelectInputComponent,
2144
- InteractionModule,
2145
- PlaceModule,
2146
- ]
2147
- },] }
2148
- ];
2149
- return AngularUiPowerupsModule;
2150
- }());
2151
-
2152
- /**
2153
- * @fileoverview added by tsickle
2154
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2155
- */
2156
- /** @type {?} */
2157
- var defaultHiddenStyleDef = style({
2158
- opacity: 0,
2159
- 'height': '0',
2160
- paddingTop: '0',
2161
- paddingBottom: '0'
2162
- });
2163
- /**
2164
- * @param {?} triggerName
2165
- * @param {?=} options
2166
- * @return {?}
2167
- */
2168
- function slideDownAndUpAnimation(triggerName, options) {
2169
- // SEE to fix this: https://github.com/angular/angular/issues/15587#issuecomment-351510501
2170
- /** @type {?} */
2171
- var duration = OptionsHelper.get(options).getOptional('duration', '100ms');
2172
- /** @type {?} */
2173
- var hiddenStyleDef = OptionsHelper.get(options).getOptional('hiddenStyleDef', defaultHiddenStyleDef);
2174
- return trigger(triggerName, [
2175
- transition(':enter', [hiddenStyleDef, animate('100ms')]),
2176
- transition(':leave', [animate('100ms', hiddenStyleDef)])
2177
- ]);
2178
- }
2179
-
2180
- /**
2181
- * @fileoverview added by tsickle
2182
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2183
- */
2184
-
2185
- /**
2186
- * @fileoverview added by tsickle
2187
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2188
- */
2189
- var Dimension = /** @class */ (function () {
2190
- function Dimension(width, height) {
2191
- this.width = width;
2192
- this.height = height;
2184
+ /**
2185
+ * @param {?} klass
2186
+ * @return {?}
2187
+ */
2188
+ function getDefinition(klass) {
2189
+ /** @type {?} */
2190
+ var placeOptions = Reflect.getMetadata(DEFINITION_META_DATA_KEY, klass);
2191
+ return new Definition(klass, placeOptions);
2193
2192
  }
2194
- return Dimension;
2195
- }());
2196
- if (false) {
2197
- /** @type {?} */
2198
- Dimension.prototype.width;
2199
- /** @type {?} */
2200
- Dimension.prototype.height;
2201
- }
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);
2201
+ }
2202
+ PlaceComponent.injectDefinition = injectDefinition;
2203
+ })(PlaceComponent || (PlaceComponent = {}));
2202
2204
 
2203
2205
  /**
2204
2206
  * @fileoverview added by tsickle
2205
2207
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2206
2208
  */
2207
- var Point = /** @class */ (function () {
2208
- function Point(x, y) {
2209
- this.x = x;
2210
- this.y = y;
2209
+ var PlaceService = /** @class */ (function (_super) {
2210
+ __extends(PlaceService, _super);
2211
+ function PlaceService(router) {
2212
+ var _this = _super.call(this) || this;
2213
+ _this.router = router;
2214
+ _this._activePlaces = new MutableListModel();
2215
+ return _this;
2211
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
+ });
2212
2227
  /**
2213
- * @param {?} data
2228
+ * @param {?} place
2214
2229
  * @return {?}
2215
2230
  */
2216
- Point.from = /**
2217
- * @param {?} data
2231
+ PlaceService.prototype.onActivate = /**
2232
+ * @param {?} place
2218
2233
  * @return {?}
2219
2234
  */
2220
- function (data) {
2221
- return new Point(data.x, data.y);
2235
+ function (place) {
2236
+ this._activePlaces.push(place);
2222
2237
  };
2223
2238
  /**
2224
- * @param {?} x
2225
- * @param {?} y
2239
+ * @param {?} place
2226
2240
  * @return {?}
2227
2241
  */
2228
- Point.prototype.translate = /**
2229
- * @param {?} x
2230
- * @param {?} y
2242
+ PlaceService.prototype.onDeactivate = /**
2243
+ * @param {?} place
2231
2244
  * @return {?}
2232
2245
  */
2233
- function (x, y) {
2234
- return new Point(this.x + x, this.y + y);
2246
+ function (place) {
2247
+ this._activePlaces.remove(place);
2235
2248
  };
2236
- return Point;
2237
- }());
2238
- if (false) {
2239
- /** @type {?} */
2240
- Point.prototype.x;
2241
- /** @type {?} */
2242
- Point.prototype.y;
2243
- }
2244
-
2245
- /**
2246
- * @fileoverview added by tsickle
2247
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2248
- */
2249
- var Bounds = /** @class */ (function (_super) {
2250
- __extends(Bounds, _super);
2251
- function Bounds(top, left, width, height) {
2252
- var _this = _super.call(this, width, height) || this;
2253
- _this.top = top;
2254
- _this.left = left;
2255
- _this.width = width;
2256
- _this.height = height;
2257
- return _this;
2258
- }
2259
2249
  /**
2260
- * @param {?} point
2250
+ * @param {?} params
2261
2251
  * @return {?}
2262
2252
  */
2263
- Bounds.prototype.relativePositionOf = /**
2264
- * @param {?} point
2253
+ PlaceService.prototype.notifyRouteParametersChanged = /**
2254
+ * @param {?} params
2265
2255
  * @return {?}
2266
2256
  */
2267
- function (point) {
2268
- if (point instanceof MouseEvent) {
2269
- return new Point(point.clientX - this.left, point.clientY - this.top);
2270
- }
2271
- else {
2272
- return new Point(point.x - this.left, point.y - this.top);
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
+ });
2273
2269
  }
2274
2270
  };
2275
- return Bounds;
2276
- }(Dimension));
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));
2277
2301
  if (false) {
2278
- /** @type {?} */
2279
- Bounds.prototype.top;
2280
- /** @type {?} */
2281
- Bounds.prototype.left;
2282
- /** @type {?} */
2283
- Bounds.prototype.width;
2284
- /** @type {?} */
2285
- Bounds.prototype.height;
2286
- }
2287
- (function (Bounds) {
2288
2302
  /**
2289
- * @param {?} element
2290
- * @return {?}
2303
+ * @type {?}
2304
+ * @private
2291
2305
  */
2292
- function ofElement(element) {
2293
- /** @type {?} */
2294
- var rect = element.getBoundingClientRect();
2295
- return new Bounds(rect.top, rect.left, rect.width, rect.height);
2296
- }
2297
- Bounds.ofElement = ofElement;
2298
- })(Bounds || (Bounds = {}));
2306
+ PlaceService.prototype._activePlaces;
2307
+ /**
2308
+ * @type {?}
2309
+ * @protected
2310
+ */
2311
+ PlaceService.prototype.router;
2312
+ }
2299
2313
 
2300
2314
  /**
2301
2315
  * @fileoverview added by tsickle
2302
2316
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2303
2317
  */
2304
- var ResizeAwareComponent = /** @class */ (function (_super) {
2305
- __extends(ResizeAwareComponent, _super);
2306
- function ResizeAwareComponent(elementRef, ngZone) {
2307
- var _this = _super.call(this) || this;
2308
- _this.elementRef = elementRef;
2309
- _this.ngZone = ngZone;
2310
- _this._boundsModel = new ValueHolder(new Bounds(0, 0, 0, 0));
2311
- return _this;
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;
2312
2368
  }
2313
2369
  /**
2314
2370
  * @return {?}
2315
2371
  */
2316
- ResizeAwareComponent.prototype.ngAfterViewInit = /**
2372
+ PlaceOutletComponent.prototype.ngOnInit = /**
2317
2373
  * @return {?}
2318
2374
  */
2319
2375
  function () {
2320
- var _this = this;
2321
- this.updateBounds();
2322
- /** @type {?} */
2323
- var element = this.elementRef.nativeElement;
2324
- /** @type {?} */
2325
- var ro = new ResizeObserver((/**
2326
- * @param {?} entries
2327
- * @param {?} observer
2328
- * @return {?}
2329
- */
2330
- function (entries, observer) {
2331
- _this.ngZone.run((/**
2332
- * @return {?}
2333
- */
2334
- function () { return _this.updateBounds(); }));
2335
- }));
2336
- ro.observe(element);
2337
- this.onDispose((/**
2338
- * @return {?}
2339
- */
2340
- function () { return ro.disconnect(); }));
2341
2376
  };
2342
- Object.defineProperty(ResizeAwareComponent.prototype, "boundsModel", {
2343
- get: /**
2344
- * @return {?}
2345
- */
2346
- function () {
2347
- return this._boundsModel.readonly;
2348
- },
2349
- enumerable: true,
2350
- configurable: true
2351
- });
2352
- Object.defineProperty(ResizeAwareComponent.prototype, "nativeElement", {
2353
- get: /**
2354
- * @return {?}
2355
- */
2356
- function () {
2357
- return this.elementRef.nativeElement;
2358
- },
2359
- enumerable: true,
2360
- configurable: true
2361
- });
2362
- // TODO: Make this handle body scroll
2363
- // TODO: Make this handle body scroll
2364
2377
  /**
2365
- * @param {?} point
2378
+ * @param {?} $event
2366
2379
  * @return {?}
2367
2380
  */
2368
- ResizeAwareComponent.prototype.relativePositionOf =
2369
- // TODO: Make this handle body scroll
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
+ };
2370
2392
  /**
2371
- * @param {?} point
2393
+ * @param {?} $event
2372
2394
  * @return {?}
2373
2395
  */
2374
- function (point) {
2375
- return this.bounds.relativePositionOf(point);
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();
2376
2423
  };
2377
- Object.defineProperty(ResizeAwareComponent.prototype, "bounds", {
2378
- get: /**
2379
- * @return {?}
2380
- */
2381
- function () {
2382
- return this._boundsModel.value;
2383
- },
2384
- enumerable: true,
2385
- configurable: true
2386
- });
2387
2424
  /**
2388
2425
  * @private
2389
2426
  * @return {?}
2390
2427
  */
2391
- ResizeAwareComponent.prototype.updateBounds = /**
2428
+ PlaceOutletComponent.prototype.notifyPlaceReady = /**
2392
2429
  * @private
2393
2430
  * @return {?}
2394
2431
  */
2395
2432
  function () {
2396
- this._boundsModel.value = Bounds.ofElement(this.nativeElement);
2433
+ if (this.currentPlace) {
2434
+ this.currentPlace.onPlaceReady();
2435
+ }
2397
2436
  };
2398
- return ResizeAwareComponent;
2399
- }(DisposableComponent));
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
+ }());
2400
2455
  if (false) {
2456
+ /** @type {?} */
2457
+ PlaceOutletComponent.prototype.animate;
2458
+ /** @type {?} */
2459
+ PlaceOutletComponent.prototype.routerOutLet;
2401
2460
  /**
2402
2461
  * @type {?}
2403
2462
  * @private
2404
2463
  */
2405
- ResizeAwareComponent.prototype._boundsModel;
2406
- /**
2407
- * @type {?}
2408
- * @protected
2409
- */
2410
- ResizeAwareComponent.prototype.elementRef;
2464
+ PlaceOutletComponent.prototype.currentPlace;
2411
2465
  /**
2412
2466
  * @type {?}
2413
- * @protected
2467
+ * @private
2414
2468
  */
2415
- ResizeAwareComponent.prototype.ngZone;
2469
+ PlaceOutletComponent.prototype.placeService;
2416
2470
  }
2417
2471
 
2418
2472
  /**
2419
2473
  * @fileoverview added by tsickle
2420
2474
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2421
2475
  */
2422
-
2423
- /**
2424
- * @fileoverview added by tsickle
2425
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2426
- */
2427
-
2428
- /**
2429
- * @fileoverview added by tsickle
2430
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2431
- */
2432
- /**
2433
- * @record
2434
- */
2435
- function Alert() { }
2436
- if (false) {
2437
- /**
2438
- * @return {?}
2439
- */
2440
- Alert.prototype.title = function () { };
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
+ }
2441
2488
  /**
2442
2489
  * @return {?}
2443
2490
  */
2444
- Alert.prototype.content = function () { };
2445
- /**
2491
+ TabbedPlaceNavigationComponent.prototype.ngOnInit = /**
2446
2492
  * @return {?}
2447
2493
  */
2448
- Alert.prototype.ok = function () { };
2494
+ function () {
2495
+ };
2496
+ TabbedPlaceNavigationComponent.decorators = [
2497
+ { type: Component, args: [{
2498
+ selector: 'angular-ui-powerups-tabbed-place-navigation',
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",
2500
+ styles: [""]
2501
+ }] }
2502
+ ];
2503
+ /** @nocollapse */
2504
+ TabbedPlaceNavigationComponent.ctorParameters = function () { return []; };
2505
+ TabbedPlaceNavigationComponent.propDecorators = {
2506
+ places: [{ type: Input }],
2507
+ placesModel: [{ type: Input }]
2508
+ };
2509
+ __decorate([
2510
+ StoreInListModel('placesModel'),
2511
+ __metadata("design:type", Array)
2512
+ ], TabbedPlaceNavigationComponent.prototype, "places", void 0);
2513
+ __decorate([
2514
+ UseDelegate(),
2515
+ __metadata("design:type", ListModel)
2516
+ ], TabbedPlaceNavigationComponent.prototype, "placesModel", void 0);
2517
+ return TabbedPlaceNavigationComponent;
2518
+ }(DisposableComponent));
2519
+ if (false) {
2520
+ /** @type {?} */
2521
+ TabbedPlaceNavigationComponent.prototype.places;
2522
+ /** @type {?} */
2523
+ TabbedPlaceNavigationComponent.prototype.placesModel;
2524
+ /** @type {?} */
2525
+ TabbedPlaceNavigationComponent.prototype.orderedPlaces;
2449
2526
  }
2450
2527
 
2451
2528
  /**
2452
2529
  * @fileoverview added by tsickle
2453
2530
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2454
2531
  */
2455
- /**
2456
- * @record
2457
- */
2458
- function Confirm() { }
2459
- if (false) {
2460
- /** @type {?|undefined} */
2461
- Confirm.prototype.destructive;
2462
- /**
2463
- * @return {?}
2464
- */
2465
- Confirm.prototype.cancel = function () { };
2466
- }
2532
+ var PlaceModule = /** @class */ (function () {
2533
+ function PlaceModule() {
2534
+ }
2535
+ PlaceModule.decorators = [
2536
+ { type: NgModule, args: [{
2537
+ imports: [
2538
+ CommonModule,
2539
+ BrowserAnimationsModule,
2540
+ MatProgressSpinnerModule,
2541
+ RouterModule,
2542
+ MatTabsModule$1,
2543
+ MatListModule,
2544
+ MatTooltipModule,
2545
+ MatIconModule
2546
+ ],
2547
+ declarations: [
2548
+ EmptyStateComponent,
2549
+ BusyOverlayComponent,
2550
+ PlaceOutletComponent,
2551
+ TabbedPlaceNavigationComponent
2552
+ ],
2553
+ entryComponents: [BusyOverlayComponent],
2554
+ exports: [
2555
+ BusyOverlayComponent,
2556
+ PlaceOutletComponent,
2557
+ EmptyStateComponent,
2558
+ TabbedPlaceNavigationComponent
2559
+ ],
2560
+ providers: [
2561
+ PlaceService
2562
+ ]
2563
+ },] }
2564
+ ];
2565
+ return PlaceModule;
2566
+ }());
2467
2567
 
2468
2568
  /**
2469
2569
  * @fileoverview added by tsickle
2470
2570
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2471
2571
  */
2472
- /**
2473
- * @record
2474
- * @template R, E
2475
- */
2476
- function Result() { }
2477
- (function (Result) {
2478
- /**
2479
- * @record
2480
- * @template R, E
2481
- */
2482
- function Callback() { }
2483
- Result.Callback = Callback;
2484
- if (false) {
2485
- /** @type {?} */
2486
- Callback.prototype.then;
2487
- /** @type {?} */
2488
- Callback.prototype.catch;
2572
+ var AngularUiPowerupsModule = /** @class */ (function () {
2573
+ function AngularUiPowerupsModule() {
2489
2574
  }
2490
- })(Result || (Result = {}));
2575
+ AngularUiPowerupsModule.decorators = [
2576
+ { type: NgModule, args: [{
2577
+ declarations: [
2578
+ CommandDirective,
2579
+ FocusBindingDirective,
2580
+ NumberInputComponent,
2581
+ StringInputComponent,
2582
+ PasswordInputComponent,
2583
+ SelectInputComponent,
2584
+ ],
2585
+ imports: [
2586
+ CommonModule,
2587
+ BrowserModule,
2588
+ BrowserAnimationsModule,
2589
+ FormsModule,
2590
+ MatInputModule,
2591
+ MatFormFieldModule,
2592
+ MatSelectModule,
2593
+ PlaceModule,
2594
+ InteractionModule
2595
+ ],
2596
+ exports: [
2597
+ CommandDirective,
2598
+ FocusBindingDirective,
2599
+ NumberInputComponent,
2600
+ StringInputComponent,
2601
+ PasswordInputComponent,
2602
+ SelectInputComponent,
2603
+ InteractionModule,
2604
+ PlaceModule,
2605
+ ]
2606
+ },] }
2607
+ ];
2608
+ return AngularUiPowerupsModule;
2609
+ }());
2491
2610
 
2492
2611
  /**
2493
2612
  * @fileoverview added by tsickle
2494
2613
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2495
2614
  */
2615
+ /** @type {?} */
2616
+ var defaultHiddenStyleDef = style({
2617
+ opacity: 0,
2618
+ 'height': '0',
2619
+ paddingTop: '0',
2620
+ paddingBottom: '0'
2621
+ });
2496
2622
  /**
2497
- * @record
2498
- * @template D, R, E
2623
+ * @param {?} triggerName
2624
+ * @param {?=} options
2625
+ * @return {?}
2499
2626
  */
2500
- function ActivityOutletContext() { }
2501
- if (false) {
2502
- /** @type {?} */
2503
- ActivityOutletContext.prototype.interactionContext;
2504
- /** @type {?} */
2505
- ActivityOutletContext.prototype.activityClass;
2506
- /** @type {?} */
2507
- ActivityOutletContext.prototype.activityData;
2627
+ function slideDownAndUpAnimation(triggerName, options) {
2628
+ // SEE to fix this: https://github.com/angular/angular/issues/15587#issuecomment-351510501
2508
2629
  /** @type {?} */
2509
- ActivityOutletContext.prototype.onDone;
2630
+ var duration = OptionsHelper.get(options).getOptional('duration', '100ms');
2510
2631
  /** @type {?} */
2511
- ActivityOutletContext.prototype.onCancel;
2632
+ var hiddenStyleDef = OptionsHelper.get(options).getOptional('hiddenStyleDef', defaultHiddenStyleDef);
2633
+ return trigger(triggerName, [
2634
+ transition(':enter', [hiddenStyleDef, animate('100ms')]),
2635
+ transition(':leave', [animate('100ms', hiddenStyleDef)])
2636
+ ]);
2512
2637
  }
2513
2638
 
2514
2639
  /**
@@ -2520,385 +2645,351 @@ if (false) {
2520
2645
  * @fileoverview added by tsickle
2521
2646
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2522
2647
  */
2523
- /**
2524
- * @record
2525
- * @template T
2526
- */
2527
- function ResolvedParameter() { }
2648
+ var Dimension = /** @class */ (function () {
2649
+ function Dimension(width, height) {
2650
+ this.width = width;
2651
+ this.height = height;
2652
+ }
2653
+ return Dimension;
2654
+ }());
2528
2655
  if (false) {
2529
2656
  /** @type {?} */
2530
- ResolvedParameter.prototype.parameterDef;
2657
+ Dimension.prototype.width;
2531
2658
  /** @type {?} */
2532
- ResolvedParameter.prototype.resolvedValue;
2659
+ Dimension.prototype.height;
2533
2660
  }
2534
- var ResolvedParameters = /** @class */ (function () {
2535
- function ResolvedParameters(parameters) {
2536
- this.parameters = parameters;
2661
+
2662
+ /**
2663
+ * @fileoverview added by tsickle
2664
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2665
+ */
2666
+ var Point = /** @class */ (function () {
2667
+ function Point(x, y) {
2668
+ this.x = x;
2669
+ this.y = y;
2537
2670
  }
2538
2671
  /**
2539
- * @template T
2540
- * @param {?} parameter
2541
- * @return {?}
2542
- */
2543
- ResolvedParameters.prototype.get = /**
2544
- * @template T
2545
- * @param {?} parameter
2546
- * @return {?}
2547
- */
2548
- function (parameter) {
2549
- /** @type {?} */
2550
- var resolved = this.parameters.find((/**
2551
- * @param {?} p
2552
- * @return {?}
2553
- */
2554
- function (p) { return p.parameterDef === parameter; }));
2555
- return resolved ? resolved.resolvedValue : null;
2556
- };
2557
- /**
2558
- * @template T
2559
- * @param {?} parameter
2560
- * @param {?} value
2672
+ * @param {?} data
2561
2673
  * @return {?}
2562
2674
  */
2563
- ResolvedParameters.prototype.replace = /**
2564
- * @template T
2565
- * @param {?} parameter
2566
- * @param {?} value
2675
+ Point.from = /**
2676
+ * @param {?} data
2567
2677
  * @return {?}
2568
2678
  */
2569
- function (parameter, value) {
2570
- return new ResolvedParameters(this.parameters.filter((/**
2571
- * @param {?} p
2572
- * @return {?}
2573
- */
2574
- function (p) { return p.parameterDef !== parameter; })).concat({
2575
- parameterDef: parameter,
2576
- resolvedValue: value
2577
- }));
2679
+ function (data) {
2680
+ return new Point(data.x, data.y);
2578
2681
  };
2579
2682
  /**
2580
- * @protected
2683
+ * @param {?} x
2684
+ * @param {?} y
2581
2685
  * @return {?}
2582
2686
  */
2583
- ResolvedParameters.prototype.getFormattedRouteId = /**
2584
- * @protected
2687
+ Point.prototype.translate = /**
2688
+ * @param {?} x
2689
+ * @param {?} y
2585
2690
  * @return {?}
2586
2691
  */
2587
- function () {
2588
- /** @type {?} */
2589
- var routeIdParam = this.getRouteIdParam();
2590
- return routeIdParam ? routeIdParam.parameterDef.type.format(routeIdParam.resolvedValue) : null;
2692
+ function (x, y) {
2693
+ return new Point(this.x + x, this.y + y);
2591
2694
  };
2695
+ return Point;
2696
+ }());
2697
+ if (false) {
2698
+ /** @type {?} */
2699
+ Point.prototype.x;
2700
+ /** @type {?} */
2701
+ Point.prototype.y;
2702
+ }
2703
+
2704
+ /**
2705
+ * @fileoverview added by tsickle
2706
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2707
+ */
2708
+ var Bounds = /** @class */ (function (_super) {
2709
+ __extends(Bounds, _super);
2710
+ function Bounds(top, left, width, height) {
2711
+ var _this = _super.call(this, width, height) || this;
2712
+ _this.top = top;
2713
+ _this.left = left;
2714
+ _this.width = width;
2715
+ _this.height = height;
2716
+ return _this;
2717
+ }
2592
2718
  /**
2593
- * @private
2719
+ * @param {?} point
2594
2720
  * @return {?}
2595
2721
  */
2596
- ResolvedParameters.prototype.getRouteIdParam = /**
2597
- * @private
2722
+ Bounds.prototype.relativePositionOf = /**
2723
+ * @param {?} point
2598
2724
  * @return {?}
2599
2725
  */
2600
- function () {
2601
- return this.parameters.find((/**
2602
- * @param {?} p
2603
- * @return {?}
2604
- */
2605
- function (p) { return p.parameterDef.isRouteId; }));
2726
+ function (point) {
2727
+ if (point instanceof MouseEvent) {
2728
+ return new Point(point.clientX - this.left, point.clientY - this.top);
2729
+ }
2730
+ else {
2731
+ return new Point(point.x - this.left, point.y - this.top);
2732
+ }
2606
2733
  };
2734
+ return Bounds;
2735
+ }(Dimension));
2736
+ if (false) {
2737
+ /** @type {?} */
2738
+ Bounds.prototype.top;
2739
+ /** @type {?} */
2740
+ Bounds.prototype.left;
2741
+ /** @type {?} */
2742
+ Bounds.prototype.width;
2743
+ /** @type {?} */
2744
+ Bounds.prototype.height;
2745
+ }
2746
+ (function (Bounds) {
2607
2747
  /**
2608
- * @protected
2609
- * @return {?}
2610
- */
2611
- ResolvedParameters.prototype.getFormattedParameters = /**
2612
- * @protected
2748
+ * @param {?} element
2613
2749
  * @return {?}
2614
2750
  */
2615
- function () {
2616
- /** @type {?} */
2617
- var params = {};
2751
+ function ofElement(element) {
2618
2752
  /** @type {?} */
2619
- var routeIdParam = this.parameters.filter((/**
2620
- * @param {?} p
2621
- * @return {?}
2622
- */
2623
- function (p) { return !p.parameterDef.isRouteId; })).forEach((/**
2624
- * @param {?} p
2625
- * @return {?}
2626
- */
2627
- function (p) {
2628
- params[p.parameterDef.name] = p.parameterDef.type.format(p.resolvedValue);
2629
- }));
2630
- return params;
2631
- };
2753
+ var rect = element.getBoundingClientRect();
2754
+ return new Bounds(rect.top, rect.left, rect.width, rect.height);
2755
+ }
2756
+ Bounds.ofElement = ofElement;
2757
+ })(Bounds || (Bounds = {}));
2758
+
2759
+ /**
2760
+ * @fileoverview added by tsickle
2761
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2762
+ */
2763
+ var ResizeAwareComponent = /** @class */ (function (_super) {
2764
+ __extends(ResizeAwareComponent, _super);
2765
+ function ResizeAwareComponent(elementRef, ngZone) {
2766
+ var _this = _super.call(this) || this;
2767
+ _this.elementRef = elementRef;
2768
+ _this.ngZone = ngZone;
2769
+ _this._boundsModel = new ValueHolder(new Bounds(0, 0, 0, 0));
2770
+ return _this;
2771
+ }
2632
2772
  /**
2633
2773
  * @return {?}
2634
2774
  */
2635
- ResolvedParameters.prototype.hasRouteId = /**
2775
+ ResizeAwareComponent.prototype.ngAfterViewInit = /**
2636
2776
  * @return {?}
2637
2777
  */
2638
2778
  function () {
2639
- return !!this.getRouteIdParam();
2640
- };
2641
- /**
2642
- * @param {?} previous
2643
- * @param {?} router
2644
- * @param {?} activatedRoute
2645
- * @return {?}
2646
- */
2647
- ResolvedParameters.prototype.redirect = /**
2648
- * @param {?} previous
2649
- * @param {?} router
2650
- * @param {?} activatedRoute
2651
- * @return {?}
2652
- */
2653
- function (previous, router, activatedRoute) {
2654
- /** @type {?} */
2655
- var routeId = this.getFormattedRouteId();
2656
- /** @type {?} */
2657
- var relativePath = !!previous.hasRouteId() ? '..' : '.';
2658
- /** @type {?} */
2659
- var path = routeId ? [relativePath, routeId, this.getFormattedParameters()] : [relativePath, this.getFormattedParameters()];
2660
- router.navigate(path, {
2661
- relativeTo: activatedRoute
2662
- });
2663
- };
2664
- __decorate([
2665
- Trace(),
2666
- __metadata("design:type", Function),
2667
- __metadata("design:paramtypes", []),
2668
- __metadata("design:returntype", void 0)
2669
- ], ResolvedParameters.prototype, "getFormattedRouteId", null);
2670
- __decorate([
2671
- Trace(),
2672
- __metadata("design:type", Function),
2673
- __metadata("design:paramtypes", []),
2674
- __metadata("design:returntype", void 0)
2675
- ], ResolvedParameters.prototype, "getFormattedParameters", null);
2676
- __decorate([
2677
- Trace(),
2678
- __metadata("design:type", Function),
2679
- __metadata("design:paramtypes", [ResolvedParameters, Router, ActivatedRoute]),
2680
- __metadata("design:returntype", void 0)
2681
- ], ResolvedParameters.prototype, "redirect", null);
2682
- return ResolvedParameters;
2683
- }());
2684
- if (false) {
2685
- /** @type {?} */
2686
- ResolvedParameters.prototype.parameters;
2687
- }
2688
- var RouteParameterBindings = /** @class */ (function (_super) {
2689
- __extends(RouteParameterBindings, _super);
2690
- function RouteParameterBindings(component, router, activatedRoute) {
2691
- var _this = _super.call(this) || this;
2692
- _this.component = component;
2693
- _this.router = router;
2694
- _this.activatedRoute = activatedRoute;
2695
- _this._incomingRouteChange = new MutableValueModel(false);
2696
- _this.resolvedParameters = new MutableValueModel();
2697
- var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe;
2698
- _this.txo = new TransactionObserver(); //.onEvent(e => console.log(e.toString()));
2699
- //.onEvent(e => console.log(e.toString()));
2779
+ var _this = this;
2780
+ this.updateBounds();
2700
2781
  /** @type {?} */
2701
- var routeParameterDefs = Klass.get(component).getMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY);
2702
- routeParameterDefs.forEach((/**
2703
- * @param {?} parameter
2704
- * @return {?}
2705
- */
2706
- function (parameter) { return _this.installBinding(parameter); }));
2782
+ var element = this.elementRef.nativeElement;
2707
2783
  /** @type {?} */
2708
- var incomingResolvedRouteParameters = observe.valuesFrom(activatedRoute.paramMap)
2709
- .last()
2710
- .map((/**
2711
- * @param {?} params
2784
+ var ro = new ResizeObserver((/**
2785
+ * @param {?} entries
2786
+ * @param {?} observer
2712
2787
  * @return {?}
2713
2788
  */
2714
- function (params) {
2715
- /** @type {?} */
2716
- var result = [];
2717
- routeParameterDefs.forEach((/**
2718
- * @param {?} parameterDef
2789
+ function (entries, observer) {
2790
+ _this.ngZone.run((/**
2719
2791
  * @return {?}
2720
2792
  */
2721
- function (parameterDef) {
2722
- /** @type {?} */
2723
- var resolvedValue;
2724
- if (parameterDef.isArray) {
2725
- resolvedValue = params.getAll(parameterDef.name).map((/**
2726
- * @param {?} v
2727
- * @return {?}
2728
- */
2729
- function (v) { return parameterDef.type.parse(v); }));
2730
- }
2731
- else {
2732
- resolvedValue = parameterDef.type.parse(params.get(parameterDef.name));
2733
- }
2734
- result.push({ parameterDef: parameterDef, resolvedValue: resolvedValue });
2735
- }));
2736
- return new ResolvedParameters(result);
2793
+ function () { return _this.updateBounds(); }));
2737
2794
  }));
2738
- incomingResolvedRouteParameters.subscribe((/**
2739
- * @param {?} resolvedParameters
2795
+ ro.observe(element);
2796
+ this.onDispose((/**
2740
2797
  * @return {?}
2741
2798
  */
2742
- function (resolvedParameters) {
2743
- _this._incomingRouteChange.value = true;
2744
- _this.resolvedParameters.value = resolvedParameters;
2745
- _this._incomingRouteChange.value = false;
2746
- }));
2747
- when.valueOf(_this.resolvedParameters).changes((/**
2748
- * @param {?} params
2749
- * @param {?} previous
2799
+ function () { return ro.disconnect(); }));
2800
+ };
2801
+ Object.defineProperty(ResizeAwareComponent.prototype, "boundsModel", {
2802
+ get: /**
2750
2803
  * @return {?}
2751
2804
  */
2752
- function (params, previous) {
2753
- params.redirect(previous, router, activatedRoute);
2754
- }), { unless: _this.incomingRouteChange });
2755
- _this.txo.observe('incomingResolvedRouteParameters', incomingResolvedRouteParameters);
2756
- _this.txo.observe('this.routeIsChanging', _this.incomingRouteChange);
2757
- return _this;
2758
- }
2759
- Object.defineProperty(RouteParameterBindings.prototype, "incomingRouteChange", {
2805
+ function () {
2806
+ return this._boundsModel.readonly;
2807
+ },
2808
+ enumerable: true,
2809
+ configurable: true
2810
+ });
2811
+ Object.defineProperty(ResizeAwareComponent.prototype, "nativeElement", {
2760
2812
  get: /**
2761
2813
  * @return {?}
2762
2814
  */
2763
2815
  function () {
2764
- return this._incomingRouteChange.readonly;
2816
+ return this.elementRef.nativeElement;
2765
2817
  },
2766
2818
  enumerable: true,
2767
2819
  configurable: true
2768
2820
  });
2821
+ // TODO: Make this handle body scroll
2822
+ // TODO: Make this handle body scroll
2769
2823
  /**
2770
- * @protected
2771
- * @template T
2772
- * @param {?} parameter
2824
+ * @param {?} point
2773
2825
  * @return {?}
2774
2826
  */
2775
- RouteParameterBindings.prototype.installBinding = /**
2776
- * @protected
2777
- * @template T
2778
- * @param {?} parameter
2827
+ ResizeAwareComponent.prototype.relativePositionOf =
2828
+ // TODO: Make this handle body scroll
2829
+ /**
2830
+ * @param {?} point
2779
2831
  * @return {?}
2780
2832
  */
2781
- function (parameter) {
2782
- /** @type {?} */
2783
- var model = this.getModelFor(parameter);
2784
- // this.txo.observe(parameter.propertyName, model);
2785
- this.registerDisposable(new Binding(this.resolvedParameters, model, {
2786
- toRight: /**
2787
- * @param {?} parameters
2788
- * @return {?}
2789
- */
2790
- function (parameters) {
2791
- return parameters.get(parameter);
2792
- },
2793
- toLeft: /**
2794
- * @param {?} value
2795
- * @param {?=} currentParameters
2796
- * @return {?}
2797
- */
2798
- function (value, currentParameters) {
2799
- return currentParameters.replace(parameter, value);
2800
- }
2801
- }));
2833
+ function (point) {
2834
+ return this.bounds.relativePositionOf(point);
2802
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
+ });
2803
2846
  /**
2804
2847
  * @private
2805
- * @template T
2806
- * @param {?} parameter
2807
2848
  * @return {?}
2808
2849
  */
2809
- RouteParameterBindings.prototype.getModelFor = /**
2850
+ ResizeAwareComponent.prototype.updateBounds = /**
2810
2851
  * @private
2811
- * @template T
2812
- * @param {?} parameter
2813
2852
  * @return {?}
2814
2853
  */
2815
- function (parameter) {
2816
- return this.component[parameter.propertyName];
2854
+ function () {
2855
+ this._boundsModel.value = Bounds.ofElement(this.nativeElement);
2817
2856
  };
2818
- return RouteParameterBindings;
2819
- }(GarbageCollector));
2857
+ return ResizeAwareComponent;
2858
+ }(DisposableComponent));
2820
2859
  if (false) {
2821
- /** @type {?} */
2822
- RouteParameterBindings.prototype._incomingRouteChange;
2823
2860
  /**
2824
2861
  * @type {?}
2825
2862
  * @private
2826
2863
  */
2827
- RouteParameterBindings.prototype.txo;
2864
+ ResizeAwareComponent.prototype._boundsModel;
2828
2865
  /**
2829
2866
  * @type {?}
2830
- * @private
2867
+ * @protected
2831
2868
  */
2832
- RouteParameterBindings.prototype.resolvedParameters;
2869
+ ResizeAwareComponent.prototype.elementRef;
2833
2870
  /**
2834
2871
  * @type {?}
2835
- * @private
2872
+ * @protected
2836
2873
  */
2837
- 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) {
2838
2896
  /**
2839
- * @type {?}
2840
- * @private
2897
+ * @return {?}
2898
+ */
2899
+ Alert.prototype.title = function () { };
2900
+ /**
2901
+ * @return {?}
2841
2902
  */
2842
- RouteParameterBindings.prototype.router;
2903
+ Alert.prototype.content = function () { };
2843
2904
  /**
2844
- * @type {?}
2845
- * @private
2905
+ * @return {?}
2846
2906
  */
2847
- RouteParameterBindings.prototype.activatedRoute;
2907
+ Alert.prototype.ok = function () { };
2848
2908
  }
2849
- (function (RouteParameterBindings) {
2850
- RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');
2851
- })(RouteParameterBindings || (RouteParameterBindings = {}));
2852
2909
 
2853
2910
  /**
2854
2911
  * @fileoverview added by tsickle
2855
2912
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2856
2913
  */
2857
- var AbstractPlaceComponent = /** @class */ (function (_super) {
2858
- __extends(AbstractPlaceComponent, _super);
2859
- function AbstractPlaceComponent(activatedRoute, router) {
2860
- var _this = _super.call(this) || this;
2861
- _this.activatedRoute = activatedRoute;
2862
- _this.routeBindingMediator = _this.registerDisposable(new RouteParameterBindings(_this, router, activatedRoute));
2863
- return _this;
2864
- }
2865
- Object.defineProperty(AbstractPlaceComponent.prototype, "placeConfig", {
2866
- get: /**
2867
- * @return {?}
2868
- */
2869
- function () {
2870
- return Place.getDescriptor((/** @type {?} */ ((/** @type {?} */ (this.constructor)))));
2871
- },
2872
- enumerable: true,
2873
- configurable: true
2874
- });
2914
+ /**
2915
+ * @record
2916
+ */
2917
+ function Confirm() { }
2918
+ if (false) {
2919
+ /** @type {?|undefined} */
2920
+ Confirm.prototype.destructive;
2875
2921
  /**
2876
2922
  * @return {?}
2877
2923
  */
2878
- AbstractPlaceComponent.prototype.canDeactivate = /**
2879
- * @return {?}
2880
- */
2881
- function () {
2882
- return true;
2883
- };
2884
- __decorate([
2885
- Memoize(),
2886
- __metadata("design:type", Place.Descriptor),
2887
- __metadata("design:paramtypes", [])
2888
- ], AbstractPlaceComponent.prototype, "placeConfig", null);
2889
- return AbstractPlaceComponent;
2890
- }(DisposableComponent));
2891
- 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) {
2892
2937
  /**
2893
- * @type {?}
2894
- * @private
2938
+ * @record
2939
+ * @template R, E
2895
2940
  */
2896
- 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;
2897
2989
  /**
2898
- * @type {?}
2899
- * @protected
2990
+ * @return {?}
2900
2991
  */
2901
- AbstractPlaceComponent.prototype.activatedRoute;
2992
+ IPlaceComponent.prototype.onPlaceReady = function () { };
2902
2993
  }
2903
2994
 
2904
2995
  /**
@@ -2908,12 +2999,34 @@ if (false) {
2908
2999
  /**
2909
3000
  * @record
2910
3001
  */
2911
- function PlaceComponent() { }
3002
+ function IPlaceService() { }
2912
3003
  if (false) {
2913
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
2914
3022
  * @return {?}
2915
3023
  */
2916
- 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
+ });
2917
3030
  }
2918
3031
 
2919
3032
  /**
@@ -2940,7 +3053,21 @@ var LeavePlaceGuard = /** @class */ (function () {
2940
3053
  * @return {?}
2941
3054
  */
2942
3055
  function (component, currentRoute, currentState, nextState) {
2943
- 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
+ }
2944
3071
  };
2945
3072
  LeavePlaceGuard.decorators = [
2946
3073
  { type: Injectable, args: [{
@@ -3747,6 +3874,32 @@ var ParameterType;
3747
3874
  ParameterType.BOOLEAN = new BooleanType();
3748
3875
  })(ParameterType || (ParameterType = {}));
3749
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
+
3750
3903
  /**
3751
3904
  * @fileoverview added by tsickle
3752
3905
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -3767,5 +3920,5 @@ var ParameterType;
3767
3920
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3768
3921
  */
3769
3922
 
3770
- 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 };
3771
3924
  //# sourceMappingURL=coolon-angular-ui-powerups.js.map