@angular/cdk 2.0.0-beta.10 → 2.0.0-beta.11
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.
- package/a11y/package.json +2 -2
- package/a11y/typings/aria-describer.d.ts +51 -0
- package/a11y/typings/aria-reference.d.ts +15 -0
- package/a11y/typings/focus-monitor.d.ts +106 -0
- package/a11y/typings/index.metadata.json +1 -1
- package/a11y/typings/public_api.d.ts +5 -3
- package/bidi/package.json +2 -2
- package/bundles/cdk-a11y.umd.js +639 -25
- package/bundles/cdk-a11y.umd.js.map +1 -1
- package/bundles/cdk-a11y.umd.min.js +9 -0
- package/bundles/cdk-a11y.umd.min.js.map +1 -0
- package/bundles/cdk-bidi.umd.min.js +9 -0
- package/bundles/cdk-bidi.umd.min.js.map +1 -0
- package/bundles/cdk-coercion.umd.min.js +9 -0
- package/bundles/cdk-coercion.umd.min.js.map +1 -0
- package/bundles/cdk-collections.umd.min.js +9 -0
- package/bundles/cdk-collections.umd.min.js.map +1 -0
- package/bundles/cdk-keycodes.umd.min.js +9 -0
- package/bundles/cdk-keycodes.umd.min.js.map +1 -0
- package/bundles/cdk-observers.umd.min.js +9 -0
- package/bundles/cdk-observers.umd.min.js.map +1 -0
- package/bundles/cdk-overlay.umd.js +49 -75
- package/bundles/cdk-overlay.umd.js.map +1 -1
- package/bundles/cdk-overlay.umd.min.js +9 -0
- package/bundles/cdk-overlay.umd.min.js.map +1 -0
- package/bundles/cdk-platform.umd.min.js +9 -0
- package/bundles/cdk-platform.umd.min.js.map +1 -0
- package/bundles/cdk-portal.umd.min.js +9 -0
- package/bundles/cdk-portal.umd.min.js.map +1 -0
- package/bundles/cdk-rxjs.umd.js.map +1 -1
- package/bundles/cdk-rxjs.umd.min.js +9 -0
- package/bundles/cdk-rxjs.umd.min.js.map +1 -0
- package/bundles/cdk-scrolling.umd.min.js +9 -0
- package/bundles/cdk-scrolling.umd.min.js.map +1 -0
- package/bundles/cdk-stepper.umd.js +460 -0
- package/bundles/cdk-stepper.umd.js.map +1 -0
- package/bundles/cdk-stepper.umd.min.js +9 -0
- package/bundles/cdk-stepper.umd.min.js.map +1 -0
- package/bundles/cdk-table.umd.js +8 -8
- package/bundles/cdk-table.umd.js.map +1 -1
- package/bundles/cdk-table.umd.min.js +9 -0
- package/bundles/cdk-table.umd.min.js.map +1 -0
- package/bundles/cdk.umd.js +1 -1
- package/bundles/cdk.umd.js.map +1 -1
- package/bundles/cdk.umd.min.js +9 -0
- package/bundles/cdk.umd.min.js.map +1 -0
- package/coercion/package.json +2 -2
- package/collections/package.json +2 -2
- package/collections/typings/selection.d.ts +3 -3
- package/{@angular/cdk → esm2015}/a11y.js +617 -17
- package/esm2015/a11y.js.map +1 -0
- package/{@angular/cdk → esm2015}/bidi.js +0 -0
- package/{@angular/cdk → esm2015}/bidi.js.map +0 -0
- package/{@angular → esm2015}/cdk.js +1 -1
- package/{@angular → esm2015}/cdk.js.map +1 -1
- package/{@angular/cdk → esm2015}/coercion.js +0 -0
- package/{@angular/cdk → esm2015}/coercion.js.map +0 -0
- package/{@angular/cdk → esm2015}/collections.js +0 -0
- package/{@angular/cdk → esm2015}/collections.js.map +0 -0
- package/{@angular/cdk → esm2015}/keycodes.js +0 -0
- package/{@angular/cdk → esm2015}/keycodes.js.map +0 -0
- package/{@angular/cdk → esm2015}/observers.js +0 -0
- package/{@angular/cdk → esm2015}/observers.js.map +0 -0
- package/{@angular/cdk → esm2015}/overlay.js +44 -66
- package/esm2015/overlay.js.map +1 -0
- package/{@angular/cdk → esm2015}/platform.js +0 -0
- package/{@angular/cdk → esm2015}/platform.js.map +0 -0
- package/{@angular/cdk → esm2015}/portal.js +0 -0
- package/{@angular/cdk → esm2015}/portal.js.map +0 -0
- package/{@angular/cdk → esm2015}/rxjs.js +0 -0
- package/esm2015/rxjs.js.map +1 -0
- package/{@angular/cdk → esm2015}/scrolling.js +0 -0
- package/{@angular/cdk → esm2015}/scrolling.js.map +0 -0
- package/esm2015/stepper.js +418 -0
- package/esm2015/stepper.js.map +1 -0
- package/{@angular/cdk → esm2015}/table.js +8 -8
- package/esm2015/table.js.map +1 -0
- package/{@angular/cdk → esm5}/a11y.es5.js +622 -17
- package/esm5/a11y.es5.js.map +1 -0
- package/{@angular/cdk → esm5}/bidi.es5.js +0 -0
- package/{@angular/cdk → esm5}/bidi.es5.js.map +0 -0
- package/{@angular → esm5}/cdk.es5.js +1 -1
- package/{@angular → esm5}/cdk.es5.js.map +1 -1
- package/{@angular/cdk → esm5}/coercion.es5.js +0 -0
- package/{@angular/cdk → esm5}/coercion.es5.js.map +0 -0
- package/{@angular/cdk → esm5}/collections.es5.js +0 -0
- package/{@angular/cdk → esm5}/collections.es5.js.map +0 -0
- package/{@angular/cdk → esm5}/keycodes.es5.js +0 -0
- package/{@angular/cdk → esm5}/keycodes.es5.js.map +0 -0
- package/{@angular/cdk → esm5}/observers.es5.js +0 -0
- package/{@angular/cdk → esm5}/observers.es5.js.map +0 -0
- package/{@angular/cdk → esm5}/overlay.es5.js +46 -71
- package/esm5/overlay.es5.js.map +1 -0
- package/{@angular/cdk → esm5}/platform.es5.js +0 -0
- package/{@angular/cdk → esm5}/platform.es5.js.map +0 -0
- package/{@angular/cdk → esm5}/portal.es5.js +0 -0
- package/{@angular/cdk → esm5}/portal.es5.js.map +0 -0
- package/{@angular/cdk → esm5}/rxjs.es5.js +0 -0
- package/esm5/rxjs.es5.js.map +1 -0
- package/{@angular/cdk → esm5}/scrolling.es5.js +0 -0
- package/{@angular/cdk → esm5}/scrolling.es5.js.map +0 -0
- package/esm5/stepper.es5.js +451 -0
- package/esm5/stepper.es5.js.map +1 -0
- package/{@angular/cdk → esm5}/table.es5.js +8 -8
- package/esm5/table.es5.js.map +1 -0
- package/keycodes/package.json +2 -2
- package/observers/package.json +2 -2
- package/overlay/package.json +2 -2
- package/overlay/typings/index.metadata.json +1 -1
- package/overlay/typings/{overlay-state.d.ts → overlay-config.d.ts} +5 -7
- package/overlay/typings/overlay-container.d.ts +1 -6
- package/overlay/typings/overlay-ref.d.ts +3 -3
- package/overlay/typings/overlay.d.ts +2 -2
- package/overlay/typings/position/connected-position-strategy.d.ts +1 -3
- package/overlay/typings/public_api.d.ts +1 -1
- package/overlay/typings/scroll/reposition-scroll-strategy.d.ts +1 -1
- package/package.json +5 -5
- package/platform/package.json +2 -2
- package/portal/package.json +2 -2
- package/portal/typings/portal-injector.d.ts +19 -0
- package/rxjs/package.json +2 -2
- package/rxjs/typings/rx-chain.d.ts +1 -1
- package/rxjs/typings/rx-operators.d.ts +1 -1
- package/scrolling/package.json +2 -2
- package/stepper/index.d.ts +8 -0
- package/stepper/index.metadata.json +11 -0
- package/stepper/package.json +7 -0
- package/stepper/typings/index.d.ts +4 -0
- package/stepper/typings/index.metadata.json +1 -0
- package/stepper/typings/public_api.d.ts +5 -0
- package/stepper/typings/step-label.d.ts +12 -0
- package/stepper/typings/stepper-button.d.ts +11 -0
- package/stepper/typings/stepper.d.ts +93 -0
- package/stepper.d.ts +8 -0
- package/stepper.metadata.json +11 -0
- package/table/package.json +2 -2
- package/table/typings/index.metadata.json +1 -1
- package/typings/a11y/aria-describer.d.ts +51 -0
- package/typings/a11y/aria-reference.d.ts +15 -0
- package/typings/a11y/focus-monitor.d.ts +106 -0
- package/typings/a11y/index.metadata.json +1 -1
- package/typings/a11y/public_api.d.ts +5 -3
- package/typings/collections/selection.d.ts +3 -3
- package/typings/index.metadata.json +1 -1
- package/typings/overlay/index.metadata.json +1 -1
- package/typings/overlay/{overlay-state.d.ts → overlay-config.d.ts} +5 -7
- package/typings/overlay/overlay-container.d.ts +1 -6
- package/typings/overlay/overlay-ref.d.ts +3 -3
- package/typings/overlay/overlay.d.ts +2 -2
- package/typings/overlay/position/connected-position-strategy.d.ts +1 -3
- package/typings/overlay/public_api.d.ts +1 -1
- package/typings/overlay/scroll/reposition-scroll-strategy.d.ts +1 -1
- package/typings/portal/portal-injector.d.ts +19 -0
- package/typings/rxjs/rx-chain.d.ts +1 -1
- package/typings/rxjs/rx-operators.d.ts +1 -1
- package/typings/stepper/index.d.ts +4 -0
- package/typings/stepper/index.metadata.json +1 -0
- package/typings/stepper/public_api.d.ts +5 -0
- package/typings/stepper/step-label.d.ts +12 -0
- package/typings/stepper/stepper-button.d.ts +11 -0
- package/typings/stepper/stepper.d.ts +93 -0
- package/typings/table/index.metadata.json +1 -1
- package/@angular/cdk/a11y.es5.js.map +0 -1
- package/@angular/cdk/a11y.js.map +0 -1
- package/@angular/cdk/overlay.es5.js.map +0 -1
- package/@angular/cdk/overlay.js.map +0 -1
- package/@angular/cdk/rxjs.es5.js.map +0 -1
- package/@angular/cdk/rxjs.js.map +0 -1
- package/@angular/cdk/table.es5.js.map +0 -1
- package/@angular/cdk/table.js.map +0 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
!function(r,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("rxjs/operator/finally"),require("rxjs/operator/catch"),require("rxjs/operator/do"),require("rxjs/operator/map"),require("rxjs/operator/filter"),require("rxjs/operator/share"),require("rxjs/operator/first"),require("rxjs/operator/switchMap"),require("rxjs/operator/startWith"),require("rxjs/operator/debounceTime"),require("rxjs/operator/auditTime"),require("rxjs/operator/takeUntil")):"function"==typeof define&&define.amd?define(["exports","rxjs/operator/finally","rxjs/operator/catch","rxjs/operator/do","rxjs/operator/map","rxjs/operator/filter","rxjs/operator/share","rxjs/operator/first","rxjs/operator/switchMap","rxjs/operator/startWith","rxjs/operator/debounceTime","rxjs/operator/auditTime","rxjs/operator/takeUntil"],t):t((r.ng=r.ng||{},r.ng.cdk=r.ng.cdk||{},r.ng.cdk.rxjs=r.ng.cdk.rxjs||{}),r.Rx.Observable.prototype,r.Rx.Observable.prototype,r.Rx.Observable.prototype,r.Rx.Observable.prototype,r.Rx.Observable.prototype,r.Rx.Observable.prototype,r.Rx.Observable.prototype,r.Rx.Observable.prototype,r.Rx.Observable.prototype,r.Rx.Observable.prototype,r.Rx.Observable.prototype,r.Rx.Observable.prototype)}(this,function(r,t,e,o,n,i,a,u,p,s,c,f,x){"use strict";var l=function(){function r(r){this._context=r}return r.from=function(t){return new r(t)},r.prototype.call=function(r){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return this._context=r.call.apply(r,[this._context].concat(t)),this},r.prototype.subscribe=function(r){return this._context.subscribe(r)},r.prototype.result=function(){return this._context},r}(),d=function(){function r(){}return r}(),b=function(){function r(){}return r}(),h=function(){function r(){}return r}(),j=function(){function r(){}return r}(),y=function(){function r(){}return r}(),m=function(){function r(){}return r}(),O=function(){function r(){}return r}(),v=function(){function r(){}return r}(),R=function(){function r(){}return r}(),q=function(){function r(){}return r}(),B=function(){function r(){}return r}(),T=function(){function r(){}return r}(),_=t._finally,k=e._catch,g=o._do,M=n.map,w=i.filter,U=a.share,W=u.first,F=p.switchMap,S=s.startWith,C=c.debounceTime,D=f.auditTime,A=x.takeUntil;r.RxChain=l,r.FinallyBrand=d,r.CatchBrand=b,r.DoBrand=h,r.MapBrand=j,r.FilterBrand=y,r.ShareBrand=m,r.FirstBrand=O,r.SwitchMapBrand=v,r.StartWithBrand=R,r.DebounceTimeBrand=q,r.AuditTimeBrand=B,r.TakeUntilBrand=T,r.finallyOperator=_,r.catchOperator=k,r.doOperator=g,r.map=M,r.filter=w,r.share=U,r.first=W,r.switchMap=F,r.startWith=S,r.debounceTime=C,r.auditTime=D,r.takeUntil=A,Object.defineProperty(r,"__esModule",{value:!0})});
|
|
9
|
+
//# sourceMappingURL=cdk-rxjs.umd.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdk-rxjs.umd.min.js","sources":["../../src/cdk/rxjs/rx-chain.ts","../../src/cdk/rxjs/rx-operators.ts","../../src/cdk/rxjs/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nimport {Observable} from 'rxjs/Observable';\nimport {Subscription} from 'rxjs/Subscription';\nimport {StrictRxChain} from './rx-operators';\n/**\n * Utility class used to chain RxJS operators.\n * \n * This class is the concrete implementation, but the type used by the user when chaining\n * is StrictRxChain. The strict chain enforces types on the operators to the same level as\n * the prototype-added equivalents.\n */\nexport class RxChain<T> {\n/**\n * @param {?} _context\n */\nprivate constructor(private _context: Observable<T>) { }\n/**\n * Starts a new chain and specifies the initial `this` value.\n * @template O\n * @param {?} context Initial `this` value for the chain.\n * @return {?}\n */\nstatic from<O>(context: Observable<O>): StrictRxChain<O> {\n return new RxChain(context);\n }\n/**\n * Invokes an RxJS operator as a part of the chain.\n * @param {?} operator Operator to be invoked.\n * @param {...?} args Arguments to be passed to the operator.\n * @return {?}\n */\ncall(operator: Function, ...args: any[]): RxChain<any> {\n this._context = operator.call(this._context, ...args);\n return this;\n }\n/**\n * Subscribes to the result of the chain.\n * @param {?} fn Callback to be invoked when the result emits a value.\n * @return {?}\n */\nsubscribe(fn: (t: T) => void): Subscription {\n return this._context.subscribe(fn);\n }\n/**\n * Returns the result of the chain.\n * @return {?}\n */\nresult(): Observable<T> {\n return this._context;\n }\n}\n\nfunction RxChain_tsickle_Closure_declarations() {\n/** @type {?} */\nRxChain.prototype._context;\n}\n\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nimport {Observable, ObservableInput} from 'rxjs/Observable';\nimport {PartialObserver} from 'rxjs/Observer';\nimport {Subscription} from 'rxjs/Subscription';\nimport {IScheduler} from 'rxjs/Scheduler';\nimport {_finally as _finallyOperator} from 'rxjs/operator/finally';\nimport {_catch as _catchOperator} from 'rxjs/operator/catch';\nimport {_do as _doOperator} from 'rxjs/operator/do';\nimport {map as mapOperator} from 'rxjs/operator/map';\nimport {filter as filterOperator} from 'rxjs/operator/filter';\nimport {share as shareOperator} from 'rxjs/operator/share';\nimport {first as firstOperator} from 'rxjs/operator/first';\nimport {switchMap as switchMapOperator} from 'rxjs/operator/switchMap';\nimport {startWith as startWithOperator} from 'rxjs/operator/startWith';\nimport {debounceTime as debounceTimeOperator} from 'rxjs/operator/debounceTime';\nimport {auditTime as auditTimeOperator} from 'rxjs/operator/auditTime';\nimport {takeUntil as takeUntilOperator} from 'rxjs/operator/takeUntil';\n\n/**\n * Represents a strongly-typed chain of RxJS operators.\n *\n * We achieve strict type enforcement on the chained operators by creating types that\n * *unambiguously* match specific rxjs operators. These unambiguous types are created by\n * intersecting a \"brand\" to the `typeof` the existing operator. The brand (a class with a private\n * member) effectively forces nominal typing for the operators. This allows typescript to understand\n * that, for example, `filter` is *`filter`* and not, say, a map of T => boolean.\n *\n * The downside to this approach is that operators must be imported in their type-coerced form\n * rather than from the normal rxjs location.\n */\nexport interface StrictRxChain<T> {\n call<R>(operator: mapOperatorType<T, R>,\n project: (value: T, index: number) => R, thisArg?: any): StrictRxChain<R>;\n\n call<R>(operator: switchMapOperatorType<T, R>,\n project: (value: T, index: number) => ObservableInput<R>): StrictRxChain<R>;\n\n call<R>(operator: catchOperatorType<T, R>,\n selector: (err: any, caught: Observable<T>) => ObservableInput<R>): StrictRxChain<T | R>;\n\n call(operator: filterOperatorType<T>,\n predicate: (value: T, index: number) => boolean, thisArg?: any): StrictRxChain<T>;\n\n call(operator: shareOperatorType<T>): StrictRxChain<T>;\n\n call(operator: finallyOperatorType<T>, action: () => void): StrictRxChain<T>;\n\n call(operator: doOperatorType<T>, next: (x: T) => void, error?:\n (e: any) => void, complete?: () => void): StrictRxChain<T>;\n\n call(operator: doOperatorType<T>, observer: PartialObserver<T>): StrictRxChain<T>;\n\n call(operator: firstOperatorType<T>, thisArg?: any, defaultValue?: any): StrictRxChain<T>;\n\n call(operator: firstOperatorType<T>, predicate: (value: T) => boolean): StrictRxChain<T>;\n\n call(operator: startWithOperatorType<T>, ...args: any[]): StrictRxChain<T>;\n\n call(operator: debounceTimeOperatorType<T>, dueTime: number,\n scheduler?: IScheduler): StrictRxChain<T>;\n\n call(operator: auditTimeOperatorType<T>, duration: number,\n scheduler?: IScheduler): StrictRxChain<T>;\n\n call(operator: takeUntilOperatorType<T>, notifier: Observable<any>): StrictRxChain<T>;\n\n subscribe(fn: (t: T) => void): Subscription;\n\n result(): Observable<T>;\n}\nexport class FinallyBrand {\nprivate _; }\n\nfunction FinallyBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nFinallyBrand.prototype._;\n}\n\nexport class CatchBrand {\nprivate _; }\n\nfunction CatchBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nCatchBrand.prototype._;\n}\n\nexport class DoBrand {\nprivate _; }\n\nfunction DoBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nDoBrand.prototype._;\n}\n\nexport class MapBrand {\nprivate _; }\n\nfunction MapBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nMapBrand.prototype._;\n}\n\nexport class FilterBrand {\nprivate _; }\n\nfunction FilterBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nFilterBrand.prototype._;\n}\n\nexport class ShareBrand {\nprivate _; }\n\nfunction ShareBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nShareBrand.prototype._;\n}\n\nexport class FirstBrand {\nprivate _; }\n\nfunction FirstBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nFirstBrand.prototype._;\n}\n\nexport class SwitchMapBrand {\nprivate _; }\n\nfunction SwitchMapBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nSwitchMapBrand.prototype._;\n}\n\nexport class StartWithBrand {\nprivate _; }\n\nfunction StartWithBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nStartWithBrand.prototype._;\n}\n\nexport class DebounceTimeBrand {\nprivate _; }\n\nfunction DebounceTimeBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nDebounceTimeBrand.prototype._;\n}\n\nexport class AuditTimeBrand {\nprivate _; }\n\nfunction AuditTimeBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nAuditTimeBrand.prototype._;\n}\n\nexport class TakeUntilBrand {\nprivate _; }\n\nfunction TakeUntilBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nTakeUntilBrand.prototype._;\n}\n\n/* tslint:enable:no-unused-variable */\n\n\nexport type finallyOperatorType<T> = typeof _finallyOperator & FinallyBrand;\nexport type catchOperatorType<T, R> = typeof _catchOperator & CatchBrand;\nexport type doOperatorType<T> = typeof _doOperator & DoBrand;\nexport type mapOperatorType<T, R> = typeof mapOperator & MapBrand;\nexport type filterOperatorType<T> = typeof filterOperator & FilterBrand;\nexport type shareOperatorType<T> = typeof shareOperator & ShareBrand;\nexport type firstOperatorType<T> = typeof firstOperator & FirstBrand;\nexport type switchMapOperatorType<T, R> = typeof switchMapOperator & SwitchMapBrand;\nexport type startWithOperatorType<T> = typeof startWithOperator & StartWithBrand;\nexport type debounceTimeOperatorType<T> = typeof debounceTimeOperator & DebounceTimeBrand;\nexport type auditTimeOperatorType<T> = typeof auditTimeOperator & AuditTimeBrand;\nexport type takeUntilOperatorType<T> = typeof takeUntilOperator & TakeUntilBrand;\n\n// We add `Function` to the type intersection to make this nomically different from\n// `finallyOperatorType` while still being structurally the same. Without this, TypeScript tries to\n// reduce `typeof _finallyOperator & FinallyBrand` to `finallyOperatorType<T>` and then fails\n// because `T` isn't known.\nexport const /** @type {?} */ finallyOperator = /** @type {?} */((\n _finallyOperator as typeof _finallyOperator & FinallyBrand & Function));\nexport const /** @type {?} */ catchOperator = /** @type {?} */(( _catchOperator as typeof _catchOperator & CatchBrand & Function));\nexport const /** @type {?} */ doOperator = /** @type {?} */(( _doOperator as typeof _doOperator & DoBrand & Function));\nexport const /** @type {?} */ map = /** @type {?} */(( mapOperator as typeof mapOperator & MapBrand & Function));\nexport const /** @type {?} */ filter = /** @type {?} */(( filterOperator as typeof filterOperator & FilterBrand & Function));\nexport const /** @type {?} */ share = /** @type {?} */(( shareOperator as typeof shareOperator & ShareBrand & Function));\nexport const /** @type {?} */ first = /** @type {?} */(( firstOperator as typeof firstOperator & FirstBrand & Function));\nexport const /** @type {?} */ switchMap = /** @type {?} */(( switchMapOperator as typeof switchMapOperator & SwitchMapBrand & Function));\nexport const /** @type {?} */ startWith = /** @type {?} */(( startWithOperator as typeof startWithOperator & StartWithBrand & Function));\nexport const /** @type {?} */ debounceTime = /** @type {?} */((\n debounceTimeOperator as typeof debounceTimeOperator & DebounceTimeBrand & Function));\nexport const /** @type {?} */ auditTime = /** @type {?} */(( auditTimeOperator as typeof auditTimeOperator & AuditTimeBrand & Function));\nexport const /** @type {?} */ takeUntil = /** @type {?} */(( takeUntilOperator as typeof takeUntilOperator & TakeUntilBrand & Function));\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport {RxChain,StrictRxChain,FinallyBrand,CatchBrand,DoBrand,MapBrand,FilterBrand,ShareBrand,FirstBrand,SwitchMapBrand,StartWithBrand,DebounceTimeBrand,AuditTimeBrand,TakeUntilBrand,finallyOperatorType,catchOperatorType,doOperatorType,mapOperatorType,filterOperatorType,shareOperatorType,firstOperatorType,switchMapOperatorType,startWithOperatorType,debounceTimeOperatorType,auditTimeOperatorType,takeUntilOperatorType,finallyOperator,catchOperator,doOperator,map,filter,share,first,switchMap,startWith,debounceTime,auditTime,takeUntil} from './public_api';\n"],"names":["this","_context","RxChain","context","args","_i","arguments","length","prototype","result","FinallyBrand","CatchBrand","DoBrand","MapBrand","FilterBrand","ShareBrand","FirstBrand","SwitchMapBrand","StartWithBrand"],"mappings":";;;;;;;wwCAuBAA,KAAAC,SAHqDA,EC2DrD,0BDjDA,MAJG,IAIHC,GAAAC,iCAUI,IAJK,GAGTC,MACAC,EAAA,EAAAA,EAAAC,UAAAC,OAAAF,IACAD,EAAAC,EAAA,GAAAC,UAAAD,6IAiBAH,EAAAM,UAAAC,OAAA,iCCqBAP,KACAQ,EAAA,WASA,QAKAA,MAGA,MAAAA,MAQAC,EAKA,WA3BA,QAAAA,MACA,MAAAA,MACAC,EAAA,WA4CA,QAAAA,MAQA,MAAAA,MAQAC,EAAA,WAzDA,QAAAA,MACA,MAAAA,MACAC,EAAA,WA+EA,QAAAA,kBAyBAC,EAAA,WAEA,QAAAA,MAEA,MAnFaA,MAqFbC,EAAA,WACA,QAnFaA,MAqFb,MAAAA,MAGAC,EAAA,WACA,QAAAA,MC/MA,MAAAA,MAEAC,EAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/cdk/platform"),require("rxjs/Subject"),require("rxjs/Subscription"),require("rxjs/observable/fromEvent"),require("rxjs/observable/merge"),require("rxjs/operator/auditTime")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/cdk/platform","rxjs/Subject","rxjs/Subscription","rxjs/observable/fromEvent","rxjs/observable/merge","rxjs/operator/auditTime"],t):t((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.scrolling=e.ng.cdk.scrolling||{}),e.ng.core,e.ng.cdk.platform,e.Rx,e.Rx,e.Rx.Observable,e.Rx.Observable,e.Rx.Observable.prototype)}(this,function(e,t,r,o,n,i,l,s){"use strict";function c(e,t,r){return e||new a(t,r)}function u(e,t){return e||new f(t)}var a=function(){function e(e,t){this._ngZone=e,this._platform=t,this._scrolled=new o.Subject,this._globalSubscription=null,this._scrolledCount=0,this.scrollableReferences=new Map}return e.prototype.register=function(e){var t=this,r=e.elementScrolled().subscribe(function(){return t._notify()});this.scrollableReferences.set(e,r)},e.prototype.deregister=function(e){var t=this.scrollableReferences.get(e);t&&(t.unsubscribe(),this.scrollableReferences.delete(e))},e.prototype.scrolled=function(e,t){var r=this;if(void 0===e&&(e=20),!this._platform.isBrowser)return n.Subscription.EMPTY;var o=e>0?s.auditTime.call(this._scrolled.asObservable(),e):this._scrolled.asObservable();this._scrolledCount++,this._globalSubscription||(this._globalSubscription=this._ngZone.runOutsideAngular(function(){return l.merge(i.fromEvent(window.document,"scroll"),i.fromEvent(window,"resize")).subscribe(function(){return r._notify()})}));var c=o.subscribe(t);return c.add(function(){r._scrolledCount--,!r._globalSubscription||r.scrollableReferences.size||r._scrolledCount||(r._globalSubscription.unsubscribe(),r._globalSubscription=null)}),c},e.prototype.getScrollContainers=function(e){var t=this,r=[];return this.scrollableReferences.forEach(function(o,n){t.scrollableContainsElement(n,e)&&r.push(n)}),r},e.prototype.scrollableContainsElement=function(e,t){var r=t.nativeElement,o=e.getElementRef().nativeElement;do{if(r==o)return!0}while(r=r.parentElement);return!1},e.prototype._notify=function(){this._scrolled.next()},e}();a.decorators=[{type:t.Injectable}],a.ctorParameters=function(){return[{type:t.NgZone},{type:r.Platform}]};var p={provide:a,deps:[[new t.Optional,new t.SkipSelf,a],t.NgZone,r.Platform],useFactory:c},d=function(){function e(e,t,r,n){this._elementRef=e,this._scroll=t,this._ngZone=r,this._renderer=n,this._elementScrolled=new o.Subject}return e.prototype.ngOnInit=function(){var e=this;this._scrollListener=this._ngZone.runOutsideAngular(function(){return e._renderer.listen(e.getElementRef().nativeElement,"scroll",function(t){e._elementScrolled.next(t)})}),this._scroll.register(this)},e.prototype.ngOnDestroy=function(){this._scroll.deregister(this),this._scrollListener&&(this._scrollListener(),this._scrollListener=null)},e.prototype.elementScrolled=function(){return this._elementScrolled.asObservable()},e.prototype.getElementRef=function(){return this._elementRef},e}();d.decorators=[{type:t.Directive,args:[{selector:"[cdk-scrollable], [cdkScrollable]"}]}],d.ctorParameters=function(){return[{type:t.ElementRef},{type:a},{type:t.NgZone},{type:t.Renderer2}]};var f=function(){function e(e){var t=this;e.scrolled(0,function(){return t._cacheViewportGeometry()})}return e.prototype.getViewportRect=function(e){void 0===e&&(e=this._documentRect),e||(this._cacheViewportGeometry(),e=this._documentRect);var t=this.getViewportScrollPosition(e),r=window.innerHeight,o=window.innerWidth;return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+o,height:r,width:o}},e.prototype.getViewportScrollPosition=function(e){return void 0===e&&(e=this._documentRect),e||(this._cacheViewportGeometry(),e=this._documentRect),{top:-e.top||document.body.scrollTop||window.scrollY||document.documentElement.scrollTop||0,left:-e.left||document.body.scrollLeft||window.scrollX||document.documentElement.scrollLeft||0}},e.prototype._cacheViewportGeometry=function(){this._documentRect=document.documentElement.getBoundingClientRect()},e}();f.decorators=[{type:t.Injectable}],f.ctorParameters=function(){return[{type:a}]};var b={provide:f,deps:[[new t.Optional,new t.SkipSelf,f],a],useFactory:u},m=function(){function e(){}return e}();m.decorators=[{type:t.NgModule,args:[{imports:[r.PlatformModule],exports:[d],declarations:[d],providers:[p]}]}],m.ctorParameters=function(){return[]},e.ScrollDispatchModule=m,e.DEFAULT_SCROLL_TIME=20,e.ScrollDispatcher=a,e.SCROLL_DISPATCHER_PROVIDER_FACTORY=c,e.SCROLL_DISPATCHER_PROVIDER=p,e.Scrollable=d,e.ViewportRuler=f,e.VIEWPORT_RULER_PROVIDER_FACTORY=u,e.VIEWPORT_RULER_PROVIDER=b,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
9
|
+
//# sourceMappingURL=cdk-scrolling.umd.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdk-scrolling.umd.min.js","sources":["../../src/cdk/scrolling/viewport-ruler.ts","../../src/cdk/scrolling/scroll-dispatcher.ts","../../src/cdk/scrolling/scrollable.ts","../../src/cdk/scrolling/public_api.ts","../../src/cdk/scrolling/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nimport {Injectable, Optional, SkipSelf} from '@angular/core';\nimport {ScrollDispatcher} from './scroll-dispatcher';\n/**\n * Simple utility for getting the bounds of the browser viewport.\n * \\@docs-private\n */\nexport class ViewportRuler {\n/**\n * Cached document client rectangle.\n */\nprivate _documentRect?: ClientRect;\n/**\n * @param {?} scrollDispatcher\n */\nconstructor(scrollDispatcher: ScrollDispatcher) {\n // Subscribe to scroll and resize events and update the document rectangle on changes.\n scrollDispatcher.scrolled(0, () => this._cacheViewportGeometry());\n }\n/**\n * Gets a ClientRect for the viewport's bounds.\n * @param {?=} documentRect\n * @return {?}\n */\ngetViewportRect(documentRect = this._documentRect): ClientRect {\n // Cache the document bounding rect so that we don't recompute it for multiple calls.\n if (!documentRect) {\n this._cacheViewportGeometry();\n documentRect = this._documentRect;\n }\n\n // Use the document element's bounding rect rather than the window scroll properties\n // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll\n // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\n // conceptual viewports. Under most circumstances these viewports are equivalent, but they\n // can disagree when the page is pinch-zoomed (on devices that support touch).\n // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\n // We use the documentElement instead of the body because, by default (without a css reset)\n // browsers typically give the document body an 8px margin, which is not included in\n // getBoundingClientRect().\n const /** @type {?} */ scrollPosition = this.getViewportScrollPosition(documentRect);\n const /** @type {?} */ height = window.innerHeight;\n const /** @type {?} */ width = window.innerWidth;\n\n return {\n top: scrollPosition.top,\n left: scrollPosition.left,\n bottom: scrollPosition.top + height,\n right: scrollPosition.left + width,\n height,\n width,\n };\n }\n/**\n * Gets the (top, left) scroll position of the viewport.\n * @param {?=} documentRect\n * @return {?}\n */\ngetViewportScrollPosition(documentRect = this._documentRect) {\n // Cache the document bounding rect so that we don't recompute it for multiple calls.\n if (!documentRect) {\n this._cacheViewportGeometry();\n documentRect = this._documentRect;\n }\n\n // The top-left-corner of the viewport is determined by the scroll position of the document\n // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\n // whether `document.body` or `document.documentElement` is the scrolled element, so reading\n // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\n // `document.documentElement` works consistently, where the `top` and `left` values will\n // equal negative the scroll position.\n const /** @type {?} */ top = - /** @type {?} */((documentRect)).top || document.body.scrollTop || window.scrollY ||\n document.documentElement.scrollTop || 0;\n\n const /** @type {?} */ left = - /** @type {?} */((documentRect)).left || document.body.scrollLeft || window.scrollX ||\n document.documentElement.scrollLeft || 0;\n\n return {top, left};\n }\n/**\n * Caches the latest client rectangle of the document element.\n * @return {?}\n */\n_cacheViewportGeometry() {\n this._documentRect = document.documentElement.getBoundingClientRect();\n }\n\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ScrollDispatcher, },\n];\n}\n\nfunction ViewportRuler_tsickle_Closure_declarations() {\n/** @type {?} */\nViewportRuler.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nViewportRuler.ctorParameters;\n/**\n * Cached document client rectangle.\n * @type {?}\n */\nViewportRuler.prototype._documentRect;\n}\n\n/**\n * \\@docs-private\n * @param {?} parentRuler\n * @param {?} scrollDispatcher\n * @return {?}\n */\nexport function VIEWPORT_RULER_PROVIDER_FACTORY(parentRuler: ViewportRuler,\n scrollDispatcher: ScrollDispatcher) {\n return parentRuler || new ViewportRuler(scrollDispatcher);\n}\n/**\n * \\@docs-private\n */\nexport const VIEWPORT_RULER_PROVIDER = {\n // If there is already a ViewportRuler available, use that. Otherwise, provide a new one.\n provide: ViewportRuler,\n deps: [[new Optional(), new SkipSelf(), ViewportRuler], ScrollDispatcher],\n useFactory: VIEWPORT_RULER_PROVIDER_FACTORY\n};\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nimport {ElementRef, Injectable, NgZone, Optional, SkipSelf} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\nimport {Subject} from 'rxjs/Subject';\nimport {Subscription} from 'rxjs/Subscription';\nimport {fromEvent} from 'rxjs/observable/fromEvent';\nimport {merge} from 'rxjs/observable/merge';\nimport {auditTime} from 'rxjs/operator/auditTime';\nimport {Scrollable} from './scrollable';\n/**\n * Time in ms to throttle the scrolling events by default.\n */\nexport const DEFAULT_SCROLL_TIME = 20;\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\nexport class ScrollDispatcher {\n/**\n * @param {?} _ngZone\n * @param {?} _platform\n */\nconstructor(private _ngZone: NgZone,\nprivate _platform: Platform) { }\n/**\n * Subject for notifying that a registered scrollable reference element has been scrolled.\n */\n_scrolled: Subject<void> = new Subject<void>();\n/**\n * Keeps track of the global `scroll` and `resize` subscriptions.\n */\n_globalSubscription: Subscription | null = null;\n/**\n * Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards.\n */\nprivate _scrolledCount = 0;\n/**\n * Map of all the scrollable references that are registered with the service and their\n * scroll event subscriptions.\n */\nscrollableReferences: Map<Scrollable, Subscription> = new Map();\n/**\n * Registers a Scrollable with the service and listens for its scrolled events. When the\n * scrollable is scrolled, the service emits the event in its scrolled observable.\n * @param {?} scrollable Scrollable instance to be registered.\n * @return {?}\n */\nregister(scrollable: Scrollable): void {\n const /** @type {?} */ scrollSubscription = scrollable.elementScrolled().subscribe(() => this._notify());\n\n this.scrollableReferences.set(scrollable, scrollSubscription);\n }\n/**\n * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.\n * @param {?} scrollable Scrollable instance to be deregistered.\n * @return {?}\n */\nderegister(scrollable: Scrollable): void {\n const /** @type {?} */ scrollableReference = this.scrollableReferences.get(scrollable);\n\n if (scrollableReference) {\n scrollableReference.unsubscribe();\n this.scrollableReferences.delete(scrollable);\n }\n }\n/**\n * Subscribes to an observable that emits an event whenever any of the registered Scrollable\n * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n * to override the default \"throttle\" time.\n * @param {?=} auditTimeInMs\n * @param {?=} callback\n * @return {?}\n */\nscrolled(auditTimeInMs: number = DEFAULT_SCROLL_TIME, callback: () => any): Subscription {\n // Scroll events can only happen on the browser, so do nothing if we're not on the browser.\n if (!this._platform.isBrowser) {\n return Subscription.EMPTY;\n }\n\n // In the case of a 0ms delay, use an observable without auditTime\n // since it does add a perceptible delay in processing overhead.\n let /** @type {?} */ observable = auditTimeInMs > 0 ?\n auditTime.call(this._scrolled.asObservable(), auditTimeInMs) :\n this._scrolled.asObservable();\n\n this._scrolledCount++;\n\n if (!this._globalSubscription) {\n this._globalSubscription = this._ngZone.runOutsideAngular(() => {\n return merge(\n fromEvent(window.document, 'scroll'),\n fromEvent(window, 'resize')\n ).subscribe(() => this._notify());\n });\n }\n\n // Note that we need to do the subscribing from here, in order to be able to remove\n // the global event listeners once there are no more subscriptions.\n let /** @type {?} */ subscription = observable.subscribe(callback);\n\n subscription.add(() => {\n this._scrolledCount--;\n\n if (this._globalSubscription && !this.scrollableReferences.size && !this._scrolledCount) {\n this._globalSubscription.unsubscribe();\n this._globalSubscription = null;\n }\n });\n\n return subscription;\n }\n/**\n * Returns all registered Scrollables that contain the provided element.\n * @param {?} elementRef\n * @return {?}\n */\ngetScrollContainers(elementRef: ElementRef): Scrollable[] {\n const /** @type {?} */ scrollingContainers: Scrollable[] = [];\n\n this.scrollableReferences.forEach((_subscription: Subscription, scrollable: Scrollable) => {\n if (this.scrollableContainsElement(scrollable, elementRef)) {\n scrollingContainers.push(scrollable);\n }\n });\n\n return scrollingContainers;\n }\n/**\n * Returns true if the element is contained within the provided Scrollable.\n * @param {?} scrollable\n * @param {?} elementRef\n * @return {?}\n */\nscrollableContainsElement(scrollable: Scrollable, elementRef: ElementRef): boolean {\n let /** @type {?} */ element = elementRef.nativeElement;\n let /** @type {?} */ scrollableElement = scrollable.getElementRef().nativeElement;\n\n // Traverse through the element parents until we reach null, checking if any of the elements\n // are the scrollable's element.\n do {\n if (element == scrollableElement) { return true; }\n } while (element = element.parentElement);\n\n return false;\n }\n/**\n * Sends a notification that a scroll event has been fired.\n * @return {?}\n */\n_notify() {\n this._scrolled.next();\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: NgZone, },\n{type: Platform, },\n];\n}\n\nfunction ScrollDispatcher_tsickle_Closure_declarations() {\n/** @type {?} */\nScrollDispatcher.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nScrollDispatcher.ctorParameters;\n/**\n * Subject for notifying that a registered scrollable reference element has been scrolled.\n * @type {?}\n */\nScrollDispatcher.prototype._scrolled;\n/**\n * Keeps track of the global `scroll` and `resize` subscriptions.\n * @type {?}\n */\nScrollDispatcher.prototype._globalSubscription;\n/**\n * Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards.\n * @type {?}\n */\nScrollDispatcher.prototype._scrolledCount;\n/**\n * Map of all the scrollable references that are registered with the service and their\n * scroll event subscriptions.\n * @type {?}\n */\nScrollDispatcher.prototype.scrollableReferences;\n/** @type {?} */\nScrollDispatcher.prototype._ngZone;\n/** @type {?} */\nScrollDispatcher.prototype._platform;\n}\n\n/**\n * \\@docs-private\n * @param {?} parentDispatcher\n * @param {?} ngZone\n * @param {?} platform\n * @return {?}\n */\nexport function SCROLL_DISPATCHER_PROVIDER_FACTORY(\n parentDispatcher: ScrollDispatcher, ngZone: NgZone, platform: Platform) {\n return parentDispatcher || new ScrollDispatcher(ngZone, platform);\n}\n/**\n * \\@docs-private\n */\nexport const SCROLL_DISPATCHER_PROVIDER = {\n // If there is already a ScrollDispatcher available, use that. Otherwise, provide a new one.\n provide: ScrollDispatcher,\n deps: [[new Optional(), new SkipSelf(), ScrollDispatcher], NgZone, Platform],\n useFactory: SCROLL_DISPATCHER_PROVIDER_FACTORY\n};\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nimport {Directive, ElementRef, OnInit, OnDestroy, NgZone, Renderer2} from '@angular/core';\nimport {Observable} from 'rxjs/Observable';\nimport {Subject} from 'rxjs/Subject';\nimport {ScrollDispatcher} from './scroll-dispatcher';\n/**\n * Sends an event when the directive's element is scrolled. Registers itself with the\n * ScrollDispatcher service to include itself as part of its collection of scrolling events that it\n * can be listened to through the service.\n */\nexport class Scrollable implements OnInit, OnDestroy {\nprivate _elementScrolled: Subject<Event> = new Subject();\nprivate _scrollListener: Function | null;\n/**\n * @param {?} _elementRef\n * @param {?} _scroll\n * @param {?} _ngZone\n * @param {?} _renderer\n */\nconstructor(private _elementRef: ElementRef,\nprivate _scroll: ScrollDispatcher,\nprivate _ngZone: NgZone,\nprivate _renderer: Renderer2) {}\n/**\n * @return {?}\n */\nngOnInit() {\n this._scrollListener = this._ngZone.runOutsideAngular(() => {\n return this._renderer.listen(this.getElementRef().nativeElement, 'scroll', (event: Event) => {\n this._elementScrolled.next(event);\n });\n });\n\n this._scroll.register(this);\n }\n/**\n * @return {?}\n */\nngOnDestroy() {\n this._scroll.deregister(this);\n\n if (this._scrollListener) {\n this._scrollListener();\n this._scrollListener = null;\n }\n }\n/**\n * Returns observable that emits when a scroll event is fired on the host element.\n * @return {?}\n */\nelementScrolled(): Observable<any> {\n return this._elementScrolled.asObservable();\n }\n/**\n * @return {?}\n */\ngetElementRef(): ElementRef {\n return this._elementRef;\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[cdk-scrollable], [cdkScrollable]'\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ElementRef, },\n{type: ScrollDispatcher, },\n{type: NgZone, },\n{type: Renderer2, },\n];\n}\n\nfunction Scrollable_tsickle_Closure_declarations() {\n/** @type {?} */\nScrollable.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nScrollable.ctorParameters;\n/** @type {?} */\nScrollable.prototype._elementScrolled;\n/** @type {?} */\nScrollable.prototype._scrollListener;\n/** @type {?} */\nScrollable.prototype._elementRef;\n/** @type {?} */\nScrollable.prototype._scroll;\n/** @type {?} */\nScrollable.prototype._ngZone;\n/** @type {?} */\nScrollable.prototype._renderer;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nimport {NgModule} from '@angular/core';\nimport {SCROLL_DISPATCHER_PROVIDER} from './scroll-dispatcher';\nimport {Scrollable} from './scrollable';\nimport {PlatformModule} from '@angular/cdk/platform';\nexport class ScrollDispatchModule {static decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{\n imports: [PlatformModule],\n exports: [Scrollable],\n declarations: [Scrollable],\n providers: [SCROLL_DISPATCHER_PROVIDER],\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\nfunction ScrollDispatchModule_tsickle_Closure_declarations() {\n/** @type {?} */\nScrollDispatchModule.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nScrollDispatchModule.ctorParameters;\n}\n\n\nexport {DEFAULT_SCROLL_TIME,ScrollDispatcher,SCROLL_DISPATCHER_PROVIDER_FACTORY,SCROLL_DISPATCHER_PROVIDER} from './scroll-dispatcher';\nexport {Scrollable} from './scrollable';\nexport {ViewportRuler,VIEWPORT_RULER_PROVIDER_FACTORY,VIEWPORT_RULER_PROVIDER} from './viewport-ruler';\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport {ScrollDispatchModule,DEFAULT_SCROLL_TIME,ScrollDispatcher,SCROLL_DISPATCHER_PROVIDER_FACTORY,SCROLL_DISPATCHER_PROVIDER,Scrollable,ViewportRuler,VIEWPORT_RULER_PROVIDER_FACTORY,VIEWPORT_RULER_PROVIDER} from './public_api';\n"],"names":["VIEWPORT_RULER_PROVIDER_FACTORY","parentRuler","scrollDispatcher","ViewportRuler","this","_ngZone","_platform","_this","scrollSubscription","scrollable","elementScrolled","subscribe","_notify","scrollableReferences","set","ScrollDispatcher","prototype","deregister","scrollableReference","get","unsubscribe","delete","scrolled","auditTimeInMs","callback","isBrowser","observable","auditTime","call","_scrolled","asObservable","_scrolledCount","_globalSubscription","runOutsideAngular","merge","fromEvent","window","document","subscription","add","size","getScrollContainers","elementRef","scrollingContainers","forEach","_subscription","scrollableContainsElement","push","scrollableElement","getElementRef","nativeElement","element","next","ctorParameters","SCROLL_DISPATCHER_PROVIDER","deps","Optional","SkipSelf","NgZone","Platform","Scrollable","_elementRef","_scroll","_renderer","ngOnInit","_scrollListener","listen","event","_elementScrolled","ngOnDestroy","type","getViewportRect","documentRect","scrollPosition","getViewportScrollPosition","height","innerHeight","width","innerWidth","top","left","documentElement","scrollLeft","decorators","Injectable","provide","useFactory","ScrollDispatchModule","NgModule","args","exports","providers"],"mappings":"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"}
|
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
(function (global, factory) {
|
|
9
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/keycodes'), require('@angular/cdk/coercion'), require('@angular/cdk/bidi'), require('@angular/common')) :
|
|
10
|
+
typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/cdk/keycodes', '@angular/cdk/coercion', '@angular/cdk/bidi', '@angular/common'], factory) :
|
|
11
|
+
(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.stepper = global.ng.cdk.stepper || {}),global.ng.core,global.ng.cdk.keycodes,global.ng.cdk.coercion,global.ng.cdk.bidi,global.ng.common));
|
|
12
|
+
}(this, (function (exports,_angular_core,_angular_cdk_keycodes,_angular_cdk_coercion,_angular_cdk_bidi,_angular_common) { 'use strict';
|
|
13
|
+
|
|
14
|
+
var CdkStepLabel = (function () {
|
|
15
|
+
/**
|
|
16
|
+
* @param {?} template
|
|
17
|
+
*/
|
|
18
|
+
function CdkStepLabel(template) {
|
|
19
|
+
this.template = template;
|
|
20
|
+
}
|
|
21
|
+
return CdkStepLabel;
|
|
22
|
+
}());
|
|
23
|
+
CdkStepLabel.decorators = [
|
|
24
|
+
{ type: _angular_core.Directive, args: [{
|
|
25
|
+
selector: '[cdkStepLabel]',
|
|
26
|
+
},] },
|
|
27
|
+
];
|
|
28
|
+
/**
|
|
29
|
+
* @nocollapse
|
|
30
|
+
*/
|
|
31
|
+
CdkStepLabel.ctorParameters = function () { return [
|
|
32
|
+
{ type: _angular_core.TemplateRef, },
|
|
33
|
+
]; };
|
|
34
|
+
/**
|
|
35
|
+
* Used to generate unique ID for each stepper component.
|
|
36
|
+
*/
|
|
37
|
+
var nextId = 0;
|
|
38
|
+
/**
|
|
39
|
+
* Change event emitted on selection changes.
|
|
40
|
+
*/
|
|
41
|
+
var StepperSelectionEvent = (function () {
|
|
42
|
+
function StepperSelectionEvent() {
|
|
43
|
+
}
|
|
44
|
+
return StepperSelectionEvent;
|
|
45
|
+
}());
|
|
46
|
+
var CdkStep = (function () {
|
|
47
|
+
/**
|
|
48
|
+
* @param {?} _stepper
|
|
49
|
+
*/
|
|
50
|
+
function CdkStep(_stepper) {
|
|
51
|
+
this._stepper = _stepper;
|
|
52
|
+
/**
|
|
53
|
+
* Whether user has seen the expanded step content or not .
|
|
54
|
+
*/
|
|
55
|
+
this.interacted = false;
|
|
56
|
+
this._editable = true;
|
|
57
|
+
this._optional = false;
|
|
58
|
+
this._customCompleted = null;
|
|
59
|
+
}
|
|
60
|
+
Object.defineProperty(CdkStep.prototype, "editable", {
|
|
61
|
+
/**
|
|
62
|
+
* @return {?}
|
|
63
|
+
*/
|
|
64
|
+
get: function () { return this._editable; },
|
|
65
|
+
/**
|
|
66
|
+
* @param {?} value
|
|
67
|
+
* @return {?}
|
|
68
|
+
*/
|
|
69
|
+
set: function (value) {
|
|
70
|
+
this._editable = _angular_cdk_coercion.coerceBooleanProperty(value);
|
|
71
|
+
},
|
|
72
|
+
enumerable: true,
|
|
73
|
+
configurable: true
|
|
74
|
+
});
|
|
75
|
+
Object.defineProperty(CdkStep.prototype, "optional", {
|
|
76
|
+
/**
|
|
77
|
+
* Whether the completion of step is optional or not.
|
|
78
|
+
* @return {?}
|
|
79
|
+
*/
|
|
80
|
+
get: function () { return this._optional; },
|
|
81
|
+
/**
|
|
82
|
+
* @param {?} value
|
|
83
|
+
* @return {?}
|
|
84
|
+
*/
|
|
85
|
+
set: function (value) {
|
|
86
|
+
this._optional = _angular_cdk_coercion.coerceBooleanProperty(value);
|
|
87
|
+
},
|
|
88
|
+
enumerable: true,
|
|
89
|
+
configurable: true
|
|
90
|
+
});
|
|
91
|
+
Object.defineProperty(CdkStep.prototype, "completed", {
|
|
92
|
+
/**
|
|
93
|
+
* Return whether step is completed or not.
|
|
94
|
+
* @return {?}
|
|
95
|
+
*/
|
|
96
|
+
get: function () {
|
|
97
|
+
return this._customCompleted == null ? this._defaultCompleted : this._customCompleted;
|
|
98
|
+
},
|
|
99
|
+
/**
|
|
100
|
+
* @param {?} value
|
|
101
|
+
* @return {?}
|
|
102
|
+
*/
|
|
103
|
+
set: function (value) {
|
|
104
|
+
this._customCompleted = _angular_cdk_coercion.coerceBooleanProperty(value);
|
|
105
|
+
},
|
|
106
|
+
enumerable: true,
|
|
107
|
+
configurable: true
|
|
108
|
+
});
|
|
109
|
+
Object.defineProperty(CdkStep.prototype, "_defaultCompleted", {
|
|
110
|
+
/**
|
|
111
|
+
* @return {?}
|
|
112
|
+
*/
|
|
113
|
+
get: function () {
|
|
114
|
+
return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;
|
|
115
|
+
},
|
|
116
|
+
enumerable: true,
|
|
117
|
+
configurable: true
|
|
118
|
+
});
|
|
119
|
+
/**
|
|
120
|
+
* Selects this step component.
|
|
121
|
+
* @return {?}
|
|
122
|
+
*/
|
|
123
|
+
CdkStep.prototype.select = function () {
|
|
124
|
+
this._stepper.selected = this;
|
|
125
|
+
};
|
|
126
|
+
return CdkStep;
|
|
127
|
+
}());
|
|
128
|
+
CdkStep.decorators = [
|
|
129
|
+
{ type: _angular_core.Component, args: [{ selector: 'cdk-step',
|
|
130
|
+
template: "<ng-template><ng-content></ng-content></ng-template>",
|
|
131
|
+
encapsulation: _angular_core.ViewEncapsulation.None,
|
|
132
|
+
preserveWhitespaces: false,
|
|
133
|
+
},] },
|
|
134
|
+
];
|
|
135
|
+
/**
|
|
136
|
+
* @nocollapse
|
|
137
|
+
*/
|
|
138
|
+
CdkStep.ctorParameters = function () { return [
|
|
139
|
+
{ type: CdkStepper, decorators: [{ type: _angular_core.Inject, args: [_angular_core.forwardRef(function () { return CdkStepper; }),] },] },
|
|
140
|
+
]; };
|
|
141
|
+
CdkStep.propDecorators = {
|
|
142
|
+
'stepLabel': [{ type: _angular_core.ContentChild, args: [CdkStepLabel,] },],
|
|
143
|
+
'content': [{ type: _angular_core.ViewChild, args: [_angular_core.TemplateRef,] },],
|
|
144
|
+
'stepControl': [{ type: _angular_core.Input },],
|
|
145
|
+
'label': [{ type: _angular_core.Input },],
|
|
146
|
+
'editable': [{ type: _angular_core.Input },],
|
|
147
|
+
'optional': [{ type: _angular_core.Input },],
|
|
148
|
+
'completed': [{ type: _angular_core.Input },],
|
|
149
|
+
};
|
|
150
|
+
var CdkStepper = (function () {
|
|
151
|
+
/**
|
|
152
|
+
* @param {?} _dir
|
|
153
|
+
*/
|
|
154
|
+
function CdkStepper(_dir) {
|
|
155
|
+
this._dir = _dir;
|
|
156
|
+
this._linear = false;
|
|
157
|
+
this._selectedIndex = 0;
|
|
158
|
+
/**
|
|
159
|
+
* Event emitted when the selected step has changed.
|
|
160
|
+
*/
|
|
161
|
+
this.selectionChange = new _angular_core.EventEmitter();
|
|
162
|
+
/**
|
|
163
|
+
* The index of the step that the focus can be set.
|
|
164
|
+
*/
|
|
165
|
+
this._focusIndex = 0;
|
|
166
|
+
this._groupId = nextId++;
|
|
167
|
+
}
|
|
168
|
+
Object.defineProperty(CdkStepper.prototype, "linear", {
|
|
169
|
+
/**
|
|
170
|
+
* Whether the validity of previous steps should be checked or not.
|
|
171
|
+
* @return {?}
|
|
172
|
+
*/
|
|
173
|
+
get: function () { return this._linear; },
|
|
174
|
+
/**
|
|
175
|
+
* @param {?} value
|
|
176
|
+
* @return {?}
|
|
177
|
+
*/
|
|
178
|
+
set: function (value) { this._linear = _angular_cdk_coercion.coerceBooleanProperty(value); },
|
|
179
|
+
enumerable: true,
|
|
180
|
+
configurable: true
|
|
181
|
+
});
|
|
182
|
+
Object.defineProperty(CdkStepper.prototype, "selectedIndex", {
|
|
183
|
+
/**
|
|
184
|
+
* The index of the selected step.
|
|
185
|
+
* @return {?}
|
|
186
|
+
*/
|
|
187
|
+
get: function () { return this._selectedIndex; },
|
|
188
|
+
/**
|
|
189
|
+
* @param {?} index
|
|
190
|
+
* @return {?}
|
|
191
|
+
*/
|
|
192
|
+
set: function (index) {
|
|
193
|
+
if (this._anyControlsInvalid(index)
|
|
194
|
+
|| index < this._selectedIndex && !this._steps.toArray()[index].editable) {
|
|
195
|
+
// remove focus from clicked step header if the step is not able to be selected
|
|
196
|
+
this._stepHeader.toArray()[index].nativeElement.blur();
|
|
197
|
+
}
|
|
198
|
+
else if (this._selectedIndex != index) {
|
|
199
|
+
this._emitStepperSelectionEvent(index);
|
|
200
|
+
this._focusIndex = this._selectedIndex;
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
enumerable: true,
|
|
204
|
+
configurable: true
|
|
205
|
+
});
|
|
206
|
+
Object.defineProperty(CdkStepper.prototype, "selected", {
|
|
207
|
+
/**
|
|
208
|
+
* The step that is selected.
|
|
209
|
+
* @return {?}
|
|
210
|
+
*/
|
|
211
|
+
get: function () { return this._steps[this.selectedIndex]; },
|
|
212
|
+
/**
|
|
213
|
+
* @param {?} step
|
|
214
|
+
* @return {?}
|
|
215
|
+
*/
|
|
216
|
+
set: function (step) {
|
|
217
|
+
this.selectedIndex = this._steps.toArray().indexOf(step);
|
|
218
|
+
},
|
|
219
|
+
enumerable: true,
|
|
220
|
+
configurable: true
|
|
221
|
+
});
|
|
222
|
+
/**
|
|
223
|
+
* Selects and focuses the next step in list.
|
|
224
|
+
* @return {?}
|
|
225
|
+
*/
|
|
226
|
+
CdkStepper.prototype.next = function () {
|
|
227
|
+
this.selectedIndex = Math.min(this._selectedIndex + 1, this._steps.length - 1);
|
|
228
|
+
};
|
|
229
|
+
/**
|
|
230
|
+
* Selects and focuses the previous step in list.
|
|
231
|
+
* @return {?}
|
|
232
|
+
*/
|
|
233
|
+
CdkStepper.prototype.previous = function () {
|
|
234
|
+
this.selectedIndex = Math.max(this._selectedIndex - 1, 0);
|
|
235
|
+
};
|
|
236
|
+
/**
|
|
237
|
+
* Returns a unique id for each step label element.
|
|
238
|
+
* @param {?} i
|
|
239
|
+
* @return {?}
|
|
240
|
+
*/
|
|
241
|
+
CdkStepper.prototype._getStepLabelId = function (i) {
|
|
242
|
+
return "mat-step-label-" + this._groupId + "-" + i;
|
|
243
|
+
};
|
|
244
|
+
/**
|
|
245
|
+
* Returns unique id for each step content element.
|
|
246
|
+
* @param {?} i
|
|
247
|
+
* @return {?}
|
|
248
|
+
*/
|
|
249
|
+
CdkStepper.prototype._getStepContentId = function (i) {
|
|
250
|
+
return "mat-step-content-" + this._groupId + "-" + i;
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* Returns position state of the step with the given index.
|
|
254
|
+
* @param {?} index
|
|
255
|
+
* @return {?}
|
|
256
|
+
*/
|
|
257
|
+
CdkStepper.prototype._getAnimationDirection = function (index) {
|
|
258
|
+
var /** @type {?} */ position = index - this._selectedIndex;
|
|
259
|
+
if (position < 0) {
|
|
260
|
+
return this._layoutDirection() === 'rtl' ? 'next' : 'previous';
|
|
261
|
+
}
|
|
262
|
+
else if (position > 0) {
|
|
263
|
+
return this._layoutDirection() === 'rtl' ? 'previous' : 'next';
|
|
264
|
+
}
|
|
265
|
+
return 'current';
|
|
266
|
+
};
|
|
267
|
+
/**
|
|
268
|
+
* Returns the type of icon to be displayed.
|
|
269
|
+
* @param {?} index
|
|
270
|
+
* @return {?}
|
|
271
|
+
*/
|
|
272
|
+
CdkStepper.prototype._getIndicatorType = function (index) {
|
|
273
|
+
var /** @type {?} */ step = this._steps.toArray()[index];
|
|
274
|
+
if (!step.completed || this._selectedIndex == index) {
|
|
275
|
+
return 'number';
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
return step.editable ? 'edit' : 'done';
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
/**
|
|
282
|
+
* @param {?} newIndex
|
|
283
|
+
* @return {?}
|
|
284
|
+
*/
|
|
285
|
+
CdkStepper.prototype._emitStepperSelectionEvent = function (newIndex) {
|
|
286
|
+
var /** @type {?} */ stepsArray = this._steps.toArray();
|
|
287
|
+
this.selectionChange.emit({
|
|
288
|
+
selectedIndex: newIndex,
|
|
289
|
+
previouslySelectedIndex: this._selectedIndex,
|
|
290
|
+
selectedStep: stepsArray[newIndex],
|
|
291
|
+
previouslySelectedStep: stepsArray[this._selectedIndex],
|
|
292
|
+
});
|
|
293
|
+
this._selectedIndex = newIndex;
|
|
294
|
+
};
|
|
295
|
+
/**
|
|
296
|
+
* @param {?} event
|
|
297
|
+
* @return {?}
|
|
298
|
+
*/
|
|
299
|
+
CdkStepper.prototype._onKeydown = function (event) {
|
|
300
|
+
switch (event.keyCode) {
|
|
301
|
+
case _angular_cdk_keycodes.RIGHT_ARROW:
|
|
302
|
+
if (this._layoutDirection() === 'rtl') {
|
|
303
|
+
this._focusPreviousStep();
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
this._focusNextStep();
|
|
307
|
+
}
|
|
308
|
+
break;
|
|
309
|
+
case _angular_cdk_keycodes.LEFT_ARROW:
|
|
310
|
+
if (this._layoutDirection() === 'rtl') {
|
|
311
|
+
this._focusNextStep();
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
this._focusPreviousStep();
|
|
315
|
+
}
|
|
316
|
+
break;
|
|
317
|
+
case _angular_cdk_keycodes.SPACE:
|
|
318
|
+
case _angular_cdk_keycodes.ENTER:
|
|
319
|
+
this.selectedIndex = this._focusIndex;
|
|
320
|
+
break;
|
|
321
|
+
default:
|
|
322
|
+
// Return to avoid calling preventDefault on keys that are not explicitly handled.
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
event.preventDefault();
|
|
326
|
+
};
|
|
327
|
+
/**
|
|
328
|
+
* @return {?}
|
|
329
|
+
*/
|
|
330
|
+
CdkStepper.prototype._focusNextStep = function () {
|
|
331
|
+
this._focusStep((this._focusIndex + 1) % this._steps.length);
|
|
332
|
+
};
|
|
333
|
+
/**
|
|
334
|
+
* @return {?}
|
|
335
|
+
*/
|
|
336
|
+
CdkStepper.prototype._focusPreviousStep = function () {
|
|
337
|
+
this._focusStep((this._focusIndex + this._steps.length - 1) % this._steps.length);
|
|
338
|
+
};
|
|
339
|
+
/**
|
|
340
|
+
* @param {?} index
|
|
341
|
+
* @return {?}
|
|
342
|
+
*/
|
|
343
|
+
CdkStepper.prototype._focusStep = function (index) {
|
|
344
|
+
this._focusIndex = index;
|
|
345
|
+
this._stepHeader.toArray()[this._focusIndex].nativeElement.focus();
|
|
346
|
+
};
|
|
347
|
+
/**
|
|
348
|
+
* @param {?} index
|
|
349
|
+
* @return {?}
|
|
350
|
+
*/
|
|
351
|
+
CdkStepper.prototype._anyControlsInvalid = function (index) {
|
|
352
|
+
this._steps.toArray()[this._selectedIndex].interacted = true;
|
|
353
|
+
if (this._linear && index >= 0) {
|
|
354
|
+
return this._steps.toArray().slice(0, index).some(function (step) { return step.stepControl.invalid; });
|
|
355
|
+
}
|
|
356
|
+
return false;
|
|
357
|
+
};
|
|
358
|
+
/**
|
|
359
|
+
* @return {?}
|
|
360
|
+
*/
|
|
361
|
+
CdkStepper.prototype._layoutDirection = function () {
|
|
362
|
+
return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';
|
|
363
|
+
};
|
|
364
|
+
return CdkStepper;
|
|
365
|
+
}());
|
|
366
|
+
CdkStepper.decorators = [
|
|
367
|
+
{ type: _angular_core.Directive, args: [{
|
|
368
|
+
selector: '[cdkStepper]',
|
|
369
|
+
},] },
|
|
370
|
+
];
|
|
371
|
+
/**
|
|
372
|
+
* @nocollapse
|
|
373
|
+
*/
|
|
374
|
+
CdkStepper.ctorParameters = function () { return [
|
|
375
|
+
{ type: _angular_cdk_bidi.Directionality, decorators: [{ type: _angular_core.Optional },] },
|
|
376
|
+
]; };
|
|
377
|
+
CdkStepper.propDecorators = {
|
|
378
|
+
'_steps': [{ type: _angular_core.ContentChildren, args: [CdkStep,] },],
|
|
379
|
+
'linear': [{ type: _angular_core.Input },],
|
|
380
|
+
'selectedIndex': [{ type: _angular_core.Input },],
|
|
381
|
+
'selected': [{ type: _angular_core.Input },],
|
|
382
|
+
'selectionChange': [{ type: _angular_core.Output },],
|
|
383
|
+
};
|
|
384
|
+
/**
|
|
385
|
+
* Button that moves to the next step in a stepper workflow.
|
|
386
|
+
*/
|
|
387
|
+
var CdkStepperNext = (function () {
|
|
388
|
+
/**
|
|
389
|
+
* @param {?} _stepper
|
|
390
|
+
*/
|
|
391
|
+
function CdkStepperNext(_stepper) {
|
|
392
|
+
this._stepper = _stepper;
|
|
393
|
+
}
|
|
394
|
+
return CdkStepperNext;
|
|
395
|
+
}());
|
|
396
|
+
CdkStepperNext.decorators = [
|
|
397
|
+
{ type: _angular_core.Directive, args: [{
|
|
398
|
+
selector: 'button[cdkStepperNext]',
|
|
399
|
+
host: { '(click)': '_stepper.next()' }
|
|
400
|
+
},] },
|
|
401
|
+
];
|
|
402
|
+
/**
|
|
403
|
+
* @nocollapse
|
|
404
|
+
*/
|
|
405
|
+
CdkStepperNext.ctorParameters = function () { return [
|
|
406
|
+
{ type: CdkStepper, },
|
|
407
|
+
]; };
|
|
408
|
+
/**
|
|
409
|
+
* Button that moves to the previous step in a stepper workflow.
|
|
410
|
+
*/
|
|
411
|
+
var CdkStepperPrevious = (function () {
|
|
412
|
+
/**
|
|
413
|
+
* @param {?} _stepper
|
|
414
|
+
*/
|
|
415
|
+
function CdkStepperPrevious(_stepper) {
|
|
416
|
+
this._stepper = _stepper;
|
|
417
|
+
}
|
|
418
|
+
return CdkStepperPrevious;
|
|
419
|
+
}());
|
|
420
|
+
CdkStepperPrevious.decorators = [
|
|
421
|
+
{ type: _angular_core.Directive, args: [{
|
|
422
|
+
selector: 'button[cdkStepperPrevious]',
|
|
423
|
+
host: { '(click)': '_stepper.previous()' }
|
|
424
|
+
},] },
|
|
425
|
+
];
|
|
426
|
+
/**
|
|
427
|
+
* @nocollapse
|
|
428
|
+
*/
|
|
429
|
+
CdkStepperPrevious.ctorParameters = function () { return [
|
|
430
|
+
{ type: CdkStepper, },
|
|
431
|
+
]; };
|
|
432
|
+
var CdkStepperModule = (function () {
|
|
433
|
+
function CdkStepperModule() {
|
|
434
|
+
}
|
|
435
|
+
return CdkStepperModule;
|
|
436
|
+
}());
|
|
437
|
+
CdkStepperModule.decorators = [
|
|
438
|
+
{ type: _angular_core.NgModule, args: [{
|
|
439
|
+
imports: [_angular_cdk_bidi.BidiModule, _angular_common.CommonModule],
|
|
440
|
+
exports: [CdkStep, CdkStepper, CdkStepLabel, CdkStepperNext, CdkStepperPrevious],
|
|
441
|
+
declarations: [CdkStep, CdkStepper, CdkStepLabel, CdkStepperNext, CdkStepperPrevious]
|
|
442
|
+
},] },
|
|
443
|
+
];
|
|
444
|
+
/**
|
|
445
|
+
* @nocollapse
|
|
446
|
+
*/
|
|
447
|
+
CdkStepperModule.ctorParameters = function () { return []; };
|
|
448
|
+
|
|
449
|
+
exports.CdkStepperModule = CdkStepperModule;
|
|
450
|
+
exports.StepperSelectionEvent = StepperSelectionEvent;
|
|
451
|
+
exports.CdkStep = CdkStep;
|
|
452
|
+
exports.CdkStepper = CdkStepper;
|
|
453
|
+
exports.CdkStepLabel = CdkStepLabel;
|
|
454
|
+
exports.CdkStepperNext = CdkStepperNext;
|
|
455
|
+
exports.CdkStepperPrevious = CdkStepperPrevious;
|
|
456
|
+
|
|
457
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
458
|
+
|
|
459
|
+
})));
|
|
460
|
+
//# sourceMappingURL=cdk-stepper.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdk-stepper.umd.js","sources":["../../src/cdk/stepper/index.ts","../../src/cdk/stepper/public_api.ts","../../src/cdk/stepper/stepper-button.ts","../../src/cdk/stepper/stepper.ts","../../src/cdk/stepper/step-label.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport {CdkStepperModule,StepContentPositionState,StepperSelectionEvent,CdkStep,CdkStepper,CdkStepLabel,CdkStepperNext,CdkStepperPrevious} from './public_api';\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nimport {NgModule} from '@angular/core';\nimport {CdkStepper, CdkStep} from './stepper';\nimport {CommonModule} from '@angular/common';\nimport {CdkStepLabel} from './step-label';\nimport {CdkStepperNext, CdkStepperPrevious} from './stepper-button';\nimport {BidiModule} from '@angular/cdk/bidi';\nexport class CdkStepperModule {static decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{\n imports: [BidiModule, CommonModule],\n exports: [CdkStep, CdkStepper, CdkStepLabel, CdkStepperNext, CdkStepperPrevious],\n declarations: [CdkStep, CdkStepper, CdkStepLabel, CdkStepperNext, CdkStepperPrevious]\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\nfunction CdkStepperModule_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkStepperModule.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkStepperModule.ctorParameters;\n}\n\n\nexport {StepContentPositionState,StepperSelectionEvent,CdkStep,CdkStepper} from './stepper';\nexport {CdkStepLabel} from './step-label';\nexport {CdkStepperNext,CdkStepperPrevious} from './stepper-button';\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nimport {Directive} from '@angular/core';\nimport {CdkStepper} from './stepper';\n/**\n * Button that moves to the next step in a stepper workflow.\n */\nexport class CdkStepperNext {\n/**\n * @param {?} _stepper\n */\nconstructor(public _stepper: CdkStepper) { }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: 'button[cdkStepperNext]',\n host: {'(click)': '_stepper.next()'}\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: CdkStepper, },\n];\n}\n\nfunction CdkStepperNext_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkStepperNext.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkStepperNext.ctorParameters;\n/** @type {?} */\nCdkStepperNext.prototype._stepper;\n}\n\n/**\n * Button that moves to the previous step in a stepper workflow.\n */\nexport class CdkStepperPrevious {\n/**\n * @param {?} _stepper\n */\nconstructor(public _stepper: CdkStepper) { }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: 'button[cdkStepperPrevious]',\n host: {'(click)': '_stepper.previous()'}\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: CdkStepper, },\n];\n}\n\nfunction CdkStepperPrevious_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkStepperPrevious.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkStepperPrevious.ctorParameters;\n/** @type {?} */\nCdkStepperPrevious.prototype._stepper;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nimport {\n ContentChildren,\n EventEmitter,\n Input,\n Output,\n QueryList,\n Directive,\n // This import is only used to define a generic type. The current TypeScript version incorrectly\n // considers such imports as unused (https://github.com/Microsoft/TypeScript/issues/14953)\n // tslint:disable-next-line:no-unused-variable\n ElementRef,\n Component,\n ContentChild,\n ViewChild,\n TemplateRef,\n ViewEncapsulation,\n Optional,\n Inject,\n forwardRef\n} from '@angular/core';\nimport {LEFT_ARROW, RIGHT_ARROW, ENTER, SPACE} from '@angular/cdk/keycodes';\nimport {CdkStepLabel} from './step-label';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {AbstractControl} from '@angular/forms';\nimport {Direction, Directionality} from '@angular/cdk/bidi';\n/**\n * Used to generate unique ID for each stepper component.\n */\nlet nextId = 0;\n\n/**\n * Position state of the content of each step in stepper that is used for transitioning\n * the content into correct position upon step selection change.\n */\nexport type StepContentPositionState = 'previous' | 'current' | 'next';\n/**\n * Change event emitted on selection changes.\n */\nexport class StepperSelectionEvent {\n/**\n * Index of the step now selected.\n */\nselectedIndex: number;\n/**\n * Index of the step previously selected.\n */\npreviouslySelectedIndex: number;\n/**\n * The step instance now selected.\n */\nselectedStep: CdkStep;\n/**\n * The step instance previously selected.\n */\npreviouslySelectedStep: CdkStep;\n}\n\nfunction StepperSelectionEvent_tsickle_Closure_declarations() {\n/**\n * Index of the step now selected.\n * @type {?}\n */\nStepperSelectionEvent.prototype.selectedIndex;\n/**\n * Index of the step previously selected.\n * @type {?}\n */\nStepperSelectionEvent.prototype.previouslySelectedIndex;\n/**\n * The step instance now selected.\n * @type {?}\n */\nStepperSelectionEvent.prototype.selectedStep;\n/**\n * The step instance previously selected.\n * @type {?}\n */\nStepperSelectionEvent.prototype.previouslySelectedStep;\n}\n\nexport class CdkStep {\n/**\n * Template for step label if it exists.\n */\nstepLabel: CdkStepLabel;\n/**\n * Template for step content.\n */\ncontent: TemplateRef<any>;\n/**\n * The top level abstract control of the step.\n */\nstepControl: AbstractControl;\n/**\n * Whether user has seen the expanded step content or not .\n */\ninteracted = false;\n/**\n * Label of the step.\n */\nlabel: string;\n/**\n * @return {?}\n */\nget editable() { return this._editable; }\n/**\n * @param {?} value\n * @return {?}\n */\nset editable(value: any) {\n this._editable = coerceBooleanProperty(value);\n }\nprivate _editable = true;\n/**\n * Whether the completion of step is optional or not.\n * @return {?}\n */\nget optional() { return this._optional; }\n/**\n * @param {?} value\n * @return {?}\n */\nset optional(value: any) {\n this._optional = coerceBooleanProperty(value);\n }\nprivate _optional = false;\n/**\n * Return whether step is completed or not.\n * @return {?}\n */\nget completed() {\n return this._customCompleted == null ? this._defaultCompleted : this._customCompleted;\n }\n/**\n * @param {?} value\n * @return {?}\n */\nset completed(value: any) {\n this._customCompleted = coerceBooleanProperty(value);\n }\nprivate _customCompleted: boolean | null = null;\n/**\n * @return {?}\n */\nprivate get _defaultCompleted() {\n return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;\n }\n/**\n * @param {?} _stepper\n */\nconstructor(\nprivate _stepper: CdkStepper) { }\n/**\n * Selects this step component.\n * @return {?}\n */\nselect(): void {\n this._stepper.selected = this;\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Component, args: [{\n moduleId: module.id,\n selector: 'cdk-step',\n templateUrl: 'step.html',\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: CdkStepper, decorators: [{ type: Inject, args: [forwardRef(() => CdkStepper), ] }, ]},\n];\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'stepLabel': [{ type: ContentChild, args: [CdkStepLabel, ] },],\n'content': [{ type: ViewChild, args: [TemplateRef, ] },],\n'stepControl': [{ type: Input },],\n'label': [{ type: Input },],\n'editable': [{ type: Input },],\n'optional': [{ type: Input },],\n'completed': [{ type: Input },],\n};\n}\n\nfunction CdkStep_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkStep.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkStep.ctorParameters;\n/** @type {?} */\nCdkStep.propDecorators;\n/**\n * Template for step label if it exists.\n * @type {?}\n */\nCdkStep.prototype.stepLabel;\n/**\n * Template for step content.\n * @type {?}\n */\nCdkStep.prototype.content;\n/**\n * The top level abstract control of the step.\n * @type {?}\n */\nCdkStep.prototype.stepControl;\n/**\n * Whether user has seen the expanded step content or not .\n * @type {?}\n */\nCdkStep.prototype.interacted;\n/**\n * Label of the step.\n * @type {?}\n */\nCdkStep.prototype.label;\n/** @type {?} */\nCdkStep.prototype._editable;\n/** @type {?} */\nCdkStep.prototype._optional;\n/** @type {?} */\nCdkStep.prototype._customCompleted;\n/** @type {?} */\nCdkStep.prototype._stepper;\n}\n\nexport class CdkStepper {\n/**\n * The list of step components that the stepper is holding.\n */\n_steps: QueryList<CdkStep>;\n/**\n * The list of step headers of the steps in the stepper.\n */\n_stepHeader: QueryList<ElementRef>;\n/**\n * Whether the validity of previous steps should be checked or not.\n * @return {?}\n */\nget linear() { return this._linear; }\n/**\n * @param {?} value\n * @return {?}\n */\nset linear(value: any) { this._linear = coerceBooleanProperty(value); }\nprivate _linear = false;\n/**\n * The index of the selected step.\n * @return {?}\n */\nget selectedIndex() { return this._selectedIndex; }\n/**\n * @param {?} index\n * @return {?}\n */\nset selectedIndex(index: number) {\n if (this._anyControlsInvalid(index)\n || index < this._selectedIndex && !this._steps.toArray()[index].editable) {\n // remove focus from clicked step header if the step is not able to be selected\n this._stepHeader.toArray()[index].nativeElement.blur();\n } else if (this._selectedIndex != index) {\n this._emitStepperSelectionEvent(index);\n this._focusIndex = this._selectedIndex;\n }\n }\nprivate _selectedIndex: number = 0;\n/**\n * The step that is selected.\n * @return {?}\n */\nget selected() { return this._steps[this.selectedIndex]; }\n/**\n * @param {?} step\n * @return {?}\n */\nset selected(step: CdkStep) {\n this.selectedIndex = this._steps.toArray().indexOf(step);\n }\n/**\n * Event emitted when the selected step has changed.\n */\nselectionChange = new EventEmitter<StepperSelectionEvent>();\n/**\n * The index of the step that the focus can be set.\n */\n_focusIndex: number = 0;\n/**\n * Used to track unique ID for each stepper component.\n */\n_groupId: number;\n/**\n * @param {?} _dir\n */\nconstructor(\nprivate _dir: Directionality) {\n this._groupId = nextId++;\n }\n/**\n * Selects and focuses the next step in list.\n * @return {?}\n */\nnext(): void {\n this.selectedIndex = Math.min(this._selectedIndex + 1, this._steps.length - 1);\n }\n/**\n * Selects and focuses the previous step in list.\n * @return {?}\n */\nprevious(): void {\n this.selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n/**\n * Returns a unique id for each step label element.\n * @param {?} i\n * @return {?}\n */\n_getStepLabelId(i: number): string {\n return `mat-step-label-${this._groupId}-${i}`;\n }\n/**\n * Returns unique id for each step content element.\n * @param {?} i\n * @return {?}\n */\n_getStepContentId(i: number): string {\n return `mat-step-content-${this._groupId}-${i}`;\n }\n/**\n * Returns position state of the step with the given index.\n * @param {?} index\n * @return {?}\n */\n_getAnimationDirection(index: number): StepContentPositionState {\n const /** @type {?} */ position = index - this._selectedIndex;\n if (position < 0) {\n return this._layoutDirection() === 'rtl' ? 'next' : 'previous';\n } else if (position > 0) {\n return this._layoutDirection() === 'rtl' ? 'previous' : 'next';\n }\n return 'current';\n }\n/**\n * Returns the type of icon to be displayed.\n * @param {?} index\n * @return {?}\n */\n_getIndicatorType(index: number): 'number' | 'edit' | 'done' {\n const /** @type {?} */ step = this._steps.toArray()[index];\n if (!step.completed || this._selectedIndex == index) {\n return 'number';\n } else {\n return step.editable ? 'edit' : 'done';\n }\n }\n/**\n * @param {?} newIndex\n * @return {?}\n */\nprivate _emitStepperSelectionEvent(newIndex: number): void {\n const /** @type {?} */ stepsArray = this._steps.toArray();\n this.selectionChange.emit({\n selectedIndex: newIndex,\n previouslySelectedIndex: this._selectedIndex,\n selectedStep: stepsArray[newIndex],\n previouslySelectedStep: stepsArray[this._selectedIndex],\n });\n this._selectedIndex = newIndex;\n }\n/**\n * @param {?} event\n * @return {?}\n */\n_onKeydown(event: KeyboardEvent) {\n switch (event.keyCode) {\n case RIGHT_ARROW:\n if (this._layoutDirection() === 'rtl') {\n this._focusPreviousStep();\n } else {\n this._focusNextStep();\n }\n break;\n case LEFT_ARROW:\n if (this._layoutDirection() === 'rtl') {\n this._focusNextStep();\n } else {\n this._focusPreviousStep();\n }\n break;\n case SPACE:\n case ENTER:\n this.selectedIndex = this._focusIndex;\n break;\n default:\n // Return to avoid calling preventDefault on keys that are not explicitly handled.\n return;\n }\n event.preventDefault();\n }\n/**\n * @return {?}\n */\nprivate _focusNextStep() {\n this._focusStep((this._focusIndex + 1) % this._steps.length);\n }\n/**\n * @return {?}\n */\nprivate _focusPreviousStep() {\n this._focusStep((this._focusIndex + this._steps.length - 1) % this._steps.length);\n }\n/**\n * @param {?} index\n * @return {?}\n */\nprivate _focusStep(index: number) {\n this._focusIndex = index;\n this._stepHeader.toArray()[this._focusIndex].nativeElement.focus();\n }\n/**\n * @param {?} index\n * @return {?}\n */\nprivate _anyControlsInvalid(index: number): boolean {\n this._steps.toArray()[this._selectedIndex].interacted = true;\n if (this._linear && index >= 0) {\n return this._steps.toArray().slice(0, index).some(step => step.stepControl.invalid);\n }\n return false;\n }\n/**\n * @return {?}\n */\nprivate _layoutDirection(): Direction {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[cdkStepper]',\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: Directionality, decorators: [{ type: Optional }, ]},\n];\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'_steps': [{ type: ContentChildren, args: [CdkStep, ] },],\n'linear': [{ type: Input },],\n'selectedIndex': [{ type: Input },],\n'selected': [{ type: Input },],\n'selectionChange': [{ type: Output },],\n};\n}\n\nfunction CdkStepper_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkStepper.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkStepper.ctorParameters;\n/** @type {?} */\nCdkStepper.propDecorators;\n/**\n * The list of step components that the stepper is holding.\n * @type {?}\n */\nCdkStepper.prototype._steps;\n/**\n * The list of step headers of the steps in the stepper.\n * @type {?}\n */\nCdkStepper.prototype._stepHeader;\n/** @type {?} */\nCdkStepper.prototype._linear;\n/** @type {?} */\nCdkStepper.prototype._selectedIndex;\n/**\n * Event emitted when the selected step has changed.\n * @type {?}\n */\nCdkStepper.prototype.selectionChange;\n/**\n * The index of the step that the focus can be set.\n * @type {?}\n */\nCdkStepper.prototype._focusIndex;\n/**\n * Used to track unique ID for each stepper component.\n * @type {?}\n */\nCdkStepper.prototype._groupId;\n/** @type {?} */\nCdkStepper.prototype._dir;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nimport {Directive, TemplateRef} from '@angular/core';\nexport class CdkStepLabel {\n/**\n * @param {?} template\n */\nconstructor(public template: TemplateRef<any>) { }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[cdkStepLabel]',\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: TemplateRef, },\n];\n}\n\nfunction CdkStepLabel_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkStepLabel.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkStepLabel.ctorParameters;\n/** @type {?} */\nCdkStepLabel.prototype.template;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"],"names":["Directive","Input","Directionality","Optional","RIGHT_ARROW","coerceBooleanProperty","ViewEncapsulation","Component","TemplateRef"],"mappings":"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"}
|