refactor(types): remove overlay attribute interfaces (#26181)

BREAKING CHANGE:

`ActionSheetAttributes`, `AlertAttributes`, `AlertTextareaAttributes`, `AlertInputAttributes`, `LoadingAttributes`, `ModalAttributes`, `PickerAttributes`, `PopoverAttributes`, and `ToastAttributes` have been removed. Developers should use `{ [key: string]: any }` instead.
This commit is contained in:
Liam DeBeasi
2022-10-28 15:12:28 -05:00
committed by GitHub
parent 34ca337b8a
commit 322a1dbcd0
19 changed files with 40 additions and 94 deletions

View File

@ -29,6 +29,8 @@ This is a comprehensive list of the breaking changes introduced in the major ver
- [Textarea](#version-7x-textarea) - [Textarea](#version-7x-textarea)
- [Toggle](#version-7x-toggle) - [Toggle](#version-7x-toggle)
- [Virtual Scroll](#version-7x-virtual-scroll) - [Virtual Scroll](#version-7x-virtual-scroll)
- [Types](#version-7x-types)
- [Overlay Attribute Interfaces](#version-7x-overlay-attribute-interfaces)
- [JavaScript Frameworks](#version-7x-javascript-frameworks) - [JavaScript Frameworks](#version-7x-javascript-frameworks)
- [React](#version-7x-react) - [React](#version-7x-react)
- [Vue](#version-7x-vue) - [Vue](#version-7x-vue)
@ -182,6 +184,12 @@ Developers using the component will need to migrate to a virtual scroll solution
Any references to the virtual scroll types from `@ionic/core` have been removed. Please remove or replace these types: `Cell`, `VirtualNode`, `CellType`, `NodeChange`, `HeaderFn`, `ItemHeightFn`, `FooterHeightFn`, `ItemRenderFn` and `DomRenderFn`. Any references to the virtual scroll types from `@ionic/core` have been removed. Please remove or replace these types: `Cell`, `VirtualNode`, `CellType`, `NodeChange`, `HeaderFn`, `ItemHeightFn`, `FooterHeightFn`, `ItemRenderFn` and `DomRenderFn`.
<h2 id="version-7x-types">Types</h2>
<h4 id="version-7x-overlay-attribute-interfaces">Overlay Attribute Interfaces</h4>
`ActionSheetAttributes`, `AlertAttributes`, `AlertTextareaAttributes`, `AlertInputAttributes`, `LoadingAttributes`, `ModalAttributes`, `PickerAttributes`, `PopoverAttributes`, and `ToastAttributes` have been removed. Developers should use `{ [key: string]: any }` instead.
<h2 id="version-7x-javascript-frameworks">JavaScript Frameworks</h2> <h2 id="version-7x-javascript-frameworks">JavaScript Frameworks</h2>
<h4 id="version-7x-react">React</h4> <h4 id="version-7x-react">React</h4>

View File

@ -75,8 +75,6 @@ export {
ActionSheetButton, ActionSheetButton,
AlertOptions, AlertOptions,
AlertInput, AlertInput,
AlertTextareaAttributes,
AlertInputAttributes,
AlertButton, AlertButton,
BackButtonEvent, BackButtonEvent,
CheckboxCustomEvent, CheckboxCustomEvent,

View File

@ -5,16 +5,14 @@
* It contains typing information for all components that exist in this project. * It contains typing information for all components that exist in this project.
*/ */
import { HTMLStencilElement, JSXBase } from "@stencil/core/internal"; import { HTMLStencilElement, JSXBase } from "@stencil/core/internal";
import { AccordionGroupChangeEventDetail, ActionSheetAttributes, ActionSheetButton, AlertButton, AlertInput, AnimationBuilder, AutocompleteTypes, BreadcrumbCollapsedClickEventDetail, CheckboxChangeEventDetail, Color, ComponentProps, ComponentRef, DatetimeChangeEventDetail, DatetimePresentation, FrameworkDelegate, InputChangeEventDetail, InputInputEventDetail, ItemReorderEventDetail, LoadingAttributes, MenuChangeEventDetail, ModalAttributes, ModalBreakpointChangeEventDetail, ModalHandleBehavior, NavComponent, NavComponentWithProps, NavOptions, OverlayEventDetail, PickerAttributes, PickerButton, PickerColumn, PopoverAttributes, PopoverSize, PositionAlign, PositionReference, PositionSide, RadioGroupChangeEventDetail, RangeChangeEventDetail, RangeKnobMoveEndEventDetail, RangeKnobMoveStartEventDetail, RangeValue, RefresherEventDetail, RouteID, RouterDirection, RouterEventDetail, RouterOutletOptions, RouteWrite, ScrollBaseDetail, ScrollDetail, SearchbarChangeEventDetail, SegmentButtonLayout, SegmentChangeEventDetail, SelectChangeEventDetail, SelectInterface, SelectPopoverOption, Side, SpinnerTypes, StyleEventDetail, SwipeGestureHandler, TabBarChangedEventDetail, TabButtonClickEventDetail, TabButtonLayout, TextareaChangeEventDetail, TextFieldTypes, TitleSelectedDatesFormatter, ToastButton, ToggleChangeEventDetail, TransitionDoneFn, TransitionInstruction, TriggerAction, ViewController } from "./interface"; import { AccordionGroupChangeEventDetail, ActionSheetButton, AlertButton, AlertInput, AnimationBuilder, AutocompleteTypes, BreadcrumbCollapsedClickEventDetail, CheckboxChangeEventDetail, Color, ComponentProps, ComponentRef, DatetimeChangeEventDetail, DatetimePresentation, FrameworkDelegate, InputChangeEventDetail, InputInputEventDetail, ItemReorderEventDetail, MenuChangeEventDetail, ModalBreakpointChangeEventDetail, ModalHandleBehavior, NavComponent, NavComponentWithProps, NavOptions, OverlayEventDetail, PickerButton, PickerColumn, PopoverSize, PositionAlign, PositionReference, PositionSide, RadioGroupChangeEventDetail, RangeChangeEventDetail, RangeKnobMoveEndEventDetail, RangeKnobMoveStartEventDetail, RangeValue, RefresherEventDetail, RouteID, RouterDirection, RouterEventDetail, RouterOutletOptions, RouteWrite, ScrollBaseDetail, ScrollDetail, SearchbarChangeEventDetail, SegmentButtonLayout, SegmentChangeEventDetail, SelectChangeEventDetail, SelectInterface, SelectPopoverOption, Side, SpinnerTypes, StyleEventDetail, SwipeGestureHandler, TabBarChangedEventDetail, TabButtonClickEventDetail, TabButtonLayout, TextareaChangeEventDetail, TextFieldTypes, TitleSelectedDatesFormatter, ToastButton, ToggleChangeEventDetail, TransitionDoneFn, TransitionInstruction, TriggerAction, ViewController } from "./interface";
import { IonicSafeString } from "./utils/sanitization"; import { IonicSafeString } from "./utils/sanitization";
import { AlertAttributes } from "./components/alert/alert-interface";
import { CounterFormatter } from "./components/item/item-interface"; import { CounterFormatter } from "./components/item/item-interface";
import { PickerColumnItem } from "./components/picker-column-internal/picker-column-internal-interfaces"; import { PickerColumnItem } from "./components/picker-column-internal/picker-column-internal-interfaces";
import { PickerInternalChangeEventDetail } from "./components/picker-internal/picker-internal-interfaces"; import { PickerInternalChangeEventDetail } from "./components/picker-internal/picker-internal-interfaces";
import { PinFormatter } from "./components/range/range-interface"; import { PinFormatter } from "./components/range/range-interface";
import { NavigationHookCallback } from "./components/route/route-interface"; import { NavigationHookCallback } from "./components/route/route-interface";
import { SelectCompareFn } from "./components/select/select-interface"; import { SelectCompareFn } from "./components/select/select-interface";
import { ToastAttributes } from "./components/toast/toast-interface";
export namespace Components { export namespace Components {
interface IonAccordion { interface IonAccordion {
/** /**
@ -111,7 +109,7 @@ export namespace Components {
/** /**
* Additional attributes to pass to the action sheet. * Additional attributes to pass to the action sheet.
*/ */
"htmlAttributes"?: ActionSheetAttributes; "htmlAttributes"?: { [key: string]: any };
/** /**
* If `true`, the keyboard will be automatically dismissed when the overlay is presented. * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
*/ */
@ -180,7 +178,7 @@ export namespace Components {
/** /**
* Additional attributes to pass to the alert. * Additional attributes to pass to the alert.
*/ */
"htmlAttributes"?: AlertAttributes; "htmlAttributes"?: { [key: string]: any };
/** /**
* Array of input to show in the alert. * Array of input to show in the alert.
*/ */
@ -1404,7 +1402,7 @@ export namespace Components {
/** /**
* Additional attributes to pass to the loader. * Additional attributes to pass to the loader.
*/ */
"htmlAttributes"?: LoadingAttributes; "htmlAttributes"?: { [key: string]: any };
/** /**
* If `true`, the loading indicator will open. If `false`, the loading indicator will close. Use this if you need finer grained control over presentation, otherwise just use the loadingController or the `trigger` property. Note: `isOpen` will not automatically be set back to `false` when the loading indicator dismisses. You will need to do that in your code. * If `true`, the loading indicator will open. If `false`, the loading indicator will close. Use this if you need finer grained control over presentation, otherwise just use the loadingController or the `trigger` property. Note: `isOpen` will not automatically be set back to `false` when the loading indicator dismisses. You will need to do that in your code.
*/ */
@ -1605,7 +1603,7 @@ export namespace Components {
/** /**
* Additional attributes to pass to the modal. * Additional attributes to pass to the modal.
*/ */
"htmlAttributes"?: ModalAttributes; "htmlAttributes"?: { [key: string]: any };
/** /**
* A decimal value between 0 and 1 that indicates the initial point the modal will open at when creating a sheet modal. This value must also be listed in the `breakpoints` array. * A decimal value between 0 and 1 that indicates the initial point the modal will open at when creating a sheet modal. This value must also be listed in the `breakpoints` array.
*/ */
@ -1853,7 +1851,7 @@ export namespace Components {
/** /**
* Additional attributes to pass to the picker. * Additional attributes to pass to the picker.
*/ */
"htmlAttributes"?: PickerAttributes; "htmlAttributes"?: { [key: string]: any };
/** /**
* If `true`, the keyboard will be automatically dismissed when the overlay is presented. * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
*/ */
@ -1977,7 +1975,7 @@ export namespace Components {
/** /**
* Additional attributes to pass to the popover. * Additional attributes to pass to the popover.
*/ */
"htmlAttributes"?: PopoverAttributes; "htmlAttributes"?: { [key: string]: any };
/** /**
* If `true`, the popover will open. If `false`, the popover will close. Use this if you need finer grained control over presentation, otherwise just use the popoverController or the `trigger` property. Note: `isOpen` will not automatically be set back to `false` when the popover dismisses. You will need to do that in your code. * If `true`, the popover will open. If `false`, the popover will close. Use this if you need finer grained control over presentation, otherwise just use the popoverController or the `trigger` property. Note: `isOpen` will not automatically be set back to `false` when the popover dismisses. You will need to do that in your code.
*/ */
@ -2862,7 +2860,7 @@ export namespace Components {
/** /**
* Additional attributes to pass to the toast. * Additional attributes to pass to the toast.
*/ */
"htmlAttributes"?: ToastAttributes; "htmlAttributes"?: { [key: string]: any };
/** /**
* The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
*/ */
@ -3864,7 +3862,7 @@ declare namespace LocalJSX {
/** /**
* Additional attributes to pass to the action sheet. * Additional attributes to pass to the action sheet.
*/ */
"htmlAttributes"?: ActionSheetAttributes; "htmlAttributes"?: { [key: string]: any };
/** /**
* If `true`, the keyboard will be automatically dismissed when the overlay is presented. * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
*/ */
@ -3931,7 +3929,7 @@ declare namespace LocalJSX {
/** /**
* Additional attributes to pass to the alert. * Additional attributes to pass to the alert.
*/ */
"htmlAttributes"?: AlertAttributes; "htmlAttributes"?: { [key: string]: any };
/** /**
* Array of input to show in the alert. * Array of input to show in the alert.
*/ */
@ -5206,7 +5204,7 @@ declare namespace LocalJSX {
/** /**
* Additional attributes to pass to the loader. * Additional attributes to pass to the loader.
*/ */
"htmlAttributes"?: LoadingAttributes; "htmlAttributes"?: { [key: string]: any };
/** /**
* If `true`, the loading indicator will open. If `false`, the loading indicator will close. Use this if you need finer grained control over presentation, otherwise just use the loadingController or the `trigger` property. Note: `isOpen` will not automatically be set back to `false` when the loading indicator dismisses. You will need to do that in your code. * If `true`, the loading indicator will open. If `false`, the loading indicator will close. Use this if you need finer grained control over presentation, otherwise just use the loadingController or the `trigger` property. Note: `isOpen` will not automatically be set back to `false` when the loading indicator dismisses. You will need to do that in your code.
*/ */
@ -5413,7 +5411,7 @@ declare namespace LocalJSX {
/** /**
* Additional attributes to pass to the modal. * Additional attributes to pass to the modal.
*/ */
"htmlAttributes"?: ModalAttributes; "htmlAttributes"?: { [key: string]: any };
/** /**
* A decimal value between 0 and 1 that indicates the initial point the modal will open at when creating a sheet modal. This value must also be listed in the `breakpoints` array. * A decimal value between 0 and 1 that indicates the initial point the modal will open at when creating a sheet modal. This value must also be listed in the `breakpoints` array.
*/ */
@ -5583,7 +5581,7 @@ declare namespace LocalJSX {
/** /**
* Additional attributes to pass to the picker. * Additional attributes to pass to the picker.
*/ */
"htmlAttributes"?: PickerAttributes; "htmlAttributes"?: { [key: string]: any };
/** /**
* If `true`, the keyboard will be automatically dismissed when the overlay is presented. * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
*/ */
@ -5707,7 +5705,7 @@ declare namespace LocalJSX {
/** /**
* Additional attributes to pass to the popover. * Additional attributes to pass to the popover.
*/ */
"htmlAttributes"?: PopoverAttributes; "htmlAttributes"?: { [key: string]: any };
/** /**
* If `true`, the popover will open. If `false`, the popover will close. Use this if you need finer grained control over presentation, otherwise just use the popoverController or the `trigger` property. Note: `isOpen` will not automatically be set back to `false` when the popover dismisses. You will need to do that in your code. * If `true`, the popover will open. If `false`, the popover will close. Use this if you need finer grained control over presentation, otherwise just use the popoverController or the `trigger` property. Note: `isOpen` will not automatically be set back to `false` when the popover dismisses. You will need to do that in your code.
*/ */
@ -6708,7 +6706,7 @@ declare namespace LocalJSX {
/** /**
* Additional attributes to pass to the toast. * Additional attributes to pass to the toast.
*/ */
"htmlAttributes"?: ToastAttributes; "htmlAttributes"?: { [key: string]: any };
/** /**
* The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
*/ */

View File

@ -11,17 +11,12 @@ export interface ActionSheetOptions {
mode?: Mode; mode?: Mode;
keyboardClose?: boolean; keyboardClose?: boolean;
id?: string; id?: string;
htmlAttributes?: ActionSheetAttributes; htmlAttributes?: { [key: string]: any };
enterAnimation?: AnimationBuilder; enterAnimation?: AnimationBuilder;
leaveAnimation?: AnimationBuilder; leaveAnimation?: AnimationBuilder;
} }
/**
* @deprecated - Use { [key: string]: any } directly instead.
*/
export type ActionSheetAttributes = { [key: string]: any };
export interface ActionSheetButton<T = any> { export interface ActionSheetButton<T = any> {
text?: string; text?: string;
role?: 'cancel' | 'destructive' | 'selected' | string; role?: 'cancel' | 'destructive' | 'selected' | string;

View File

@ -3,7 +3,6 @@ import { Component, Element, Event, Host, Method, Prop, h, readTask } from '@ste
import { getIonMode } from '../../global/ionic-global'; import { getIonMode } from '../../global/ionic-global';
import type { import type {
ActionSheetAttributes,
ActionSheetButton, ActionSheetButton,
AnimationBuilder, AnimationBuilder,
CssClassMap, CssClassMap,
@ -100,7 +99,7 @@ export class ActionSheet implements ComponentInterface, OverlayInterface {
/** /**
* Additional attributes to pass to the action sheet. * Additional attributes to pass to the action sheet.
*/ */
@Prop() htmlAttributes?: ActionSheetAttributes; @Prop() htmlAttributes?: { [key: string]: any };
/** /**
* Emitted after the alert has presented. * Emitted after the alert has presented.

View File

@ -11,7 +11,7 @@ export interface AlertOptions {
backdropDismiss?: boolean; backdropDismiss?: boolean;
translucent?: boolean; translucent?: boolean;
animated?: boolean; animated?: boolean;
htmlAttributes?: AlertAttributes; htmlAttributes?: { [key: string]: any };
mode?: Mode; mode?: Mode;
keyboardClose?: boolean; keyboardClose?: boolean;
@ -21,11 +21,6 @@ export interface AlertOptions {
leaveAnimation?: AnimationBuilder; leaveAnimation?: AnimationBuilder;
} }
/**
* @deprecated - Use { [key: string]: any } directly instead.
*/
export type AlertAttributes = { [key: string]: any };
export interface AlertInput { export interface AlertInput {
type?: TextFieldTypes | 'checkbox' | 'radio' | 'textarea'; type?: TextFieldTypes | 'checkbox' | 'radio' | 'textarea';
name?: string; name?: string;
@ -39,20 +34,10 @@ export interface AlertInput {
min?: string | number; min?: string | number;
max?: string | number; max?: string | number;
cssClass?: string | string[]; cssClass?: string | string[];
attributes?: AlertInputAttributes | AlertTextareaAttributes; attributes?: { [key: string]: any };
tabindex?: number; tabindex?: number;
} }
/**
* @deprecated - Use { [key: string]: any } directly instead.
*/
export type AlertTextareaAttributes = { [key: string]: any };
/**
* @deprecated - Use { [key: string]: any } directly instead.
*/
export type AlertInputAttributes = { [key: string]: any };
type AlertButtonOverlayHandler = boolean | void | { [key: string]: any }; type AlertButtonOverlayHandler = boolean | void | { [key: string]: any };
export interface AlertButton { export interface AlertButton {

View File

@ -5,8 +5,6 @@ import { getIonMode } from '../../global/ionic-global';
import type { import type {
AlertButton, AlertButton,
AlertInput, AlertInput,
AlertInputAttributes,
AlertTextareaAttributes,
AnimationBuilder, AnimationBuilder,
CssClassMap, CssClassMap,
OverlayEventDetail, OverlayEventDetail,
@ -19,7 +17,6 @@ import type { IonicSafeString } from '../../utils/sanitization';
import { sanitizeDOMString } from '../../utils/sanitization'; import { sanitizeDOMString } from '../../utils/sanitization';
import { getClassMap } from '../../utils/theme'; import { getClassMap } from '../../utils/theme';
import type { AlertAttributes } from './alert-interface';
import { iosEnterAnimation } from './animations/ios.enter'; import { iosEnterAnimation } from './animations/ios.enter';
import { iosLeaveAnimation } from './animations/ios.leave'; import { iosLeaveAnimation } from './animations/ios.leave';
import { mdEnterAnimation } from './animations/md.enter'; import { mdEnterAnimation } from './animations/md.enter';
@ -124,7 +121,7 @@ export class Alert implements ComponentInterface, OverlayInterface {
/** /**
* Additional attributes to pass to the alert. * Additional attributes to pass to the alert.
*/ */
@Prop() htmlAttributes?: AlertAttributes; @Prop() htmlAttributes?: { [key: string]: any };
/** /**
* Emitted after the alert has presented. * Emitted after the alert has presented.
@ -499,7 +496,7 @@ export class Alert implements ComponentInterface, OverlayInterface {
value={i.value} value={i.value}
id={i.id} id={i.id}
tabIndex={i.tabindex} tabIndex={i.tabindex}
{...(i.attributes as AlertTextareaAttributes)} {...(i.attributes as { [key: string]: any })}
disabled={i.attributes?.disabled ?? i.disabled} disabled={i.attributes?.disabled ?? i.disabled}
class={inputClass(i)} class={inputClass(i)}
onInput={(e) => { onInput={(e) => {
@ -522,7 +519,7 @@ export class Alert implements ComponentInterface, OverlayInterface {
value={i.value} value={i.value}
id={i.id} id={i.id}
tabIndex={i.tabindex} tabIndex={i.tabindex}
{...(i.attributes as AlertInputAttributes)} {...(i.attributes as { [key: string]: any })}
disabled={i.attributes?.disabled ?? i.disabled} disabled={i.attributes?.disabled ?? i.disabled}
class={inputClass(i)} class={inputClass(i)}
onInput={(e) => { onInput={(e) => {

View File

@ -13,13 +13,8 @@ export interface LoadingOptions {
mode?: Mode; mode?: Mode;
keyboardClose?: boolean; keyboardClose?: boolean;
id?: string; id?: string;
htmlAttributes?: LoadingAttributes; htmlAttributes?: { [key: string]: any };
enterAnimation?: AnimationBuilder; enterAnimation?: AnimationBuilder;
leaveAnimation?: AnimationBuilder; leaveAnimation?: AnimationBuilder;
} }
/**
* @deprecated - Use { [key: string]: any } directly instead.
*/
export type LoadingAttributes = { [key: string]: any };

View File

@ -6,7 +6,6 @@ import { getIonMode } from '../../global/ionic-global';
import type { import type {
AnimationBuilder, AnimationBuilder,
FrameworkDelegate, FrameworkDelegate,
LoadingAttributes,
OverlayEventDetail, OverlayEventDetail,
OverlayInterface, OverlayInterface,
SpinnerTypes, SpinnerTypes,
@ -122,7 +121,7 @@ export class Loading implements ComponentInterface, OverlayInterface {
/** /**
* Additional attributes to pass to the loader. * Additional attributes to pass to the loader.
*/ */
@Prop() htmlAttributes?: LoadingAttributes; @Prop() htmlAttributes?: { [key: string]: any };
/** /**
* If `true`, the loading indicator will open. If `false`, the loading indicator will close. * If `true`, the loading indicator will open. If `false`, the loading indicator will close.

View File

@ -14,7 +14,7 @@ export interface ModalOptions<T extends ComponentRef = ComponentRef> {
mode?: Mode; mode?: Mode;
keyboardClose?: boolean; keyboardClose?: boolean;
id?: string; id?: string;
htmlAttributes?: ModalAttributes; htmlAttributes?: { [key: string]: any };
enterAnimation?: AnimationBuilder; enterAnimation?: AnimationBuilder;
leaveAnimation?: AnimationBuilder; leaveAnimation?: AnimationBuilder;
@ -40,11 +40,6 @@ export interface ModalCustomEvent extends CustomEvent {
target: HTMLIonModalElement; target: HTMLIonModalElement;
} }
/**
* @deprecated - Use { [key: string]: any } directly instead.
*/
export type ModalAttributes = { [key: string]: any };
/** /**
* The behavior setting for modals when the handle is pressed. * The behavior setting for modals when the handle is pressed.
*/ */

View File

@ -10,7 +10,6 @@ import type {
ComponentRef, ComponentRef,
FrameworkDelegate, FrameworkDelegate,
Gesture, Gesture,
ModalAttributes,
ModalBreakpointChangeEventDetail, ModalBreakpointChangeEventDetail,
ModalHandleBehavior, ModalHandleBehavior,
OverlayEventDetail, OverlayEventDetail,
@ -202,7 +201,7 @@ export class Modal implements ComponentInterface, OverlayInterface {
/** /**
* Additional attributes to pass to the modal. * Additional attributes to pass to the modal.
*/ */
@Prop() htmlAttributes?: ModalAttributes; @Prop() htmlAttributes?: { [key: string]: any };
/** /**
* If `true`, the modal will open. If `false`, the modal will close. * If `true`, the modal will open. If `false`, the modal will close.

View File

@ -11,17 +11,12 @@ export interface PickerOptions {
mode?: Mode; mode?: Mode;
keyboardClose?: boolean; keyboardClose?: boolean;
id?: string; id?: string;
htmlAttributes?: PickerAttributes; htmlAttributes?: { [key: string]: any };
enterAnimation?: AnimationBuilder; enterAnimation?: AnimationBuilder;
leaveAnimation?: AnimationBuilder; leaveAnimation?: AnimationBuilder;
} }
/**
* @deprecated - Use { [key: string]: any } directly instead.
*/
export type PickerAttributes = { [key: string]: any };
export interface PickerButton { export interface PickerButton {
text?: string; text?: string;
role?: string; role?: string;

View File

@ -7,7 +7,6 @@ import type {
CssClassMap, CssClassMap,
OverlayEventDetail, OverlayEventDetail,
OverlayInterface, OverlayInterface,
PickerAttributes,
PickerButton, PickerButton,
PickerColumn, PickerColumn,
} from '../../interface'; } from '../../interface';
@ -93,7 +92,7 @@ export class Picker implements ComponentInterface, OverlayInterface {
/** /**
* Additional attributes to pass to the picker. * Additional attributes to pass to the picker.
*/ */
@Prop() htmlAttributes?: PickerAttributes; @Prop() htmlAttributes?: { [key: string]: any };
/** /**
* Emitted after the picker has presented. * Emitted after the picker has presented.

View File

@ -25,7 +25,7 @@ export interface PopoverOptions<T extends ComponentRef = ComponentRef> {
mode?: Mode; mode?: Mode;
keyboardClose?: boolean; keyboardClose?: boolean;
id?: string; id?: string;
htmlAttributes?: PopoverAttributes; htmlAttributes?: { [key: string]: any };
enterAnimation?: AnimationBuilder; enterAnimation?: AnimationBuilder;
leaveAnimation?: AnimationBuilder; leaveAnimation?: AnimationBuilder;
@ -41,11 +41,6 @@ export interface PopoverOptions<T extends ComponentRef = ComponentRef> {
triggerAction?: string; triggerAction?: string;
} }
/**
* @deprecated - Use { [key: string]: any } directly instead.
*/
export type PopoverAttributes = { [key: string]: any };
export type PopoverSize = 'cover' | 'auto'; export type PopoverSize = 'cover' | 'auto';
export type TriggerAction = 'click' | 'hover' | 'context-menu'; export type TriggerAction = 'click' | 'hover' | 'context-menu';

View File

@ -8,7 +8,6 @@ import type {
ComponentRef, ComponentRef,
FrameworkDelegate, FrameworkDelegate,
OverlayEventDetail, OverlayEventDetail,
PopoverAttributes,
PopoverInterface, PopoverInterface,
PopoverSize, PopoverSize,
PositionAlign, PositionAlign,
@ -150,7 +149,7 @@ export class Popover implements ComponentInterface, PopoverInterface {
/** /**
* Additional attributes to pass to the popover. * Additional attributes to pass to the popover.
*/ */
@Prop() htmlAttributes?: PopoverAttributes; @Prop() htmlAttributes?: { [key: string]: any };
/** /**
* Describes what kind of interaction with the trigger that * Describes what kind of interaction with the trigger that

View File

@ -11,7 +11,7 @@ export interface ToastOptions {
translucent?: boolean; translucent?: boolean;
animated?: boolean; animated?: boolean;
icon?: string; icon?: string;
htmlAttributes?: ToastAttributes; htmlAttributes?: { [key: string]: any };
color?: Color; color?: Color;
mode?: Mode; mode?: Mode;
@ -22,11 +22,6 @@ export interface ToastOptions {
leaveAnimation?: AnimationBuilder; leaveAnimation?: AnimationBuilder;
} }
/**
* @deprecated - Use { [key: string]: any } directly instead.
*/
export type ToastAttributes = { [key: string]: any };
export interface ToastButton { export interface ToastButton {
text?: string; text?: string;
icon?: string; icon?: string;

View File

@ -19,7 +19,6 @@ import { iosEnterAnimation } from './animations/ios.enter';
import { iosLeaveAnimation } from './animations/ios.leave'; import { iosLeaveAnimation } from './animations/ios.leave';
import { mdEnterAnimation } from './animations/md.enter'; import { mdEnterAnimation } from './animations/md.enter';
import { mdLeaveAnimation } from './animations/md.leave'; import { mdLeaveAnimation } from './animations/md.leave';
import type { ToastAttributes } from './toast-interface';
/** /**
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use. * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
@ -125,7 +124,7 @@ export class Toast implements ComponentInterface, OverlayInterface {
/** /**
* Additional attributes to pass to the toast. * Additional attributes to pass to the toast.
*/ */
@Prop() htmlAttributes?: ToastAttributes; @Prop() htmlAttributes?: { [key: string]: any };
/** /**
* Emitted after the toast has presented. * Emitted after the toast has presented.

View File

@ -35,8 +35,6 @@ export {
AlertOptions, AlertOptions,
AlertInput, AlertInput,
AlertTextareaAttributes,
AlertInputAttributes,
AlertButton, AlertButton,
BackButtonEvent, BackButtonEvent,

View File

@ -69,8 +69,6 @@ export {
AlertOptions, AlertOptions,
AlertInput, AlertInput,
AlertTextareaAttributes,
AlertInputAttributes,
AlertButton, AlertButton,
BackButtonEvent, BackButtonEvent,