@angular/cdk 7.0.0-rc.1 → 7.0.2
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.scss +32 -0
- package/_overlay.scss +141 -0
- package/_text-field.scss +63 -0
- package/a11y/typings/aria-describer/aria-describer.d.ts +2 -2
- package/a11y/typings/focus-monitor/focus-monitor.d.ts +2 -2
- package/a11y/typings/index.metadata.json +1 -1
- package/a11y/typings/key-manager/list-key-manager.d.ts +1 -1
- package/a11y/typings/live-announcer/live-announcer.d.ts +2 -2
- package/bundles/cdk-a11y.umd.js +26 -21
- package/bundles/cdk-a11y.umd.js.map +1 -1
- package/bundles/cdk-a11y.umd.min.js +1 -1
- package/bundles/cdk-a11y.umd.min.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.js +126 -81
- package/bundles/cdk-drag-drop.umd.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.min.js +1 -1
- package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
- package/bundles/cdk-overlay.umd.js +22 -22
- package/bundles/cdk-overlay.umd.js.map +1 -1
- package/bundles/cdk-overlay.umd.min.js.map +1 -1
- package/bundles/cdk-platform.umd.js +13 -2
- package/bundles/cdk-platform.umd.js.map +1 -1
- package/bundles/cdk-platform.umd.min.js +1 -1
- package/bundles/cdk-platform.umd.min.js.map +1 -1
- package/bundles/cdk-scrolling.umd.js +10 -6
- package/bundles/cdk-scrolling.umd.js.map +1 -1
- package/bundles/cdk-scrolling.umd.min.js +1 -1
- package/bundles/cdk-scrolling.umd.min.js.map +1 -1
- package/bundles/cdk-stepper.umd.js +1 -1
- package/bundles/cdk-stepper.umd.js.map +1 -1
- package/bundles/cdk-stepper.umd.min.js.map +1 -1
- package/bundles/cdk-table.umd.js +5 -1
- package/bundles/cdk-table.umd.js.map +1 -1
- package/bundles/cdk-table.umd.min.js +1 -1
- package/bundles/cdk-table.umd.min.js.map +1 -1
- package/bundles/cdk-text-field.umd.js +10 -3
- package/bundles/cdk-text-field.umd.js.map +1 -1
- package/bundles/cdk-text-field.umd.min.js +1 -1
- package/bundles/cdk-text-field.umd.min.js.map +1 -1
- package/bundles/cdk.umd.js +1 -1
- package/bundles/cdk.umd.js.map +1 -1
- package/bundles/cdk.umd.min.js +1 -1
- package/bundles/cdk.umd.min.js.map +1 -1
- package/drag-drop/typings/drag-events.d.ts +5 -5
- package/drag-drop/typings/drag-handle.d.ts +3 -1
- package/drag-drop/typings/drag-parent.d.ts +15 -0
- package/drag-drop/typings/drag-utils.d.ts +10 -0
- package/drag-drop/typings/drag.d.ts +6 -11
- package/drag-drop/typings/{drop-container.d.ts → drop-list-container.d.ts} +5 -5
- package/{typings/drag-drop/drop.d.ts → drag-drop/typings/drop-list.d.ts} +7 -7
- package/drag-drop/typings/index.d.ts +1 -0
- package/drag-drop/typings/index.metadata.json +1 -1
- package/drag-drop/typings/public-api.d.ts +2 -2
- package/esm2015/a11y.js +25 -20
- package/esm2015/a11y.js.map +1 -1
- package/esm2015/cdk.js +1 -1
- package/esm2015/cdk.js.map +1 -1
- package/esm2015/drag-drop.js +108 -57
- package/esm2015/drag-drop.js.map +1 -1
- package/esm2015/overlay.js +12 -12
- package/esm2015/overlay.js.map +1 -1
- package/esm2015/platform.js +13 -3
- package/esm2015/platform.js.map +1 -1
- package/esm2015/scrolling.js +10 -6
- package/esm2015/scrolling.js.map +1 -1
- package/esm2015/stepper.js +1 -1
- package/esm2015/stepper.js.map +1 -1
- package/esm2015/table.js +5 -1
- package/esm2015/table.js.map +1 -1
- package/esm2015/text-field.js +11 -4
- package/esm2015/text-field.js.map +1 -1
- package/esm5/a11y.es5.js +27 -22
- package/esm5/a11y.es5.js.map +1 -1
- package/esm5/cdk.es5.js +1 -1
- package/esm5/cdk.es5.js.map +1 -1
- package/esm5/drag-drop.es5.js +124 -81
- package/esm5/drag-drop.es5.js.map +1 -1
- package/esm5/overlay.es5.js +22 -22
- package/esm5/overlay.es5.js.map +1 -1
- package/esm5/platform.es5.js +13 -3
- package/esm5/platform.es5.js.map +1 -1
- package/esm5/scrolling.es5.js +10 -6
- package/esm5/scrolling.es5.js.map +1 -1
- package/esm5/stepper.es5.js +1 -1
- package/esm5/stepper.es5.js.map +1 -1
- package/esm5/table.es5.js +5 -1
- package/esm5/table.es5.js.map +1 -1
- package/esm5/text-field.es5.js +11 -4
- package/esm5/text-field.es5.js.map +1 -1
- package/overlay/typings/keyboard/overlay-keyboard-dispatcher.d.ts +2 -2
- package/overlay/typings/overlay-container.d.ts +2 -2
- package/overlay/typings/overlay-directives.d.ts +1 -1
- package/overlay/typings/overlay-module.d.ts +1 -1
- package/overlay/typings/position/connected-position-strategy.d.ts +1 -1
- package/overlay/typings/position/global-position-strategy.d.ts +2 -2
- package/overlay/typings/position/overlay-position-builder.d.ts +1 -1
- package/package.json +6 -6
- package/platform/typings/features/passive-listeners.d.ts +7 -0
- package/platform/typings/index.metadata.json +1 -1
- package/platform/typings/platform.d.ts +1 -1
- package/schematics/index.d.ts +0 -1
- package/schematics/index.js +0 -1
- package/schematics/index.js.map +1 -1
- package/schematics/ng-add/index.d.ts +4 -0
- package/schematics/ng-add/index.js +7 -3
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +4 -4
- package/schematics/ng-generate/drag-drop/schema.json +2 -1
- package/schematics/ng-update/index.js +8 -2
- package/schematics/ng-update/index.js.map +1 -1
- package/schematics/utils/build-component.d.ts +7 -0
- package/schematics/utils/build-component.js +4 -5
- package/schematics/utils/build-component.js.map +1 -1
- package/schematics/utils/html-head-element.d.ts +13 -0
- package/schematics/utils/html-head-element.js +54 -0
- package/schematics/utils/html-head-element.js.map +1 -0
- package/schematics/utils/index.d.ts +1 -0
- package/schematics/utils/index.js +1 -0
- package/schematics/utils/index.js.map +1 -1
- package/scrolling/typings/index.metadata.json +1 -1
- package/scrolling/typings/scroll-dispatcher.d.ts +2 -2
- package/scrolling/typings/viewport-ruler.d.ts +2 -2
- package/table/typings/index.metadata.json +1 -1
- package/text-field/typings/autosize.d.ts +7 -1
- package/text-field/typings/index.metadata.json +1 -1
- package/typings/a11y/aria-describer/aria-describer.d.ts +2 -2
- package/typings/a11y/focus-monitor/focus-monitor.d.ts +2 -2
- package/typings/a11y/index.metadata.json +1 -1
- package/typings/a11y/key-manager/list-key-manager.d.ts +1 -1
- package/typings/a11y/live-announcer/live-announcer.d.ts +2 -2
- package/typings/drag-drop/drag-events.d.ts +5 -5
- package/typings/drag-drop/drag-handle.d.ts +3 -1
- package/typings/drag-drop/drag-parent.d.ts +15 -0
- package/typings/drag-drop/drag-utils.d.ts +10 -0
- package/typings/drag-drop/drag.d.ts +6 -11
- package/typings/drag-drop/{drop-container.d.ts → drop-list-container.d.ts} +5 -5
- package/{drag-drop/typings/drop.d.ts → typings/drag-drop/drop-list.d.ts} +7 -7
- package/typings/drag-drop/index.d.ts +1 -0
- package/typings/drag-drop/index.metadata.json +1 -1
- package/typings/drag-drop/public-api.d.ts +2 -2
- package/typings/esm5/a11y/aria-describer/aria-describer.d.ts +2 -2
- package/typings/esm5/a11y/focus-monitor/focus-monitor.d.ts +2 -2
- package/typings/esm5/a11y/index.metadata.json +1 -1
- package/typings/esm5/a11y/key-manager/list-key-manager.d.ts +1 -1
- package/typings/esm5/a11y/live-announcer/live-announcer.d.ts +2 -2
- package/typings/esm5/drag-drop/drag-events.d.ts +5 -5
- package/typings/esm5/drag-drop/drag-handle.d.ts +3 -1
- package/typings/esm5/drag-drop/drag-parent.d.ts +15 -0
- package/typings/esm5/drag-drop/drag-utils.d.ts +10 -0
- package/typings/esm5/drag-drop/drag.d.ts +6 -11
- package/typings/esm5/drag-drop/{drop-container.d.ts → drop-list-container.d.ts} +5 -5
- package/typings/esm5/drag-drop/{drop.d.ts → drop-list.d.ts} +7 -7
- package/typings/esm5/drag-drop/index.d.ts +1 -0
- package/typings/esm5/drag-drop/index.metadata.json +1 -1
- package/typings/esm5/drag-drop/public-api.d.ts +2 -2
- package/typings/esm5/index.metadata.json +1 -1
- package/typings/esm5/overlay/keyboard/overlay-keyboard-dispatcher.d.ts +2 -2
- package/typings/esm5/overlay/overlay-container.d.ts +2 -2
- package/typings/esm5/overlay/overlay-directives.d.ts +1 -1
- package/typings/esm5/overlay/overlay-module.d.ts +1 -1
- package/typings/esm5/overlay/position/connected-position-strategy.d.ts +1 -1
- package/typings/esm5/overlay/position/global-position-strategy.d.ts +2 -2
- package/typings/esm5/overlay/position/overlay-position-builder.d.ts +1 -1
- package/typings/esm5/platform/features/passive-listeners.d.ts +7 -0
- package/typings/esm5/platform/index.metadata.json +1 -1
- package/typings/esm5/platform/platform.d.ts +1 -1
- package/typings/esm5/scrolling/index.metadata.json +1 -1
- package/typings/esm5/scrolling/scroll-dispatcher.d.ts +2 -2
- package/typings/esm5/scrolling/viewport-ruler.d.ts +2 -2
- package/typings/esm5/table/index.metadata.json +1 -1
- package/typings/esm5/text-field/autosize.d.ts +7 -1
- package/typings/esm5/text-field/index.metadata.json +1 -1
- package/typings/index.metadata.json +1 -1
- package/typings/overlay/keyboard/overlay-keyboard-dispatcher.d.ts +2 -2
- package/typings/overlay/overlay-container.d.ts +2 -2
- package/typings/overlay/overlay-directives.d.ts +1 -1
- package/typings/overlay/overlay-module.d.ts +1 -1
- package/typings/overlay/position/connected-position-strategy.d.ts +1 -1
- package/typings/overlay/position/global-position-strategy.d.ts +2 -2
- package/typings/overlay/position/overlay-position-builder.d.ts +1 -1
- package/typings/platform/features/passive-listeners.d.ts +7 -0
- package/typings/platform/index.metadata.json +1 -1
- package/typings/platform/platform.d.ts +1 -1
- package/typings/schematics/index.d.ts +0 -1
- package/typings/schematics/ng-add/index.d.ts +4 -0
- package/typings/schematics/utils/build-component.d.ts +7 -0
- package/typings/schematics/utils/html-head-element.d.ts +13 -0
- package/typings/schematics/utils/index.d.ts +1 -0
- package/typings/scrolling/index.metadata.json +1 -1
- package/typings/scrolling/scroll-dispatcher.d.ts +2 -2
- package/typings/scrolling/viewport-ruler.d.ts +2 -2
- package/typings/table/index.metadata.json +1 -1
- package/typings/text-field/autosize.d.ts +7 -1
- package/typings/text-field/index.metadata.json +1 -1
- package/schematics/testing/index.d.ts +0 -9
- package/schematics/testing/index.js +0 -15
- package/schematics/testing/index.js.map +0 -1
- package/schematics/testing/post-scheduled-tasks.d.ts +0 -18
- package/schematics/testing/post-scheduled-tasks.js +0 -35
- package/schematics/testing/post-scheduled-tasks.js.map +0 -1
- package/schematics/testing/test-app.d.ts +0 -10
- package/schematics/testing/test-app.js +0 -20
- package/schematics/testing/test-app.js.map +0 -1
- package/typings/schematics/testing/index.d.ts +0 -9
- package/typings/schematics/testing/post-scheduled-tasks.d.ts +0 -18
- package/typings/schematics/testing/test-app.d.ts +0 -10
|
@@ -23,7 +23,7 @@ var hasV8BreakIterator = (typeof Intl !== 'undefined' && (/** @type {?} */ (Intl
|
|
|
23
23
|
*/
|
|
24
24
|
var Platform = /** @class */ (function () {
|
|
25
25
|
/**
|
|
26
|
-
* @breaking-change
|
|
26
|
+
* @breaking-change 8.0.0 remove optional decorator
|
|
27
27
|
*/
|
|
28
28
|
function Platform(_platformId) {
|
|
29
29
|
this._platformId = _platformId;
|
|
@@ -90,7 +90,7 @@ var PlatformModule = /** @class */ (function () {
|
|
|
90
90
|
function PlatformModule() {
|
|
91
91
|
}
|
|
92
92
|
PlatformModule.decorators = [
|
|
93
|
-
{ type: core.NgModule },
|
|
93
|
+
{ type: core.NgModule, args: [{},] },
|
|
94
94
|
];
|
|
95
95
|
return PlatformModule;
|
|
96
96
|
}());
|
|
@@ -182,6 +182,16 @@ function supportsPassiveEventListeners() {
|
|
|
182
182
|
}
|
|
183
183
|
return supportsPassiveEvents;
|
|
184
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Normalizes an `AddEventListener` object to something that can be passed
|
|
187
|
+
* to `addEventListener` on any browser, no matter whether it supports the
|
|
188
|
+
* `options` parameter.
|
|
189
|
+
* @param {?} options Object to be normalized.
|
|
190
|
+
* @return {?}
|
|
191
|
+
*/
|
|
192
|
+
function normalizePassiveListenerOptions(options) {
|
|
193
|
+
return supportsPassiveEventListeners() ? options : !!options.capture;
|
|
194
|
+
}
|
|
185
195
|
|
|
186
196
|
/**
|
|
187
197
|
* @fileoverview added by tsickle
|
|
@@ -272,6 +282,7 @@ exports.Platform = Platform;
|
|
|
272
282
|
exports.PlatformModule = PlatformModule;
|
|
273
283
|
exports.getSupportedInputTypes = getSupportedInputTypes;
|
|
274
284
|
exports.supportsPassiveEventListeners = supportsPassiveEventListeners;
|
|
285
|
+
exports.normalizePassiveListenerOptions = normalizePassiveListenerOptions;
|
|
275
286
|
exports.supportsScrollBehavior = supportsScrollBehavior;
|
|
276
287
|
exports.getRtlScrollAxisType = getRtlScrollAxisType;
|
|
277
288
|
exports.RtlScrollAxisType = RtlScrollAxisType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdk-platform.umd.js","sources":["../../src/cdk/platform/features/scrolling.ts","../../src/cdk/platform/features/passive-listeners.ts","../../src/cdk/platform/features/input-types.ts","../../src/cdk/platform/platform-module.ts","../../src/cdk/platform/platform.ts"],"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\n/** The possible ways the browser may handle the horizontal scroll axis in RTL languages. */\nexport 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;\n\n/** Check whether the browser supports scroll behaviors. */\nexport function supportsScrollBehavior(): boolean {\n return !!(typeof document == 'object' && 'scrollBehavior' in document.documentElement!.style);\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) {\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.height = '1px';\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\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 * @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\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\nimport {Inject, Injectable, Optional, PLATFORM_ID} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\n\n\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nconst hasV8BreakIterator = (typeof Intl !== 'undefined' && (Intl as any).v8BreakIterator);\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 /**\n * Whether the Angular application is being rendered in the browser.\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 */\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 /** Whether the current rendering engine is Blink. */\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n BLINK: boolean = this.isBrowser && (!!((window as any).chrome || hasV8BreakIterator) &&\n typeof CSS !== 'undefined' && !this.EDGE && !this.TRIDENT);\n\n /** Whether the current rendering engine is WebKit. */\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 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 /** Whether the current browser is Firefox. */\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 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 /** Whether the current browser is Safari. */\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 SAFARI: boolean = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n\n /**\n * @breaking-change v7.0.0 remove optional decorator\n */\n constructor(@Optional() @Inject(PLATFORM_ID) private _platformId?: Object) {\n }\n}\n\n"],"names":["NgModule","Optional","Inject","PLATFORM_ID","Injectable","isPlatformBrowser"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cdk-platform.umd.js","sources":["../../src/cdk/platform/features/scrolling.ts","../../src/cdk/platform/features/passive-listeners.ts","../../src/cdk/platform/features/input-types.ts","../../src/cdk/platform/platform-module.ts","../../src/cdk/platform/platform.ts"],"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\n/** The possible ways the browser may handle the horizontal scroll axis in RTL languages. */\nexport 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;\n\n/** Check whether the browser supports scroll behaviors. */\nexport function supportsScrollBehavior(): boolean {\n return !!(typeof document == 'object' && 'scrollBehavior' in document.documentElement!.style);\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) {\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.height = '1px';\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\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/** 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\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\nimport {Inject, Injectable, Optional, PLATFORM_ID} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\n\n\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nconst hasV8BreakIterator = (typeof Intl !== 'undefined' && (Intl as any).v8BreakIterator);\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 /**\n * Whether the Angular application is being rendered in the browser.\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 */\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 /** Whether the current rendering engine is Blink. */\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n BLINK: boolean = this.isBrowser && (!!((window as any).chrome || hasV8BreakIterator) &&\n typeof CSS !== 'undefined' && !this.EDGE && !this.TRIDENT);\n\n /** Whether the current rendering engine is WebKit. */\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 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 /** Whether the current browser is Firefox. */\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 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 /** Whether the current browser is Safari. */\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 SAFARI: boolean = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n\n /**\n * @breaking-change 8.0.0 remove optional decorator\n */\n constructor(@Optional() @Inject(PLATFORM_ID) private _platformId?: Object) {\n }\n}\n\n"],"names":["NgModule","Optional","Inject","PLATFORM_ID","Injectable","isPlatformBrowser"],"mappings":"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"}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define("@angular/cdk/platform",["exports","@angular/core","@angular/common"],t):t((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.platform={}),e.ng.core,e.ng.common)}(this,function(e,t,r){"use strict";function n(){if(
|
|
8
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define("@angular/cdk/platform",["exports","@angular/core","@angular/common"],t):t((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.platform={}),e.ng.core,e.ng.common)}(this,function(e,t,r){"use strict";function n(){if(u)return u;if("object"!=typeof document||!document)return u=new Set(p);var e=document.createElement("input");return u=new Set(p.filter(function(t){return e.setAttribute("type",t),e.type===t}))}function i(){if(null==d&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){return d=!0}}))}finally{d=d||!1}return d}function o(e){return i()?e:!!e.capture}function s(){return!!("object"==typeof document&&"scrollBehavior"in document.documentElement.style)}function a(){if("object"!=typeof document||!document)return m.NORMAL;if(!h){var e=document.createElement("div"),t=e.style;e.dir="rtl",t.height="1px",t.width="1px",t.overflow="auto",t.visibility="hidden",t.pointerEvents="none",t.position="absolute";var r=document.createElement("div"),n=r.style;n.width="2px",n.height="1px",e.appendChild(r),document.body.appendChild(e),h=m.NORMAL,0===e.scrollLeft&&(e.scrollLeft=1,h=0===e.scrollLeft?m.NEGATED:m.INVERTED),e.parentNode.removeChild(e)}return h}var u,d,c="undefined"!=typeof Intl&&Intl.v8BreakIterator,l=function(){function e(e){this._platformId=e,this.isBrowser=this._platformId?r.isPlatformBrowser(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!c)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}return e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:Object,decorators:[{type:t.Optional},{type:t.Inject,args:[t.PLATFORM_ID]}]}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(t.PLATFORM_ID,8))},token:e,providedIn:"root"}),e}(),f=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{}]}],e}(),p=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"],m={NORMAL:0,NEGATED:1,INVERTED:2};m[m.NORMAL]="NORMAL",m[m.NEGATED]="NEGATED",m[m.INVERTED]="INVERTED";var h;e.Platform=l,e.PlatformModule=f,e.getSupportedInputTypes=n,e.supportsPassiveEventListeners=i,e.normalizePassiveListenerOptions=o,e.supportsScrollBehavior=s,e.getRtlScrollAxisType=a,e.RtlScrollAxisType=m,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
9
9
|
//# sourceMappingURL=cdk-platform.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdk-platform.umd.min.js","sources":["../../src/cdk/platform/features/input-types.ts","../../src/cdk/platform/features/passive-listeners.ts","../../src/cdk/platform/features/scrolling.ts","../../src/cdk/platform/platform.ts","../../src/cdk/platform/platform-module.ts"],"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\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 * @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 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;\n\n/** Check whether the browser supports scroll behaviors. */\nexport function supportsScrollBehavior(): boolean {\n return !!(typeof document == 'object' && 'scrollBehavior' in document.documentElement!.style);\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) {\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.height = '1px';\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\nimport {Inject, Injectable, Optional, PLATFORM_ID} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\n\n\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nconst hasV8BreakIterator = (typeof Intl !== 'undefined' && (Intl as any).v8BreakIterator);\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 /**\n * Whether the Angular application is being rendered in the browser.\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 */\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 /** Whether the current rendering engine is Blink. */\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n BLINK: boolean = this.isBrowser && (!!((window as any).chrome || hasV8BreakIterator) &&\n typeof CSS !== 'undefined' && !this.EDGE && !this.TRIDENT);\n\n /** Whether the current rendering engine is WebKit. */\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 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 /** Whether the current browser is Firefox. */\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 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 /** Whether the current browser is Safari. */\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 SAFARI: boolean = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n\n /**\n * @breaking-change v7.0.0 remove optional decorator\n */\n constructor(@Optional() @Inject(PLATFORM_ID) private _platformId?: Object) {\n }\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\nimport {NgModule} from '@angular/core';\n\n\n@NgModule()\nexport class PlatformModule {}\n"],"names":["getSupportedInputTypes","supportedInputTypes","document","Set","candidateInputTypes","featureTestInput","createElement","filter","value","setAttribute","type","supportsPassiveEventListeners","supportsPassiveEvents","window","addEventListener","Object","defineProperty","get","supportsScrollBehavior","style","getRtlScrollAxisType","RtlScrollAxisType","NORMAL","rtlScrollAxisType","scrollContainer","containerStyle","dir","height","width","overflow","visibility","pointerEvents","position","content","contentStyle","appendChild","body","scrollLeft","NEGATED","INVERTED","removeChild","hasV8BreakIterator","Intl","v8BreakIterator","Platform","_platformId","this","isBrowser","isPlatformBrowser","EDGE","test","navigator","userAgent","TRIDENT","BLINK","chrome","CSS","WEBKIT","IOS","FIREFOX","ANDROID","SAFARI","Injectable","args","providedIn","decorators","Optional","Inject","PLATFORM_ID","NgModule","PlatformModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cdk-platform.umd.min.js","sources":["../../src/cdk/platform/features/input-types.ts","../../src/cdk/platform/features/passive-listeners.ts","../../src/cdk/platform/features/scrolling.ts","../../src/cdk/platform/platform.ts","../../src/cdk/platform/platform-module.ts"],"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\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 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;\n\n/** Check whether the browser supports scroll behaviors. */\nexport function supportsScrollBehavior(): boolean {\n return !!(typeof document == 'object' && 'scrollBehavior' in document.documentElement!.style);\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) {\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.height = '1px';\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\nimport {Inject, Injectable, Optional, PLATFORM_ID} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\n\n\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nconst hasV8BreakIterator = (typeof Intl !== 'undefined' && (Intl as any).v8BreakIterator);\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 /**\n * Whether the Angular application is being rendered in the browser.\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 */\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 /** Whether the current rendering engine is Blink. */\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n BLINK: boolean = this.isBrowser && (!!((window as any).chrome || hasV8BreakIterator) &&\n typeof CSS !== 'undefined' && !this.EDGE && !this.TRIDENT);\n\n /** Whether the current rendering engine is WebKit. */\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 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 /** Whether the current browser is Firefox. */\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 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 /** Whether the current browser is Safari. */\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 SAFARI: boolean = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n\n /**\n * @breaking-change 8.0.0 remove optional decorator\n */\n constructor(@Optional() @Inject(PLATFORM_ID) private _platformId?: Object) {\n }\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\nimport {NgModule} from '@angular/core';\n\n\n@NgModule({})\nexport class PlatformModule {}\n"],"names":["getSupportedInputTypes","supportedInputTypes","document","Set","candidateInputTypes","featureTestInput","createElement","filter","value","setAttribute","type","supportsPassiveEventListeners","supportsPassiveEvents","window","addEventListener","Object","defineProperty","get","normalizePassiveListenerOptions","options","capture","supportsScrollBehavior","style","getRtlScrollAxisType","RtlScrollAxisType","NORMAL","rtlScrollAxisType","scrollContainer","containerStyle","dir","height","width","overflow","visibility","pointerEvents","position","content","contentStyle","appendChild","body","scrollLeft","NEGATED","INVERTED","removeChild","hasV8BreakIterator","Intl","v8BreakIterator","Platform","_platformId","this","isBrowser","isPlatformBrowser","EDGE","test","navigator","userAgent","TRIDENT","BLINK","chrome","CSS","WEBKIT","IOS","FIREFOX","ANDROID","SAFARI","Injectable","args","providedIn","decorators","Optional","Inject","PLATFORM_ID","NgModule","PlatformModule"],"mappings":"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"}
|
|
@@ -642,7 +642,7 @@ var ScrollDispatcher = /** @class */ (function () {
|
|
|
642
642
|
return ScrollDispatcher;
|
|
643
643
|
}());
|
|
644
644
|
/**
|
|
645
|
-
* \@docs-private \@deprecated \@breaking-change
|
|
645
|
+
* \@docs-private \@deprecated \@breaking-change 8.0.0
|
|
646
646
|
* @param {?} parentDispatcher
|
|
647
647
|
* @param {?} ngZone
|
|
648
648
|
* @param {?} platform
|
|
@@ -652,7 +652,7 @@ function SCROLL_DISPATCHER_PROVIDER_FACTORY(parentDispatcher, ngZone, platform$$
|
|
|
652
652
|
return parentDispatcher || new ScrollDispatcher(ngZone, platform$$1);
|
|
653
653
|
}
|
|
654
654
|
/** *
|
|
655
|
-
* \@docs-private \@deprecated \@breaking-change
|
|
655
|
+
* \@docs-private \@deprecated \@breaking-change 8.0.0
|
|
656
656
|
@type {?} */
|
|
657
657
|
var SCROLL_DISPATCHER_PROVIDER = {
|
|
658
658
|
// If there is already a ScrollDispatcher available, use that. Otherwise, provide a new one.
|
|
@@ -990,6 +990,9 @@ var CdkVirtualScrollViewport = /** @class */ (function (_super) {
|
|
|
990
990
|
* A list of functions to run after the next change detection cycle.
|
|
991
991
|
*/
|
|
992
992
|
_this._runAfterChangeDetection = [];
|
|
993
|
+
if (!_scrollStrategy) {
|
|
994
|
+
throw Error('Error: cdk-virtual-scroll-viewport requires the "itemSize" property to be set.');
|
|
995
|
+
}
|
|
993
996
|
return _this;
|
|
994
997
|
}
|
|
995
998
|
/**
|
|
@@ -1062,6 +1065,7 @@ var CdkVirtualScrollViewport = /** @class */ (function (_super) {
|
|
|
1062
1065
|
_this._dataLength = newLength;
|
|
1063
1066
|
_this._scrollStrategy.onDataLengthChanged();
|
|
1064
1067
|
}
|
|
1068
|
+
_this._doChangeDetection();
|
|
1065
1069
|
});
|
|
1066
1070
|
});
|
|
1067
1071
|
};
|
|
@@ -1425,7 +1429,7 @@ var CdkVirtualScrollViewport = /** @class */ (function (_super) {
|
|
|
1425
1429
|
CdkVirtualScrollViewport.decorators = [
|
|
1426
1430
|
{ type: core.Component, args: [{selector: 'cdk-virtual-scroll-viewport',
|
|
1427
1431
|
template: "<div #contentWrapper class=\"cdk-virtual-scroll-content-wrapper\"><ng-content></ng-content></div><div class=\"cdk-virtual-scroll-spacer\" [style.transform]=\"_totalContentSizeTransform\"></div>",
|
|
1428
|
-
styles: ["cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:0}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:0}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}"],
|
|
1432
|
+
styles: ["cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:0}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:0}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}"],
|
|
1429
1433
|
host: {
|
|
1430
1434
|
'class': 'cdk-virtual-scroll-viewport',
|
|
1431
1435
|
'[class.cdk-virtual-scroll-orientation-horizontal]': 'orientation === "horizontal"',
|
|
@@ -1440,7 +1444,7 @@ var CdkVirtualScrollViewport = /** @class */ (function (_super) {
|
|
|
1440
1444
|
{ type: core.ElementRef },
|
|
1441
1445
|
{ type: core.ChangeDetectorRef },
|
|
1442
1446
|
{ type: core.NgZone },
|
|
1443
|
-
{ type: undefined, decorators: [{ type: core.Inject, args: [VIRTUAL_SCROLL_STRATEGY,] }] },
|
|
1447
|
+
{ type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [VIRTUAL_SCROLL_STRATEGY,] }] },
|
|
1444
1448
|
{ type: bidi.Directionality, decorators: [{ type: core.Optional }] },
|
|
1445
1449
|
{ type: ScrollDispatcher }
|
|
1446
1450
|
]; };
|
|
@@ -2066,7 +2070,7 @@ var ViewportRuler = /** @class */ (function () {
|
|
|
2066
2070
|
return ViewportRuler;
|
|
2067
2071
|
}());
|
|
2068
2072
|
/**
|
|
2069
|
-
* \@docs-private \@deprecated \@breaking-change
|
|
2073
|
+
* \@docs-private \@deprecated \@breaking-change 8.0.0
|
|
2070
2074
|
* @param {?} parentRuler
|
|
2071
2075
|
* @param {?} platform
|
|
2072
2076
|
* @param {?} ngZone
|
|
@@ -2076,7 +2080,7 @@ function VIEWPORT_RULER_PROVIDER_FACTORY(parentRuler, platform$$1, ngZone) {
|
|
|
2076
2080
|
return parentRuler || new ViewportRuler(platform$$1, ngZone);
|
|
2077
2081
|
}
|
|
2078
2082
|
/** *
|
|
2079
|
-
* \@docs-private \@deprecated \@breaking-change
|
|
2083
|
+
* \@docs-private \@deprecated \@breaking-change 8.0.0
|
|
2080
2084
|
@type {?} */
|
|
2081
2085
|
var VIEWPORT_RULER_PROVIDER = {
|
|
2082
2086
|
// If there is already a ViewportRuler available, use that. Otherwise, provide a new one.
|