text: define(["exports", "../polymer/polymer-legacy.js"], function (_exports, _polymerLegacy) {
    "use strict";
  
    Object.defineProperty(_exports, "__esModule", {
      value: true
    });
    _exports.PaperSpinnerBehavior = void 0;
  
    /**
    @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
    */
  
    /** @polymerBehavior */
    var PaperSpinnerBehavior = {
      properties: {
        /**
         * Displays the spinner.
         */
        active: {
          type: Boolean,
          value: false,
          reflectToAttribute: true,
          observer: '__activeChanged'
        },
  
        /**
         * Alternative text content for accessibility support.
         * If alt is present, it will add an aria-label whose content matches alt
         * when active. If alt is not present, it will default to 'loading' as the
         * alt value.
         */
        alt: {
          type: String,
          value: 'loading',
          observer: '__altChanged'
        },
        __coolingDown: {
          type: Boolean,
          value: false
        }
      },
      __computeContainerClasses: function __computeContainerClasses(active, coolingDown) {
        return [active || coolingDown ? 'active' : '', coolingDown ? 'cooldown' : ''].join(' ');
      },
      __activeChanged: function __activeChanged(active, old) {
        this.__setAriaHidden(!active);
  
        this.__coolingDown = !active && old;
      },
      __altChanged: function __altChanged(alt) {
        // user-provided `aria-label` takes precedence over prototype default
        if (alt === 'loading') {
          this.alt = this.getAttribute('aria-label') || alt;
        } else {
          this.__setAriaHidden(alt === '');
  
          this.setAttribute('aria-label', alt);
        }
      },
      __setAriaHidden: function __setAriaHidden(hidden) {
        var attr = 'aria-hidden';
  
        if (hidden) {
          this.setAttribute(attr, 'true');
        } else {
          this.removeAttribute(attr);
        }
      },
      __reset: function __reset() {
        this.active = false;
        this.__coolingDown = false;
      }
    };
    _exports.PaperSpinnerBehavior = PaperSpinnerBehavior;
  });