@@ -10,39 +10,69 @@ window.customElements.define('wc-input', class extends LitElement {
1010 static get properties ( ) {
1111 return {
1212 /**
13- * The background color
13+ * The value for the input
1414 * @type {string }
1515 */
1616 value : { type : String } ,
17+
18+ /**
19+ * The placeholder text for the input
20+ * @type {string }
21+ */
22+ placeholder : { type : String } ,
23+
24+ /**
25+ * Whether the input is required to be filled
26+ * for the form to submit
27+ * @type {boolean }
28+ */
29+ required : { type : Boolean } ,
30+
31+ /**
32+ * The pattern used to validate the value on submission
33+ * @type {string }
34+ */
35+ pattern : { type : String } ,
36+
37+ /**
38+ * Whether auto-complete is enabled
39+ * @type {boolean }
40+ */
41+ autocomplete : { type : Boolean } ,
42+
1743 } ;
1844 }
1945
2046 static get styles ( ) {
2147 return css `
2248 :host {
23- display: inline-block;
24- background-color: var(--badge-background-color);
25- color: var(--badge-color);
26- padding: var(--badge-padding-y) var(--badge-padding-x);
27- font-size: var(--badge-font-size);
28- font-weight: var(--badge-font-weight);
29- border-radius: var(--badge-border-radius);
30- line-height: 1;
31- text-align: center;
32- white-space: nowrap;
33- vertical-align: baseline;
34- }
35- .transform-capitalize {
36- text-transform: capitalize;
37- }
38- .transform-uppercase {
39- text-transform: uppercase;
49+ display: block;
50+ width: 100%;
51+ margin: var(--form-input-margin);
4052 }
41- .transform-lowercase {
42- text-transform: lowercase;
53+ :host input {
54+ background-color: var(--form-input-background-color);
55+ color: var(--form-input-color);
56+ padding: var(--form-input-padding);
57+ font-size: var(--form-input-font-size);
58+ font-weight: var(--form-input-font-weight);
59+ line-height: var(--form-input-line-height);
60+ border: var(--form-input-border);
4361 }
44- .transform-none {
45- text-transform: none;
62+ :host input:focus {
63+ background-color: var(--form-input-background-color-focus);
64+ color: var(--form-input-color-focus);
65+ border: var(--form-input-border-focus);
66+ outline: 0;
67+ }
68+ :host label {
69+ background-color: var(--form-label-background-color);
70+ color: var(--form-label-color);
71+ padding: var(--form-label-padding);
72+ font-size: var(--form-label-font-size);
73+ font-weight: var(--form-label-font-weight);
74+ line-height: var(--form-label-line-height);
75+ border: var(--form-label-border);
4676 }
4777 ` ;
4878 }
@@ -52,7 +82,7 @@ window.customElements.define('wc-input', class extends LitElement {
5282 return html `
5383 < div class ="input ">
5484 < label for ="input "> < slot > </ slot > </ label >
55- < input type ="text " name ="input " id ="input " value ="${ this . value } ">
85+ < input type ="text " name ="input " id ="input " value ="${ this . value } " required =" ${ this . required } " placeholder =" ${ this . placeholder } " autocomplete =" ${ this . autocomplete } " pattern =" ${ this . pattern } " >
5686 </ div >
5787 ` ;
5888 }
0 commit comments