diff --git a/src/lib/core/bidi/directionality.ts b/src/lib/core/bidi/directionality.ts index 5ec89de17a1..c0c4be344e9 100644 --- a/src/lib/core/bidi/directionality.ts +++ b/src/lib/core/bidi/directionality.ts @@ -41,13 +41,14 @@ export class Directionality { change = new EventEmitter(); constructor(@Optional() @Inject(DIR_DOCUMENT) _document?: any) { - if (typeof _document === 'object' && !!_document) { + if (_document) { // TODO: handle 'auto' value - // We still need to account for dir="auto". // It looks like HTMLElemenet.dir is also "auto" when that's set to the attribute, // but getComputedStyle return either "ltr" or "rtl". avoiding getComputedStyle for now - // though, we're already calling it for the theming check. - this.value = (_document.body.dir || _document.documentElement.dir || 'ltr') as Direction; + const bodyDir = _document.body ? _document.body.dir : null; + const htmlDir = _document.documentElement ? _document.documentElement.dir : null; + this.value = (bodyDir || htmlDir || 'ltr') as Direction; } } }