@@ -34,6 +34,7 @@ interface InputChangeEventDetail {
3434} )
3535export class Textarea {
3636 @Element ( ) hostElement : HTMLElement ;
37+
3738 /** (optional) Input name */
3839 @Prop ( ) name ?: string = '' ;
3940 /** (optional) Input label */
@@ -80,6 +81,9 @@ export class Textarea {
8081 /** (optional) id or space separated list of ids of elements that provide or link to additional related information. */
8182 @Prop ( ) ariaDetailsId ?: string ;
8283
84+ /** (optional) data-qa attribute for e2e testing */
85+ @Prop ( ) dataQa ?: string ;
86+
8387 /** Emitted when a keyboard input occurred. */
8488 @Event ( { eventName : 'scale-input' } ) scaleInput ! : EventEmitter < KeyboardEvent > ;
8589 /** @deprecated in v3 in favor of kebab-case event names */
@@ -94,11 +98,13 @@ export class Textarea {
9498 /** Emitted when the input has focus. */
9599 @Event ( { eventName : 'scale-focus' } ) scaleFocus ! : EventEmitter < void > ;
96100 /** @deprecated in v3 in favor of kebab-case event names */
97- @Event ( { eventName : 'scaleFocus' } ) scaleFocusLegacy ! : EventEmitter < void > ;
101+ @Event ( { eventName : 'scaleFocus' } )
102+ scaleFocusLegacy ! : EventEmitter < void > ;
98103 /** Emitted when the input loses focus. */
99104 @Event ( { eventName : 'scale-blur' } ) scaleBlur ! : EventEmitter < void > ;
100105 /** @deprecated in v3 in favor of kebab-case event names */
101- @Event ( { eventName : 'scaleBlur' } ) scaleBlurLegacy ! : EventEmitter < void > ;
106+ @Event ( { eventName : 'scaleBlur' } )
107+ scaleBlurLegacy ! : EventEmitter < void > ;
102108 /** Emitted on keydown. */
103109 @Event ( { eventName : 'scale-keydown' } )
104110 scaleKeyDown ! : EventEmitter < KeyboardEvent > ;
@@ -129,7 +135,6 @@ export class Textarea {
129135 } ) ;
130136 }
131137 }
132-
133138 // We're not watching `value` like we used to
134139 // because we get unwanted `scaleChange` events
135140 // because how we keep this.value up-to-date for type="select"
@@ -219,6 +224,7 @@ export class Textarea {
219224 ? ariaDescribedByAttr
220225 : { } ) }
221226 aria-details = { this . ariaDetailsId }
227+ { ...( this . dataQa ? { 'data-qa' : this . dataQa } : { } ) }
222228 ref = { ( el ) => ( this . focusableElement = el ) }
223229 />
224230 </ div >
0 commit comments