@@ -128,11 +128,12 @@ export class Button extends Component<HTMLButtonElement> implements INotifyPrope
128
128
public locale : string ;
129
129
130
130
/**
131
- * Defines whether to allow the cross-scripting site or not.
131
+ * Specifies whether to enable the rendering of untrusted HTML values in the Button component.
132
+ * If 'enableHtmlSanitizer' set to true, the component will sanitize any suspected untrusted strings and scripts before rendering them.
132
133
*
133
- * @default false
134
+ * @default true
134
135
*/
135
- @Property ( false )
136
+ @Property ( true )
136
137
public enableHtmlSanitizer : boolean ;
137
138
138
139
/**
@@ -200,7 +201,7 @@ export class Button extends Component<HTMLButtonElement> implements INotifyPrope
200
201
private setIconCss ( ) : void {
201
202
if ( this . iconCss ) {
202
203
const span : HTMLElement = this . createElement ( 'span' , { className : 'e-btn-icon ' + this . iconCss } ) ;
203
- if ( ! this . element . textContent . trim ( ) ) {
204
+ if ( ! this . element . textContent ! . trim ( ) ) {
204
205
this . element . classList . add ( cssClassName . ICONBTN ) ;
205
206
} else {
206
207
span . classList . add ( 'e-icon-' + this . iconPosition . toLowerCase ( ) ) ;
@@ -261,7 +262,7 @@ export class Button extends Component<HTMLButtonElement> implements INotifyPrope
261
262
if ( this . content ) {
262
263
this . element . innerHTML = this . element . innerHTML . replace ( this . content , '' ) ;
263
264
}
264
- const span : Element = this . element . querySelector ( 'span.e-btn-icon' ) ;
265
+ const span : Element = this . element . querySelector ( 'span.e-btn-icon' ) as Element ;
265
266
if ( span ) {
266
267
detach ( span ) ;
267
268
}
@@ -310,7 +311,7 @@ export class Button extends Component<HTMLButtonElement> implements INotifyPrope
310
311
* @private
311
312
*/
312
313
public onPropertyChanged ( newProp : ButtonModel , oldProp : ButtonModel ) : void {
313
- let span : Element = this . element . querySelector ( 'span.e-btn-icon' ) ;
314
+ let span : Element = this . element . querySelector ( 'span.e-btn-icon' ) as Element ;
314
315
for ( const prop of Object . keys ( newProp ) ) {
315
316
switch ( prop ) {
316
317
case 'isPrimary' :
@@ -321,14 +322,14 @@ export class Button extends Component<HTMLButtonElement> implements INotifyPrope
321
322
}
322
323
break ;
323
324
case 'disabled' :
324
- this . controlStatus ( newProp . disabled ) ;
325
+ this . controlStatus ( newProp . disabled as boolean ) ;
325
326
break ;
326
327
case 'iconCss' : {
327
- span = this . element . querySelector ( 'span.e-btn-icon' ) ;
328
+ span = this . element . querySelector ( 'span.e-btn-icon' ) as Element ;
328
329
if ( span ) {
329
330
if ( newProp . iconCss ) {
330
331
span . className = 'e-btn-icon ' + newProp . iconCss ;
331
- if ( this . element . textContent . trim ( ) ) {
332
+ if ( this . element . textContent ! . trim ( ) ) {
332
333
if ( this . iconPosition === 'Left' ) {
333
334
span . classList . add ( 'e-icon-left' ) ;
334
335
} else {
@@ -345,7 +346,7 @@ export class Button extends Component<HTMLButtonElement> implements INotifyPrope
345
346
}
346
347
case 'iconPosition' :
347
348
removeClass ( [ this . element ] , [ 'e-top-icon-btn' , 'e-bottom-icon-btn' ] ) ;
348
- span = this . element . querySelector ( 'span.e-btn-icon' ) ;
349
+ span = this . element . querySelector ( 'span.e-btn-icon' ) as Element ;
349
350
if ( span ) {
350
351
detach ( span ) ;
351
352
}
@@ -373,9 +374,9 @@ export class Button extends Component<HTMLButtonElement> implements INotifyPrope
373
374
}
374
375
if ( ! isBlazor ( ) || ( isBlazor ( ) && ! this . isServerRendered && this . getModuleName ( ) !== 'progress-btn' ) ) {
375
376
if ( this . enableHtmlSanitizer ) {
376
- newProp . content = SanitizeHtmlHelper . sanitize ( newProp . content ) ;
377
+ newProp . content = SanitizeHtmlHelper . sanitize ( newProp . content as string ) ;
377
378
}
378
- this . element . innerHTML = newProp . content ;
379
+ this . element . innerHTML = newProp . content as string ;
379
380
this . setIconCss ( ) ;
380
381
}
381
382
break ;
0 commit comments