@@ -16,90 +16,122 @@ Form controls are styled with a mix of Sass and CSS variables, allowing them to
1616<Example class = " vstack gap-3" code = { ` <div>
1717 <label for="exampleFormControlInput1" class="form-label">Email address</label>
1818 <input type="email" class="form-control" id="exampleFormControlInput1" placeholder="name@example.com">
19+ </div> ` } />
20+
21+ ## Textarea
22+
23+ Textareas use the same ` .form-control ` class as inputs. Modify their height by using the ` rows ` attribute or using custom CSS.
24+
25+ <Example class = " vstack gap-3" code = { ` <div>
26+ <label for="exampleFormControlTextarea1" class="form-label">Example textarea</label>
27+ <textarea class="form-control" id="exampleFormControlTextarea1"></textarea>
1928 </div>
29+
2030 <div>
21- <label for="exampleFormControlSelect1" class="form-label">Example select</label>
22- <select class="form-control" id="exampleFormControlSelect1">
23- <option>Open this select menu</option>
31+ <label for="exampleFormControlTextarea2" class="form-label">Taller textarea</label>
32+ <textarea class="form-control" id="exampleFormControlTextarea2" rows="4"></textarea>
33+ </div> ` } />
34+
35+ ## Select
36+
37+ Basic select element styles are provided by the ` .form-control ` class. Styles are limited by the browser—options and popovers cannot be styled.
38+
39+ <Example code = { ` <div>
40+ <label for="exampleFormControlSelect2" class="form-label">Example select</label>
41+ <select class="form-control" id="exampleFormControlSelect2">
42+ <option>Choose one…</option>
43+ <option value="1">One</option>
44+ <option value="2">Two</option>
45+ <option value="3">Three</option>
46+ </select>
47+ </div> ` } />
48+
49+ The ` multiple ` attribute is supported on select elements:
50+
51+ <Example code = { ` <div>
52+ <label for="exampleFormControlSelect3" class="form-label">Multiple select</label>
53+ <select class="form-control" id="exampleFormControlSelect3" multiple aria-label="Multiple select example">
54+ <option selected>Open this select menu</option>
55+ <option value="1">One</option>
56+ <option value="2">Two</option>
57+ <option value="3">Three</option>
58+ </select>
59+ </div> ` } />
60+
61+ As is the ` size ` attribute:
62+
63+ <Example code = { ` <div>
64+ <label for="exampleFormControlSelect4" class="form-label">Size 3 select</label>
65+ <select class="form-control" id="exampleFormControlSelect4" size="3" aria-label="Size 3 select example">
66+ <option selected>Open this select menu</option>
2467 <option value="1">One</option>
2568 <option value="2">Two</option>
2669 <option value="3">Three</option>
2770 </select>
28- </div>
29- <div>
30- <label for="exampleFormControlTextarea1" class="form-label">Example textarea</label>
31- <textarea class="form-control" id="exampleFormControlTextarea1" rows="3"></textarea>
3271 </div> ` } />
3372
3473## Sizes
3574
3675Change the size of a form control by using classes like ` .form-control-lg ` and ` .form-control-sm ` . This adjusts ` height ` , ` padding ` , ` font-size ` , ` line-height ` , and ` border-radius ` .
3776
3877<Example class = " vstack gap-3" code = { ` <div>
39- <label for="largeInput " class="form-label">Large input</label>
40- <input class="form-control form-control-lg " type="text" id="largeInput " placeholder="Large input" aria-label="Large input example">
78+ <label for="sizesInputSmall " class="form-label">Small input</label>
79+ <input class="form-control form-control-sm " type="text" id="sizesInputSmall " placeholder="Small input" aria-label="Small input example">
4180 </div>
4281 <div>
43- <label for="largeSelect" class="form-label">Large select</label>
44- <select class="form-control form-control-lg" id="largeSelect">
45- <option>Open this select menu</option>
46- <option value="1">One</option>
47- <option value="2">Two</option>
48- <option value="3">Three</option>
49- </select>
82+ <label for="sizesInputDefault" class="form-label">Default input</label>
83+ <input class="form-control" type="text" id="sizesInputDefault" placeholder="Default input" aria-label="Default input example">
5084 </div>
5185 <div>
52- <label for="largeTextarea " class="form-label">Large textarea </label>
53- <textarea class="form-control form-control-lg" id="largeTextarea" rows="3 " placeholder="Large textarea " aria-label="Large textarea example"></textarea >
86+ <label for="sizesInputLarge " class="form-label">Large input </label>
87+ <input class="form-control form-control-lg" type="text" id="sizesInputLarge " placeholder="Large input " aria-label="Large input example">
5488 </div> ` } />
5589
90+ And for textareas:
91+
5692<Example class = " vstack gap-3" code = { ` <div>
57- <label for="smallInput " class="form-label">Small input </label>
58- <input class="form-control form-control-sm" type="text" id="smallInput " placeholder="Small input " aria-label="Small input example">
93+ <label for="sizesTextareaSmall " class="form-label">Small textarea </label>
94+ <textarea class="form-control form-control-sm" id="sizesTextareaSmall " placeholder="Small textarea " aria-label="Small textarea example"></textarea >
5995 </div>
6096 <div>
61- <label for="smallSelect" class="form-label">Small select</label>
62- <select class="form-control form-control-sm" id="smallSelect">
97+ <label for="sizesTextareaDefault" class="form-label">Default textarea</label>
98+ <textarea class="form-control" id="sizesTextareaDefault" placeholder="Default textarea" aria-label="Default textarea example"></textarea>
99+ </div>
100+ <div>
101+ <label for="sizesTextareaLarge" class="form-label">Large textarea</label>
102+ <textarea class="form-control form-control-lg" id="sizesTextareaLarge" placeholder="Large textarea" aria-label="Large textarea example"></textarea>
103+ </div> ` } />
104+
105+ And for selects:
106+
107+ <Example class = " vstack gap-3" code = { ` <div>
108+ <label for="sizesSelectSmall" class="form-label">Small select</label>
109+ <select class="form-control form-control-sm" id="sizesSelectSmall">
110+ <option>Open this select menu</option>
111+ <option value="1">One</option>
112+ <option value="2">Two</option>
113+ <option value="3">Three</option>
114+ </select>
115+ </div>
116+ <div>
117+ <label for="sizesSelectDefault" class="form-label">Default select</label>
118+ <select class="form-control" id="sizesSelectDefault">
63119 <option>Open this select menu</option>
64120 <option value="1">One</option>
65121 <option value="2">Two</option>
66122 <option value="3">Three</option>
67123 </select>
68124 </div>
69125 <div>
70- <label for="smallTextarea" class="form-label">Small textarea</label>
71- <textarea class="form-control form-control-sm" id="smallTextarea" rows="3" placeholder="Small textarea" aria-label="Small textarea example"></textarea>
126+ <label for="sizesSelectLarge" class="form-label">Large select</label>
127+ <select class="form-control form-control-lg" id="sizesSelectLarge">
128+ <option>Open this select menu</option>
129+ <option value="1">One</option>
130+ <option value="2">Two</option>
131+ <option value="3">Three</option>
132+ </select>
72133 </div> ` } />
73134
74- ## Select
75-
76- Basic select element styles are provided by the ` .form-control ` class. Styles are limited by the browser—options and popovers cannot be styled.
77-
78- <Example code = { ` <select class="form-control" id="exampleFormControlSelect2">
79- <option>Choose one…</option>
80- <option value="1">One</option>
81- <option value="2">Two</option>
82- <option value="3">Three</option>
83- </select> ` } />
84-
85- The ` multiple ` attribute is supported on select elements:
86-
87- <Example code = { ` <select class="form-select" multiple aria-label="Multiple select example">
88- <option selected>Open this select menu</option>
89- <option value="1">One</option>
90- <option value="2">Two</option>
91- <option value="3">Three</option>
92- </select> ` } />
93-
94- As is the ` size ` attribute:
95-
96- <Example code = { ` <select class="form-select" size="3" aria-label="Size 3 select example">
97- <option selected>Open this select menu</option>
98- <option value="1">One</option>
99- <option value="2">Two</option>
100- <option value="3">Three</option>
101- </select> ` } />
102-
103135## Form text
104136
105137Block-level or inline-level form text can be created using ` .form-text ` .
0 commit comments