@ionic/react 8.8.19 → 9.0.0

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 (50) hide show
  1. package/dist/index.js +1190 -462
  2. package/dist/index.js.map +1 -1
  3. package/dist/types/components/IonActionSheet.d.ts +1 -1
  4. package/dist/types/components/IonAlert.d.ts +1 -1
  5. package/dist/types/components/IonIcon.d.ts +1 -1
  6. package/dist/types/components/IonLoading.d.ts +1 -1
  7. package/dist/types/components/IonModal.d.ts +1 -1
  8. package/dist/types/components/IonPage.d.ts +1 -1
  9. package/dist/types/components/IonPopover.d.ts +1 -1
  10. package/dist/types/components/IonRoute.d.ts +4 -3
  11. package/dist/types/components/IonRouterContext.d.ts +8 -0
  12. package/dist/types/components/IonRouterOutlet.d.ts +1 -0
  13. package/dist/types/components/IonToast.d.ts +1 -1
  14. package/dist/types/components/__tests__/createRoutingComponent.spec.d.ts +1 -0
  15. package/dist/types/components/__tests__/utils.spec.d.ts +1 -1
  16. package/dist/types/components/components.d.ts +326 -0
  17. package/dist/types/components/createInlineOverlayComponent.d.ts +1 -1
  18. package/dist/types/components/createRoutingComponent.d.ts +1 -1
  19. package/dist/types/components/index.d.ts +4 -6
  20. package/dist/types/components/navigation/IonBackButton.d.ts +1 -1
  21. package/dist/types/components/navigation/IonNav.d.ts +2 -1
  22. package/dist/types/components/navigation/IonTabBar.d.ts +1 -1
  23. package/dist/types/components/navigation/IonTabs.d.ts +2 -3
  24. package/dist/types/components/react-component-lib/__tests__/createComponent.spec.d.ts +1 -0
  25. package/dist/types/components/react-component-lib/createComponent.d.ts +1 -1
  26. package/dist/types/components/react-component-lib/utils/index.d.ts +1 -1
  27. package/dist/types/components/routing-proxies.d.ts +14 -14
  28. package/dist/types/components/utils/index.d.ts +4 -13
  29. package/dist/types/contexts/NavContext.d.ts +0 -2
  30. package/dist/types/hooks/__tests__/overlay-hook-types.spec.d.ts +1 -0
  31. package/dist/types/hooks/useIonModal.d.ts +10 -3
  32. package/dist/types/hooks/useIonPopover.d.ts +11 -4
  33. package/dist/types/index.d.ts +1 -0
  34. package/dist/types/lifecycle/IonLifeCycleHOC.d.ts +1 -3
  35. package/dist/types/models/ReactComponentOrElement.d.ts +1 -1
  36. package/dist/types/routing/LocationHistory.d.ts +7 -0
  37. package/dist/types/routing/NavManager.d.ts +2 -4
  38. package/dist/types/routing/OutletPageManager.d.ts +2 -0
  39. package/dist/types/routing/PageManager.d.ts +8 -0
  40. package/dist/types/routing/RouteManagerContext.d.ts +6 -1
  41. package/dist/types/routing/ViewLifeCycleManager.d.ts +18 -17
  42. package/dist/types/routing/ViewStacks.d.ts +2 -2
  43. package/dist/types/utils/__tests__/debug.spec.d.ts +1 -0
  44. package/dist/types/utils/config.d.ts +7 -0
  45. package/dist/types/utils/debug.d.ts +9 -0
  46. package/package.json +37 -18
  47. package/dist/types/components/IonPickerLegacy.d.ts +0 -2
  48. package/dist/types/components/IonRedirect.d.ts +0 -16
  49. package/dist/types/components/proxies.d.ts +0 -73
  50. package/dist/types/hooks/useIonPicker.d.ts +0 -27
@@ -3,41 +3,41 @@ export declare const IonRouterLink: import("react").ForwardRefExoticComponent<Om
3
3
  routerLink?: string;
4
4
  routerDirection?: import("..").RouterDirection;
5
5
  routerOptions?: import("..").RouterOptions;
6
- routerAnimation?: import("@ionic/core/components").AnimationBuilder;
7
- } & Omit<import("react").HTMLAttributes<HTMLIonRouterLinkElement>, "style" | "placeholder"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonRouterLinkElement>>;
6
+ routerAnimation?: import("@ionic/core").AnimationBuilder;
7
+ } & Omit<import("react").HTMLAttributes<HTMLIonRouterLinkElement>, "style"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonRouterLinkElement>>;
8
8
  export declare const IonButton: import("react").ForwardRefExoticComponent<Omit<JSX.IonButton, "routerDirection"> & {
9
9
  routerLink?: string;
10
10
  routerDirection?: import("..").RouterDirection;
11
11
  routerOptions?: import("..").RouterOptions;
12
- routerAnimation?: import("@ionic/core/components").AnimationBuilder;
13
- } & Omit<import("react").HTMLAttributes<HTMLIonButtonElement>, "style" | "placeholder"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonButtonElement>>;
12
+ routerAnimation?: import("@ionic/core").AnimationBuilder;
13
+ } & Omit<import("react").HTMLAttributes<HTMLIonButtonElement>, "style"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonButtonElement>>;
14
14
  export declare const IonCard: import("react").ForwardRefExoticComponent<Omit<JSX.IonCard, "routerDirection"> & {
15
15
  routerLink?: string;
16
16
  routerDirection?: import("..").RouterDirection;
17
17
  routerOptions?: import("..").RouterOptions;
18
- routerAnimation?: import("@ionic/core/components").AnimationBuilder;
19
- } & Omit<import("react").HTMLAttributes<HTMLIonCardElement>, "style" | "placeholder"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonCardElement>>;
18
+ routerAnimation?: import("@ionic/core").AnimationBuilder;
19
+ } & Omit<import("react").HTMLAttributes<HTMLIonCardElement>, "style"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonCardElement>>;
20
20
  export declare const IonFabButton: import("react").ForwardRefExoticComponent<Omit<JSX.IonFabButton, "routerDirection"> & {
21
21
  routerLink?: string;
22
22
  routerDirection?: import("..").RouterDirection;
23
23
  routerOptions?: import("..").RouterOptions;
24
- routerAnimation?: import("@ionic/core/components").AnimationBuilder;
25
- } & Omit<import("react").HTMLAttributes<HTMLIonFabButtonElement>, "style" | "placeholder"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonFabButtonElement>>;
24
+ routerAnimation?: import("@ionic/core").AnimationBuilder;
25
+ } & Omit<import("react").HTMLAttributes<HTMLIonFabButtonElement>, "style"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonFabButtonElement>>;
26
26
  export declare const IonItem: import("react").ForwardRefExoticComponent<Omit<JSX.IonItem, "routerDirection"> & {
27
27
  routerLink?: string;
28
28
  routerDirection?: import("..").RouterDirection;
29
29
  routerOptions?: import("..").RouterOptions;
30
- routerAnimation?: import("@ionic/core/components").AnimationBuilder;
31
- } & Omit<import("react").HTMLAttributes<HTMLIonItemElement>, "style" | "placeholder"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonItemElement>>;
30
+ routerAnimation?: import("@ionic/core").AnimationBuilder;
31
+ } & Omit<import("react").HTMLAttributes<HTMLIonItemElement>, "style"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonItemElement>>;
32
32
  export declare const IonItemOption: import("react").ForwardRefExoticComponent<Omit<JSX.IonItemOption, "routerDirection"> & {
33
33
  routerLink?: string;
34
34
  routerDirection?: import("..").RouterDirection;
35
35
  routerOptions?: import("..").RouterOptions;
36
- routerAnimation?: import("@ionic/core/components").AnimationBuilder;
37
- } & Omit<import("react").HTMLAttributes<HTMLIonItemOptionElement>, "style" | "placeholder"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonItemOptionElement>>;
36
+ routerAnimation?: import("@ionic/core").AnimationBuilder;
37
+ } & Omit<import("react").HTMLAttributes<HTMLIonItemOptionElement>, "style"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonItemOptionElement>>;
38
38
  export declare const IonBreadcrumb: import("react").ForwardRefExoticComponent<Omit<JSX.IonBreadcrumb, "routerDirection"> & {
39
39
  routerLink?: string;
40
40
  routerDirection?: import("..").RouterDirection;
41
41
  routerOptions?: import("..").RouterOptions;
42
- routerAnimation?: import("@ionic/core/components").AnimationBuilder;
43
- } & Omit<import("react").HTMLAttributes<HTMLIonBreadcrumbElement>, "style" | "placeholder"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonBreadcrumbElement>>;
42
+ routerAnimation?: import("@ionic/core").AnimationBuilder;
43
+ } & Omit<import("react").HTMLAttributes<HTMLIonBreadcrumbElement>, "style"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonBreadcrumbElement>>;
@@ -1,17 +1,8 @@
1
- import type { Config as CoreConfig, Platforms } from '@ionic/core/components';
1
+ import type { Platforms } from '@ionic/core/components';
2
2
  import React from 'react';
3
3
  import type { IonicReactProps } from '../IonicReactProps';
4
- export type IonicReactExternalProps<PropType, ElementType> = PropType &
5
- /**
6
- * TODO: FW-5753
7
- *
8
- * The `placeholder` property was removed from `HTMLAttributes` in @types/react@18.2.43
9
- * https://github.com/DefinitelyTyped/DefinitelyTyped/commit/b954269038de46b4b2f1756a9f2f020cbc66a326
10
- *
11
- * This is a temporary workaround until @ionic/react is updated to >=18.2.43.
12
- */
13
- Omit<React.HTMLAttributes<ElementType>, 'style' | 'placeholder'> & IonicReactProps;
14
- export declare const createForwardRef: <PropType, ElementType>(ReactComponent: any, displayName: string) => React.ForwardRefExoticComponent<React.PropsWithoutRef<React.PropsWithoutRef<IonicReactExternalProps<PropType, ElementType>>> & React.RefAttributes<ElementType>>;
4
+ export type IonicReactExternalProps<PropType, ElementType> = PropType & Omit<React.HTMLAttributes<ElementType>, 'style'> & IonicReactProps;
5
+ export declare const createForwardRef: <PropType, ElementType>(ReactComponent: any, // TODO(FW-2959): type
6
+ displayName: string) => React.ForwardRefExoticComponent<React.PropsWithoutRef<IonicReactExternalProps<PropType, ElementType>> & React.RefAttributes<ElementType>>;
15
7
  export declare const isPlatform: (platform: Platforms) => boolean;
16
8
  export declare const getPlatforms: () => ("ipad" | "iphone" | "ios" | "android" | "phablet" | "tablet" | "cordova" | "capacitor" | "electron" | "pwa" | "mobile" | "mobileweb" | "desktop" | "hybrid")[];
17
- export declare const getConfig: () => CoreConfig | null;
@@ -3,8 +3,6 @@ import React from 'react';
3
3
  import type { RouteInfo } from '../models';
4
4
  export interface NavContextState {
5
5
  getIonRoute: () => any;
6
- getIonRedirect: () => any;
7
- getPageManager: () => any;
8
6
  getStackManager: () => any;
9
7
  goBack: (route?: string | RouteInfo, animationBuilder?: AnimationBuilder) => void;
10
8
  navigate: (path: string, direction?: RouterDirection | 'none', ionRouteAction?: 'push' | 'replace' | 'pop', animationBuilder?: AnimationBuilder, options?: any, tab?: string) => void;
@@ -1,13 +1,20 @@
1
1
  import type { ModalOptions } from '@ionic/core/components';
2
- import type { ReactComponentOrElement } from '../models/ReactComponentOrElement';
2
+ import type { ComponentType, ReactElement } from 'react';
3
3
  import type { HookOverlayOptions } from './HookOverlayOptions';
4
4
  /**
5
5
  * A hook for presenting/dismissing an IonModal component
6
- * @param component The component that the modal will show. Can be a React Component, a functional component, or a JSX Element
6
+ * @param component The component that the modal will show. Can be a React Component or a functional component
7
+ * @param componentProps The props that will be passed to the component. Required when the component declares required props
8
+ * @returns Returns the present and dismiss methods in an array
9
+ */
10
+ export declare function useIonModal<Props extends object>(...args: {} extends Props ? [component: ComponentType<Props>, componentProps?: NoInfer<Props>] : [component: ComponentType<Props>, componentProps: NoInfer<Props>]): UseIonModalResult;
11
+ /**
12
+ * A hook for presenting/dismissing an IonModal component
13
+ * @param component A JSX Element that the modal will show. Props are already bound to the element, so `componentProps` is not type checked
7
14
  * @param componentProps The props that will be passed to the component, if required
8
15
  * @returns Returns the present and dismiss methods in an array
9
16
  */
10
- export declare function useIonModal(component: ReactComponentOrElement, componentProps?: any): UseIonModalResult;
17
+ export declare function useIonModal(component: ReactElement, componentProps?: any): UseIonModalResult;
11
18
  export type UseIonModalResult = [
12
19
  (options?: Omit<ModalOptions, 'component' | 'componentProps'> & HookOverlayOptions) => void,
13
20
  /**
@@ -1,13 +1,20 @@
1
1
  import type { PopoverOptions } from '@ionic/core/components';
2
- import type { ReactComponentOrElement } from '../models/ReactComponentOrElement';
2
+ import type { ComponentType, ReactElement } from 'react';
3
3
  import type { HookOverlayOptions } from './HookOverlayOptions';
4
4
  /**
5
- * A hook for presenting/dismissing an IonPicker component
6
- * @param component The component that the popover will show. Can be a React Component, a functional component, or a JSX Element
5
+ * A hook for presenting/dismissing an IonPopover component
6
+ * @param component The component that the popover will show. Can be a React Component or a functional component
7
+ * @param componentProps The props that will be passed to the component. Required when the component declares required props
8
+ * @returns Returns the present and dismiss methods in an array
9
+ */
10
+ export declare function useIonPopover<Props extends object>(...args: {} extends Props ? [component: ComponentType<Props>, componentProps?: NoInfer<Props>] : [component: ComponentType<Props>, componentProps: NoInfer<Props>]): UseIonPopoverResult;
11
+ /**
12
+ * A hook for presenting/dismissing an IonPopover component
13
+ * @param component A JSX Element that the popover will show. Props are already bound to the element, so `componentProps` is not type checked
7
14
  * @param componentProps The props that will be passed to the component, if required
8
15
  * @returns Returns the present and dismiss methods in an array
9
16
  */
10
- export declare function useIonPopover(component: ReactComponentOrElement, componentProps?: any): UseIonPopoverResult;
17
+ export declare function useIonPopover(component: ReactElement, componentProps?: any): UseIonPopoverResult;
11
18
  export type UseIonPopoverResult = [
12
19
  (options?: Omit<PopoverOptions, 'component' | 'componentProps'> & HookOverlayOptions) => void,
13
20
  /**
@@ -5,3 +5,4 @@ export * from './components';
5
5
  export * from './routing';
6
6
  export * from './models';
7
7
  export * from './utils/generateId';
8
+ export * from './utils/debug';
@@ -8,9 +8,7 @@ export declare const withIonLifeCycle: (WrappedComponent: React.ComponentType<an
8
8
  render(): import("react/jsx-runtime").JSX.Element;
9
9
  setState<K extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
10
10
  forceUpdate(callback?: (() => void) | undefined): void;
11
- readonly props: Readonly<any> & Readonly<{
12
- children?: React.ReactNode | undefined;
13
- }>;
11
+ readonly props: Readonly<any>;
14
12
  state: Readonly<any>;
15
13
  refs: {
16
14
  [key: string]: React.ReactInstance;
@@ -1,2 +1,2 @@
1
1
  import type React from 'react';
2
- export type ReactComponentOrElement = React.ComponentClass<any, any> | React.FC<any> | JSX.Element;
2
+ export type ReactComponentOrElement = React.ComponentClass<any, any> | React.FC<any> | React.ReactElement;
@@ -13,8 +13,15 @@ export declare class LocationHistory {
13
13
  private _getRouteInfosByKey;
14
14
  getFirstRouteInfoForTab(tab: string): RouteInfo<any> | undefined;
15
15
  getCurrentRouteInfoForTab(tab?: string): RouteInfo<any> | undefined;
16
+ /**
17
+ * Returns the most recent RouteInfo in global history (excluding the current
18
+ * entry) whose pathname matches the given value. Unlike findLastLocation,
19
+ * this search is tab-agnostic. Used by the multi-step back detection.
20
+ */
21
+ findLastLocationByPathname(pathname: string): RouteInfo<any> | undefined;
16
22
  findLastLocation(routeInfo: RouteInfo): RouteInfo<any> | undefined;
17
23
  previous(): RouteInfo<any>;
18
24
  current(): RouteInfo<any>;
19
25
  canGoBack(): boolean;
26
+ findTabForPathname(pathname: string): string | undefined;
20
27
  }
@@ -6,19 +6,19 @@ import type { RouteAction } from '../models/RouteAction';
6
6
  import type { RouteInfo } from '../models/RouteInfo';
7
7
  import type { RouterDirection } from '../models/RouterDirection';
8
8
  import type { LocationHistory } from './LocationHistory';
9
- import PageManager from './PageManager';
10
9
  interface NavManagerProps {
11
10
  routeInfo: RouteInfo;
12
11
  onNativeBack: () => void;
13
12
  onNavigateBack: (route?: string | RouteInfo, animationBuilder?: AnimationBuilder) => void;
14
13
  onNavigate: (path: string, action: RouteAction, direction?: RouterDirection, animationBuilder?: AnimationBuilder, options?: any, tab?: string) => void;
14
+ onNavigateRoot: (pathname: string, animationBuilder?: AnimationBuilder) => void;
15
15
  onSetCurrentTab: (tab: string, routeInfo: RouteInfo) => void;
16
16
  onChangeTab: (tab: string, path: string, routeOptions?: any) => void;
17
17
  onResetTab: (tab: string, path: string, routeOptions?: any) => void;
18
- ionRedirect: any;
19
18
  ionRoute: any;
20
19
  stackManager: any;
21
20
  locationHistory: LocationHistory;
21
+ children: React.ReactNode;
22
22
  }
23
23
  export declare class NavManager extends React.PureComponent<NavManagerProps, NavContextState> {
24
24
  ionRouterContextValue: IonRouterContextState;
@@ -29,8 +29,6 @@ export declare class NavManager extends React.PureComponent<NavManagerProps, Nav
29
29
  goBack(route?: string | RouteInfo, animationBuilder?: AnimationBuilder): void;
30
30
  nativeGoBack(): void;
31
31
  navigate(path: string, direction?: RouterDirection, action?: RouteAction, animationBuilder?: AnimationBuilder, options?: any, tab?: string): void;
32
- getPageManager(): typeof PageManager;
33
- getIonRedirect(): any;
34
32
  getIonRoute(): any;
35
33
  getStackManager(): any;
36
34
  render(): import("react/jsx-runtime").JSX.Element;
@@ -5,8 +5,10 @@ import { StackContext } from './StackContext';
5
5
  interface OutletPageManagerProps {
6
6
  className?: string;
7
7
  forwardedRef?: React.ForwardedRef<HTMLIonRouterOutletElement>;
8
+ children: React.ReactNode;
8
9
  routeInfo?: RouteInfo;
9
10
  StackManager: any;
11
+ id?: string;
10
12
  }
11
13
  export declare class OutletPageManager extends React.Component<OutletPageManagerProps> {
12
14
  ionLifeCycleContext: React.ContextType<typeof IonLifeCycleContext>;
@@ -5,6 +5,7 @@ import { StackContext } from './StackContext';
5
5
  interface PageManagerProps {
6
6
  className?: string;
7
7
  forwardedRef?: React.ForwardedRef<HTMLDivElement>;
8
+ children: React.ReactNode;
8
9
  routeInfo?: RouteInfo;
9
10
  }
10
11
  export declare class PageManager extends React.PureComponent<PageManagerProps> {
@@ -13,7 +14,14 @@ export declare class PageManager extends React.PureComponent<PageManagerProps> {
13
14
  ionPageElementRef: React.RefObject<HTMLDivElement>;
14
15
  stableMergedRefs: React.RefCallback<HTMLDivElement>;
15
16
  constructor(props: PageManagerProps);
17
+ private parseClasses;
18
+ /**
19
+ * Updates classList by diffing old/new className props.
20
+ * Preserves framework-added classes (can-go-back, ion-page-invisible, etc.).
21
+ */
22
+ private updateUserClasses;
16
23
  componentDidMount(): void;
24
+ componentDidUpdate(prevProps: PageManagerProps): void;
17
25
  componentWillUnmount(): void;
18
26
  ionViewWillEnterHandler(): void;
19
27
  ionViewDidEnterHandler(): void;
@@ -9,7 +9,12 @@ export interface RouteManagerContextState {
9
9
  findViewItemByPathname(pathname: string, outletId?: string): ViewItem | undefined;
10
10
  findLeavingViewItemByRouteInfo: (routeInfo: RouteInfo, outletId?: string) => ViewItem | undefined;
11
11
  findViewItemByRouteInfo: (routeInfo: RouteInfo, outletId?: string, updateMatch?: boolean) => ViewItem | undefined;
12
- getChildrenToRender: (outletId: string, ionRouterOutlet: React.ReactElement, routeInfo: RouteInfo, reRender: () => void) => React.ReactNode[];
12
+ getChildrenToRender: (outletId: string, ionRouterOutlet: React.ReactElement, routeInfo: RouteInfo, reRender: () => void, parentPathnameBase?: string) => React.ReactNode[];
13
+ /**
14
+ * Returns all view items currently registered for a given outlet id.
15
+ * Used by StackManager for out-of-scope cleanup.
16
+ */
17
+ getViewItemsForOutlet: (outletId: string) => ViewItem[];
13
18
  goBack: () => void;
14
19
  unMountViewItem: (viewItem: ViewItem) => void;
15
20
  }
@@ -2,33 +2,34 @@ import React from 'react';
2
2
  interface ViewTransitionManagerProps {
3
3
  removeView: () => void;
4
4
  mount: boolean;
5
+ children: React.ReactNode;
5
6
  }
6
7
  interface ViewTransitionManagerState {
7
8
  show: boolean;
8
9
  }
9
10
  export declare class ViewLifeCycleManager extends React.Component<ViewTransitionManagerProps, ViewTransitionManagerState> {
10
11
  ionLifeCycleContext: {
11
- ionViewWillEnterCallbacks: import("../contexts/IonLifeCycleContext").LifeCycleCallback[];
12
- ionViewDidEnterCallbacks: import("../contexts/IonLifeCycleContext").LifeCycleCallback[];
13
- ionViewWillLeaveCallbacks: import("../contexts/IonLifeCycleContext").LifeCycleCallback[];
14
- ionViewDidLeaveCallbacks: import("../contexts/IonLifeCycleContext").LifeCycleCallback[];
12
+ ionViewWillEnterCallbacks: import("..").LifeCycleCallback[];
13
+ ionViewDidEnterCallbacks: import("..").LifeCycleCallback[];
14
+ ionViewWillLeaveCallbacks: import("..").LifeCycleCallback[];
15
+ ionViewDidLeaveCallbacks: import("..").LifeCycleCallback[];
15
16
  componentCanBeDestroyedCallback?: () => void;
16
- ionViewWillEnterDestructorCallbacks: import("../contexts/IonLifeCycleContext").LifeCycleDestructor[];
17
- ionViewDidEnterDestructorCallbacks: import("../contexts/IonLifeCycleContext").LifeCycleDestructor[];
18
- ionViewWillLeaveDestructorCallbacks: import("../contexts/IonLifeCycleContext").LifeCycleDestructor[];
19
- ionViewDidLeaveDestructorCallbacks: import("../contexts/IonLifeCycleContext").LifeCycleDestructor[];
20
- onIonViewWillEnter(callback: import("../contexts/IonLifeCycleContext").LifeCycleCallback): void;
21
- teardownCallback(callback: import("../contexts/IonLifeCycleContext").LifeCycleCallback, callbacks: any[]): void;
22
- cleanupIonViewWillEnter(callback: import("../contexts/IonLifeCycleContext").LifeCycleCallback): void;
23
- cleanupIonViewDidEnter(callback: import("../contexts/IonLifeCycleContext").LifeCycleCallback): void;
24
- cleanupIonViewWillLeave(callback: import("../contexts/IonLifeCycleContext").LifeCycleCallback): void;
25
- cleanupIonViewDidLeave(callback: import("../contexts/IonLifeCycleContext").LifeCycleCallback): void;
17
+ ionViewWillEnterDestructorCallbacks: import("..").LifeCycleDestructor[];
18
+ ionViewDidEnterDestructorCallbacks: import("..").LifeCycleDestructor[];
19
+ ionViewWillLeaveDestructorCallbacks: import("..").LifeCycleDestructor[];
20
+ ionViewDidLeaveDestructorCallbacks: import("..").LifeCycleDestructor[];
21
+ onIonViewWillEnter(callback: import("..").LifeCycleCallback): void;
22
+ teardownCallback(callback: import("..").LifeCycleCallback, callbacks: any[]): void;
23
+ cleanupIonViewWillEnter(callback: import("..").LifeCycleCallback): void;
24
+ cleanupIonViewDidEnter(callback: import("..").LifeCycleCallback): void;
25
+ cleanupIonViewWillLeave(callback: import("..").LifeCycleCallback): void;
26
+ cleanupIonViewDidLeave(callback: import("..").LifeCycleCallback): void;
26
27
  ionViewWillEnter(): void;
27
- onIonViewDidEnter(callback: import("../contexts/IonLifeCycleContext").LifeCycleCallback): void;
28
+ onIonViewDidEnter(callback: import("..").LifeCycleCallback): void;
28
29
  ionViewDidEnter(): void;
29
- onIonViewWillLeave(callback: import("../contexts/IonLifeCycleContext").LifeCycleCallback): void;
30
+ onIonViewWillLeave(callback: import("..").LifeCycleCallback): void;
30
31
  ionViewWillLeave(): void;
31
- onIonViewDidLeave(callback: import("../contexts/IonLifeCycleContext").LifeCycleCallback): void;
32
+ onIonViewDidLeave(callback: import("..").LifeCycleCallback): void;
32
33
  ionViewDidLeave(): void;
33
34
  onComponentCanBeDestroyed(callback: () => void): void;
34
35
  componentCanBeDestroyed(): void;
@@ -4,7 +4,7 @@ export declare abstract class ViewStacks {
4
4
  private viewStacks;
5
5
  constructor();
6
6
  add(viewItem: ViewItem): void;
7
- clear(outletId: string): NodeJS.Timeout;
7
+ clear(outletId: string): void;
8
8
  getViewItemsForOutlet(outletId: string): ViewItem<any>[];
9
9
  remove(viewItem: ViewItem): void;
10
10
  protected getStackIds(): string[];
@@ -13,5 +13,5 @@ export declare abstract class ViewStacks {
13
13
  abstract findViewItemByPathname(pathname: string, outletId?: string): ViewItem | undefined;
14
14
  abstract findViewItemByRouteInfo(routeInfo: RouteInfo, outletId?: string, updateMatch?: boolean): ViewItem | undefined;
15
15
  abstract findLeavingViewItemByRouteInfo(routeInfo: RouteInfo, outletId?: string): ViewItem | undefined;
16
- abstract getChildrenToRender(outletId: string, ionRouterOutlet: React.ReactElement, routeInfo: RouteInfo, reRender: () => void, setInTransition: () => void): React.ReactNode[];
16
+ abstract getChildrenToRender(outletId: string, ionRouterOutlet: React.ReactElement, routeInfo: RouteInfo, reRender: () => void, parentPathnameBase?: string): React.ReactNode[];
17
17
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { Config as CoreConfig } from '@ionic/core/components';
2
+ /**
3
+ * Ionic's global config, or `null` before core has initialized. Kept here rather
4
+ * than alongside the component helpers so that utils reaching for config don't
5
+ * pull core's runtime bundle in with it.
6
+ */
7
+ export declare const getConfig: () => CoreConfig | null;
@@ -0,0 +1,9 @@
1
+ /** @internal */
2
+ export type DebugLogger = (event: string, getData?: () => unknown) => void;
3
+ /**
4
+ * Logger namespaced to a package, e.g. `react-router`. The payload is a function
5
+ * so nothing it collects runs while logging is off.
6
+ *
7
+ * @internal
8
+ */
9
+ export declare const createDebugLogger: (namespace: string) => DebugLogger;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/react",
3
- "version": "8.8.19",
3
+ "version": "9.0.0",
4
4
  "description": "React specific wrapper for @ionic/core",
5
5
  "keywords": [
6
6
  "ionic",
@@ -28,6 +28,7 @@
28
28
  "prettier": "prettier \"./src/**/*.{html,ts,tsx,js,jsx}\"",
29
29
  "lint": "npm run eslint && npm run prettier -- --write --cache",
30
30
  "lint.fix": "npm run eslint -- --fix && npm run prettier -- --write --cache",
31
+ "typecheck": "tsc --noEmit",
31
32
  "copy": "node scripts/copy.js",
32
33
  "test.spec": "jest --ci",
33
34
  "sync": "sh ./scripts/sync.sh",
@@ -40,43 +41,61 @@
40
41
  "css/"
41
42
  ],
42
43
  "dependencies": {
43
- "@ionic/core": "8.8.19",
44
+ "@ionic/core": "9.0.0",
45
+ "@stencil/react-output-target": "^1.6.2",
44
46
  "ionicons": "^8.0.13",
45
47
  "tslib": "*"
46
48
  },
47
49
  "peerDependencies": {
48
- "react": ">=16.8.6",
49
- "react-dom": ">=16.8.6"
50
+ "react": "^18 || ^19",
51
+ "react-dom": "^18 || ^19"
50
52
  },
51
53
  "devDependencies": {
54
+ "@eslint/eslintrc": "^3.3.1",
55
+ "@eslint/js": "^9.0.0",
52
56
  "@ionic/eslint-config": "^0.3.0",
53
57
  "@ionic/prettier-config": "^2.0.0",
54
58
  "@rollup/plugin-typescript": "^11.1.5",
55
- "@testing-library/jest-dom": "^5.11.6",
56
- "@testing-library/react": "^12.1.5",
57
- "@testing-library/react-hooks": "^7.0.1",
59
+ "@testing-library/dom": "^10.4.1",
60
+ "@testing-library/jest-dom": "^7.0.0",
61
+ "@testing-library/react": "^16.3.2",
58
62
  "@types/jest": "^26.0.15",
59
- "@types/node": "^14.0.14",
60
- "@types/react": "^17.0.79",
61
- "@types/react-dom": "^17.0.25",
62
- "@typescript-eslint/eslint-plugin": "^5.48.2",
63
- "@typescript-eslint/parser": "^5.48.2",
64
- "eslint": "^7.32.0",
63
+ "@types/node": "^24.13.3",
64
+ "@types/react": "^18.3.28",
65
+ "@types/react-dom": "^18.3.7",
66
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
67
+ "@typescript-eslint/parser": "^8.0.0",
68
+ "eslint": "^9.0.0",
69
+ "eslint-plugin-import": "^2.31.0",
65
70
  "fs-extra": "^9.0.1",
66
71
  "jest": "^29.7.0",
67
72
  "jest-environment-jsdom": "^29.7.0",
68
- "np": "^6.4.0",
69
73
  "prettier": "^2.8.3",
70
- "react": "^17.0.2",
71
- "react-dom": "^17.0.2",
74
+ "react": "^18.3.1",
75
+ "react-dom": "^18.3.1",
72
76
  "rimraf": "^3.0.2",
73
77
  "rollup": "^4.2.0",
74
- "ts-jest": "^29.1.3",
75
- "typescript": "^5.0.0"
78
+ "ts-jest": "^29.4.0",
79
+ "typescript": "^6.0.0"
80
+ },
81
+ "overrides": {
82
+ "@ionic/eslint-config": {
83
+ "@typescript-eslint/parser": "$@typescript-eslint/parser",
84
+ "@typescript-eslint/eslint-plugin": "$@typescript-eslint/eslint-plugin",
85
+ "eslint-plugin-import": "$eslint-plugin-import"
86
+ }
76
87
  },
77
88
  "jest": {
78
89
  "testEnvironment": "jsdom",
79
90
  "preset": "ts-jest",
91
+ "transform": {
92
+ "^.+\\.tsx?$": [
93
+ "ts-jest",
94
+ {
95
+ "tsconfig": "tsconfig.spec.json"
96
+ }
97
+ ]
98
+ },
80
99
  "setupFilesAfterEnv": [
81
100
  "<rootDir>/jest.setup.js"
82
101
  ],
@@ -1,2 +0,0 @@
1
- import type { JSX } from '@ionic/core/components';
2
- export declare const IonPickerLegacy: import("react").ForwardRefExoticComponent<JSX.IonPickerLegacy & Omit<import("react").HTMLAttributes<HTMLIonPickerLegacyElement>, "style" | "placeholder"> & import("./IonicReactProps").IonicReactProps & import("react").RefAttributes<HTMLIonPickerLegacyElement>>;
@@ -1,16 +0,0 @@
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(): import("react/jsx-runtime").JSX.Element | null;
14
- static get contextType(): React.Context<import("../contexts/NavContext").NavContextState>;
15
- }
16
- export {};
@@ -1,73 +0,0 @@
1
- import type { JSX } from '@ionic/core/components';
2
- export declare const IonAccordion: import("react").ForwardRefExoticComponent<JSX.IonAccordion & Omit<import("react").HTMLAttributes<HTMLIonAccordionElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonAccordionElement>>;
3
- export declare const IonAccordionGroup: import("react").ForwardRefExoticComponent<JSX.IonAccordionGroup & Omit<import("react").HTMLAttributes<HTMLIonAccordionGroupElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonAccordionGroupElement>>;
4
- export declare const IonAvatar: import("react").ForwardRefExoticComponent<JSX.IonAvatar & Omit<import("react").HTMLAttributes<HTMLIonAvatarElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonAvatarElement>>;
5
- export declare const IonBackdrop: import("react").ForwardRefExoticComponent<JSX.IonBackdrop & Omit<import("react").HTMLAttributes<HTMLIonBackdropElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonBackdropElement>>;
6
- export declare const IonBadge: import("react").ForwardRefExoticComponent<JSX.IonBadge & Omit<import("react").HTMLAttributes<HTMLIonBadgeElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonBadgeElement>>;
7
- export declare const IonBreadcrumbs: import("react").ForwardRefExoticComponent<JSX.IonBreadcrumbs & Omit<import("react").HTMLAttributes<HTMLIonBreadcrumbsElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonBreadcrumbsElement>>;
8
- export declare const IonButtons: import("react").ForwardRefExoticComponent<JSX.IonButtons & Omit<import("react").HTMLAttributes<HTMLIonButtonsElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonButtonsElement>>;
9
- export declare const IonCardContent: import("react").ForwardRefExoticComponent<JSX.IonCardContent & Omit<import("react").HTMLAttributes<HTMLIonCardContentElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonCardContentElement>>;
10
- export declare const IonCardHeader: import("react").ForwardRefExoticComponent<JSX.IonCardHeader & Omit<import("react").HTMLAttributes<HTMLIonCardHeaderElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonCardHeaderElement>>;
11
- export declare const IonCardSubtitle: import("react").ForwardRefExoticComponent<JSX.IonCardSubtitle & Omit<import("react").HTMLAttributes<HTMLIonCardSubtitleElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonCardSubtitleElement>>;
12
- export declare const IonCardTitle: import("react").ForwardRefExoticComponent<JSX.IonCardTitle & Omit<import("react").HTMLAttributes<HTMLIonCardTitleElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonCardTitleElement>>;
13
- export declare const IonCheckbox: import("react").ForwardRefExoticComponent<JSX.IonCheckbox & Omit<import("react").HTMLAttributes<HTMLIonCheckboxElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonCheckboxElement>>;
14
- export declare const IonChip: import("react").ForwardRefExoticComponent<JSX.IonChip & Omit<import("react").HTMLAttributes<HTMLIonChipElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonChipElement>>;
15
- export declare const IonCol: import("react").ForwardRefExoticComponent<JSX.IonCol & Omit<import("react").HTMLAttributes<HTMLIonColElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonColElement>>;
16
- export declare const IonContent: import("react").ForwardRefExoticComponent<JSX.IonContent & Omit<import("react").HTMLAttributes<HTMLIonContentElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonContentElement>>;
17
- export declare const IonDatetime: import("react").ForwardRefExoticComponent<JSX.IonDatetime & Omit<import("react").HTMLAttributes<HTMLIonDatetimeElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonDatetimeElement>>;
18
- export declare const IonDatetimeButton: import("react").ForwardRefExoticComponent<JSX.IonDatetimeButton & Omit<import("react").HTMLAttributes<HTMLIonDatetimeButtonElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonDatetimeButtonElement>>;
19
- export declare const IonFab: import("react").ForwardRefExoticComponent<JSX.IonFab & Omit<import("react").HTMLAttributes<HTMLIonFabElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonFabElement>>;
20
- export declare const IonFabList: import("react").ForwardRefExoticComponent<JSX.IonFabList & Omit<import("react").HTMLAttributes<HTMLIonFabListElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonFabListElement>>;
21
- export declare const IonFooter: import("react").ForwardRefExoticComponent<JSX.IonFooter & Omit<import("react").HTMLAttributes<HTMLIonFooterElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonFooterElement>>;
22
- export declare const IonGrid: import("react").ForwardRefExoticComponent<JSX.IonGrid & Omit<import("react").HTMLAttributes<HTMLIonGridElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonGridElement>>;
23
- export declare const IonHeader: import("react").ForwardRefExoticComponent<JSX.IonHeader & Omit<import("react").HTMLAttributes<HTMLIonHeaderElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonHeaderElement>>;
24
- export declare const IonImg: import("react").ForwardRefExoticComponent<JSX.IonImg & Omit<import("react").HTMLAttributes<HTMLIonImgElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonImgElement>>;
25
- export declare const IonInfiniteScroll: import("react").ForwardRefExoticComponent<JSX.IonInfiniteScroll & Omit<import("react").HTMLAttributes<HTMLIonInfiniteScrollElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonInfiniteScrollElement>>;
26
- export declare const IonInfiniteScrollContent: import("react").ForwardRefExoticComponent<JSX.IonInfiniteScrollContent & Omit<import("react").HTMLAttributes<HTMLIonInfiniteScrollContentElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonInfiniteScrollContentElement>>;
27
- export declare const IonInput: import("react").ForwardRefExoticComponent<JSX.IonInput & Omit<import("react").HTMLAttributes<HTMLIonInputElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonInputElement>>;
28
- export declare const IonInputOtp: import("react").ForwardRefExoticComponent<JSX.IonInputOtp & Omit<import("react").HTMLAttributes<HTMLIonInputOtpElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonInputOtpElement>>;
29
- export declare const IonInputPasswordToggle: import("react").ForwardRefExoticComponent<JSX.IonInputPasswordToggle & Omit<import("react").HTMLAttributes<HTMLIonInputPasswordToggleElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonInputPasswordToggleElement>>;
30
- export declare const IonItemDivider: import("react").ForwardRefExoticComponent<JSX.IonItemDivider & Omit<import("react").HTMLAttributes<HTMLIonItemDividerElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonItemDividerElement>>;
31
- export declare const IonItemGroup: import("react").ForwardRefExoticComponent<JSX.IonItemGroup & Omit<import("react").HTMLAttributes<HTMLIonItemGroupElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonItemGroupElement>>;
32
- export declare const IonItemOptions: import("react").ForwardRefExoticComponent<JSX.IonItemOptions & Omit<import("react").HTMLAttributes<HTMLIonItemOptionsElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonItemOptionsElement>>;
33
- export declare const IonItemSliding: import("react").ForwardRefExoticComponent<JSX.IonItemSliding & Omit<import("react").HTMLAttributes<HTMLIonItemSlidingElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonItemSlidingElement>>;
34
- export declare const IonLabel: import("react").ForwardRefExoticComponent<JSX.IonLabel & Omit<import("react").HTMLAttributes<HTMLIonLabelElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonLabelElement>>;
35
- export declare const IonList: import("react").ForwardRefExoticComponent<JSX.IonList & Omit<import("react").HTMLAttributes<HTMLIonListElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonListElement>>;
36
- export declare const IonListHeader: import("react").ForwardRefExoticComponent<JSX.IonListHeader & Omit<import("react").HTMLAttributes<HTMLIonListHeaderElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonListHeaderElement>>;
37
- export declare const IonMenu: import("react").ForwardRefExoticComponent<JSX.IonMenu & Omit<import("react").HTMLAttributes<HTMLIonMenuElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonMenuElement>>;
38
- export declare const IonMenuButton: import("react").ForwardRefExoticComponent<JSX.IonMenuButton & Omit<import("react").HTMLAttributes<HTMLIonMenuButtonElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonMenuButtonElement>>;
39
- export declare const IonMenuToggle: import("react").ForwardRefExoticComponent<JSX.IonMenuToggle & Omit<import("react").HTMLAttributes<HTMLIonMenuToggleElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonMenuToggleElement>>;
40
- export declare const IonNav: import("react").ForwardRefExoticComponent<JSX.IonNav & Omit<import("react").HTMLAttributes<HTMLIonNavElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonNavElement>>;
41
- export declare const IonNavLink: import("react").ForwardRefExoticComponent<JSX.IonNavLink & Omit<import("react").HTMLAttributes<HTMLIonNavLinkElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonNavLinkElement>>;
42
- export declare const IonNote: import("react").ForwardRefExoticComponent<JSX.IonNote & Omit<import("react").HTMLAttributes<HTMLIonNoteElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonNoteElement>>;
43
- export declare const IonPicker: import("react").ForwardRefExoticComponent<JSX.IonPicker & Omit<import("react").HTMLAttributes<HTMLIonPickerElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonPickerElement>>;
44
- export declare const IonPickerColumn: import("react").ForwardRefExoticComponent<JSX.IonPickerColumn & Omit<import("react").HTMLAttributes<HTMLIonPickerColumnElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonPickerColumnElement>>;
45
- export declare const IonPickerColumnOption: import("react").ForwardRefExoticComponent<JSX.IonPickerColumnOption & Omit<import("react").HTMLAttributes<HTMLIonPickerColumnOptionElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonPickerColumnOptionElement>>;
46
- export declare const IonProgressBar: import("react").ForwardRefExoticComponent<JSX.IonProgressBar & Omit<import("react").HTMLAttributes<HTMLIonProgressBarElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonProgressBarElement>>;
47
- export declare const IonRadio: import("react").ForwardRefExoticComponent<JSX.IonRadio & Omit<import("react").HTMLAttributes<HTMLIonRadioElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonRadioElement>>;
48
- export declare const IonRadioGroup: import("react").ForwardRefExoticComponent<JSX.IonRadioGroup & Omit<import("react").HTMLAttributes<HTMLIonRadioGroupElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonRadioGroupElement>>;
49
- export declare const IonRange: import("react").ForwardRefExoticComponent<JSX.IonRange & Omit<import("react").HTMLAttributes<HTMLIonRangeElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonRangeElement>>;
50
- export declare const IonRefresher: import("react").ForwardRefExoticComponent<JSX.IonRefresher & Omit<import("react").HTMLAttributes<HTMLIonRefresherElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonRefresherElement>>;
51
- export declare const IonRefresherContent: import("react").ForwardRefExoticComponent<JSX.IonRefresherContent & Omit<import("react").HTMLAttributes<HTMLIonRefresherContentElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonRefresherContentElement>>;
52
- export declare const IonReorder: import("react").ForwardRefExoticComponent<JSX.IonReorder & Omit<import("react").HTMLAttributes<HTMLIonReorderElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonReorderElement>>;
53
- export declare const IonReorderGroup: import("react").ForwardRefExoticComponent<JSX.IonReorderGroup & Omit<import("react").HTMLAttributes<HTMLIonReorderGroupElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonReorderGroupElement>>;
54
- export declare const IonRippleEffect: import("react").ForwardRefExoticComponent<JSX.IonRippleEffect & Omit<import("react").HTMLAttributes<HTMLIonRippleEffectElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonRippleEffectElement>>;
55
- export declare const IonRow: import("react").ForwardRefExoticComponent<JSX.IonRow & Omit<import("react").HTMLAttributes<HTMLIonRowElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonRowElement>>;
56
- export declare const IonSearchbar: import("react").ForwardRefExoticComponent<JSX.IonSearchbar & Omit<import("react").HTMLAttributes<HTMLIonSearchbarElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonSearchbarElement>>;
57
- export declare const IonSegment: import("react").ForwardRefExoticComponent<JSX.IonSegment & Omit<import("react").HTMLAttributes<HTMLIonSegmentElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonSegmentElement>>;
58
- export declare const IonSegmentButton: import("react").ForwardRefExoticComponent<JSX.IonSegmentButton & Omit<import("react").HTMLAttributes<HTMLIonSegmentButtonElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonSegmentButtonElement>>;
59
- export declare const IonSegmentContent: import("react").ForwardRefExoticComponent<JSX.IonSegmentContent & Omit<import("react").HTMLAttributes<HTMLIonSegmentContentElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonSegmentContentElement>>;
60
- export declare const IonSegmentView: import("react").ForwardRefExoticComponent<JSX.IonSegmentView & Omit<import("react").HTMLAttributes<HTMLIonSegmentViewElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonSegmentViewElement>>;
61
- export declare const IonSelect: import("react").ForwardRefExoticComponent<JSX.IonSelect & Omit<import("react").HTMLAttributes<HTMLIonSelectElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonSelectElement>>;
62
- export declare const IonSelectModal: import("react").ForwardRefExoticComponent<JSX.IonSelectModal & Omit<import("react").HTMLAttributes<HTMLIonSelectModalElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonSelectModalElement>>;
63
- export declare const IonSelectOption: import("react").ForwardRefExoticComponent<JSX.IonSelectOption & Omit<import("react").HTMLAttributes<HTMLIonSelectOptionElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonSelectOptionElement>>;
64
- export declare const IonSkeletonText: import("react").ForwardRefExoticComponent<JSX.IonSkeletonText & Omit<import("react").HTMLAttributes<HTMLIonSkeletonTextElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonSkeletonTextElement>>;
65
- export declare const IonSpinner: import("react").ForwardRefExoticComponent<JSX.IonSpinner & Omit<import("react").HTMLAttributes<HTMLIonSpinnerElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonSpinnerElement>>;
66
- export declare const IonSplitPane: import("react").ForwardRefExoticComponent<JSX.IonSplitPane & Omit<import("react").HTMLAttributes<HTMLIonSplitPaneElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonSplitPaneElement>>;
67
- export declare const IonTab: import("react").ForwardRefExoticComponent<JSX.IonTab & Omit<import("react").HTMLAttributes<HTMLIonTabElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonTabElement>>;
68
- export declare const IonText: import("react").ForwardRefExoticComponent<JSX.IonText & Omit<import("react").HTMLAttributes<HTMLIonTextElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonTextElement>>;
69
- export declare const IonTextarea: import("react").ForwardRefExoticComponent<JSX.IonTextarea & Omit<import("react").HTMLAttributes<HTMLIonTextareaElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonTextareaElement>>;
70
- export declare const IonThumbnail: import("react").ForwardRefExoticComponent<JSX.IonThumbnail & Omit<import("react").HTMLAttributes<HTMLIonThumbnailElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonThumbnailElement>>;
71
- export declare const IonTitle: import("react").ForwardRefExoticComponent<JSX.IonTitle & Omit<import("react").HTMLAttributes<HTMLIonTitleElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonTitleElement>>;
72
- export declare const IonToggle: import("react").ForwardRefExoticComponent<JSX.IonToggle & Omit<import("react").HTMLAttributes<HTMLIonToggleElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonToggleElement>>;
73
- export declare const IonToolbar: import("react").ForwardRefExoticComponent<JSX.IonToolbar & Omit<import("react").HTMLAttributes<HTMLIonToolbarElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIonToolbarElement>>;