blob: 5b14918d39d2940320a79065841585a3ec246159 [file] [log] [blame]
Copybara botbe50d492023-11-30 00:16:42 +01001<p>Demonstrates how you can create your own theme of MDL text fields without affecting the original MDL fields.</p>
2
3<style>
4 .borderedfield-demo-container {
5 }
6
7 .borderedfield-demo-container .mdl-cell {
8 padding: 0 4px 8px 0;
9 }
10
11 .borderedfield-demo-container .mdl-cell p {
12 margin-bottom: 0;
13 white-space: nowrap;
14 text-overflow: ellipsis;
15 overflow: hidden;
16 }
17
18 /* File input example */
19 .mdl-button--file input {
20 cursor: pointer;
21 opacity: 0;
22 width: 1px;
23 height: 1px;
24 }
25</style>
26
27
28<div class = "borderedfield-demo-container mdlext-bordered-fields">
29
30 <div class="mdl-grid mdl-grid--no-spacing">
31
32 <div class="mdl-cell mdl-cell--4-col">
33 <p>Text</p>
34 <div class="mdl-textfield mdl-js-textfield">
35 <input class="mdl-textfield__input" type="text">
36 <label class="mdl-textfield__label">Text...</label>
37 </div>
38 </div>
39
40 <div class="mdl-cell mdl-cell--4-col">
41 <p>Text numeric</p>
42 <div class="mdl-textfield mdl-js-textfield">
43 <input class="mdl-textfield__input" type="text" pattern="-?[0-9]*(\.[0-9]+)?">
44 <label class="mdl-textfield__label">Number...</label>
45 <span class="mdl-textfield__error">Input is not a number!</span>
46 </div>
47 </div>
48
49
50 <div class="mdl-cell mdl-cell--4-col">
51 <p>Text with floating label, required field</p>
52 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
53 <input class="mdl-textfield__input" type="text" list="languages" placeholder="Select a language" required>
54 <label class="mdl-textfield__label">Programming language</label>
55 </div>
56 </div>
57 <datalist id="languages">
58 <option value="HTML">
59 <option value="CSS">
60 <option value="JavaScript">
61 <option value="Java">
62 <option value="Ruby">
63 <option value="PHP">
64 <option value="Go">
65 <option value="Erlang">
66 <option value="Python">
67 <option value="C">
68 <option value="C#">
69 <option value="C++">
70 </datalist>
71
72 <div class="mdl-cell mdl-cell--4-col">
73 <p>Select element with floating label</p>
74 <div class="mdlext-selectfield mdlext-js-selectfield mdlext-selectfield--floating-label">
75 <select class="mdlext-selectfield__select">
76 <option value=""></option>
77 <option value="option1">option 1</option>
78 <option value="option2">option 2</option>
79 <option value="option3">option 3</option>
80 <option value="option4">option 4</option>
81 <option value="option5">option 5</option>
82 <option value="option6">option 5 abcdefghijklmnopqrstuvw0123456789</option>
83 </select>
84 <label class="mdlext-selectfield__label">Profession</label>
85 </div>
86 </div>
87
88 <div class="mdl-cell mdl-cell--4-col">
89 <p>Numeric with floating label</p>
90 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
91 <input class="mdl-textfield__input" type="text" pattern="-?[0-9]*(\.[0-9]+)?">
92 <label class="mdl-textfield__label">Number...</label>
93 <span class="mdl-textfield__error">Input is not a number!</span>
94 </div>
95 </div>
96
97 <div class="mdl-cell mdl-cell--4-col">
98 <p>Disabled floating label</p>
99 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
100 <input class="mdl-textfield__input" type="text" pattern="-?[0-9]*(\.[0-9]+)?" disabled value="123">
101 <label class="mdl-textfield__label" >Number...</label>
102 <span class="mdl-textfield__error">Input is not a number!</span>
103 </div>
104 </div>
105
106 <div class="mdl-cell mdl-cell--4-col">
107 <p>Text with icons left and right, disabled</p>
108 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdlext-bordered-fields__icon-left mdlext-bordered-fields__icon-right">
109 <i class="material-icons">radio</i>
110 <input class="mdl-textfield__input" type="text" disabled>
111 <label class="mdl-textfield__label">Text...</label>
112 <i class="material-icons">fingerprint</i>
113 </div>
114 </div>
115
116
117 <div class="mdl-cell mdl-cell--4-col">
118 <p>Text with button left</p>
119 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdlext-bordered-fields__icon-left">
120 <label class="mdl-button mdl-js-button mdl-button--icon">
121 <i class="material-icons">phone</i>
122 </label>
123
124 <input class="mdl-textfield__input" type="text">
125 <label class="mdl-textfield__label">Text...</label>
126 </div>
127 </div>
128
129 <div class="mdl-cell mdl-cell--4-col">
130 <p>Text with button right</p>
131 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdlext-bordered-fields__icon-right">
132 <input class="mdl-textfield__input" type="text">
133 <label class="mdl-textfield__label">Text...</label>
134
135 <label class="mdl-button mdl-js-button mdl-button--icon">
136 <i class="material-icons">settings_voice</i>
137 </label>
138 </div>
139 </div>
140
141
142 <div class="mdl-cell mdl-cell--4-col">
143 <p>Select element</p>
144 <div class="mdlext-selectfield mdlext-js-selectfield">
145 <select class="mdlext-selectfield__select">
146 <option value=""></option>
147 <option value="option1">option 1</option>
148 <option value="option2">option 2</option>
149 <option value="option3">option 3</option>
150 <option value="option4">option 4</option>
151 <option value="option5">option 5</option>
152 <option value="option6">option 5 abcdefghijklmnopqrstuvw0123456789</option>
153 </select>
154 <label class="mdlext-selectfield__label">Profession</label>
155 </div>
156 </div>
157
158 <div class="mdl-cell mdl-cell--4-col">
159 <p>Select element with floating label</p>
160 <div class="mdlext-selectfield mdlext-js-selectfield mdlext-selectfield--floating-label">
161 <select class="mdlext-selectfield__select">
162 <option value=""></option>
163 <option value="option1">option 1</option>
164 <option value="option2">option 2</option>
165 <option value="option3">option 3</option>
166 <option value="option4">option 4</option>
167 <option value="option5">option 5</option>
168 </select>
169 <label class="mdlext-selectfield__label">Profession</label>
170 </div>
171 </div>
172
173 <div class="mdl-cell mdl-cell--4-col">
174 <p>Disabled Select element</p>
175 <div class="mdlext-selectfield mdlext-js-selectfield mdlext-selectfield--floating-label">
176 <select class="mdlext-selectfield__select" disabled>
177 <option value=""></option>
178 <option value="option1">option 1</option>
179 <option value="option2">option 2</option>
180 <option value="option3">option 3</option>
181 <option value="option4">option 4</option>
182 <option value="option5">option 5</option>
183 </select>
184 <label class="mdlext-selectfield__label">Profession</label>
185 </div>
186 </div>
187
188 <div class="mdl-cell mdl-cell--4-col">
189 <p>Select element with icon left</p>
190 <div class="mdlext-selectfield mdlext-js-selectfield mdlext-bordered-fields__icon-left">
191 <i class="material-icons">radio</i>
192 <select class="mdlext-selectfield__select">
193 <option value=""></option>
194 <option value="option1">option 1</option>
195 <option value="option2">option 2</option>
196 <option value="option3">option 3</option>
197 <option value="option4">option 4</option>
198 <option value="option5">option 5</option>
199 </select>
200 <label class="mdlext-selectfield__label">Profession</label>
201 </div>
202 </div>
203
204 <div class="mdl-cell mdl-cell--4-col">
205 <p>Select element with button left</p>
206 <div class="mdlext-selectfield mdlext-js-selectfield mdlext-selectfield--floating-label mdlext-bordered-fields__icon-left">
207 <label class="mdl-button mdl-js-button mdl-button--icon">
208 <i class="material-icons">phone</i>
209 </label>
210 <select class="mdlext-selectfield__select">
211 <option value=""></option>
212 <option value="option1">option 1</option>
213 <option value="option2">option 2</option>
214 <option value="option3">option 3</option>
215 <option value="option4">option 4</option>
216 <option value="option5">option 5</option>
217 </select>
218 <label class="mdlext-selectfield__label">Profession</label>
219 </div>
220 </div>
221
222 <div class="mdl-cell mdl-cell--4-col">
223 <p>Disabled Select element</p>
224 <div class="mdlext-selectfield mdlext-js-selectfield mdlext-selectfield--floating-label mdlext-bordered-fields__icon-left">
225 <label class="mdl-button mdl-js-button mdl-button--icon">
226 <i class="material-icons">phone</i>
227 </label>
228 <select class="mdlext-selectfield__select" disabled>
229 <option value=""></option>
230 <option value="option1">option 1</option>
231 <option value="option2">option 2</option>
232 <option value="option3">option 3</option>
233 <option value="option4">option 4</option>
234 <option value="option5">option 5</option>
235 </select>
236 <label class="mdlext-selectfield__label">Profession</label>
237 </div>
238 </div>
239
240
241
242 <div class="mdl-cell mdl-cell--4-col">
243 <p>Text with icon left</p>
244 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdlext-bordered-fields__icon-left">
245 <i class="material-icons">radio</i>
246 <input class="mdl-textfield__input" type="text">
247 <label class="mdl-textfield__label">Text...</label>
248 </div>
249 </div>
250
251 <div class="mdl-cell mdl-cell--4-col">
252 <p>Text with icon right</p>
253 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdlext-bordered-fields__icon-right">
254 <input class="mdl-textfield__input" type="text">
255 <label class="mdl-textfield__label">Text...</label>
256 <i class="material-icons">fingerprint</i>
257 </div>
258 </div>
259
260 <div class="mdl-cell mdl-cell--4-col">
261 <p>Text with icons left and right</p>
262 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdlext-bordered-fields__icon-left mdlext-bordered-fields__icon-right">
263 <i class="material-icons">radio</i>
264 <input class="mdl-textfield__input" type="text">
265 <label class="mdl-textfield__label">Text...</label>
266 <i class="material-icons">fingerprint</i>
267 </div>
268 </div>
269
270 <div class="mdl-cell mdl-cell--4-col">
271 <p>Text with buttons left and right</p>
272 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdlext-bordered-fields__icon-left mdlext-bordered-fields__icon-right">
273 <label class="mdl-button mdl-js-button mdl-button--icon">
274 <i class="material-icons">phone</i>
275 </label>
276
277 <input class="mdl-textfield__input" type="text">
278 <label class="mdl-textfield__label">Text...</label>
279
280 <label class="mdl-button mdl-js-button mdl-button--icon">
281 <i class="material-icons">settings_voice</i>
282 </label>
283 </div>
284 </div>
285
286 <div class="mdl-cell mdl-cell--4-col">
287 <p>Text with buttons left and right, disabled</p>
288 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdlext-bordered-fields__icon-left mdlext-bordered-fields__icon-right">
289 <label class="mdl-button mdl-js-button mdl-button--icon">
290 <i class="material-icons">phone</i>
291 </label>
292
293 <input class="mdl-textfield__input" type="text" disabled>
294 <label class="mdl-textfield__label">Text...</label>
295
296 <label class="mdl-button mdl-js-button mdl-button--icon">
297 <i class="material-icons">settings_voice</i>
298 </label>
299 </div>
300 </div>
301
302 <div class="mdl-cell mdl-cell--4-col">
303 <p>Text with icon and button</p>
304 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdlext-bordered-fields__icon-left mdlext-bordered-fields__icon-right">
305 <i class="material-icons">radio</i>
306 <input class="mdl-textfield__input" type="text">
307 <label class="mdl-textfield__label">Text...</label>
308 <label class="mdl-button mdl-js-button mdl-button--icon">
309 <i class="material-icons">settings_voice</i>
310 </label>
311 </div>
312 </div>
313
314 <div class="mdl-cell mdl-cell--4-col">
315 <p>File upload</p>
316 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdlext-bordered-fields__icon-right ">
317 <input class="mdl-textfield__input" type="text" id="uploadfile2" readonly>
318 <label class="mdl-textfield__label">File (work in progress)</label>
319
320 <label class="mdl-button mdl-js-button mdl-button--primary mdl-button--icon mdl-button--file" for="uploadfile2">
321 <i class="material-icons">attach_file</i>
322 <input type="file" id="uploadBtn2">
323 </label>
324 </div>
325 <!--
326 // Need a script to work properly - something like this
327 -->
328 <script>
329 (function() {
330 'use strict';
331 document.querySelector('#uploadBtn2').addEventListener('change', function() {
332 var n = document.querySelector("#uploadfile2");
333 n.value = this.files[0].name;
334 n.parentNode.classList.add('is-dirty');
335 });
336 }());
337 </script>
338 </div>
339
340 </div>
341
342 <fieldset disabled>
343 <legend>Disabled fieldset</legend>
344 <div class="mdlext-selectfield mdlext-js-selectfield mdlext-selectfield--floating-label">
345 <select class="mdlext-selectfield__select">
346 <option value=""></option>
347 <option value="option1">option 1</option>
348 <option value="option2">option 2</option>
349 <option value="option3">option 3</option>
350 <option value="option4">option 4</option>
351 <option value="option5">option 5</option>
352 <option value="option6">option 5 abcdefghijklmnopqrstuvw0123456789</option>
353 </select>
354 <label class="mdlext-selectfield__label">Profession</label>
355 </div>
356
357 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
358 <input class="mdl-textfield__input" type="text" pattern="-?[0-9]*(\.[0-9]+)?">
359 <label class="mdl-textfield__label">Number...</label>
360 <span class="mdl-textfield__error">Input is not a number!</span>
361 </div>
362
363 <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdlext-bordered-fields__icon-left mdlext-bordered-fields__icon-right">
364 <i class="material-icons">radio</i>
365 <input class="mdl-textfield__input" type="text">
366 <label class="mdl-textfield__label">Text...</label>
367 <label class="mdl-button mdl-js-button mdl-button--icon">
368 <i class="material-icons">settings_voice</i>
369 </label>
370 </div>
371 </fieldset>
372
373</div>
374
375<h5>Credits</h5>
376<p>The Bordered Fields Theme component is based on this <a href="http://codepen.io/prajwal078/pen/LVJZXz" target="_blank">CodePen</a></p>