diff --git a/angular/src/directives/proxies.ts b/angular/src/directives/proxies.ts index 00c90c7a42..00a5613a30 100644 --- a/angular/src/directives/proxies.ts +++ b/angular/src/directives/proxies.ts @@ -342,7 +342,7 @@ export class IonInput { proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionBlur', 'ionFocus']); } } -proxyMethods(IonInput, ['setFocus']); +proxyMethods(IonInput, ['setFocus', 'getInputElement']); proxyInputs(IonInput, ['color', 'mode', 'accept', 'autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearInput', 'clearOnEdit', 'debounce', 'disabled', 'inputmode', 'max', 'maxlength', 'min', 'minlength', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'spellcheck', 'step', 'size', 'type', 'value']); export declare interface IonItem extends StencilComponents<'IonItem'> {} @@ -689,7 +689,7 @@ export class IonSearchbar { proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionCancel', 'ionClear', 'ionBlur', 'ionFocus']); } } -proxyMethods(IonSearchbar, ['setFocus']); +proxyMethods(IonSearchbar, ['setFocus', 'getInputElement']); proxyInputs(IonSearchbar, ['color', 'mode', 'animated', 'autocomplete', 'autocorrect', 'cancelButtonIcon', 'cancelButtonText', 'clearIcon', 'debounce', 'placeholder', 'searchIcon', 'showCancelButton', 'spellcheck', 'type', 'value']); export declare interface IonSegment extends StencilComponents<'IonSegment'> {} @@ -868,7 +868,7 @@ export class IonTextarea { proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionBlur', 'ionFocus']); } } -proxyMethods(IonTextarea, ['setFocus']); +proxyMethods(IonTextarea, ['setFocus', 'getInputElement']); proxyInputs(IonTextarea, ['mode', 'color', 'autocapitalize', 'autofocus', 'clearOnEdit', 'debounce', 'disabled', 'maxlength', 'minlength', 'name', 'placeholder', 'readonly', 'required', 'spellcheck', 'cols', 'rows', 'wrap', 'value']); export declare interface IonThumbnail extends StencilComponents<'IonThumbnail'> {} diff --git a/core/api.txt b/core/api.txt index 49ea0a9138..5e2be5b6a7 100644 --- a/core/api.txt +++ b/core/api.txt @@ -420,6 +420,7 @@ ion-input,prop,spellcheck,boolean,false,false,false ion-input,prop,step,string | undefined,undefined,false,false ion-input,prop,type,"date" | "email" | "number" | "password" | "search" | "tel" | "text" | "time" | "url",'text',false,false ion-input,prop,value,null | string | undefined,'',false,false +ion-input,method,getInputElement,getInputElement() => Promise ion-input,method,setFocus,setFocus() => void ion-input,event,ionBlur,void,true ion-input,event,ionChange,InputChangeEventDetail,true @@ -887,6 +888,7 @@ ion-searchbar,prop,showCancelButton,boolean,false,false,false ion-searchbar,prop,spellcheck,boolean,false,false,false ion-searchbar,prop,type,"email" | "number" | "password" | "search" | "tel" | "text" | "url",'search',false,false ion-searchbar,prop,value,null | string | undefined,'',false,false +ion-searchbar,method,getInputElement,getInputElement() => Promise ion-searchbar,method,setFocus,setFocus() => void ion-searchbar,event,ionBlur,void,true ion-searchbar,event,ionCancel,void,true @@ -1091,6 +1093,7 @@ ion-textarea,prop,rows,number | undefined,undefined,false,false ion-textarea,prop,spellcheck,boolean,false,false,false ion-textarea,prop,value,null | string | undefined,'',false,false ion-textarea,prop,wrap,"hard" | "off" | "soft" | undefined,undefined,false,false +ion-textarea,method,getInputElement,getInputElement() => Promise ion-textarea,method,setFocus,setFocus() => void ion-textarea,event,ionBlur,void,true ion-textarea,event,ionChange,TextareaChangeEventDetail,true diff --git a/core/src/components.d.ts b/core/src/components.d.ts index ef52395301..0038ffeaa5 100644 --- a/core/src/components.d.ts +++ b/core/src/components.d.ts @@ -1644,6 +1644,10 @@ export namespace Components { */ 'disabled': boolean; /** + * Returns the native `` element used under the hood. + */ + 'getInputElement': () => Promise; + /** * A hint to the browser for which keyboard to display. This attribute applies when the value of the type attribute is `"text"`, `"password"`, `"email"`, or `"url"`. Possible values are: `"verbatim"`, `"latin"`, `"latin-name"`, `"latin-prose"`, `"full-width-latin"`, `"kana"`, `"katakana"`, `"numeric"`, `"tel"`, `"email"`, `"url"`. */ 'inputmode'?: string; @@ -3692,6 +3696,10 @@ export namespace Components { */ 'debounce': number; /** + * Returns the native `` element used under the hood. + */ + 'getInputElement': () => Promise; + /** * The mode determines which platform styles to use. */ 'mode': Mode; @@ -4531,6 +4539,10 @@ export namespace Components { */ 'disabled': boolean; /** + * Returns the native `