@angular/cdk 8.2.2 → 8.2.3
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/typings/index.metadata.json +1 -1
- package/bundles/cdk-a11y.umd.js +4 -1
- 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 +2 -1
- package/bundles/cdk-drag-drop.umd.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.min.js +2 -2
- package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
- package/bundles/cdk-overlay.umd.js +4 -1
- package/bundles/cdk-overlay.umd.js.map +1 -1
- package/bundles/cdk-overlay.umd.min.js +1 -1
- package/bundles/cdk-overlay.umd.min.js.map +1 -1
- package/bundles/cdk-stepper.umd.js +46 -40
- package/bundles/cdk-stepper.umd.js.map +1 -1
- package/bundles/cdk-stepper.umd.min.js +1 -1
- package/bundles/cdk-stepper.umd.min.js.map +1 -1
- package/bundles/cdk-testing.umd.js +2 -1
- package/bundles/cdk-testing.umd.js.map +1 -1
- package/bundles/cdk-testing.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/esm2015/a11y.js +4 -1
- 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 +2 -1
- package/esm2015/drag-drop.js.map +1 -1
- package/esm2015/overlay.js +4 -1
- package/esm2015/overlay.js.map +1 -1
- package/esm2015/stepper.js +51 -45
- package/esm2015/stepper.js.map +1 -1
- package/esm2015/testing.js +2 -1
- package/esm2015/testing.js.map +1 -1
- package/esm5/a11y.es5.js +4 -1
- 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 +2 -1
- package/esm5/drag-drop.es5.js.map +1 -1
- package/esm5/overlay.es5.js +4 -1
- package/esm5/overlay.es5.js.map +1 -1
- package/esm5/stepper.es5.js +49 -43
- package/esm5/stepper.es5.js.map +1 -1
- package/esm5/testing.es5.js +2 -1
- package/esm5/testing.es5.js.map +1 -1
- package/package.json +3 -3
- package/schematics/ng-update/test-cases/misc/global-stylesheets-test.css +1 -0
- package/schematics/tsconfig.tsbuildinfo +2894 -2894
- package/schematics/update-tool/index.js +9 -5
- package/schematics/update-tool/index.js.map +1 -1
- package/stepper/typings/index.metadata.json +1 -1
- package/stepper/typings/stepper.d.ts +3 -3
- package/typings/a11y/index.metadata.json +1 -1
- package/typings/esm5/a11y/index.metadata.json +1 -1
- package/typings/esm5/index.metadata.json +1 -1
- package/typings/esm5/stepper/index.metadata.json +1 -1
- package/typings/esm5/stepper/stepper.d.ts +3 -3
- package/typings/index.metadata.json +1 -1
- package/typings/stepper/index.metadata.json +1 -1
- package/typings/stepper/stepper.d.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdk-testing.umd.js","sources":["../../src/cdk/testing/type-in-element.ts","../../src/cdk/testing/element-focus.ts","../../src/cdk/testing/dispatch-events.ts","../../src/cdk/testing/event-objects.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\nimport {dispatchFakeEvent, dispatchKeyboardEvent} from './dispatch-events';\nimport {triggerFocus} from './element-focus';\nimport {ModifierKeys} from './event-objects';\n\n/**\n * Checks whether the given Element is a text input element.\n * @docs-private\n */\nexport function isTextInput(element: Element): element is HTMLInputElement | HTMLTextAreaElement {\n return element.nodeName.toLowerCase() === 'input' ||\n element.nodeName.toLowerCase() === 'textarea' ;\n}\n\n/**\n * Focuses an input, sets its value and dispatches\n * the `input` event, simulating the user typing.\n * @param element Element onto which to set the value.\n * @param keys The keys to send to the element.\n * @docs-private\n */\nexport function typeInElement(\n element: HTMLElement, ...keys: (string | {keyCode?: number, key?: string})[]): void;\n\n/**\n * Focuses an input, sets its value and dispatches\n * the `input` event, simulating the user typing.\n * @param element Element onto which to set the value.\n * @param modifiers Modifier keys that are held while typing.\n * @param keys The keys to send to the element.\n * @docs-private\n */\nexport function typeInElement(element: HTMLElement, modifiers: ModifierKeys,\n ...keys: (string | {keyCode?: number, key?: string})[]): void;\n\nexport function typeInElement(element: HTMLElement, ...modifiersAndKeys: any) {\n const first = modifiersAndKeys[0];\n let modifiers: ModifierKeys;\n let rest: (string | {keyCode?: number, key?: string})[];\n if (typeof first !== 'string' && first.keyCode === undefined && first.key === undefined) {\n modifiers = first;\n rest = modifiersAndKeys.slice(1);\n } else {\n modifiers = {};\n rest = modifiersAndKeys;\n }\n const keys: {keyCode?: number, key?: string}[] = rest\n .map(k => typeof k === 'string' ?\n k.split('').map(c => ({keyCode: c.toUpperCase().charCodeAt(0), key: c})) : [k])\n .reduce((arr, k) => arr.concat(k), []);\n\n triggerFocus(element);\n for (const key of keys) {\n dispatchKeyboardEvent(element, 'keydown', key.keyCode, key.key, element, modifiers);\n dispatchKeyboardEvent(element, 'keypress', key.keyCode, key.key, element, modifiers);\n if (isTextInput(element) && key.key && key.key.length === 1) {\n element.value += key.key;\n dispatchFakeEvent(element, 'input');\n }\n dispatchKeyboardEvent(element, 'keyup', key.keyCode, key.key, element, modifiers);\n }\n}\n\n/**\n * Clears the text in an input or textarea element.\n * @docs-private\n */\nexport function clearElement(element: HTMLInputElement | HTMLTextAreaElement) {\n triggerFocus(element as HTMLElement);\n element.value = '';\n dispatchFakeEvent(element, 'input');\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 {dispatchFakeEvent} from './dispatch-events';\n\nfunction triggerFocusChange(element: HTMLElement, event: 'focus' | 'blur') {\n let eventFired = false;\n const handler = () => eventFired = true;\n element.addEventListener(event, handler);\n element[event]();\n element.removeEventListener(event, handler);\n if (!eventFired) {\n dispatchFakeEvent(element, event);\n }\n}\n\n/**\n * Patches an elements focus and blur methods to emit events consistently and predictably.\n * This is necessary, because some browsers, like IE11, will call the focus handlers asynchronously,\n * while others won't fire them at all if the browser window is not focused.\n * @docs-private\n */\nexport function patchElementFocus(element: HTMLElement) {\n element.focus = () => dispatchFakeEvent(element, 'focus');\n element.blur = () => dispatchFakeEvent(element, 'blur');\n}\n\n/** @docs-private */\nexport function triggerFocus(element: HTMLElement) {\n triggerFocusChange(element, 'focus');\n}\n\n/** @docs-private */\nexport function triggerBlur(element: HTMLElement) {\n triggerFocusChange(element, 'blur');\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 {\n createFakeEvent,\n createKeyboardEvent,\n createMouseEvent,\n createTouchEvent,\n ModifierKeys\n} from './event-objects';\n\n/**\n * Utility to dispatch any event on a Node.\n * @docs-private\n */\nexport function dispatchEvent(node: Node | Window, event: Event): Event {\n node.dispatchEvent(event);\n return event;\n}\n\n/**\n * Shorthand to dispatch a fake event on a specified node.\n * @docs-private\n */\nexport function dispatchFakeEvent(node: Node | Window, type: string, canBubble?: boolean): Event {\n return dispatchEvent(node, createFakeEvent(type, canBubble));\n}\n\n/**\n * Shorthand to dispatch a keyboard event with a specified key code.\n * @docs-private\n */\nexport function dispatchKeyboardEvent(node: Node, type: string, keyCode?: number, key?: string,\n target?: Element, modifiers?: ModifierKeys): KeyboardEvent {\n return dispatchEvent(node,\n createKeyboardEvent(type, keyCode, key, target, modifiers)) as KeyboardEvent;\n}\n\n/**\n * Shorthand to dispatch a mouse event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchMouseEvent(node: Node, type: string, x = 0, y = 0,\n event = createMouseEvent(type, x, y)): MouseEvent {\n return dispatchEvent(node, event) as MouseEvent;\n}\n\n/**\n * Shorthand to dispatch a touch event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchTouchEvent(node: Node, type: string, x = 0, y = 0) {\n return dispatchEvent(node, createTouchEvent(type, x, y));\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/** Modifier keys that may be held while typing. */\nexport interface ModifierKeys {\n control?: boolean;\n alt?: boolean;\n shift?: boolean;\n meta?: boolean;\n}\n\n/**\n * Creates a browser MouseEvent with the specified options.\n * @docs-private\n */\nexport function createMouseEvent(type: string, x = 0, y = 0, button = 0) {\n const event = document.createEvent('MouseEvent');\n const originalPreventDefault = event.preventDefault;\n\n event.initMouseEvent(type,\n true, /* canBubble */\n true, /* cancelable */\n window, /* view */\n 0, /* detail */\n x, /* screenX */\n y, /* screenY */\n x, /* clientX */\n y, /* clientY */\n false, /* ctrlKey */\n false, /* altKey */\n false, /* shiftKey */\n false, /* metaKey */\n button, /* button */\n null /* relatedTarget */);\n\n // `initMouseEvent` doesn't allow us to pass the `buttons` and\n // defaults it to 0 which looks like a fake event.\n Object.defineProperty(event, 'buttons', {get: () => 1});\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function() {\n Object.defineProperty(event, 'defaultPrevented', { get: () => true });\n return originalPreventDefault.apply(this, arguments);\n };\n\n return event;\n}\n\n/**\n * Creates a browser TouchEvent with the specified pointer coordinates.\n * @docs-private\n */\nexport function createTouchEvent(type: string, pageX = 0, pageY = 0) {\n // In favor of creating events that work for most of the browsers, the event is created\n // as a basic UI Event. The necessary details for the event will be set manually.\n const event = document.createEvent('UIEvent');\n const touchDetails = {pageX, pageY};\n\n event.initUIEvent(type, true, true, window, 0);\n\n // Most of the browsers don't have a \"initTouchEvent\" method that can be used to define\n // the touch details.\n Object.defineProperties(event, {\n touches: {value: [touchDetails]},\n targetTouches: {value: [touchDetails]},\n changedTouches: {value: [touchDetails]}\n });\n\n return event;\n}\n\n/**\n * Dispatches a keydown event from an element.\n * @docs-private\n */\nexport function createKeyboardEvent(type: string, keyCode: number = 0, key: string = '',\n target?: Element, modifiers: ModifierKeys = {}) {\n const event = document.createEvent('KeyboardEvent') as any;\n const originalPreventDefault = event.preventDefault;\n\n // Firefox does not support `initKeyboardEvent`, but supports `initKeyEvent`.\n if (event.initKeyEvent) {\n event.initKeyEvent(type, true, true, window, modifiers.control, modifiers.alt, modifiers.shift,\n modifiers.meta, keyCode);\n } else {\n // `initKeyboardEvent` expects to receive modifiers as a whitespace-delimited string\n // See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyboardEvent\n const modifiersStr = (modifiers.control ? 'Control ' : '' + modifiers.alt ? 'Alt ' : '' +\n modifiers.shift ? 'Shift ' : '' + modifiers.meta ? 'Meta' : '').trim();\n event.initKeyboardEvent(type,\n true, /* canBubble */\n true, /* cancelable */\n window, /* view */\n 0, /* char */\n key, /* key */\n 0, /* location */\n modifiersStr, /* modifiersList */\n false /* repeat */);\n }\n\n // Webkit Browsers don't set the keyCode when calling the init function.\n // See related bug https://bugs.webkit.org/show_bug.cgi?id=16735\n Object.defineProperties(event, {\n keyCode: { get: () => keyCode },\n key: { get: () => key },\n target: { get: () => target },\n ctrlKey: { get: () => !!modifiers.control },\n altKey: { get: () => !!modifiers.alt },\n shiftKey: { get: () => !!modifiers.shift },\n metaKey: { get: () => !!modifiers.meta }\n });\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function() {\n Object.defineProperty(event, 'defaultPrevented', { get: () => true });\n return originalPreventDefault.apply(this, arguments);\n };\n\n return event;\n}\n\n/**\n * Creates a fake event object with any desired event type.\n * @docs-private\n */\nexport function createFakeEvent(type: string, canBubble = false, cancelable = true) {\n const event = document.createEvent('Event');\n event.initEvent(type, canBubble, cancelable);\n return event;\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cdk-testing.umd.js","sources":["../../src/cdk/testing/type-in-element.ts","../../src/cdk/testing/element-focus.ts","../../src/cdk/testing/dispatch-events.ts","../../src/cdk/testing/event-objects.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\nimport {dispatchFakeEvent, dispatchKeyboardEvent} from './dispatch-events';\nimport {triggerFocus} from './element-focus';\nimport {ModifierKeys} from './event-objects';\n\n/**\n * Checks whether the given Element is a text input element.\n * @docs-private\n */\nexport function isTextInput(element: Element): element is HTMLInputElement | HTMLTextAreaElement {\n return element.nodeName.toLowerCase() === 'input' ||\n element.nodeName.toLowerCase() === 'textarea' ;\n}\n\n/**\n * Focuses an input, sets its value and dispatches\n * the `input` event, simulating the user typing.\n * @param element Element onto which to set the value.\n * @param keys The keys to send to the element.\n * @docs-private\n */\nexport function typeInElement(\n element: HTMLElement, ...keys: (string | {keyCode?: number, key?: string})[]): void;\n\n/**\n * Focuses an input, sets its value and dispatches\n * the `input` event, simulating the user typing.\n * @param element Element onto which to set the value.\n * @param modifiers Modifier keys that are held while typing.\n * @param keys The keys to send to the element.\n * @docs-private\n */\nexport function typeInElement(element: HTMLElement, modifiers: ModifierKeys,\n ...keys: (string | {keyCode?: number, key?: string})[]): void;\n\nexport function typeInElement(element: HTMLElement, ...modifiersAndKeys: any) {\n const first = modifiersAndKeys[0];\n let modifiers: ModifierKeys;\n let rest: (string | {keyCode?: number, key?: string})[];\n if (typeof first !== 'string' && first.keyCode === undefined && first.key === undefined) {\n modifiers = first;\n rest = modifiersAndKeys.slice(1);\n } else {\n modifiers = {};\n rest = modifiersAndKeys;\n }\n const keys: {keyCode?: number, key?: string}[] = rest\n .map(k => typeof k === 'string' ?\n k.split('').map(c => ({keyCode: c.toUpperCase().charCodeAt(0), key: c})) : [k])\n .reduce((arr, k) => arr.concat(k), []);\n\n triggerFocus(element);\n for (const key of keys) {\n dispatchKeyboardEvent(element, 'keydown', key.keyCode, key.key, element, modifiers);\n dispatchKeyboardEvent(element, 'keypress', key.keyCode, key.key, element, modifiers);\n if (isTextInput(element) && key.key && key.key.length === 1) {\n element.value += key.key;\n dispatchFakeEvent(element, 'input');\n }\n dispatchKeyboardEvent(element, 'keyup', key.keyCode, key.key, element, modifiers);\n }\n}\n\n/**\n * Clears the text in an input or textarea element.\n * @docs-private\n */\nexport function clearElement(element: HTMLInputElement | HTMLTextAreaElement) {\n triggerFocus(element as HTMLElement);\n element.value = '';\n dispatchFakeEvent(element, 'input');\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 {dispatchFakeEvent} from './dispatch-events';\n\nfunction triggerFocusChange(element: HTMLElement, event: 'focus' | 'blur') {\n let eventFired = false;\n const handler = () => eventFired = true;\n element.addEventListener(event, handler);\n element[event]();\n element.removeEventListener(event, handler);\n if (!eventFired) {\n dispatchFakeEvent(element, event);\n }\n}\n\n/**\n * Patches an elements focus and blur methods to emit events consistently and predictably.\n * This is necessary, because some browsers, like IE11, will call the focus handlers asynchronously,\n * while others won't fire them at all if the browser window is not focused.\n * @docs-private\n */\nexport function patchElementFocus(element: HTMLElement) {\n element.focus = () => dispatchFakeEvent(element, 'focus');\n element.blur = () => dispatchFakeEvent(element, 'blur');\n}\n\n/** @docs-private */\nexport function triggerFocus(element: HTMLElement) {\n triggerFocusChange(element, 'focus');\n}\n\n/** @docs-private */\nexport function triggerBlur(element: HTMLElement) {\n triggerFocusChange(element, 'blur');\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 {\n createFakeEvent,\n createKeyboardEvent,\n createMouseEvent,\n createTouchEvent,\n ModifierKeys\n} from './event-objects';\n\n/**\n * Utility to dispatch any event on a Node.\n * @docs-private\n */\nexport function dispatchEvent(node: Node | Window, event: Event): Event {\n node.dispatchEvent(event);\n return event;\n}\n\n/**\n * Shorthand to dispatch a fake event on a specified node.\n * @docs-private\n */\nexport function dispatchFakeEvent(node: Node | Window, type: string, canBubble?: boolean): Event {\n return dispatchEvent(node, createFakeEvent(type, canBubble));\n}\n\n/**\n * Shorthand to dispatch a keyboard event with a specified key code.\n * @docs-private\n */\nexport function dispatchKeyboardEvent(node: Node, type: string, keyCode?: number, key?: string,\n target?: Element, modifiers?: ModifierKeys): KeyboardEvent {\n return dispatchEvent(node,\n createKeyboardEvent(type, keyCode, key, target, modifiers)) as KeyboardEvent;\n}\n\n/**\n * Shorthand to dispatch a mouse event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchMouseEvent(node: Node, type: string, x = 0, y = 0,\n event = createMouseEvent(type, x, y)): MouseEvent {\n return dispatchEvent(node, event) as MouseEvent;\n}\n\n/**\n * Shorthand to dispatch a touch event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchTouchEvent(node: Node, type: string, x = 0, y = 0) {\n return dispatchEvent(node, createTouchEvent(type, x, y));\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/** Modifier keys that may be held while typing. */\nexport interface ModifierKeys {\n control?: boolean;\n alt?: boolean;\n shift?: boolean;\n meta?: boolean;\n}\n\n/**\n * Creates a browser MouseEvent with the specified options.\n * @docs-private\n */\nexport function createMouseEvent(type: string, x = 0, y = 0, button = 0) {\n const event = document.createEvent('MouseEvent');\n const originalPreventDefault = event.preventDefault;\n\n event.initMouseEvent(type,\n true, /* canBubble */\n true, /* cancelable */\n window, /* view */\n 0, /* detail */\n x, /* screenX */\n y, /* screenY */\n x, /* clientX */\n y, /* clientY */\n false, /* ctrlKey */\n false, /* altKey */\n false, /* shiftKey */\n false, /* metaKey */\n button, /* button */\n null /* relatedTarget */);\n\n // `initMouseEvent` doesn't allow us to pass the `buttons` and\n // defaults it to 0 which looks like a fake event.\n Object.defineProperty(event, 'buttons', {get: () => 1});\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function() {\n Object.defineProperty(event, 'defaultPrevented', { get: () => true });\n return originalPreventDefault.apply(this, arguments);\n };\n\n return event;\n}\n\n/**\n * Creates a browser TouchEvent with the specified pointer coordinates.\n * @docs-private\n */\nexport function createTouchEvent(type: string, pageX = 0, pageY = 0) {\n // In favor of creating events that work for most of the browsers, the event is created\n // as a basic UI Event. The necessary details for the event will be set manually.\n const event = document.createEvent('UIEvent');\n const touchDetails = {pageX, pageY};\n\n // TS3.6 removes the initUIEvent method and suggests porting to \"new UIEvent()\".\n (event as any).initUIEvent(type, true, true, window, 0);\n\n // Most of the browsers don't have a \"initTouchEvent\" method that can be used to define\n // the touch details.\n Object.defineProperties(event, {\n touches: {value: [touchDetails]},\n targetTouches: {value: [touchDetails]},\n changedTouches: {value: [touchDetails]}\n });\n\n return event;\n}\n\n/**\n * Dispatches a keydown event from an element.\n * @docs-private\n */\nexport function createKeyboardEvent(type: string, keyCode: number = 0, key: string = '',\n target?: Element, modifiers: ModifierKeys = {}) {\n const event = document.createEvent('KeyboardEvent') as any;\n const originalPreventDefault = event.preventDefault;\n\n // Firefox does not support `initKeyboardEvent`, but supports `initKeyEvent`.\n if (event.initKeyEvent) {\n event.initKeyEvent(type, true, true, window, modifiers.control, modifiers.alt, modifiers.shift,\n modifiers.meta, keyCode);\n } else {\n // `initKeyboardEvent` expects to receive modifiers as a whitespace-delimited string\n // See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyboardEvent\n const modifiersStr = (modifiers.control ? 'Control ' : '' + modifiers.alt ? 'Alt ' : '' +\n modifiers.shift ? 'Shift ' : '' + modifiers.meta ? 'Meta' : '').trim();\n event.initKeyboardEvent(type,\n true, /* canBubble */\n true, /* cancelable */\n window, /* view */\n 0, /* char */\n key, /* key */\n 0, /* location */\n modifiersStr, /* modifiersList */\n false /* repeat */);\n }\n\n // Webkit Browsers don't set the keyCode when calling the init function.\n // See related bug https://bugs.webkit.org/show_bug.cgi?id=16735\n Object.defineProperties(event, {\n keyCode: { get: () => keyCode },\n key: { get: () => key },\n target: { get: () => target },\n ctrlKey: { get: () => !!modifiers.control },\n altKey: { get: () => !!modifiers.alt },\n shiftKey: { get: () => !!modifiers.shift },\n metaKey: { get: () => !!modifiers.meta }\n });\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function() {\n Object.defineProperty(event, 'defaultPrevented', { get: () => true });\n return originalPreventDefault.apply(this, arguments);\n };\n\n return event;\n}\n\n/**\n * Creates a fake event object with any desired event type.\n * @docs-private\n */\nexport function createFakeEvent(type: string, canBubble = false, cancelable = true) {\n const event = document.createEvent('Event');\n event.initEvent(type, canBubble, cancelable);\n return event;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AGoBA,SAAgB,gBAAgB,CAAC,IAAY,EAAE,CAAK,EAAE,CAAK,EAAE,MAAU,EAAvE;IAA+C,IAA/C,CAAA,KAAA,KAAA,CAAA,EAA+C,EAAA,CAA/C,GAAA,CAAoD,CAApD,EAAA;IAAsD,IAAtD,CAAA,KAAA,KAAA,CAAA,EAAsD,EAAA,CAAtD,GAAA,CAA2D,CAA3D,EAAA;IAA6D,IAA7D,MAAA,KAAA,KAAA,CAAA,EAA6D,EAAA,MAA7D,GAAA,CAAuE,CAAvE,EAAA;;IACA,IAAQ,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAlD;;IACA,IAAQ,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAArD;IAEE,KAAK,CAAC,cAAc,CAAC,IAAI,EACvB,IAAI,kBACJ,IAAI,mBACJ,MAAM,aACN,CAAC,eACD,CAAC,gBACD,CAAC,gBACD,CAAC,gBACD,CAAC,gBACD,KAAK,gBACL,KAAK,eACL,KAAK,iBACL,KAAK,gBACL,MAAM,eACN,IAAI,qBAAqB,CAAC;;;IAI5B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,EAAC,GAAG;;;QAAE,YAAhD,EAAsD,OAAA,CAAC,CAAvD,EAAuD,CAAA,EAAC,CAAC,CAAC;;IAGxD,KAAK,CAAC,cAAc;;;IAAG,YAAzB;QACI,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,GAAG;;;YAAE,YAA5D,EAAkE,OAAA,IAAI,CAAtE,EAAsE,CAAA,EAAE,CAAC,CAAC;QACtE,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KACtD,CAAA,CAAC;IAEF,OAAO,KAAK,CAAC;CACd;;;;;;;;;AAMD,SAAgB,gBAAgB,CAAC,IAAY,EAAE,KAAS,EAAE,KAAS,EAAnE;IAA+C,IAA/C,KAAA,KAAA,KAAA,CAAA,EAA+C,EAAA,KAA/C,GAAA,CAAwD,CAAxD,EAAA;IAA0D,IAA1D,KAAA,KAAA,KAAA,CAAA,EAA0D,EAAA,KAA1D,GAAA,CAAmE,CAAnE,EAAA;;;;IAGA,IAAQ,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAA/C;;IACA,IAAQ,YAAY,GAAG,EAAC,KAAK,EAA7B,KAA6B,EAAE,KAAK,EAApC,KAAoC,EAAC,CAArC;;IAGE,oBAAC,KAAK,IAAS,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;;;IAIxD,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE;QAC7B,OAAO,EAAE,EAAC,KAAK,EAAE,CAAC,YAAY,CAAC,EAAC;QAChC,aAAa,EAAE,EAAC,KAAK,EAAE,CAAC,YAAY,CAAC,EAAC;QACtC,cAAc,EAAE,EAAC,KAAK,EAAE,CAAC,YAAY,CAAC,EAAC;KACxC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;CACd;;;;;;;;;;;AAMD,SAAgB,mBAAmB,CAAC,IAAY,EAAE,OAAmB,EAAE,GAAgB,EACnD,MAAgB,EAAE,SAA4B,EADlF;IAAkD,IAAlD,OAAA,KAAA,KAAA,CAAA,EAAkD,EAAA,OAAlD,GAAA,CAAqE,CAArE,EAAA;IAAuE,IAAvE,GAAA,KAAA,KAAA,CAAA,EAAuE,EAAA,GAAvE,GAAA,EAAuF,CAAvF,EAAA;IACsD,IAAtD,SAAA,KAAA,KAAA,CAAA,EAAsD,EAAA,SAAtD,GAAA,EAAkF,CAAlF,EAAA;;IACA,IAAQ,KAAK,sBAAG,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,EAAO,CAA5D;;IACA,IAAQ,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAArD;;IAGE,IAAI,KAAK,CAAC,YAAY,EAAE;QACtB,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,EAC1F,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC9B;SAAM;;;;QAGT,IAAU,YAAY,GAAG,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,MAAM,GAAG,EAAE;YACnF,SAAS,CAAC,KAAK,GAAG,QAAQ,GAAG,EAAE,GAAG,SAAS,CAAC,IAAI,GAAG,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,CAA9E;QACI,KAAK,CAAC,iBAAiB,CAAC,IAAI,EACxB,IAAI,kBACJ,IAAI,mBACJ,MAAM,aACN,CAAC,aACD,GAAG,YACH,CAAC,iBACD,YAAY,sBACZ,KAAK,cAAc,CAAC;KACzB;;;IAID,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE;QAC7B,OAAO,EAAE,EAAE,GAAG;;;YAAE,YAApB,EAA0B,OAAA,OAAO,CAAjC,EAAiC,CAAA,EAAE;QAC/B,GAAG,EAAE,EAAE,GAAG;;;YAAE,YAAhB,EAAsB,OAAA,GAAG,CAAzB,EAAyB,CAAA,EAAE;QACvB,MAAM,EAAE,EAAE,GAAG;;;YAAE,YAAnB,EAAyB,OAAA,MAAM,CAA/B,EAA+B,CAAA,EAAE;QAC7B,OAAO,EAAE,EAAE,GAAG;;;YAAE,YAApB,EAA0B,OAAA,CAAC,CAAC,SAAS,CAAC,OAAO,CAA7C,EAA6C,CAAA,EAAE;QAC3C,MAAM,EAAE,EAAE,GAAG;;;YAAE,YAAnB,EAAyB,OAAA,CAAC,CAAC,SAAS,CAAC,GAAG,CAAxC,EAAwC,CAAA,EAAE;QACtC,QAAQ,EAAE,EAAE,GAAG;;;YAAE,YAArB,EAA2B,OAAA,CAAC,CAAC,SAAS,CAAC,KAAK,CAA5C,EAA4C,CAAA,EAAE;QAC1C,OAAO,EAAE,EAAE,GAAG;;;YAAE,YAApB,EAA0B,OAAA,CAAC,CAAC,SAAS,CAAC,IAAI,CAA1C,EAA0C,CAAA,EAAE;KACzC,CAAC,CAAC;;IAGH,KAAK,CAAC,cAAc;;;IAAG,YAAzB;QACI,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,GAAG;;;YAAE,YAA5D,EAAkE,OAAA,IAAI,CAAtE,EAAsE,CAAA,EAAE,CAAC,CAAC;QACtE,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KACtD,CAAA,CAAC;IAEF,OAAO,KAAK,CAAC;CACd;;;;;;;;;AAMD,SAAgB,eAAe,CAAC,IAAY,EAAE,SAAiB,EAAE,UAAiB,EAAlF;IAA8C,IAA9C,SAAA,KAAA,KAAA,CAAA,EAA8C,EAAA,SAA9C,GAAA,KAA+D,CAA/D,EAAA;IAAiE,IAAjE,UAAA,KAAA,KAAA,CAAA,EAAiE,EAAA,UAAjE,GAAA,IAAkF,CAAlF,EAAA;;IACA,IAAQ,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAA7C;IACE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC;CACd;;;;;;;;;;;;;ADnHD,SAAgB,aAAa,CAAC,IAAmB,EAAE,KAAY,EAA/D;IACE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC;CACd;;;;;;;;;AAMD,SAAgB,iBAAiB,CAAC,IAAmB,EAAE,IAAY,EAAE,SAAmB,EAAxF;IACE,OAAO,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;CAC9D;;;;;;;;;;;;AAMD,SAAgB,qBAAqB,CAAC,IAAU,EAAE,IAAY,EAAE,OAAgB,EAAE,GAAY,EACxD,MAAgB,EAAE,SAAwB,EADhF;IAEE,0BAAO,aAAa,CAAC,IAAI,EACrB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,GAAkB;CAClF;;;;;;;;;;;AAMD,SAAgB,kBAAkB,CAAC,IAAU,EAAE,IAAY,EAAE,CAAK,EAAE,CAAK,EACvE,KAAoC,EADtC;IAA6D,IAA7D,CAAA,KAAA,KAAA,CAAA,EAA6D,EAAA,CAA7D,GAAA,CAAkE,CAAlE,EAAA;IAAoE,IAApE,CAAA,KAAA,KAAA,CAAA,EAAoE,EAAA,CAApE,GAAA,CAAyE,CAAzE,EAAA;IACE,IAAF,KAAA,KAAA,KAAA,CAAA,EAAE,EAAA,KAAF,GAAU,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAtC,EAAA;IACE,0BAAO,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,GAAe;CACjD;;;;;;;;;;AAMD,SAAgB,kBAAkB,CAAC,IAAU,EAAE,IAAY,EAAE,CAAK,EAAE,CAAK,EAAzE;IAA6D,IAA7D,CAAA,KAAA,KAAA,CAAA,EAA6D,EAAA,CAA7D,GAAA,CAAkE,CAAlE,EAAA;IAAoE,IAApE,CAAA,KAAA,KAAA,CAAA,EAAoE,EAAA,CAApE,GAAA,CAAyE,CAAzE,EAAA;IACE,OAAO,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC1D;;;;;;;;;;;ADhDD,SAAS,kBAAkB,CAAC,OAAoB,EAAE,KAAuB,EAAzE;;IACA,IAAM,UAAU,GAAG,KAAK,CAAxB;;IACA,IAAQ,OAAO;;;IAAG,YAAlB,EAAwB,OAAA,UAAU,GAAG,IAAI,CAAzC,EAAyC,CAAA,CAAzC;IACE,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;IACjB,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,EAAE;QACf,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KACnC;CACF;;;;;;;;;AAQD,SAAgB,iBAAiB,CAAC,OAAoB,EAAtD;IACE,OAAO,CAAC,KAAK;;;IAAG,YAAlB,EAAwB,OAAA,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAA3D,EAA2D,CAAA,CAAC;IAC1D,OAAO,CAAC,IAAI;;;IAAG,YAAjB,EAAuB,OAAA,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAzD,EAAyD,CAAA,CAAC;CACzD;;;;;;AAGD,SAAgB,YAAY,CAAC,OAAoB,EAAjD;IACE,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACtC;;;;;;AAGD,SAAgB,WAAW,CAAC,OAAoB,EAAhD;IACE,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CACrC;;;;;;;;;;;;ADxBD,SAAgB,WAAW,CAAC,OAAgB,EAA5C;IACE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,OAAO;QAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,UAAU,CAAE;CACpD;;;;;;AAuBD,SAAgB,aAAa,CAAC,OAAoB,EAAlD;IAAoD,IAApD,gBAAA,GAAA,EAAA,CAA4E;IAA5E,KAAoD,IAApD,EAAA,GAAA,CAA4E,EAAxB,EAApD,GAAA,SAAA,CAAA,MAA4E,EAAxB,EAApD,EAA4E,EAA5E;QAAoD,gBAApD,CAAA,EAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAA4E;;;IAC5E,IAAQ,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAnC;;IACA,IAAM,SAAuB,CAA7B;;IACA,IAAM,IAAmD,CAAzD;IACE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE;QACvF,SAAS,GAAG,KAAK,CAAC;QAClB,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAClC;SAAM;QACL,SAAS,GAAG,EAAE,CAAC;QACf,IAAI,GAAG,gBAAgB,CAAC;KACzB;;IACH,IAAQ,IAAI,GAAuC,IAAI;SAChD,GAAG;;;;IAAC,UAAA,CAAC,EAAZ,EAAgB,OAAA,OAAO,CAAC,KAAK,QAAQ;QAC3B,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG;;;;QAAC,UAAA,CAAC,EAA3B,EAA+B,QAAC,EAAC,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,EAAhF,EAAiF,EAAC,GAAG,CAAC,CAAC,CAAC,CAAxF,EAAwF,EAAC;SAClF,MAAM;;;;;IAAC,UAAC,GAAG,EAAE,CAAC,EAArB,EAA0B,OAAA,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAvC,EAAuC,GAAE,EAAE,CAAC,CAA5C;IAEE,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,KAAkB,IAApB,EAAA,GAAA,CAAwB,EAAJ,MAApB,GAAA,IAAwB,EAAJ,EAApB,GAAA,MAAA,CAAA,MAAwB,EAAJ,EAApB,EAAwB,EAAE;QAAnB,IAAM,GAAG,GAAhB,MAAA,CAAA,EAAA,CAAgB,CAAhB;QACI,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACpF,qBAAqB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACrF,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3D,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC;YACzB,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACrC;QACD,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;KACnF;CACF;;;;;;;AAMD,SAAgB,YAAY,CAAC,OAA+C,EAA5E;IACE,YAAY,oBAAC,OAAO,GAAgB,CAAC;IACrC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;IACnB,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACrC;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdk-testing.umd.min.js","sources":["../../src/cdk/testing/event-objects.ts","../../src/cdk/testing/dispatch-events.ts","../../src/cdk/testing/element-focus.ts","../../src/cdk/testing/type-in-element.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/** Modifier keys that may be held while typing. */\nexport interface ModifierKeys {\n control?: boolean;\n alt?: boolean;\n shift?: boolean;\n meta?: boolean;\n}\n\n/**\n * Creates a browser MouseEvent with the specified options.\n * @docs-private\n */\nexport function createMouseEvent(type: string, x = 0, y = 0, button = 0) {\n const event = document.createEvent('MouseEvent');\n const originalPreventDefault = event.preventDefault;\n\n event.initMouseEvent(type,\n true, /* canBubble */\n true, /* cancelable */\n window, /* view */\n 0, /* detail */\n x, /* screenX */\n y, /* screenY */\n x, /* clientX */\n y, /* clientY */\n false, /* ctrlKey */\n false, /* altKey */\n false, /* shiftKey */\n false, /* metaKey */\n button, /* button */\n null /* relatedTarget */);\n\n // `initMouseEvent` doesn't allow us to pass the `buttons` and\n // defaults it to 0 which looks like a fake event.\n Object.defineProperty(event, 'buttons', {get: () => 1});\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function() {\n Object.defineProperty(event, 'defaultPrevented', { get: () => true });\n return originalPreventDefault.apply(this, arguments);\n };\n\n return event;\n}\n\n/**\n * Creates a browser TouchEvent with the specified pointer coordinates.\n * @docs-private\n */\nexport function createTouchEvent(type: string, pageX = 0, pageY = 0) {\n // In favor of creating events that work for most of the browsers, the event is created\n // as a basic UI Event. The necessary details for the event will be set manually.\n const event = document.createEvent('UIEvent');\n const touchDetails = {pageX, pageY};\n\n event.initUIEvent(type, true, true, window, 0);\n\n // Most of the browsers don't have a \"initTouchEvent\" method that can be used to define\n // the touch details.\n Object.defineProperties(event, {\n touches: {value: [touchDetails]},\n targetTouches: {value: [touchDetails]},\n changedTouches: {value: [touchDetails]}\n });\n\n return event;\n}\n\n/**\n * Dispatches a keydown event from an element.\n * @docs-private\n */\nexport function createKeyboardEvent(type: string, keyCode: number = 0, key: string = '',\n target?: Element, modifiers: ModifierKeys = {}) {\n const event = document.createEvent('KeyboardEvent') as any;\n const originalPreventDefault = event.preventDefault;\n\n // Firefox does not support `initKeyboardEvent`, but supports `initKeyEvent`.\n if (event.initKeyEvent) {\n event.initKeyEvent(type, true, true, window, modifiers.control, modifiers.alt, modifiers.shift,\n modifiers.meta, keyCode);\n } else {\n // `initKeyboardEvent` expects to receive modifiers as a whitespace-delimited string\n // See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyboardEvent\n const modifiersStr = (modifiers.control ? 'Control ' : '' + modifiers.alt ? 'Alt ' : '' +\n modifiers.shift ? 'Shift ' : '' + modifiers.meta ? 'Meta' : '').trim();\n event.initKeyboardEvent(type,\n true, /* canBubble */\n true, /* cancelable */\n window, /* view */\n 0, /* char */\n key, /* key */\n 0, /* location */\n modifiersStr, /* modifiersList */\n false /* repeat */);\n }\n\n // Webkit Browsers don't set the keyCode when calling the init function.\n // See related bug https://bugs.webkit.org/show_bug.cgi?id=16735\n Object.defineProperties(event, {\n keyCode: { get: () => keyCode },\n key: { get: () => key },\n target: { get: () => target },\n ctrlKey: { get: () => !!modifiers.control },\n altKey: { get: () => !!modifiers.alt },\n shiftKey: { get: () => !!modifiers.shift },\n metaKey: { get: () => !!modifiers.meta }\n });\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function() {\n Object.defineProperty(event, 'defaultPrevented', { get: () => true });\n return originalPreventDefault.apply(this, arguments);\n };\n\n return event;\n}\n\n/**\n * Creates a fake event object with any desired event type.\n * @docs-private\n */\nexport function createFakeEvent(type: string, canBubble = false, cancelable = true) {\n const event = document.createEvent('Event');\n event.initEvent(type, canBubble, cancelable);\n return event;\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 {\n createFakeEvent,\n createKeyboardEvent,\n createMouseEvent,\n createTouchEvent,\n ModifierKeys\n} from './event-objects';\n\n/**\n * Utility to dispatch any event on a Node.\n * @docs-private\n */\nexport function dispatchEvent(node: Node | Window, event: Event): Event {\n node.dispatchEvent(event);\n return event;\n}\n\n/**\n * Shorthand to dispatch a fake event on a specified node.\n * @docs-private\n */\nexport function dispatchFakeEvent(node: Node | Window, type: string, canBubble?: boolean): Event {\n return dispatchEvent(node, createFakeEvent(type, canBubble));\n}\n\n/**\n * Shorthand to dispatch a keyboard event with a specified key code.\n * @docs-private\n */\nexport function dispatchKeyboardEvent(node: Node, type: string, keyCode?: number, key?: string,\n target?: Element, modifiers?: ModifierKeys): KeyboardEvent {\n return dispatchEvent(node,\n createKeyboardEvent(type, keyCode, key, target, modifiers)) as KeyboardEvent;\n}\n\n/**\n * Shorthand to dispatch a mouse event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchMouseEvent(node: Node, type: string, x = 0, y = 0,\n event = createMouseEvent(type, x, y)): MouseEvent {\n return dispatchEvent(node, event) as MouseEvent;\n}\n\n/**\n * Shorthand to dispatch a touch event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchTouchEvent(node: Node, type: string, x = 0, y = 0) {\n return dispatchEvent(node, createTouchEvent(type, x, y));\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 {dispatchFakeEvent} from './dispatch-events';\n\nfunction triggerFocusChange(element: HTMLElement, event: 'focus' | 'blur') {\n let eventFired = false;\n const handler = () => eventFired = true;\n element.addEventListener(event, handler);\n element[event]();\n element.removeEventListener(event, handler);\n if (!eventFired) {\n dispatchFakeEvent(element, event);\n }\n}\n\n/**\n * Patches an elements focus and blur methods to emit events consistently and predictably.\n * This is necessary, because some browsers, like IE11, will call the focus handlers asynchronously,\n * while others won't fire them at all if the browser window is not focused.\n * @docs-private\n */\nexport function patchElementFocus(element: HTMLElement) {\n element.focus = () => dispatchFakeEvent(element, 'focus');\n element.blur = () => dispatchFakeEvent(element, 'blur');\n}\n\n/** @docs-private */\nexport function triggerFocus(element: HTMLElement) {\n triggerFocusChange(element, 'focus');\n}\n\n/** @docs-private */\nexport function triggerBlur(element: HTMLElement) {\n triggerFocusChange(element, 'blur');\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 {dispatchFakeEvent, dispatchKeyboardEvent} from './dispatch-events';\nimport {triggerFocus} from './element-focus';\nimport {ModifierKeys} from './event-objects';\n\n/**\n * Checks whether the given Element is a text input element.\n * @docs-private\n */\nexport function isTextInput(element: Element): element is HTMLInputElement | HTMLTextAreaElement {\n return element.nodeName.toLowerCase() === 'input' ||\n element.nodeName.toLowerCase() === 'textarea' ;\n}\n\n/**\n * Focuses an input, sets its value and dispatches\n * the `input` event, simulating the user typing.\n * @param element Element onto which to set the value.\n * @param keys The keys to send to the element.\n * @docs-private\n */\nexport function typeInElement(\n element: HTMLElement, ...keys: (string | {keyCode?: number, key?: string})[]): void;\n\n/**\n * Focuses an input, sets its value and dispatches\n * the `input` event, simulating the user typing.\n * @param element Element onto which to set the value.\n * @param modifiers Modifier keys that are held while typing.\n * @param keys The keys to send to the element.\n * @docs-private\n */\nexport function typeInElement(element: HTMLElement, modifiers: ModifierKeys,\n ...keys: (string | {keyCode?: number, key?: string})[]): void;\n\nexport function typeInElement(element: HTMLElement, ...modifiersAndKeys: any) {\n const first = modifiersAndKeys[0];\n let modifiers: ModifierKeys;\n let rest: (string | {keyCode?: number, key?: string})[];\n if (typeof first !== 'string' && first.keyCode === undefined && first.key === undefined) {\n modifiers = first;\n rest = modifiersAndKeys.slice(1);\n } else {\n modifiers = {};\n rest = modifiersAndKeys;\n }\n const keys: {keyCode?: number, key?: string}[] = rest\n .map(k => typeof k === 'string' ?\n k.split('').map(c => ({keyCode: c.toUpperCase().charCodeAt(0), key: c})) : [k])\n .reduce((arr, k) => arr.concat(k), []);\n\n triggerFocus(element);\n for (const key of keys) {\n dispatchKeyboardEvent(element, 'keydown', key.keyCode, key.key, element, modifiers);\n dispatchKeyboardEvent(element, 'keypress', key.keyCode, key.key, element, modifiers);\n if (isTextInput(element) && key.key && key.key.length === 1) {\n element.value += key.key;\n dispatchFakeEvent(element, 'input');\n }\n dispatchKeyboardEvent(element, 'keyup', key.keyCode, key.key, element, modifiers);\n }\n}\n\n/**\n * Clears the text in an input or textarea element.\n * @docs-private\n */\nexport function clearElement(element: HTMLInputElement | HTMLTextAreaElement) {\n triggerFocus(element as HTMLElement);\n element.value = '';\n dispatchFakeEvent(element, 'input');\n}\n"],"names":["createMouseEvent","type","x","y","button","event","document","createEvent","originalPreventDefault","preventDefault","initMouseEvent","window","Object","defineProperty","get","apply","this","arguments","createTouchEvent","pageX","pageY","touchDetails","initUIEvent","defineProperties","touches","value","targetTouches","changedTouches","createKeyboardEvent","keyCode","key","target","modifiers","initKeyEvent","control","alt","shift","meta","modifiersStr","trim","initKeyboardEvent","ctrlKey","altKey","shiftKey","metaKey","createFakeEvent","canBubble","cancelable","initEvent","dispatchEvent","node","dispatchFakeEvent","dispatchKeyboardEvent","dispatchMouseEvent","dispatchTouchEvent","triggerFocusChange","element","eventFired","handler","addEventListener","removeEventListener","patchElementFocus","focus","blur","triggerFocus","triggerBlur","isTextInput","nodeName","toLowerCase","typeInElement","modifiersAndKeys","_i","length","rest","first","undefined","slice","keys","map","k","split","c","toUpperCase","charCodeAt","reduce","arr","concat","_a","keys_1","clearElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cdk-testing.umd.min.js","sources":["../../src/cdk/testing/event-objects.ts","../../src/cdk/testing/dispatch-events.ts","../../src/cdk/testing/element-focus.ts","../../src/cdk/testing/type-in-element.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/** Modifier keys that may be held while typing. */\nexport interface ModifierKeys {\n control?: boolean;\n alt?: boolean;\n shift?: boolean;\n meta?: boolean;\n}\n\n/**\n * Creates a browser MouseEvent with the specified options.\n * @docs-private\n */\nexport function createMouseEvent(type: string, x = 0, y = 0, button = 0) {\n const event = document.createEvent('MouseEvent');\n const originalPreventDefault = event.preventDefault;\n\n event.initMouseEvent(type,\n true, /* canBubble */\n true, /* cancelable */\n window, /* view */\n 0, /* detail */\n x, /* screenX */\n y, /* screenY */\n x, /* clientX */\n y, /* clientY */\n false, /* ctrlKey */\n false, /* altKey */\n false, /* shiftKey */\n false, /* metaKey */\n button, /* button */\n null /* relatedTarget */);\n\n // `initMouseEvent` doesn't allow us to pass the `buttons` and\n // defaults it to 0 which looks like a fake event.\n Object.defineProperty(event, 'buttons', {get: () => 1});\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function() {\n Object.defineProperty(event, 'defaultPrevented', { get: () => true });\n return originalPreventDefault.apply(this, arguments);\n };\n\n return event;\n}\n\n/**\n * Creates a browser TouchEvent with the specified pointer coordinates.\n * @docs-private\n */\nexport function createTouchEvent(type: string, pageX = 0, pageY = 0) {\n // In favor of creating events that work for most of the browsers, the event is created\n // as a basic UI Event. The necessary details for the event will be set manually.\n const event = document.createEvent('UIEvent');\n const touchDetails = {pageX, pageY};\n\n // TS3.6 removes the initUIEvent method and suggests porting to \"new UIEvent()\".\n (event as any).initUIEvent(type, true, true, window, 0);\n\n // Most of the browsers don't have a \"initTouchEvent\" method that can be used to define\n // the touch details.\n Object.defineProperties(event, {\n touches: {value: [touchDetails]},\n targetTouches: {value: [touchDetails]},\n changedTouches: {value: [touchDetails]}\n });\n\n return event;\n}\n\n/**\n * Dispatches a keydown event from an element.\n * @docs-private\n */\nexport function createKeyboardEvent(type: string, keyCode: number = 0, key: string = '',\n target?: Element, modifiers: ModifierKeys = {}) {\n const event = document.createEvent('KeyboardEvent') as any;\n const originalPreventDefault = event.preventDefault;\n\n // Firefox does not support `initKeyboardEvent`, but supports `initKeyEvent`.\n if (event.initKeyEvent) {\n event.initKeyEvent(type, true, true, window, modifiers.control, modifiers.alt, modifiers.shift,\n modifiers.meta, keyCode);\n } else {\n // `initKeyboardEvent` expects to receive modifiers as a whitespace-delimited string\n // See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyboardEvent\n const modifiersStr = (modifiers.control ? 'Control ' : '' + modifiers.alt ? 'Alt ' : '' +\n modifiers.shift ? 'Shift ' : '' + modifiers.meta ? 'Meta' : '').trim();\n event.initKeyboardEvent(type,\n true, /* canBubble */\n true, /* cancelable */\n window, /* view */\n 0, /* char */\n key, /* key */\n 0, /* location */\n modifiersStr, /* modifiersList */\n false /* repeat */);\n }\n\n // Webkit Browsers don't set the keyCode when calling the init function.\n // See related bug https://bugs.webkit.org/show_bug.cgi?id=16735\n Object.defineProperties(event, {\n keyCode: { get: () => keyCode },\n key: { get: () => key },\n target: { get: () => target },\n ctrlKey: { get: () => !!modifiers.control },\n altKey: { get: () => !!modifiers.alt },\n shiftKey: { get: () => !!modifiers.shift },\n metaKey: { get: () => !!modifiers.meta }\n });\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function() {\n Object.defineProperty(event, 'defaultPrevented', { get: () => true });\n return originalPreventDefault.apply(this, arguments);\n };\n\n return event;\n}\n\n/**\n * Creates a fake event object with any desired event type.\n * @docs-private\n */\nexport function createFakeEvent(type: string, canBubble = false, cancelable = true) {\n const event = document.createEvent('Event');\n event.initEvent(type, canBubble, cancelable);\n return event;\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 {\n createFakeEvent,\n createKeyboardEvent,\n createMouseEvent,\n createTouchEvent,\n ModifierKeys\n} from './event-objects';\n\n/**\n * Utility to dispatch any event on a Node.\n * @docs-private\n */\nexport function dispatchEvent(node: Node | Window, event: Event): Event {\n node.dispatchEvent(event);\n return event;\n}\n\n/**\n * Shorthand to dispatch a fake event on a specified node.\n * @docs-private\n */\nexport function dispatchFakeEvent(node: Node | Window, type: string, canBubble?: boolean): Event {\n return dispatchEvent(node, createFakeEvent(type, canBubble));\n}\n\n/**\n * Shorthand to dispatch a keyboard event with a specified key code.\n * @docs-private\n */\nexport function dispatchKeyboardEvent(node: Node, type: string, keyCode?: number, key?: string,\n target?: Element, modifiers?: ModifierKeys): KeyboardEvent {\n return dispatchEvent(node,\n createKeyboardEvent(type, keyCode, key, target, modifiers)) as KeyboardEvent;\n}\n\n/**\n * Shorthand to dispatch a mouse event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchMouseEvent(node: Node, type: string, x = 0, y = 0,\n event = createMouseEvent(type, x, y)): MouseEvent {\n return dispatchEvent(node, event) as MouseEvent;\n}\n\n/**\n * Shorthand to dispatch a touch event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchTouchEvent(node: Node, type: string, x = 0, y = 0) {\n return dispatchEvent(node, createTouchEvent(type, x, y));\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 {dispatchFakeEvent} from './dispatch-events';\n\nfunction triggerFocusChange(element: HTMLElement, event: 'focus' | 'blur') {\n let eventFired = false;\n const handler = () => eventFired = true;\n element.addEventListener(event, handler);\n element[event]();\n element.removeEventListener(event, handler);\n if (!eventFired) {\n dispatchFakeEvent(element, event);\n }\n}\n\n/**\n * Patches an elements focus and blur methods to emit events consistently and predictably.\n * This is necessary, because some browsers, like IE11, will call the focus handlers asynchronously,\n * while others won't fire them at all if the browser window is not focused.\n * @docs-private\n */\nexport function patchElementFocus(element: HTMLElement) {\n element.focus = () => dispatchFakeEvent(element, 'focus');\n element.blur = () => dispatchFakeEvent(element, 'blur');\n}\n\n/** @docs-private */\nexport function triggerFocus(element: HTMLElement) {\n triggerFocusChange(element, 'focus');\n}\n\n/** @docs-private */\nexport function triggerBlur(element: HTMLElement) {\n triggerFocusChange(element, 'blur');\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 {dispatchFakeEvent, dispatchKeyboardEvent} from './dispatch-events';\nimport {triggerFocus} from './element-focus';\nimport {ModifierKeys} from './event-objects';\n\n/**\n * Checks whether the given Element is a text input element.\n * @docs-private\n */\nexport function isTextInput(element: Element): element is HTMLInputElement | HTMLTextAreaElement {\n return element.nodeName.toLowerCase() === 'input' ||\n element.nodeName.toLowerCase() === 'textarea' ;\n}\n\n/**\n * Focuses an input, sets its value and dispatches\n * the `input` event, simulating the user typing.\n * @param element Element onto which to set the value.\n * @param keys The keys to send to the element.\n * @docs-private\n */\nexport function typeInElement(\n element: HTMLElement, ...keys: (string | {keyCode?: number, key?: string})[]): void;\n\n/**\n * Focuses an input, sets its value and dispatches\n * the `input` event, simulating the user typing.\n * @param element Element onto which to set the value.\n * @param modifiers Modifier keys that are held while typing.\n * @param keys The keys to send to the element.\n * @docs-private\n */\nexport function typeInElement(element: HTMLElement, modifiers: ModifierKeys,\n ...keys: (string | {keyCode?: number, key?: string})[]): void;\n\nexport function typeInElement(element: HTMLElement, ...modifiersAndKeys: any) {\n const first = modifiersAndKeys[0];\n let modifiers: ModifierKeys;\n let rest: (string | {keyCode?: number, key?: string})[];\n if (typeof first !== 'string' && first.keyCode === undefined && first.key === undefined) {\n modifiers = first;\n rest = modifiersAndKeys.slice(1);\n } else {\n modifiers = {};\n rest = modifiersAndKeys;\n }\n const keys: {keyCode?: number, key?: string}[] = rest\n .map(k => typeof k === 'string' ?\n k.split('').map(c => ({keyCode: c.toUpperCase().charCodeAt(0), key: c})) : [k])\n .reduce((arr, k) => arr.concat(k), []);\n\n triggerFocus(element);\n for (const key of keys) {\n dispatchKeyboardEvent(element, 'keydown', key.keyCode, key.key, element, modifiers);\n dispatchKeyboardEvent(element, 'keypress', key.keyCode, key.key, element, modifiers);\n if (isTextInput(element) && key.key && key.key.length === 1) {\n element.value += key.key;\n dispatchFakeEvent(element, 'input');\n }\n dispatchKeyboardEvent(element, 'keyup', key.keyCode, key.key, element, modifiers);\n }\n}\n\n/**\n * Clears the text in an input or textarea element.\n * @docs-private\n */\nexport function clearElement(element: HTMLInputElement | HTMLTextAreaElement) {\n triggerFocus(element as HTMLElement);\n element.value = '';\n dispatchFakeEvent(element, 'input');\n}\n"],"names":["createMouseEvent","type","x","y","button","event","document","createEvent","originalPreventDefault","preventDefault","initMouseEvent","window","Object","defineProperty","get","apply","this","arguments","createTouchEvent","pageX","pageY","touchDetails","initUIEvent","defineProperties","touches","value","targetTouches","changedTouches","createKeyboardEvent","keyCode","key","target","modifiers","initKeyEvent","control","alt","shift","meta","modifiersStr","trim","initKeyboardEvent","ctrlKey","altKey","shiftKey","metaKey","createFakeEvent","canBubble","cancelable","initEvent","dispatchEvent","node","dispatchFakeEvent","dispatchKeyboardEvent","dispatchMouseEvent","dispatchTouchEvent","triggerFocusChange","element","eventFired","handler","addEventListener","removeEventListener","patchElementFocus","focus","blur","triggerFocus","triggerBlur","isTextInput","nodeName","toLowerCase","typeInElement","modifiersAndKeys","_i","length","rest","first","undefined","slice","keys","map","k","split","c","toUpperCase","charCodeAt","reduce","arr","concat","_a","keys_1","clearElement"],"mappings":";;;;;;;6PAoBA,SAAgBA,GAAiBC,EAAcC,EAAOC,EAAOC,OAA7D,KAAAF,IAA+CA,EAA/C,OAAA,KAAAC,IAAsDA,EAAtD,OAAA,KAAAC,IAA6DA,EAA7D,EACA,IAAQC,GAAQC,SAASC,YAAY,cAC7BC,EAAyBH,EAAMI,cA4BrC,OA1BAJ,GAAMK,eAAeT,GACnB,GACA,EACAU,OACA,EACAT,EACAC,EACAD,EACAC,GACA,GACA,GACA,GACA,EACAC,EACA,MAIFQ,OAAOC,eAAeR,EAAO,WAAYS,IAAG,WAAQ,MAAA,MAGpDT,EAAMI,eAAc,WAElB,MADAG,QAAOC,eAAeR,EAAO,oBAAsBS,IAAG,WAAQ,OAAA,KACvDN,EAAuBO,MAAMC,KAAMC,YAGrCZ,EAOT,QAAgBa,GAAiBjB,EAAckB,EAAWC,OAA1D,KAAAD,IAA+CA,EAA/C,OAAA,KAAAC,IAA0DA,EAA1D,EAGA,IAAQf,GAAQC,SAASC,YAAY,WAC7Bc,GAAgBF,MAAxBA,EAA+BC,MAA/BA,EAaE,OAVA,GAAeE,YAAYrB,GAAM,GAAM,EAAMU,OAAQ,GAIrDC,OAAOW,iBAAiBlB,GACtBmB,SAAUC,OAAQJ,IAClBK,eAAgBD,OAAQJ,IACxBM,gBAAiBF,OAAQJ,MAGpBhB,EAOT,QAAgBuB,GAAoB3B,EAAc4B,EAAqBC,EACnCC,EAAkBC,OADtD,KAAAH,IAAkDA,EAAlD,OAAA,KAAAC,IAAuEA,EAAvE,QACA,KAAAE,IAAsDA,KACtD,IAAQ3B,GAAQC,SAASC,YAAY,iBAC7BC,EAAyBH,EAAMI,cAGrC,IAAIJ,EAAM4B,aACR5B,EAAM4B,aAAahC,GAAM,GAAM,EAAMU,OAAQqB,EAAUE,QAASF,EAAUG,IAAKH,EAAUI,MACrFJ,EAAUK,KAAMR,OACf,CAGT,GAAUS,IAAgBN,EAAUE,QAAU,WAAa,GAAKF,EAAUG,IAAM,OAAS,GACjFH,EAAUI,MAAQ,SAAW,GAAKJ,EAAUK,KAAO,OAAS,IAAIE,MACpElC,GAAMmC,kBAAkBvC,GACpB,GACA,EACAU,OACA,EACAmB,EACA,EACAQ,GACA,GAqBN,MAhBA1B,QAAOW,iBAAiBlB,GACtBwB,SAAWf,IAAG,WAAQ,MAAAe,KACtBC,KAAOhB,IAAG,WAAQ,MAAAgB,KAClBC,QAAUjB,IAAG,WAAQ,MAAAiB,KACrBU,SAAW3B,IAAG,WAAQ,QAAEkB,EAAUE,UAClCQ,QAAU5B,IAAG,WAAQ,QAAEkB,EAAUG,MACjCQ,UAAY7B,IAAG,WAAQ,QAAEkB,EAAUI,QACnCQ,SAAW9B,IAAG,WAAQ,QAAEkB,EAAUK,SAIpChC,EAAMI,eAAc,WAElB,MADAG,QAAOC,eAAeR,EAAO,oBAAsBS,IAAG,WAAQ,OAAA,KACvDN,EAAuBO,MAAMC,KAAMC,YAGrCZ,EAOT,QAAgBwC,GAAgB5C,EAAc6C,EAAmBC,OAAjE,KAAAD,IAA8CA,GAA9C,OAAA,KAAAC,IAAiEA,GAAjE,EACA,IAAQ1C,GAAQC,SAASC,YAAY,QAEnC,OADAF,GAAM2C,UAAU/C,EAAM6C,EAAWC,GAC1B1C,EClHT,QAAgB4C,GAAcC,EAAqB7C,GAEjD,MADA6C,GAAKD,cAAc5C,GACZA,EAOT,QAAgB8C,GAAkBD,EAAqBjD,EAAc6C,GACnE,MAAOG,GAAcC,EAAML,EAAgB5C,EAAM6C,IAOnD,QAAgBM,GAAsBF,EAAYjD,EAAc4B,EAAkBC,EAC5CC,EAAkBC,GACtD,MAAOiB,GAAcC,EACjBtB,EAAoB3B,EAAM4B,EAASC,EAAKC,EAAQC,IAOtD,QAAgBqB,GAAmBH,EAAYjD,EAAcC,EAAOC,EAClEE,GACA,WAFF,KAAAH,IAA6DA,EAA7D,OAAA,KAAAC,IAAoEA,EAApE,OACA,KAAAE,IAAEA,EAAQL,EAAiBC,EAAMC,EAAGC,IAC3B8C,EAAcC,EAAM7C,GAO7B,QAAgBiD,GAAmBJ,EAAYjD,EAAcC,EAAOC,GAClE,WADF,KAAAD,IAA6DA,EAA7D,OAAA,KAAAC,IAAoEA,EAApE,GACS8C,EAAcC,EAAMhC,EAAiBjB,EAAMC,EAAGC,IC/CvD,QAASoD,GAAmBC,EAAsBnD,GAClD,GAAMoD,IAAa,EACXC,EAAO,WAAS,MAAAD,IAAa,EACnCD,GAAQG,iBAAiBtD,EAAOqD,GAChCF,EAAQnD,KACRmD,EAAQI,oBAAoBvD,EAAOqD,GAC9BD,GACHN,EAAkBK,EAASnD,GAU/B,QAAgBwD,GAAkBL,GAChCA,EAAQM,MAAK,WAAS,MAAAX,GAAkBK,EAAS,UACjDA,EAAQO,KAAI,WAAS,MAAAZ,GAAkBK,EAAS,SAIlD,QAAgBQ,GAAaR,GAC3BD,EAAmBC,EAAS,SAI9B,QAAgBS,GAAYT,GAC1BD,EAAmBC,EAAS,QCvB9B,QAAgBU,GAAYV,GAC1B,MAA0C,UAAnCA,EAAQW,SAASC,eACe,aAAnCZ,EAAQW,SAASC,cAwBvB,QAAgBC,GAAcb,GAA9B,IAAoD,GAApDc,MAAAC,EAAA,EAAoDA,EAApDtD,UAAAuD,OAAoDD,IAAAD,EAApDC,EAAA,GAAAtD,UAAAsD,EACA,IACMvC,GACAyC,EAFEC,EAAQJ,EAAiB,EAGV,iBAAVI,QAAwCC,KAAlBD,EAAM7C,aAAuC8C,KAAdD,EAAM5C,KACpEE,EAAY0C,EACZD,EAAOH,EAAiBM,MAAM,KAE9B5C,KACAyC,EAAOH,EAEX,IAAQO,GAA2CJ,EAC5CK,IAAG,SAACC,GAAK,MAAa,gBAANA,GACbA,EAAEC,MAAM,IAAIF,IAAG,SAACG,GAAK,OAAEpD,QAASoD,EAAEC,cAAcC,WAAW,GAAIrD,IAAKmD,MAAQF,KAC/EK,OAAM,SAAEC,EAAKN,GAAM,MAAAM,GAAIC,OAAOP,OAEnCf,GAAaR,EACb,KAAkB,GAApB+B,GAAA,EAAoBC,EAApBX,EAAoBU,EAApBC,EAAAhB,OAAoBe,IAAM,CAAnB,GAAMzD,GAAb0D,EAAAD,EACInC,GAAsBI,EAAS,UAAW1B,EAAID,QAASC,EAAIA,IAAK0B,EAASxB,GACzEoB,EAAsBI,EAAS,WAAY1B,EAAID,QAASC,EAAIA,IAAK0B,EAASxB,GACtEkC,EAAYV,IAAY1B,EAAIA,KAA0B,IAAnBA,EAAIA,IAAI0C,SAC7ChB,EAAQ/B,OAASK,EAAIA,IACrBqB,EAAkBK,EAAS,UAE7BJ,EAAsBI,EAAS,QAAS1B,EAAID,QAASC,EAAIA,IAAK0B,EAASxB,IAQ3E,QAAgByD,GAAajC,GAC3BQ,EAAY,GACZR,EAAQ/B,MAAQ,GAChB0B,EAAkBK,EAAS"}
|
package/bundles/cdk.umd.js
CHANGED
package/bundles/cdk.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdk.umd.js","sources":["../../src/cdk/version.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\nimport {Version} from '@angular/core';\n\n/** Current version of the Angular Component Development Kit. */\nexport const VERSION = new Version('8.2.
|
|
1
|
+
{"version":3,"file":"cdk.umd.js","sources":["../../src/cdk/version.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\nimport {Version} from '@angular/core';\n\n/** Current version of the Angular Component Development Kit. */\nexport const VERSION = new Version('8.2.3');\n"],"names":["Version"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAWA,AAAA,IAAa,OAAO,GAAG,IAAIA,YAAO,CAAC,mBAAmB,CAAC;;;;;;;;;;;;"}
|
package/bundles/cdk.umd.min.js
CHANGED
|
@@ -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,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core")):"function"==typeof define&&define.amd?define("@angular/cdk",["exports","@angular/core"],n):n((e.ng=e.ng||{},e.ng.cdk={}),e.ng.core)}(this,function(e,n){"use strict";var o=new n.Version("8.2.
|
|
8
|
+
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core")):"function"==typeof define&&define.amd?define("@angular/cdk",["exports","@angular/core"],n):n((e.ng=e.ng||{},e.ng.cdk={}),e.ng.core)}(this,function(e,n){"use strict";var o=new n.Version("8.2.3");e.VERSION=o,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
9
9
|
//# sourceMappingURL=cdk.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdk.umd.min.js","sources":["../../src/cdk/version.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\nimport {Version} from '@angular/core';\n\n/** Current version of the Angular Component Development Kit. */\nexport const VERSION = new Version('8.2.
|
|
1
|
+
{"version":3,"file":"cdk.umd.min.js","sources":["../../src/cdk/version.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\nimport {Version} from '@angular/core';\n\n/** Current version of the Angular Component Development Kit. */\nexport const VERSION = new Version('8.2.3');\n"],"names":["VERSION","Version"],"mappings":";;;;;;;4QAWA,IAAaA,GAAU,GAAIC,GAAAA,QAAQ"}
|
package/esm2015/a11y.js
CHANGED
|
@@ -1957,7 +1957,10 @@ class FocusMonitor {
|
|
|
1957
1957
|
if (this._touchTimeoutId != null) {
|
|
1958
1958
|
clearTimeout(this._touchTimeoutId);
|
|
1959
1959
|
}
|
|
1960
|
-
this
|
|
1960
|
+
// Since this listener is bound on the `document` level, any events coming from the shadow DOM
|
|
1961
|
+
// will have their `target` set to the shadow root. If available, use `composedPath` to
|
|
1962
|
+
// figure out the event target.
|
|
1963
|
+
this._lastTouchTarget = event.composedPath ? event.composedPath()[0] : event.target;
|
|
1961
1964
|
this._touchTimeoutId = setTimeout((/**
|
|
1962
1965
|
* @return {?}
|
|
1963
1966
|
*/
|