a4fd1142ae3fde023c9fcad5b7c78e003b8b243c48c70727d85345fb1e619abb.json 29 KB

1
  1. {"ast":null,"code":"var _LayoutModule, _MediaMatcher, _BreakpointObserver;\nimport * as i0 from '@angular/core';\nimport { NgModule, CSP_NONCE, Injectable, Optional, Inject } from '@angular/core';\nimport { coerceArray } from '@angular/cdk/coercion';\nimport { Subject, combineLatest, concat, Observable } from 'rxjs';\nimport { take, skip, debounceTime, map, startWith, takeUntil } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/platform';\nclass LayoutModule {}\n_LayoutModule = LayoutModule;\n_LayoutModule.ɵfac = function _LayoutModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _LayoutModule)();\n};\n_LayoutModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: _LayoutModule\n});\n_LayoutModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LayoutModule, [{\n type: NgModule,\n args: [{}]\n }], null, null);\n})();\n\n/** Global registry for all dynamically-created, injected media queries. */\nconst mediaQueriesForWebkitCompatibility = new Set();\n/** Style tag that holds all of the dynamically-created media queries. */\nlet mediaQueryStyleNode;\n/** A utility for calling matchMedia queries. */\nclass MediaMatcher {\n constructor(_platform, _nonce) {\n this._platform = _platform;\n this._nonce = _nonce;\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) : noopMatchMedia;\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 provided.\n */\n matchMedia(query) {\n if (this._platform.WEBKIT || this._platform.BLINK) {\n createEmptyStyleRule(query, this._nonce);\n }\n return this._matchMedia(query);\n }\n}\n_MediaMatcher = MediaMatcher;\n_MediaMatcher.ɵfac = function _MediaMatcher_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _MediaMatcher)(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(CSP_NONCE, 8));\n};\n_MediaMatcher.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: _MediaMatcher,\n factory: _MediaMatcher.ɵfac,\n providedIn: 'root'\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(MediaMatcher, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i1.Platform\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CSP_NONCE]\n }]\n }], null);\n})();\n/**\n * Creates an empty stylesheet that is used to work around browser inconsistencies related to\n * `matchMedia`. At the time of writing, it handles the following cases:\n * 1. On WebKit browsers, a media query has to have at least one rule in order for `matchMedia`\n * to fire. We work around it by declaring a dummy stylesheet with a `@media` declaration.\n * 2. In some cases Blink browsers will stop firing the `matchMedia` listener if none of the rules\n * inside the `@media` match existing elements on the page. We work around it by having one rule\n * targeting the `body`. See https://github.com/angular/components/issues/23546.\n */\nfunction createEmptyStyleRule(query, nonce) {\n if (mediaQueriesForWebkitCompatibility.has(query)) {\n return;\n }\n try {\n if (!mediaQueryStyleNode) {\n mediaQueryStyleNode = document.createElement('style');\n if (nonce) {\n mediaQueryStyleNode.setAttribute('nonce', nonce);\n }\n mediaQueryStyleNode.setAttribute('type', 'text/css');\n document.head.appendChild(mediaQueryStyleNode);\n }\n if (mediaQueryStyleNode.sheet) {\n mediaQueryStyleNode.sheet.insertRule(`@media ${query} {body{ }}`, 0);\n mediaQueriesForWebkitCompatibility.add(query);\n }\n } catch (e) {\n console.error(e);\n }\n}\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query) {\n // Use `as any` here to avoid adding additional necessary properties for\n // the noop matcher.\n return {\n matches: query === 'all' || query === '',\n media: query,\n addListener: () => {},\n removeListener: () => {}\n };\n}\n\n/** Utility for checking the matching state of @media queries. */\nclass BreakpointObserver {\n constructor(_mediaMatcher, _zone) {\n this._mediaMatcher = _mediaMatcher;\n this._zone = _zone;\n /** A map of all media queries currently being listened for. */\n this._queries = new Map();\n /** A subject for all other observables to takeUntil based on. */\n this._destroySubject = new Subject();\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 * 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) {\n const queries = splitQueries(coerceArray(value));\n return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\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 * @param value One or more media queries to check.\n * @returns A stream of matches for the given queries.\n */\n observe(value) {\n const queries = splitQueries(coerceArray(value));\n const observables = queries.map(query => this._registerQuery(query).observable);\n let stateObservable = combineLatest(observables);\n // Emit the first state immediately, and then debounce the subsequent emissions.\n stateObservable = concat(stateObservable.pipe(take(1)), stateObservable.pipe(skip(1), debounceTime(0)));\n return stateObservable.pipe(map(breakpointStates => {\n const response = {\n matches: false,\n breakpoints: {}\n };\n breakpointStates.forEach(({\n matches,\n query\n }) => {\n response.matches = response.matches || matches;\n response.breakpoints[query] = matches;\n });\n return response;\n }));\n }\n /** Registers a specific query to be listened for. */\n _registerQuery(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 const mql = this._mediaMatcher.matchMedia(query);\n // Create callback for match changes and add it is as a listener.\n const queryObservable = new Observable(observer => {\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 const handler = e => this._zone.run(() => observer.next(e));\n mql.addListener(handler);\n return () => {\n mql.removeListener(handler);\n };\n }).pipe(startWith(mql), map(({\n matches\n }) => ({\n query,\n matches\n })), takeUntil(this._destroySubject));\n // Add the MediaQueryList to the set of queries.\n const output = {\n observable: queryObservable,\n mql\n };\n this._queries.set(query, output);\n return output;\n }\n}\n_BreakpointObserver = BreakpointObserver;\n_BreakpointObserver.ɵfac = function _BreakpointObserver_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _BreakpointObserver)(i0.ɵɵinject(MediaMatcher), i0.ɵɵinject(i0.NgZone));\n};\n_BreakpointObserver.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: _BreakpointObserver,\n factory: _BreakpointObserver.ɵfac,\n providedIn: 'root'\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(BreakpointObserver, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: MediaMatcher\n }, {\n type: i0.NgZone\n }], null);\n})();\n/**\n * Split each query string into separate query strings if two queries are provided as comma\n * separated.\n */\nfunction splitQueries(queries) {\n return queries.map(query => query.split(',')).reduce((a1, a2) => a1.concat(a2)).map(query => query.trim());\n}\n\n// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nconst Breakpoints = {\n XSmall: '(max-width: 599.98px)',\n Small: '(min-width: 600px) and (max-width: 959.98px)',\n Medium: '(min-width: 960px) and (max-width: 1279.98px)',\n Large: '(min-width: 1280px) and (max-width: 1919.98px)',\n XLarge: '(min-width: 1920px)',\n Handset: '(max-width: 599.98px) and (orientation: portrait), ' + '(max-width: 959.98px) and (orientation: landscape)',\n Tablet: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), ' + '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n Web: '(min-width: 840px) and (orientation: portrait), ' + '(min-width: 1280px) and (orientation: landscape)',\n HandsetPortrait: '(max-width: 599.98px) and (orientation: portrait)',\n TabletPortrait: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)',\n WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n HandsetLandscape: '(max-width: 959.98px) and (orientation: landscape)',\n TabletLandscape: '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n WebLandscape: '(min-width: 1280px) and (orientation: landscape)'\n};\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BreakpointObserver, Breakpoints, LayoutModule, MediaMatcher };","map":{"version":3,"names":["i0","NgModule","CSP_NONCE","Injectable","Optional","Inject","coerceArray","Subject","combineLatest","concat","Observable","take","skip","debounceTime","map","startWith","takeUntil","i1","LayoutModule","_LayoutModule","ɵfac","_LayoutModule_Factory","__ngFactoryType__","ɵmod","ɵɵdefineNgModule","type","ɵinj","ɵɵdefineInjector","ngDevMode","ɵsetClassMetadata","args","mediaQueriesForWebkitCompatibility","Set","mediaQueryStyleNode","MediaMatcher","constructor","_platform","_nonce","_matchMedia","isBrowser","window","matchMedia","bind","noopMatchMedia","query","WEBKIT","BLINK","createEmptyStyleRule","_MediaMatcher","_MediaMatcher_Factory","ɵɵinject","Platform","ɵprov","ɵɵdefineInjectable","token","factory","providedIn","undefined","decorators","nonce","has","document","createElement","setAttribute","head","appendChild","sheet","insertRule","add","e","console","error","matches","media","addListener","removeListener","BreakpointObserver","_mediaMatcher","_zone","_queries","Map","_destroySubject","ngOnDestroy","next","complete","isMatched","value","queries","splitQueries","some","mediaQuery","_registerQuery","mql","observe","observables","observable","stateObservable","pipe","breakpointStates","response","breakpoints","forEach","get","queryObservable","observer","handler","run","output","set","_BreakpointObserver","_BreakpointObserver_Factory","NgZone","split","reduce","a1","a2","trim","Breakpoints","XSmall","Small","Medium","Large","XLarge","Handset","Tablet","Web","HandsetPortrait","TabletPortrait","WebPortrait","HandsetLandscape","TabletLandscape","WebLandscape"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@angular/cdk/fesm2022/layout.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { NgModule, CSP_NONCE, Injectable, Optional, Inject } from '@angular/core';\nimport { coerceArray } from '@angular/cdk/coercion';\nimport { Subject, combineLatest, concat, Observable } from 'rxjs';\nimport { take, skip, debounceTime, map, startWith, takeUntil } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/platform';\n\nclass LayoutModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.0-next.2\", ngImport: i0, type: LayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"18.2.0-next.2\", ngImport: i0, type: LayoutModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"18.2.0-next.2\", ngImport: i0, type: LayoutModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.0-next.2\", ngImport: i0, type: LayoutModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n\n/** Global registry for all dynamically-created, injected media queries. */\nconst mediaQueriesForWebkitCompatibility = new Set();\n/** Style tag that holds all of the dynamically-created media queries. */\nlet mediaQueryStyleNode;\n/** A utility for calling matchMedia queries. */\nclass MediaMatcher {\n constructor(_platform, _nonce) {\n this._platform = _platform;\n this._nonce = _nonce;\n this._matchMedia =\n 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 * 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 provided.\n */\n matchMedia(query) {\n if (this._platform.WEBKIT || this._platform.BLINK) {\n createEmptyStyleRule(query, this._nonce);\n }\n return this._matchMedia(query);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.0-next.2\", ngImport: i0, type: MediaMatcher, deps: [{ token: i1.Platform }, { token: CSP_NONCE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"18.2.0-next.2\", ngImport: i0, type: MediaMatcher, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.0-next.2\", ngImport: i0, type: MediaMatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: i1.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CSP_NONCE]\n }] }] });\n/**\n * Creates an empty stylesheet that is used to work around browser inconsistencies related to\n * `matchMedia`. At the time of writing, it handles the following cases:\n * 1. On WebKit browsers, a media query has to have at least one rule in order for `matchMedia`\n * to fire. We work around it by declaring a dummy stylesheet with a `@media` declaration.\n * 2. In some cases Blink browsers will stop firing the `matchMedia` listener if none of the rules\n * inside the `@media` match existing elements on the page. We work around it by having one rule\n * targeting the `body`. See https://github.com/angular/components/issues/23546.\n */\nfunction createEmptyStyleRule(query, nonce) {\n if (mediaQueriesForWebkitCompatibility.has(query)) {\n return;\n }\n try {\n if (!mediaQueryStyleNode) {\n mediaQueryStyleNode = document.createElement('style');\n if (nonce) {\n mediaQueryStyleNode.setAttribute('nonce', nonce);\n }\n mediaQueryStyleNode.setAttribute('type', 'text/css');\n document.head.appendChild(mediaQueryStyleNode);\n }\n if (mediaQueryStyleNode.sheet) {\n mediaQueryStyleNode.sheet.insertRule(`@media ${query} {body{ }}`, 0);\n mediaQueriesForWebkitCompatibility.add(query);\n }\n }\n catch (e) {\n console.error(e);\n }\n}\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query) {\n // Use `as any` here to avoid adding additional necessary properties for\n // the noop matcher.\n return {\n matches: query === 'all' || query === '',\n media: query,\n addListener: () => { },\n removeListener: () => { },\n };\n}\n\n/** Utility for checking the matching state of @media queries. */\nclass BreakpointObserver {\n constructor(_mediaMatcher, _zone) {\n this._mediaMatcher = _mediaMatcher;\n this._zone = _zone;\n /** A map of all media queries currently being listened for. */\n this._queries = new Map();\n /** A subject for all other observables to takeUntil based on. */\n this._destroySubject = new Subject();\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 * 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) {\n const queries = splitQueries(coerceArray(value));\n return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\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 * @param value One or more media queries to check.\n * @returns A stream of matches for the given queries.\n */\n observe(value) {\n const queries = splitQueries(coerceArray(value));\n const observables = queries.map(query => this._registerQuery(query).observable);\n let stateObservable = combineLatest(observables);\n // Emit the first state immediately, and then debounce the subsequent emissions.\n stateObservable = concat(stateObservable.pipe(take(1)), stateObservable.pipe(skip(1), debounceTime(0)));\n return stateObservable.pipe(map(breakpointStates => {\n const response = {\n matches: false,\n breakpoints: {},\n };\n breakpointStates.forEach(({ matches, query }) => {\n response.matches = response.matches || matches;\n response.breakpoints[query] = matches;\n });\n return response;\n }));\n }\n /** Registers a specific query to be listened for. */\n _registerQuery(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 const mql = this._mediaMatcher.matchMedia(query);\n // Create callback for match changes and add it is as a listener.\n const queryObservable = new Observable((observer) => {\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 const handler = (e) => this._zone.run(() => observer.next(e));\n mql.addListener(handler);\n return () => {\n mql.removeListener(handler);\n };\n }).pipe(startWith(mql), map(({ matches }) => ({ query, matches })), takeUntil(this._destroySubject));\n // Add the MediaQueryList to the set of queries.\n const output = { observable: queryObservable, mql };\n this._queries.set(query, output);\n return output;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.0-next.2\", ngImport: i0, type: BreakpointObserver, deps: [{ token: MediaMatcher }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"18.2.0-next.2\", ngImport: i0, type: BreakpointObserver, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.0-next.2\", ngImport: i0, type: BreakpointObserver, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: MediaMatcher }, { type: i0.NgZone }] });\n/**\n * Split each query string into separate query strings if two queries are provided as comma\n * separated.\n */\nfunction splitQueries(queries) {\n return queries\n .map(query => query.split(','))\n .reduce((a1, a2) => a1.concat(a2))\n .map(query => query.trim());\n}\n\n// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nconst Breakpoints = {\n XSmall: '(max-width: 599.98px)',\n Small: '(min-width: 600px) and (max-width: 959.98px)',\n Medium: '(min-width: 960px) and (max-width: 1279.98px)',\n Large: '(min-width: 1280px) and (max-width: 1919.98px)',\n XLarge: '(min-width: 1920px)',\n Handset: '(max-width: 599.98px) and (orientation: portrait), ' +\n '(max-width: 959.98px) and (orientation: landscape)',\n Tablet: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), ' +\n '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n Web: '(min-width: 840px) and (orientation: portrait), ' +\n '(min-width: 1280px) and (orientation: landscape)',\n HandsetPortrait: '(max-width: 599.98px) and (orientation: portrait)',\n TabletPortrait: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)',\n WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n HandsetLandscape: '(max-width: 959.98px) and (orientation: landscape)',\n TabletLandscape: '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n WebLandscape: '(min-width: 1280px) and (orientation: landscape)',\n};\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BreakpointObserver, Breakpoints, LayoutModule, MediaMatcher };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}