(function webpackUniversalModuleDefinition(root, factory) {
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory();
	else if(typeof define === 'function' && define.amd)
		define([], factory);
	else if(typeof exports === 'object')
		exports["DocutapUi"] = factory();
	else
		root["DocutapUi"] = factory();
})(this, (function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};

/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {

/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId])
/******/ 			return installedModules[moduleId].exports;

/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};

/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

/******/ 		// Flag the module as loaded
/******/ 		module.l = true;

/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}


/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;

/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;

/******/ 	// identity function for calling harmony imports with the correct context
/******/ 	__webpack_require__.i = function(value) { return value; };

/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, {
/******/ 				configurable: false,
/******/ 				enumerable: true,
/******/ 				get: getter
/******/ 			});
/******/ 		}
/******/ 	};

/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};

/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };

/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "/";

/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = 591);
/******/ })
/************************************************************************/
/******/ ({

/***/ 1:
/***/ (function(module, exports) {

/* globals __VUE_SSR_CONTEXT__ */

// this module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle

module.exports = function normalizeComponent (
  rawScriptExports,
  compiledTemplate,
  injectStyles,
  scopeId,
  moduleIdentifier /* server only */
) {
  var esModule
  var scriptExports = rawScriptExports = rawScriptExports || {}

  // ES6 modules interop
  var type = typeof rawScriptExports.default
  if (type === 'object' || type === 'function') {
    esModule = rawScriptExports
    scriptExports = rawScriptExports.default
  }

  // Vue.extend constructor export interop
  var options = typeof scriptExports === 'function'
    ? scriptExports.options
    : scriptExports

  // render functions
  if (compiledTemplate) {
    options.render = compiledTemplate.render
    options.staticRenderFns = compiledTemplate.staticRenderFns
  }

  // scopedId
  if (scopeId) {
    options._scopeId = scopeId
  }

  var hook
  if (moduleIdentifier) { // server build
    hook = function (context) {
      // 2.3 injection
      context =
        context || // cached call
        (this.$vnode && this.$vnode.ssrContext) || // stateful
        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
      // 2.2 with runInNewContext: true
      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
        context = __VUE_SSR_CONTEXT__
      }
      // inject component styles
      if (injectStyles) {
        injectStyles.call(this, context)
      }
      // register component module identifier for async chunk inferrence
      if (context && context._registeredComponents) {
        context._registeredComponents.add(moduleIdentifier)
      }
    }
    // used by ssr in case component is cached and beforeCreate
    // never gets called
    options._ssrRegister = hook
  } else if (injectStyles) {
    hook = injectStyles
  }

  if (hook) {
    var functional = options.functional
    var existing = functional
      ? options.render
      : options.beforeCreate
    if (!functional) {
      // inject component registration as beforeCreate hook
      options.beforeCreate = existing
        ? [].concat(existing, hook)
        : [hook]
    } else {
      // register for functioal component in vue file
      options.render = function renderWithStyleInjection (h, context) {
        hook.call(context)
        return existing(h, context)
      }
    }
  }

  return {
    esModule: esModule,
    exports: scriptExports,
    options: options
  }
}


/***/ }),

/***/ 10:
/***/ (function(module, exports, __webpack_require__) {

var anObject       = __webpack_require__(14)
  , IE8_DOM_DEFINE = __webpack_require__(31)
  , toPrimitive    = __webpack_require__(28)
  , dP             = Object.defineProperty;

exports.f = __webpack_require__(4) ? Object.defineProperty : function defineProperty(O, P, Attributes){
  anObject(O);
  P = toPrimitive(P, true);
  anObject(Attributes);
  if(IE8_DOM_DEFINE)try {
    return dP(O, P, Attributes);
  } catch(e){ /* empty */ }
  if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');
  if('value' in Attributes)O[P] = Attributes.value;
  return O;
};

/***/ }),

/***/ 11:
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
var getClosestVueParent = function getClosestVueParent($parent, cssClass) {
  if (!$parent || !$parent.$el) {
    return false;
  }

  if ($parent._uid === 0) {
    return false;
  }

  if ($parent.$el.classList.contains(cssClass)) {
    return $parent;
  }

  return getClosestVueParent($parent.$parent, cssClass);
};

exports.default = getClosestVueParent;
module.exports = exports["default"];

/***/ }),

/***/ 12:
/***/ (function(module, exports, __webpack_require__) {

var dP         = __webpack_require__(10)
  , createDesc = __webpack_require__(18);
module.exports = __webpack_require__(4) ? function(object, key, value){
  return dP.f(object, key, createDesc(1, value));
} : function(object, key, value){
  object[key] = value;
  return object;
};

/***/ }),

/***/ 14:
/***/ (function(module, exports, __webpack_require__) {

var isObject = __webpack_require__(7);
module.exports = function(it){
  if(!isObject(it))throw TypeError(it + ' is not an object!');
  return it;
};

/***/ }),

/***/ 15:
/***/ (function(module, exports) {

// 7.2.1 RequireObjectCoercible(argument)
module.exports = function(it){
  if(it == undefined)throw TypeError("Can't call method on  " + it);
  return it;
};

/***/ }),

/***/ 16:
/***/ (function(module, exports) {

// 7.1.4 ToInteger
var ceil  = Math.ceil
  , floor = Math.floor;
module.exports = function(it){
  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
};

/***/ }),

/***/ 17:
/***/ (function(module, exports, __webpack_require__) {

var global    = __webpack_require__(3)
  , core      = __webpack_require__(5)
  , ctx       = __webpack_require__(29)
  , hide      = __webpack_require__(12)
  , PROTOTYPE = 'prototype';

var $export = function(type, name, source){
  var IS_FORCED = type & $export.F
    , IS_GLOBAL = type & $export.G
    , IS_STATIC = type & $export.S
    , IS_PROTO  = type & $export.P
    , IS_BIND   = type & $export.B
    , IS_WRAP   = type & $export.W
    , exports   = IS_GLOBAL ? core : core[name] || (core[name] = {})
    , expProto  = exports[PROTOTYPE]
    , target    = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]
    , key, own, out;
  if(IS_GLOBAL)source = name;
  for(key in source){
    // contains in native
    own = !IS_FORCED && target && target[key] !== undefined;
    if(own && key in exports)continue;
    // export native or passed
    out = own ? target[key] : source[key];
    // prevent global pollution for namespaces
    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
    // bind timers to global for call from export context
    : IS_BIND && own ? ctx(out, global)
    // wrap global constructors for prevent change them in library
    : IS_WRAP && target[key] == out ? (function(C){
      var F = function(a, b, c){
        if(this instanceof C){
          switch(arguments.length){
            case 0: return new C;
            case 1: return new C(a);
            case 2: return new C(a, b);
          } return new C(a, b, c);
        } return C.apply(this, arguments);
      };
      F[PROTOTYPE] = C[PROTOTYPE];
      return F;
    // make static versions for prototype methods
    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
    if(IS_PROTO){
      (exports.virtual || (exports.virtual = {}))[key] = out;
      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
      if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);
    }
  }
};
// type bitmap
$export.F = 1;   // forced
$export.G = 2;   // global
$export.S = 4;   // static
$export.P = 8;   // proto
$export.B = 16;  // bind
$export.W = 32;  // wrap
$export.U = 64;  // safe
$export.R = 128; // real proto method for `library` 
module.exports = $export;

/***/ }),

/***/ 18:
/***/ (function(module, exports) {

module.exports = function(bitmap, value){
  return {
    enumerable  : !(bitmap & 1),
    configurable: !(bitmap & 2),
    writable    : !(bitmap & 4),
    value       : value
  };
};

/***/ }),

/***/ 19:
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.14 / 15.2.3.14 Object.keys(O)
var $keys       = __webpack_require__(32)
  , enumBugKeys = __webpack_require__(22);

module.exports = Object.keys || function keys(O){
  return $keys(O, enumBugKeys);
};

/***/ }),

/***/ 2:
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
// Theme mixin

// Grab the closest ancestor component's `md-theme` attribute OR grab the
// `md-name` attribute from an `<md-theme>` component.
function getAncestorThemeName(component) {
  if (!component) {
    return null;
  }

  var name = component.mdTheme;

  if (!name && component.$options._componentTag === 'md-theme') {
    name = component.mdName;
  }

  return name || getAncestorThemeName(component.$parent);
}

exports.default = {
  props: {
    mdTheme: String
  },
  computed: {
    mdEffectiveTheme: function mdEffectiveTheme() {
      return getAncestorThemeName(this) || this.$material.currentTheme;
    },
    themeClass: function themeClass() {
      return this.$material.prefix + this.mdEffectiveTheme;
    }
  },
  watch: {
    mdTheme: function mdTheme(value) {
      this.$material.useTheme(value);
    }
  },
  beforeMount: function beforeMount() {
    var localTheme = this.mdTheme;

    this.$material.useTheme(localTheme ? localTheme : 'default');
  }
};
module.exports = exports['default'];

/***/ }),

/***/ 20:
/***/ (function(module, exports, __webpack_require__) {

var shared = __webpack_require__(23)('keys')
  , uid    = __webpack_require__(21);
module.exports = function(key){
  return shared[key] || (shared[key] = uid(key));
};

/***/ }),

/***/ 21:
/***/ (function(module, exports) {

var id = 0
  , px = Math.random();
module.exports = function(key){
  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
};

/***/ }),

/***/ 22:
/***/ (function(module, exports) {

// IE 8- don't enum bug keys
module.exports = (
  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
).split(',');

/***/ }),

/***/ 222:
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = install;

var _mdStepper = __webpack_require__(471);

var _mdStepper2 = _interopRequireDefault(_mdStepper);

var _mdStep = __webpack_require__(469);

var _mdStep2 = _interopRequireDefault(_mdStep);

var _mdStepHeaderContainer = __webpack_require__(234);

var _mdStepHeaderContainer2 = _interopRequireDefault(_mdStepHeaderContainer);

var _mdStepHeader = __webpack_require__(470);

var _mdStepHeader2 = _interopRequireDefault(_mdStepHeader);

var _mdStepper3 = __webpack_require__(406);

var _mdStepper4 = _interopRequireDefault(_mdStepper3);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function install(Vue) {
  Vue.component('md-stepper', _mdStepper2.default);
  Vue.component('md-step', _mdStep2.default);
  Vue.component('md-step-header-container', _mdStepHeaderContainer2.default);
  Vue.component('md-step-header', _mdStepHeader2.default);

  Vue.material.styles.push(_mdStepper4.default);
}
module.exports = exports['default'];

/***/ }),

/***/ 23:
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3)
  , SHARED = '__core-js_shared__'
  , store  = global[SHARED] || (global[SHARED] = {});
module.exports = function(key){
  return store[key] || (store[key] = {});
};

/***/ }),

/***/ 234:
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var _uniqueId = __webpack_require__(37);

var _uniqueId2 = _interopRequireDefault(_uniqueId);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

exports.default = {
  functional: true,
  props: {
    mdVertical: {
      type: Boolean,
      default: false
    }
  },
  render: function render(createElement, _ref) {
    var children = _ref.children,
        props = _ref.props;

    var insertDividerIntoArray = function insertDividerIntoArray(arr) {
      return arr.reduce((function (result, element, index, array) {

        result.push(element);

        if (index < array.length - 1) {
          var mdDivider = createElement('md-divider', { key: 'divider-' + (0, _uniqueId2.default)() });

          result.push(mdDivider);
        }

        return result;
      }), []);
    };

    if (!props.mdVertical) {
      children = insertDividerIntoArray(children);
    }

    return createElement('div', { class: 'md-steps-navigation-container' }, children);
  }
};
module.exports = exports['default'];

/***/ }),

/***/ 24:
/***/ (function(module, exports, __webpack_require__) {

// 7.1.13 ToObject(argument)
var defined = __webpack_require__(15);
module.exports = function(it){
  return Object(defined(it));
};

/***/ }),

/***/ 25:
/***/ (function(module, exports) {

var toString = {}.toString;

module.exports = function(it){
  return toString.call(it).slice(8, -1);
};

/***/ }),

/***/ 26:
/***/ (function(module, exports, __webpack_require__) {

var isObject = __webpack_require__(7)
  , document = __webpack_require__(3).document
  // in old IE typeof document.createElement is 'object'
  , is = isObject(document) && isObject(document.createElement);
module.exports = function(it){
  return is ? document.createElement(it) : {};
};

/***/ }),

/***/ 27:
/***/ (function(module, exports, __webpack_require__) {

// fallback for non-array-like ES3 and non-enumerable old V8 strings
var cof = __webpack_require__(25);
module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){
  return cof(it) == 'String' ? it.split('') : Object(it);
};

/***/ }),

/***/ 28:
/***/ (function(module, exports, __webpack_require__) {

// 7.1.1 ToPrimitive(input [, PreferredType])
var isObject = __webpack_require__(7);
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
// and the second argument - flag - preferred type is a string
module.exports = function(it, S){
  if(!isObject(it))return it;
  var fn, val;
  if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
  if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;
  if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
  throw TypeError("Can't convert object to primitive value");
};

/***/ }),

/***/ 29:
/***/ (function(module, exports, __webpack_require__) {

// optional / simple context binding
var aFunction = __webpack_require__(34);
module.exports = function(fn, that, length){
  aFunction(fn);
  if(that === undefined)return fn;
  switch(length){
    case 1: return function(a){
      return fn.call(that, a);
    };
    case 2: return function(a, b){
      return fn.call(that, a, b);
    };
    case 3: return function(a, b, c){
      return fn.call(that, a, b, c);
    };
  }
  return function(/* ...args */){
    return fn.apply(that, arguments);
  };
};

/***/ }),

/***/ 298:
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var _uniqueId = __webpack_require__(37);

var _uniqueId2 = _interopRequireDefault(_uniqueId);

var _getClosestVueParent = __webpack_require__(11);

var _getClosestVueParent2 = _interopRequireDefault(_getClosestVueParent);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

exports.default = {
  name: 'md-step',
  props: {
    id: [String, Number],
    mdActive: Boolean,
    mdButtonBack: {
      type: String,
      default: 'BACK'
    },
    mdButtonContinue: {
      type: String,
      default: 'CONTINUE'
    },
    mdContinue: {
      type: Boolean,
      default: true
    },
    mdDisabled: Boolean,
    mdEditable: {
      type: Boolean,
      default: true
    },
    mdIcon: String,
    mdLabel: [String, Number],
    mdMessage: [String],
    mdToolTip: String,
    mdTooltipDelay: {
      type: String,
      default: '0'
    },
    mdTooltipDirection: {
      type: String,
      default: 'bottom'
    }
  },
  data: function data() {
    return {
      index: 0,
      left: '0px',
      mounted: false,
      parentStepper: undefined,
      stepId: this.id || 'step-' + (0, _uniqueId2.default)(),
      vertical: false,
      width: '0px'
    };
  },

  watch: {
    mdActive: function mdActive() {
      this.updateStepData();
    },
    mdContinue: function mdContinue() {
      this.updateStepData();
    },
    mdEditable: function mdEditable() {
      this.updateStepData();
    },
    mdDisabled: function mdDisabled() {
      this.updateStepData();
    },
    mdIcon: function mdIcon() {
      this.updateStepData();
    },
    mdLabel: function mdLabel() {
      this.updateStepData();
    },
    mdMessage: function mdMessage() {
      this.updateStepData();
    },
    mdToolTip: function mdToolTip() {
      this.updateStepData();
    },
    mdTooltipDelay: function mdTooltipDelay() {
      this.updateStepData();
    },
    mdTooltipDirection: function mdTooltipDirection() {
      this.updateStepData();
    }
  },
  computed: {
    canGoBack: function canGoBack() {
      if (this.index === 0) {
        return false;
      }

      if (!this.parentStepper) {
        return false;
      }

      var previousStep = this.parentStepper.getPreviousStep(this.stepId);

      if (previousStep !== undefined && !previousStep.editable) {
        return false;
      }

      return true;
    },
    continueText: function continueText() {
      if (!this.parentStepper) {
        return this.mdButtonContinue;
      }

      if (this.index + 1 === this.parentStepper.getStepsCount() && this.mdButtonContinue === 'CONTINUE') {
        return 'FINISH';
      }

      return this.mdButtonContinue;
    },
    isCurrentStep: function isCurrentStep() {
      return this.index === this.parentStepper.activeStepNumber;
    },
    styles: function styles() {
      if (this.vertical) {
        return {};
      }

      return {
        width: this.width,
        left: this.left
      };
    }
  },
  methods: {
    getStepData: function getStepData() {
      return {
        id: this.stepId,
        label: this.mdLabel,
        message: this.mdMessage,
        icon: this.mdIcon,
        active: this.mdActive,
        continue: this.mdContinue,
        editable: this.mdEditable,
        disabled: this.mdDisabled,
        toolTip: this.mdToolTip,
        tooltipDelay: this.mdTooltipDelay,
        tooltipDirection: this.mdTooltipDirection,
        ref: this
      };
    },
    moveNextStep: function moveNextStep() {
      this.parentStepper.moveNextStep();
    },
    movePreviousStep: function movePreviousStep() {
      this.parentStepper.movePreviousStep();
    },
    setActiveStep: function setActiveStep() {
      this.parentStepper.setActiveStep(this.getStepData());
    },
    updateStepData: function updateStepData() {
      this.parentStepper.updateStep(this.getStepData());
    }
  },
  mounted: function mounted() {
    var stepData = this.getStepData();

    this.parentStepper = (0, _getClosestVueParent2.default)(this.$parent, 'md-stepper');

    if (!this.parentStepper) {
      throw new Error('You must wrap the md-step in a md-stepper');
    }

    this.mounted = true;
    this.parentStepper.updateStep(stepData);

    if (this.mdActive) {
      this.parentStepper.setActiveStep(stepData);
    }

    this.vertical = this.parentStepper.mdVertical;

    this.index = this.parentStepper.getStepIndex(this.stepId);
  },
  beforeDestroy: function beforeDestroy() {
    this.parentStepper.unregisterStep(this.getStepData());
  }
};
module.exports = exports['default'];

/***/ }),

/***/ 299:
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var _getClosestVueParent = __webpack_require__(11);

var _getClosestVueParent2 = _interopRequireDefault(_getClosestVueParent);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

exports.default = {
  props: {
    step: Object,
    mdAlternateLabels: Boolean
  },
  data: function data() {
    return {
      index: Number,
      parentStepper: {}
    };
  },

  computed: {
    isCompleted: function isCompleted() {
      return this.index < this.parentStepper.activeStepNumber;
    },
    getHeaderClasses: function getHeaderClasses() {
      return {
        'md-active': this.parentStepper.activeStep === this.step.id,
        'md-alternate-labels': this.mdAlternateLabels,
        'md-disabled': this.step.disabled,
        'md-has-sub-message': this.step.message,
        'md-primary': this.isCompleted
      };
    },
    icon: function icon() {
      if (!this.step.disabled && this.step.editable && this.isCompleted) {
        return 'mode_edit';
      }

      if (!this.step.disabled && this.isCompleted) {
        return 'check';
      }

      return this.step.icon;
    },
    stepNumber: function stepNumber() {
      return this.index + 1;
    }
  },
  mounted: function mounted() {
    var _this = this;

    this.$nextTick((function () {
      _this.parentStepper = (0, _getClosestVueParent2.default)(_this.$parent, 'md-stepper');

      if (!_this.parentStepper) {
        _this.$destroy();

        throw new Error('You should wrap the md-step-header in a md-stepper');
      }

      _this.index = _this.parentStepper.getStepIndex(_this.step.id);
    }));
  }
}; //
//
//
//
//
//
//
//
//
//
//
//
//
//

module.exports = exports['default'];

/***/ }),

/***/ 3:
/***/ (function(module, exports) {

// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
var global = module.exports = typeof window != 'undefined' && window.Math == Math
  ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef

/***/ }),

/***/ 30:
/***/ (function(module, exports, __webpack_require__) {

// 7.1.15 ToLength
var toInteger = __webpack_require__(16)
  , min       = Math.min;
module.exports = function(it){
  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
};

/***/ }),

/***/ 300:
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var _keys = __webpack_require__(39);

var _keys2 = _interopRequireDefault(_keys);

var _mixin = __webpack_require__(2);

var _mixin2 = _interopRequireDefault(_mixin);

var _throttle = __webpack_require__(51);

var _throttle2 = _interopRequireDefault(_throttle);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

exports.default = {
  name: 'md-stepper',
  props: {
    mdAlternateLabels: {
      type: Boolean,
      default: false
    },
    mdElevation: {
      type: [String, Number],
      default: 1
    },
    mdVertical: {
      type: Boolean,
      default: false
    }
  },
  mixins: [_mixin2.default],
  data: function data() {
    return {
      stepList: {},
      activeStep: null,
      activeStepNumber: 0,
      contentHeight: '0px',
      contentWidth: '0px'
    };
  },
  computed: {
    navigationClasses: function navigationClasses() {
      return {
        'md-alternate-labels': this.mdAlternateLabels
      };
    },
    stepsClasses: function stepsClasses() {
      return {
        'md-steps-vertical': this.mdVertical
      };
    }
  },
  methods: {
    getNextStep: function getNextStep(id) {
      var currentIndex = this.getStepIndex(id);

      if (currentIndex === this.stepList.length) {
        return undefined;
      }

      var nextStepId = (0, _keys2.default)(this.stepList)[currentIndex + 1];
      var nextStep = this.stepList[nextStepId];

      return nextStep;
    },
    getPreviousStep: function getPreviousStep(id) {
      var currentIndex = this.getStepIndex(id);

      if (currentIndex === 0) {
        return undefined;
      }

      var previousStepId = (0, _keys2.default)(this.stepList)[currentIndex - 1];
      var previousStep = this.stepList[previousStepId];

      return previousStep;
    },
    getStepsCount: function getStepsCount() {
      var idList = (0, _keys2.default)(this.stepList);

      return idList.length;
    },
    getStepIndex: function getStepIndex(id) {
      var idList = (0, _keys2.default)(this.stepList);

      return idList.indexOf(id);
    },
    registerStep: function registerStep(stepData) {
      this.$set(this.stepList, stepData.id, stepData);
    },
    moveNextStep: function moveNextStep() {
      if (this.activeStepNumber < this.getStepsCount() - 1) {
        var nextStep = this.getNextStep(this.activeStep);

        this.setActiveStep(nextStep);
      } else {
        this.$emit('completed');
      }
    },
    movePreviousStep: function movePreviousStep() {
      if (this.activeStepNumber > 0 && this.activeStepNumber < this.getStepsCount()) {
        var prevStep = this.getPreviousStep(this.activeStep);

        this.setActiveStep(prevStep);
      }
    },
    setActiveStep: function setActiveStep(stepData) {
      if (this.activeStepNumber > this.getStepIndex(stepData.id) && !stepData.editable) {
        return;
      }

      this.activeStep = stepData.id;
      this.activeStepNumber = this.getStepIndex(this.activeStep);
      this.calculatePosition();
      this.$emit('change', this.activeStepNumber);
    },
    unregisterStep: function unregisterStep(stepData) {
      this.$delete(this.stepList, stepData.id);
    },
    updateStep: function updateStep(stepData) {
      this.registerStep(stepData);

      if (stepData.active) {
        if (!stepData.disabled) {
          this.setActiveStep(stepData);
        } else if ((0, _keys2.default)(this.stepList).length) {
          var stepIds = (0, _keys2.default)(this.stepList);
          var targetIndex = stepIds.indexOf(stepData.id) + 1;
          var target = stepIds[targetIndex];

          if (target) {
            this.setActiveStep(this.stepList[target]);
          } else {
            this.setActiveStep(this.stepList[0]);
          }
        }
      }
    },
    observeElementChanges: function observeElementChanges() {
      this.parentObserver = new MutationObserver((0, _throttle2.default)(this.calculateOnWatch, 50));
      this.parentObserver.observe(this.$refs.stepContent, {
        childList: true,
        attributes: true,
        subtree: true
      });
    },
    calculateStepsWidthAndPosition: function calculateStepsWidthAndPosition() {
      if (!this.mdVertical) {
        var width = this.$el.offsetWidth;
        var index = 0;

        this.contentWidth = width * this.activeStepNumber + 'px';

        for (var stepId in this.stepList) {
          var step = this.stepList[stepId];

          step.ref.width = width + 'px';
          step.ref.left = width * index + 'px';
          index++;
        }
      } else {
        this.contentWidth = 'initial';
      }
    },
    calculateContentHeight: function calculateContentHeight() {
      var _this = this;

      this.$nextTick((function () {
        if (!_this.mdVertical && (0, _keys2.default)(_this.stepList).length) {
          var height = _this.stepList[_this.activeStep].ref.$el.offsetHeight;

          _this.contentHeight = height + 'px';
        } else {
          _this.contentHeight = 'initial';
        }
      }));
    },
    calculatePosition: function calculatePosition() {
      var _this2 = this;

      window.requestAnimationFrame((function () {
        _this2.calculateStepsWidthAndPosition();
        _this2.calculateContentHeight();
      }));
    },
    debounceTransition: function debounceTransition() {
      var _this3 = this;

      window.clearTimeout(this.transitionControl);
      this.transitionControl = window.setTimeout((function () {
        _this3.calculatePosition();
        _this3.transitionOff = false;
      }), 200);
    },
    calculateOnWatch: function calculateOnWatch() {
      this.calculatePosition();
      this.debounceTransition();
    },
    calculateOnResize: function calculateOnResize() {
      this.transitionOff = true;
      this.calculateOnWatch();
    }
  },
  mounted: function mounted() {
    var _this4 = this;

    this.$nextTick((function () {
      _this4.observeElementChanges();
      window.addEventListener('resize', _this4.calculateOnResize);

      if ((0, _keys2.default)(_this4.stepList).length && !_this4.activeStep) {
        var firstStep = (0, _keys2.default)(_this4.stepList)[0];

        _this4.setActiveStep(_this4.stepList[firstStep]);
      }
    }));
  },
  beforeDestroy: function beforeDestroy() {
    if (this.parentObserver) {
      this.parentObserver.disconnect();
    }

    window.removeEventListener('resize', this.calculateOnResize);
  }
};
module.exports = exports['default'];

/***/ }),

/***/ 31:
/***/ (function(module, exports, __webpack_require__) {

module.exports = !__webpack_require__(4) && !__webpack_require__(6)((function(){
  return Object.defineProperty(__webpack_require__(26)('div'), 'a', {get: function(){ return 7; }}).a != 7;
}));

/***/ }),

/***/ 32:
/***/ (function(module, exports, __webpack_require__) {

var has          = __webpack_require__(9)
  , toIObject    = __webpack_require__(8)
  , arrayIndexOf = __webpack_require__(35)(false)
  , IE_PROTO     = __webpack_require__(20)('IE_PROTO');

module.exports = function(object, names){
  var O      = toIObject(object)
    , i      = 0
    , result = []
    , key;
  for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);
  // Don't enum bug & hidden keys
  while(names.length > i)if(has(O, key = names[i++])){
    ~arrayIndexOf(result, key) || result.push(key);
  }
  return result;
};

/***/ }),

/***/ 34:
/***/ (function(module, exports) {

module.exports = function(it){
  if(typeof it != 'function')throw TypeError(it + ' is not a function!');
  return it;
};

/***/ }),

/***/ 35:
/***/ (function(module, exports, __webpack_require__) {

// false -> Array#indexOf
// true  -> Array#includes
var toIObject = __webpack_require__(8)
  , toLength  = __webpack_require__(30)
  , toIndex   = __webpack_require__(36);
module.exports = function(IS_INCLUDES){
  return function($this, el, fromIndex){
    var O      = toIObject($this)
      , length = toLength(O.length)
      , index  = toIndex(fromIndex, length)
      , value;
    // Array#includes uses SameValueZero equality algorithm
    if(IS_INCLUDES && el != el)while(length > index){
      value = O[index++];
      if(value != value)return true;
    // Array#toIndex ignores holes, Array#includes - not
    } else for(;length > index; index++)if(IS_INCLUDES || index in O){
      if(O[index] === el)return IS_INCLUDES || index || 0;
    } return !IS_INCLUDES && -1;
  };
};

/***/ }),

/***/ 36:
/***/ (function(module, exports, __webpack_require__) {

var toInteger = __webpack_require__(16)
  , max       = Math.max
  , min       = Math.min;
module.exports = function(index, length){
  index = toInteger(index);
  return index < 0 ? max(index + length, 0) : min(index, length);
};

/***/ }),

/***/ 367:
/***/ (function(module, exports) {

// removed by extract-text-webpack-plugin

/***/ }),

/***/ 37:
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
var uniqueId = function uniqueId() {
  return Math.random().toString(36).slice(4);
};

exports.default = uniqueId;
module.exports = exports["default"];

/***/ }),

/***/ 39:
/***/ (function(module, exports, __webpack_require__) {

module.exports = { "default": __webpack_require__(44), __esModule: true };

/***/ }),

/***/ 4:
/***/ (function(module, exports, __webpack_require__) {

// Thank's IE8 for his funny defineProperty
module.exports = !__webpack_require__(6)((function(){
  return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
}));

/***/ }),

/***/ 406:
/***/ (function(module, exports) {

module.exports = ".THEME_NAME.md-stepper .md-step-header .md-step-icon,\n.THEME_NAME.md-stepper .md-step-header .md-step-number {\n  color: BACKGROUND-CONTRAST;\n  background-color: #bdbdbd; }\n\n.THEME_NAME.md-stepper .md-step-header.md-primary .md-step-icon,\n.THEME_NAME.md-stepper .md-step-header.md-primary .md-step-number, .THEME_NAME.md-stepper .md-step-header.md-active .md-step-icon,\n.THEME_NAME.md-stepper .md-step-header.md-active .md-step-number {\n  color: PRIMARY-CONTRAST;\n  background-color: PRIMARY-COLOR; }\n\n.THEME_NAME.md-stepper .md-step-header.md-accent .md-step-icon,\n.THEME_NAME.md-stepper .md-step-header.md-accent .md-step-number {\n  color: ACCENT-CONTRAST;\n  background-color: ACCENT-COLOR; }\n\n.THEME_NAME.md-stepper .md-step-header.md-warn .md-step-icon,\n.THEME_NAME.md-stepper .md-step-header.md-warn .md-step-number {\n  color: WARN-CONTRAST;\n  background-color: WARN-COLOR; }\n\n.THEME_NAME.md-stepper .md-step-header.md-disabled {\n  color: #bdbdbd; }\n  .THEME_NAME.md-stepper .md-step-header.md-disabled .md-step-icon,\n  .THEME_NAME.md-stepper .md-step-header.md-disabled .md-step-number {\n    color: white;\n    background-color: #bdbdbd; }\n"

/***/ }),

/***/ 44:
/***/ (function(module, exports, __webpack_require__) {

__webpack_require__(49);
module.exports = __webpack_require__(5).Object.keys;

/***/ }),

/***/ 469:
/***/ (function(module, exports, __webpack_require__) {

var disposed = false
var Component = __webpack_require__(1)(
  /* script */
  __webpack_require__(298),
  /* template */
  __webpack_require__(551),
  /* styles */
  null,
  /* scopeId */
  null,
  /* moduleIdentifier (server only) */
  null
)
Component.options.__file = "/root/repo/src/components/mdStepper/mdStep.vue"
if (Component.esModule && Object.keys(Component.esModule).some((function (key) {return key !== "default" && key.substr(0, 2) !== "__"}))) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] mdStep.vue: functional components are not supported with templates, they should use render functions.")}

/* hot reload */
if (false) {(function () {
  var hotAPI = require("vue-hot-reload-api")
  hotAPI.install(require("vue"), false)
  if (!hotAPI.compatible) return
  module.hot.accept()
  if (!module.hot.data) {
    hotAPI.createRecord("data-v-c190bdd2", Component.options)
  } else {
    hotAPI.reload("data-v-c190bdd2", Component.options)
  }
  module.hot.dispose((function (data) {
    disposed = true
  }))
})()}

module.exports = Component.exports


/***/ }),

/***/ 47:
/***/ (function(module, exports, __webpack_require__) {

// most Object methods by ES6 should accept primitives
var $export = __webpack_require__(17)
  , core    = __webpack_require__(5)
  , fails   = __webpack_require__(6);
module.exports = function(KEY, exec){
  var fn  = (core.Object || {})[KEY] || Object[KEY]
    , exp = {};
  exp[KEY] = exec(fn);
  $export($export.S + $export.F * fails((function(){ fn(1); })), 'Object', exp);
};

/***/ }),

/***/ 470:
/***/ (function(module, exports, __webpack_require__) {

var disposed = false
var Component = __webpack_require__(1)(
  /* script */
  __webpack_require__(299),
  /* template */
  __webpack_require__(492),
  /* styles */
  null,
  /* scopeId */
  null,
  /* moduleIdentifier (server only) */
  null
)
Component.options.__file = "/root/repo/src/components/mdStepper/mdStepHeader.vue"
if (Component.esModule && Object.keys(Component.esModule).some((function (key) {return key !== "default" && key.substr(0, 2) !== "__"}))) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] mdStepHeader.vue: functional components are not supported with templates, they should use render functions.")}

/* hot reload */
if (false) {(function () {
  var hotAPI = require("vue-hot-reload-api")
  hotAPI.install(require("vue"), false)
  if (!hotAPI.compatible) return
  module.hot.accept()
  if (!module.hot.data) {
    hotAPI.createRecord("data-v-05e593f8", Component.options)
  } else {
    hotAPI.reload("data-v-05e593f8", Component.options)
  }
  module.hot.dispose((function (data) {
    disposed = true
  }))
})()}

module.exports = Component.exports


/***/ }),

/***/ 471:
/***/ (function(module, exports, __webpack_require__) {

var disposed = false
function injectStyle (ssrContext) {
  if (disposed) return
  __webpack_require__(367)
}
var Component = __webpack_require__(1)(
  /* script */
  __webpack_require__(300),
  /* template */
  __webpack_require__(532),
  /* styles */
  injectStyle,
  /* scopeId */
  null,
  /* moduleIdentifier (server only) */
  null
)
Component.options.__file = "/root/repo/src/components/mdStepper/mdStepper.vue"
if (Component.esModule && Object.keys(Component.esModule).some((function (key) {return key !== "default" && key.substr(0, 2) !== "__"}))) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] mdStepper.vue: functional components are not supported with templates, they should use render functions.")}

/* hot reload */
if (false) {(function () {
  var hotAPI = require("vue-hot-reload-api")
  hotAPI.install(require("vue"), false)
  if (!hotAPI.compatible) return
  module.hot.accept()
  if (!module.hot.data) {
    hotAPI.createRecord("data-v-5e8acb54", Component.options)
  } else {
    hotAPI.reload("data-v-5e8acb54", Component.options)
  }
  module.hot.dispose((function (data) {
    disposed = true
  }))
})()}

module.exports = Component.exports


/***/ }),

/***/ 49:
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.14 Object.keys(O)
var toObject = __webpack_require__(24)
  , $keys    = __webpack_require__(19);

__webpack_require__(47)('keys', (function(){
  return function keys(it){
    return $keys(toObject(it));
  };
}));

/***/ }),

/***/ 492:
/***/ (function(module, exports, __webpack_require__) {

module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
  return _c('div', {
    staticClass: "md-step-header",
    class: _vm.getHeaderClasses
  }, [_c('div', {
    staticClass: "md-step-icons"
  }, [(_vm.icon) ? _c('md-icon', {
    staticClass: "md-step-icon"
  }, [_vm._v(_vm._s(_vm.icon))]) : _vm._e(), _vm._v(" "), (!_vm.icon) ? _c('div', {
    staticClass: "md-step-number"
  }, [_c('span', [_vm._v(_vm._s(_vm.stepNumber))])]) : _vm._e()], 1), _vm._v(" "), _c('div', {
    staticClass: "md-step-titles"
  }, [_c('div', {
    staticClass: "md-step-title"
  }, [_vm._v(_vm._s(_vm.step.label))]), _vm._v(" "), (_vm.step.message) ? _c('small', [_vm._v(_vm._s(_vm.step.message))]) : _vm._e()]), _vm._v(" "), (_vm.step.toolTip) ? _c('md-tooltip', {
    attrs: {
      "md-direction": _vm.step.tooltipDirection,
      "md-delay": _vm.step.tooltipDelay
    }
  }, [_vm._v(_vm._s(_vm.step.toolTip))]) : _vm._e()], 1)
},staticRenderFns: []}
module.exports.render._withStripped = true
if (false) {
  module.hot.accept()
  if (module.hot.data) {
     require("vue-hot-reload-api").rerender("data-v-05e593f8", module.exports)
  }
}

/***/ }),

/***/ 5:
/***/ (function(module, exports) {

var core = module.exports = {version: '2.4.0'};
if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef

/***/ }),

/***/ 51:
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
var debounce = function debounce(callback, limit) {
  var wait = false;

  return function () {
    if (!wait) {
      callback.call();
      wait = true;

      window.setTimeout((function () {
        wait = false;
      }), limit);
    }
  };
};

exports.default = debounce;
module.exports = exports["default"];

/***/ }),

/***/ 532:
/***/ (function(module, exports, __webpack_require__) {

module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
  return _c('div', {
    staticClass: "md-stepper",
    class: [_vm.themeClass, _vm.stepsClasses]
  }, [(!_vm.mdVertical) ? _c('md-whiteframe', {
    ref: "stepNavigation",
    staticClass: "md-steps-navigation",
    class: _vm.navigationClasses,
    attrs: {
      "md-tag": "nav",
      "md-elevation": _vm.mdElevation
    }
  }, [_c('md-step-header-container', {
    ref: "stepHeader",
    attrs: {
      "md-vertical": _vm.mdVertical
    }
  }, _vm._l((_vm.stepList), (function(step, index) {
    return _c('md-step-header', {
      key: step.id,
      attrs: {
        "step": step,
        "md-alternate-labels": _vm.mdAlternateLabels
      },
      on: {
        "click": function($event) {
          _vm.setActiveStep(step)
        }
      }
    })
  })))], 1) : _vm._e(), _vm._v(" "), _c('md-whiteframe', {
    attrs: {
      "md-elevation": _vm.mdElevation
    }
  }, [(!_vm.mdVertical) ? _c('div', {
    ref: "stepContent",
    staticClass: "md-steps-container",
    style: ({
      height: _vm.contentHeight
    })
  }, [_c('div', {
    staticClass: "md-steps-wrapper",
    style: ({
      transform: ("translate3D(-" + _vm.contentWidth + ", 0, 0)")
    })
  }, [_vm._t("default")], 2)]) : _vm._e(), _vm._v(" "), (_vm.mdVertical) ? _c('div', {
    ref: "stepContent",
    staticClass: "md-steps-vertical-container"
  }, [_vm._t("default")], 2) : _vm._e()])], 1)
},staticRenderFns: []}
module.exports.render._withStripped = true
if (false) {
  module.hot.accept()
  if (module.hot.data) {
     require("vue-hot-reload-api").rerender("data-v-5e8acb54", module.exports)
  }
}

/***/ }),

/***/ 551:
/***/ (function(module, exports, __webpack_require__) {

module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
  return _c('div', {
    staticClass: "md-step",
    style: (_vm.styles),
    attrs: {
      "id": _vm.stepId
    }
  }, [(_vm.vertical) ? _c('md-step-header', {
    attrs: {
      "step": _vm.getStepData()
    },
    on: {
      "click": function($event) {
        _vm.setActiveStep()
      }
    }
  }) : _vm._e(), _vm._v(" "), (!_vm.vertical || (_vm.vertical && _vm.isCurrentStep)) ? _c('div', {
    staticClass: "md-step-content"
  }, [_vm._t("default"), _vm._v(" "), (!_vm.vertical || (_vm.vertical && _vm.isCurrentStep)) ? _c('div', {
    staticClass: "md-step-actions"
  }, [_c('md-button', {
    staticClass: "md-raised md-primary",
    attrs: {
      "disabled": !_vm.mdContinue
    },
    on: {
      "click": _vm.moveNextStep
    }
  }, [_vm._v(_vm._s(_vm.continueText))]), _vm._v(" "), _c('md-button', {
    attrs: {
      "disabled": !_vm.canGoBack
    },
    on: {
      "click": _vm.movePreviousStep
    }
  }, [_vm._v(_vm._s(_vm.mdButtonBack))])], 1) : _vm._e()], 2) : _vm._e()], 1)
},staticRenderFns: []}
module.exports.render._withStripped = true
if (false) {
  module.hot.accept()
  if (module.hot.data) {
     require("vue-hot-reload-api").rerender("data-v-c190bdd2", module.exports)
  }
}

/***/ }),

/***/ 591:
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__(222);


/***/ }),

/***/ 6:
/***/ (function(module, exports) {

module.exports = function(exec){
  try {
    return !!exec();
  } catch(e){
    return true;
  }
};

/***/ }),

/***/ 7:
/***/ (function(module, exports) {

module.exports = function(it){
  return typeof it === 'object' ? it !== null : typeof it === 'function';
};

/***/ }),

/***/ 8:
/***/ (function(module, exports, __webpack_require__) {

// to indexed object, toObject with fallback for non-array-like ES3 strings
var IObject = __webpack_require__(27)
  , defined = __webpack_require__(15);
module.exports = function(it){
  return IObject(defined(it));
};

/***/ }),

/***/ 9:
/***/ (function(module, exports) {

var hasOwnProperty = {}.hasOwnProperty;
module.exports = function(it, key){
  return hasOwnProperty.call(it, key);
};

/***/ })

/******/ });
}));