diff --git a/packages/core/src/components.d.ts b/packages/core/src/components.d.ts index 33517610ba..2a7a4ea9ac 100644 --- a/packages/core/src/components.d.ts +++ b/packages/core/src/components.d.ts @@ -1818,36 +1818,6 @@ declare global { } -import { - StencilNavDelegate as StencilIonNavDelegate -} from './components/nav-controller/stencil-nav-delegate'; - -declare global { - interface HTMLStencilIonNavDelegateElement extends StencilIonNavDelegate, HTMLElement { - } - var HTMLStencilIonNavDelegateElement: { - prototype: HTMLStencilIonNavDelegateElement; - new (): HTMLStencilIonNavDelegateElement; - }; - interface HTMLElementTagNameMap { - "stencil-ion-nav-delegate": HTMLStencilIonNavDelegateElement; - } - interface ElementTagNameMap { - "stencil-ion-nav-delegate": HTMLStencilIonNavDelegateElement; - } - namespace JSX { - interface IntrinsicElements { - "stencil-ion-nav-delegate": JSXElements.StencilIonNavDelegateAttributes; - } - } - namespace JSXElements { - export interface StencilIonNavDelegateAttributes extends HTMLAttributes { - - } - } -} - - import { Nav as IonNav } from './components/nav/nav'; diff --git a/packages/core/src/components/nav-controller/stencil-nav-delegate.tsx b/packages/core/src/components/nav-controller/dom-framework-delegate.tsx similarity index 76% rename from packages/core/src/components/nav-controller/stencil-nav-delegate.tsx rename to packages/core/src/components/nav-controller/dom-framework-delegate.tsx index 438f960cba..9473cc2d82 100644 --- a/packages/core/src/components/nav-controller/stencil-nav-delegate.tsx +++ b/packages/core/src/components/nav-controller/dom-framework-delegate.tsx @@ -1,12 +1,6 @@ -import { Component, Method } from '@stencil/core'; import { FrameworkDelegate, Nav, ViewController } from '../../index'; -@Component({ - tag: 'stencil-ion-nav-delegate' -}) -export class StencilNavDelegate implements FrameworkDelegate { - - @Method() +export class DomFrameworkDelegate implements FrameworkDelegate { attachViewToDom(nav: Nav, enteringView: ViewController): Promise { return new Promise((resolve) => { const usersElement = document.createElement(enteringView.component) as HTMLElement; @@ -17,7 +11,6 @@ export class StencilNavDelegate implements FrameworkDelegate { }); } - @Method() removeViewFromDom(nav: Nav, leavingView: ViewController): Promise { nav.element.removeChild(leavingView.element); return Promise.resolve(); diff --git a/packages/core/src/components/nav-controller/nav-controller.tsx b/packages/core/src/components/nav-controller/nav-controller.tsx index 3e3bdb8e8a..2ee4b4a2ea 100644 --- a/packages/core/src/components/nav-controller/nav-controller.tsx +++ b/packages/core/src/components/nav-controller/nav-controller.tsx @@ -2,7 +2,7 @@ import { Component, Element, Method, Prop } from '@stencil/core'; import { Animation, AnimationController, ComponentDataPair, FrameworkDelegate, Nav, NavOptions, ViewController } from '../../index'; -import { isReady } from '../../utils/helpers'; +import { DomFrameworkDelegate } from './dom-framework-delegate'; import { insert as insertImpl, @@ -115,13 +115,10 @@ export function hydrateDelegate(navController: NavController): Promise { - defaultDelegate = element as any as FrameworkDelegate; - return defaultDelegate; - }); + + // no delegate is set, so fall back to using the DomFrameworkDelegate + defaultDelegate = new DomFrameworkDelegate(); + return Promise.resolve(defaultDelegate); } export function hydrateAnimationController(animationController: AnimationController): Promise { diff --git a/packages/core/stencil.config.js b/packages/core/stencil.config.js index 524fa46a96..958a8c2042 100644 --- a/packages/core/stencil.config.js +++ b/packages/core/stencil.config.js @@ -37,7 +37,7 @@ exports.config = { { components: ['ion-range', 'ion-range-knob']}, { components: ['ion-tabs', 'ion-tab', 'ion-tabbar', 'ion-tab-button', 'ion-tab-highlight'] }, { components: ['ion-toggle'] }, - { components: ['ion-nav', 'ion-nav-controller', 'stencil-ion-nav-delegate'] }, + { components: ['ion-nav', 'ion-nav-controller'] }, { components: ['ion-toast', 'ion-toast-controller'] }, ], collections: [