text: define(["exports", "require", "../../@polymer/polymer/polymer-element.js", "../../@polymer/polymer/lib/utils/render-status.js", "../hax-body-behaviors/lib/HAXWiring.js", "../schema-behaviors/schema-behaviors.js"], function (_exports, _require, _polymerElement, _renderStatus, _HAXWiring, _schemaBehaviors) {
    "use strict";
  
    Object.defineProperty(_exports, "__esModule", {
      value: true
    });
    _exports.FlashCard = void 0;
    _require = babelHelpers.interopRequireWildcard(_require);
  
    function _templateObject_e74dcc90c3a011e99204fd28bf05b7e9() {
      var data = babelHelpers.taggedTemplateLiteral(["\n      <style>\n        :host {\n          display: block;\n        }\n        paper-card {\n          -webkit-perspective: 800;\n          width: 400px;\n          height: 300px;\n          position: relative;\n          padding: 0;\n          margin: 0;\n        }\n        paper-card.flipped {\n          -webkit-transform: rotatex(-180deg);\n        }\n        paper-card.flipped .back {\n          z-index: 3;\n        }\n        paper-card {\n          -webkit-transform-style: preserve-3d;\n          -webkit-transition: 0.5s;\n        }\n        paper-card .face {\n          width: 100%;\n          height: 100%;\n          padding: 0;\n          margin: 0;\n          cursor: pointer;\n          position: absolute;\n          -webkit-backface-visibility: hidden;\n          z-index: 2;\n          font-family: Georgia;\n          font-size: 48px;\n          text-align: center;\n          line-height: 200px;\n        }\n        paper-card .front {\n          position: absolute;\n          z-index: 1;\n        }\n        paper-card .back {\n          -webkit-transform: rotatex(-180deg);\n        }\n      </style>\n      <paper-card id=\"card\" animated-shadow=\"true\">\n        <div class=\"face front white black-text\">Front</div>\n        <div class=\"face back black white-text\">Back</div>\n      </paper-card>\n    "]);
  
      _templateObject_e74dcc90c3a011e99204fd28bf05b7e9 = function _templateObject_e74dcc90c3a011e99204fd28bf05b7e9() {
        return data;
      };
  
      return data;
    }
  
    /**
     * `flash-card`
     * @demo demo/index.html
     */
    var FlashCard =
    /*#__PURE__*/
    function (_SchemaBehaviors) {
      babelHelpers.inherits(FlashCard, _SchemaBehaviors);
      babelHelpers.createClass(FlashCard, null, [{
        key: "template",
        get: function get() {
          return (0, _polymerElement.html)(_templateObject_e74dcc90c3a011e99204fd28bf05b7e9());
        }
      }, {
        key: "tag",
        get: function get() {
          return "flash-card";
        }
      }, {
        key: "properties",
        get: function get() {
          var props = {
            /**
             * Title
             */
            title: {
              type: String
            }
          };
  
          if (babelHelpers.get(babelHelpers.getPrototypeOf(FlashCard), "properties", this)) {
            props = Object.assign(props, babelHelpers.get(babelHelpers.getPrototypeOf(FlashCard), "properties", this));
          }
  
          return props;
        }
      }]);
  
      function FlashCard() {
        var _this;
  
        babelHelpers.classCallCheck(this, FlashCard);
        _this = babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(FlashCard).call(this));
        new Promise(function (res, rej) {
          return _require.default(["../../@polymer/paper-card/paper-card.js"], res, rej);
        });
        return _this;
      }
      /**
       * Attached to the DOM, now fire.
       */
  
  
      babelHelpers.createClass(FlashCard, [{
        key: "connectedCallback",
        value: function connectedCallback() {
          babelHelpers.get(babelHelpers.getPrototypeOf(FlashCard.prototype), "connectedCallback", this).call(this);
          (0, _renderStatus.afterNextRender)(this, function () {
            this.HAXWiring = new _HAXWiring.HAXWiring();
            this.HAXWiring.setup(FlashCard.haxProperties, FlashCard.tag, this);
            this.addEventListener("mouseenter", this._flipup.bind(this));
            this.addEventListener("mouseleave", this._flipback.bind(this));
          });
        }
      }, {
        key: "disconnectedCallback",
        value: function disconnectedCallback() {
          this.removeEventListener("mouseenter", this._flipup.bind(this));
          this.removeEventListener("mouseleave", this._flipback.bind(this));
          babelHelpers.get(babelHelpers.getPrototypeOf(FlashCard.prototype), "disconnectedCallback", this).call(this);
        }
      }, {
        key: "_flipup",
  
        /**
         * Flip up
         */
        value: function _flipup(e) {
          this.shadowRoot.querySelected("#card").classList.add("flipped");
        }
        /**
         * Flip back
         */
  
      }, {
        key: "_flipback",
        value: function _flipback(e) {
          this.shadowRoot.querySelected("#card").classList.remove("flipped");
        }
      }], [{
        key: "haxProperties",
        get: function get() {
          return {
            canScale: true,
            canPosition: true,
            canEditSource: false,
            gizmo: {
              title: "Sample gizmo",
              description: "The user will be able to see this for selection in a UI.",
              icon: "av:play-circle-filled",
              color: "grey",
              groups: ["Video", "Media"],
              handles: [{
                type: "video",
                url: "source"
              }],
              meta: {
                author: "Your organization on github"
              }
            },
            settings: {
              quick: [{
                property: "title",
                title: "Title",
                description: "The title of the element",
                inputMethod: "textfield",
                icon: "editor:title"
              }],
              configure: [{
                property: "title",
                title: "Title",
                description: "The title of the element",
                inputMethod: "textfield",
                icon: "editor:title"
              }],
              advanced: []
            }
          };
        }
      }]);
      return FlashCard;
    }((0, _schemaBehaviors.SchemaBehaviors)(_polymerElement.PolymerElement));
  
    _exports.FlashCard = FlashCard;
    window.customElements.define(FlashCard.tag, FlashCard);
  });