feat(core): add check for standalone mode (#15001)

* feat(core): add check for standalone mode

* feat(): add check for isStandalone

* feat(core): add check for standalone mode
This commit is contained in:
Mike Hartington
2018-08-06 15:28:38 -04:00
committed by Manu MA
parent 60f5731339
commit 0b4b9fe40c
2 changed files with 8 additions and 2 deletions

View File

@ -1,7 +1,7 @@
import { Component, Element, Prop, QueueApi } from '@stencil/core'; import { Component, Element, Prop, QueueApi } from '@stencil/core';
import { Config, Mode } from '../../interface'; import { Config, Mode } from '../../interface';
import { isDevice, isHybrid, needInputShims } from '../../utils/platform'; import { isDevice, isHybrid, isStandaloneMode, needInputShims } from '../../utils/platform';
import { createThemedClasses } from '../../utils/theme'; import { createThemedClasses } from '../../utils/theme';
@Component({ @Component({
@ -35,7 +35,8 @@ export class App {
hostData() { hostData() {
const hybrid = isHybrid(this.win); const hybrid = isHybrid(this.win);
const statusbarPadding = this.config.get('statusbarPadding', hybrid); const isStandalone = isStandaloneMode(this.win);
const statusbarPadding = this.config.get('statusbarPadding', hybrid || isStandalone);
return { return {
class: { class: {
@ -43,6 +44,7 @@ export class App {
'is-device': this.isDevice, 'is-device': this.isDevice,
'is-hydrid': hybrid, 'is-hydrid': hybrid,
'is-standalone': isStandalone,
'statusbar-padding': statusbarPadding 'statusbar-padding': statusbarPadding
} }
}; };

View File

@ -57,6 +57,10 @@ export function isElectron(win: Window): boolean {
return testUserAgent(win, /electron/); return testUserAgent(win, /electron/);
} }
export function isStandaloneMode(win: Window): boolean {
return win.matchMedia('(display-mode: standalone)').matches;
}
export function needInputShims(win: Window) { export function needInputShims(win: Window) {
return isIOS(win) && isDevice(win); return isIOS(win) && isDevice(win);
} }