mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-20 12:29:55 +08:00

* fix(): add a page with class ion-page back to ionrouteroutlet - fixes #19146 * wip * fix(react): attributes show up in dom * chore(): adding ion-page to core wip * wip * fix destroy method * wrap dom writes in raf * Add comments * fix(react): IonPage work * chore(): ionpage rc3 changelog text * fix(): syncing ion-page in a new way to get rid of timeout loop * chore(): ViewStacks refactor out of router * fix(): remove unused method in router * wip - before setActiveView rework * fix(): react router ion page work * chore(): cleanup and dev release * fix(): remove need to name tabs * chore(): adding dev mode helpers * fix(): adding className prop to back button fixes #19251 * fix(): routerDirection changes * chore(): rc2 release * fix(): fix react version in package * chores(): build kickoff
26 lines
1.1 KiB
TypeScript
26 lines
1.1 KiB
TypeScript
import React, { ReactNode } from 'react';
|
|
import { NavDirection } from '@ionic/core';
|
|
import { ViewStacks } from './ViewStacks';
|
|
|
|
export interface RouteManagerContextState {
|
|
syncView: (page: HTMLElement, viewId: string) => void;
|
|
hideView: (viewId: string) => void;
|
|
viewStacks: ViewStacks;
|
|
setupIonRouter: (id: string, children: ReactNode, routerOutlet: HTMLIonRouterOutletElement) => Promise<void>;
|
|
removeViewStack: (stack: string) => void;
|
|
transitionView: (enteringEl: HTMLElement, leavingEl: HTMLElement, ionRouterOuter: HTMLIonRouterOutletElement, direction: NavDirection) => void;
|
|
}
|
|
|
|
export const RouteManagerContext = /*@__PURE__*/React.createContext<RouteManagerContextState>({
|
|
viewStacks: new ViewStacks(),
|
|
syncView: () => { navContextNotFoundError(); },
|
|
hideView: () => { navContextNotFoundError(); },
|
|
setupIonRouter: () => { return Promise.reject(navContextNotFoundError()) },
|
|
removeViewStack: () => { navContextNotFoundError(); },
|
|
transitionView: () => { navContextNotFoundError(); }
|
|
});
|
|
|
|
function navContextNotFoundError() {
|
|
console.error('IonReactRouter not found, did you add it to the app?')
|
|
}
|