text: /**
  @license
  Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
  This code may only be used under the BSD style license found at
  http://polymer.github.io/LICENSE.txt The complete set of authors may be found at
  http://polymer.github.io/AUTHORS.txt The complete set of contributors may be
  found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as
  part of the polymer project is also subject to an additional IP rights grant
  found at http://polymer.github.io/PATENTS.txt
  */
  import "@polymer/polymer/polymer-legacy.js";
  /**
    IronFormElementBehavior adds a `name`, `value` and `required` properties to
    a custom element. It mostly exists for backcompatibility with Polymer 1.x, and
    is probably not something you want to use.
  
    @demo demo/index.html
    @polymerBehavior
   */
  
  export const IronFormElementBehavior = {
    properties: {
      /**
       * The name of this element.
       */
      name: {
        type: String
      },
  
      /**
       * The value for this element.
       * @type {*}
       */
      value: {
        notify: true,
        type: String
      },
  
      /**
       * Set to true to mark the input as required. If used in a form, a
       * custom element that uses this behavior should also use
       * IronValidatableBehavior and define a custom validation method.
       * Otherwise, a `required` element will always be considered valid.
       * It's also strongly recommended to provide a visual style for the element
       * when its value is invalid.
       */
      required: {
        type: Boolean,
        value: false
      }
    },
    // Empty implementations for backcompatibility.
    attached: function () {},
    detached: function () {}
  };