File tree Expand file tree Collapse file tree 3 files changed +27
-1
lines changed Expand file tree Collapse file tree 3 files changed +27
-1
lines changed Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ export class Field extends LitElement {
25
25
@property ( { type : Boolean } ) error = false ;
26
26
@property ( { type : Boolean } ) focused = false ;
27
27
@property ( ) label = '' ;
28
+ @property ( { type : Boolean , attribute : 'no-asterisk' } ) noAsterisk = false ;
28
29
@property ( { type : Boolean } ) populated = false ;
29
30
@property ( { type : Boolean } ) required = false ;
30
31
@property ( { type : Boolean } ) resizable = false ;
@@ -242,7 +243,9 @@ export class Field extends LitElement {
242
243
} ;
243
244
244
245
// Add '*' if a label is present and the field is required
245
- const labelText = `${ this . label } ${ this . required ? '*' : '' } ` ;
246
+ const labelText = `${ this . label } ${
247
+ this . required && ! this . noAsterisk ? '*' : ''
248
+ } `;
246
249
247
250
return html `
248
251
< span class ="label ${ classMap ( classes ) } " aria-hidden =${ ! visible }
Original file line number Diff line number Diff line change @@ -52,6 +52,7 @@ describe('Field', () => {
52
52
const template = html `
53
53
< md-test-field
54
54
.label =${ props . label ?? '' }
55
+ ?no-asterisk =${ props . noAsterisk ?? false }
55
56
?disabled=${ props . disabled ?? false }
56
57
.error=${ props . error ?? false }
57
58
.populated=${ props . populated ?? false }
@@ -334,6 +335,21 @@ describe('Field', () => {
334
335
)
335
336
. toBe ( '' ) ;
336
337
} ) ;
338
+
339
+ it ( 'should not render asterisk if required, but noAsterisk' , async ( ) => {
340
+ // Setup.
341
+ // Test case.
342
+ const labelValue = 'Label' ;
343
+ const { instance} = await setupTest ( {
344
+ required : true , label : labelValue , noAsterisk : true
345
+ } ) ;
346
+ //Assertion
347
+ expect ( instance . labelText )
348
+ . withContext (
349
+ 'label test should equal label without asterisk, when required and noAsterisk' ,
350
+ )
351
+ . toBe ( labelValue ) ;
352
+ } ) ;
337
353
} ) ;
338
354
339
355
describe ( 'supporting text' , ( ) => {
Original file line number Diff line number Diff line change @@ -132,6 +132,12 @@ export abstract class TextField extends textFieldBaseClass {
132
132
*/
133
133
@property ( ) label = '' ;
134
134
135
+ /**
136
+ * Disables the asterisk on the floating label, when the text field is
137
+ * required.
138
+ */
139
+ @property ( { type : Boolean , attribute : 'no-asterisk' } ) noAsterisk = false ;
140
+
135
141
/**
136
142
* Indicates that the user must specify a value for the input before the
137
143
* owning form can be submitted and will render an error state when
@@ -554,6 +560,7 @@ export abstract class TextField extends textFieldBaseClass {
554
560
?has-end=${ this . hasTrailingIcon }
555
561
?has-start=${ this . hasLeadingIcon }
556
562
label=${ this . label }
563
+ ?no-asterisk=${ this . noAsterisk }
557
564
max=${ this . maxLength }
558
565
?populated=${ ! ! this . value }
559
566
?required=${ this . required }
You can’t perform that action at this time.
0 commit comments