UNPKG

@zoff-tech/zt-bottom-drawer

Version:
99 lines (95 loc) 3.6 kB
import { r as registerInstance, h, H as Host, e as getElement } from './index-8f8312e9.js'; import { isPlatform } from '@utils/platform'; import { g as getIonMode, c as config } from './ionic-global-8c2131e9.js'; const appCss = "html.plt-mobile ion-app{user-select:none}html.plt-mobile ion-app [contenteditable]{user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}"; const App = class { constructor(hostRef) { registerInstance(this, hostRef); } componentDidLoad() { { rIC(async () => { const isHybrid = isPlatform(window, 'hybrid'); if (!config.getBoolean('_testing')) { import('./index-0ab2c00b.js').then((module) => module.startTapClick(config)); } if (config.getBoolean('statusTap', isHybrid)) { import('./status-tap-bd29d3a0.js').then((module) => module.startStatusTap()); } if (config.getBoolean('inputShims', needInputShims())) { /** * needInputShims() ensures that only iOS and Android * platforms proceed into this block. */ const platform = isPlatform(window, 'ios') ? 'ios' : 'android'; import('./input-shims-efcfcff9.js').then((module) => module.startInputShims(config, platform)); } const hardwareBackButtonModule = await import('./hardware-back-button-fa04d6e9.js'); if (config.getBoolean('hardwareBackButton', isHybrid)) { hardwareBackButtonModule.startHardwareBackButton(); } else { hardwareBackButtonModule.blockHardwareBackButton(); } if (typeof window !== 'undefined') { import('./keyboard-e76ab3f7.js').then((module) => module.startKeyboardAssist(window)); } import('./focus-visible-d6fbccc2.js').then((module) => (this.focusVisible = module.startFocusVisible())); }); } } /** * @internal * Used to set focus on an element that uses `ion-focusable`. * Do not use this if focusing the element as a result of a keyboard * event as the focus utility should handle this for us. This method * should be used when we want to programmatically focus an element as * a result of another user action. (Ex: We focus the first element * inside of a popover when the user presents it, but the popover is not always * presented as a result of keyboard action.) */ async setFocus(elements) { if (this.focusVisible) { this.focusVisible.setFocus(elements); } } render() { const mode = getIonMode(this); return (h(Host, { class: { [mode]: true, 'ion-page': true, 'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'), } })); } get el() { return getElement(this); } }; const needInputShims = () => { /** * iOS always needs input shims */ const needsShimsIOS = isPlatform(window, 'ios') && isPlatform(window, 'mobile'); if (needsShimsIOS) { return true; } /** * Android only needs input shims when running * in the browser and only if the browser is using the * new Chrome 108+ resize behavior: https://developer.chrome.com/blog/viewport-resize-behavior/ */ const isAndroidMobileWeb = isPlatform(window, 'android') && isPlatform(window, 'mobileweb'); if (isAndroidMobileWeb) { return true; } return false; }; const rIC = (callback) => { if ('requestIdleCallback' in window) { window.requestIdleCallback(callback); } else { setTimeout(callback, 32); } }; App.style = appCss; export { App as ion_app }; //# sourceMappingURL=ion-app.entry.js.map