diff --git a/angular/src/directives/proxies-list.txt b/angular/src/directives/proxies-list.txt index 0f06d58842..0c4ca502be 100644 --- a/angular/src/directives/proxies-list.txt +++ b/angular/src/directives/proxies-list.txt @@ -2,7 +2,7 @@ import * as d from './proxies'; export const DIRECTIVES = [ -d.IonApp, + d.IonApp, d.IonAvatar, d.IonBackButton, d.IonBackdrop, diff --git a/angular/src/directives/proxies-utils.ts b/angular/src/directives/proxies-utils.ts index f09d5efbbe..c1f72601f4 100644 --- a/angular/src/directives/proxies-utils.ts +++ b/angular/src/directives/proxies-utils.ts @@ -1,29 +1,30 @@ +/* eslint-disable */ /* tslint:disable */ import { fromEvent } from 'rxjs'; export const proxyInputs = (Cmp: any, inputs: string[]) => { const Prototype = Cmp.prototype; inputs.forEach(item => { - Object.defineProperty(Prototype, item, { - get() { - return this.el[item]; - }, - set(val: any) { - this.z.runOutsideAngular(() => (this.el[item] = val)); - } - }); + Object.defineProperty(Prototype, item, { + get() { + return this.el[item]; + }, + set(val: any) { + this.z.runOutsideAngular(() => (this.el[item] = val)); + } + }); }); }; export const proxyMethods = (Cmp: any, methods: string[]) => { const Prototype = Cmp.prototype; methods.forEach(methodName => { - Prototype[methodName] = function () { - const args = arguments; - return this.z.runOutsideAngular(() => - this.el[methodName].apply(this.el, args) - ); - }; + Prototype[methodName] = function () { + const args = arguments; + return this.z.runOutsideAngular(() => + this.el[methodName].apply(this.el, args) + ); + }; }); }; @@ -31,16 +32,15 @@ export const proxyOutputs = (instance: any, el: any, events: string[]) => { events.forEach(eventName => instance[eventName] = fromEvent(el, eventName)); } -// tslint:disable-next-line: only-arrow-functions export function ProxyCmp(opts: { inputs?: any; methods?: any }) { const decorator = function(cls: any){ - if (opts.inputs) { - proxyInputs(cls, opts.inputs); - } - if (opts.methods) { - proxyMethods(cls, opts.methods); - } - return cls; + if (opts.inputs) { + proxyInputs(cls, opts.inputs); + } + if (opts.methods) { + proxyMethods(cls, opts.methods); + } + return cls; }; return decorator; } diff --git a/angular/src/directives/proxies.ts b/angular/src/directives/proxies.ts index 46b57543cd..011fbf27a1 100644 --- a/angular/src/directives/proxies.ts +++ b/angular/src/directives/proxies.ts @@ -1,888 +1,881 @@ +/* eslint-disable */ /* tslint:disable */ /* auto-generated angular directive proxies */ -import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, NgZone } from '@angular/core'; -import { ProxyCmp, proxyOutputs } from './proxies-utils'; - -import { Components } from '@ionic/core'; - -export declare interface IonApp extends Components.IonApp {} - -@Component({ selector: 'ion-app', changeDetection: ChangeDetectionStrategy.OnPush, template: '' }) +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, NgZone } from "@angular/core"; +import { ProxyCmp, proxyOutputs } from "./proxies-utils"; +import { Components } from "@ionic/core"; +export declare interface IonApp extends Components.IonApp { +} +@Component({ selector: "ion-app", changeDetection: ChangeDetectionStrategy.OnPush, template: "" }) export class IonApp { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonAvatar extends Components.IonAvatar {} - -@Component({ selector: 'ion-avatar', changeDetection: ChangeDetectionStrategy.OnPush, template: '' }) +export declare interface IonAvatar extends Components.IonAvatar { +} +@Component({ selector: "ion-avatar", changeDetection: ChangeDetectionStrategy.OnPush, template: "" }) export class IonAvatar { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonBackButton extends Components.IonBackButton {} -@ProxyCmp({inputs: ['color', 'defaultHref', 'disabled', 'icon', 'mode', 'text', 'type']}) -@Component({ selector: 'ion-back-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'defaultHref', 'disabled', 'icon', 'mode', 'text', 'type'] }) +export declare interface IonBackButton extends Components.IonBackButton { +} +@ProxyCmp({ inputs: ["color", "defaultHref", "disabled", "icon", "mode", "text", "type"] }) +@Component({ selector: "ion-back-button", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "defaultHref", "disabled", "icon", "mode", "text", "type"] }) export class IonBackButton { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonBackdrop extends Components.IonBackdrop {} -@ProxyCmp({inputs: ['stopPropagation', 'tappable', 'visible']}) -@Component({ selector: 'ion-backdrop', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['stopPropagation', 'tappable', 'visible'] }) +export declare interface IonBackdrop extends Components.IonBackdrop { +} +@ProxyCmp({ inputs: ["stopPropagation", "tappable", "visible"] }) +@Component({ selector: "ion-backdrop", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["stopPropagation", "tappable", "visible"] }) export class IonBackdrop { - ionBackdropTap!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionBackdropTap']); - } + ionBackdropTap!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionBackdropTap"]); + } } - -export declare interface IonBadge extends Components.IonBadge {} -@ProxyCmp({inputs: ['color', 'mode']}) -@Component({ selector: 'ion-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'mode'] }) +export declare interface IonBadge extends Components.IonBadge { +} +@ProxyCmp({ inputs: ["color", "mode"] }) +@Component({ selector: "ion-badge", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "mode"] }) export class IonBadge { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonButton extends Components.IonButton {} -@ProxyCmp({inputs: ['buttonType', 'color', 'disabled', 'download', 'expand', 'fill', 'href', 'mode', 'rel', 'routerDirection', 'shape', 'size', 'strong', 'target', 'type']}) -@Component({ selector: 'ion-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['buttonType', 'color', 'disabled', 'download', 'expand', 'fill', 'href', 'mode', 'rel', 'routerDirection', 'shape', 'size', 'strong', 'target', 'type'] }) +export declare interface IonButton extends Components.IonButton { +} +@ProxyCmp({ inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerDirection", "shape", "size", "strong", "target", "type"] }) +@Component({ selector: "ion-button", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerDirection", "shape", "size", "strong", "target", "type"] }) export class IonButton { - ionFocus!: EventEmitter; - ionBlur!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']); - } + ionFocus!: EventEmitter; + ionBlur!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionFocus", "ionBlur"]); + } } - -export declare interface IonButtons extends Components.IonButtons {} -@ProxyCmp({inputs: ['collapse']}) -@Component({ selector: 'ion-buttons', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['collapse'] }) +export declare interface IonButtons extends Components.IonButtons { +} +@ProxyCmp({ inputs: ["collapse"] }) +@Component({ selector: "ion-buttons", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["collapse"] }) export class IonButtons { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonCard extends Components.IonCard {} -@ProxyCmp({inputs: ['button', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerDirection', 'target', 'type']}) -@Component({ selector: 'ion-card', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['button', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerDirection', 'target', 'type'] }) +export declare interface IonCard extends Components.IonCard { +} +@ProxyCmp({ inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerDirection", "target", "type"] }) +@Component({ selector: "ion-card", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerDirection", "target", "type"] }) export class IonCard { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonCardContent extends Components.IonCardContent {} -@ProxyCmp({inputs: ['mode']}) -@Component({ selector: 'ion-card-content', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['mode'] }) +export declare interface IonCardContent extends Components.IonCardContent { +} +@ProxyCmp({ inputs: ["mode"] }) +@Component({ selector: "ion-card-content", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["mode"] }) export class IonCardContent { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonCardHeader extends Components.IonCardHeader {} -@ProxyCmp({inputs: ['color', 'mode', 'translucent']}) -@Component({ selector: 'ion-card-header', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'mode', 'translucent'] }) +export declare interface IonCardHeader extends Components.IonCardHeader { +} +@ProxyCmp({ inputs: ["color", "mode", "translucent"] }) +@Component({ selector: "ion-card-header", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "mode", "translucent"] }) export class IonCardHeader { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonCardSubtitle extends Components.IonCardSubtitle {} -@ProxyCmp({inputs: ['color', 'mode']}) -@Component({ selector: 'ion-card-subtitle', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'mode'] }) +export declare interface IonCardSubtitle extends Components.IonCardSubtitle { +} +@ProxyCmp({ inputs: ["color", "mode"] }) +@Component({ selector: "ion-card-subtitle", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "mode"] }) export class IonCardSubtitle { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonCardTitle extends Components.IonCardTitle {} -@ProxyCmp({inputs: ['color', 'mode']}) -@Component({ selector: 'ion-card-title', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'mode'] }) +export declare interface IonCardTitle extends Components.IonCardTitle { +} +@ProxyCmp({ inputs: ["color", "mode"] }) +@Component({ selector: "ion-card-title", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "mode"] }) export class IonCardTitle { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonCheckbox extends Components.IonCheckbox {} -@ProxyCmp({inputs: ['checked', 'color', 'disabled', 'indeterminate', 'mode', 'name', 'value']}) -@Component({ selector: 'ion-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['checked', 'color', 'disabled', 'indeterminate', 'mode', 'name', 'value'] }) +export declare interface IonCheckbox extends Components.IonCheckbox { +} +@ProxyCmp({ inputs: ["checked", "color", "disabled", "indeterminate", "mode", "name", "value"] }) +@Component({ selector: "ion-checkbox", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["checked", "color", "disabled", "indeterminate", "mode", "name", "value"] }) export class IonCheckbox { - ionChange!: EventEmitter; - ionFocus!: EventEmitter; - ionBlur!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']); - } + ionChange!: EventEmitter; + ionFocus!: EventEmitter; + ionBlur!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionChange", "ionFocus", "ionBlur"]); + } } - -export declare interface IonChip extends Components.IonChip {} -@ProxyCmp({inputs: ['color', 'mode', 'outline']}) -@Component({ selector: 'ion-chip', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'mode', 'outline'] }) +export declare interface IonChip extends Components.IonChip { +} +@ProxyCmp({ inputs: ["color", "mode", "outline"] }) +@Component({ selector: "ion-chip", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "mode", "outline"] }) export class IonChip { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonCol extends Components.IonCol {} -@ProxyCmp({inputs: ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXs', 'pull', 'pullLg', 'pullMd', 'pullSm', 'pullXl', 'pullXs', 'push', 'pushLg', 'pushMd', 'pushSm', 'pushXl', 'pushXs', 'size', 'sizeLg', 'sizeMd', 'sizeSm', 'sizeXl', 'sizeXs']}) -@Component({ selector: 'ion-col', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXs', 'pull', 'pullLg', 'pullMd', 'pullSm', 'pullXl', 'pullXs', 'push', 'pushLg', 'pushMd', 'pushSm', 'pushXl', 'pushXs', 'size', 'sizeLg', 'sizeMd', 'sizeSm', 'sizeXl', 'sizeXs'] }) +export declare interface IonCol extends Components.IonCol { +} +@ProxyCmp({ inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }) +@Component({ selector: "ion-col", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }) export class IonCol { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonContent extends Components.IonContent {} -@ProxyCmp({inputs: ['color', 'forceOverscroll', 'fullscreen', 'scrollEvents', 'scrollX', 'scrollY'], 'methods': ['getScrollElement', 'scrollToTop', 'scrollToBottom', 'scrollByPoint', 'scrollToPoint']}) -@Component({ selector: 'ion-content', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'forceOverscroll', 'fullscreen', 'scrollEvents', 'scrollX', 'scrollY'] }) +export declare interface IonContent extends Components.IonContent { +} +@ProxyCmp({ inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"], "methods": ["getScrollElement", "scrollToTop", "scrollToBottom", "scrollByPoint", "scrollToPoint"] }) +@Component({ selector: "ion-content", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }) export class IonContent { - ionScrollStart!: EventEmitter; - ionScroll!: EventEmitter; - ionScrollEnd!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionScrollStart', 'ionScroll', 'ionScrollEnd']); - } + ionScrollStart!: EventEmitter; + ionScroll!: EventEmitter; + ionScrollEnd!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionScrollStart", "ionScroll", "ionScrollEnd"]); + } } - -export declare interface IonDatetime extends Components.IonDatetime {} -@ProxyCmp({inputs: ['cancelText', 'dayNames', 'dayShortNames', 'dayValues', 'disabled', 'displayFormat', 'displayTimezone', 'doneText', 'hourValues', 'max', 'min', 'minuteValues', 'mode', 'monthNames', 'monthShortNames', 'monthValues', 'name', 'pickerFormat', 'pickerOptions', 'placeholder', 'readonly', 'value', 'yearValues'], 'methods': ['open']}) -@Component({ selector: 'ion-datetime', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['cancelText', 'dayNames', 'dayShortNames', 'dayValues', 'disabled', 'displayFormat', 'displayTimezone', 'doneText', 'hourValues', 'max', 'min', 'minuteValues', 'mode', 'monthNames', 'monthShortNames', 'monthValues', 'name', 'pickerFormat', 'pickerOptions', 'placeholder', 'readonly', 'value', 'yearValues'] }) +export declare interface IonDatetime extends Components.IonDatetime { +} +@ProxyCmp({ inputs: ["cancelText", "dayNames", "dayShortNames", "dayValues", "disabled", "displayFormat", "displayTimezone", "doneText", "hourValues", "max", "min", "minuteValues", "mode", "monthNames", "monthShortNames", "monthValues", "name", "pickerFormat", "pickerOptions", "placeholder", "readonly", "value", "yearValues"], "methods": ["open"] }) +@Component({ selector: "ion-datetime", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["cancelText", "dayNames", "dayShortNames", "dayValues", "disabled", "displayFormat", "displayTimezone", "doneText", "hourValues", "max", "min", "minuteValues", "mode", "monthNames", "monthShortNames", "monthValues", "name", "pickerFormat", "pickerOptions", "placeholder", "readonly", "value", "yearValues"] }) export class IonDatetime { - ionCancel!: EventEmitter; - ionChange!: EventEmitter; - ionFocus!: EventEmitter; - ionBlur!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionCancel', 'ionChange', 'ionFocus', 'ionBlur']); - } + ionCancel!: EventEmitter; + ionChange!: EventEmitter; + ionFocus!: EventEmitter; + ionBlur!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionCancel", "ionChange", "ionFocus", "ionBlur"]); + } } - -export declare interface IonFab extends Components.IonFab {} -@ProxyCmp({inputs: ['activated', 'edge', 'horizontal', 'vertical'], 'methods': ['close']}) -@Component({ selector: 'ion-fab', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['activated', 'edge', 'horizontal', 'vertical'] }) +export declare interface IonFab extends Components.IonFab { +} +@ProxyCmp({ inputs: ["activated", "edge", "horizontal", "vertical"], "methods": ["close"] }) +@Component({ selector: "ion-fab", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["activated", "edge", "horizontal", "vertical"] }) export class IonFab { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonFabButton extends Components.IonFabButton {} -@ProxyCmp({inputs: ['activated', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerDirection', 'show', 'size', 'target', 'translucent', 'type']}) -@Component({ selector: 'ion-fab-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['activated', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerDirection', 'show', 'size', 'target', 'translucent', 'type'] }) +export declare interface IonFabButton extends Components.IonFabButton { +} +@ProxyCmp({ inputs: ["activated", "color", "disabled", "download", "href", "mode", "rel", "routerDirection", "show", "size", "target", "translucent", "type"] }) +@Component({ selector: "ion-fab-button", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["activated", "color", "disabled", "download", "href", "mode", "rel", "routerDirection", "show", "size", "target", "translucent", "type"] }) export class IonFabButton { - ionFocus!: EventEmitter; - ionBlur!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']); - } + ionFocus!: EventEmitter; + ionBlur!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionFocus", "ionBlur"]); + } } - -export declare interface IonFabList extends Components.IonFabList {} -@ProxyCmp({inputs: ['activated', 'side']}) -@Component({ selector: 'ion-fab-list', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['activated', 'side'] }) +export declare interface IonFabList extends Components.IonFabList { +} +@ProxyCmp({ inputs: ["activated", "side"] }) +@Component({ selector: "ion-fab-list", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["activated", "side"] }) export class IonFabList { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonFooter extends Components.IonFooter {} -@ProxyCmp({inputs: ['mode', 'translucent']}) -@Component({ selector: 'ion-footer', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['mode', 'translucent'] }) +export declare interface IonFooter extends Components.IonFooter { +} +@ProxyCmp({ inputs: ["mode", "translucent"] }) +@Component({ selector: "ion-footer", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["mode", "translucent"] }) export class IonFooter { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonGrid extends Components.IonGrid {} -@ProxyCmp({inputs: ['fixed']}) -@Component({ selector: 'ion-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['fixed'] }) +export declare interface IonGrid extends Components.IonGrid { +} +@ProxyCmp({ inputs: ["fixed"] }) +@Component({ selector: "ion-grid", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["fixed"] }) export class IonGrid { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonHeader extends Components.IonHeader {} -@ProxyCmp({inputs: ['collapse', 'mode', 'translucent']}) -@Component({ selector: 'ion-header', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['collapse', 'mode', 'translucent'] }) +export declare interface IonHeader extends Components.IonHeader { +} +@ProxyCmp({ inputs: ["collapse", "mode", "translucent"] }) +@Component({ selector: "ion-header", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["collapse", "mode", "translucent"] }) export class IonHeader { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonIcon extends Components.IonIcon {} -@ProxyCmp({inputs: ['ariaLabel', 'color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'size', 'src']}) -@Component({ selector: 'ion-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['ariaLabel', 'color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'size', 'src'] }) +export declare interface IonIcon extends Components.IonIcon { +} +@ProxyCmp({ inputs: ["ariaLabel", "color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "size", "src"] }) +@Component({ selector: "ion-icon", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["ariaLabel", "color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "size", "src"] }) export class IonIcon { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonImg extends Components.IonImg {} -@ProxyCmp({inputs: ['alt', 'src']}) -@Component({ selector: 'ion-img', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['alt', 'src'] }) +export declare interface IonImg extends Components.IonImg { +} +@ProxyCmp({ inputs: ["alt", "src"] }) +@Component({ selector: "ion-img", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["alt", "src"] }) export class IonImg { - ionImgWillLoad!: EventEmitter; - ionImgDidLoad!: EventEmitter; - ionError!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionImgWillLoad', 'ionImgDidLoad', 'ionError']); - } + ionImgWillLoad!: EventEmitter; + ionImgDidLoad!: EventEmitter; + ionError!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionImgWillLoad", "ionImgDidLoad", "ionError"]); + } } - -export declare interface IonInfiniteScroll extends Components.IonInfiniteScroll {} -@ProxyCmp({inputs: ['disabled', 'position', 'threshold'], 'methods': ['complete']}) -@Component({ selector: 'ion-infinite-scroll', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['disabled', 'position', 'threshold'] }) +export declare interface IonInfiniteScroll extends Components.IonInfiniteScroll { +} +@ProxyCmp({ inputs: ["disabled", "position", "threshold"], "methods": ["complete"] }) +@Component({ selector: "ion-infinite-scroll", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["disabled", "position", "threshold"] }) export class IonInfiniteScroll { - ionInfinite!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionInfinite']); - } + ionInfinite!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionInfinite"]); + } } - -export declare interface IonInfiniteScrollContent extends Components.IonInfiniteScrollContent {} -@ProxyCmp({inputs: ['loadingSpinner', 'loadingText']}) -@Component({ selector: 'ion-infinite-scroll-content', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['loadingSpinner', 'loadingText'] }) +export declare interface IonInfiniteScrollContent extends Components.IonInfiniteScrollContent { +} +@ProxyCmp({ inputs: ["loadingSpinner", "loadingText"] }) +@Component({ selector: "ion-infinite-scroll-content", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["loadingSpinner", "loadingText"] }) export class IonInfiniteScrollContent { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonInput extends Components.IonInput {} -@ProxyCmp({inputs: ['accept', 'autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearInput', 'clearOnEdit', 'color', 'debounce', 'disabled', 'inputmode', 'max', 'maxlength', 'min', 'minlength', 'mode', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'type', 'value'], 'methods': ['setFocus', 'getInputElement']}) -@Component({ selector: 'ion-input', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['accept', 'autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearInput', 'clearOnEdit', 'color', 'debounce', 'disabled', 'inputmode', 'max', 'maxlength', 'min', 'minlength', 'mode', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'type', 'value'] }) +export declare interface IonInput extends Components.IonInput { +} +@ProxyCmp({ inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"], "methods": ["setFocus", "getInputElement"] }) +@Component({ selector: "ion-input", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }) export class IonInput { - ionInput!: EventEmitter; - ionChange!: EventEmitter; - ionBlur!: EventEmitter; - ionFocus!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionBlur', 'ionFocus']); - } + ionInput!: EventEmitter; + ionChange!: EventEmitter; + ionBlur!: EventEmitter; + ionFocus!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionInput", "ionChange", "ionBlur", "ionFocus"]); + } } - -export declare interface IonItem extends Components.IonItem {} -@ProxyCmp({inputs: ['button', 'color', 'detail', 'detailIcon', 'disabled', 'download', 'href', 'lines', 'mode', 'rel', 'routerDirection', 'target', 'type']}) -@Component({ selector: 'ion-item', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['button', 'color', 'detail', 'detailIcon', 'disabled', 'download', 'href', 'lines', 'mode', 'rel', 'routerDirection', 'target', 'type'] }) +export declare interface IonItem extends Components.IonItem { +} +@ProxyCmp({ inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerDirection", "target", "type"] }) +@Component({ selector: "ion-item", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerDirection", "target", "type"] }) export class IonItem { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonItemDivider extends Components.IonItemDivider {} -@ProxyCmp({inputs: ['color', 'mode', 'sticky']}) -@Component({ selector: 'ion-item-divider', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'mode', 'sticky'] }) +export declare interface IonItemDivider extends Components.IonItemDivider { +} +@ProxyCmp({ inputs: ["color", "mode", "sticky"] }) +@Component({ selector: "ion-item-divider", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "mode", "sticky"] }) export class IonItemDivider { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonItemGroup extends Components.IonItemGroup {} - -@Component({ selector: 'ion-item-group', changeDetection: ChangeDetectionStrategy.OnPush, template: '' }) +export declare interface IonItemGroup extends Components.IonItemGroup { +} +@Component({ selector: "ion-item-group", changeDetection: ChangeDetectionStrategy.OnPush, template: "" }) export class IonItemGroup { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonItemOption extends Components.IonItemOption {} -@ProxyCmp({inputs: ['color', 'disabled', 'download', 'expandable', 'href', 'mode', 'rel', 'target', 'type']}) -@Component({ selector: 'ion-item-option', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'disabled', 'download', 'expandable', 'href', 'mode', 'rel', 'target', 'type'] }) +export declare interface IonItemOption extends Components.IonItemOption { +} +@ProxyCmp({ inputs: ["color", "disabled", "download", "expandable", "href", "mode", "rel", "target", "type"] }) +@Component({ selector: "ion-item-option", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "disabled", "download", "expandable", "href", "mode", "rel", "target", "type"] }) export class IonItemOption { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonItemOptions extends Components.IonItemOptions {} -@ProxyCmp({inputs: ['side']}) -@Component({ selector: 'ion-item-options', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['side'] }) +export declare interface IonItemOptions extends Components.IonItemOptions { +} +@ProxyCmp({ inputs: ["side"] }) +@Component({ selector: "ion-item-options", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["side"] }) export class IonItemOptions { - ionSwipe!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionSwipe']); - } + ionSwipe!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionSwipe"]); + } } - -export declare interface IonItemSliding extends Components.IonItemSliding {} -@ProxyCmp({inputs: ['disabled'], 'methods': ['getOpenAmount', 'getSlidingRatio', 'open', 'close', 'closeOpened']}) -@Component({ selector: 'ion-item-sliding', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['disabled'] }) +export declare interface IonItemSliding extends Components.IonItemSliding { +} +@ProxyCmp({ inputs: ["disabled"], "methods": ["getOpenAmount", "getSlidingRatio", "open", "close", "closeOpened"] }) +@Component({ selector: "ion-item-sliding", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["disabled"] }) export class IonItemSliding { - ionDrag!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionDrag']); - } + ionDrag!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionDrag"]); + } } - -export declare interface IonLabel extends Components.IonLabel {} -@ProxyCmp({inputs: ['color', 'mode', 'position']}) -@Component({ selector: 'ion-label', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'mode', 'position'] }) +export declare interface IonLabel extends Components.IonLabel { +} +@ProxyCmp({ inputs: ["color", "mode", "position"] }) +@Component({ selector: "ion-label", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "mode", "position"] }) export class IonLabel { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonList extends Components.IonList {} -@ProxyCmp({inputs: ['inset', 'lines', 'mode'], 'methods': ['closeSlidingItems']}) -@Component({ selector: 'ion-list', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['inset', 'lines', 'mode'] }) +export declare interface IonList extends Components.IonList { +} +@ProxyCmp({ inputs: ["inset", "lines", "mode"], "methods": ["closeSlidingItems"] }) +@Component({ selector: "ion-list", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["inset", "lines", "mode"] }) export class IonList { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonListHeader extends Components.IonListHeader {} -@ProxyCmp({inputs: ['color', 'lines', 'mode']}) -@Component({ selector: 'ion-list-header', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'lines', 'mode'] }) +export declare interface IonListHeader extends Components.IonListHeader { +} +@ProxyCmp({ inputs: ["color", "lines", "mode"] }) +@Component({ selector: "ion-list-header", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "lines", "mode"] }) export class IonListHeader { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonMenu extends Components.IonMenu {} -@ProxyCmp({inputs: ['contentId', 'disabled', 'maxEdgeStart', 'menuId', 'side', 'swipeGesture', 'type'], 'methods': ['isOpen', 'isActive', 'open', 'close', 'toggle', 'setOpen']}) -@Component({ selector: 'ion-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['contentId', 'disabled', 'maxEdgeStart', 'menuId', 'side', 'swipeGesture', 'type'] }) +export declare interface IonMenu extends Components.IonMenu { +} +@ProxyCmp({ inputs: ["contentId", "disabled", "maxEdgeStart", "menuId", "side", "swipeGesture", "type"], "methods": ["isOpen", "isActive", "open", "close", "toggle", "setOpen"] }) +@Component({ selector: "ion-menu", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["contentId", "disabled", "maxEdgeStart", "menuId", "side", "swipeGesture", "type"] }) export class IonMenu { - ionWillOpen!: EventEmitter; - ionWillClose!: EventEmitter; - ionDidOpen!: EventEmitter; - ionDidClose!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionWillOpen', 'ionWillClose', 'ionDidOpen', 'ionDidClose']); - } + ionWillOpen!: EventEmitter; + ionWillClose!: EventEmitter; + ionDidOpen!: EventEmitter; + ionDidClose!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionWillOpen", "ionWillClose", "ionDidOpen", "ionDidClose"]); + } } - -export declare interface IonMenuButton extends Components.IonMenuButton {} -@ProxyCmp({inputs: ['autoHide', 'color', 'disabled', 'menu', 'type']}) -@Component({ selector: 'ion-menu-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['autoHide', 'color', 'disabled', 'menu', 'type'] }) +export declare interface IonMenuButton extends Components.IonMenuButton { +} +@ProxyCmp({ inputs: ["autoHide", "color", "disabled", "menu", "type"] }) +@Component({ selector: "ion-menu-button", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["autoHide", "color", "disabled", "menu", "type"] }) export class IonMenuButton { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonMenuToggle extends Components.IonMenuToggle {} -@ProxyCmp({inputs: ['autoHide', 'menu']}) -@Component({ selector: 'ion-menu-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['autoHide', 'menu'] }) +export declare interface IonMenuToggle extends Components.IonMenuToggle { +} +@ProxyCmp({ inputs: ["autoHide", "menu"] }) +@Component({ selector: "ion-menu-toggle", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["autoHide", "menu"] }) export class IonMenuToggle { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonNav extends Components.IonNav {} -@ProxyCmp({inputs: ['animated', 'animation', 'root', 'rootParams', 'swipeGesture'], 'methods': ['push', 'insert', 'insertPages', 'pop', 'popTo', 'popToRoot', 'removeIndex', 'setRoot', 'setPages', 'getActive', 'getByIndex', 'canGoBack', 'getPrevious']}) -@Component({ selector: 'ion-nav', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['animated', 'animation', 'root', 'rootParams', 'swipeGesture'] }) +export declare interface IonNav extends Components.IonNav { +} +@ProxyCmp({ inputs: ["animated", "animation", "root", "rootParams", "swipeGesture"], "methods": ["push", "insert", "insertPages", "pop", "popTo", "popToRoot", "removeIndex", "setRoot", "setPages", "getActive", "getByIndex", "canGoBack", "getPrevious"] }) +@Component({ selector: "ion-nav", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["animated", "animation", "root", "rootParams", "swipeGesture"] }) export class IonNav { - ionNavWillChange!: EventEmitter; - ionNavDidChange!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionNavWillChange', 'ionNavDidChange']); - } + ionNavWillChange!: EventEmitter; + ionNavDidChange!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionNavWillChange", "ionNavDidChange"]); + } } - -export declare interface IonNavLink extends Components.IonNavLink {} -@ProxyCmp({inputs: ['component', 'componentProps', 'routerDirection']}) -@Component({ selector: 'ion-nav-link', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['component', 'componentProps', 'routerDirection'] }) +export declare interface IonNavLink extends Components.IonNavLink { +} +@ProxyCmp({ inputs: ["component", "componentProps", "routerDirection"] }) +@Component({ selector: "ion-nav-link", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["component", "componentProps", "routerDirection"] }) export class IonNavLink { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonNote extends Components.IonNote {} -@ProxyCmp({inputs: ['color', 'mode']}) -@Component({ selector: 'ion-note', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'mode'] }) +export declare interface IonNote extends Components.IonNote { +} +@ProxyCmp({ inputs: ["color", "mode"] }) +@Component({ selector: "ion-note", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "mode"] }) export class IonNote { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonProgressBar extends Components.IonProgressBar {} -@ProxyCmp({inputs: ['buffer', 'color', 'mode', 'reversed', 'type', 'value']}) -@Component({ selector: 'ion-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['buffer', 'color', 'mode', 'reversed', 'type', 'value'] }) +export declare interface IonProgressBar extends Components.IonProgressBar { +} +@ProxyCmp({ inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }) +@Component({ selector: "ion-progress-bar", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }) export class IonProgressBar { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonRadio extends Components.IonRadio {} -@ProxyCmp({inputs: ['color', 'disabled', 'mode', 'name', 'value']}) -@Component({ selector: 'ion-radio', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'disabled', 'mode', 'name', 'value'] }) +export declare interface IonRadio extends Components.IonRadio { +} +@ProxyCmp({ inputs: ["color", "disabled", "mode", "name", "value"] }) +@Component({ selector: "ion-radio", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "disabled", "mode", "name", "value"] }) export class IonRadio { - ionFocus!: EventEmitter; - ionBlur!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']); - } + ionFocus!: EventEmitter; + ionBlur!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionFocus", "ionBlur"]); + } } - -export declare interface IonRadioGroup extends Components.IonRadioGroup {} -@ProxyCmp({inputs: ['allowEmptySelection', 'name', 'value']}) -@Component({ selector: 'ion-radio-group', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['allowEmptySelection', 'name', 'value'] }) +export declare interface IonRadioGroup extends Components.IonRadioGroup { +} +@ProxyCmp({ inputs: ["allowEmptySelection", "name", "value"] }) +@Component({ selector: "ion-radio-group", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["allowEmptySelection", "name", "value"] }) export class IonRadioGroup { - ionChange!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionChange']); - } + ionChange!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionChange"]); + } } - -export declare interface IonRange extends Components.IonRange {} -@ProxyCmp({inputs: ['color', 'debounce', 'disabled', 'dualKnobs', 'max', 'min', 'mode', 'name', 'pin', 'snaps', 'step', 'ticks', 'value']}) -@Component({ selector: 'ion-range', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'debounce', 'disabled', 'dualKnobs', 'max', 'min', 'mode', 'name', 'pin', 'snaps', 'step', 'ticks', 'value'] }) +export declare interface IonRange extends Components.IonRange { +} +@ProxyCmp({ inputs: ["color", "debounce", "disabled", "dualKnobs", "max", "min", "mode", "name", "pin", "snaps", "step", "ticks", "value"] }) +@Component({ selector: "ion-range", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "debounce", "disabled", "dualKnobs", "max", "min", "mode", "name", "pin", "snaps", "step", "ticks", "value"] }) export class IonRange { - ionChange!: EventEmitter; - ionFocus!: EventEmitter; - ionBlur!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']); - } + ionChange!: EventEmitter; + ionFocus!: EventEmitter; + ionBlur!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionChange", "ionFocus", "ionBlur"]); + } } - -export declare interface IonRefresher extends Components.IonRefresher {} -@ProxyCmp({inputs: ['closeDuration', 'disabled', 'pullFactor', 'pullMax', 'pullMin', 'snapbackDuration'], 'methods': ['complete', 'cancel', 'getProgress']}) -@Component({ selector: 'ion-refresher', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['closeDuration', 'disabled', 'pullFactor', 'pullMax', 'pullMin', 'snapbackDuration'] }) +export declare interface IonRefresher extends Components.IonRefresher { +} +@ProxyCmp({ inputs: ["closeDuration", "disabled", "pullFactor", "pullMax", "pullMin", "snapbackDuration"], "methods": ["complete", "cancel", "getProgress"] }) +@Component({ selector: "ion-refresher", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["closeDuration", "disabled", "pullFactor", "pullMax", "pullMin", "snapbackDuration"] }) export class IonRefresher { - ionRefresh!: EventEmitter; - ionPull!: EventEmitter; - ionStart!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionRefresh', 'ionPull', 'ionStart']); - } + ionRefresh!: EventEmitter; + ionPull!: EventEmitter; + ionStart!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionRefresh", "ionPull", "ionStart"]); + } } - -export declare interface IonRefresherContent extends Components.IonRefresherContent {} -@ProxyCmp({inputs: ['pullingIcon', 'pullingText', 'refreshingSpinner', 'refreshingText']}) -@Component({ selector: 'ion-refresher-content', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['pullingIcon', 'pullingText', 'refreshingSpinner', 'refreshingText'] }) +export declare interface IonRefresherContent extends Components.IonRefresherContent { +} +@ProxyCmp({ inputs: ["pullingIcon", "pullingText", "refreshingSpinner", "refreshingText"] }) +@Component({ selector: "ion-refresher-content", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["pullingIcon", "pullingText", "refreshingSpinner", "refreshingText"] }) export class IonRefresherContent { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonReorder extends Components.IonReorder {} - -@Component({ selector: 'ion-reorder', changeDetection: ChangeDetectionStrategy.OnPush, template: '' }) +export declare interface IonReorder extends Components.IonReorder { +} +@Component({ selector: "ion-reorder", changeDetection: ChangeDetectionStrategy.OnPush, template: "" }) export class IonReorder { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonReorderGroup extends Components.IonReorderGroup {} -@ProxyCmp({inputs: ['disabled'], 'methods': ['complete']}) -@Component({ selector: 'ion-reorder-group', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['disabled'] }) +export declare interface IonReorderGroup extends Components.IonReorderGroup { +} +@ProxyCmp({ inputs: ["disabled"], "methods": ["complete"] }) +@Component({ selector: "ion-reorder-group", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["disabled"] }) export class IonReorderGroup { - ionItemReorder!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionItemReorder']); - } + ionItemReorder!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionItemReorder"]); + } } - -export declare interface IonRippleEffect extends Components.IonRippleEffect {} -@ProxyCmp({inputs: ['type'], 'methods': ['addRipple']}) -@Component({ selector: 'ion-ripple-effect', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['type'] }) +export declare interface IonRippleEffect extends Components.IonRippleEffect { +} +@ProxyCmp({ inputs: ["type"], "methods": ["addRipple"] }) +@Component({ selector: "ion-ripple-effect", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["type"] }) export class IonRippleEffect { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonRow extends Components.IonRow {} - -@Component({ selector: 'ion-row', changeDetection: ChangeDetectionStrategy.OnPush, template: '' }) +export declare interface IonRow extends Components.IonRow { +} +@Component({ selector: "ion-row", changeDetection: ChangeDetectionStrategy.OnPush, template: "" }) export class IonRow { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonSearchbar extends Components.IonSearchbar {} -@ProxyCmp({inputs: ['animated', 'autocomplete', 'autocorrect', 'cancelButtonIcon', 'cancelButtonText', 'clearIcon', 'color', 'debounce', 'disabled', 'inputmode', 'mode', 'placeholder', 'searchIcon', 'showCancelButton', 'spellcheck', 'type', 'value'], 'methods': ['setFocus', 'getInputElement']}) -@Component({ selector: 'ion-searchbar', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['animated', 'autocomplete', 'autocorrect', 'cancelButtonIcon', 'cancelButtonText', 'clearIcon', 'color', 'debounce', 'disabled', 'inputmode', 'mode', 'placeholder', 'searchIcon', 'showCancelButton', 'spellcheck', 'type', 'value'] }) +export declare interface IonSearchbar extends Components.IonSearchbar { +} +@ProxyCmp({ inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "inputmode", "mode", "placeholder", "searchIcon", "showCancelButton", "spellcheck", "type", "value"], "methods": ["setFocus", "getInputElement"] }) +@Component({ selector: "ion-searchbar", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "inputmode", "mode", "placeholder", "searchIcon", "showCancelButton", "spellcheck", "type", "value"] }) export class IonSearchbar { - ionInput!: EventEmitter; - ionChange!: EventEmitter; - ionCancel!: EventEmitter; - ionClear!: EventEmitter; - ionBlur!: EventEmitter; - ionFocus!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionCancel', 'ionClear', 'ionBlur', 'ionFocus']); - } + ionInput!: EventEmitter; + ionChange!: EventEmitter; + ionCancel!: EventEmitter; + ionClear!: EventEmitter; + ionBlur!: EventEmitter; + ionFocus!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionInput", "ionChange", "ionCancel", "ionClear", "ionBlur", "ionFocus"]); + } } - -export declare interface IonSegment extends Components.IonSegment {} -@ProxyCmp({inputs: ['color', 'disabled', 'mode', 'scrollable', 'value']}) -@Component({ selector: 'ion-segment', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'disabled', 'mode', 'scrollable', 'value'] }) +export declare interface IonSegment extends Components.IonSegment { +} +@ProxyCmp({ inputs: ["color", "disabled", "mode", "scrollable", "value"] }) +@Component({ selector: "ion-segment", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "disabled", "mode", "scrollable", "value"] }) export class IonSegment { - ionChange!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionChange']); - } + ionChange!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionChange"]); + } } - -export declare interface IonSegmentButton extends Components.IonSegmentButton {} -@ProxyCmp({inputs: ['disabled', 'layout', 'mode', 'type', 'value']}) -@Component({ selector: 'ion-segment-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['disabled', 'layout', 'mode', 'type', 'value'] }) +export declare interface IonSegmentButton extends Components.IonSegmentButton { +} +@ProxyCmp({ inputs: ["disabled", "layout", "mode", "type", "value"] }) +@Component({ selector: "ion-segment-button", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["disabled", "layout", "mode", "type", "value"] }) export class IonSegmentButton { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonSelect extends Components.IonSelect {} -@ProxyCmp({inputs: ['cancelText', 'compareWith', 'disabled', 'interface', 'interfaceOptions', 'mode', 'multiple', 'name', 'okText', 'placeholder', 'selectedText', 'value'], 'methods': ['open']}) -@Component({ selector: 'ion-select', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['cancelText', 'compareWith', 'disabled', 'interface', 'interfaceOptions', 'mode', 'multiple', 'name', 'okText', 'placeholder', 'selectedText', 'value'] }) +export declare interface IonSelect extends Components.IonSelect { +} +@ProxyCmp({ inputs: ["cancelText", "compareWith", "disabled", "interface", "interfaceOptions", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "value"], "methods": ["open"] }) +@Component({ selector: "ion-select", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["cancelText", "compareWith", "disabled", "interface", "interfaceOptions", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "value"] }) export class IonSelect { - ionChange!: EventEmitter; - ionCancel!: EventEmitter; - ionFocus!: EventEmitter; - ionBlur!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionChange', 'ionCancel', 'ionFocus', 'ionBlur']); - } + ionChange!: EventEmitter; + ionCancel!: EventEmitter; + ionFocus!: EventEmitter; + ionBlur!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionChange", "ionCancel", "ionFocus", "ionBlur"]); + } } - -export declare interface IonSelectOption extends Components.IonSelectOption {} -@ProxyCmp({inputs: ['disabled', 'value']}) -@Component({ selector: 'ion-select-option', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['disabled', 'value'] }) +export declare interface IonSelectOption extends Components.IonSelectOption { +} +@ProxyCmp({ inputs: ["disabled", "value"] }) +@Component({ selector: "ion-select-option", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["disabled", "value"] }) export class IonSelectOption { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonSkeletonText extends Components.IonSkeletonText {} -@ProxyCmp({inputs: ['animated']}) -@Component({ selector: 'ion-skeleton-text', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['animated'] }) +export declare interface IonSkeletonText extends Components.IonSkeletonText { +} +@ProxyCmp({ inputs: ["animated"] }) +@Component({ selector: "ion-skeleton-text", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["animated"] }) export class IonSkeletonText { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonSlide extends Components.IonSlide {} - -@Component({ selector: 'ion-slide', changeDetection: ChangeDetectionStrategy.OnPush, template: '' }) +export declare interface IonSlide extends Components.IonSlide { +} +@Component({ selector: "ion-slide", changeDetection: ChangeDetectionStrategy.OnPush, template: "" }) export class IonSlide { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonSlides extends Components.IonSlides {} -@ProxyCmp({inputs: ['mode', 'options', 'pager', 'scrollbar'], 'methods': ['update', 'updateAutoHeight', 'slideTo', 'slideNext', 'slidePrev', 'getActiveIndex', 'getPreviousIndex', 'length', 'isEnd', 'isBeginning', 'startAutoplay', 'stopAutoplay', 'lockSwipeToNext', 'lockSwipeToPrev', 'lockSwipes', 'getSwiper']}) -@Component({ selector: 'ion-slides', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['mode', 'options', 'pager', 'scrollbar'] }) +export declare interface IonSlides extends Components.IonSlides { +} +@ProxyCmp({ inputs: ["mode", "options", "pager", "scrollbar"], "methods": ["update", "updateAutoHeight", "slideTo", "slideNext", "slidePrev", "getActiveIndex", "getPreviousIndex", "length", "isEnd", "isBeginning", "startAutoplay", "stopAutoplay", "lockSwipeToNext", "lockSwipeToPrev", "lockSwipes", "getSwiper"] }) +@Component({ selector: "ion-slides", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["mode", "options", "pager", "scrollbar"] }) export class IonSlides { - ionSlidesDidLoad!: EventEmitter; - ionSlideTap!: EventEmitter; - ionSlideDoubleTap!: EventEmitter; - ionSlideWillChange!: EventEmitter; - ionSlideDidChange!: EventEmitter; - ionSlideNextStart!: EventEmitter; - ionSlidePrevStart!: EventEmitter; - ionSlideNextEnd!: EventEmitter; - ionSlidePrevEnd!: EventEmitter; - ionSlideTransitionStart!: EventEmitter; - ionSlideTransitionEnd!: EventEmitter; - ionSlideDrag!: EventEmitter; - ionSlideReachStart!: EventEmitter; - ionSlideReachEnd!: EventEmitter; - ionSlideTouchStart!: EventEmitter; - ionSlideTouchEnd!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionSlidesDidLoad', 'ionSlideTap', 'ionSlideDoubleTap', 'ionSlideWillChange', 'ionSlideDidChange', 'ionSlideNextStart', 'ionSlidePrevStart', 'ionSlideNextEnd', 'ionSlidePrevEnd', 'ionSlideTransitionStart', 'ionSlideTransitionEnd', 'ionSlideDrag', 'ionSlideReachStart', 'ionSlideReachEnd', 'ionSlideTouchStart', 'ionSlideTouchEnd']); - } + ionSlidesDidLoad!: EventEmitter; + ionSlideTap!: EventEmitter; + ionSlideDoubleTap!: EventEmitter; + ionSlideWillChange!: EventEmitter; + ionSlideDidChange!: EventEmitter; + ionSlideNextStart!: EventEmitter; + ionSlidePrevStart!: EventEmitter; + ionSlideNextEnd!: EventEmitter; + ionSlidePrevEnd!: EventEmitter; + ionSlideTransitionStart!: EventEmitter; + ionSlideTransitionEnd!: EventEmitter; + ionSlideDrag!: EventEmitter; + ionSlideReachStart!: EventEmitter; + ionSlideReachEnd!: EventEmitter; + ionSlideTouchStart!: EventEmitter; + ionSlideTouchEnd!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionSlidesDidLoad", "ionSlideTap", "ionSlideDoubleTap", "ionSlideWillChange", "ionSlideDidChange", "ionSlideNextStart", "ionSlidePrevStart", "ionSlideNextEnd", "ionSlidePrevEnd", "ionSlideTransitionStart", "ionSlideTransitionEnd", "ionSlideDrag", "ionSlideReachStart", "ionSlideReachEnd", "ionSlideTouchStart", "ionSlideTouchEnd"]); + } } - -export declare interface IonSpinner extends Components.IonSpinner {} -@ProxyCmp({inputs: ['color', 'duration', 'name', 'paused']}) -@Component({ selector: 'ion-spinner', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'duration', 'name', 'paused'] }) +export declare interface IonSpinner extends Components.IonSpinner { +} +@ProxyCmp({ inputs: ["color", "duration", "name", "paused"] }) +@Component({ selector: "ion-spinner", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "duration", "name", "paused"] }) export class IonSpinner { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonSplitPane extends Components.IonSplitPane {} -@ProxyCmp({inputs: ['contentId', 'disabled', 'when']}) -@Component({ selector: 'ion-split-pane', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['contentId', 'disabled', 'when'] }) +export declare interface IonSplitPane extends Components.IonSplitPane { +} +@ProxyCmp({ inputs: ["contentId", "disabled", "when"] }) +@Component({ selector: "ion-split-pane", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["contentId", "disabled", "when"] }) export class IonSplitPane { - ionSplitPaneVisible!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionSplitPaneVisible']); - } + ionSplitPaneVisible!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionSplitPaneVisible"]); + } } - -export declare interface IonTabBar extends Components.IonTabBar {} -@ProxyCmp({inputs: ['color', 'mode', 'selectedTab', 'translucent']}) -@Component({ selector: 'ion-tab-bar', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'mode', 'selectedTab', 'translucent'] }) +export declare interface IonTabBar extends Components.IonTabBar { +} +@ProxyCmp({ inputs: ["color", "mode", "selectedTab", "translucent"] }) +@Component({ selector: "ion-tab-bar", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "mode", "selectedTab", "translucent"] }) export class IonTabBar { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonTabButton extends Components.IonTabButton {} -@ProxyCmp({inputs: ['disabled', 'download', 'href', 'layout', 'mode', 'rel', 'selected', 'tab', 'target']}) -@Component({ selector: 'ion-tab-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['disabled', 'download', 'href', 'layout', 'mode', 'rel', 'selected', 'tab', 'target'] }) +export declare interface IonTabButton extends Components.IonTabButton { +} +@ProxyCmp({ inputs: ["disabled", "download", "href", "layout", "mode", "rel", "selected", "tab", "target"] }) +@Component({ selector: "ion-tab-button", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["disabled", "download", "href", "layout", "mode", "rel", "selected", "tab", "target"] }) export class IonTabButton { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonText extends Components.IonText {} -@ProxyCmp({inputs: ['color', 'mode']}) -@Component({ selector: 'ion-text', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'mode'] }) +export declare interface IonText extends Components.IonText { +} +@ProxyCmp({ inputs: ["color", "mode"] }) +@Component({ selector: "ion-text", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "mode"] }) export class IonText { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonTextarea extends Components.IonTextarea {} -@ProxyCmp({inputs: ['autoGrow', 'autocapitalize', 'autofocus', 'clearOnEdit', 'color', 'cols', 'debounce', 'disabled', 'maxlength', 'minlength', 'mode', 'name', 'placeholder', 'readonly', 'required', 'rows', 'spellcheck', 'value', 'wrap'], 'methods': ['setFocus', 'getInputElement']}) -@Component({ selector: 'ion-textarea', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['autoGrow', 'autocapitalize', 'autofocus', 'clearOnEdit', 'color', 'cols', 'debounce', 'disabled', 'maxlength', 'minlength', 'mode', 'name', 'placeholder', 'readonly', 'required', 'rows', 'spellcheck', 'value', 'wrap'] }) +export declare interface IonTextarea extends Components.IonTextarea { +} +@ProxyCmp({ inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "debounce", "disabled", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "spellcheck", "value", "wrap"], "methods": ["setFocus", "getInputElement"] }) +@Component({ selector: "ion-textarea", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "debounce", "disabled", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "spellcheck", "value", "wrap"] }) export class IonTextarea { - ionChange!: EventEmitter; - ionInput!: EventEmitter; - ionBlur!: EventEmitter; - ionFocus!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionBlur', 'ionFocus']); - } + ionChange!: EventEmitter; + ionInput!: EventEmitter; + ionBlur!: EventEmitter; + ionFocus!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionChange", "ionInput", "ionBlur", "ionFocus"]); + } } - -export declare interface IonThumbnail extends Components.IonThumbnail {} - -@Component({ selector: 'ion-thumbnail', changeDetection: ChangeDetectionStrategy.OnPush, template: '' }) +export declare interface IonThumbnail extends Components.IonThumbnail { +} +@Component({ selector: "ion-thumbnail", changeDetection: ChangeDetectionStrategy.OnPush, template: "" }) export class IonThumbnail { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonTitle extends Components.IonTitle {} -@ProxyCmp({inputs: ['color', 'size']}) -@Component({ selector: 'ion-title', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'size'] }) +export declare interface IonTitle extends Components.IonTitle { +} +@ProxyCmp({ inputs: ["color", "size"] }) +@Component({ selector: "ion-title", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "size"] }) export class IonTitle { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } - -export declare interface IonToggle extends Components.IonToggle {} -@ProxyCmp({inputs: ['checked', 'color', 'disabled', 'mode', 'name', 'value']}) -@Component({ selector: 'ion-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['checked', 'color', 'disabled', 'mode', 'name', 'value'] }) +export declare interface IonToggle extends Components.IonToggle { +} +@ProxyCmp({ inputs: ["checked", "color", "disabled", "mode", "name", "value"] }) +@Component({ selector: "ion-toggle", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["checked", "color", "disabled", "mode", "name", "value"] }) export class IonToggle { - ionChange!: EventEmitter; - ionFocus!: EventEmitter; - ionBlur!: EventEmitter; - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']); - } + ionChange!: EventEmitter; + ionFocus!: EventEmitter; + ionBlur!: EventEmitter; + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + proxyOutputs(this, this.el, ["ionChange", "ionFocus", "ionBlur"]); + } } - -export declare interface IonToolbar extends Components.IonToolbar {} -@ProxyCmp({inputs: ['color', 'mode']}) -@Component({ selector: 'ion-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, template: '', inputs: ['color', 'mode'] }) +export declare interface IonToolbar extends Components.IonToolbar { +} +@ProxyCmp({ inputs: ["color", "mode"] }) +@Component({ selector: "ion-toolbar", changeDetection: ChangeDetectionStrategy.OnPush, template: "", inputs: ["color", "mode"] }) export class IonToolbar { - protected el: HTMLElement; - constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { - c.detach(); - this.el = r.nativeElement; - } + protected el: HTMLElement; + constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { + c.detach(); + this.el = r.nativeElement; + } } diff --git a/core/package.json b/core/package.json index b7a17f1d02..2ce1a63caa 100644 --- a/core/package.json +++ b/core/package.json @@ -34,9 +34,9 @@ "tslib": "^1.10.0" }, "devDependencies": { - "@stencil/core": "1.8.11", - "@stencil/sass": "1.0.1", - "@types/jest": "24.0.21", + "@stencil/core": "1.11.2", + "@stencil/sass": "1.1.1", + "@types/jest": "24.9.0", "@types/node": "12.12.3", "@types/puppeteer": "1.19.1", "@types/swiper": "4.4.4", @@ -49,7 +49,7 @@ "np": "^5.0.3", "pixelmatch": "4.0.2", "puppeteer": "1.20.0", - "rollup": "1.19.4", + "rollup": "1.32.0", "rollup-plugin-node-resolve": "5.2.0", "rollup-plugin-virtual": "^1.0.1", "sass": "^1.22.9", diff --git a/core/src/components.d.ts b/core/src/components.d.ts index 6dbe9e1c5e..7bd5fba0f1 100644 --- a/core/src/components.d.ts +++ b/core/src/components.d.ts @@ -4,6014 +4,5967 @@ * This is an autogenerated file created by the Stencil compiler. * It contains typing information for all components that exist in this project. */ - - -import { HTMLStencilElement, JSXBase } from '@stencil/core/internal'; -import { - ActionSheetButton, - AlertButton, - AlertInput, - AnimationBuilder, - CheckboxChangeEventDetail, - Color, - ComponentProps, - ComponentRef, - DatetimeChangeEventDetail, - DatetimeOptions, - DomRenderFn, - FooterHeightFn, - FrameworkDelegate, - HeaderFn, - HeaderHeightFn, - InputChangeEventDetail, - ItemHeightFn, - ItemRenderFn, - ItemReorderEventDetail, - MenuChangeEventDetail, - NavComponent, - NavOptions, - OverlayEventDetail, - PickerButton, - PickerColumn, - RadioGroupChangeEventDetail, - RangeChangeEventDetail, - RangeValue, - RefresherEventDetail, - RouteID, - RouterDirection, - RouterEventDetail, - RouterOutletOptions, - RouteWrite, - ScrollBaseDetail, - ScrollDetail, - SearchbarChangeEventDetail, - SegmentButtonLayout, - SegmentChangeEventDetail, - SelectChangeEventDetail, - SelectInterface, - SelectPopoverOption, - Side, - SpinnerTypes, - StyleEventDetail, - SwipeGestureHandler, - TabBarChangedEventDetail, - TabButtonClickEventDetail, - TabButtonLayout, - TextareaChangeEventDetail, - TextFieldTypes, - ToastButton, - ToggleChangeEventDetail, - TransitionDoneFn, - TransitionInstruction, - ViewController, -} from './interface'; -import { - SelectCompareFn, -} from './components/select/select-interface'; - +import { HTMLStencilElement, JSXBase } from "@stencil/core/internal"; +import { ActionSheetButton, AlertButton, AlertInput, AnimationBuilder, CheckboxChangeEventDetail, Color, ComponentProps, ComponentRef, DatetimeChangeEventDetail, DatetimeOptions, DomRenderFn, FooterHeightFn, FrameworkDelegate, HeaderFn, HeaderHeightFn, InputChangeEventDetail, ItemHeightFn, ItemRenderFn, ItemReorderEventDetail, MenuChangeEventDetail, NavComponent, NavOptions, OverlayEventDetail, PickerButton, PickerColumn, RadioGroupChangeEventDetail, RangeChangeEventDetail, RangeValue, RefresherEventDetail, RouteID, RouterDirection, RouterEventDetail, RouterOutletOptions, RouteWrite, ScrollBaseDetail, ScrollDetail, SearchbarChangeEventDetail, SegmentButtonLayout, SegmentChangeEventDetail, SelectChangeEventDetail, SelectInterface, SelectPopoverOption, Side, SpinnerTypes, StyleEventDetail, SwipeGestureHandler, TabBarChangedEventDetail, TabButtonClickEventDetail, TabButtonLayout, TextareaChangeEventDetail, TextFieldTypes, ToastButton, ToggleChangeEventDetail, TransitionDoneFn, TransitionInstruction, ViewController, } from "./interface"; +import { SelectCompareFn, } from "./components/select/select-interface"; export namespace Components { - interface IonActionSheet { - /** - * If `true`, the action sheet will animate. - */ - 'animated': boolean; - /** - * If `true`, the action sheet will be dismissed when the backdrop is clicked. - */ - 'backdropDismiss': boolean; - /** - * An array of buttons for the action sheet. - */ - 'buttons': (ActionSheetButton | string)[]; - /** - * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces. - */ - 'cssClass'?: string | string[]; - /** - * Dismiss the action sheet overlay after it has been presented. - * @param data Any data to emit in the dismiss events. - * @param role The role of the element that is dismissing the action sheet. This can be useful in a button handler for determining which button was clicked to dismiss the action sheet. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. - */ - 'dismiss': (data?: any, role?: string | undefined) => Promise; - /** - * Animation to use when the action sheet is presented. - */ - 'enterAnimation'?: AnimationBuilder; - /** - * Title for the action sheet. - */ - 'header'?: string; - /** - * If `true`, the keyboard will be automatically dismissed when the overlay is presented. - */ - 'keyboardClose': boolean; - /** - * Animation to use when the action sheet is dismissed. - */ - 'leaveAnimation'?: AnimationBuilder; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Returns a promise that resolves when the action sheet did dismiss. - */ - 'onDidDismiss': () => Promise>; - /** - * Returns a promise that resolves when the action sheet will dismiss. - */ - 'onWillDismiss': () => Promise>; - 'overlayIndex': number; - /** - * Present the action sheet overlay after it has been created. - */ - 'present': () => Promise; - /** - * Subtitle for the action sheet. - */ - 'subHeader'?: string; - /** - * If `true`, the action sheet will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). - */ - 'translucent': boolean; - } - interface IonAlert { - /** - * If `true`, the alert will animate. - */ - 'animated': boolean; - /** - * If `true`, the alert will be dismissed when the backdrop is clicked. - */ - 'backdropDismiss': boolean; - /** - * Array of buttons to be added to the alert. - */ - 'buttons': (AlertButton | string)[]; - /** - * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces. - */ - 'cssClass'?: string | string[]; - /** - * Dismiss the alert overlay after it has been presented. - * @param data Any data to emit in the dismiss events. - * @param role The role of the element that is dismissing the alert. This can be useful in a button handler for determining which button was clicked to dismiss the alert. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. - */ - 'dismiss': (data?: any, role?: string | undefined) => Promise; - /** - * Animation to use when the alert is presented. - */ - 'enterAnimation'?: AnimationBuilder; - /** - * The main title in the heading of the alert. - */ - 'header'?: string; - /** - * Array of input to show in the alert. - */ - 'inputs': AlertInput[]; - /** - * If `true`, the keyboard will be automatically dismissed when the overlay is presented. - */ - 'keyboardClose': boolean; - /** - * Animation to use when the alert is dismissed. - */ - 'leaveAnimation'?: AnimationBuilder; - /** - * The main message to be displayed in the alert. `message` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `` would become `<Ionic>` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) - */ - 'message'?: string; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Returns a promise that resolves when the alert did dismiss. - */ - 'onDidDismiss': () => Promise>; - /** - * Returns a promise that resolves when the alert will dismiss. - */ - 'onWillDismiss': () => Promise>; - 'overlayIndex': number; - /** - * Present the alert overlay after it has been created. - */ - 'present': () => Promise; - /** - * The subtitle in the heading of the alert. Displayed under the title. - */ - 'subHeader'?: string; - /** - * If `true`, the alert will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). - */ - 'translucent': boolean; - } - interface IonApp {} - interface IonAvatar {} - interface IonBackButton { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * The url to navigate back to by default when there is no history. - */ - 'defaultHref'?: string; - /** - * If `true`, the user cannot interact with the button. - */ - 'disabled': boolean; - /** - * The icon name to use for the back button. - */ - 'icon'?: string | null; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * The text to display in the back button. - */ - 'text'?: string | null; - /** - * The type of the button. - */ - 'type': 'submit' | 'reset' | 'button'; - } - interface IonBackdrop { - /** - * If `true`, the backdrop will stop propagation on tap. - */ - 'stopPropagation': boolean; - /** - * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event. - */ - 'tappable': boolean; - /** - * If `true`, the backdrop will be visible. - */ - 'visible': boolean; - } - interface IonBadge { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - } - interface IonButton { - /** - * The type of button. - */ - 'buttonType': string; - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * If `true`, the user cannot interact with the button. - */ - 'disabled': boolean; - /** - * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want). - */ - 'download': string | undefined; - /** - * Set to `"block"` for a full-width button or to `"full"` for a full-width button without left and right borders. - */ - 'expand'?: 'full' | 'block'; - /** - * Set to `"clear"` for a transparent button, to `"outline"` for a transparent button with a border, or to `"solid"`. The default style is `"solid"` except inside of a toolbar, where the default is `"clear"`. - */ - 'fill'?: 'clear' | 'outline' | 'solid' | 'default'; - /** - * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered. - */ - 'href': string | undefined; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types). - */ - 'rel': string | undefined; - /** - * When using a router, it specifies the transition direction when navigating to another page using `href`. - */ - 'routerDirection': RouterDirection; - /** - * The button shape. - */ - 'shape'?: 'round'; - /** - * The button size. - */ - 'size'?: 'small' | 'default' | 'large'; - /** - * If `true`, activates a button with a heavier font weight. - */ - 'strong': boolean; - /** - * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`. - */ - 'target': string | undefined; - /** - * The type of the button. - */ - 'type': 'submit' | 'reset' | 'button'; - } - interface IonButtons { - /** - * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in `ios` mode with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles) - */ - 'collapse': boolean; - } - interface IonCard { - /** - * If `true`, a button tag will be rendered and the card will be tappable. - */ - 'button': boolean; - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * If `true`, the user cannot interact with the card. - */ - 'disabled': boolean; - /** - * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want). - */ - 'download': string | undefined; - /** - * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered. - */ - 'href': string | undefined; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types). - */ - 'rel': string | undefined; - /** - * When using a router, it specifies the transition direction when navigating to another page using `href`. - */ - 'routerDirection': RouterDirection; - /** - * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`. - */ - 'target': string | undefined; - /** - * The type of the button. Only used when an `onclick` or `button` property is present. - */ - 'type': 'submit' | 'reset' | 'button'; - } - interface IonCardContent { - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - } - interface IonCardHeader { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * If `true`, the card header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). - */ - 'translucent': boolean; - } - interface IonCardSubtitle { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - } - interface IonCardTitle { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - } - interface IonCheckbox { - /** - * If `true`, the checkbox is selected. - */ - 'checked': boolean; - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * If `true`, the user cannot interact with the checkbox. - */ - 'disabled': boolean; - /** - * If `true`, the checkbox will visually appear as indeterminate. - */ - 'indeterminate': boolean; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * The name of the control, which is submitted with the form data. - */ - 'name': string; - /** - * The value of the toggle does not mean if it's checked or not, use the `checked` property for that. The value of a toggle is analogous to the value of a ``, it's only used when the toggle participates in a native `
`. - */ - 'value': string; - } - interface IonChip { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Display an outline style button. - */ - 'outline': boolean; - } - interface IonCol { - /** - * The amount to offset the column, in terms of how many columns it should shift to the end of the total available. - */ - 'offset'?: string; - /** - * The amount to offset the column for lg screens, in terms of how many columns it should shift to the end of the total available. - */ - 'offsetLg'?: string; - /** - * The amount to offset the column for md screens, in terms of how many columns it should shift to the end of the total available. - */ - 'offsetMd'?: string; - /** - * The amount to offset the column for sm screens, in terms of how many columns it should shift to the end of the total available. - */ - 'offsetSm'?: string; - /** - * The amount to offset the column for xl screens, in terms of how many columns it should shift to the end of the total available. - */ - 'offsetXl'?: string; - /** - * The amount to offset the column for xs screens, in terms of how many columns it should shift to the end of the total available. - */ - 'offsetXs'?: string; - /** - * The amount to pull the column, in terms of how many columns it should shift to the start of the total available. - */ - 'pull'?: string; - /** - * The amount to pull the column for lg screens, in terms of how many columns it should shift to the start of the total available. - */ - 'pullLg'?: string; - /** - * The amount to pull the column for md screens, in terms of how many columns it should shift to the start of the total available. - */ - 'pullMd'?: string; - /** - * The amount to pull the column for sm screens, in terms of how many columns it should shift to the start of the total available. - */ - 'pullSm'?: string; - /** - * The amount to pull the column for xl screens, in terms of how many columns it should shift to the start of the total available. - */ - 'pullXl'?: string; - /** - * The amount to pull the column for xs screens, in terms of how many columns it should shift to the start of the total available. - */ - 'pullXs'?: string; - /** - * The amount to push the column, in terms of how many columns it should shift to the end of the total available. - */ - 'push'?: string; - /** - * The amount to push the column for lg screens, in terms of how many columns it should shift to the end of the total available. - */ - 'pushLg'?: string; - /** - * The amount to push the column for md screens, in terms of how many columns it should shift to the end of the total available. - */ - 'pushMd'?: string; - /** - * The amount to push the column for sm screens, in terms of how many columns it should shift to the end of the total available. - */ - 'pushSm'?: string; - /** - * The amount to push the column for xl screens, in terms of how many columns it should shift to the end of the total available. - */ - 'pushXl'?: string; - /** - * The amount to push the column for xs screens, in terms of how many columns it should shift to the end of the total available. - */ - 'pushXs'?: string; - /** - * The size of the column, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content. - */ - 'size'?: string; - /** - * The size of the column for lg screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content. - */ - 'sizeLg'?: string; - /** - * The size of the column for md screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content. - */ - 'sizeMd'?: string; - /** - * The size of the column for sm screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content. - */ - 'sizeSm'?: string; - /** - * The size of the column for xl screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content. - */ - 'sizeXl'?: string; - /** - * The size of the column for xs screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content. - */ - 'sizeXs'?: string; - } - interface IonContent { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * If `true` and the content does not cause an overflow scroll, the scroll interaction will cause a bounce. If the content exceeds the bounds of ionContent, nothing will change. Note, the does not disable the system bounce on iOS. That is an OS level setting. - */ - 'forceOverscroll'?: boolean; - /** - * If `true`, the content will scroll behind the headers and footers. This effect can easily be seen by setting the toolbar to transparent. - */ - 'fullscreen': boolean; - /** - * Get the element where the actual scrolling takes place. This element can be used to subscribe to `scroll` events or manually modify `scrollTop`. However, it's recommended to use the API provided by `ion-content`: i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events and `scrollToPoint()` to scroll the content into a certain point. - */ - 'getScrollElement': () => Promise; - /** - * Scroll by a specified X/Y distance in the component. - * @param x The amount to scroll by on the horizontal axis. - * @param y The amount to scroll by on the vertical axis. - * @param duration The amount of time to take scrolling by that amount. - */ - 'scrollByPoint': (x: number, y: number, duration: number) => Promise; - /** - * Because of performance reasons, ionScroll events are disabled by default, in order to enable them and start listening from (ionScroll), set this property to `true`. - */ - 'scrollEvents': boolean; - /** - * Scroll to the bottom of the component. - * @param duration The amount of time to take scrolling to the bottom. Defaults to `0`. - */ - 'scrollToBottom': (duration?: number) => Promise; - /** - * Scroll to a specified X/Y location in the component. - * @param x The point to scroll to on the horizontal axis. - * @param y The point to scroll to on the vertical axis. - * @param duration The amount of time to take scrolling to that point. Defaults to `0`. - */ - 'scrollToPoint': (x: number | null | undefined, y: number | null | undefined, duration?: number) => Promise; - /** - * Scroll to the top of the component. - * @param duration The amount of time to take scrolling to the top. Defaults to `0`. - */ - 'scrollToTop': (duration?: number) => Promise; - /** - * If you want to enable the content scrolling in the X axis, set this property to `true`. - */ - 'scrollX': boolean; - /** - * If you want to disable the content scrolling in the Y axis, set this property to `false`. - */ - 'scrollY': boolean; - } - interface IonDatetime { - /** - * The text to display on the picker's cancel button. - */ - 'cancelText': string; - /** - * Full day of the week names. This can be used to provide locale names for each day in the week. Defaults to English. - */ - 'dayNames'?: string[] | string; - /** - * Short abbreviated day of the week names. This can be used to provide locale names for each day in the week. Defaults to English. - */ - 'dayShortNames'?: string[] | string; - /** - * Values used to create the list of selectable days. By default every day is shown for the given month. However, to control exactly which days of the month to display, the `dayValues` input can take a number, an array of numbers, or a string of comma separated numbers. Note that even if the array days have an invalid number for the selected month, like `31` in February, it will correctly not show days which are not valid for the selected month. - */ - 'dayValues'?: number[] | number | string; - /** - * If `true`, the user cannot interact with the datetime. - */ - 'disabled': boolean; - /** - * The display format of the date and time as text that shows within the item. When the `pickerFormat` input is not used, then the `displayFormat` is used for both display the formatted text, and determining the datetime picker's columns. See the `pickerFormat` input description for more info. Defaults to `MMM D, YYYY`. - */ - 'displayFormat': string; - /** - * The timezone to use for display purposes only. See [Date.prototype.toLocaleString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString) for a list of supported timezones. If no value is provided, the component will default to displaying times in the user's local timezone. - */ - 'displayTimezone'?: string; - /** - * The text to display on the picker's "Done" button. - */ - 'doneText': string; - /** - * Values used to create the list of selectable hours. By default the hour values range from `0` to `23` for 24-hour, or `1` to `12` for 12-hour. However, to control exactly which hours to display, the `hourValues` input can take a number, an array of numbers, or a string of comma separated numbers. - */ - 'hourValues'?: number[] | number | string; - /** - * The maximum datetime allowed. Value must be a date string following the [ISO 8601 datetime format standard](https://www.w3.org/TR/NOTE-datetime), `1996-12-19`. The format does not have to be specific to an exact datetime. For example, the maximum could just be the year, such as `1994`. Defaults to the end of this year. - */ - 'max'?: string; - /** - * The minimum datetime allowed. Value must be a date string following the [ISO 8601 datetime format standard](https://www.w3.org/TR/NOTE-datetime), such as `1996-12-19`. The format does not have to be specific to an exact datetime. For example, the minimum could just be the year, such as `1994`. Defaults to the beginning of the year, 100 years ago from today. - */ - 'min'?: string; - /** - * Values used to create the list of selectable minutes. By default the minutes range from `0` to `59`. However, to control exactly which minutes to display, the `minuteValues` input can take a number, an array of numbers, or a string of comma separated numbers. For example, if the minute selections should only be every 15 minutes, then this input value would be `minuteValues="0,15,30,45"`. - */ - 'minuteValues'?: number[] | number | string; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Full names for each month name. This can be used to provide locale month names. Defaults to English. - */ - 'monthNames'?: string[] | string; - /** - * Short abbreviated names for each month name. This can be used to provide locale month names. Defaults to English. - */ - 'monthShortNames'?: string[] | string; - /** - * Values used to create the list of selectable months. By default the month values range from `1` to `12`. However, to control exactly which months to display, the `monthValues` input can take a number, an array of numbers, or a string of comma separated numbers. For example, if only summer months should be shown, then this input value would be `monthValues="6,7,8"`. Note that month numbers do *not* have a zero-based index, meaning January's value is `1`, and December's is `12`. - */ - 'monthValues'?: number[] | number | string; - /** - * The name of the control, which is submitted with the form data. - */ - 'name': string; - /** - * Opens the datetime overlay. - */ - 'open': () => Promise; - /** - * The format of the date and time picker columns the user selects. A datetime input can have one or many datetime parts, each getting their own column which allow individual selection of that particular datetime part. For example, year and month columns are two individually selectable columns which help choose an exact date from the datetime picker. Each column follows the string parse format. Defaults to use `displayFormat`. - */ - 'pickerFormat'?: string; - /** - * Any additional options that the picker interface can accept. See the [Picker API docs](../picker) for the picker options. - */ - 'pickerOptions'?: DatetimeOptions; - /** - * The text to display when there's no date selected yet. Using lowercase to match the input attribute - */ - 'placeholder'?: string | null; - /** - * If `true`, the datetime appears normal but is not interactive. - */ - 'readonly': boolean; - /** - * The value of the datetime as a valid ISO 8601 datetime string. - */ - 'value'?: string | null; - /** - * Values used to create the list of selectable years. By default the year values range between the `min` and `max` datetime inputs. However, to control exactly which years to display, the `yearValues` input can take a number, an array of numbers, or string of comma separated numbers. For example, to show upcoming and recent leap years, then this input's value would be `yearValues="2024,2020,2016,2012,2008"`. - */ - 'yearValues'?: number[] | number | string; - } - interface IonFab { - /** - * If `true`, both the `ion-fab-button` and all `ion-fab-list` inside `ion-fab` will become active. That means `ion-fab-button` will become a `close` icon and `ion-fab-list` will become visible. - */ - 'activated': boolean; - /** - * Close an active FAB list container. - */ - 'close': () => Promise; - /** - * If `true`, the fab will display on the edge of the header if `vertical` is `"top"`, and on the edge of the footer if it is `"bottom"`. Should be used with a `fixed` slot. - */ - 'edge': boolean; - /** - * Where to align the fab horizontally in the viewport. - */ - 'horizontal'?: 'start' | 'end' | 'center'; - /** - * Where to align the fab vertically in the viewport. - */ - 'vertical'?: 'top' | 'bottom' | 'center'; - } - interface IonFabButton { - /** - * If `true`, the fab button will be show a close icon. - */ - 'activated': boolean; - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * If `true`, the user cannot interact with the fab button. - */ - 'disabled': boolean; - /** - * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want). - */ - 'download': string | undefined; - /** - * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered. - */ - 'href': string | undefined; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types). - */ - 'rel': string | undefined; - /** - * When using a router, it specifies the transition direction when navigating to another page using `href`. - */ - 'routerDirection': RouterDirection; - /** - * If `true`, the fab button will show when in a fab-list. - */ - 'show': boolean; - /** - * The size of the button. Set this to `small` in order to have a mini fab. - */ - 'size'?: 'small'; - /** - * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`. - */ - 'target': string | undefined; - /** - * If `true`, the fab button will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). - */ - 'translucent': boolean; - /** - * The type of the button. - */ - 'type': 'submit' | 'reset' | 'button'; - } - interface IonFabList { - /** - * If `true`, the fab list will show all fab buttons in the list. - */ - 'activated': boolean; - /** - * The side the fab list will show on relative to the main fab button. - */ - 'side': 'start' | 'end' | 'top' | 'bottom'; - } - interface IonFooter { - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * If `true`, the footer will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content. - */ - 'translucent': boolean; - } - interface IonGrid { - /** - * If `true`, the grid will have a fixed width based on the screen size. - */ - 'fixed': boolean; - } - interface IonHeader { - /** - * Describes the scroll effect that will be applied to the header `condense` only applies in iOS mode. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles) - */ - 'collapse'?: 'condense'; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * If `true`, the header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content. - */ - 'translucent': boolean; - } - interface IonImg { - /** - * This attribute defines the alternative text describing the image. Users will see this text displayed if the image URL is wrong, the image is not in one of the supported formats, or if the image is not yet downloaded. - */ - 'alt'?: string; - /** - * The image URL. This attribute is mandatory for the `` element. - */ - 'src'?: string; - } - interface IonInfiniteScroll { - /** - * Call `complete()` within the `ionInfinite` output event handler when your async operation has completed. For example, the `loading` state is while the app is performing an asynchronous operation, such as receiving more data from an AJAX request to add more items to a data list. Once the data has been received and UI updated, you then call this method to signify that the loading has completed. This method will change the infinite scroll's state from `loading` to `enabled`. - */ - 'complete': () => Promise; - /** - * If `true`, the infinite scroll will be hidden and scroll event listeners will be removed. Set this to true to disable the infinite scroll from actively trying to receive new data while scrolling. This is useful when it is known that there is no more data that can be added, and the infinite scroll is no longer needed. - */ - 'disabled': boolean; - /** - * The position of the infinite scroll element. The value can be either `top` or `bottom`. - */ - 'position': 'top' | 'bottom'; - /** - * The threshold distance from the bottom of the content to call the `infinite` output event when scrolled. The threshold value can be either a percent, or in pixels. For example, use the value of `10%` for the `infinite` output event to get called when the user has scrolled 10% from the bottom of the page. Use the value `100px` when the scroll is within 100 pixels from the bottom of the page. - */ - 'threshold': string; - } - interface IonInfiniteScrollContent { - /** - * An animated SVG spinner that shows while loading. - */ - 'loadingSpinner'?: SpinnerTypes | null; - /** - * Optional text to display while loading. `loadingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `` would become `<Ionic>` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) - */ - 'loadingText'?: string; - } - interface IonInput { - /** - * If the value of the type attribute is `"file"`, then this attribute will indicate the types of files that the server accepts, otherwise it will be ignored. The value must be a comma-separated list of unique content type specifiers. - */ - 'accept'?: string; - /** - * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user. - */ - 'autocapitalize': string; - /** - * Indicates whether the value of the control can be automatically completed by the browser. - */ - 'autocomplete': 'on' | 'off'; - /** - * Whether auto correction should be enabled when the user is entering/editing the text value. - */ - 'autocorrect': 'on' | 'off'; - /** - * This Boolean attribute lets you specify that a form control should have input focus when the page loads. - */ - 'autofocus': boolean; - /** - * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input. - */ - 'clearInput': boolean; - /** - * If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `"password"`, `false` for all other types. - */ - 'clearOnEdit'?: boolean; - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. - */ - 'debounce': number; - /** - * If `true`, the user cannot interact with the input. - */ - 'disabled': boolean; - /** - * Returns the native `` element used under the hood. - */ - 'getInputElement': () => Promise; - /** - * A hint to the browser for which keyboard to display. Possible values: `"none"`, `"text"`, `"tel"`, `"url"`, `"email"`, `"numeric"`, `"decimal"`, and `"search"`. - */ - 'inputmode'?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'; - /** - * The maximum value, which must not be less than its minimum (min attribute) value. - */ - 'max'?: string; - /** - * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the maximum number of characters that the user can enter. - */ - 'maxlength'?: number; - /** - * The minimum value, which must not be greater than its maximum (max attribute) value. - */ - 'min'?: string; - /** - * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the minimum number of characters that the user can enter. - */ - 'minlength'?: number; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * If `true`, the user can enter more than one value. This attribute applies when the type attribute is set to `"email"` or `"file"`, otherwise it is ignored. - */ - 'multiple'?: boolean; - /** - * The name of the control, which is submitted with the form data. - */ - 'name': string; - /** - * A regular expression that the value is checked against. The pattern must match the entire value, not just some subset. Use the title attribute to describe the pattern to help the user. This attribute applies when the value of the type attribute is `"text"`, `"search"`, `"tel"`, `"url"`, `"email"`, or `"password"`, otherwise it is ignored. - */ - 'pattern'?: string; - /** - * Instructional text that shows before the input has a value. - */ - 'placeholder'?: string | null; - /** - * If `true`, the user cannot modify the value. - */ - 'readonly': boolean; - /** - * If `true`, the user must fill in a value before submitting a form. - */ - 'required': boolean; - /** - * Sets focus on the specified `ion-input`. Use this method instead of the global `input.focus()`. - */ - 'setFocus': () => Promise; - /** - * The initial size of the control. This value is in pixels unless the value of the type attribute is `"text"` or `"password"`, in which case it is an integer number of characters. This attribute applies only when the `type` attribute is set to `"text"`, `"search"`, `"tel"`, `"url"`, `"email"`, or `"password"`, otherwise it is ignored. - */ - 'size'?: number; - /** - * If `true`, the element will have its spelling and grammar checked. - */ - 'spellcheck': boolean; - /** - * Works with the min and max attributes to limit the increments at which a value can be set. Possible values are: `"any"` or a positive floating point number. - */ - 'step'?: string; - /** - * The type of control to display. The default type is text. - */ - 'type': TextFieldTypes; - /** - * The value of the input. - */ - 'value'?: string | number | null; - } - interface IonItem { - /** - * If `true`, a button tag will be rendered and the item will be tappable. - */ - 'button': boolean; - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `mode` is `ios` and an `href` or `button` property is present. - */ - 'detail'?: boolean; - /** - * The icon to use when `detail` is set to `true`. - */ - 'detailIcon': string; - /** - * If `true`, the user cannot interact with the item. - */ - 'disabled': boolean; - /** - * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want). - */ - 'download': string | undefined; - /** - * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered. - */ - 'href': string | undefined; - /** - * How the bottom border should be displayed on the item. - */ - 'lines'?: 'full' | 'inset' | 'none'; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types). - */ - 'rel': string | undefined; - /** - * When using a router, it specifies the transition direction when navigating to another page using `href`. - */ - 'routerDirection': RouterDirection; - /** - * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`. - */ - 'target': string | undefined; - /** - * The type of the button. Only used when an `onclick` or `button` property is present. - */ - 'type': 'submit' | 'reset' | 'button'; - } - interface IonItemDivider { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * When it's set to `true`, the item-divider will stay visible when it reaches the top of the viewport until the next `ion-item-divider` replaces it. This feature relies in `position:sticky`: https://caniuse.com/#feat=css-sticky - */ - 'sticky': boolean; - } - interface IonItemGroup {} - interface IonItemOption { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * If `true`, the user cannot interact with the item option. - */ - 'disabled': boolean; - /** - * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want). - */ - 'download': string | undefined; - /** - * If `true`, the option will expand to take up the available width and cover any other options. - */ - 'expandable': boolean; - /** - * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered. - */ - 'href': string | undefined; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types). - */ - 'rel': string | undefined; - /** - * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`. - */ - 'target': string | undefined; - /** - * The type of the button. - */ - 'type': 'submit' | 'reset' | 'button'; - } - interface IonItemOptions { - 'fireSwipeEvent': () => Promise; - /** - * The side the option button should be on. Possible values: `"start"` and `"end"`. If you have multiple `ion-item-options`, a side must be provided for each. - */ - 'side': Side; - } - interface IonItemSliding { - /** - * Close the sliding item. Items can also be closed from the [List](../list). - */ - 'close': () => Promise; - /** - * Close all of the sliding items in the list. Items can also be closed from the [List](../list). - */ - 'closeOpened': () => Promise; - /** - * If `true`, the user cannot interact with the sliding item. - */ - 'disabled': boolean; - /** - * Get the amount the item is open in pixels. - */ - 'getOpenAmount': () => Promise; - /** - * Get the ratio of the open amount of the item compared to the width of the options. If the number returned is positive, then the options on the right side are open. If the number returned is negative, then the options on the left side are open. If the absolute value of the number is greater than 1, the item is open more than the width of the options. - */ - 'getSlidingRatio': () => Promise; - /** - * Open the sliding item. - * @param side The side of the options to open. If a side is not provided, it will open the first set of options it finds within the item. - */ - 'open': (side: "start" | "end" | undefined) => Promise; - } - interface IonLabel { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * The position determines where and how the label behaves inside an item. - */ - 'position'?: 'fixed' | 'stacked' | 'floating'; - } - interface IonList { - /** - * If `ion-item-sliding` are used inside the list, this method closes any open sliding item. Returns `true` if an actual `ion-item-sliding` is closed. - */ - 'closeSlidingItems': () => Promise; - /** - * If `true`, the list will have margin around it and rounded corners. - */ - 'inset': boolean; - /** - * How the bottom border should be displayed on all items. - */ - 'lines'?: 'full' | 'inset' | 'none'; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - } - interface IonListHeader { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * How the bottom border should be displayed on the list header. - */ - 'lines'?: 'full' | 'inset' | 'none'; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - } - interface IonLoading { - /** - * If `true`, the loading indicator will animate. - */ - 'animated': boolean; - /** - * If `true`, the loading indicator will be dismissed when the backdrop is clicked. - */ - 'backdropDismiss': boolean; - /** - * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces. - */ - 'cssClass'?: string | string[]; - /** - * Dismiss the loading overlay after it has been presented. - * @param data Any data to emit in the dismiss events. - * @param role The role of the element that is dismissing the loading. This can be useful in a button handler for determining which button was clicked to dismiss the loading. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. - */ - 'dismiss': (data?: any, role?: string | undefined) => Promise; - /** - * Number of milliseconds to wait before dismissing the loading indicator. - */ - 'duration': number; - /** - * Animation to use when the loading indicator is presented. - */ - 'enterAnimation'?: AnimationBuilder; - /** - * If `true`, the keyboard will be automatically dismissed when the overlay is presented. - */ - 'keyboardClose': boolean; - /** - * Animation to use when the loading indicator is dismissed. - */ - 'leaveAnimation'?: AnimationBuilder; - /** - * Optional text content to display in the loading indicator. - */ - 'message'?: string; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Returns a promise that resolves when the loading did dismiss. - */ - 'onDidDismiss': () => Promise>; - /** - * Returns a promise that resolves when the loading will dismiss. - */ - 'onWillDismiss': () => Promise>; - 'overlayIndex': number; - /** - * Present the loading overlay after it has been created. - */ - 'present': () => Promise; - /** - * If `true`, a backdrop will be displayed behind the loading indicator. - */ - 'showBackdrop': boolean; - /** - * The name of the spinner to display. - */ - 'spinner'?: SpinnerTypes | null; - /** - * If `true`, the loading indicator will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). - */ - 'translucent': boolean; - } - interface IonMenu { - /** - * Closes the menu. If the menu is already closed or it can't be closed, it returns `false`. - */ - 'close': (animated?: boolean) => Promise; - /** - * The content's id the menu should use. - */ - 'contentId'?: string; - /** - * If `true`, the menu is disabled. - */ - 'disabled': boolean; - /** - * Returns `true` is the menu is active. A menu is active when it can be opened or closed, meaning it's enabled and it's not part of a `ion-split-pane`. - */ - 'isActive': () => Promise; - /** - * Returns `true` is the menu is open. - */ - 'isOpen': () => Promise; - /** - * The edge threshold for dragging the menu open. If a drag/swipe happens over this value, the menu is not triggered. - */ - 'maxEdgeStart': number; - /** - * An id for the menu. - */ - 'menuId'?: string; - /** - * Opens the menu. If the menu is already open or it can't be opened, it returns `false`. - */ - 'open': (animated?: boolean) => Promise; - /** - * Opens or closes the button. If the operation can't be completed successfully, it returns `false`. - */ - 'setOpen': (shouldOpen: boolean, animated?: boolean) => Promise; - /** - * Which side of the view the menu should be placed. - */ - 'side': Side; - /** - * If `true`, swiping the menu is enabled. - */ - 'swipeGesture': boolean; - /** - * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it. If the operation can't be completed successfully, it returns `false`. - */ - 'toggle': (animated?: boolean) => Promise; - /** - * The display type of the menu. Available options: `"overlay"`, `"reveal"`, `"push"`. - */ - 'type'?: string; - } - interface IonMenuButton { - /** - * Automatically hides the menu button when the corresponding menu is not active - */ - 'autoHide': boolean; - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * If `true`, the user cannot interact with the menu button. - */ - 'disabled': boolean; - /** - * Optional property that maps to a Menu's `menuId` prop. Can also be `start` or `end` for the menu side. This is used to find the correct menu to toggle - */ - 'menu'?: string; - /** - * The type of the button. - */ - 'type': 'submit' | 'reset' | 'button'; - } - interface IonMenuToggle { - /** - * Automatically hides the content when the corresponding menu is not active. By default, it's `true`. Change it to `false` in order to keep `ion-menu-toggle` always visible regardless the state of the menu. - */ - 'autoHide': boolean; - /** - * Optional property that maps to a Menu's `menuId` prop. Can also be `start` or `end` for the menu side. This is used to find the correct menu to toggle. If this property is not used, `ion-menu-toggle` will toggle the first menu that is active. - */ - 'menu'?: string; - } - interface IonModal { - /** - * If `true`, the modal will animate. - */ - 'animated': boolean; - /** - * If `true`, the modal will be dismissed when the backdrop is clicked. - */ - 'backdropDismiss': boolean; - /** - * The component to display inside of the modal. - */ - 'component': ComponentRef; - /** - * The data to pass to the modal component. - */ - 'componentProps'?: ComponentProps; - /** - * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces. - */ - 'cssClass'?: string | string[]; - 'delegate'?: FrameworkDelegate; - /** - * Dismiss the modal overlay after it has been presented. - * @param data Any data to emit in the dismiss events. - * @param role The role of the element that is dismissing the modal. For example, 'cancel' or 'backdrop'. - */ - 'dismiss': (data?: any, role?: string | undefined) => Promise; - /** - * Animation to use when the modal is presented. - */ - 'enterAnimation'?: AnimationBuilder; - /** - * If `true`, the keyboard will be automatically dismissed when the overlay is presented. - */ - 'keyboardClose': boolean; - /** - * Animation to use when the modal is dismissed. - */ - 'leaveAnimation'?: AnimationBuilder; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Returns a promise that resolves when the modal did dismiss. - */ - 'onDidDismiss': () => Promise>; - /** - * Returns a promise that resolves when the modal will dismiss. - */ - 'onWillDismiss': () => Promise>; - 'overlayIndex': number; - /** - * Present the modal overlay after it has been created. - */ - 'present': () => Promise; - /** - * The element that presented the modal. This is used for card presentation effects and for stacking multiple modals on top of each other. Only applies in iOS mode. - */ - 'presentingElement'?: HTMLElement; - /** - * If `true`, a backdrop will be displayed behind the modal. - */ - 'showBackdrop': boolean; - /** - * If `true`, the modal can be swiped to dismiss. Only applies in iOS mode. - */ - 'swipeToClose': boolean; - } - interface IonNav { - /** - * If `true`, the nav should animate the transition of components. - */ - 'animated': boolean; - /** - * By default `ion-nav` animates transition between pages based in the mode (ios or material design). However, this property allows to create custom transition using `AnimateBuilder` functions. - */ - 'animation'?: AnimationBuilder; - /** - * Returns `true` if the current view can go back. - * @param view The view to check. - */ - 'canGoBack': (view?: ViewController | undefined) => Promise; - 'delegate'?: FrameworkDelegate; - /** - * Get the active view. - */ - 'getActive': () => Promise; - /** - * Get the view at the specified index. - * @param index The index of the view. - */ - 'getByIndex': (index: number) => Promise; - /** - * Get the previous view. - * @param view The view to get. - */ - 'getPrevious': (view?: ViewController | undefined) => Promise; - 'getRouteId': () => Promise; - /** - * Inserts a component into the navigation stack at the specified index. This is useful to add a component at any point in the navigation stack. - * @param insertIndex The index to insert the component at in the stack. - * @param component The component to insert into the navigation stack. - * @param componentProps Any properties of the component. - * @param opts The navigation options. - * @param done The transition complete function. - */ - 'insert': (insertIndex: number, component: T, componentProps?: ComponentProps | null | undefined, opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise; - /** - * Inserts an array of components into the navigation stack at the specified index. The last component in the array will become instantiated as a view, and animate in to become the active view. - * @param insertIndex The index to insert the components at in the stack. - * @param insertComponents The components to insert into the navigation stack. - * @param opts The navigation options. - * @param done The transition complete function. - */ - 'insertPages': (insertIndex: number, insertComponents: NavComponent[], opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise; - /** - * Pop a component off of the navigation stack. Navigates back from the current component. - * @param opts The navigation options. - * @param done The transition complete function. - */ - 'pop': (opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise; - /** - * Pop to a specific index in the navigation stack. - * @param indexOrViewCtrl The index or view controller to pop to. - * @param opts The navigation options. - * @param done The transition complete function. - */ - 'popTo': (indexOrViewCtrl: number | ViewController, opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise; - /** - * Navigate back to the root of the stack, no matter how far back that is. - * @param opts The navigation options. - * @param done The transition complete function. - */ - 'popToRoot': (opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise; - /** - * Push a new component onto the current navigation stack. Pass any additional information along as an object. This additional information is accessible through NavParams. - * @param component The component to push onto the navigation stack. - * @param componentProps Any properties of the component. - * @param opts The navigation options. - * @param done The transition complete function. - */ - 'push': (component: T, componentProps?: ComponentProps | null | undefined, opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise; - /** - * Removes a component from the navigation stack at the specified index. - * @param startIndex The number to begin removal at. - * @param removeCount The number of components to remove. - * @param opts The navigation options. - * @param done The transition complete function. - */ - 'removeIndex': (startIndex: number, removeCount?: number, opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise; - /** - * Root NavComponent to load - */ - 'root'?: NavComponent; - /** - * Any parameters for the root component - */ - 'rootParams'?: ComponentProps; - /** - * Set the views of the current navigation stack and navigate to the last view. By default animations are disabled, but they can be enabled by passing options to the navigation controller. Navigation parameters can also be passed to the individual pages in the array. - * @param views The list of views to set as the navigation stack. - * @param opts The navigation options. - * @param done The transition complete function. - */ - 'setPages': (views: any[], opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise; - /** - * Set the root for the current navigation stack to a component. - * @param component The component to set as the root of the navigation stack. - * @param componentProps Any properties of the component. - * @param opts The navigation options. - * @param done The transition complete function. - */ - 'setRoot': (component: T, componentProps?: ComponentProps | null | undefined, opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise; - 'setRouteId': (id: string, params: ComponentProps | undefined, direction: RouterDirection) => Promise; - /** - * If the nav component should allow for swipe-to-go-back. - */ - 'swipeGesture'?: boolean; - } - interface IonNavLink { - /** - * Component to navigate to. Only used if the `routerDirection` is `"forward"` or `"root"`. - */ - 'component'?: NavComponent; - /** - * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`. - */ - 'componentProps'?: ComponentProps; - /** - * The transition direction when navigating to another page. - */ - 'routerDirection': RouterDirection; - } - interface IonNote { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - } - interface IonPicker { - /** - * If `true`, the picker will animate. - */ - 'animated': boolean; - /** - * If `true`, the picker will be dismissed when the backdrop is clicked. - */ - 'backdropDismiss': boolean; - /** - * Array of buttons to be displayed at the top of the picker. - */ - 'buttons': PickerButton[]; - /** - * Array of columns to be displayed in the picker. - */ - 'columns': PickerColumn[]; - /** - * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces. - */ - 'cssClass'?: string | string[]; - /** - * Dismiss the picker overlay after it has been presented. - * @param data Any data to emit in the dismiss events. - * @param role The role of the element that is dismissing the picker. This can be useful in a button handler for determining which button was clicked to dismiss the picker. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. - */ - 'dismiss': (data?: any, role?: string | undefined) => Promise; - /** - * Number of milliseconds to wait before dismissing the picker. - */ - 'duration': number; - /** - * Animation to use when the picker is presented. - */ - 'enterAnimation'?: AnimationBuilder; - /** - * Get the column that matches the specified name. - * @param name The name of the column. - */ - 'getColumn': (name: string) => Promise; - /** - * If `true`, the keyboard will be automatically dismissed when the overlay is presented. - */ - 'keyboardClose': boolean; - /** - * Animation to use when the picker is dismissed. - */ - 'leaveAnimation'?: AnimationBuilder; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Returns a promise that resolves when the picker did dismiss. - */ - 'onDidDismiss': () => Promise>; - /** - * Returns a promise that resolves when the picker will dismiss. - */ - 'onWillDismiss': () => Promise>; - 'overlayIndex': number; - /** - * Present the picker overlay after it has been created. - */ - 'present': () => Promise; - /** - * If `true`, a backdrop will be displayed behind the picker. - */ - 'showBackdrop': boolean; - } - interface IonPickerColumn { - /** - * Picker column data - */ - 'col': PickerColumn; - } - interface IonPopover { - /** - * If `true`, the popover will animate. - */ - 'animated': boolean; - /** - * If `true`, the popover will be dismissed when the backdrop is clicked. - */ - 'backdropDismiss': boolean; - /** - * The component to display inside of the popover. - */ - 'component': ComponentRef; - /** - * The data to pass to the popover component. - */ - 'componentProps'?: ComponentProps; - /** - * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces. - */ - 'cssClass'?: string | string[]; - 'delegate'?: FrameworkDelegate; - /** - * Dismiss the popover overlay after it has been presented. - * @param data Any data to emit in the dismiss events. - * @param role The role of the element that is dismissing the popover. For example, 'cancel' or 'backdrop'. - */ - 'dismiss': (data?: any, role?: string | undefined) => Promise; - /** - * Animation to use when the popover is presented. - */ - 'enterAnimation'?: AnimationBuilder; - /** - * The event to pass to the popover animation. - */ - 'event': any; - /** - * If `true`, the keyboard will be automatically dismissed when the overlay is presented. - */ - 'keyboardClose': boolean; - /** - * Animation to use when the popover is dismissed. - */ - 'leaveAnimation'?: AnimationBuilder; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Returns a promise that resolves when the popover did dismiss. - */ - 'onDidDismiss': () => Promise>; - /** - * Returns a promise that resolves when the popover will dismiss. - */ - 'onWillDismiss': () => Promise>; - 'overlayIndex': number; - /** - * Present the popover overlay after it has been created. - */ - 'present': () => Promise; - /** - * If `true`, a backdrop will be displayed behind the popover. - */ - 'showBackdrop': boolean; - /** - * If `true`, the popover will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). - */ - 'translucent': boolean; - } - interface IonProgressBar { - /** - * If the buffer and value are smaller than 1, the buffer circles will show. The buffer should be between [0, 1]. - */ - 'buffer': number; - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * If true, reverse the progress bar direction. - */ - 'reversed': boolean; - /** - * The state of the progress bar, based on if the time the process takes is known or not. Default options are: `"determinate"` (no animation), `"indeterminate"` (animate from left to right). - */ - 'type': 'determinate' | 'indeterminate'; - /** - * The value determines how much of the active bar should display when the `type` is `"determinate"`. The value should be between [0, 1]. - */ - 'value': number; - } - interface IonRadio { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * If `true`, the user cannot interact with the radio. - */ - 'disabled': boolean; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * The name of the control, which is submitted with the form data. - */ - 'name': string; - /** - * the value of the radio. - */ - 'value'?: any | null; - } - interface IonRadioGroup { - /** - * If `true`, the radios can be deselected. - */ - 'allowEmptySelection': boolean; - /** - * The name of the control, which is submitted with the form data. - */ - 'name': string; - /** - * the value of the radio group. - */ - 'value'?: any | null; - } - interface IonRange { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * How long, in milliseconds, to wait to trigger the `ionChange` event after each change in the range value. - */ - 'debounce': number; - /** - * If `true`, the user cannot interact with the range. - */ - 'disabled': boolean; - /** - * Show two knobs. - */ - 'dualKnobs': boolean; - /** - * Maximum integer value of the range. - */ - 'max': number; - /** - * Minimum integer value of the range. - */ - 'min': number; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * The name of the control, which is submitted with the form data. - */ - 'name': string; - /** - * If `true`, a pin with integer value is shown when the knob is pressed. - */ - 'pin': boolean; - /** - * If `true`, the knob snaps to tick marks evenly spaced based on the step property value. - */ - 'snaps': boolean; - /** - * Specifies the value granularity. - */ - 'step': number; - /** - * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`. - */ - 'ticks': boolean; - /** - * the value of the range. - */ - 'value': RangeValue; - } - interface IonRefresher { - /** - * Changes the refresher's state from `refreshing` to `cancelling`. - */ - 'cancel': () => Promise; - /** - * Time it takes to close the refresher. Does not apply when the refresher content uses a spinner, enabling the native refresher. - */ - 'closeDuration': string; - /** - * Call `complete()` when your async operation has completed. For example, the `refreshing` state is while the app is performing an asynchronous operation, such as receiving more data from an AJAX request. Once the data has been received, you then call this method to signify that the refreshing has completed and to close the refresher. This method also changes the refresher's state from `refreshing` to `completing`. - */ - 'complete': () => Promise; - /** - * If `true`, the refresher will be hidden. - */ - 'disabled': boolean; - /** - * A number representing how far down the user has pulled. The number `0` represents the user hasn't pulled down at all. The number `1`, and anything greater than `1`, represents that the user has pulled far enough down that when they let go then the refresh will happen. If they let go and the number is less than `1`, then the refresh will not happen, and the content will return to it's original position. - */ - 'getProgress': () => Promise; - /** - * How much to multiply the pull speed by. To slow the pull animation down, pass a number less than `1`. To speed up the pull, pass a number greater than `1`. The default value is `1` which is equal to the speed of the cursor. If a negative value is passed in, the factor will be `1` instead. For example: If the value passed is `1.2` and the content is dragged by `10` pixels, instead of `10` pixels the content will be pulled by `12` pixels (an increase of 20 percent). If the value passed is `0.8`, the dragged amount will be `8` pixels, less than the amount the cursor has moved. Does not apply when the refresher content uses a spinner, enabling the native refresher. - */ - 'pullFactor': number; - /** - * The maximum distance of the pull until the refresher will automatically go into the `refreshing` state. Defaults to the result of `pullMin + 60`. Does not apply when the refresher content uses a spinner, enabling the native refresher. - */ - 'pullMax': number; - /** - * The minimum distance the user must pull down until the refresher will go into the `refreshing` state. Does not apply when the refresher content uses a spinner, enabling the native refresher. - */ - 'pullMin': number; - /** - * Time it takes the refresher to to snap back to the `refreshing` state. Does not apply when the refresher content uses a spinner, enabling the native refresher. - */ - 'snapbackDuration': string; - } - interface IonRefresherContent { - /** - * A static icon or a spinner to display when you begin to pull down. A spinner name can be provided to gradually show tick marks when pulling down on iOS devices. - */ - 'pullingIcon'?: SpinnerTypes | string | null; - /** - * The text you want to display when you begin to pull down. `pullingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `` would become `<Ionic>` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) - */ - 'pullingText'?: string; - /** - * An animated SVG spinner that shows when refreshing begins - */ - 'refreshingSpinner'?: SpinnerTypes | null; - /** - * The text you want to display when performing a refresh. `refreshingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `` would become `<Ionic>` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) - */ - 'refreshingText'?: string; - } - interface IonReorder {} - interface IonReorderGroup { - /** - * Completes the reorder operation. Must be called by the `ionItemReorder` event. If a list of items is passed, the list will be reordered and returned in the proper order. If no parameters are passed or if `true` is passed in, the reorder will complete and the item will remain in the position it was dragged to. If `false` is passed, the reorder will complete and the item will bounce back to its original position. - * @param listOrReorder A list of items to be sorted and returned in the new order or a boolean of whether or not the reorder should reposition the item. - */ - 'complete': (listOrReorder?: boolean | any[] | undefined) => Promise; - /** - * If `true`, the reorder will be hidden. - */ - 'disabled': boolean; - } - interface IonRippleEffect { - /** - * Adds the ripple effect to the parent element. - * @param x The horizontal coordinate of where the ripple should start. - * @param y The vertical coordinate of where the ripple should start. - */ - 'addRipple': (x: number, y: number) => Promise<() => void>; - /** - * Sets the type of ripple-effect: - `bounded`: the ripple effect expands from the user's click position - `unbounded`: the ripple effect expands from the center of the button and overflows the container. NOTE: Surfaces for bounded ripples should have the overflow property set to hidden, while surfaces for unbounded ripples should have it set to visible. - */ - 'type': 'bounded' | 'unbounded'; - } - interface IonRoute { - /** - * Name of the component to load/select in the navigation outlet (`ion-tabs`, `ion-nav`) when the route matches. The value of this property is not always the tagname of the component to load, in `ion-tabs` it actually refers to the name of the `ion-tab` to select. - */ - 'component': string; - /** - * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered. - */ - 'componentProps'?: {[key: string]: any}; - /** - * Relative path that needs to match in order for this route to apply. Accepts paths similar to expressjs so that you can define parameters in the url /foo/:bar where bar would be available in incoming props. - */ - 'url': string; - } - interface IonRouteRedirect { - /** - * A redirect route, redirects "from" a URL "to" another URL. This property is that "from" URL. It needs to be an exact match of the navigated URL in order to apply. The path specified in this value is always an absolute path, even if the initial `/` slash is not specified. - */ - 'from': string; - /** - * A redirect route, redirects "from" a URL "to" another URL. This property is that "to" URL. When the defined `ion-route-redirect` rule matches, the router will redirect to the path specified in this property. The value of this property is always an absolute path inside the scope of routes defined in `ion-router` it can't be used with another router or to perform a redirection to a different domain. Note that this is a virtual redirect, it will not cause a real browser refresh, again, it's a redirect inside the context of ion-router. When this property is not specified or his value is `undefined` the whole redirect route is noop, even if the "from" value matches. - */ - 'to': string | undefined | null; - } - interface IonRouter { - /** - * Go back to previous page in the window.history. - */ - 'back': () => Promise; - 'navChanged': (direction: RouterDirection) => Promise; - 'printDebug': () => Promise; - /** - * Navigate to the specified URL. - * @param url The url to navigate to. - * @param direction The direction of the animation. Defaults to `"forward"`. - */ - 'push': (url: string, direction?: RouterDirection) => Promise; - /** - * By default `ion-router` will match the routes at the root path ("/"). That can be changed when - */ - 'root': string; - /** - * The router can work in two "modes": - With hash: `/index.html#/path/to/page` - Without hash: `/path/to/page` Using one or another might depend in the requirements of your app and/or where it's deployed. Usually "hash-less" navigation works better for SEO and it's more user friendly too, but it might requires additional server-side configuration in order to properly work. On the otherside hash-navigation is much easier to deploy, it even works over the file protocol. By default, this property is `true`, change to `false` to allow hash-less URLs. - */ - 'useHash': boolean; - } - interface IonRouterLink { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered. - */ - 'href': string | undefined; - /** - * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types). - */ - 'rel': string | undefined; - /** - * When using a router, it specifies the transition direction when navigating to another page using `href`. - */ - 'routerDirection': RouterDirection; - /** - * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`. - */ - 'target': string | undefined; - } - interface IonRouterOutlet { - /** - * If `true`, the router-outlet should animate the transition of components. - */ - 'animated': boolean; - /** - * By default `ion-nav` animates transition between pages based in the mode (ios or material design). However, this property allows to create custom transition using `AnimateBuilder` functions. - */ - 'animation'?: AnimationBuilder; - 'commit': (enteringEl: HTMLElement, leavingEl: HTMLElement | undefined, opts?: RouterOutletOptions | undefined) => Promise; - 'delegate'?: FrameworkDelegate; - 'getRouteId': () => Promise; - /** - * The mode determines which platform styles to use. - */ - 'mode': "ios" | "md"; - 'setRouteId': (id: string, params: ComponentProps | undefined, direction: RouterDirection) => Promise; - 'swipeHandler'?: SwipeGestureHandler; - } - interface IonRow {} - interface IonSearchbar { - /** - * If `true`, enable searchbar animation. - */ - 'animated': boolean; - /** - * Set the input's autocomplete property. - */ - 'autocomplete': 'on' | 'off'; - /** - * Set the input's autocorrect property. - */ - 'autocorrect': 'on' | 'off'; - /** - * Set the cancel button icon. Only applies to `md` mode. Defaults to `"arrow-back-sharp"`. - */ - 'cancelButtonIcon': string; - /** - * Set the the cancel button text. Only applies to `ios` mode. - */ - 'cancelButtonText': string; - /** - * Set the clear icon. Defaults to `"close-circle"` for `ios` and `"close-sharp"` for `md`. - */ - 'clearIcon'?: string; - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. - */ - 'debounce': number; - /** - * If `true`, the user cannot interact with the input. - */ - 'disabled': boolean; - /** - * Returns the native `` element used under the hood. - */ - 'getInputElement': () => Promise; - /** - * A hint to the browser for which keyboard to display. Possible values: `"none"`, `"text"`, `"tel"`, `"url"`, `"email"`, `"numeric"`, `"decimal"`, and `"search"`. - */ - 'inputmode'?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Set the input's placeholder. `placeholder` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `` would become `<Ionic>` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) - */ - 'placeholder': string; - /** - * The icon to use as the search icon. Defaults to `"search-outline"` in `ios` mode and `"search-sharp"` in `md` mode. - */ - 'searchIcon'?: string; - /** - * Sets focus on the specified `ion-searchbar`. Use this method instead of the global `input.focus()`. - */ - 'setFocus': () => Promise; - /** - * Sets the behavior for the cancel button. Defaults to `"never"`. Setting to `"focus"` shows the cancel button on focus. Setting to `"never"` hides the cancel button. Setting to `"always"` shows the cancel button regardless of focus state. - */ - 'showCancelButton': 'never' | 'focus' | 'always'; - /** - * If `true`, enable spellcheck on the input. - */ - 'spellcheck': boolean; - /** - * Set the type of the input. - */ - 'type': 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url'; - /** - * the value of the searchbar. - */ - 'value'?: string | null; - } - interface IonSegment { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * If `true`, the user cannot interact with the segment. - */ - 'disabled': boolean; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * If `true`, the segment buttons will overflow and the user can swipe to see them. In addition, this will disable the gesture to drag the indicator between the buttons in order to swipe to see hidden buttons. - */ - 'scrollable': boolean; - /** - * the value of the segment. - */ - 'value'?: string | null; - } - interface IonSegmentButton { - /** - * If `true`, the user cannot interact with the segment button. - */ - 'disabled': boolean; - /** - * Set the layout of the text and icon in the segment. - */ - 'layout'?: SegmentButtonLayout; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * The type of the button. - */ - 'type': 'submit' | 'reset' | 'button'; - /** - * The value of the segment button. - */ - 'value': string; - } - interface IonSelect { - /** - * The text to display on the cancel button. - */ - 'cancelText': string; - /** - * A property name or function used to compare object values - */ - 'compareWith'?: string | SelectCompareFn | null; - /** - * If `true`, the user cannot interact with the select. - */ - 'disabled': boolean; - /** - * The interface the select should use: `action-sheet`, `popover` or `alert`. - */ - 'interface': SelectInterface; - /** - * Any additional options that the `alert`, `action-sheet` or `popover` interface can take. See the [AlertController API docs](../../alert/AlertController/#create), the [ActionSheetController API docs](../../action-sheet/ActionSheetController/#create) and the [PopoverController API docs](../../popover/PopoverController/#create) for the create options for each interface. - */ - 'interfaceOptions': any; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * If `true`, the select can accept multiple values. - */ - 'multiple': boolean; - /** - * The name of the control, which is submitted with the form data. - */ - 'name': string; - /** - * The text to display on the ok button. - */ - 'okText': string; - /** - * Open the select overlay. The overlay is either an alert, action sheet, or popover, depending on the `interface` property on the `ion-select`. - * @param event The user interface event that called the open. - */ - 'open': (event?: UIEvent | undefined) => Promise; - /** - * The text to display when the select is empty. - */ - 'placeholder'?: string | null; - /** - * The text to display instead of the selected option's value. - */ - 'selectedText'?: string | null; - /** - * the value of the select. - */ - 'value'?: any | null; - } - interface IonSelectOption { - /** - * If `true`, the user cannot interact with the select option. - */ - 'disabled': boolean; - /** - * The text value of the option. - */ - 'value'?: any | null; - } - interface IonSelectPopover { - /** - * Header text for the popover - */ - 'header'?: string; - /** - * Text for popover body - */ - 'message'?: string; - /** - * Array of options for the popover - */ - 'options': SelectPopoverOption[]; - /** - * Subheader text for the popover - */ - 'subHeader'?: string; - } - interface IonSkeletonText { - /** - * If `true`, the skeleton text will animate. - */ - 'animated': boolean; - } - interface IonSlide {} - interface IonSlides { - /** - * Get the index of the active slide. - */ - 'getActiveIndex': () => Promise; - /** - * Get the index of the previous slide. - */ - 'getPreviousIndex': () => Promise; - /** - * Get the Swiper instance. Use this to access the full Swiper API. See https://idangero.us/swiper/api/ for all API options. - */ - 'getSwiper': () => Promise; - /** - * Get whether or not the current slide is the first slide. - */ - 'isBeginning': () => Promise; - /** - * Get whether or not the current slide is the last slide. - */ - 'isEnd': () => Promise; - /** - * Get the total number of slides. - */ - 'length': () => Promise; - /** - * Lock or unlock the ability to slide to the next slide. - * @param lock If `true`, disable swiping to the next slide. - */ - 'lockSwipeToNext': (lock: boolean) => Promise; - /** - * Lock or unlock the ability to slide to the previous slide. - * @param lock If `true`, disable swiping to the previous slide. - */ - 'lockSwipeToPrev': (lock: boolean) => Promise; - /** - * Lock or unlock the ability to slide to the next or previous slide. - * @param lock If `true`, disable swiping to the next and previous slide. - */ - 'lockSwipes': (lock: boolean) => Promise; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Options to pass to the swiper instance. See http://idangero.us/swiper/api/ for valid options - */ - 'options': any; - /** - * If `true`, show the pagination. - */ - 'pager': boolean; - /** - * If `true`, show the scrollbar. - */ - 'scrollbar': boolean; - /** - * Transition to the next slide. - * @param speed The transition duration (in ms). - * @param runCallbacks If true, the transition will produce [Transition/SlideChange][Start/End] transition events. - */ - 'slideNext': (speed?: number | undefined, runCallbacks?: boolean | undefined) => Promise; - /** - * Transition to the previous slide. - * @param speed The transition duration (in ms). - * @param runCallbacks If true, the transition will produce the [Transition/SlideChange][Start/End] transition events. - */ - 'slidePrev': (speed?: number | undefined, runCallbacks?: boolean | undefined) => Promise; - /** - * Transition to the specified slide. - * @param index The index of the slide to transition to. - * @param speed The transition duration (in ms). - * @param runCallbacks If true, the transition will produce [Transition/SlideChange][Start/End] transition events. - */ - 'slideTo': (index: number, speed?: number | undefined, runCallbacks?: boolean | undefined) => Promise; - /** - * Start auto play. - */ - 'startAutoplay': () => Promise; - /** - * Stop auto play. - */ - 'stopAutoplay': () => Promise; - /** - * Update the underlying slider implementation. Call this if you've added or removed child slides. - */ - 'update': () => Promise; - /** - * Force swiper to update its height (when autoHeight is enabled) for the duration equal to 'speed' parameter. - * @param speed The transition duration (in ms). - */ - 'updateAutoHeight': (speed?: number | undefined) => Promise; - } - interface IonSpinner { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * Duration of the spinner animation in milliseconds. The default varies based on the spinner. - */ - 'duration'?: number; - /** - * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used. - */ - 'name'?: SpinnerTypes; - /** - * If `true`, the spinner's animation will be paused. - */ - 'paused': boolean; - } - interface IonSplitPane { - /** - * The content `id` of the split-pane's main content. - */ - 'contentId'?: string; - /** - * If `true`, the split pane will be hidden. - */ - 'disabled': boolean; - /** - * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression. - */ - 'when': string | boolean; - } - interface IonTab { - 'active': boolean; - /** - * The component to display inside of the tab. - */ - 'component'?: ComponentRef; - 'delegate'?: FrameworkDelegate; - /** - * Set the active component for the tab - */ - 'setActive': () => Promise; - /** - * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them. - */ - 'tab': string; - } - interface IonTabBar { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * The selected tab component - */ - 'selectedTab'?: string; - /** - * If `true`, the tab bar will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). - */ - 'translucent': boolean; - } - interface IonTabButton { - /** - * If `true`, the user cannot interact with the tab button. - */ - 'disabled': boolean; - /** - * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want). - */ - 'download': string | undefined; - /** - * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered. - */ - 'href': string | undefined; - /** - * Set the layout of the text and icon in the tab bar. It defaults to `'icon-top'`. - */ - 'layout'?: TabButtonLayout; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - /** - * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types). - */ - 'rel': string | undefined; - /** - * The selected tab component - */ - 'selected': boolean; - /** - * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them. - */ - 'tab'?: string; - /** - * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`. - */ - 'target': string | undefined; - } - interface IonTabs { - 'getRouteId': () => Promise; - /** - * Get the currently selected tab. - */ - 'getSelected': () => Promise; - /** - * Get a specific tab by the value of its `tab` property or an element reference. - * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property. - */ - 'getTab': (tab: string | HTMLIonTabElement) => Promise; - /** - * Select a tab by the value of its `tab` property or an element reference. - * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property. - */ - 'select': (tab: string | HTMLIonTabElement) => Promise; - 'setRouteId': (id: string) => Promise; - 'useRouter': boolean; - } - interface IonText { - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * The mode determines which platform styles to use. - */ - 'mode'?: "ios" | "md"; - } - interface IonTextarea { - /** - * If `true`, the element height will increase based on the value. - */ - 'autoGrow': boolean; - /** - * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user. - */ - 'autocapitalize': string; - /** - * This Boolean attribute lets you specify that a form control should have input focus when the page loads. - */ - 'autofocus': boolean; - /** - * If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `"password"`, `false` for all other types. - */ - 'clearOnEdit': boolean; - /** - * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics). - */ - 'color'?: Color; - /** - * The visible width of the text control, in average character widths. If it is specified, it must be a positive integer. - */ - 'cols'?: number; - /** - * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. - */ - 'debounce': number; - /** - * If `true`, the user cannot interact with the textarea. - */ - 'disabled': boolean; - /** - * Returns the native `