@ionic/react 7.5.3-dev.11698858201.14165f23 → 7.5.3-dev.11699994454.1cbf1283

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/dist/index.js +2443 -8
  2. package/dist/index.js.map +1 -7
  3. package/dist/types/components/CreateAnimation.d.ts +71 -0
  4. package/dist/types/components/IonActionSheet.d.ts +3 -0
  5. package/dist/types/components/IonAlert.d.ts +3 -0
  6. package/dist/types/components/IonApp.d.ts +41 -0
  7. package/dist/types/components/IonIcon.d.ts +16 -0
  8. package/dist/types/components/IonLoading.d.ts +3 -0
  9. package/dist/types/components/IonModal.d.ts +3 -0
  10. package/dist/types/components/IonOverlayManager.d.ts +15 -0
  11. package/dist/types/components/IonPage.d.ts +3 -0
  12. package/dist/types/components/IonPicker.d.ts +3 -0
  13. package/dist/types/components/IonPopover.d.ts +3 -0
  14. package/dist/types/components/IonRedirect.d.ts +16 -0
  15. package/dist/types/components/IonRoute.d.ts +17 -0
  16. package/dist/types/components/IonRouterContext.d.ts +42 -0
  17. package/dist/types/components/IonRouterOutlet.d.ts +8 -0
  18. package/dist/types/components/IonToast.d.ts +3 -0
  19. package/dist/types/components/IonicReactProps.d.ts +6 -0
  20. package/dist/types/components/__tests__/utils.spec.d.ts +1 -0
  21. package/dist/types/components/createControllerComponent.d.ts +19 -0
  22. package/dist/types/components/createInlineOverlayComponent.d.ts +2 -0
  23. package/dist/types/components/createOverlayComponent.d.ts +20 -0
  24. package/dist/types/components/createRoutingComponent.d.ts +2 -0
  25. package/dist/types/components/hrefprops.d.ts +9 -0
  26. package/dist/types/components/index.d.ts +35 -0
  27. package/dist/types/components/inner-proxies.d.ts +14 -0
  28. package/dist/types/components/navigation/IonBackButton.d.ts +68 -0
  29. package/dist/types/components/navigation/IonNav.d.ts +5 -0
  30. package/dist/types/components/navigation/IonTabBar.d.ts +15 -0
  31. package/dist/types/components/navigation/IonTabButton.d.ts +40 -0
  32. package/dist/types/components/navigation/IonTabs.d.ts +49 -0
  33. package/dist/types/components/navigation/IonTabsContext.d.ts +6 -0
  34. package/dist/types/components/proxies.d.ts +66 -0
  35. package/dist/types/components/react-component-lib/createComponent.d.ts +10 -0
  36. package/dist/types/components/react-component-lib/createOverlayComponent.d.ts +21 -0
  37. package/dist/types/components/react-component-lib/index.d.ts +2 -0
  38. package/dist/types/components/react-component-lib/interfaces.d.ts +29 -0
  39. package/dist/types/components/react-component-lib/utils/attachProps.d.ts +16 -0
  40. package/dist/types/components/react-component-lib/utils/case.d.ts +2 -0
  41. package/dist/types/components/react-component-lib/utils/dev.d.ts +2 -0
  42. package/dist/types/components/react-component-lib/utils/index.d.ts +10 -0
  43. package/dist/types/components/routing-proxies.d.ts +44 -0
  44. package/dist/types/components/utils/detachProps.d.ts +8 -0
  45. package/dist/types/components/utils/index.d.ts +8 -0
  46. package/dist/types/components/utils/ionRenderToString.d.ts +2 -0
  47. package/dist/types/contexts/IonContext.d.ts +7 -0
  48. package/dist/types/contexts/IonLifeCycleContext.d.ts +72 -0
  49. package/dist/types/contexts/NavContext.d.ts +17 -0
  50. package/dist/types/framework-delegate.d.ts +2 -0
  51. package/dist/types/hooks/HookOverlayOptions.d.ts +7 -0
  52. package/dist/types/hooks/__tests__/hooks.spec.d.ts +0 -0
  53. package/dist/types/hooks/useController.d.ts +12 -0
  54. package/dist/types/hooks/useIonActionSheet.d.ts +26 -0
  55. package/dist/types/hooks/useIonAlert.d.ts +26 -0
  56. package/dist/types/hooks/useIonLoading.d.ts +27 -0
  57. package/dist/types/hooks/useIonModal.d.ts +17 -0
  58. package/dist/types/hooks/useIonPicker.d.ts +26 -0
  59. package/dist/types/hooks/useIonPopover.d.ts +17 -0
  60. package/dist/types/hooks/useIonToast.d.ts +26 -0
  61. package/dist/types/hooks/useOverlay.d.ts +13 -0
  62. package/dist/types/index.d.ts +7 -0
  63. package/dist/types/lifecycle/IonLifeCycleHOC.d.ts +31 -0
  64. package/dist/types/lifecycle/hooks.d.ts +5 -0
  65. package/dist/types/lifecycle/index.d.ts +2 -0
  66. package/dist/types/models/ReactComponentOrElement.d.ts +2 -0
  67. package/dist/types/models/RouteAction.d.ts +1 -0
  68. package/dist/types/models/RouteInfo.d.ts +19 -0
  69. package/dist/types/models/RouterDirection.d.ts +1 -0
  70. package/dist/types/models/RouterOptions.d.ts +10 -0
  71. package/dist/types/models/index.d.ts +5 -0
  72. package/dist/types/routing/LocationHistory.d.ts +20 -0
  73. package/dist/types/routing/NavManager.d.ts +38 -0
  74. package/dist/types/routing/OutletPageManager.d.ts +26 -0
  75. package/dist/types/routing/PageManager.d.ts +25 -0
  76. package/dist/types/routing/RouteManagerContext.d.ts +16 -0
  77. package/dist/types/routing/StackContext.d.ts +7 -0
  78. package/dist/types/routing/ViewItem.d.ts +12 -0
  79. package/dist/types/routing/ViewLifeCycleManager.d.ts +42 -0
  80. package/dist/types/routing/ViewStacks.d.ts +19 -0
  81. package/dist/types/routing/__tests__/LocationHistory.spec.d.ts +1 -0
  82. package/dist/types/routing/index.d.ts +7 -0
  83. package/dist/types/utils/HTMLElementSSR.d.ts +4 -0
  84. package/dist/types/utils/generateId.d.ts +1 -0
  85. package/package.json +12 -5
  86. package/dist/components/CreateAnimation.js +0 -107
  87. package/dist/components/CreateAnimation.js.map +0 -7
  88. package/dist/components/IonActionSheet.js +0 -8
  89. package/dist/components/IonActionSheet.js.map +0 -7
  90. package/dist/components/IonAlert.js +0 -8
  91. package/dist/components/IonAlert.js.map +0 -7
  92. package/dist/components/IonApp.js +0 -42
  93. package/dist/components/IonApp.js.map +0 -7
  94. package/dist/components/IonIcon.js +0 -39
  95. package/dist/components/IonIcon.js.map +0 -7
  96. package/dist/components/IonLoading.js +0 -8
  97. package/dist/components/IonLoading.js.map +0 -7
  98. package/dist/components/IonModal.js +0 -9
  99. package/dist/components/IonModal.js.map +0 -7
  100. package/dist/components/IonOverlayManager.js +0 -29
  101. package/dist/components/IonOverlayManager.js.map +0 -7
  102. package/dist/components/IonPage.js +0 -31
  103. package/dist/components/IonPage.js.map +0 -7
  104. package/dist/components/IonPicker.js +0 -8
  105. package/dist/components/IonPicker.js.map +0 -7
  106. package/dist/components/IonPopover.js +0 -8
  107. package/dist/components/IonPopover.js.map +0 -7
  108. package/dist/components/IonRedirect.js +0 -19
  109. package/dist/components/IonRedirect.js.map +0 -7
  110. package/dist/components/IonRoute.js +0 -17
  111. package/dist/components/IonRoute.js.map +0 -7
  112. package/dist/components/IonRouterContext.js +0 -32
  113. package/dist/components/IonRouterContext.js.map +0 -7
  114. package/dist/components/IonRouterOutlet.js +0 -24
  115. package/dist/components/IonRouterOutlet.js.map +0 -7
  116. package/dist/components/IonToast.js +0 -8
  117. package/dist/components/IonToast.js.map +0 -7
  118. package/dist/components/IonicReactProps.js +0 -2
  119. package/dist/components/IonicReactProps.js.map +0 -7
  120. package/dist/components/__tests__/utils.spec.js +0 -50
  121. package/dist/components/__tests__/utils.spec.js.map +0 -7
  122. package/dist/components/createControllerComponent.js +0 -80
  123. package/dist/components/createControllerComponent.js.map +0 -7
  124. package/dist/components/createInlineOverlayComponent.js +0 -114
  125. package/dist/components/createInlineOverlayComponent.js.map +0 -7
  126. package/dist/components/createOverlayComponent.js +0 -88
  127. package/dist/components/createOverlayComponent.js.map +0 -7
  128. package/dist/components/createRoutingComponent.js +0 -79
  129. package/dist/components/createRoutingComponent.js.map +0 -7
  130. package/dist/components/hrefprops.js +0 -2
  131. package/dist/components/hrefprops.js.map +0 -7
  132. package/dist/components/index.js +0 -126
  133. package/dist/components/index.js.map +0 -7
  134. package/dist/components/inner-proxies.js +0 -30
  135. package/dist/components/inner-proxies.js.map +0 -7
  136. package/dist/components/navigation/IonBackButton.js +0 -31
  137. package/dist/components/navigation/IonBackButton.js.map +0 -7
  138. package/dist/components/navigation/IonNav.js +0 -21
  139. package/dist/components/navigation/IonNav.js.map +0 -7
  140. package/dist/components/navigation/IonTabBar.js +0 -173
  141. package/dist/components/navigation/IonTabBar.js.map +0 -7
  142. package/dist/components/navigation/IonTabButton.js +0 -30
  143. package/dist/components/navigation/IonTabButton.js.map +0 -7
  144. package/dist/components/navigation/IonTabs.js +0 -103
  145. package/dist/components/navigation/IonTabs.js.map +0 -7
  146. package/dist/components/navigation/IonTabsContext.js +0 -7
  147. package/dist/components/navigation/IonTabsContext.js.map +0 -7
  148. package/dist/components/proxies.js +0 -131
  149. package/dist/components/proxies.js.map +0 -7
  150. package/dist/components/react-component-lib/createComponent.js +0 -58
  151. package/dist/components/react-component-lib/createComponent.js.map +0 -7
  152. package/dist/components/react-component-lib/createOverlayComponent.js +0 -86
  153. package/dist/components/react-component-lib/createOverlayComponent.js.map +0 -7
  154. package/dist/components/react-component-lib/index.js +0 -4
  155. package/dist/components/react-component-lib/index.js.map +0 -7
  156. package/dist/components/react-component-lib/interfaces.js +0 -2
  157. package/dist/components/react-component-lib/interfaces.js.map +0 -7
  158. package/dist/components/react-component-lib/utils/attachProps.js +0 -92
  159. package/dist/components/react-component-lib/utils/attachProps.js.map +0 -7
  160. package/dist/components/react-component-lib/utils/case.js +0 -4
  161. package/dist/components/react-component-lib/utils/case.js.map +0 -7
  162. package/dist/components/react-component-lib/utils/dev.js +0 -14
  163. package/dist/components/react-component-lib/utils/dev.js.map +0 -7
  164. package/dist/components/react-component-lib/utils/index.js +0 -31
  165. package/dist/components/react-component-lib/utils/index.js.map +0 -7
  166. package/dist/components/routing-proxies.js +0 -29
  167. package/dist/components/routing-proxies.js.map +0 -7
  168. package/dist/components/utils/detachProps.js +0 -24
  169. package/dist/components/utils/detachProps.js.map +0 -7
  170. package/dist/components/utils/index.js +0 -26
  171. package/dist/components/utils/index.js.map +0 -7
  172. package/dist/components/utils/ionRenderToString.js +0 -36
  173. package/dist/components/utils/ionRenderToString.js.map +0 -7
  174. package/dist/contexts/IonContext.js +0 -11
  175. package/dist/contexts/IonContext.js.map +0 -7
  176. package/dist/contexts/IonLifeCycleContext.js +0 -185
  177. package/dist/contexts/IonLifeCycleContext.js.map +0 -7
  178. package/dist/contexts/NavContext.js +0 -36
  179. package/dist/contexts/NavContext.js.map +0 -7
  180. package/dist/framework-delegate.js +0 -30
  181. package/dist/framework-delegate.js.map +0 -7
  182. package/dist/hooks/HookOverlayOptions.js +0 -2
  183. package/dist/hooks/HookOverlayOptions.js.map +0 -7
  184. package/dist/hooks/__tests__/hooks.spec.js +0 -6
  185. package/dist/hooks/__tests__/hooks.spec.js.map +0 -7
  186. package/dist/hooks/useController.js +0 -45
  187. package/dist/hooks/useController.js.map +0 -7
  188. package/dist/hooks/useIonActionSheet.js +0 -27
  189. package/dist/hooks/useIonActionSheet.js.map +0 -7
  190. package/dist/hooks/useIonAlert.js +0 -23
  191. package/dist/hooks/useIonAlert.js.map +0 -7
  192. package/dist/hooks/useIonLoading.js +0 -28
  193. package/dist/hooks/useIonLoading.js.map +0 -7
  194. package/dist/hooks/useIonModal.js +0 -22
  195. package/dist/hooks/useIonModal.js.map +0 -7
  196. package/dist/hooks/useIonPicker.js +0 -27
  197. package/dist/hooks/useIonPicker.js.map +0 -7
  198. package/dist/hooks/useIonPopover.js +0 -22
  199. package/dist/hooks/useIonPopover.js.map +0 -7
  200. package/dist/hooks/useIonToast.js +0 -23
  201. package/dist/hooks/useIonToast.js.map +0 -7
  202. package/dist/hooks/useOverlay.js +0 -67
  203. package/dist/hooks/useOverlay.js.map +0 -7
  204. package/dist/lifecycle/IonLifeCycleHOC.js +0 -41
  205. package/dist/lifecycle/IonLifeCycleHOC.js.map +0 -7
  206. package/dist/lifecycle/hooks.js +0 -52
  207. package/dist/lifecycle/hooks.js.map +0 -7
  208. package/dist/lifecycle/index.js +0 -4
  209. package/dist/lifecycle/index.js.map +0 -7
  210. package/dist/models/ReactComponentOrElement.js +0 -2
  211. package/dist/models/ReactComponentOrElement.js.map +0 -7
  212. package/dist/models/RouteAction.js +0 -2
  213. package/dist/models/RouteAction.js.map +0 -7
  214. package/dist/models/RouteInfo.js +0 -2
  215. package/dist/models/RouteInfo.js.map +0 -7
  216. package/dist/models/RouterDirection.js +0 -2
  217. package/dist/models/RouterDirection.js.map +0 -7
  218. package/dist/models/RouterOptions.js +0 -2
  219. package/dist/models/RouterOptions.js.map +0 -7
  220. package/dist/models/index.js +0 -7
  221. package/dist/models/index.js.map +0 -7
  222. package/dist/routing/LocationHistory.js +0 -140
  223. package/dist/routing/LocationHistory.js.map +0 -7
  224. package/dist/routing/NavManager.js +0 -76
  225. package/dist/routing/NavManager.js.map +0 -7
  226. package/dist/routing/OutletPageManager.js +0 -69
  227. package/dist/routing/OutletPageManager.js.map +0 -7
  228. package/dist/routing/PageManager.js +0 -60
  229. package/dist/routing/PageManager.js.map +0 -7
  230. package/dist/routing/RouteManagerContext.js +0 -15
  231. package/dist/routing/RouteManagerContext.js.map +0 -7
  232. package/dist/routing/StackContext.js +0 -7
  233. package/dist/routing/StackContext.js.map +0 -7
  234. package/dist/routing/ViewItem.js +0 -2
  235. package/dist/routing/ViewItem.js.map +0 -7
  236. package/dist/routing/ViewLifeCycleManager.js +0 -36
  237. package/dist/routing/ViewLifeCycleManager.js.map +0 -7
  238. package/dist/routing/ViewStacks.js +0 -49
  239. package/dist/routing/ViewStacks.js.map +0 -7
  240. package/dist/routing/__tests__/LocationHistory.spec.js +0 -185
  241. package/dist/routing/__tests__/LocationHistory.spec.js.map +0 -7
  242. package/dist/routing/index.js +0 -9
  243. package/dist/routing/index.js.map +0 -7
  244. package/dist/utils/HTMLElementSSR.js +0 -4
  245. package/dist/utils/HTMLElementSSR.js.map +0 -7
  246. package/dist/utils/generateId.js +0 -8
  247. package/dist/utils/generateId.js.map +0 -7
@@ -0,0 +1,71 @@
1
+ import type { Animation, AnimationCallbackOptions, AnimationDirection, AnimationFill, AnimationKeyFrames, AnimationLifecycle } from '@ionic/core/components';
2
+ import type { PropsWithChildren } from 'react';
3
+ import React from 'react';
4
+ interface PartialPropertyValue {
5
+ property: string;
6
+ value: any;
7
+ }
8
+ interface PropertyValue {
9
+ property: string;
10
+ fromValue: any;
11
+ toValue: any;
12
+ }
13
+ export interface CreateAnimationProps {
14
+ delay?: number;
15
+ direction?: AnimationDirection;
16
+ duration?: number;
17
+ easing?: string;
18
+ fill?: AnimationFill;
19
+ iterations?: number;
20
+ id?: string;
21
+ afterAddRead?: () => void;
22
+ afterAddWrite?: () => void;
23
+ afterClearStyles?: string[];
24
+ afterStyles?: {
25
+ [property: string]: any;
26
+ };
27
+ afterAddClass?: string | string[];
28
+ afterRemoveClass?: string | string[];
29
+ beforeAddRead?: () => void;
30
+ beforeAddWrite?: () => void;
31
+ beforeClearStyles?: string[];
32
+ beforeStyles?: {
33
+ [property: string]: any;
34
+ };
35
+ beforeAddClass?: string | string[];
36
+ beforeRemoveClass?: string | string[];
37
+ onFinish?: {
38
+ callback: AnimationLifecycle;
39
+ opts?: AnimationCallbackOptions;
40
+ };
41
+ keyframes?: AnimationKeyFrames;
42
+ from?: PartialPropertyValue[] | PartialPropertyValue;
43
+ to?: PartialPropertyValue[] | PartialPropertyValue;
44
+ fromTo?: PropertyValue[] | PropertyValue;
45
+ play?: boolean;
46
+ pause?: boolean;
47
+ stop?: boolean;
48
+ destroy?: boolean;
49
+ progressStart?: {
50
+ forceLinearEasing: boolean;
51
+ step?: number;
52
+ };
53
+ progressStep?: {
54
+ step: number;
55
+ };
56
+ progressEnd?: {
57
+ playTo: 0 | 1 | undefined;
58
+ step: number;
59
+ dur?: number;
60
+ };
61
+ }
62
+ export declare class CreateAnimation extends React.PureComponent<PropsWithChildren<CreateAnimationProps>> {
63
+ nodes: Map<number, HTMLElement>;
64
+ animation: Animation;
65
+ constructor(props: any);
66
+ setupAnimation(props: any): void;
67
+ componentDidMount(): void;
68
+ componentDidUpdate(prevProps: any): void;
69
+ render(): JSX.Element;
70
+ }
71
+ export {};
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { JSX } from '@ionic/core/components';
3
+ export declare const IonActionSheet: import("react").ForwardRefExoticComponent<JSX.IonActionSheet & Omit<import("react").HTMLAttributes<HTMLIonActionSheetElement>, "style"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonActionSheetElement>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { JSX } from '@ionic/core/components';
3
+ export declare const IonAlert: import("react").ForwardRefExoticComponent<JSX.IonAlert & Omit<import("react").HTMLAttributes<HTMLIonAlertElement>, "style"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonAlertElement>>;
@@ -0,0 +1,41 @@
1
+ import type { JSX as LocalJSX } from '@ionic/core/components';
2
+ import React from 'react';
3
+ import type { IonContextInterface } from '../contexts/IonContext';
4
+ import type { ReactComponentOrElement } from '../models';
5
+ import type { IonicReactProps } from './IonicReactProps';
6
+ type Props = LocalJSX.IonApp & IonicReactProps & {
7
+ ref?: React.Ref<HTMLIonAppElement>;
8
+ };
9
+ export declare const IonApp: {
10
+ new (props: Props): {
11
+ addOverlayCallback?: ((id: string, overlay: ReactComponentOrElement, containerElement: HTMLDivElement) => void) | undefined;
12
+ removeOverlayCallback?: ((id: string) => void) | undefined;
13
+ ionContext: IonContextInterface;
14
+ render(): JSX.Element;
15
+ context: any;
16
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Props>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
17
+ forceUpdate(callback?: (() => void) | undefined): void;
18
+ readonly props: Readonly<Props> & Readonly<{
19
+ children?: React.ReactNode;
20
+ }>;
21
+ state: Readonly<{}>;
22
+ refs: {
23
+ [key: string]: React.ReactInstance;
24
+ };
25
+ componentDidMount?(): void;
26
+ shouldComponentUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): boolean;
27
+ componentWillUnmount?(): void;
28
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
29
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Props>, prevState: Readonly<{}>): any;
30
+ componentDidUpdate?(prevProps: Readonly<Props>, prevState: Readonly<{}>, snapshot?: any): void;
31
+ componentWillMount?(): void;
32
+ UNSAFE_componentWillMount?(): void;
33
+ componentWillReceiveProps?(nextProps: Readonly<Props>, nextContext: any): void;
34
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Props>, nextContext: any): void;
35
+ componentWillUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): void;
36
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): void;
37
+ };
38
+ readonly displayName: string;
39
+ contextType?: React.Context<any> | undefined;
40
+ };
41
+ export {};
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import type { IonicReactProps } from './IonicReactProps';
3
+ interface IonIconProps {
4
+ color?: string;
5
+ flipRtl?: boolean;
6
+ icon?: string;
7
+ ios?: string;
8
+ lazy?: boolean;
9
+ md?: string;
10
+ mode?: 'ios' | 'md';
11
+ name?: string;
12
+ size?: string;
13
+ src?: string;
14
+ }
15
+ export declare const IonIcon: React.ForwardRefExoticComponent<IonIconProps & IonicReactProps & Omit<React.HTMLAttributes<HTMLIonIconElement>, "style"> & React.RefAttributes<HTMLIonIconElement>>;
16
+ export {};
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { JSX } from '@ionic/core/components';
3
+ export declare const IonLoading: import("react").ForwardRefExoticComponent<JSX.IonLoading & Omit<import("react").HTMLAttributes<HTMLIonLoadingElement>, "style"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonLoadingElement>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { JSX } from '@ionic/core/components';
3
+ export declare const IonModal: import("react").ForwardRefExoticComponent<JSX.IonModal & Omit<import("react").HTMLAttributes<HTMLIonModalElement>, "style"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonModalElement>>;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { ReactComponentOrElement } from '../models';
3
+ interface IonOverlayManagerProps {
4
+ onAddOverlay: (callback: (id: string, component: ReactComponentOrElement, containerElement: HTMLDivElement) => void) => void;
5
+ onRemoveOverlay: (callback: (id: string) => void) => void;
6
+ }
7
+ /**
8
+ * Manages overlays that are added via the useOverlay hook.
9
+ * This is a standalone component so changes to its children don't cause other descendant
10
+ * components to re-render when overlays are added. However, we need to communicate with the IonContext
11
+ * that is set up in <IonApp />, so we register callbacks so when overlays are added to IonContext,
12
+ * they ultimately added here.
13
+ */
14
+ export declare const IonOverlayManager: React.FC<IonOverlayManagerProps>;
15
+ export {};
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import type { IonicReactProps } from './IonicReactProps';
3
+ export declare const IonPage: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<unknown>, "style"> & IonicReactProps & React.RefAttributes<unknown>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { JSX } from '@ionic/core/components';
3
+ export declare const IonPicker: import("react").ForwardRefExoticComponent<JSX.IonPicker & Omit<import("react").HTMLAttributes<HTMLIonPickerElement>, "style"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonPickerElement>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { JSX } from '@ionic/core/components';
3
+ export declare const IonPopover: import("react").ForwardRefExoticComponent<JSX.IonPopover & Omit<import("react").HTMLAttributes<HTMLIonPopoverElement>, "style"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonPopoverElement>>;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { NavContext } from '../contexts/NavContext';
3
+ export interface IonRedirectProps {
4
+ path?: string;
5
+ exact?: boolean;
6
+ to: string;
7
+ routerOptions?: unknown;
8
+ }
9
+ interface IonRedirectState {
10
+ }
11
+ export declare class IonRedirect extends React.PureComponent<IonRedirectProps, IonRedirectState> {
12
+ context: React.ContextType<typeof NavContext>;
13
+ render(): JSX.Element | null;
14
+ static get contextType(): React.Context<import("../contexts/NavContext").NavContextState>;
15
+ }
16
+ export {};
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { NavContext } from '../contexts/NavContext';
3
+ export interface IonRouteProps {
4
+ path?: string;
5
+ exact?: boolean;
6
+ show?: boolean;
7
+ render: (props?: any) => JSX.Element;
8
+ disableIonPageManagement?: boolean;
9
+ }
10
+ interface IonRouteState {
11
+ }
12
+ export declare class IonRoute extends React.PureComponent<IonRouteProps, IonRouteState> {
13
+ context: React.ContextType<typeof NavContext>;
14
+ render(): JSX.Element | null;
15
+ static get contextType(): React.Context<import("../contexts/NavContext").NavContextState>;
16
+ }
17
+ export {};
@@ -0,0 +1,42 @@
1
+ import type { AnimationBuilder } from '@ionic/core/components';
2
+ import React from 'react';
3
+ import type { RouteAction, RouterDirection, RouterOptions } from '../models';
4
+ import type { RouteInfo } from '../models/RouteInfo';
5
+ export interface IonRouterContextState {
6
+ routeInfo: RouteInfo;
7
+ push: (pathname: string, routerDirection?: RouterDirection, routeAction?: RouteAction, routerOptions?: RouterOptions, animationBuilder?: AnimationBuilder) => void;
8
+ back: (animationBuilder?: AnimationBuilder) => void;
9
+ canGoBack: () => boolean;
10
+ nativeBack: () => void;
11
+ }
12
+ export declare const IonRouterContext: React.Context<IonRouterContextState>;
13
+ /**
14
+ * A hook for more direct control over routing in an Ionic React application. Allows you to pass additional meta-data to the router before the call to the native router.
15
+ */
16
+ export declare function useIonRouter(): UseIonRouterResult;
17
+ export type UseIonRouterResult = {
18
+ /**
19
+ * @deprecated - Use goBack instead
20
+ * @param animationBuilder - Optional - A custom transition animation to use
21
+ */
22
+ back(animationBuilder?: AnimationBuilder): void;
23
+ /**
24
+ * Navigates to a new pathname
25
+ * @param pathname - The path to navigate to
26
+ * @param routerDirection - Optional - The RouterDirection to use for transition purposes, defaults to 'forward'
27
+ * @param routeAction - Optional - The RouteAction to use for history purposes, defaults to 'push'
28
+ * @param routerOptions - Optional - Any additional parameters to pass to the router
29
+ * @param animationBuilder - Optional - A custom transition animation to use
30
+ */
31
+ push(pathname: string, routerDirection?: RouterDirection, routeAction?: RouteAction, routerOptions?: RouterOptions, animationBuilder?: AnimationBuilder): void;
32
+ /**
33
+ * Navigates backwards in history, using the IonRouter to determine history
34
+ * @param animationBuilder - Optional - A custom transition animation to use
35
+ */
36
+ goBack(animationBuilder?: AnimationBuilder): void;
37
+ /**
38
+ * Determines if there are any additional routes in the the Router's history. However, routing is not prevented if the browser's history has more entries. Returns true if more entries exist, false if not.
39
+ */
40
+ canGoBack(): boolean;
41
+ routeInfo: RouteInfo;
42
+ };
@@ -0,0 +1,8 @@
1
+ import type { JSX as LocalJSX } from '@ionic/core/components';
2
+ import React from 'react';
3
+ import type { IonicReactProps } from './IonicReactProps';
4
+ export declare const IonRouterOutlet: React.ForwardRefExoticComponent<Pick<LocalJSX.IonRouterOutlet & {
5
+ basePath?: string | undefined;
6
+ ref?: React.Ref<any> | undefined;
7
+ ionPage?: boolean | undefined;
8
+ } & IonicReactProps & Omit<React.HTMLAttributes<HTMLIonRouterOutletElement>, "style">, "id" | "color" | "translate" | "hidden" | "slot" | "title" | "dir" | "accessKey" | "draggable" | "lang" | "prefix" | "role" | "children" | "contentEditable" | "inputMode" | "tabIndex" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "contextMenu" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | keyof IonicReactProps | keyof LocalJSX.IonRouterOutlet | "basePath" | "ionPage"> & React.RefAttributes<HTMLIonRouterOutletElement>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { JSX } from '@ionic/core/components';
3
+ export declare const IonToast: import("react").ForwardRefExoticComponent<JSX.IonToast & Omit<import("react").HTMLAttributes<HTMLIonToastElement>, "style"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonToastElement>>;
@@ -0,0 +1,6 @@
1
+ export interface IonicReactProps {
2
+ className?: string;
3
+ style?: {
4
+ [key: string]: any;
5
+ };
6
+ }
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom/extend-expect';
@@ -0,0 +1,19 @@
1
+ import type { OverlayEventDetail } from '@ionic/core/components';
2
+ import React from 'react';
3
+ interface OverlayBase extends HTMLElement {
4
+ present: () => Promise<void>;
5
+ dismiss: (data?: any, role?: string | undefined) => Promise<boolean>;
6
+ }
7
+ export interface ReactControllerProps {
8
+ isOpen: boolean;
9
+ onDidDismiss?: (event: CustomEvent<OverlayEventDetail>) => void;
10
+ onDidPresent?: (event: CustomEvent<OverlayEventDetail>) => void;
11
+ onWillDismiss?: (event: CustomEvent<OverlayEventDetail>) => void;
12
+ onWillPresent?: (event: CustomEvent<OverlayEventDetail>) => void;
13
+ }
14
+ export declare const createControllerComponent: <OptionsType extends object, OverlayType extends OverlayBase>(tagName: string, controller: {
15
+ create: (options: OptionsType) => Promise<OverlayType>;
16
+ }, defineCustomElement?: () => void) => React.ForwardRefExoticComponent<React.PropsWithoutRef<OptionsType & ReactControllerProps & {
17
+ forwardedRef?: React.ForwardedRef<OverlayType> | undefined;
18
+ }> & React.RefAttributes<OverlayType>>;
19
+ export {};
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const createInlineOverlayComponent: <PropType, ElementType>(tagName: string, defineCustomElement?: () => void, hasDelegateHost?: boolean) => React.ForwardRefExoticComponent<React.PropsWithoutRef<PropType & Omit<React.HTMLAttributes<ElementType>, "style"> & import("./IonicReactProps").IonicReactProps> & React.RefAttributes<ElementType>>;
@@ -0,0 +1,20 @@
1
+ import type { OverlayEventDetail } from '@ionic/core/components';
2
+ import React from 'react';
3
+ interface OverlayElement extends HTMLElement {
4
+ present: () => Promise<void>;
5
+ dismiss: (data?: any, role?: string | undefined) => Promise<boolean>;
6
+ }
7
+ export interface ReactOverlayProps {
8
+ children?: React.ReactNode;
9
+ isOpen: boolean;
10
+ onDidDismiss?: (event: CustomEvent<OverlayEventDetail>) => void;
11
+ onDidPresent?: (event: CustomEvent<OverlayEventDetail>) => void;
12
+ onWillDismiss?: (event: CustomEvent<OverlayEventDetail>) => void;
13
+ onWillPresent?: (event: CustomEvent<OverlayEventDetail>) => void;
14
+ }
15
+ export declare const createOverlayComponent: <OverlayComponent extends object, OverlayType extends OverlayElement>(tagName: string, controller: {
16
+ create: (options: any) => Promise<OverlayType>;
17
+ }, defineCustomElement?: () => void) => React.ForwardRefExoticComponent<React.PropsWithoutRef<OverlayComponent & ReactOverlayProps & {
18
+ forwardedRef?: React.ForwardedRef<OverlayType> | undefined;
19
+ }> & React.RefAttributes<OverlayType>>;
20
+ export {};
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const createRoutingComponent: <PropType, ElementType>(tagName: string, customElement?: any) => React.ForwardRefExoticComponent<React.PropsWithoutRef<PropType & Omit<React.HTMLAttributes<ElementType>, "style"> & import("./IonicReactProps").IonicReactProps> & React.RefAttributes<ElementType>>;
@@ -0,0 +1,9 @@
1
+ import type { AnimationBuilder } from '@ionic/core/components';
2
+ import type { RouterOptions } from '../models';
3
+ import type { RouterDirection } from '../models/RouterDirection';
4
+ export type HrefProps<T> = Omit<T, 'routerDirection'> & {
5
+ routerLink?: string;
6
+ routerDirection?: RouterDirection;
7
+ routerOptions?: RouterOptions;
8
+ routerAnimation?: AnimationBuilder;
9
+ };
@@ -0,0 +1,35 @@
1
+ import type { IonicConfig } from '@ionic/core/components';
2
+ export { createAnimation, createGesture, iosTransitionAnimation, mdTransitionAnimation, IonicSlides, getTimeGivenProgression, getIonPageElement, openURL, Animation, AnimationBuilder, AnimationCallbackOptions, AnimationDirection, AnimationFill, AnimationKeyFrames, AnimationLifecycle, Gesture, GestureConfig, GestureDetail, NavComponentWithProps, SpinnerTypes, AccordionGroupCustomEvent, AccordionGroupChangeEventDetail, BreadcrumbCustomEvent, BreadcrumbCollapsedClickEventDetail, ActionSheetOptions, ActionSheetButton, AlertOptions, AlertInput, AlertButton, BackButtonEvent, CheckboxCustomEvent, CheckboxChangeEventDetail, DatetimeCustomEvent, DatetimeChangeEventDetail, InfiniteScrollCustomEvent, InputCustomEvent, InputChangeEventDetail, ItemReorderEventDetail, ItemReorderCustomEvent, ItemSlidingCustomEvent, IonicSafeString, LoadingOptions, MenuCustomEvent, ModalOptions, NavCustomEvent, PickerOptions, PickerButton, PickerColumn, PickerColumnOption, PopoverOptions, RadioGroupCustomEvent, RadioGroupChangeEventDetail, RangeCustomEvent, RangeChangeEventDetail, RangeKnobMoveStartEventDetail, RangeKnobMoveEndEventDetail, RefresherCustomEvent, RefresherEventDetail, RouterEventDetail, RouterCustomEvent, ScrollBaseCustomEvent, ScrollBaseDetail, ScrollDetail, ScrollCustomEvent, SearchbarCustomEvent, SearchbarChangeEventDetail, SearchbarInputEventDetail, SegmentChangeEventDetail, SegmentCustomEvent, SegmentValue, SelectChangeEventDetail, SelectCustomEvent, TabsCustomEvent, TextareaChangeEventDetail, TextareaCustomEvent, ToastOptions, ToastButton, ToastLayout, ToggleChangeEventDetail, ToggleCustomEvent, TransitionOptions, } from '@ionic/core/components';
3
+ export * from './proxies';
4
+ export * from './routing-proxies';
5
+ export { IonAlert } from './IonAlert';
6
+ export { IonLoading } from './IonLoading';
7
+ export * from './IonToast';
8
+ export { IonPicker } from './IonPicker';
9
+ export * from './IonActionSheet';
10
+ export { IonModal } from './IonModal';
11
+ export { IonPopover } from './IonPopover';
12
+ export { IonApp } from './IonApp';
13
+ export { IonPage } from './IonPage';
14
+ export { IonNav } from './navigation/IonNav';
15
+ export { IonTabsContext, IonTabsContextState } from './navigation/IonTabsContext';
16
+ export { IonTabs } from './navigation/IonTabs';
17
+ export { IonTabBar } from './navigation/IonTabBar';
18
+ export { IonTabButton } from './navigation/IonTabButton';
19
+ export { IonBackButton } from './navigation/IonBackButton';
20
+ export { IonRouterOutlet } from './IonRouterOutlet';
21
+ export { IonIcon } from './IonIcon';
22
+ export * from './IonRoute';
23
+ export * from './IonRedirect';
24
+ export * from './IonRouterContext';
25
+ export { isPlatform, getPlatforms, getConfig } from './utils';
26
+ export * from './hrefprops';
27
+ export { CreateAnimation } from './CreateAnimation';
28
+ export { useIonActionSheet, UseIonActionSheetResult } from '../hooks/useIonActionSheet';
29
+ export { useIonAlert, UseIonAlertResult } from '../hooks/useIonAlert';
30
+ export { useIonToast, UseIonToastResult } from '../hooks/useIonToast';
31
+ export { useIonModal, UseIonModalResult } from '../hooks/useIonModal';
32
+ export { useIonPopover, UseIonPopoverResult } from '../hooks/useIonPopover';
33
+ export { useIonPicker, UseIonPickerResult } from '../hooks/useIonPicker';
34
+ export { useIonLoading, UseIonLoadingResult } from '../hooks/useIonLoading';
35
+ export declare const setupIonicReact: (config?: IonicConfig) => void;
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import type { JSX } from '@ionic/core/components';
3
+ import type { JSX as IoniconsJSX } from 'ionicons';
4
+ export declare const IonTabButtonInner: import("react").ForwardRefExoticComponent<JSX.IonTabButton & {
5
+ onIonTabButtonClick?: ((e: CustomEvent) => void) | undefined;
6
+ } & Omit<import("react").HTMLAttributes<HTMLIonTabButtonElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonTabButtonElement>>;
7
+ export declare const IonTabBarInner: import("react").ForwardRefExoticComponent<JSX.IonTabBar & Omit<import("react").HTMLAttributes<HTMLIonTabBarElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonTabBarElement>>;
8
+ export declare const IonBackButtonInner: import("react").ForwardRefExoticComponent<Omit<JSX.IonBackButton, "icon"> & Omit<import("react").HTMLAttributes<HTMLIonBackButtonElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonBackButtonElement>>;
9
+ export declare const IonRouterOutletInner: import("react").ForwardRefExoticComponent<JSX.IonRouterOutlet & {
10
+ setRef?: ((val: HTMLIonRouterOutletElement) => void) | undefined;
11
+ forwardedRef?: import("react").ForwardedRef<HTMLIonRouterOutletElement> | undefined;
12
+ } & Omit<import("react").HTMLAttributes<HTMLIonRouterOutletElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonRouterOutletElement>>;
13
+ export declare const IonAppInner: import("react").ForwardRefExoticComponent<JSX.IonApp & Omit<import("react").HTMLAttributes<HTMLIonAppElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonAppElement>>;
14
+ export declare const IonIconInner: import("react").ForwardRefExoticComponent<IoniconsJSX.IonIcon & Omit<import("react").HTMLAttributes<HTMLIonIconElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonIconElement>>;
@@ -0,0 +1,68 @@
1
+ import type { JSX as LocalJSX } from '@ionic/core/components';
2
+ import React from 'react';
3
+ import { NavContext } from '../../contexts/NavContext';
4
+ import type { IonicReactProps } from '../IonicReactProps';
5
+ type Props = Omit<LocalJSX.IonBackButton, 'icon'> & IonicReactProps & {
6
+ icon?: {
7
+ ios: string;
8
+ md: string;
9
+ } | string;
10
+ ref?: React.Ref<HTMLIonBackButtonElement>;
11
+ };
12
+ export declare const IonBackButton: {
13
+ new (props: Props | Readonly<Props>): {
14
+ context: React.ContextType<typeof NavContext>;
15
+ clickButton: (e: React.MouseEvent) => void;
16
+ render(): JSX.Element;
17
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Props>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
18
+ forceUpdate(callback?: (() => void) | undefined): void;
19
+ readonly props: Readonly<Props> & Readonly<{
20
+ children?: React.ReactNode;
21
+ }>;
22
+ state: Readonly<{}>;
23
+ refs: {
24
+ [key: string]: React.ReactInstance;
25
+ };
26
+ componentDidMount?(): void;
27
+ shouldComponentUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): boolean;
28
+ componentWillUnmount?(): void;
29
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
30
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Props>, prevState: Readonly<{}>): any;
31
+ componentDidUpdate?(prevProps: Readonly<Props>, prevState: Readonly<{}>, snapshot?: any): void;
32
+ componentWillMount?(): void;
33
+ UNSAFE_componentWillMount?(): void;
34
+ componentWillReceiveProps?(nextProps: Readonly<Props>, nextContext: any): void;
35
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Props>, nextContext: any): void;
36
+ componentWillUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): void;
37
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): void;
38
+ };
39
+ new (props: Props, context: any): {
40
+ context: React.ContextType<typeof NavContext>;
41
+ clickButton: (e: React.MouseEvent) => void;
42
+ render(): JSX.Element;
43
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Props>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
44
+ forceUpdate(callback?: (() => void) | undefined): void;
45
+ readonly props: Readonly<Props> & Readonly<{
46
+ children?: React.ReactNode;
47
+ }>;
48
+ state: Readonly<{}>;
49
+ refs: {
50
+ [key: string]: React.ReactInstance;
51
+ };
52
+ componentDidMount?(): void;
53
+ shouldComponentUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): boolean;
54
+ componentWillUnmount?(): void;
55
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
56
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Props>, prevState: Readonly<{}>): any;
57
+ componentDidUpdate?(prevProps: Readonly<Props>, prevState: Readonly<{}>, snapshot?: any): void;
58
+ componentWillMount?(): void;
59
+ UNSAFE_componentWillMount?(): void;
60
+ componentWillReceiveProps?(nextProps: Readonly<Props>, nextContext: any): void;
61
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Props>, nextContext: any): void;
62
+ componentWillUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): void;
63
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): void;
64
+ };
65
+ readonly displayName: string;
66
+ readonly contextType: React.Context<import("../../contexts/NavContext").NavContextState>;
67
+ };
68
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { JSX } from '@ionic/core/components';
2
+ import React from 'react';
3
+ export declare const IonNav: React.ForwardRefExoticComponent<JSX.IonNav & {
4
+ forwardedRef?: React.ForwardedRef<HTMLIonNavElement> | undefined;
5
+ } & Omit<React.HTMLAttributes<HTMLIonNavElement>, "style"> & import("../IonicReactProps").IonicReactProps & React.RefAttributes<HTMLIonNavElement>>;
@@ -0,0 +1,15 @@
1
+ import type { JSX as LocalJSX } from '@ionic/core/components';
2
+ import React from 'react';
3
+ import type { IonicReactProps } from '../IonicReactProps';
4
+ export declare const IonTabBar: React.ForwardRefExoticComponent<LocalJSX.IonTabBar & IonicReactProps & {
5
+ onIonTabsDidChange?: ((event: CustomEvent<{
6
+ tab: string;
7
+ }>) => void) | undefined;
8
+ onIonTabsWillChange?: ((event: CustomEvent<{
9
+ tab: string;
10
+ }>) => void) | undefined;
11
+ slot?: "top" | "bottom" | undefined;
12
+ style?: {
13
+ [key: string]: string;
14
+ } | undefined;
15
+ } & Omit<React.HTMLAttributes<HTMLIonTabBarElement>, "style"> & React.RefAttributes<HTMLIonTabBarElement>>;
@@ -0,0 +1,40 @@
1
+ import type { JSX as LocalJSX } from '@ionic/core/components';
2
+ import React from 'react';
3
+ import type { RouterOptions } from '../../models';
4
+ import type { IonicReactProps } from '../IonicReactProps';
5
+ type Props = LocalJSX.IonTabButton & IonicReactProps & {
6
+ routerOptions?: RouterOptions;
7
+ ref?: React.Ref<HTMLIonTabButtonElement>;
8
+ onClick?: (e: CustomEvent) => void;
9
+ };
10
+ export declare const IonTabButton: {
11
+ new (props: Props): {
12
+ handleIonTabButtonClick(): void;
13
+ render(): JSX.Element;
14
+ context: any;
15
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Props>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
16
+ forceUpdate(callback?: (() => void) | undefined): void;
17
+ readonly props: Readonly<Props> & Readonly<{
18
+ children?: React.ReactNode;
19
+ }>;
20
+ state: Readonly<{}>;
21
+ refs: {
22
+ [key: string]: React.ReactInstance;
23
+ };
24
+ componentDidMount?(): void;
25
+ shouldComponentUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): boolean;
26
+ componentWillUnmount?(): void;
27
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
28
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Props>, prevState: Readonly<{}>): any;
29
+ componentDidUpdate?(prevProps: Readonly<Props>, prevState: Readonly<{}>, snapshot?: any): void;
30
+ componentWillMount?(): void;
31
+ UNSAFE_componentWillMount?(): void;
32
+ componentWillReceiveProps?(nextProps: Readonly<Props>, nextContext: any): void;
33
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Props>, nextContext: any): void;
34
+ componentWillUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): void;
35
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): void;
36
+ };
37
+ readonly displayName: string;
38
+ contextType?: React.Context<any> | undefined;
39
+ };
40
+ export {};
@@ -0,0 +1,49 @@
1
+ import type { JSX as LocalJSX } from '@ionic/core/components';
2
+ import React from 'react';
3
+ import { NavContext } from '../../contexts/NavContext';
4
+ import type { IonTabsContextState } from './IonTabsContext';
5
+ declare global {
6
+ namespace JSX {
7
+ interface IntrinsicElements {
8
+ 'ion-tabs': any;
9
+ }
10
+ }
11
+ }
12
+ type ChildFunction = (ionTabContext: IonTabsContextState) => React.ReactNode;
13
+ interface Props extends LocalJSX.IonTabs {
14
+ className?: string;
15
+ children: ChildFunction | React.ReactNode;
16
+ }
17
+ export declare const IonTabs: {
18
+ new (props: Props): {
19
+ context: React.ContextType<typeof NavContext>;
20
+ routerOutletRef: React.Ref<HTMLIonRouterOutletElement>;
21
+ selectTabHandler?: ((tag: string) => boolean) | undefined;
22
+ tabBarRef: React.RefObject<any>;
23
+ ionTabContextState: IonTabsContextState;
24
+ componentDidMount(): void;
25
+ render(): JSX.Element;
26
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Props>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
27
+ forceUpdate(callback?: (() => void) | undefined): void;
28
+ readonly props: Readonly<Props> & Readonly<{
29
+ children?: React.ReactNode;
30
+ }>;
31
+ state: Readonly<{}>;
32
+ refs: {
33
+ [key: string]: React.ReactInstance;
34
+ };
35
+ shouldComponentUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): boolean;
36
+ componentWillUnmount?(): void;
37
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
38
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Props>, prevState: Readonly<{}>): any;
39
+ componentDidUpdate?(prevProps: Readonly<Props>, prevState: Readonly<{}>, snapshot?: any): void;
40
+ componentWillMount?(): void;
41
+ UNSAFE_componentWillMount?(): void;
42
+ componentWillReceiveProps?(nextProps: Readonly<Props>, nextContext: any): void;
43
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Props>, nextContext: any): void;
44
+ componentWillUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): void;
45
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Props>, nextState: Readonly<{}>, nextContext: any): void;
46
+ };
47
+ readonly contextType: React.Context<import("../../contexts/NavContext").NavContextState>;
48
+ };
49
+ export {};
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export interface IonTabsContextState {
3
+ activeTab: string | undefined;
4
+ selectTab: (tab: string) => boolean;
5
+ }
6
+ export declare const IonTabsContext: React.Context<IonTabsContextState>;