mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-18 19:21:34 +08:00
fix(react, vue): remove sideeffects to improve treeshaking (#24313)
This commit is contained in:
@ -1,43 +1,43 @@
|
||||
import { JSX } from '@ionic/core/components';
|
||||
import { IonApp as IonAppCmp } from '@ionic/core/components/ion-app.js';
|
||||
import { IonBackButton as IonBackButtonCmp } from '@ionic/core/components/ion-back-button.js';
|
||||
import { IonRouterOutlet as IonRouterOutletCmp } from '@ionic/core/components/ion-router-outlet.js';
|
||||
import { IonTabBar as IonTabBarCmp } from '@ionic/core/components/ion-tab-bar.js';
|
||||
import { IonTabButton as IonTabButtonCmp } from '@ionic/core/components/ion-tab-button.js';
|
||||
import { defineCustomElement as defineIonApp } from '@ionic/core/components/ion-app.js';
|
||||
import { defineCustomElement as defineIonBackButton } from '@ionic/core/components/ion-back-button.js';
|
||||
import { defineCustomElement as defineIonRouterOutlet } from '@ionic/core/components/ion-router-outlet.js';
|
||||
import { defineCustomElement as defineIonTabBar } from '@ionic/core/components/ion-tab-bar.js';
|
||||
import { defineCustomElement as defineIonTabButton } from '@ionic/core/components/ion-tab-button.js';
|
||||
import { JSX as IoniconsJSX } from 'ionicons';
|
||||
import { IonIcon as IonIconCmp } from 'ionicons/components/ion-icon.js';
|
||||
import { defineCustomElement as defineIonIcon } from 'ionicons/components/ion-icon.js';
|
||||
|
||||
import { /*@__PURE__*/ createReactComponent } from './react-component-lib';
|
||||
|
||||
export const IonTabButtonInner = /*@__PURE__*/ createReactComponent<
|
||||
JSX.IonTabButton & { onIonTabButtonClick?: (e: CustomEvent) => void },
|
||||
HTMLIonTabButtonElement
|
||||
>('ion-tab-button', undefined, undefined, IonTabButtonCmp);
|
||||
>('ion-tab-button', undefined, undefined, defineIonTabButton);
|
||||
export const IonTabBarInner = /*@__PURE__*/ createReactComponent<
|
||||
JSX.IonTabBar,
|
||||
HTMLIonTabBarElement
|
||||
>('ion-tab-bar', undefined, undefined, IonTabBarCmp);
|
||||
>('ion-tab-bar', undefined, undefined, defineIonTabBar);
|
||||
export const IonBackButtonInner = /*@__PURE__*/ createReactComponent<
|
||||
Omit<JSX.IonBackButton, 'icon'>,
|
||||
HTMLIonBackButtonElement
|
||||
>('ion-back-button', undefined, undefined, IonBackButtonCmp);
|
||||
>('ion-back-button', undefined, undefined, defineIonBackButton);
|
||||
export const IonRouterOutletInner = /*@__PURE__*/ createReactComponent<
|
||||
JSX.IonRouterOutlet & {
|
||||
setRef?: (val: HTMLIonRouterOutletElement) => void;
|
||||
forwardedRef?: React.ForwardedRef<HTMLIonRouterOutletElement>;
|
||||
},
|
||||
HTMLIonRouterOutletElement
|
||||
>('ion-router-outlet', undefined, undefined, IonRouterOutletCmp);
|
||||
>('ion-router-outlet', undefined, undefined, defineIonRouterOutlet);
|
||||
|
||||
export const IonAppInner = /*@__PURE__*/ createReactComponent<JSX.IonApp, HTMLIonAppElement>(
|
||||
'ion-app',
|
||||
undefined,
|
||||
undefined,
|
||||
IonAppCmp
|
||||
defineIonApp
|
||||
);
|
||||
|
||||
// ionicons
|
||||
export const IonIconInner = /*@__PURE__*/ createReactComponent<
|
||||
IoniconsJSX.IonIcon,
|
||||
HTMLIonIconElement
|
||||
>('ion-icon', undefined, undefined, IonIconCmp);
|
||||
>('ion-icon', undefined, undefined, defineIonIcon);
|
||||
|
Reference in New Issue
Block a user