001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package org.apache.juneau.bean.html5; 018 019import java.net.*; 020 021import org.apache.juneau.annotation.*; 022import org.apache.juneau.internal.*; 023 024/** 025 * DTO for an HTML <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#the-input-element"><input></a> 026 * element. 027 * 028 * <p> 029 * The input element represents a form control that allows users to input data. It is a void element 030 * that can take many different forms depending on the type attribute, including text fields, checkboxes, 031 * radio buttons, file uploads, and more. The input element is one of the most versatile and commonly 032 * used form controls in HTML. 033 * 034 * <h5 class='section'>Examples:</h5> 035 * <p class='bcode w800'> 036 * <jk>import static</jk> org.apache.juneau.bean.html5.HtmlBuilder.*; 037 * 038 * <jc>// Text input field</jc> 039 * Input <jv>input1</jv> = <jsm>input</jsm>(<js>"text"</js>) 040 * .name(<js>"username"</js>) 041 * .placeholder(<js>"Enter your username"</js>) 042 * .required(<jk>true</jk>); 043 * 044 * <jc>// Email input with validation</jc> 045 * Input <jv>input2</jv> = <jsm>input</jsm>(<js>"email"</js>) 046 * .name(<js>"email"</js>) 047 * .placeholder(<js>"your@email.com"</js>) 048 * .autocomplete(<js>"email"</js>); 049 * 050 * <jc>// File upload input</jc> 051 * Input <jv>input3</jv> = <jsm>input</jsm>(<js>"file"</js>) 052 * .name(<js>"avatar"</js>) 053 * .accept(<js>"image/*"</js>) 054 * .multiple(<jk>true</jk>); 055 * 056 * <jc>// Checkbox input</jc> 057 * Input <jv>input4</jv> = <jsm>input</jsm>(<js>"checkbox"</js>) 058 * .name(<js>"subscribe"</js>) 059 * .value(<js>"yes"</js>) 060 * .checked(<jk>true</jk>); 061 * 062 * <jc>// Password input with pattern</jc> 063 * Input <jv>input5</jv> = <jsm>input</jsm>(<js>"password"</js>) 064 * .name(<js>"password"</js>) 065 * .pattern(<js>".{8,}"</js>) 066 * .title(<js>"Password must be at least 8 characters"</js>); 067 * </p> 068 * 069 * <p> 070 * The following convenience methods are provided for constructing instances of this bean: 071 * <ul class='javatree'> 072 * <li class='jc'>{@link HtmlBuilder} 073 * <ul class='javatree'> 074 * <li class='jm'>{@link HtmlBuilder#input() input()} 075 * <li class='jm'>{@link HtmlBuilder#input(String) input(String)} 076 * </ul> 077 * </ul> 078 * </p> 079 * 080 * <h5 class='section'>See Also:</h5><ul> 081 * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/JuneauBeanHtml5">juneau-bean-html5</a> 082 * </ul> 083 */ 084@Bean(typeName="input") 085public class Input extends HtmlElementVoid { 086 087 /** 088 * Creates an empty {@link Input} element. 089 */ 090 public Input() {} 091 092 /** 093 * Creates an {@link Input} element with the specified {@link Input#type(String)} attribute. 094 * 095 * @param type The {@link Input#type(String)} attribute. 096 */ 097 public Input(String type) { 098 type(type); 099 } 100 101 /** 102 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-accept">accept</a> attribute. 103 * 104 * <p> 105 * Specifies which file types the file input should accept. Used with <c>type="file"</c>. 106 * 107 * <p> 108 * Examples: 109 * <ul> 110 * <li><js>"image/*"</js> - Accept all image files</li> 111 * <li><js>".pdf,.doc,.docx"</js> - Accept specific file extensions</li> 112 * <li><js>"image/png,image/jpeg"</js> - Accept specific MIME types</li> 113 * </ul> 114 * 115 * @param accept File type restrictions for file uploads. 116 * @return This object. 117 */ 118 public Input accept(String value) { 119 attr("accept", value); 120 return this; 121 } 122 123 /** 124 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-alt">alt</a> attribute. 125 * 126 * <p> 127 * Alternative text for image submit buttons. Used with <c>type="image"</c> to provide 128 * accessible text when the image cannot be displayed. 129 * 130 * @param alt Alternative text for image submit buttons. 131 * @return This object. 132 */ 133 public Input alt(String value) { 134 attr("alt", value); 135 return this; 136 } 137 138 /** 139 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-fe-autocomplete">autocomplete</a> attribute. 140 * 141 * <p> 142 * Controls whether the browser can automatically complete the input field. 143 * 144 * <p> 145 * Common values: 146 * <ul> 147 * <li><js>"on"</js> - Allow autocomplete (default)</li> 148 * <li><js>"off"</js> - Disable autocomplete</li> 149 * <li><js>"name"</js> - Full name</li> 150 * <li><js>"email"</js> - Email address</li> 151 * <li><js>"username"</js> - Username or login</li> 152 * <li><js>"current-password"</js> - Current password</li> 153 * <li><js>"new-password"</js> - New password</li> 154 * <li><js>"tel"</js> - Telephone number</li> 155 * <li><js>"url"</js> - URL</li> 156 * <li><js>"address-line1"</js> - Street address</li> 157 * <li><js>"country"</js> - Country name</li> 158 * <li><js>"postal-code"</js> - Postal code</li> 159 * </ul> 160 * 161 * @param autocomplete Autocomplete hint for the input field. 162 * @return This object. 163 */ 164 public Input autocomplete(String value) { 165 attr("autocomplete", value); 166 return this; 167 } 168 169 /** 170 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-fe-autofocus">autofocus</a> attribute. 171 * 172 * <p> 173 * Automatically focuses the form control when the page loads. 174 * Only one element per page should have this attribute. 175 * 176 * @param autofocus 177 * The new value for this attribute. 178 * Typically a {@link Boolean} or {@link String}. 179 * @return This object. 180 */ 181 public Input autofocus(Object value) { 182 attr("autofocus", value); 183 return this; 184 } 185 186 /** 187 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-checked">checked</a> attribute. 188 * 189 * <p> 190 * Whether the command or control is checked. 191 * 192 * <p> 193 * This attribute uses deminimized values: 194 * <ul> 195 * <li><jk>false</jk> - Attribute is not added</li> 196 * <li><jk>true</jk> - Attribute is added as <js>"checked"</js></li> 197 * <li>Other values - Passed through as-is</li> 198 * </ul> 199 * 200 * @param checked 201 * The new value for this attribute. 202 * Typically a {@link Boolean} or {@link String}. 203 * @return This object. 204 */ 205 public Input checked(Object value) { 206 attr("checked", deminimize(value, "checked")); 207 return this; 208 } 209 210 /** 211 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-fe-dirname">dirname</a> attribute. 212 * 213 * <p> 214 * Specifies the name of a hidden form field that will be submitted along with the input value, 215 * containing the text direction (ltr or rtl) of the input content. 216 * 217 * <p> 218 * This is useful for forms that need to preserve text direction information when submitted. 219 * The hidden field will contain either "ltr" or "rtl" based on the input's direction. 220 * 221 * @param dirname The name of the hidden field for directionality information. 222 * @return This object. 223 */ 224 public Input dirname(String value) { 225 attr("dirname", value); 226 return this; 227 } 228 229 /** 230 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-fe-disabled">disabled</a> attribute. 231 * 232 * <p> 233 * Whether the form control is disabled. 234 * 235 * <p> 236 * This attribute uses deminimized values: 237 * <ul> 238 * <li><jk>false</jk> - Attribute is not added</li> 239 * <li><jk>true</jk> - Attribute is added as <js>"disabled"</js></li> 240 * <li>Other values - Passed through as-is</li> 241 * </ul> 242 * 243 * @param disabled 244 * The new value for this attribute. 245 * Typically a {@link Boolean} or {@link String}. 246 * @return This object. 247 */ 248 public Input disabled(Object value) { 249 attr("disabled", deminimize(value, "disabled")); 250 return this; 251 } 252 253 /** 254 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-fae-form">form</a> attribute. 255 * 256 * <p> 257 * Associates the input with a form element by specifying the form's ID. This allows the input 258 * to be placed outside the form element while still being part of the form. 259 * 260 * <p> 261 * The value should match the ID of a form element in the same document. 262 * 263 * @param form The ID of the form element to associate with this input. 264 * @return This object. 265 */ 266 public Input form(String value) { 267 attr("form", value); 268 return this; 269 } 270 271 /** 272 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-fs-formaction">formaction</a> attribute. 273 * 274 * <p> 275 * URL to use for form submission. 276 * 277 * @param formaction The new value for this attribute. 278 * @return This object. 279 */ 280 public Input formaction(String value) { 281 attr("formaction", value); 282 return this; 283 } 284 285 /** 286 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-fs-formenctype">formenctype</a> attribute. 287 * 288 * <p> 289 * Form data set encoding type to use for form submission. 290 * 291 * @param formenctype The new value for this attribute. 292 * @return This object. 293 */ 294 public Input formenctype(String value) { 295 attr("formenctype", value); 296 return this; 297 } 298 299 /** 300 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-fs-formmethod">formmethod</a> attribute. 301 * 302 * <p> 303 * HTTP method to use for form submission. 304 * 305 * @param formmethod The new value for this attribute. 306 * @return This object. 307 */ 308 public Input formmethod(String value) { 309 attr("formmethod", value); 310 return this; 311 } 312 313 /** 314 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-fs-formnovalidate">formnovalidate</a> 315 * attribute. 316 * 317 * <p> 318 * Bypass form control validation for form submission. 319 * 320 * @param formnovalidate The new value for this attribute. 321 * @return This object. 322 */ 323 public Input formnovalidate(String value) { 324 attr("formnovalidate", value); 325 return this; 326 } 327 328 /** 329 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-fs-formtarget">formtarget</a> attribute. 330 * 331 * <p> 332 * Browsing context for form submission. 333 * 334 * @param formtarget The new value for this attribute. 335 * @return This object. 336 */ 337 public Input formtarget(String value) { 338 attr("formtarget", value); 339 return this; 340 } 341 342 /** 343 * <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-dim-height">height</a> 344 * attribute. 345 * 346 * <p> 347 * Vertical dimension. 348 * 349 * @param height 350 * The new value for this attribute. 351 * Typically a {@link Number} or {@link String}. 352 * @return This object. 353 */ 354 public Input height(Object value) { 355 attr("height", value); 356 return this; 357 } 358 359 /** 360 * <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-input-inputmode">inputmode</a> 361 * attribute. 362 * 363 * <p> 364 * Provides a hint to browsers about the type of virtual keyboard to display on mobile devices. 365 * 366 * <p> 367 * Possible values: 368 * <ul> 369 * <li><js>"none"</js> - No virtual keyboard</li> 370 * <li><js>"text"</js> - Standard text keyboard (default)</li> 371 * <li><js>"tel"</js> - Numeric keypad for telephone numbers</li> 372 * <li><js>"url"</js> - Keyboard optimized for URLs</li> 373 * <li><js>"email"</js> - Keyboard optimized for email addresses</li> 374 * <li><js>"numeric"</js> - Numeric keypad</li> 375 * <li><js>"decimal"</js> - Numeric keypad with decimal point</li> 376 * <li><js>"search"</js> - Keyboard optimized for search</li> 377 * </ul> 378 * 379 * @param inputmode The input modality hint for mobile keyboards. 380 * @return This object. 381 */ 382 public Input inputmode(String value) { 383 attr("inputmode", value); 384 return this; 385 } 386 387 /** 388 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-list">list</a> attribute. 389 * 390 * <p> 391 * References a <c><datalist></c> element that provides predefined options 392 * for the input field. Creates a dropdown with autocomplete suggestions. 393 * 394 * @param list The ID of a datalist element (without the # prefix). 395 * @return This object. 396 */ 397 public Input list(String value) { 398 attr("list", value); 399 return this; 400 } 401 402 /** 403 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-max">max</a> attribute. 404 * 405 * <p> 406 * Maximum value. 407 * 408 * @param max 409 * The new value for this attribute. 410 * Typically a {@link Number} or {@link String}. 411 * @return This object. 412 */ 413 public Input max(Object value) { 414 attr("max", value); 415 return this; 416 } 417 418 /** 419 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-maxlength">maxlength</a> attribute. 420 * Maximum length of value. 421 * 422 * @param maxlength The new value for this attribute. 423 * Typically a {@link Number} or {@link String}. 424 * @return This object. 425 */ 426 public Input maxlength(Object value) { 427 attr("maxlength", value); 428 return this; 429 } 430 431 /** 432 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-min">min</a> attribute. 433 * 434 * <p> 435 * Minimum value. 436 * 437 * @param min 438 * The new value for this attribute. 439 * Typically a {@link Number} or {@link String}. 440 * @return This object. 441 */ 442 public Input min(Object value) { 443 attr("min", value); 444 return this; 445 } 446 447 /** 448 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-minlength">minlength</a> attribute. 449 * 450 * <p> 451 * Minimum length of value. 452 * 453 * @param minlength 454 * The new value for this attribute. 455 * Typically a {@link Number} or {@link String}. 456 * @return This object. 457 */ 458 public Input minlength(Object value) { 459 attr("minlength", value); 460 return this; 461 } 462 463 /** 464 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-multiple">multiple</a> attribute. 465 * 466 * <p> 467 * Whether to allow multiple values. 468 * 469 * <p> 470 * This attribute uses deminimized values: 471 * <ul> 472 * <li><jk>false</jk> - Attribute is not added</li> 473 * <li><jk>true</jk> - Attribute is added as <js>"multiple"</js></li> 474 * <li>Other values - Passed through as-is</li> 475 * </ul> 476 * 477 * @param multiple 478 * The new value for this attribute. 479 * Typically a {@link Boolean} or {@link String}. 480 * @return This object. 481 */ 482 public Input multiple(Object value) { 483 attr("multiple", deminimize(value, "multiple")); 484 return this; 485 } 486 487 /** 488 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-fe-name">name</a> attribute. 489 * 490 * <p> 491 * Name of form control to use for form submission and in the form.elements API. 492 * 493 * @param name The new value for this attribute. 494 * @return This object. 495 */ 496 public Input name(String value) { 497 attr("name", value); 498 return this; 499 } 500 501 /** 502 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-pattern">pattern</a> attribute. 503 * 504 * <p> 505 * Specifies a regular expression that the input's value must match for the form to be valid. 506 * Works with the <c>title</c> attribute to provide user feedback. 507 * 508 * @param pattern A regular expression pattern (e.g., <js>"[0-9]{3}-[0-9]{3}-[0-9]{4}"</js> for phone numbers). 509 * @return This object. 510 */ 511 public Input pattern(String value) { 512 attr("pattern", value); 513 return this; 514 } 515 516 /** 517 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-placeholder">placeholder</a> attribute. 518 * 519 * <p> 520 * Provides a hint to the user about what to enter in the input field. 521 * The placeholder text appears when the field is empty and disappears when the user starts typing. 522 * 523 * @param placeholder Hint text to display in the empty input field. 524 * @return This object. 525 */ 526 public Input placeholder(String value) { 527 attr("placeholder", value); 528 return this; 529 } 530 531 /** 532 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-readonly">readonly</a> attribute. 533 * 534 * <p> 535 * Makes the input field read-only, preventing user modification while still allowing 536 * the value to be submitted with the form. 537 * 538 * @param readonly If <jk>true</jk>, makes the input read-only. 539 * @return This object. 540 */ 541 public Input readonly(Object value) { 542 attr("readonly", value); 543 return this; 544 } 545 546 547 /** 548 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-readonly">readonly</a> attribute. 549 * 550 * <p> 551 * Whether to allow the value to be edited by the user. 552 * 553 * @param value If <jk>true</jk>, adds <c>readonly="readonly"</c>. 554 * @return This object. 555 */ 556 public Input readonly(boolean value) { 557 if (value) 558 value("value"); 559 return this; 560 } 561 562 /** 563 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-readonly">required</a> attribute. 564 * 565 * <p> 566 * Indicates that the input field must be filled out before the form can be submitted. 567 * Browsers will show validation messages for empty required fields. 568 * 569 * @param required If <jk>true</jk>, makes the input required for form submission. 570 * @return This object. 571 */ 572 public Input required(Object value) { 573 attr("required", value); 574 return this; 575 } 576 577 /** 578 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-size">size</a> attribute. 579 * 580 * <p> 581 * Size of the control. 582 * 583 * @param size 584 * The new value for this attribute. 585 * Typically a {@link Number} or {@link String}. 586 * @return This object. 587 */ 588 public Input size(Object value) { 589 attr("size", value); 590 return this; 591 } 592 593 /** 594 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-src">src</a> attribute. 595 * 596 * <p> 597 * Address of the resource. 598 * 599 * @param src 600 * The new value for this attribute. 601 * Typically a {@link URL} or {@link String}. 602 * @return This object. 603 */ 604 public Input src(Object value) { 605 attr("src", value); 606 return this; 607 } 608 609 /** 610 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-step">step</a> attribute. 611 * 612 * <p> 613 * Granularity to be matched by the form control's value. 614 * 615 * @param step The new value for this attribute. 616 * @return This object. 617 */ 618 public Input step(String value) { 619 attr("step", value); 620 return this; 621 } 622 623 /** 624 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-type">type</a> attribute. 625 * 626 * <p> 627 * Specifies the type of form control to display. 628 * 629 * <p> 630 * Common values: 631 * <ul> 632 * <li><js>"text"</js> - Single-line text input (default)</li> 633 * <li><js>"password"</js> - Password input (characters are masked)</li> 634 * <li><js>"email"</js> - Email address input with validation</li> 635 * <li><js>"number"</js> - Numeric input with spinner controls</li> 636 * <li><js>"tel"</js> - Telephone number input</li> 637 * <li><js>"url"</js> - URL input with validation</li> 638 * <li><js>"search"</js> - Search input field</li> 639 * <li><js>"date"</js> - Date picker</li> 640 * <li><js>"time"</js> - Time picker</li> 641 * <li><js>"datetime-local"</js> - Date and time picker</li> 642 * <li><js>"checkbox"</js> - Checkbox input</li> 643 * <li><js>"radio"</js> - Radio button input</li> 644 * <li><js>"file"</js> - File upload input</li> 645 * <li><js>"submit"</js> - Submit button</li> 646 * <li><js>"button"</js> - Generic button</li> 647 * <li><js>"reset"</js> - Reset form button</li> 648 * <li><js>"hidden"</js> - Hidden input field</li> 649 * </ul> 650 * 651 * @param type The input type for the form control. 652 * @return This object. 653 */ 654 public Input type(String value) { 655 attr("type", value); 656 return this; 657 } 658 659 /** 660 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-input-value">value</a> attribute. 661 * 662 * <p> 663 * Value of the form control. 664 * 665 * @param value 666 * The new value for this attribute. 667 * Typically a {@link Number} or {@link String}. 668 * @return This object. 669 */ 670 public Input value(Object value) { 671 attr("value", value); 672 return this; 673 } 674 675 /** 676 * <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-dim-width">width</a> attribute. 677 * 678 * <p> 679 * Horizontal dimension. 680 * 681 * @param width 682 * The new value for this attribute. 683 * Typically a {@link Number} or {@link String}. 684 * @return This object. 685 */ 686 public Input width(Object value) { 687 attr("width", value); 688 return this; 689 } 690 691 //----------------------------------------------------------------------------------------------------------------- 692 // Overridden methods 693 //----------------------------------------------------------------------------------------------------------------- 694 @Override /* Overridden from HtmlElement */ 695 public Input _class(String value) { // NOSONAR - Intentional naming. 696 super._class(value); 697 return this; 698 } 699 700 @Override /* Overridden from HtmlElement */ 701 public Input accesskey(String value) { 702 super.accesskey(value); 703 return this; 704 } 705 706 @Override /* Overridden from HtmlElement */ 707 public Input contenteditable(Object value) { 708 super.contenteditable(value); 709 return this; 710 } 711 712 @Override /* Overridden from HtmlElement */ 713 public Input dir(String value) { 714 super.dir(value); 715 return this; 716 } 717 718 @Override /* Overridden from HtmlElement */ 719 public Input hidden(Object value) { 720 super.hidden(value); 721 return this; 722 } 723 724 @Override /* Overridden from HtmlElement */ 725 public Input id(String value) { 726 super.id(value); 727 return this; 728 } 729 730 @Override /* Overridden from HtmlElement */ 731 public Input lang(String value) { 732 super.lang(value); 733 return this; 734 } 735 736 @Override /* Overridden from HtmlElement */ 737 public Input onabort(String value) { 738 super.onabort(value); 739 return this; 740 } 741 742 @Override /* Overridden from HtmlElement */ 743 public Input onblur(String value) { 744 super.onblur(value); 745 return this; 746 } 747 748 @Override /* Overridden from HtmlElement */ 749 public Input oncancel(String value) { 750 super.oncancel(value); 751 return this; 752 } 753 754 @Override /* Overridden from HtmlElement */ 755 public Input oncanplay(String value) { 756 super.oncanplay(value); 757 return this; 758 } 759 760 @Override /* Overridden from HtmlElement */ 761 public Input oncanplaythrough(String value) { 762 super.oncanplaythrough(value); 763 return this; 764 } 765 766 @Override /* Overridden from HtmlElement */ 767 public Input onchange(String value) { 768 super.onchange(value); 769 return this; 770 } 771 772 @Override /* Overridden from HtmlElement */ 773 public Input onclick(String value) { 774 super.onclick(value); 775 return this; 776 } 777 778 @Override /* Overridden from HtmlElement */ 779 public Input oncuechange(String value) { 780 super.oncuechange(value); 781 return this; 782 } 783 784 @Override /* Overridden from HtmlElement */ 785 public Input ondblclick(String value) { 786 super.ondblclick(value); 787 return this; 788 } 789 790 @Override /* Overridden from HtmlElement */ 791 public Input ondurationchange(String value) { 792 super.ondurationchange(value); 793 return this; 794 } 795 796 @Override /* Overridden from HtmlElement */ 797 public Input onemptied(String value) { 798 super.onemptied(value); 799 return this; 800 } 801 802 @Override /* Overridden from HtmlElement */ 803 public Input onended(String value) { 804 super.onended(value); 805 return this; 806 } 807 808 @Override /* Overridden from HtmlElement */ 809 public Input onerror(String value) { 810 super.onerror(value); 811 return this; 812 } 813 814 @Override /* Overridden from HtmlElement */ 815 public Input onfocus(String value) { 816 super.onfocus(value); 817 return this; 818 } 819 820 @Override /* Overridden from HtmlElement */ 821 public Input oninput(String value) { 822 super.oninput(value); 823 return this; 824 } 825 826 @Override /* Overridden from HtmlElement */ 827 public Input oninvalid(String value) { 828 super.oninvalid(value); 829 return this; 830 } 831 832 @Override /* Overridden from HtmlElement */ 833 public Input onkeydown(String value) { 834 super.onkeydown(value); 835 return this; 836 } 837 838 @Override /* Overridden from HtmlElement */ 839 public Input onkeypress(String value) { 840 super.onkeypress(value); 841 return this; 842 } 843 844 @Override /* Overridden from HtmlElement */ 845 public Input onkeyup(String value) { 846 super.onkeyup(value); 847 return this; 848 } 849 850 @Override /* Overridden from HtmlElement */ 851 public Input onload(String value) { 852 super.onload(value); 853 return this; 854 } 855 856 @Override /* Overridden from HtmlElement */ 857 public Input onloadeddata(String value) { 858 super.onloadeddata(value); 859 return this; 860 } 861 862 @Override /* Overridden from HtmlElement */ 863 public Input onloadedmetadata(String value) { 864 super.onloadedmetadata(value); 865 return this; 866 } 867 868 @Override /* Overridden from HtmlElement */ 869 public Input onloadstart(String value) { 870 super.onloadstart(value); 871 return this; 872 } 873 874 @Override /* Overridden from HtmlElement */ 875 public Input onmousedown(String value) { 876 super.onmousedown(value); 877 return this; 878 } 879 880 @Override /* Overridden from HtmlElement */ 881 public Input onmouseenter(String value) { 882 super.onmouseenter(value); 883 return this; 884 } 885 886 @Override /* Overridden from HtmlElement */ 887 public Input onmouseleave(String value) { 888 super.onmouseleave(value); 889 return this; 890 } 891 892 @Override /* Overridden from HtmlElement */ 893 public Input onmousemove(String value) { 894 super.onmousemove(value); 895 return this; 896 } 897 898 @Override /* Overridden from HtmlElement */ 899 public Input onmouseout(String value) { 900 super.onmouseout(value); 901 return this; 902 } 903 904 @Override /* Overridden from HtmlElement */ 905 public Input onmouseover(String value) { 906 super.onmouseover(value); 907 return this; 908 } 909 910 @Override /* Overridden from HtmlElement */ 911 public Input onmouseup(String value) { 912 super.onmouseup(value); 913 return this; 914 } 915 916 @Override /* Overridden from HtmlElement */ 917 public Input onmousewheel(String value) { 918 super.onmousewheel(value); 919 return this; 920 } 921 922 @Override /* Overridden from HtmlElement */ 923 public Input onpause(String value) { 924 super.onpause(value); 925 return this; 926 } 927 928 @Override /* Overridden from HtmlElement */ 929 public Input onplay(String value) { 930 super.onplay(value); 931 return this; 932 } 933 934 @Override /* Overridden from HtmlElement */ 935 public Input onplaying(String value) { 936 super.onplaying(value); 937 return this; 938 } 939 940 @Override /* Overridden from HtmlElement */ 941 public Input onprogress(String value) { 942 super.onprogress(value); 943 return this; 944 } 945 946 @Override /* Overridden from HtmlElement */ 947 public Input onratechange(String value) { 948 super.onratechange(value); 949 return this; 950 } 951 952 @Override /* Overridden from HtmlElement */ 953 public Input onreset(String value) { 954 super.onreset(value); 955 return this; 956 } 957 958 @Override /* Overridden from HtmlElement */ 959 public Input onresize(String value) { 960 super.onresize(value); 961 return this; 962 } 963 964 @Override /* Overridden from HtmlElement */ 965 public Input onscroll(String value) { 966 super.onscroll(value); 967 return this; 968 } 969 970 @Override /* Overridden from HtmlElement */ 971 public Input onseeked(String value) { 972 super.onseeked(value); 973 return this; 974 } 975 976 @Override /* Overridden from HtmlElement */ 977 public Input onseeking(String value) { 978 super.onseeking(value); 979 return this; 980 } 981 982 @Override /* Overridden from HtmlElement */ 983 public Input onselect(String value) { 984 super.onselect(value); 985 return this; 986 } 987 988 @Override /* Overridden from HtmlElement */ 989 public Input onshow(String value) { 990 super.onshow(value); 991 return this; 992 } 993 994 @Override /* Overridden from HtmlElement */ 995 public Input onstalled(String value) { 996 super.onstalled(value); 997 return this; 998 } 999 1000 @Override /* Overridden from HtmlElement */ 1001 public Input onsubmit(String value) { 1002 super.onsubmit(value); 1003 return this; 1004 } 1005 1006 @Override /* Overridden from HtmlElement */ 1007 public Input onsuspend(String value) { 1008 super.onsuspend(value); 1009 return this; 1010 } 1011 1012 @Override /* Overridden from HtmlElement */ 1013 public Input ontimeupdate(String value) { 1014 super.ontimeupdate(value); 1015 return this; 1016 } 1017 1018 @Override /* Overridden from HtmlElement */ 1019 public Input ontoggle(String value) { 1020 super.ontoggle(value); 1021 return this; 1022 } 1023 1024 @Override /* Overridden from HtmlElement */ 1025 public Input onvolumechange(String value) { 1026 super.onvolumechange(value); 1027 return this; 1028 } 1029 1030 @Override /* Overridden from HtmlElement */ 1031 public Input onwaiting(String value) { 1032 super.onwaiting(value); 1033 return this; 1034 } 1035 1036 @Override /* Overridden from HtmlElement */ 1037 public Input spellcheck(Object value) { 1038 super.spellcheck(value); 1039 return this; 1040 } 1041 1042 @Override /* Overridden from HtmlElement */ 1043 public Input style(String value) { 1044 super.style(value); 1045 return this; 1046 } 1047 1048 @Override /* Overridden from HtmlElement */ 1049 public Input tabindex(Object value) { 1050 super.tabindex(value); 1051 return this; 1052 } 1053 1054 @Override /* Overridden from HtmlElement */ 1055 public Input title(String value) { 1056 super.title(value); 1057 return this; 1058 } 1059 1060 @Override /* Overridden from HtmlElement */ 1061 public Input translate(Object value) { 1062 super.translate(value); 1063 return this; 1064 } 1065}