fix(react): fixing type of icon in ToastOptions, ActionSheetOptions, fixes #20100

This commit is contained in:
Ely Lucas
2019-12-17 10:42:15 -07:00
parent 4bc3dc73c1
commit 432887b410
3 changed files with 38 additions and 3 deletions

View File

@ -117,6 +117,7 @@ async function presentToastWithOptions() {
```tsx
import React, { useState } from 'react';
import { IonToast, IonContent, IonButton } from '@ionic/react';
import { star } from 'ionicons/icons';
export const ToastExample: React.FC = () => {
const [showToast1, setShowToast1] = useState(false);
@ -141,7 +142,7 @@ export const ToastExample: React.FC = () => {
buttons={[
{
side: 'start',
icon: 'star',
icon: star,
text: 'Favorite',
handler: () => {
console.log('Favorite clicked');

View File

@ -1,5 +1,22 @@
import { ActionSheetOptions, actionSheetController } from '@ionic/core';
import { ActionSheetButton as ActionSheetButtonCore, ActionSheetOptions as ActionSheetOptionsCore, actionSheetController as actionSheetControllerCore } from '@ionic/core';
import { createOverlayComponent } from './createOverlayComponent';
export interface ActionSheetButton extends Omit<ActionSheetButtonCore, 'icon'> {
icon?: {
ios: string;
md: string;
};
}
export interface ActionSheetOptions extends Omit<ActionSheetOptionsCore, 'buttons'> {
buttons?: (ActionSheetButton | string)[];
}
const actionSheetController = {
create: (options: ActionSheetOptions) => actionSheetControllerCore.create(options as any),
dismiss: (data?: any, role?: string | undefined, id?: string | undefined) => actionSheetControllerCore.dismiss(data, role, id),
getTop: () => actionSheetControllerCore.getTop()
};
export const IonActionSheet = /*@__PURE__*/createOverlayComponent<ActionSheetOptions, HTMLIonActionSheetElement>('IonActionSheet', actionSheetController);

View File

@ -1,5 +1,22 @@
import { ToastOptions, toastController } from '@ionic/core';
import { ToastButton as ToastButtonCore, ToastOptions as ToastOptionsCore, toastController as toastControllerCore } from '@ionic/core';
import { createControllerComponent } from './createControllerComponent';
export interface ToastButton extends Omit<ToastButtonCore, 'icon'> {
icon?: {
ios: string;
md: string;
};
}
export interface ToastOptions extends Omit<ToastOptionsCore, 'buttons'> {
buttons?: (ToastButton | string)[];
}
const toastController = {
create: (options: ToastOptions) => toastControllerCore.create(options as any),
dismiss: (data?: any, role?: string | undefined, id?: string | undefined) => toastControllerCore.dismiss(data, role, id),
getTop: () => toastControllerCore.getTop()
};
export const IonToast = /*@__PURE__*/createControllerComponent<ToastOptions, HTMLIonToastElement>('IonToast', toastController);