source: trip-planner-front/node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/platform.js.map@ e29cc2e

Last change on this file since e29cc2e was e29cc2e, checked in by Ema <ema_spirova@…>, 3 years ago

primeNG components

  • Property mode set to 100644
File size: 23.1 KB
Line 
1{"version":3,"file":"platform.js","sources":["../../../../../../src/cdk/platform/platform.ts","../../../../../../src/cdk/platform/platform-module.ts","../../../../../../src/cdk/platform/features/input-types.ts","../../../../../../src/cdk/platform/features/passive-listeners.ts","../../../../../../src/cdk/platform/features/scrolling.ts","../../../../../../src/cdk/platform/features/shadow-dom.ts","../../../../../../src/cdk/platform/features/test-environment.ts","../../../../../../src/cdk/platform/public-api.ts","../../../../../../src/cdk/platform/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\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 {Inject, Injectable, PLATFORM_ID} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\n\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nlet hasV8BreakIterator: boolean;\n\n// We need a try/catch around the reference to `Intl`, because accessing it in some cases can\n// cause IE to throw. These cases are tied to particular versions of Windows and can happen if\n// the consumer is providing a polyfilled `Map`. See:\n// https://github.com/Microsoft/ChakraCore/issues/3189\n// https://github.com/angular/components/issues/15687\ntry {\n hasV8BreakIterator = (typeof Intl !== 'undefined' && (Intl as any).v8BreakIterator);\n} catch {\n hasV8BreakIterator = false;\n}\n\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n */\n@Injectable({providedIn: 'root'})\nexport class Platform {\n // We want to use the Angular platform check because if the Document is shimmed\n // without the navigator, the following checks will fail. This is preferred because\n // sometimes the Document may be shimmed without the user's knowledge or intention\n /** Whether the Angular application is being rendered in the browser. */\n isBrowser: boolean = this._platformId ?\n isPlatformBrowser(this._platformId) : typeof document === 'object' && !!document;\n\n /** Whether the current browser is Microsoft Edge. */\n EDGE: boolean = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n\n /** Whether the current rendering engine is Microsoft Trident. */\n TRIDENT: boolean = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n /** Whether the current rendering engine is Blink. */\n BLINK: boolean = this.isBrowser && (!!((window as any).chrome || hasV8BreakIterator) &&\n typeof CSS !== 'undefined' && !this.EDGE && !this.TRIDENT);\n\n // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n // ensure that Webkit runs standalone and is not used as another engine's base.\n /** Whether the current rendering engine is WebKit. */\n WEBKIT: boolean = this.isBrowser &&\n /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT;\n\n /** Whether the current platform is Apple iOS. */\n IOS: boolean = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) &&\n !('MSStream' in window);\n\n // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n // them self as Gecko-like browsers and modify the userAgent's according to that.\n // Since we only cover one explicit Firefox case, we can simply check for Firefox\n // instead of having an unstable check for Gecko.\n /** Whether the current browser is Firefox. */\n FIREFOX: boolean = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n\n /** Whether the current platform is Android. */\n // Trident on mobile adds the android platform to the userAgent to trick detections.\n ANDROID: boolean = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n\n // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n // this and just place the Safari keyword in the userAgent. To be more safe about Safari every\n // Safari browser should also use Webkit as its layout engine.\n /** Whether the current browser is Safari. */\n SAFARI: boolean = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n\n constructor(@Inject(PLATFORM_ID) private _platformId: Object) {}\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 */\n\nimport {NgModule} from '@angular/core';\n\n\n@NgModule({})\nexport class PlatformModule {}\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\n/** Cached result Set of input types support by the current browser. */\nlet supportedInputTypes: Set<string>;\n\n/** Types of `<input>` that *might* be supported. */\nconst candidateInputTypes = [\n // `color` must come first. Chrome 56 shows a warning if we change the type to `color` after\n // first changing it to something else:\n // The specified value \"\" does not conform to the required format.\n // The format is \"#rrggbb\" where rr, gg, bb are two-digit hexadecimal numbers.\n 'color',\n 'button',\n 'checkbox',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'hidden',\n 'image',\n 'month',\n 'number',\n 'password',\n 'radio',\n 'range',\n 'reset',\n 'search',\n 'submit',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n];\n\n/** @returns The input types supported by this browser. */\nexport function getSupportedInputTypes(): Set<string> {\n // Result is cached.\n if (supportedInputTypes) {\n return supportedInputTypes;\n }\n\n // We can't check if an input type is not supported until we're on the browser, so say that\n // everything is supported when not on the browser. We don't use `Platform` here since it's\n // just a helper function and can't inject it.\n if (typeof document !== 'object' || !document) {\n supportedInputTypes = new Set(candidateInputTypes);\n return supportedInputTypes;\n }\n\n let featureTestInput = document.createElement('input');\n supportedInputTypes = new Set(candidateInputTypes.filter(value => {\n featureTestInput.setAttribute('type', value);\n return featureTestInput.type === value;\n }));\n\n return supportedInputTypes;\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 */\n\n/** Cached result of whether the user's browser supports passive event listeners. */\nlet supportsPassiveEvents: boolean;\n\n/**\n * Checks whether the user's browser supports passive event listeners.\n * See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n */\nexport function supportsPassiveEventListeners(): boolean {\n if (supportsPassiveEvents == null && typeof window !== 'undefined') {\n try {\n window.addEventListener('test', null!, Object.defineProperty({}, 'passive', {\n get: () => supportsPassiveEvents = true\n }));\n } finally {\n supportsPassiveEvents = supportsPassiveEvents || false;\n }\n }\n\n return supportsPassiveEvents;\n}\n\n/**\n * Normalizes an `AddEventListener` object to something that can be passed\n * to `addEventListener` on any browser, no matter whether it supports the\n * `options` parameter.\n * @param options Object to be normalized.\n */\nexport function normalizePassiveListenerOptions(options: AddEventListenerOptions):\n AddEventListenerOptions | boolean {\n return supportsPassiveEventListeners() ? options : !!options.capture;\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 */\n\n/** The possible ways the browser may handle the horizontal scroll axis in RTL languages. */\nexport const enum RtlScrollAxisType {\n /**\n * scrollLeft is 0 when scrolled all the way left and (scrollWidth - clientWidth) when scrolled\n * all the way right.\n */\n NORMAL,\n /**\n * scrollLeft is -(scrollWidth - clientWidth) when scrolled all the way left and 0 when scrolled\n * all the way right.\n */\n NEGATED,\n /**\n * scrollLeft is (scrollWidth - clientWidth) when scrolled all the way left and 0 when scrolled\n * all the way right.\n */\n INVERTED\n}\n\n/** Cached result of the way the browser handles the horizontal scroll axis in RTL mode. */\nlet rtlScrollAxisType: RtlScrollAxisType|undefined;\n\n/** Cached result of the check that indicates whether the browser supports scroll behaviors. */\nlet scrollBehaviorSupported: boolean|undefined;\n\n/** Check whether the browser supports scroll behaviors. */\nexport function supportsScrollBehavior(): boolean {\n if (scrollBehaviorSupported == null) {\n // If we're not in the browser, it can't be supported. Also check for `Element`, because\n // some projects stub out the global `document` during SSR which can throw us off.\n if (typeof document !== 'object' || !document || typeof Element !== 'function' || !Element) {\n scrollBehaviorSupported = false;\n return scrollBehaviorSupported;\n }\n\n // If the element can have a `scrollBehavior` style, we can be sure that it's supported.\n if ('scrollBehavior' in document.documentElement!.style) {\n scrollBehaviorSupported = true;\n } else {\n // At this point we have 3 possibilities: `scrollTo` isn't supported at all, it's\n // supported but it doesn't handle scroll behavior, or it has been polyfilled.\n const scrollToFunction: Function|undefined = Element.prototype.scrollTo;\n\n if (scrollToFunction) {\n // We can detect if the function has been polyfilled by calling `toString` on it. Native\n // functions are obfuscated using `[native code]`, whereas if it was overwritten we'd get\n // the actual function source. Via https://davidwalsh.name/detect-native-function. Consider\n // polyfilled functions as supporting scroll behavior.\n scrollBehaviorSupported = !/\\{\\s*\\[native code\\]\\s*\\}/.test(scrollToFunction.toString());\n } else {\n scrollBehaviorSupported = false;\n }\n }\n }\n\n return scrollBehaviorSupported;\n}\n\n/**\n * Checks the type of RTL scroll axis used by this browser. As of time of writing, Chrome is NORMAL,\n * Firefox & Safari are NEGATED, and IE & Edge are INVERTED.\n */\nexport function getRtlScrollAxisType(): RtlScrollAxisType {\n // We can't check unless we're on the browser. Just assume 'normal' if we're not.\n if (typeof document !== 'object' || !document) {\n return RtlScrollAxisType.NORMAL;\n }\n\n if (rtlScrollAxisType == null) {\n // Create a 1px wide scrolling container and a 2px wide content element.\n const scrollContainer = document.createElement('div');\n const containerStyle = scrollContainer.style;\n scrollContainer.dir = 'rtl';\n containerStyle.width = '1px';\n containerStyle.overflow = 'auto';\n containerStyle.visibility = 'hidden';\n containerStyle.pointerEvents = 'none';\n containerStyle.position = 'absolute';\n\n const content = document.createElement('div');\n const contentStyle = content.style;\n contentStyle.width = '2px';\n contentStyle.height = '1px';\n\n scrollContainer.appendChild(content);\n document.body.appendChild(scrollContainer);\n\n rtlScrollAxisType = RtlScrollAxisType.NORMAL;\n\n // The viewport starts scrolled all the way to the right in RTL mode. If we are in a NORMAL\n // browser this would mean that the scrollLeft should be 1. If it's zero instead we know we're\n // dealing with one of the other two types of browsers.\n if (scrollContainer.scrollLeft === 0) {\n // In a NEGATED browser the scrollLeft is always somewhere in [-maxScrollAmount, 0]. For an\n // INVERTED browser it is always somewhere in [0, maxScrollAmount]. We can determine which by\n // setting to the scrollLeft to 1. This is past the max for a NEGATED browser, so it will\n // return 0 when we read it again.\n scrollContainer.scrollLeft = 1;\n rtlScrollAxisType =\n scrollContainer.scrollLeft === 0 ? RtlScrollAxisType.NEGATED : RtlScrollAxisType.INVERTED;\n }\n\n scrollContainer.parentNode!.removeChild(scrollContainer);\n }\n return rtlScrollAxisType;\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 */\n\nlet shadowDomIsSupported: boolean;\n\n/** Checks whether the user's browser support Shadow DOM. */\nexport function _supportsShadowDom(): boolean {\n if (shadowDomIsSupported == null) {\n const head = typeof document !== 'undefined' ? document.head : null;\n shadowDomIsSupported = !!(head && ((head as any).createShadowRoot || head.attachShadow));\n }\n\n return shadowDomIsSupported;\n}\n\n/** Gets the shadow root of an element, if supported and the element is inside the Shadow DOM. */\nexport function _getShadowRoot(element: HTMLElement): ShadowRoot | null {\n if (_supportsShadowDom()) {\n const rootNode = element.getRootNode ? element.getRootNode() : null;\n\n // Note that this should be caught by `_supportsShadowDom`, but some\n // teams have been able to hit this code path on unsupported browsers.\n if (typeof ShadowRoot !== 'undefined' && ShadowRoot && rootNode instanceof ShadowRoot) {\n return rootNode;\n }\n }\n\n return null;\n}\n\n/**\n * Gets the currently-focused element on the page while\n * also piercing through Shadow DOM boundaries.\n */\nexport function _getFocusedElementPierceShadowDom(): HTMLElement | null {\n let activeElement = typeof document !== 'undefined' && document ?\n document.activeElement as HTMLElement | null : null;\n\n while (activeElement && activeElement.shadowRoot) {\n const newActiveElement = activeElement.shadowRoot.activeElement as HTMLElement | null;\n if (newActiveElement === activeElement) {\n break;\n } else {\n activeElement = newActiveElement;\n }\n }\n\n return activeElement;\n}\n\n\n/** Gets the target of an event while accounting for Shadow DOM. */\nexport function _getEventTarget<T extends EventTarget>(event: Event): T|null {\n // If an event is bound outside the Shadow DOM, the `event.target` will\n // point to the shadow root so we have to use `composedPath` instead.\n return (event.composedPath ? event.composedPath()[0] : event.target) as T | null;\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 */\n\n/** Gets whether the code is currently running in a test environment. */\nexport function _isTestEnvironment(): boolean {\n // We can't use `declare const` because it causes conflicts inside Google with the real typings\n // for these symbols and we can't read them off the global object, because they don't appear to\n // be attached there for some runners like Jest.\n // (see: https://github.com/angular/components/issues/23365#issuecomment-938146643)\n return (\n // @ts-ignore\n (typeof __karma__ !== 'undefined' && !!__karma__) ||\n // @ts-ignore\n (typeof jasmine !== 'undefined' && !!jasmine) ||\n // @ts-ignore\n (typeof jest !== 'undefined' && !!jest) ||\n // @ts-ignore\n (typeof Mocha !== 'undefined' && !!Mocha)\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 */\n\nexport * from './platform';\nexport * from './platform-module';\nexport * from './features/input-types';\nexport * from './features/passive-listeners';\nexport * from './features/scrolling';\nexport * from './features/shadow-dom';\nexport * from './features/test-environment';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"]}
Note: See TracBrowser for help on using the repository browser.