http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/layout.js.map ---------------------------------------------------------------------- diff --git a/node_modules/@angular/cdk/esm2015/layout.js.map b/node_modules/@angular/cdk/esm2015/layout.js.map new file mode 100644 index 0000000..81f48c2 --- /dev/null +++ b/node_modules/@angular/cdk/esm2015/layout.js.map @@ -0,0 +1 @@ +{"version":3,"file":"layout.js","sources":["../../../src/cdk/layout/index.ts","../../../src/cdk/layout/public-api.ts","../../../src/cdk/layout/breakpoints.ts","../../../src/cdk/layout/breakpoints-observer.ts","../../../src/cdk/layout/media-matcher.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC 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 */\nimport {NgModule} from '@angular/core';\nimport {PlatformModule} from '@angular/cdk/platform';\nimport {BreakpointObserver} from './breakpoints-observer';\nimport {MediaMatcher} from './media-matcher';\n\n@NgModule({\n providers: [BreakpointObserver, MediaMatcher],\n imports: [PlatformModule],\n})\nexport class LayoutModule {}\n\nexport {BreakpointObserver, BreakpointState} from './breakpoints-observer';\nexport {Breakpoint s} from './breakpoints';\nexport {MediaMatcher} from './media-matcher';\n","/**\n * @license\n * Copyright Google LLC 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// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nexport const Breakpoints = {\n XSmall: '(max-width: 599px)',\n Small: '(min-width: 600px) and (max-width: 959px)',\n Medium: '(min-width: 960px) and (max-width: 1279px)',\n Large: '(min-width: 1280px) and (max-width: 1919px)',\n XLarge: '(min-width: 1920px)',\n\n Handset: '(max-width: 599px) and (orientation: portrait), ' +\n '(max-width: 959px) and (orientation: landscape)',\n Tablet: '(min-width: 600px) and (max-width: 839px) and (orientation: portrait), ' +\n '(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)',\n Web: '(min-width: 840px) and (or ientation: portrait), ' +\n '(min-width: 1280px) and (orientation: landscape)',\n\n HandsetPortrait: '(max-width: 599px) and (orientation: portrait)',\n TabletPortrait: '(min-width: 600px) and (max-width: 839px) and (orientation: portrait)',\n WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n\n HandsetLandscape: '(max-width: 959px) and (orientation: landscape)',\n TabletLandscape: '(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)',\n WebLandscape: '(min-width: 1280px) and (orientation: landscape)',\n};\n","/**\n * @license\n * Copyright Google LLC 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 */\nimport {Injectable, NgZone, OnDestroy} from '@angular/core';\nimport {MediaMatcher} from './media-matcher';\nimport {Observable} from 'rxjs/Observable';\nimport {Subject} from 'rxjs/Subject';\nimport {map} from 'rxjs/operators /map';\nimport {startWith} from 'rxjs/operators/startWith';\nimport {takeUntil} from 'rxjs/operators/takeUntil';\nimport {coerceArray} from '@angular/cdk/coercion';\nimport {combineLatest} from 'rxjs/observable/combineLatest';\nimport {fromEventPattern} from 'rxjs/observable/fromEventPattern';\n\n/** The current state of a layout breakpoint. */\nexport interface BreakpointState {\n /** Whether the breakpoint is currently matching. */\n matches: boolean;\n}\n\ninterface Query {\n observable: Observable<BreakpointState>;\n mql: MediaQueryList;\n}\n\n/** Utility for checking the matching state of @media queries. */\n@Injectable()\nexport class BreakpointObserver implements OnDestroy {\n /** A map of all media queries currently being listened for. */\n private _queries: Map<string, Query> = new Map();\n /** A subject for all other observables to takeUntil based on. */\n private _destroySubject: Subject<{}> = new Subject();\n\n constructor(private mediaMatcher: MediaMatcher, pr ivate zone: NgZone) {}\n\n /** Completes the active subject, signalling to all other observables to complete. */\n ngOnDestroy() {\n this._destroySubject.next();\n this._destroySubject.complete();\n }\n\n /**\n * Whether one or more media queries match the current viewport size.\n * @param value One or more media queries to check.\n * @returns Whether any of the media queries match.\n */\n isMatched(value: string | string[]): boolean {\n let queries = coerceArray(value);\n return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n }\n\n /**\n * Gets an observable of results for the given queries that will emit new results for any changes\n * in matching of the given queries.\n * @returns A stream of matches for the given queries.\n */\n observe(value: string | string[]): Observable<BreakpointState> {\n let queries = coerceArray(value);\n let observables = queries.map(query => this._registerQuery(query).observable);\n\n return combineLatest(observables, (a: BreakpointState, b: BreakpointState) => {\n return {\n matches: !!((a && a.matches) || (b && b.matches)),\n };\n });\n }\n\n /** Registers a specific query to be listened for. */\n private _registerQuery(query: string): Query {\n // Only set up a new MediaQueryList if it is not already being listened for.\n if (this._queries.has(query)) {\n return this._queries.get(query)!;\n }\n\n let mql: MediaQueryList = this.mediaMatcher.matchMedia(query);\n // Create callback for match changes and add it is as a listener.\n let queryObservable = fromEventPattern(\n // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n // back into the zone because matchMedia is only included in Zone.js by loading the\n // webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not\n // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js\n // patches it.\n (listener: MediaQueryListListener) => {\n mql.addListener((e: MediaQueryList) => this.zone.run(() => listener(e)));\n },\n (listener: MediaQueryListListener) => {\n mql.removeListener((e: MediaQueryList) => this.zone.run(() => listener(e)));\n })\n .pipe(\n takeUntil(this._destroySubject),\n startWith(mql),\n map((nextMql: MediaQueryList) => ({matches: nextMql.matches}))\n );\n\n // Add the MediaQueryList to the set of queries.\n let output = {observable: queryObservable, mql: mql};\n this._queries.set(query, output);\n return output;\n }\n}\n","/**\n * @license\n * Copyright Google LLC 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 */\nimport {Injectable} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform'; \n\n/**\n * Global registry for all dynamically-created, injected style tags.\n */\nconst styleElementForWebkitCompatibility: Map<string, HTMLStyleElement> = new Map();\n\n/** A utility for calling matchMedia queries. */\n@Injectable()\nexport class MediaMatcher {\n /** The internal matchMedia method to return back a MediaQueryList like object. */\n private _matchMedia: (query: string) => MediaQueryList;\n\n constructor(private platform: Platform) {\n this._matchMedia = this.platform.isBrowser && window.matchMedia ?\n // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n // call it from a different scope.\n window.matchMedia.bind(window) :\n noopMatchMedia;\n }\n\n /**\n * Evaluates the given media query and returns the native MediaQueryList from which results\n * can be retrieved.\n * Confirms the layout engine will trigger for the selector query provided and returns the\n * MediaQueryList for the query prov ided.\n */\n matchMedia(query: string): MediaQueryList {\n if (this.platform.WEBKIT) {\n createEmptyStyleRule(query);\n }\n return this._matchMedia(query);\n }\n}\n\n/**\n * For Webkit engines that only trigger the MediaQueryListListener when there is at least one CSS\n * selector for the respective media query.\n */\nfunction createEmptyStyleRule(query: string) {\n if (!styleElementForWebkitCompatibility.has(query)) {\n try {\n const style = document.createElement('style');\n\n style.setAttribute('type', 'text/css');\n if (!style.sheet) {\n const cssText = `@media ${query} {.fx-query-test{ }}`;\n style.appendChild(document.createTextNode(cssText));\n }\n\n document.getElementsByTagName('head')[0].appendChild(style);\n\n // Store in private global registry\n styleElementForWebkitCompatibility.set(query, style);\n } catch (e) {\n console.error(e);\n }\n }\n}\n\n/** No-op matchMedia replacement for non- browser platforms. */\nfunction noopMatchMedia(query: string): MediaQueryList {\n return {\n matches: query === 'all' || query === '',\n media: query,\n addListener: () => {},\n removeListener: () => {}\n };\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/observers.js ---------------------------------------------------------------------- diff --git a/node_modules/@angular/cdk/esm2015/observers.js b/node_modules/@angular/cdk/esm2015/observers.js new file mode 100644 index 0000000..6757ef5 --- /dev/null +++ b/node_modules/@angular/cdk/esm2015/observers.js @@ -0,0 +1,175 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +import { Directive, ElementRef, EventEmitter, Injectable, Input, NgModule, NgZone, Output } from '@angular/core'; +import { coerceBooleanProperty } from '@angular/cdk/coercion'; +import { Subject } from 'rxjs/Subject'; +import { debounceTime } from 'rxjs/operators/debounceTime'; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes} checked by tsc + */ + +/** + * Factory that creates a new MutationObserver and allows us to stub it out in unit tests. + * \@docs-private + */ +class MutationObserverFactory { + /** + * @param {?} callback + * @return {?} + */ + create(callback) { + return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback); + } +} +MutationObserverFactory.decorators = [ + { type: Injectable }, +]; +/** @nocollapse */ +MutationObserverFactory.ctorParameters = () => []; +/** + * Directive that triggers a callback whenever the content of + * its associated element has changed. + */ +class CdkObserveContent { + /** + * @param {?} _mutationObserverFactory + * @param {?} _elementRef + * @param {?} _ngZone + */ + constructor(_mutationObserverFactory, _elementRef, _ngZone) { + this._mutationObserverFactory = _mutationObserverFactory; + this._elementRef = _elementRef; + this._ngZone = _ngZone; + this._disabled = false; + /** + * Event emitted for each change in the element's content. + */ + this.event = new EventEmitter(); + /** + * Used for debouncing the emitted values to the observeContent event. + */ + this._debouncer = new Subject(); + } + /** + * Whether observing content is disabled. This option can be used + * to disconnect the underlying MutationObserver until it is needed. + * @return {?} + */ + get disabled() { return this._disabled; } + /** + * @param {?} value + * @return {?} + */ + set disabled(value) { + this._disabled = coerceBooleanProperty(value); + } + /** + * @return {?} + */ + ngAfterContentInit() { + if (this.debounce > 0) { + this._ngZone.runOutsideAngular(() => { + this._debouncer.pipe(debounceTime(this.debounce)) + .subscribe((mutations) => this.event.emit(mutations)); + }); + } + else { + this._debouncer.subscribe(mutations => this.event.emit(mutations)); + } + this._observer = this._ngZone.runOutsideAngular(() => { + return this._mutationObserverFactory.create((mutations) => { + this._debouncer.next(mutations); + }); + }); + if (!this.disabled) { + this._enable(); + } + } + /** + * @param {?} changes + * @return {?} + */ + ngOnChanges(changes) { + if (changes['disabled']) { + changes['disabled'].currentValue ? this._disable() : this._enable(); + } + } + /** + * @return {?} + */ + ngOnDestroy() { + this._disable(); + this._debouncer.complete(); + } + /** + * @return {?} + */ + _disable() { + if (this._observer) { + this._observer.disconnect(); + } + } + /** + * @return {?} + */ + _enable() { + if (this._observer) { + this._observer.observe(this._elementRef.nativeElement, { + characterData: true, + childList: true, + subtree: true + }); + } + } +} +CdkObserveContent.decorators = [ + { type: Directive, args: [{ + selector: '[cdkObserveContent]', + exportAs: 'cdkObserveContent', + },] }, +]; +/** @nocollapse */ +CdkObserveContent.ctorParameters = () => [ + { type: MutationObserverFactory, }, + { type: ElementRef, }, + { type: NgZone, }, +]; +CdkObserveContent.propDecorators = { + "event": [{ type: Output, args: ['cdkObserveContent',] },], + "disabled": [{ type: Input, args: ['cdkObserveContentDisabled',] },], + "debounce": [{ type: Input },], +}; +class ObserversModule { +} +ObserversModule.decorators = [ + { type: NgModule, args: [{ + exports: [CdkObserveContent], + declarations: [CdkObserveContent], + providers: [MutationObserverFactory] + },] }, +]; +/** @nocollapse */ +ObserversModule.ctorParameters = () => []; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes} checked by tsc + */ + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes} checked by tsc + */ +/** + * Generated bundle index. Do not edit. + */ + +export { CdkObserveContent as ObserveContent, MutationObserverFactory, CdkObserveContent, ObserversModule }; +//# sourceMappingURL=observers.js.map http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/observers.js.map ---------------------------------------------------------------------- diff --git a/node_modules/@angular/cdk/esm2015/observers.js.map b/node_modules/@angular/cdk/esm2015/observers.js.map new file mode 100644 index 0000000..93f64ff --- /dev/null +++ b/node_modules/@angular/cdk/esm2015/observers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"observers.js","sources":["../../../src/cdk/observers/index.ts","../../../src/cdk/observers/public-api.ts","../../../src/cdk/observers/observe-content.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC 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\nexport * from './observe-content';\n\n/**\n * @deprecated Use CdkObserveContent\n * @deletion-target 6.0.0\n */\nexport {CdkObserveContent as ObserveContent} from './observe-content';\n","/**\n * @license\n * Copyright Google LLC 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\nimport {\n Directive,\n ElementRef,\n NgModule,\n Output,\n Input,\n EventEmitter,\n OnDestroy,\n AfterContentInit,\n Injectable,\n NgZone,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Subject} from 'rxjs/Subject';\nimport {debounceTime} from 'rxjs/operators/debounceTime';\n\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\n@Injectable()\nexport class MutationObserverFactory {\n create(callback: MutationCallback): MutationObserver | null {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\n\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\n@Directive({\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent',\n})\nexport class CdkObserveContent implements AfterContentInit, OnChanges, OnDestroy {\n private _observer: MutationObserver | null;\n private _disabled = false;\n\n /** Event emitted for e ach change in the element's content. */\n @Output('cdkObserveContent') event = new EventEmitter<MutationRecord[]>();\n\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n @Input('cdkObserveContentDisabled')\n get disabled() { return this._disabled; }\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** Used for debouncing the emitted values to the observeContent event. */\n private _debouncer = new Subject<MutationRecord[]>();\n\n /** Debounce interval for emitting the changes. */\n @Input() debounce: number;\n\n constructor(\n private _mutationObserverFactory: MutationObserverFactory,\n private _elementRef: ElementRef,\n private _ngZone: NgZone) { }\n\n ngAfterContentInit() {\n if (this.debounce > 0) {\n this._ngZone.runOutsideAngular(() => {\n this._debouncer.pipe(debounceTime(this.debounce))\n .subscribe((mutations: MutationRecord[]) => this.event.emit(mutations));\n });\n } else {\n this._debouncer.subscribe(mutations => this.event.emit(mutations));\n }\n\n this._observer = this._ngZone.runOutsideAngular(() => {\n return this._mutationObserverFactory.create((mutations: MutationRecord[]) => {\n this._debouncer.next(mutations);\n });\n });\n\n if (!this.disabled) {\n this._enable();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['disabled']) {\n changes['disabled'].currentValue ? this._disable() : this._enable();\n }\n }\n\n ngOnDestroy() {\n this._disable();\n this._debouncer.complete();\n }\n\n private _disable() {\n if (this._observer) {\n this._observer.disconnect();\n }\n }\n\n private _enable() {\n if (this._observer) {\n this._observer.observe(this._elementRef.nativeElement, {\n characterData: true,\n childList: true,\n subtree: true\ n });\n }\n }\n}\n\n\n@NgModule({\n exports: [CdkObserveContent],\n declarations: [CdkObserveContent],\n providers: [MutationObserverFactory]\n})\nexport class ObserversModule {}\n"],"names":[],"mappings":"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"} \ No newline at end of file
