diff --git a/src/cdk/a11y/focus-trap.ts b/src/cdk/a11y/focus-trap.ts index 4bcb4bec0548..c61c27e52c0b 100644 --- a/src/cdk/a11y/focus-trap.ts +++ b/src/cdk/a11y/focus-trap.ts @@ -21,6 +21,12 @@ import {take} from 'rxjs/operators/take'; import {InteractivityChecker} from './interactivity-checker'; import {DOCUMENT} from '@angular/common'; +/** + * Node type of element nodes. Used instead of Node.ELEMENT_NODE + * which is unsupported in Universal. + * @docs-private +*/ +const ELEMENT_NODE_TYPE = 1; /** * Class that allows for trapping focus within a DOM element. @@ -223,7 +229,7 @@ export class FocusTrap { let children = root.children || root.childNodes; for (let i = 0; i < children.length; i++) { - let tabbableChild = children[i].nodeType === Node.ELEMENT_NODE ? + let tabbableChild = children[i].nodeType === ELEMENT_NODE_TYPE ? this._getFirstTabbableElement(children[i] as HTMLElement) : null; @@ -245,7 +251,7 @@ export class FocusTrap { let children = root.children || root.childNodes; for (let i = children.length - 1; i >= 0; i--) { - let tabbableChild = children[i].nodeType === Node.ELEMENT_NODE ? + let tabbableChild = children[i].nodeType === ELEMENT_NODE_TYPE ? this._getLastTabbableElement(children[i] as HTMLElement) : null; diff --git a/src/lib/icon/icon-registry.ts b/src/lib/icon/icon-registry.ts index 828ab35e18d3..0975c0cbfd00 100644 --- a/src/lib/icon/icon-registry.ts +++ b/src/lib/icon/icon-registry.ts @@ -421,7 +421,8 @@ export class MatIconRegistry { let svg = this._svgElementFromString(''); for (let i = 0; i < element.childNodes.length; i++) { - if (element.childNodes[i].nodeType === Node.ELEMENT_NODE) { + // Note: 1 corresponds to `Node.ELEMENT_NODE` which we can't use in Universal. + if (element.childNodes[i].nodeType === 1) { svg.appendChild(element.childNodes[i].cloneNode(true)); } } diff --git a/src/universal-app/kitchen-sink/kitchen-sink.html b/src/universal-app/kitchen-sink/kitchen-sink.html index daf0d8b89f1b..486019098e44 100644 --- a/src/universal-app/kitchen-sink/kitchen-sink.html +++ b/src/universal-app/kitchen-sink/kitchen-sink.html @@ -177,7 +177,10 @@

Select

Sidenav

- On the side + + On the side + + Main content