UNPKG

saven

Version:
6,283 lines 260 kB
(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["savenComponents"] = factory();
	else
		root["savenComponents"] = factory();
})(typeof self !== 'undefined' ? self : 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;
/******/
/******/ 	// 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 = 8);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports) {

module.exports = require("nervjs");

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

module.exports = require("classnames");

/***/ }),
/* 2 */
/***/ (function(module, exports) {

module.exports = require("omit.js");

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

/*
	MIT License http://www.opensource.org/licenses/mit-license.php
	Author Tobias Koppers @sokra
*/
// css base code, injected by the css-loader
module.exports = function (useSourceMap) {
  var list = []; // return the list of modules as css string

  list.toString = function toString() {
    return this.map(function (item) {
      var content = cssWithMappingToString(item, useSourceMap);

      if (item[2]) {
        return "@media " + item[2] + "{" + content + "}";
      } else {
        return content;
      }
    }).join("");
  }; // import a list of modules into the list


  list.i = function (modules, mediaQuery) {
    if (typeof modules === "string") modules = [[null, modules, ""]];
    var alreadyImportedModules = {};

    for (var i = 0; i < this.length; i++) {
      var id = this[i][0];
      if (typeof id === "number") alreadyImportedModules[id] = true;
    }

    for (i = 0; i < modules.length; i++) {
      var item = modules[i]; // skip already imported module
      // this implementation is not 100% perfect for weird media query combinations
      //  when a module is imported multiple times with different media queries.
      //  I hope this will never occur (Hey this way we have smaller bundles)

      if (typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) {
        if (mediaQuery && !item[2]) {
          item[2] = mediaQuery;
        } else if (mediaQuery) {
          item[2] = "(" + item[2] + ") and (" + mediaQuery + ")";
        }

        list.push(item);
      }
    }
  };

  return list;
};

function cssWithMappingToString(item, useSourceMap) {
  var content = item[1] || '';
  var cssMapping = item[3];

  if (!cssMapping) {
    return content;
  }

  if (useSourceMap && typeof btoa === 'function') {
    var sourceMapping = toComment(cssMapping);
    var sourceURLs = cssMapping.sources.map(function (source) {
      return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */';
    });
    return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
  }

  return [content].join('\n');
} // Adapted from convert-source-map (MIT)


function toComment(sourceMap) {
  // eslint-disable-next-line no-undef
  var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
  var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;
  return '/*# ' + data + ' */';
}

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

/*
	MIT License http://www.opensource.org/licenses/mit-license.php
	Author Tobias Koppers @sokra
*/

var stylesInDom = {};

var	memoize = function (fn) {
	var memo;

	return function () {
		if (typeof memo === "undefined") memo = fn.apply(this, arguments);
		return memo;
	};
};

var isOldIE = memoize(function () {
	// Test for IE <= 9 as proposed by Browserhacks
	// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
	// Tests for existence of standard globals is to allow style-loader
	// to operate correctly into non-standard environments
	// @see https://github.com/webpack-contrib/style-loader/issues/177
	return window && document && document.all && !window.atob;
});

var getTarget = function (target) {
  return document.querySelector(target);
};

var getElement = (function (fn) {
	var memo = {};

	return function(target) {
                // If passing function in options, then use it for resolve "head" element.
                // Useful for Shadow Root style i.e
                // {
                //   insertInto: function () { return document.querySelector("#foo").shadowRoot }
                // }
                if (typeof target === 'function') {
                        return target();
                }
                if (typeof memo[target] === "undefined") {
			var styleTarget = getTarget.call(this, target);
			// Special case to return head of iframe instead of iframe itself
			if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
				try {
					// This will throw an exception if access to iframe is blocked
					// due to cross-origin restrictions
					styleTarget = styleTarget.contentDocument.head;
				} catch(e) {
					styleTarget = null;
				}
			}
			memo[target] = styleTarget;
		}
		return memo[target]
	};
})();

var singleton = null;
var	singletonCounter = 0;
var	stylesInsertedAtTop = [];

var	fixUrls = __webpack_require__(12);

module.exports = function(list, options) {
	if (typeof DEBUG !== "undefined" && DEBUG) {
		if (typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment");
	}

	options = options || {};

	options.attrs = typeof options.attrs === "object" ? options.attrs : {};

	// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
	// tags it will allow on a page
	if (!options.singleton && typeof options.singleton !== "boolean") options.singleton = isOldIE();

	// By default, add <style> tags to the <head> element
        if (!options.insertInto) options.insertInto = "head";

	// By default, add <style> tags to the bottom of the target
	if (!options.insertAt) options.insertAt = "bottom";

	var styles = listToStyles(list, options);

	addStylesToDom(styles, options);

	return function update (newList) {
		var mayRemove = [];

		for (var i = 0; i < styles.length; i++) {
			var item = styles[i];
			var domStyle = stylesInDom[item.id];

			domStyle.refs--;
			mayRemove.push(domStyle);
		}

		if(newList) {
			var newStyles = listToStyles(newList, options);
			addStylesToDom(newStyles, options);
		}

		for (var i = 0; i < mayRemove.length; i++) {
			var domStyle = mayRemove[i];

			if(domStyle.refs === 0) {
				for (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();

				delete stylesInDom[domStyle.id];
			}
		}
	};
};

function addStylesToDom (styles, options) {
	for (var i = 0; i < styles.length; i++) {
		var item = styles[i];
		var domStyle = stylesInDom[item.id];

		if(domStyle) {
			domStyle.refs++;

			for(var j = 0; j < domStyle.parts.length; j++) {
				domStyle.parts[j](item.parts[j]);
			}

			for(; j < item.parts.length; j++) {
				domStyle.parts.push(addStyle(item.parts[j], options));
			}
		} else {
			var parts = [];

			for(var j = 0; j < item.parts.length; j++) {
				parts.push(addStyle(item.parts[j], options));
			}

			stylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};
		}
	}
}

function listToStyles (list, options) {
	var styles = [];
	var newStyles = {};

	for (var i = 0; i < list.length; i++) {
		var item = list[i];
		var id = options.base ? item[0] + options.base : item[0];
		var css = item[1];
		var media = item[2];
		var sourceMap = item[3];
		var part = {css: css, media: media, sourceMap: sourceMap};

		if(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});
		else newStyles[id].parts.push(part);
	}

	return styles;
}

function insertStyleElement (options, style) {
	var target = getElement(options.insertInto)

	if (!target) {
		throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");
	}

	var lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];

	if (options.insertAt === "top") {
		if (!lastStyleElementInsertedAtTop) {
			target.insertBefore(style, target.firstChild);
		} else if (lastStyleElementInsertedAtTop.nextSibling) {
			target.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);
		} else {
			target.appendChild(style);
		}
		stylesInsertedAtTop.push(style);
	} else if (options.insertAt === "bottom") {
		target.appendChild(style);
	} else if (typeof options.insertAt === "object" && options.insertAt.before) {
		var nextSibling = getElement(options.insertInto + " " + options.insertAt.before);
		target.insertBefore(style, nextSibling);
	} else {
		throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");
	}
}

function removeStyleElement (style) {
	if (style.parentNode === null) return false;
	style.parentNode.removeChild(style);

	var idx = stylesInsertedAtTop.indexOf(style);
	if(idx >= 0) {
		stylesInsertedAtTop.splice(idx, 1);
	}
}

function createStyleElement (options) {
	var style = document.createElement("style");

	options.attrs.type = "text/css";

	addAttrs(style, options.attrs);
	insertStyleElement(options, style);

	return style;
}

function createLinkElement (options) {
	var link = document.createElement("link");

	options.attrs.type = "text/css";
	options.attrs.rel = "stylesheet";

	addAttrs(link, options.attrs);
	insertStyleElement(options, link);

	return link;
}

function addAttrs (el, attrs) {
	Object.keys(attrs).forEach(function (key) {
		el.setAttribute(key, attrs[key]);
	});
}

function addStyle (obj, options) {
	var style, update, remove, result;

	// If a transform function was defined, run it on the css
	if (options.transform && obj.css) {
	    result = options.transform(obj.css);

	    if (result) {
	    	// If transform returns a value, use that instead of the original css.
	    	// This allows running runtime transformations on the css.
	    	obj.css = result;
	    } else {
	    	// If the transform function returns a falsy value, don't add this css.
	    	// This allows conditional loading of css
	    	return function() {
	    		// noop
	    	};
	    }
	}

	if (options.singleton) {
		var styleIndex = singletonCounter++;

		style = singleton || (singleton = createStyleElement(options));

		update = applyToSingletonTag.bind(null, style, styleIndex, false);
		remove = applyToSingletonTag.bind(null, style, styleIndex, true);

	} else if (
		obj.sourceMap &&
		typeof URL === "function" &&
		typeof URL.createObjectURL === "function" &&
		typeof URL.revokeObjectURL === "function" &&
		typeof Blob === "function" &&
		typeof btoa === "function"
	) {
		style = createLinkElement(options);
		update = updateLink.bind(null, style, options);
		remove = function () {
			removeStyleElement(style);

			if(style.href) URL.revokeObjectURL(style.href);
		};
	} else {
		style = createStyleElement(options);
		update = applyToTag.bind(null, style);
		remove = function () {
			removeStyleElement(style);
		};
	}

	update(obj);

	return function updateStyle (newObj) {
		if (newObj) {
			if (
				newObj.css === obj.css &&
				newObj.media === obj.media &&
				newObj.sourceMap === obj.sourceMap
			) {
				return;
			}

			update(obj = newObj);
		} else {
			remove();
		}
	};
}

var replaceText = (function () {
	var textStore = [];

	return function (index, replacement) {
		textStore[index] = replacement;

		return textStore.filter(Boolean).join('\n');
	};
})();

function applyToSingletonTag (style, index, remove, obj) {
	var css = remove ? "" : obj.css;

	if (style.styleSheet) {
		style.styleSheet.cssText = replaceText(index, css);
	} else {
		var cssNode = document.createTextNode(css);
		var childNodes = style.childNodes;

		if (childNodes[index]) style.removeChild(childNodes[index]);

		if (childNodes.length) {
			style.insertBefore(cssNode, childNodes[index]);
		} else {
			style.appendChild(cssNode);
		}
	}
}

function applyToTag (style, obj) {
	var css = obj.css;
	var media = obj.media;

	if(media) {
		style.setAttribute("media", media)
	}

	if(style.styleSheet) {
		style.styleSheet.cssText = css;
	} else {
		while(style.firstChild) {
			style.removeChild(style.firstChild);
		}

		style.appendChild(document.createTextNode(css));
	}
}

function updateLink (link, options, obj) {
	var css = obj.css;
	var sourceMap = obj.sourceMap;

	/*
		If convertToAbsoluteUrls isn't defined, but sourcemaps are enabled
		and there is no publicPath defined then lets turn convertToAbsoluteUrls
		on by default.  Otherwise default to the convertToAbsoluteUrls option
		directly
	*/
	var autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;

	if (options.convertToAbsoluteUrls || autoFixUrls) {
		css = fixUrls(css);
	}

	if (sourceMap) {
		// http://stackoverflow.com/a/26603875
		css += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + " */";
	}

	var blob = new Blob([css], { type: "text/css" });

	var oldSrc = link.href;

	link.href = URL.createObjectURL(blob);

	if(oldSrc) URL.revokeObjectURL(oldSrc);
}


/***/ }),
/* 5 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_omit_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__style_index_scss__ = __webpack_require__(10);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__style_index_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__style_index_scss__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }






var View =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(View, _Nerv$Component);

  function View() {
    var _this;

    _classCallCheck(this, View);

    _this = _possibleConstructorReturn(this, _getPrototypeOf(View).apply(this, arguments));
    _this.state = {
      hover: false,
      touch: false
    };
    return _this;
  }

  _createClass(View, [{
    key: "render",
    value: function render() {
      var _this2 = this;

      var _this$props = this.props,
          hoverClass = _this$props.hoverClass,
          onTouchStart = _this$props.onTouchStart,
          onTouchEnd = _this$props.onTouchEnd,
          className = _this$props.className,
          _this$props$hoverStar = _this$props.hoverStartTime,
          hoverStartTime = _this$props$hoverStar === void 0 ? 50 : _this$props$hoverStar,
          _this$props$hoverStay = _this$props.hoverStayTime,
          hoverStayTime = _this$props$hoverStay === void 0 ? 400 : _this$props$hoverStay;
      var cls = __WEBPACK_IMPORTED_MODULE_2_classnames___default()('', _defineProperty({}, "".concat(hoverClass), this.state.hover), className);

      var _onTouchStart = function _onTouchStart(e) {
        var _this3 = this;

        _newArrowCheck(this, _this2);

        if (hoverClass) {
          this.setState(function () {
            _newArrowCheck(this, _this3);

            return {
              touch: true
            };
          }.bind(this));
          setTimeout(function () {
            var _this4 = this;

            _newArrowCheck(this, _this3);

            if (this.state.touch) {
              this.setState(function () {
                _newArrowCheck(this, _this4);

                return {
                  hover: true
                };
              }.bind(this));
            }
          }.bind(this), hoverStartTime);
        }

        onTouchStart && onTouchStart(e);
      }.bind(this);

      var _onTouchEnd = function _onTouchEnd(e) {
        var _this5 = this;

        _newArrowCheck(this, _this2);

        if (hoverClass) {
          this.setState(function () {
            _newArrowCheck(this, _this5);

            return {
              touch: false
            };
          }.bind(this));
          setTimeout(function () {
            var _this6 = this;

            _newArrowCheck(this, _this5);

            if (!this.state.touch) {
              this.setState(function () {
                _newArrowCheck(this, _this6);

                return {
                  hover: false
                };
              }.bind(this));
            }
          }.bind(this), hoverStayTime);
        }

        onTouchEnd && onTouchEnd(e);
      }.bind(this);

      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", _extends({}, __WEBPACK_IMPORTED_MODULE_1_omit_js___default()(this.props, ['hoverClass', 'onTouchStart', 'onTouchEnd', 'className', 'hoverStartTime', 'hoverStayTime']), {
        className: cls,
        onTouchStart: _onTouchStart,
        onTouchEnd: _onTouchEnd
      }), this.props.children);
    }
  }]);

  return View;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (View);

/***/ }),
/* 6 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
var _this = this;

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }

/** lodash BOF */
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
var toString = objectProto.toString;
var symToStringTag = typeof Symbol !== 'undefined' ? Symbol.toStringTag : undefined;
/** `Object#toString` result references. */

var dataViewTag = '[object DataView]';
var mapTag = '[object Map]';
var objectTag = '[object Object]';
var promiseTag = '[object Promise]';
var setTag = '[object Set]';
var weakMapTag = '[object WeakMap]';
/** Used to detect maps, sets, and weakmaps. */

var dataViewCtorString = "".concat(DataView);
var mapCtorString = "".concat(Map);
var promiseCtorString = "".concat(Promise);
var setCtorString = "".concat(Set);
var weakMapCtorString = "".concat(WeakMap);
var getTag = baseGetTag;

if (DataView && getTag(new DataView(new ArrayBuffer(1))) !== dataViewTag || getTag(new Map()) !== mapTag || getTag(Promise.resolve()) !== promiseTag || getTag(new Set()) !== setTag || getTag(new WeakMap()) !== weakMapTag) {
  getTag = function getTag(value) {
    _newArrowCheck(this, _this);

    var result = baseGetTag(value);
    var Ctor = result === objectTag ? value.constructor : undefined;
    var ctorString = Ctor ? "".concat(Ctor) : '';

    if (ctorString) {
      switch (ctorString) {
        case dataViewCtorString:
          return dataViewTag;

        case mapCtorString:
          return mapTag;

        case promiseCtorString:
          return promiseTag;

        case setCtorString:
          return setTag;

        case weakMapCtorString:
          return weakMapTag;
      }
    }

    return result;
  }.bind(this);
}

function isObjectLike(value) {
  return _typeof(value) === 'object' && value !== null;
}

function baseGetTag(value) {
  if (value == null) {
    return value === undefined ? '[object Undefined]' : '[object Null]';
  }

  if (!(symToStringTag && symToStringTag in Object(value))) {
    return toString.call(value);
  }

  var isOwn = hasOwnProperty.call(value, symToStringTag);
  var tag = value[symToStringTag];
  var unmasked = false;

  try {
    value[symToStringTag] = undefined;
    unmasked = true;
  } catch (e) {}

  var result = toString.call(value);

  if (unmasked) {
    if (isOwn) {
      value[symToStringTag] = tag;
    } else {
      delete value[symToStringTag];
    }
  }

  return result;
}

function isBoolean(value) {
  return value === true || value === false || isObjectLike(value) && baseGetTag(value) === '[object Boolean]';
}

function isNumber(value) {
  return typeof value === 'number' || isObjectLike(value) && baseGetTag(value) === '[object Number]';
}

function isString(value) {
  var type = _typeof(value);

  return type === 'string' || type === 'object' && value != null && !Array.isArray(value) && getTag(value) === '[object String]';
}

function isObject(value) {
  var type = _typeof(value);

  return value != null && (type === 'object' || type === 'function');
}

function isFunction(value) {
  if (!isObject(value)) {
    return false;
  } // The use of `Object#toString` avoids issues with the `typeof` operator
  // in Safari 9 which returns 'object' for typed arrays and other constructors.


  var tag = baseGetTag(value);
  return tag === '[object Function]' || tag === '[object AsyncFunction]' || tag === '[object GeneratorFunction]' || tag === '[object Proxy]';
}
/** lodash  EOF */


/* harmony default export */ __webpack_exports__["a"] = ({
  isBoolean: isBoolean,
  isNumber: isNumber,
  isString: isString,
  isFunction: isFunction
});

/***/ }),
/* 7 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return TOP; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LINE_HEIGHT; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return MASK_HEIGHT; });
var TOP = 102;
var LINE_HEIGHT = 34;
var MASK_HEIGHT = LINE_HEIGHT * 7;

/***/ }),
/* 8 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_weui__ = __webpack_require__(9);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_weui___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_weui__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__view__ = __webpack_require__(5);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "View", function() { return __WEBPACK_IMPORTED_MODULE_1__view__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__block__ = __webpack_require__(13);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Block", function() { return __WEBPACK_IMPORTED_MODULE_2__block__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__image__ = __webpack_require__(14);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Image", function() { return __WEBPACK_IMPORTED_MODULE_3__image__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__text__ = __webpack_require__(17);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Text", function() { return __WEBPACK_IMPORTED_MODULE_4__text__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__switch__ = __webpack_require__(20);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Switch", function() { return __WEBPACK_IMPORTED_MODULE_5__switch__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__button__ = __webpack_require__(21);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Button", function() { return __WEBPACK_IMPORTED_MODULE_6__button__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__icon__ = __webpack_require__(24);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Icon", function() { return __WEBPACK_IMPORTED_MODULE_7__icon__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__radio__ = __webpack_require__(25);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Radio", function() { return __WEBPACK_IMPORTED_MODULE_8__radio__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__input__ = __webpack_require__(26);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Input", function() { return __WEBPACK_IMPORTED_MODULE_9__input__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__scroll_view__ = __webpack_require__(29);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "ScrollView", function() { return __WEBPACK_IMPORTED_MODULE_10__scroll_view__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__swiper_swiper__ = __webpack_require__(32);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Swiper", function() { return __WEBPACK_IMPORTED_MODULE_11__swiper_swiper__["a"]; });
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "SwiperItem", function() { return __WEBPACK_IMPORTED_MODULE_11__swiper_swiper__["b"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__checkbox__ = __webpack_require__(35);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Checkbox", function() { return __WEBPACK_IMPORTED_MODULE_12__checkbox__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__picker__ = __webpack_require__(38);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Picker", function() { return __WEBPACK_IMPORTED_MODULE_13__picker__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__label__ = __webpack_require__(41);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Label", function() { return __WEBPACK_IMPORTED_MODULE_14__label__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__textarea__ = __webpack_require__(42);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Textarea", function() { return __WEBPACK_IMPORTED_MODULE_15__textarea__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__slider__ = __webpack_require__(43);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Slider", function() { return __WEBPACK_IMPORTED_MODULE_16__slider__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__video__ = __webpack_require__(44);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Video", function() { return __WEBPACK_IMPORTED_MODULE_17__video__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__audio__ = __webpack_require__(47);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Audio", function() { return __WEBPACK_IMPORTED_MODULE_18__audio__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__camera__ = __webpack_require__(50);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Camera", function() { return __WEBPACK_IMPORTED_MODULE_19__camera__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__progress__ = __webpack_require__(51);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Progress", function() { return __WEBPACK_IMPORTED_MODULE_20__progress__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__rich_text__ = __webpack_require__(52);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "RichText", function() { return __WEBPACK_IMPORTED_MODULE_21__rich_text__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__form__ = __webpack_require__(53);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Form", function() { return __WEBPACK_IMPORTED_MODULE_22__form__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__radio_radio_group__ = __webpack_require__(54);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "RadioGroup", function() { return __WEBPACK_IMPORTED_MODULE_23__radio_radio_group__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__checkbox_checkbox_group__ = __webpack_require__(55);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "CheckboxGroup", function() { return __WEBPACK_IMPORTED_MODULE_24__checkbox_checkbox_group__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__tabbar__ = __webpack_require__(56);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Tabbar", function() { return __WEBPACK_IMPORTED_MODULE_25__tabbar__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__tabbar_container__ = __webpack_require__(59);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "TabbarContainer", function() { return __WEBPACK_IMPORTED_MODULE_26__tabbar_container__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__tabbar_panel__ = __webpack_require__(60);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "TabbarPanel", function() { return __WEBPACK_IMPORTED_MODULE_27__tabbar_panel__["a"]; });



























 // export { default as Navigator } from './navigator'

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

module.exports = require("weui");

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


var content = __webpack_require__(11);

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"insertAt":"top","hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__(4)(content, options);

if(content.locals) module.exports = content.locals;

if(false) {
	module.hot.accept("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss", function() {
		var newContent = require("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss");

		if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];

		var locals = (function(a, b) {
			var key, idx = 0;

			for(key in a) {
				if(!b || a[key] !== b[key]) return false;
				idx++;
			}

			for(key in b) idx--;

			return idx === 0;
		}(content.locals, newContent.locals));

		if(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');

		update(newContent);
	});

	module.hot.dispose(function() { update(); });
}

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

exports = module.exports = __webpack_require__(3)(false);
// imports


// module
exports.push([module.i, "body, html {\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  user-select: none;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  -ms-user-select: none; }\n", ""]);

// exports


/***/ }),
/* 12 */
/***/ (function(module, exports) {

/**
 * When source maps are enabled, `style-loader` uses a link element with a data-uri to
 * embed the css on the page. This breaks all relative urls because now they are relative to a
 * bundle instead of the current page.
 *
 * One solution is to only use full urls, but that may be impossible.
 *
 * Instead, this function "fixes" the relative urls to be absolute according to the current page location.
 *
 * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.
 *
 */
module.exports = function (css) {
  // get current location
  var location = typeof window !== "undefined" && window.location;

  if (!location) {
    throw new Error("fixUrls requires window.location");
  } // blank or null?


  if (!css || typeof css !== "string") {
    return css;
  }

  var baseUrl = location.protocol + "//" + location.host;
  var currentDir = baseUrl + location.pathname.replace(/\/[^\/]*$/, "/"); // convert each url(...)

  /*
  This regular expression is just a way to recursively match brackets within
  a string.
  	 /url\s*\(  = Match on the word "url" with any whitespace after it and then a parens
     (  = Start a capturing group
       (?:  = Start a non-capturing group
           [^)(]  = Match anything that isn't a parentheses
           |  = OR
           \(  = Match a start parentheses
               (?:  = Start another non-capturing groups
                   [^)(]+  = Match anything that isn't a parentheses
                   |  = OR
                   \(  = Match a start parentheses
                       [^)(]*  = Match anything that isn't a parentheses
                   \)  = Match a end parentheses
               )  = End Group
               *\) = Match anything and then a close parens
           )  = Close non-capturing group
           *  = Match anything
        )  = Close capturing group
   \)  = Match a close parens
  	 /gi  = Get all matches, not the first.  Be case insensitive.
   */

  var fixedCss = css.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function (fullMatch, origUrl) {
    // strip quotes (if they exist)
    var unquotedOrigUrl = origUrl.trim().replace(/^"(.*)"$/, function (o, $1) {
      return $1;
    }).replace(/^'(.*)'$/, function (o, $1) {
      return $1;
    }); // already a full url? no change

    if (/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(unquotedOrigUrl)) {
      return fullMatch;
    } // convert the url to a full url


    var newUrl;

    if (unquotedOrigUrl.indexOf("//") === 0) {
      //TODO: should we add protocol?
      newUrl = unquotedOrigUrl;
    } else if (unquotedOrigUrl.indexOf("/") === 0) {
      // path should be relative to the base url
      newUrl = baseUrl + unquotedOrigUrl; // already starts with '/'
    } else {
      // path should be relative to current directory
      newUrl = currentDir + unquotedOrigUrl.replace(/^\.\//, ""); // Strip leading './'
    } // send back the fixed url(...)


    return "url(" + JSON.stringify(newUrl) + ")";
  }); // send back the fixed css

  return fixedCss;
};

/***/ }),
/* 13 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Block; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }



var Block =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Block, _Nerv$Component);

  function Block(props) {
    _classCallCheck(this, Block);

    return _possibleConstructorReturn(this, _getPrototypeOf(Block).call(this, props));
  }

  _createClass(Block, [{
    key: "render",
    value: function render() {
      return this.props.children;
    }
  }]);

  return Block;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);



/***/ }),
/* 14 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__style_index_scss__ = __webpack_require__(15);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__style_index_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__style_index_scss__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }





var Image =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Image, _Nerv$Component);

  function Image() {
    _classCallCheck(this, Image);

    return _possibleConstructorReturn(this, _getPrototypeOf(Image).apply(this, arguments));
  }

  _createClass(Image, [{
    key: "render",
    value: function render() {
      var _this$props = this.props,
          className = _this$props.className,
          src = _this$props.src,
          style = _this$props.style,
          mode = _this$props.mode,
          onLoad = _this$props.onLoad,
          onError = _this$props.onError,
          reset = _objectWithoutProperties(_this$props, ["className", "src", "style", "mode", "onLoad", "onError"]);

      var cls = __WEBPACK_IMPORTED_MODULE_1_classnames___default()('taro-img', {
        'taro-img__widthfix': mode === 'widthFix'
      }, className);
      var imgCls = 'taro-img__mode-' + (mode || 'scaleToFill').toLowerCase().replace(/\s/g, '');
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", _extends({
        className: cls,
        style: style
      }, reset), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("img", {
        className: imgCls,
        src: src,
        onLoad: onLoad,
        onError: onError
      }));
    }
  }]);

  return Image;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (Image);

/***/ }),
/* 15 */
/***/ (function(module, exports, __webpack_require__) {


var content = __webpack_require__(16);

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"insertAt":"top","hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__(4)(content, options);

if(content.locals) module.exports = content.locals;

if(false) {
	module.hot.accept("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss", function() {
		var newContent = require("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss");

		if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];

		var locals = (function(a, b) {
			var key, idx = 0;

			for(key in a) {
				if(!b || a[key] !== b[key]) return false;
				idx++;
			}

			for(key in b) idx--;

			return idx === 0;
		}(content.locals, newContent.locals));

		if(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');

		update(newContent);
	});

	module.hot.dispose(function() { update(); });
}

/***/ }),
/* 16 */
/***/ (function(module, exports, __webpack_require__) {

exports = module.exports = __webpack_require__(3)(false);
// imports


// module
exports.push([module.i, ".taro-img {\n  display: inline-block;\n  overflow: hidden;\n  position: relative;\n  font-size: 0;\n  width: 320px;\n  height: 240px; }\n  .taro-img.taro-img__widthfix {\n    height: 100%; }\n  .taro-img__mode-scaletofill {\n    width: 100%;\n    height: 100%; }\n  .taro-img__mode-aspectfit {\n    max-width: 100%;\n    max-height: 100%; }\n  .taro-img__mode-aspectfill {\n    min-width: 100%;\n    height: 100%; }\n  .taro-img__mode-widthfix {\n    width: 100%; }\n  .taro-img__mode-top {\n    width: 100%; }\n  .taro-img__mode-bottom {\n    width: 100%;\n    position: absolute;\n    bottom: 0; }\n  .taro-img__mode-left {\n    height: 100%; }\n  .taro-img__mode-right {\n    position: absolute;\n    height: 100%;\n    right: 0; }\n  .taro-img__mode-topright {\n    position: absolute;\n    right: 0; }\n  .taro-img__mode-bottomleft {\n    position: absolute;\n    bottom: 0; }\n  .taro-img__mode-bottomright {\n    position: absolute;\n    right: 0;\n    bottom: 0; }\n", ""]);

// exports


/***/ }),
/* 17 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_omit_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__style_index_scss__ = __webpack_require__(18);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__style_index_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__style_index_scss__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }






var Text =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Text, _Nerv$Component);

  function Text() {
    _classCallCheck(this, Text);

    return _possibleConstructorReturn(this, _getPrototypeOf(Text).apply(this, arguments));
  }

  _createClass(Text, [{
    key: "render",
    value: function render() {
      var _this$props = this.props,
          className = _this$props.className,
          _this$props$selectabl = _this$props.selectable,
          selectable = _this$props$selectabl === void 0 ? false : _this$props$selectabl;
      var cls = __WEBPACK_IMPORTED_MODULE_2_classnames___default()('taro-text', {
        'taro-text__selectable': selectable
      }, className);
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("span", _extends({}, __WEBPACK_IMPORTED_MODULE_1_omit_js___default()(this.props, ['selectable', 'className']), {
        className: cls
      }), this.props.children);
    }
  }]);

  return Text;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (Text);

/***/ }),
/* 18 */
/***/ (function(module, exports, __webpack_require__) {


var content = __webpack_require__(19);

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"insertAt":"top","hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__(4)(content, options);

if(content.locals) module.exports = content.locals;

if(false) {
	module.hot.accept("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss", function() {
		var newContent = require("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss");

		if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];

		var locals = (function(a, b) {
			var key, idx = 0;

			for(key in a) {
				if(!b || a[key] !== b[key]) return false;
				idx++;
			}

			for(key in b) idx--;

			return idx === 0;
		}(content.locals, newContent.locals));

		if(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');

		update(newContent);
	});

	module.hot.dispose(function() { update(); });
}

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

exports = module.exports = __webpack_require__(3)(false);
// imports


// module
exports.push([module.i, ".taro-text {\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  -ms-user-select: none;\n  user-select: none; }\n  .taro-text__selectable {\n    -moz-user-select: text;\n    -webkit-user-select: text;\n    -ms-user-select: text;\n    user-select: text; }\n", ""]);

// exports


/***/ }),
/* 20 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_omit_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }




var types = {
  switch: 'switch',
  checkbox: 'check'
};

function parseType(type) {
  if (!types[type]) throw new Error('unexpected type');
  return types[type];
}

var Switch =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Switch, _Nerv$Component);

  function Switch() {
    var _this;

    _classCallCheck(this, Switch);

    _this = _possibleConstructorReturn(this, _getPrototypeOf(Switch).apply(this, arguments));
    _this.state = {
      checked: _this.props.checked
    };
    _this.switchChange = _this.switchChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));
    return _this;
  }

  _createClass(Switch, [{
    key: "switchChange",
    value: function switchChange(e) {
      var onChange = this.props.onChange;
      Object.defineProperty(e, 'detail', {
        enumerable: true,
        value: {
          value: e.target.checked
        }
      });
      onChange && onChange(e);
      this.setState({
        checked: e.target.checked
      });
    }
  }, {
    key: "render",
    value: function render() {
      var _this$props = this.props,
          _this$props$type = _this$props.type,
          type = _this$props$type === void 0 ? 'switch' : _this$props$type,
          className = _this$props.className,
          color = _this$props.color;
      var cls = __WEBPACK_IMPORTED_MODULE_2_classnames___default()(_defineProperty({}, "weui-".concat(parseType(type)), true), className);
      var sty;

      if (this.state.checked) {
        sty = {
          borderColor: color || '04BE02',
          backgroundColor: color || '04BE02'
        };
      } else {
        sty = '';
      }

      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("input", _extends({}, __WEBPACK_IMPORTED_MODULE_1_omit_js___default()(this.props, ['className', 'checked', 'onChange']), {
        className: cls,
        checked: this.state.checked,
        type: "checkbox",
        onChange: this.switchChange,
        style: sty
      }));
    }
  }]);

  return Switch;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (Switch);

/***/ }),
/* 21 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_omit_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__style_index_scss__ = __webpack_require__(22);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__style_index_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__style_index_scss__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }






var Button =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Button, _Nerv$Component);

  function Button() {
    var _this;

    _classCallCheck(this, Button);

    _this = _possibleConstructorReturn(this, _getPrototypeOf(Button).apply(this, arguments));
    _this.state = {
      hover: false,
      touch: false
    };
    return _this;
  }

  _createClass(Button, [{
    key: "render",
    value: function render() {
      var _classNames,
          _this2 = this;

      var _this$props = this.props,
          children = _this$props.children,
          disabled = _this$props.disabled,
          className = _this$props.className,
          style = _this$props.style,
          onClick = _this$props.onClick,
          onTouchStart = _this$props.onTouchStart,
          onTouchEnd = _this$props.onTouchEnd,
          _this$props$hoverClas = _this$props.hoverClass,
          hoverClass = _this$props$hoverClas === void 0 ? 'button-hover' : _this$props$hoverClas,
          _this$props$hoverStar = _this$props.hoverStartTime,
          hoverStartTime = _this$props$hoverStar === void 0 ? 20 : _this$props$hoverStar,
          _this$props$hoverStay = _this$props.hoverStayTime,
          hoverStayTime = _this$props$hoverStay === void 0 ? 70 : _this$props$hoverStay,
          size = _this$props.size,
          plain = _this$props.plain,
          _this$props$loading = _this$props.loading,
          loading = _this$props$loading === void 0 ? false : _this$props$loading,
          _this$props$type = _this$props.type,
          type = _this$props$type === void 0 ? 'default' : _this$props$type;
      var cls = className || __WEBPACK_IMPORTED_MODULE_2_classnames___default()('weui-btn', (_classNames = {}, _defineProperty(_classNames, "".concat(hoverClass), this.state.hover && !disabled), _defineProperty(_classNames, "weui-btn_plain-".concat(type), plain), _defineProperty(_classNames, "weui-btn_".concat(type), !plain && type), _defineProperty(_classNames, 'weui-btn_mini', size === 'mini'), _defineProperty(_classNames, 'weui-btn_loading', loading), _defineProperty(_classNames, 'weui-btn_disabled', disabled), _classNames));

      var _onTouchStart = function _onTouchStart(e) {
        var _this3 = this;

        _newArrowCheck(this, _this2);

        this.setState(function () {
          _newArrowCheck(this, _this3);

          return {
            touch: true
          };
        }.bind(this));

        if (hoverClass && !disabled) {
          setTimeout(function () {
            var _this4 = this;

            _newArrowCheck(this, _this3);

            if (this.state.touch) {
              this.setState(function () {
                _newArrowCheck(this, _this4);

                return {
                  hover: true
                };
              }.bind(this));
            }
          }.bind(this), hoverStartTime);
        }

        onTouchStart && onTouchStart(e);
      }.bind(this);

      var _onTouchEnd = function _onTouchEnd(e) {
        var _this5 = this;

        _newArrowCheck(this, _this2);

        this.setState(function () {
          _newArrowCheck(this, _this5);

          return {
            touch: false
          };
        }.bind(this));

        if (hoverClass && !disabled) {
          setTimeout(function () {
            var _this6 = this;

            _newArrowCheck(this, _this5);

            if (!this.state.touch) {
              this.setState(function () {
                _newArrowCheck(this, _this6);

                return {
                  hover: false
                };
              }.bind(this));
            }
          }.bind(this), hoverStayTime);
        }

        onTouchEnd && onTouchEnd(e);
      }.bind(this);

      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("button", _extends({}, __WEBPACK_IMPORTED_MODULE_1_omit_js___default()(this.props, ['hoverClass', 'onTouchStart', 'onTouchEnd']), {
        className: cls,
        style: style,
        onClick: onClick,
        disabled: disabled,
        onTouchStart: _onTouchStart,
        onTouchEnd: _onTouchEnd
      }), loading && __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("i", {
        class: "weui-loading"
      }), children);
    }
  }]);

  return Button;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (Button);

/***/ }),
/* 22 */
/***/ (function(module, exports, __webpack_require__) {


var content = __webpack_require__(23);

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"insertAt":"top","hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__(4)(content, options);

if(content.locals) module.exports = content.locals;

if(false) {
	module.hot.accept("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss", function() {
		var newContent = require("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss");

		if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];

		var locals = (function(a, b) {
			var key, idx = 0;

			for(key in a) {
				if(!b || a[key] !== b[key]) return false;
				idx++;
			}

			for(key in b) idx--;

			return idx === 0;
		}(content.locals, newContent.locals));

		if(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');

		update(newContent);
	});

	module.hot.dispose(function() { update(); });
}

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

exports = module.exports = __webpack_require__(3)(false);
// imports


// module
exports.push([module.i, "button {\n  position: relative;\n  display: block;\n  width: 100%;\n  margin-left: auto;\n  margin-right: auto;\n  padding-left: 14px;\n  padding-right: 14px;\n  box-sizing: border-box;\n  font-size: 18px;\n  text-align: center;\n  text-decoration: none;\n  line-height: 2.55555556;\n  border-radius: 5px;\n  -webkit-tap-highlight-color: transparent;\n  overflow: hidden;\n  color: #000000;\n  background-color: #F8F8F8; }\n\nbutton[plain] {\n  color: #353535;\n  border: 1px solid #353535;\n  background-color: transparent; }\n\nbutton[plain][disabled] {\n  color: rgba(0, 0, 0, 0.3);\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  background-color: #F7F7F7; }\n\nbutton[type=primary] {\n  color: #FFFFFF;\n  background-color: #1AAD19; }\n\nbutton[type=primary][plain] {\n  color: #1aad19;\n  border: 1px solid #1aad19;\n  background-color: transparent; }\n\nbutton[type=primary][plain][disabled] {\n  color: rgba(0, 0, 0, 0.3);\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  background-color: #F7F7F7; }\n", ""]);

// exports


/***/ }),
/* 24 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_omit_js__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_omit_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_omit_js__);
var _this = this;

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }





var Icon = function Icon(props) {
  _newArrowCheck(this, _this);

  var type = props.type,
      _props$className = props.className,
      className = _props$className === void 0 ? '' : _props$className,
      _props$size = props.size,
      size = _props$size === void 0 ? '23' : _props$size,
      color = props.color;
  if (type) type = type.replace(/_/g, '-');
  var cls = __WEBPACK_IMPORTED_MODULE_1_classnames___default()(_defineProperty({}, "weui-icon-".concat(type), true), className);
  var style = {
    'font-size': size + 'px',
    color: color
  };
  return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("i", _extends({}, __WEBPACK_IMPORTED_MODULE_2_omit_js___default()(props, ['type', 'className']), {
    className: cls,
    style: style
  }));
}.bind(this);

/* harmony default export */ __webpack_exports__["a"] = (Icon);

/***/ }),
/* 25 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_omit_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }





var Radio =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Radio, _Nerv$Component);

  function Radio() {
    _classCallCheck(this, Radio);

    return _possibleConstructorReturn(this, _getPrototypeOf(Radio).apply(this, arguments));
  }

  _createClass(Radio, [{
    key: "render",
    value: function render() {
      var _this$props = this.props,
          onChange = _this$props.onChange,
          className = _this$props.className,
          checked = _this$props.checked,
          name = _this$props.name,
          style = _this$props.style;
      var key = this.props.for;
      var cls = __WEBPACK_IMPORTED_MODULE_2_classnames___default()('weui-check', className);
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("span", {
        className: "weui-cells_checkbox",
        style: style
      }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("input", _extends({}, __WEBPACK_IMPORTED_MODULE_1_omit_js___default()(this.props, ['className', 'checked', 'onChange', 'name', 'id', 'type', 'style']), {
        id: key,
        type: "radio",
        name: name,
        className: cls,
        checked: checked,
        onChange: onChange
      })), className ? false : __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("i", {
        className: "weui-icon-checked"
      }), this.props.children);
    }
  }]);

  return Radio;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (Radio);

/***/ }),
/* 26 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_omit_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__index_scss__ = __webpack_require__(27);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__index_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__index_scss__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }






function getTrueType(type, confirmType, password) {
  if (!type) {
    throw new Error('unexpected type');
  }

  if (confirmType === 'search') type = 'search';
  if (password) type = 'password';
  if (type === 'number') type = 'number';
  return type;
}

var Input =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Input, _Nerv$Component);

  function Input() {
    var _this;

    _classCallCheck(this, Input);

    _this = _possibleConstructorReturn(this, _getPrototypeOf(Input).apply(this, arguments));
    _this.onInput = _this.onInput.bind(_assertThisInitialized(_assertThisInitialized(_this)));
    _this.onFocus = _this.onFocus.bind(_assertThisInitialized(_assertThisInitialized(_this)));
    _this.onBlur = _this.onBlur.bind(_assertThisInitialized(_assertThisInitialized(_this)));
    return _this;
  }

  _createClass(Input, [{
    key: "onInput",
    value: function onInput(e) {
      var _this$props = this.props,
          onInput = _this$props.onInput,
          _this$props$onChange = _this$props.onChange,
          onChange = _this$props$onChange === void 0 ? '' : _this$props$onChange;
      Object.defineProperty(e, 'detail', {
        enumerable: true,
        value: {
          value: e.target.value
        }
      });

      if (onChange) {
        onChange && onChange(e);
      } else {
        onInput && onInput(e);
      }
    }
  }, {
    key: "onFocus",
    value: function onFocus(e) {
      var onFocus = this.props.onFocus;
      Object.defineProperty(e, 'detail', {
        enumerable: true,
        value: {
          value: e.target.value
        }
      });
      onFocus && onFocus(e);
    }
  }, {
    key: "onBlur",
    value: function onBlur(e) {
      var onBlur = this.props.onBlur;
      Object.defineProperty(e, 'detail', {
        enumerable: true,
        value: {
          value: e.target.value
        }
      });
      onBlur && onBlur(e);
    }
  }, {
    key: "render",
    value: function render() {
      var _this$props2 = this.props,
          _this$props2$classNam = _this$props2.className,
          className = _this$props2$classNam === void 0 ? '' : _this$props2$classNam,
          placeholder = _this$props2.placeholder,
          _this$props2$type = _this$props2.type,
          type = _this$props2$type === void 0 ? 'text' : _this$props2$type,
          password = _this$props2.password,
          disabled = _this$props2.disabled,
          maxLength = _this$props2.maxLength,
          _this$props2$confirmT = _this$props2.confirmType,
          confirmType = _this$props2$confirmT === void 0 ? '' : _this$props2$confirmT;
      var cls = __WEBPACK_IMPORTED_MODULE_2_classnames___default()('weui-input', className);
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("input", _extends({}, __WEBPACK_IMPORTED_MODULE_1_omit_js___default()(this.props, ['className', 'placeholder', 'disabled', 'max', 'onChange', 'onFocus', 'onBlur', 'type']), {
        className: cls,
        placeholder: placeholder,
        disabled: disabled,
        max: maxLength,
        onChange: this.onInput,
        onInput: this.onInput,
        onFocus: this.onFocus,
        onBlur: this.onBlur,
        type: getTrueType(type, confirmType, password)
      }));
    }
  }]);

  return Input;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (Input);

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


var content = __webpack_require__(28);

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"insertAt":"top","hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__(4)(content, options);

if(content.locals) module.exports = content.locals;

if(false) {
	module.hot.accept("!!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/sass-loader/lib/loader.js!./index.scss", function() {
		var newContent = require("!!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/sass-loader/lib/loader.js!./index.scss");

		if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];

		var locals = (function(a, b) {
			var key, idx = 0;

			for(key in a) {
				if(!b || a[key] !== b[key]) return false;
				idx++;
			}

			for(key in b) idx--;

			return idx === 0;
		}(content.locals, newContent.locals));

		if(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');

		update(newContent);
	});

	module.hot.dispose(function() { update(); });
}

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

exports = module.exports = __webpack_require__(3)(false);
// imports


// module
exports.push([module.i, "input {\n  display: block;\n  height: 1.4rem;\n  text-overflow: clip;\n  overflow: hidden;\n  white-space: nowrap; }\n", ""]);

// exports


/***/ }),
/* 29 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_omit_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__style_index_scss__ = __webpack_require__(30);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__style_index_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__style_index_scss__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }






function easeOutScroll(from, to, callback) {
  if (from === to || typeof from !== 'number') {
    return;
  }

  var change = to - from;
  var dur = 500;
  var sTime = +new Date();

  function linear(t, b, c, d) {
    return c * t / d + b;
  }

  function step() {
    from = linear(+new Date() - sTime, from, change, dur);

    if (from >= to) {
      callback(to, true);
      return;
    }

    callback(from, false);
    requestAnimationFrame(step);
  }

  step();
}

function throttle(fn, delay) {
  var timer = null;
  return function () {
    clearTimeout(timer);
    timer = setTimeout(function () {
      fn();
    }, delay);
  };
}

var ScrollView =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(ScrollView, _Nerv$Component);

  function ScrollView() {
    _classCallCheck(this, ScrollView);

    return _possibleConstructorReturn(this, _getPrototypeOf(ScrollView).apply(this, arguments));
  }

  _createClass(ScrollView, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      var _this = this;

      setTimeout(function () {
        var _this2 = this;

        _newArrowCheck(this, _this);

        var props = this.props;

        if (props.scrollY && props.scrollTop) {
          if ('scrollWithAnimation' in props) {
            easeOutScroll(0, props.scrollTop, function (pos) {
              _newArrowCheck(this, _this2);

              this.container.scrollTop = pos;
            }.bind(this));
          } else {
            this.container.scrollTop = props.scrollTop;
          }
        }

        if (props.scrollX && props.scrollLeft) {
          if ('scrollWithAnimation' in props) {
            easeOutScroll(0, props.scrollLeft, function (pos) {
              _newArrowCheck(this, _this2);

              this.container.scrollLeft = pos;
            }.bind(this));
          } else {
            this.container.scrollLeft = props.scrollLeft;
          }
        }
      }.bind(this), 10);
    }
  }, {
    key: "componentWillReceiveProps",
    value: function componentWillReceiveProps(nextProps) {
      var _this3 = this;

      setTimeout(function () {
        var _this4 = this;

        _newArrowCheck(this, _this3);

        var props = nextProps;

        if (props.scrollY && props.scrollTop && this.props.scrollTop !== props.scrollTop) {
          if ('scrollWithAnimation' in props) {
            easeOutScroll(0, props.scrollTop, function (pos) {
              _newArrowCheck(this, _this4);

              this.container.scrollTop = pos;
            }.bind(this));
          } else {
            this.container.scrollTop = props.scrollTop;
          }
        }

        if (props.scrollX && props.scrollLeft && this.props.scrollLeft !== props.scrollLeft) {
          if ('scrollWithAnimation' in props) {
            easeOutScroll(0, props.scrollLeft, function (pos) {
              _newArrowCheck(this, _this4);

              this.container.scrollLeft = pos;
            }.bind(this));
          } else {
            this.container.scrollLeft = props.scrollLeft;
          }
        }
      }.bind(this), 10);
    }
  }, {
    key: "render",
    value: function render() {
      var _classNames,
          _this5 = this;

      var _this$props = this.props,
          className = _this$props.className,
          onScroll = _this$props.onScroll,
          onScrollToUpper = _this$props.onScrollToUpper,
          onScrollToLower = _this$props.onScrollToLower,
          scrollX = _this$props.scrollX,
          scrollY = _this$props.scrollY,
          _this$props$upperThre = _this$props.upperThreshold,
          upperThreshold = _this$props$upperThre === void 0 ? 0 : _this$props$upperThre,
          _this$props$lowerThre = _this$props.lowerThreshold,
          lowerThreshold = _this$props$lowerThre === void 0 ? 0 : _this$props$lowerThre;
      var cls = __WEBPACK_IMPORTED_MODULE_2_classnames___default()('taro-scroll', (_classNames = {}, _defineProperty(_classNames, "taro-scroll-view__scroll-x", scrollX), _defineProperty(_classNames, "taro-scroll-view__scroll-y", scrollY), _classNames), className);

      var uperAndLower = function uperAndLower() {
        _newArrowCheck(this, _this5);

        var _this$container = this.container,
            offsetWidth = _this$container.offsetWidth,
            offsetHeight = _this$container.offsetHeight,
            scrollLeft = _this$container.scrollLeft,
            scrollTop = _this$container.scrollTop,
            scrollHeight = _this$container.scrollHeight,
            scrollWidth = _this$container.scrollWidth;

        if (onScrollToLower && (this.props.scrollY && offsetHeight + scrollTop + lowerThreshold >= scrollHeight || this.props.scrollX && offsetWidth + scrollLeft + lowerThreshold >= scrollWidth)) {
          onScrollToLower();
        }

        if (onScrollToUpper && (this.props.scrollY && scrollTop <= upperThreshold || this.props.scrollX && scrollLeft <= upperThreshold)) {
          onScrollToUpper();
        }
      }.bind(this);

      var uperAndLowerThrottle = throttle(uperAndLower, 200);

      var _onScroll = function _onScroll(e) {
        _newArrowCheck(this, _this5);

        var _this$container2 = this.container,
            scrollLeft = _this$container2.scrollLeft,
            scrollTop = _this$container2.scrollTop,
            scrollHeight = _this$container2.scrollHeight,
            scrollWidth = _this$container2.scrollWidth;
        e.detail = {
          scrollLeft: scrollLeft,
          scrollTop: scrollTop,
          scrollHeight: scrollHeight,
          scrollWidth: scrollWidth
        };
        uperAndLowerThrottle();
        onScroll && onScroll(e);
      }.bind(this);

      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", _extends({
        ref: function (container) {
          _newArrowCheck(this, _this5);

          this.container = container;
        }.bind(this)
      }, __WEBPACK_IMPORTED_MODULE_1_omit_js___default()(this.props, ['className']), {
        className: cls,
        onScroll: _onScroll
      }), this.props.children);
    }
  }]);

  return ScrollView;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (ScrollView);

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


var content = __webpack_require__(31);

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"insertAt":"top","hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__(4)(content, options);

if(content.locals) module.exports = content.locals;

if(false) {
	module.hot.accept("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss", function() {
		var newContent = require("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss");

		if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];

		var locals = (function(a, b) {
			var key, idx = 0;

			for(key in a) {
				if(!b || a[key] !== b[key]) return false;
				idx++;
			}

			for(key in b) idx--;

			return idx === 0;
		}(content.locals, newContent.locals));

		if(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');

		update(newContent);
	});

	module.hot.dispose(function() { update(); });
}

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

exports = module.exports = __webpack_require__(3)(false);
// imports


// module
exports.push([module.i, ".taro-scroll {\n  -webkit-overflow-scrolling: touch; }\n\n.taro-scroll-view {\n  overflow: hidden; }\n  .taro-scroll-view__scroll-x {\n    overflow-x: scroll;\n    overflow-y: hidden; }\n  .taro-scroll-view__scroll-y {\n    overflow-x: hidden;\n    overflow-y: scroll; }\n", ""]);

// exports


/***/ }),
/* 32 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return SwiperItem; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Swiper; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__style_swiper_scss__ = __webpack_require__(33);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__style_swiper_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__style_swiper_scss__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_parse_type__ = __webpack_require__(6);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }





/**
 * props 类型检测
 *
 * @param {Object} props
 */

function parseType(props) {
  var _this = this;

  var current = props.current; // 抛出错误信息

  var throwErrorMsg = function throwErrorMsg(type) {
    _newArrowCheck(this, _this);

    throw new TypeError(type + ' must be number');
  }.bind(this);

  if (current) __WEBPACK_IMPORTED_MODULE_3__utils_parse_type__["a" /* default */].isNumber(current) ? '' : throwErrorMsg('current');
}

var Swiper =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Swiper, _Nerv$Component);

  function Swiper(props) {
    var _this2;

    _classCallCheck(this, Swiper);

    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(Swiper).call(this, props));
    parseType(_this2.props);
    _this2.state = {
      currentIndex: parseInt(_this2.props.current),
      containerWidth: 0,
      containerHeight: 0,
      // touch
      touching: false,
      og: 0,
      ogTranslate: 0,
      touchId: undefined,
      translate: 0,
      animating: false
    };
    _this2.SwiperTimer = null;
    _this2.handleTouchStart = _this2.handleTouchStart.bind(_assertThisInitialized(_assertThisInitialized(_this2)));
    _this2.handleTouchMove = _this2.handleTouchMove.bind(_assertThisInitialized(_assertThisInitialized(_this2)));
    _this2.handleTouchEnd = _this2.handleTouchEnd.bind(_assertThisInitialized(_assertThisInitialized(_this2)));
    _this2.pauseAutoPlay = _this2.pauseAutoPlay.bind(_assertThisInitialized(_assertThisInitialized(_this2)));
    _this2.autoplay = _this2.autoplay.bind(_assertThisInitialized(_assertThisInitialized(_this2)));
    _this2.computedChangeContainer = _this2.computedChangeContainer.bind(_assertThisInitialized(_assertThisInitialized(_this2)));
    _this2.updateContainerBox = _this2.updateContainerBox.bind(_assertThisInitialized(_assertThisInitialized(_this2)));
    return _this2;
  }

  _createClass(Swiper, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      this.updateContainerBox(this.props.children);
      if (this.props.autoplay) this.autoplay(this.props.interval);
    }
  }, {
    key: "componentWillReceiveProps",
    value: function componentWillReceiveProps(nextProps) {
      this.updateContainerBox(nextProps.children);
      var interval = nextProps.interval,
          autoplay = nextProps.autoplay,
          circular = nextProps.circular;
      this.pauseAutoPlay(); // this.updateCurrentIndex(current)

      if (!circular) {
        this.computedChangeContainer();
      }

      if (!autoplay) return;
      this.autoplay(interval);
    }
  }, {
    key: "componentWillUnmount",
    value: function componentWillUnmount() {
      this.pauseAutoPlay();
    } // 在开关衔接滑动的时候,计算当前下标

  }, {
    key: "computedChangeContainer",
    value: function computedChangeContainer() {
      if (this.props.children.length - 1 === this.state.currentIndex) {
        this.pauseAutoPlay();
        return true;
      }

      return false;
    } // 更新容器的宽高

  }, {
    key: "updateContainerBox",
    value: function updateContainerBox(children) {
      var $container = __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.findDOMNode(this.SwiperWp);
      var childLen = children.length || 1;
      var currentIndex = this.state.currentIndex; // 默认偏移量

      var offsetVal = this.props.vertical ? -$container.offsetHeight * (currentIndex + 1) : -$container.offsetWidth * (currentIndex + 1);
      childLen = childLen + 2;
      this.setState({
        containerWidth: $container.offsetWidth,
        // 外层容器宽
        containerHeight: $container.offsetHeight,
        // 外层容器高
        wrapperWidth: !this.props.vertical // 轮播容器 是否纵向滑动,不是的话计算总宽度
        ? $container.offsetWidth * childLen : $container.offsetWidth,
        wrapperHeight: this.props.vertical // 轮播容器 是否纵向滑动,是的话计算总高度
        ? $container.offsetHeight * childLen : $container.offsetHeight,
        // 计算指定下标位置
        translate: offsetVal
      });
    } // 更新下标

  }, {
    key: "updateCurrentIndex",
    value: function updateCurrentIndex(currentIndex) {
      var _this3 = this;

      var cur = currentIndex === this.props.children.length - 1 ? 0 : currentIndex;
      var tr = this.state.translate;
      var slideVal; // 纵向还是横向滚动长度

      if (!this.props.vertical) {
        slideVal = this.state.containerWidth * Math.abs(currentIndex - this.state.currentIndex);
      } else {
        slideVal = this.state.containerHeight * Math.abs(currentIndex - this.state.currentIndex);
      }

      this.setState({
        animating: true,
        translate: tr - slideVal,
        currentIndex: cur
      }, function () {
        var _this4 = this;

        _newArrowCheck(this, _this3);

        setTimeout(function () {
          _newArrowCheck(this, _this4);

          this.computedTranslate();
        }.bind(this), this.props.duration);
      }.bind(this));
    } // 判断当前是否在最后一页

  }, {
    key: "isLastIndex",
    value: function isLastIndex() {
      return this.state.currentIndex === this.props.children.length - 1;
    } // 判断当前是否在第一页

  }, {
    key: "isFirstIndex",
    value: function isFirstIndex() {
      return this.state.currentIndex === 0;
    }
  }, {
    key: "handleTouchStart",
    value: function handleTouchStart(e) {
      if (this.state.animating) return;
      if (this.state.touching || this.props.children.length <= 1) return;
      if (this.props.autoplay) this.pauseAutoPlay();
      var og = 0;

      if (!this.props.vertical) {
        og = e.targetTouches[0].pageX - this.state.translate;
      } else {
        og = e.targetTouches[0].pageY - this.state.translate;
      }

      this.touchStartX = e.touches[0].pageX;
      this.touchStartY = e.touches[0].pageY;
      this.setState({
        touching: true,
        ogTranslate: this.state.translate,
        touchId: e.targetTouches[0].identifier,
        og: og,
        animating: false
      });
    }
  }, {
    key: "handleTouchMove",
    value: function handleTouchMove(e) {
      // 非衔接滑动的时候 判断首尾页的时候禁止拖动
      if (!this.props.circular) {
        // 计算偏移量、 判断左滑右滑动
        var touchEndX = e.touches[0].pageX;
        var touchEndY = e.touches[0].pageY;
        var offsetMoveX = touchEndX - this.touchStartX;
        var offsetMoveY = touchEndY - this.touchStartY;

        if (this.isFirstIndex()) {
          if (this.props.vertical && offsetMoveY > 0 || !this.props.vertical && offsetMoveX > 0) {
            return;
          }
        }

        if (this.isLastIndex()) {
          if (this.props.vertical && offsetMoveY < 0 || !this.props.vertical && offsetMoveX < 0) {
            return;
          }
        }
      }

      if (!this.state.touching || this.props.children.length <= 1) return;
      if (e.targetTouches[0].identifier !== this.state.touchId) return;
      e.preventDefault();
      var diff = this.state.translate;

      if (!this.props.vertical) {
        var pageX = e.targetTouches[0].pageX;
        diff = pageX - this.state.og;
      } else {
        // vertical
        var pageY = e.targetTouches[0].pageY;
        diff = pageY - this.state.og;
      }

      this.setState({
        translate: diff
      });
    }
  }, {
    key: "handleTouchEnd",
    value: function handleTouchEnd(e) {
      var _this5 = this;

      if (!this.state.touching || this.props.children.length <= 1) return;
      var translate = this.state.translate;
      var max = !this.props.vertical ? this.state.wrapperWidth - this.state.containerWidth : this.state.wrapperHeight - this.state.containerHeight;
      var currentIndex = this.state.currentIndex;
      var ogIndex = currentIndex;

      if (translate > 0) {
        // start
        translate = 0;
      } else if (translate < -max) {
        translate = -max;
      } else {
        // default case
        var changeV = this.isChangeSlide(translate, currentIndex);
        translate = changeV.translate;
        currentIndex = changeV.currentIndex;
      }

      this.setState({
        touching: false,
        og: 0,
        touchId: undefined,
        ogTranslate: 0,
        animating: true,
        translate: translate,
        currentIndex: currentIndex
      }, function () {
        var _this6 = this;

        _newArrowCheck(this, _this5);

        return setTimeout(function () {
          _newArrowCheck(this, _this6);

          this.computedTranslate();
        }.bind(this), this.props.duration);
      }.bind(this));

      if (this.props.onChange) {
        Object.defineProperty(e, 'detail', {
          enumerable: true,
          value: {
            current: currentIndex,
            source: 'touch'
          }
        });
        this.props.onChange(e);
      }

      if (this.props.autoplay) this.pauseAutoPlay();
    }
  }, {
    key: "computedTranslate",
    value: function computedTranslate() {
      // if (this.props.circular) {
      var prvTranslate = this.state.translate; // 横纵向

      if (!this.props.vertical) {
        if (prvTranslate === 0) {
          prvTranslate = -(this.state.wrapperWidth - this.state.containerWidth * 2);
        } // 减一个宽度是因为最后的静默回滚到最前面 滑块本身还有一个 translate位移量


        if (prvTranslate === -(this.state.wrapperWidth - this.state.containerWidth)) {
          prvTranslate = -this.state.containerWidth;
        }
      } else {
        if (prvTranslate === 0) {
          prvTranslate = -(this.state.wrapperHeight - this.state.containerHeight * 2);
        } // 减一个宽度是因为最后的静默回滚到最前面 滑块本身还有一个 translate位移量


        if (prvTranslate === -(this.state.wrapperHeight - this.state.containerHeight)) {
          prvTranslate = -this.state.containerHeight;
        }
      }

      this.setState({
        animating: false,
        translate: prvTranslate
      }); // } else {
      //   this.setState({animating: false})
      // }
    } // 自增下标点计算

  }, {
    key: "addCurrentIndex",
    value: function addCurrentIndex(currentIndex) {
      return currentIndex === this.props.children.length - 1 ? 0 : currentIndex += 1;
    }
  }, {
    key: "autoplay",
    value: function autoplay(interval) {
      var _this7 = this;

      this.SwiperTimer = setInterval(function () {
        _newArrowCheck(this, _this7);

        this.slideNext();
      }.bind(this), interval);
    }
  }, {
    key: "pauseAutoPlay",
    value: function pauseAutoPlay() {
      clearInterval(this.SwiperTimer);
    }
  }, {
    key: "slideNext",
    value: function slideNext() {
      var _this8 = this;

      if (!this.props.circular) {
        if (this.computedChangeContainer()) {
          return;
        }
      }

      var cur = this.addCurrentIndex(this.state.currentIndex);
      var tr = this.state.translate;
      var slideVal; // 纵向还是横向滚动长度

      if (!this.props.vertical) {
        slideVal = this.state.containerWidth;
      } else {
        slideVal = this.state.containerHeight;
      }

      this.setState({
        animating: true,
        translate: tr - slideVal,
        currentIndex: cur
      }, function () {
        var _this9 = this;

        _newArrowCheck(this, _this8);

        setTimeout(function () {
          _newArrowCheck(this, _this9);

          this.computedTranslate();
        }.bind(this), this.props.duration);
      }.bind(this));

      if (this.props.onChange) {
        var e = new TouchEvent('touchend');
        Object.defineProperty(e, 'detail', {
          enumerable: true,
          value: {
            current: cur,
            source: 'autoplay'
          }
        });
        this.props.onChange(e);
      }
    }
  }, {
    key: "isChangeSlide",
    value: function isChangeSlide(translate, currentIndex) {
      // 判读滑动到大于一半才过去
      var threshold = !this.props.vertical ? this.state.containerWidth / 2 : this.state.containerHeight / 2;
      var diff = Math.abs(translate - this.state.ogTranslate);
      var isNext = translate - this.state.ogTranslate < 0;

      if (diff > threshold) {
        if (isNext) {
          // next slide
          translate = this.state.ogTranslate - (!this.props.vertical ? this.state.containerWidth : this.state.containerHeight);
          currentIndex = this.addCurrentIndex(currentIndex);
        } else {
          // prev slide
          translate = this.state.ogTranslate + (!this.props.vertical ? this.state.containerWidth : this.state.containerHeight);
          currentIndex = currentIndex === 0 ? currentIndex = this.props.children.length - 1 : currentIndex -= 1;
        }
      } else {
        // revert back
        translate = this.state.ogTranslate;
      }

      return {
        translate: translate,
        currentIndex: currentIndex
      };
    }
  }, {
    key: "renderPagination",
    value: function renderPagination(indicatorColor, indicatorActiveColor) {
      var _this10 = this;

      if (Array.isArray(this.props.children)) {
        var childs = this.props.children.map(function (child, i) {
          _newArrowCheck(this, _this10);

          var clx = __WEBPACK_IMPORTED_MODULE_1_classnames___default()('swiper__pagination-bullet', {
            active: i === this.state.currentIndex
          });
          var indiStyle = {
            background: i === this.state.currentIndex ? indicatorActiveColor : indicatorColor
          };
          return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("span", {
            className: clx,
            key: i,
            style: indiStyle
          });
        }.bind(this));
        return childs;
      } else {
        var indiStyle = {
          background: indicatorActiveColor
        };
        return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("span", {
          className: 'swiper__pagination-bullet active',
          key: "1",
          style: indiStyle
        });
      }
    }
  }, {
    key: "render",
    value: function render() {
      var _this11 = this;

      var _this$props = this.props,
          className = _this$props.className,
          indicatorDots = _this$props.indicatorDots,
          vertical = _this$props.vertical,
          children = _this$props.children,
          circular = _this$props.circular,
          duration = _this$props.duration;
      var cls = __WEBPACK_IMPORTED_MODULE_1_classnames___default()('swiper__container', className, {
        'swiper__container-vertical': vertical,
        'swiper__container-horizontal': !vertical
      });
      var items = [].concat(children); // 衔接滑动增加首尾
      // if (circular) {

      if (items.length !== 0) {
        var firstItem = items[0];
        var lastItem = items[items.length - 1];
        items.push(firstItem);
        items.unshift(lastItem);
      } // }


      var wrapperStyle = {
        width: this.state.wrapperWidth,
        height: this.state.wrapperHeight,
        transition: this.state.animating ? "transform ".concat(duration, "ms ease-in-out") : 'none',
        transform: "translate(".concat(!vertical ? this.state.translate : 0, "px, ").concat(vertical ? this.state.translate : 0, "px)")
      };
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: cls,
        ref: function (SwiperWp) {
          _newArrowCheck(this, _this11);

          this.SwiperWp = SwiperWp;
        }.bind(this),
        onTouchStart: this.handleTouchStart,
        onTouchMove: this.handleTouchMove,
        onTouchEnd: this.handleTouchEnd
      }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "swiper__wrapper",
        style: wrapperStyle
      }, items.map(function (child, i) {
        _newArrowCheck(this, _this11);

        var c = child.props.children; // 没有子元素直接返回

        if (c.length === 0) return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
          className: "swiper__item"
        });
        var cls = __WEBPACK_IMPORTED_MODULE_1_classnames___default()('swiper__item', c.props.className); // 样式继承追加。 有可能 Object 或者是 String

        var sty;

        if (typeof c.props.style === 'string') {
          var display = !vertical ? ';display: inline-block;' : ';display: block;';
          var verticalAlign = !vertical ? ';vertical-align: top;' : ';vertical-align:bottom;';
          var w = ";width: ".concat(this.state.containerWidth, "px;");
          var h = ";height: ".concat(this.state.containerHeight, "px;");
          sty = c.props.style + verticalAlign + display + w + h;
        } else {
          sty = Object.assign({}, c.props.style, {
            display: !vertical ? 'inline-block' : 'block',
            verticalAlign: !vertical ? 'top' : 'bottom',
            width: this.state.containerWidth,
            height: this.state.containerHeight
          });
        }

        if (circular) i = i - 1;
        return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.cloneElement(c, {
          key: i,
          className: cls,
          style: sty,
          onClick: child.props.onClick
        });
      }.bind(this))), indicatorDots ? __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "swiper__pagination"
      }, this.renderPagination(this.props.indicatorColor, this.props.indicatorActiveColor)) : false);
    }
  }]);

  return Swiper;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component); // 默认配置


Swiper.defaultProps = {
  indicatorDots: false,
  // 是否显示面板指示点
  indicatorColor: 'rgba(0, 0, 0, .3)',
  // 指示点颜色
  indicatorActiveColor: '#000000',
  // 当前选中的指示点颜色
  autoplay: false,
  // 自动播放
  current: 0,
  // 当前滑块位置
  interval: 5000,
  // 切换时间间隔
  duration: 500,
  // 滑动动画时长
  circular: false,
  // 是否采用衔接滑动
  vertical: false // 滑动方向是否为纵向

};

var SwiperItem =
/*#__PURE__*/
function (_Nerv$Component2) {
  _inherits(SwiperItem, _Nerv$Component2);

  function SwiperItem(props) {
    _classCallCheck(this, SwiperItem);

    return _possibleConstructorReturn(this, _getPrototypeOf(SwiperItem).call(this, props));
  }

  _createClass(SwiperItem, [{
    key: "render",
    value: function render() {
      return '';
    }
  }]);

  return SwiperItem;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);



/***/ }),
/* 33 */
/***/ (function(module, exports, __webpack_require__) {


var content = __webpack_require__(34);

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"insertAt":"top","hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__(4)(content, options);

if(content.locals) module.exports = content.locals;

if(false) {
	module.hot.accept("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./swiper.scss", function() {
		var newContent = require("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./swiper.scss");

		if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];

		var locals = (function(a, b) {
			var key, idx = 0;

			for(key in a) {
				if(!b || a[key] !== b[key]) return false;
				idx++;
			}

			for(key in b) idx--;

			return idx === 0;
		}(content.locals, newContent.locals));

		if(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');

		update(newContent);
	});

	module.hot.dispose(function() { update(); });
}

/***/ }),
/* 34 */
/***/ (function(module, exports, __webpack_require__) {

exports = module.exports = __webpack_require__(3)(false);
// imports


// module
exports.push([module.i, ".swiper__container {\n  position: relative;\n  overflow: hidden;\n  height: 150px;\n  width: 100%; }\n\n.swiper__wrapper {\n  position: relative;\n  overflow: hidden;\n  height: 150px; }\n\n.swiper__item {\n  height: 100%;\n  width: 100%; }\n\n.swiper__pagination {\n  position: absolute;\n  text-align: center;\n  transition: all 0.3s;\n  z-index: 10; }\n  .swiper__pagination-bullet {\n    border-radius: 100%;\n    background: rgba(0, 0, 0, 0.3);\n    width: 8px;\n    height: 8px;\n    display: inline-block; }\n  .swiper__pagination-bullet.active {\n    background: #000000; }\n\n.swiper__container-horizontal .swiper__pagination {\n  bottom: 10px;\n  width: 100%; }\n  .swiper__container-horizontal .swiper__pagination .swiper__pagination-bullet {\n    margin: 0 2.5px; }\n\n.swiper__container-vertical .swiper__pagination {\n  right: 10px;\n  top: 50%;\n  transform: translate3d(0, -50%, 0); }\n  .swiper__container-vertical .swiper__pagination .swiper__pagination-bullet {\n    margin: 4px 0;\n    display: block; }\n", ""]);

// exports


/***/ }),
/* 35 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_omit_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__style_index_scss__ = __webpack_require__(36);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__style_index_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__style_index_scss__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }






var Checkbox =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Checkbox, _Nerv$Component);

  function Checkbox() {
    _classCallCheck(this, Checkbox);

    return _possibleConstructorReturn(this, _getPrototypeOf(Checkbox).apply(this, arguments));
  }

  _createClass(Checkbox, [{
    key: "render",
    value: function render() {
      var _this$props = this.props,
          onChange = _this$props.onChange,
          className = _this$props.className,
          checked = _this$props.checked,
          name = _this$props.name,
          color = _this$props.color;
      var key = this.props.for;
      var cls = __WEBPACK_IMPORTED_MODULE_2_classnames___default()('taro-checkbox_checked ', className);
      var style = {
        color: color
      };
      var sty = this.props.style;
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("span", {
        className: "weui-cells_checkbox",
        style: sty
      }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("input", _extends({}, __WEBPACK_IMPORTED_MODULE_1_omit_js___default()(this.props, ['className', 'checked', 'onChange', 'name', 'type', 'id', 'style']), {
        id: key,
        type: "checkbox",
        name: name,
        className: cls,
        checked: checked,
        onChange: onChange,
        style: style
      })), this.props.children);
    }
  }]);

  return Checkbox;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (Checkbox);

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


var content = __webpack_require__(37);

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"insertAt":"top","hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__(4)(content, options);

if(content.locals) module.exports = content.locals;

if(false) {
	module.hot.accept("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss", function() {
		var newContent = require("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss");

		if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];

		var locals = (function(a, b) {
			var key, idx = 0;

			for(key in a) {
				if(!b || a[key] !== b[key]) return false;
				idx++;
			}

			for(key in b) idx--;

			return idx === 0;
		}(content.locals, newContent.locals));

		if(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');

		update(newContent);
	});

	module.hot.dispose(function() { update(); });
}

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

exports = module.exports = __webpack_require__(3)(false);
// imports


// module
exports.push([module.i, ".taro-checkbox {\n  position: relative;\n  display: inline-block; }\n  .taro-checkbox_checked {\n    display: inline-block;\n    min-height: 0;\n    -webkit-appearance: none;\n    appearance: none;\n    outline: 0;\n    font-size: 23px;\n    border: 1px solid #d1d1d1;\n    background-color: #ffffff;\n    border-radius: 3px;\n    color: #1AAD19;\n    width: 23px;\n    height: 23px;\n    position: relative;\n    vertical-align: 0;\n    top: 5px; }\n    .taro-checkbox_checked:checked::before {\n      font-family: \"weui\";\n      font-style: normal;\n      font-weight: normal;\n      font-variant: normal;\n      text-transform: none;\n      text-align: center;\n      speak: none;\n      display: inline-block;\n      vertical-align: middle;\n      text-decoration: inherit;\n      content: \"\\EA08\";\n      color: inherit;\n      font-size: inherit;\n      position: absolute;\n      top: 50%;\n      left: 50%;\n      transform: translate(-50%, -48%) scale(0.73); }\n", ""]);

// exports


/***/ }),
/* 38 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Picker; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__picker_group__ = __webpack_require__(39);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__constant__ = __webpack_require__(7);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__date__ = __webpack_require__(40);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__date___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__date__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }

function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }

function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }

function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

/**
 * @author chenjiajian
 * @property {Array} range mode为 selector 或 multiSelector 时,range 有效
 * @property {String} rangeKey 当 range 是一个 Object Array 时,通过 rangeKey 来指定 Object 中 key 的值作为选择器显示内容
 * @property {Number} value value 的值表示选择了 range 中的第几个(下标从 0 开始)
 * @property {EventHandle} onChange value 改变时触发 change 事件,event.detail = {value: value}
 * @property {Boolean} disabled 是否禁用
 * @property {EventHandle} onCancel 取消选择或点遮罩层收起 picker 时触发
 */




 // todos:
// 1. 加入滚动惯性
// 2. shouldComponentUpdate
// 3. 多指操控。。。
// 4. timePicker 样式问题:不在指定时间范围时,选项样式置灰。缩窄两列间宽度。

var Picker =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Picker, _Nerv$Component);

  function Picker(props) {
    var _this2 = this;

    var _this;

    _classCallCheck(this, Picker);

    _this = _possibleConstructorReturn(this, _getPrototypeOf(Picker).call(this, props));
    var _this$props = _this.props,
        value = _this$props.value,
        range = _this$props.range,
        mode = _this$props.mode;
    _this.index = [];

    if (mode === 'multiSelector') {
      if (!range) {
        range = [];
        _this.props.range = [];
      }

      range.forEach(function (r, i) {
        _newArrowCheck(this, _this2);

        var v = value && value.length ? value[i] : undefined;

        _this.index.push(_this.verifyValue(v, r) ? Math.floor(value[i]) : 0);
      }.bind(this));
    } else if (mode === 'time') {
      // check value...
      if (!_this.verifyTime(value)) {
        console.warn('time picker value illegal');
        value = '0:0';
      }

      var time = value.split(':').map(function (n) {
        _newArrowCheck(this, _this2);

        return +n;
      }.bind(this));
      _this.index = time;
    } else if (mode === 'date') {
      var _this$props2 = _this.props,
          _this$props2$start = _this$props2.start,
          start = _this$props2$start === void 0 ? '' : _this$props2$start,
          _this$props2$end = _this$props2.end,
          end = _this$props2$end === void 0 ? '' : _this$props2$end;

      var _value = __WEBPACK_IMPORTED_MODULE_4__date___default.a.verifyDate(value);

      var _start = __WEBPACK_IMPORTED_MODULE_4__date___default.a.verifyDate(start);

      var _end = __WEBPACK_IMPORTED_MODULE_4__date___default.a.verifyDate(end);

      if (!_value) _value = new Date(); // 没传值或值的合法性错误默认今天时间

      if (!_start) _start = new Date('1970/01/01');
      if (!_end) _end = new Date('2999/01/01'); // 时间区间有效性

      if (_value.getTime() >= _start.getTime() && _value.getTime() <= _end.getTime()) {
        _this.index = [_value.getFullYear(), _value.getMonth() + 1, _value.getDate()];
        var maxDay = __WEBPACK_IMPORTED_MODULE_4__date___default.a.getMaxDay(_value.getFullYear(), _value.getMonth() + 1);
        _this.pickerDate = {
          _value: _value,
          _start: _start,
          _end: _end,
          _updateValue: [_value.getFullYear(), _value.getMonth() + 1, _value.getDate()]
        };

        _this.setState({
          dateMaxDay: _this.getDateRange(1, maxDay, '日')
        });
      } else {
        throw new Error('Date Interval Error');
      } // this.index = dateHandle.

    } else {
      if (!range) {
        range = [];
        _this.props.range = [];
      }

      _this.index.push(_this.verifyValue(value, range) ? Math.floor(value) : 0);
    }

    _this.state = {
      pickerValue: _this.index,
      hidden: true,
      fadeOut: false,
      height: []
    };
    return _this;
  }

  _createClass(Picker, [{
    key: "shouldComponentUpdate",
    value: function shouldComponentUpdate(nextProps, nextState) {} // console.log(nextProps, nextState)
    // todo...
    // 校验传入的 value 是否合法

  }, {
    key: "verifyValue",
    value: function verifyValue(value, range) {
      if (!isNaN(+value) && value >= 0 && value < range.length) return true;
      return false;
    } // 检验传入的 time value 是否合法

  }, {
    key: "verifyTime",
    value: function verifyTime(value) {
      var _this3 = this;

      if (!/^\d{1,2}:\d{1,2}$/.test(value)) return false;
      var time = value.split(':').map(function (num) {
        _newArrowCheck(this, _this3);

        return +num;
      }.bind(this));
      if (time[0] < 0 || time[0] > 23) return false;
      if (time[1] < 0 || time[1] > 59) return false;
      return true;
    } // 比较时间

  }, {
    key: "compareTime",
    value: function compareTime(t1, t2) {
      var _this4 = this;

      // logic: t1 <= t2: return true
      t1 = t1.split(':').map(function (i) {
        _newArrowCheck(this, _this4);

        return +i;
      }.bind(this));
      t2 = t2.split(':').map(function (i) {
        _newArrowCheck(this, _this4);

        return +i;
      }.bind(this));
      if (t1[0] < t2[0]) return true;

      if (t1[0] === t2[0]) {
        if (t1[1] <= t2[1]) return true;
      }

      return false;
    } // 获取年月日下标或者下标对应的数

  }, {
    key: "getDateArrIndex",
    value: function getDateArrIndex(value, fields) {
      var getIdx = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
      var year = this.getDateRange(this.pickerDate._start.getFullYear(), this.pickerDate._end.getFullYear());
      var month = this.getDateRange(1, 12);
      var day = this.getDateRange(1, 31);

      if (getIdx) {
        if (fields === 0) {
          return year[value];
        } else if (fields === 1) {
          return month[value];
        } else {
          return day[value];
        }
      } else {
        if (fields === 0) {
          return year.indexOf(value + '');
        } else if (fields === 1) {
          return month.indexOf(value + '');
        } else {
          return day.indexOf(value + '');
        }
      }
    } // 获取时间数组

  }, {
    key: "getDateRange",
    value: function getDateRange(begin, end) {
      var fields = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
      var range = [];

      for (var i = begin; i <= end; i++) {
        range.push("".concat(i).concat(fields));
      }

      return range;
    } // 隐藏 picker

  }, {
    key: "hidePicker",
    value: function hidePicker() {
      var _this5 = this;

      this.setState({
        fadeOut: true
      });
      setTimeout(function () {
        _newArrowCheck(this, _this5);

        return this.setState({
          hidden: true,
          fadeOut: false
        });
      }.bind(this), 350);
    }
  }, {
    key: "render",
    value: function render() {
      var _this6 = this;

      // 展示 Picker
      var showPicker = function showPicker() {
        var _this7 = this;

        _newArrowCheck(this, _this6);

        if (this.props.disabled) return;
        var height = this.index.map(function (i, idx) {
          _newArrowCheck(this, _this7);

          var factor = 0;

          if (this.props.mode === 'time') {
            factor = __WEBPACK_IMPORTED_MODULE_3__constant__["a" /* LINE_HEIGHT */] * 4;
          }

          if (this.props.mode === 'date') {
            return __WEBPACK_IMPORTED_MODULE_3__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_3__constant__["a" /* LINE_HEIGHT */] * this.getDateArrIndex(i, idx) - factor;
          }

          return __WEBPACK_IMPORTED_MODULE_3__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_3__constant__["a" /* LINE_HEIGHT */] * i - factor;
        }.bind(this));
        this.setState({
          hidden: false,
          height: height
        });
      }.bind(this); // 点击确定


      var onChange = function onChange(e) {
        var _this8 = this;

        _newArrowCheck(this, _this6);

        this.hidePicker(); // 除了 multiSeclector,都在点击确认时才改变记录的下标值

        this.index = this.state.height.map(function (h) {
          _newArrowCheck(this, _this8);

          return (__WEBPACK_IMPORTED_MODULE_3__constant__["c" /* TOP */] - h) / __WEBPACK_IMPORTED_MODULE_3__constant__["a" /* LINE_HEIGHT */];
        }.bind(this));
        var eventObj = getEventObj(e, 'change', {
          value: this.index.length > 1 ? this.index : this.index[0]
        });

        if (this.props.mode === 'time') {
          var range = [['20', '21', '22', '23'].concat(_toConsumableArray(getTimeRange(0, 23)), ['00', '01', '02', '03']), ['56', '57', '58', '59'].concat(_toConsumableArray(getTimeRange(0, 59)), ['00', '01', '02', '03'])];
          this.index = this.index.map(function (n, i) {
            _newArrowCheck(this, _this8);

            return range[i][n];
          }.bind(this));
          eventObj.detail.value = this.index.join(':');
        }

        if (this.props.mode === 'date') {
          this.index = this.index.map(function (n, i) {
            _newArrowCheck(this, _this8);

            return this.getDateArrIndex(n, i, true);
          }.bind(this));

          if (this.props.fields === 'year') {
            eventObj.detail.value = [this.index[0]];
          } else if (this.props.fields === 'month') {
            eventObj.detail.value = [this.index[0], this.index[1]];
          } else {
            eventObj.detail.value = this.index;
          }
        }

        this.setState({
          pickerValue: eventObj.detail.value
        });
        this.props.onChange && this.props.onChange(eventObj);
      }.bind(this); // 点击取消或蒙层


      var onCancel = function onCancel(e) {
        _newArrowCheck(this, _this6);

        this.hidePicker();
        var eventObj = getEventObj(e, 'cancel', {});
        this.props.onCancel && this.props.onCancel(eventObj);
      }.bind(this); // 列改变


      var onColumnChange = function onColumnChange(height, columnId, e) {
        var _this9 = this;

        _newArrowCheck(this, _this6);

        // 获取 touchend 时的 index
        var index = this.state.height.map(function (h, i) {
          _newArrowCheck(this, _this9);

          if (columnId === i) h = height;
          return (__WEBPACK_IMPORTED_MODULE_3__constant__["c" /* TOP */] - h) / __WEBPACK_IMPORTED_MODULE_3__constant__["a" /* LINE_HEIGHT */];
        }.bind(this)); // 需要做个比对再确定是否触发

        var valueChanged = false;
        this.index.some(function (value, num) {
          _newArrowCheck(this, _this9);

          if (value !== index[num]) {
            valueChanged = true;
            return true;
          }
        }.bind(this));
        if (!valueChanged) return; // 前一级列改变时,后面所有级别的 index 都要设为 0, 并初始化高度

        var rangeLen = this.props.range.length;

        if (columnId < rangeLen - 1) {
          for (var i = columnId + 1; i < rangeLen; i++) {
            index[i] = 0;
          }
        }

        this.setState({
          height: index.map(function (i) {
            _newArrowCheck(this, _this9);

            return __WEBPACK_IMPORTED_MODULE_3__constant__["c" /* TOP */] - i * __WEBPACK_IMPORTED_MODULE_3__constant__["a" /* LINE_HEIGHT */];
          }.bind(this))
        }); // 改变 index 的值

        this.index = index;
        var eventObj = getEventObj(e, 'columnChange', {
          column: columnId,
          value: index[columnId]
        });
        this.props.onColumnchange && this.props.onColumnchange(eventObj);
      }.bind(this); // 统一抛出的事件对象,和小程序对齐


      var getEventObj = function getEventObj(e, type, detail) {
        _newArrowCheck(this, _this6);

        return {
          currentTarget: e.target,
          detail: detail,
          target: e.target,
          timeStamp: Math.floor(e.timeStamp),
          type: type
        };
      }.bind(this); // 供 PickerGroup 修改对应的 height 值


      var updateHeight = function updateHeight(height, columnId) {
        var _this10 = this;

        var needRevise = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

        _newArrowCheck(this, _this6);

        this.setState(function (prevState) {
          _newArrowCheck(this, _this10);

          prevState.height[columnId] = height;
          return {
            height: prevState.height
          };
        }.bind(this), function () {
          var _this11 = this;

          _newArrowCheck(this, _this10);

          // time picker 必须在规定时间范围内,因此需要在 touchEnd 做修正
          if (needRevise) {
            var _this$props3 = this.props,
                start = _this$props3.start,
                end = _this$props3.end;
            if (!this.verifyTime(start)) start = '00:00';
            if (!this.verifyTime(end)) end = '23:59';
            if (!this.compareTime(start, end)) return;
            var time = this.state.height.map(function (h) {
              _newArrowCheck(this, _this11);

              return (__WEBPACK_IMPORTED_MODULE_3__constant__["c" /* TOP */] - h) / __WEBPACK_IMPORTED_MODULE_3__constant__["a" /* LINE_HEIGHT */];
            }.bind(this));
            var range = [['20', '21', '22', '23'].concat(_toConsumableArray(getTimeRange(0, 23)), ['00', '01', '02', '03']), ['56', '57', '58', '59'].concat(_toConsumableArray(getTimeRange(0, 59)), ['00', '01', '02', '03'])];
            time = time.map(function (n, i) {
              _newArrowCheck(this, _this11);

              return range[i][n];
            }.bind(this)).join(':');

            if (!this.compareTime(start, time)) {
              // 修正到 start
              var _height = start.split(':').map(function (i) {
                _newArrowCheck(this, _this11);

                return __WEBPACK_IMPORTED_MODULE_3__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_3__constant__["a" /* LINE_HEIGHT */] * (+i + 4);
              }.bind(this));

              this.setState({
                height: _height
              });
            } else if (!this.compareTime(time, end)) {
              // 修正到 end
              var _height2 = end.split(':').map(function (i) {
                _newArrowCheck(this, _this11);

                return __WEBPACK_IMPORTED_MODULE_3__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_3__constant__["a" /* LINE_HEIGHT */] * (+i + 4);
              }.bind(this));

              this.setState({
                height: _height2
              });
            }
          }
        }.bind(this));
      }.bind(this); // 单列


      var getSelector = function getSelector() {
        _newArrowCheck(this, _this6);

        return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__picker_group__["a" /* default */], {
          range: this.props.range,
          rangeKey: this.props['rangeKey'],
          height: this.state.height[0],
          updateHeight: updateHeight,
          columnId: "0"
        });
      }.bind(this); // 多列


      var getMultiSelector = function getMultiSelector() {
        var _this12 = this;

        _newArrowCheck(this, _this6);

        return this.props.range.map(function (range, index) {
          _newArrowCheck(this, _this12);

          return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__picker_group__["a" /* default */], {
            range: range,
            rangeKey: this.props['rangeKey'],
            height: this.state.height[index],
            updateHeight: updateHeight,
            onColumnChange: onColumnChange,
            columnId: index
          });
        }.bind(this));
      }.bind(this); // 时间


      var getTimeSelector = function getTimeSelector() {
        _newArrowCheck(this, _this6);

        var hourRange = ['20', '21', '22', '23'].concat(_toConsumableArray(getTimeRange(0, 23)), ['00', '01', '02', '03']);
        var minRange = ['56', '57', '58', '59'].concat(_toConsumableArray(getTimeRange(0, 59)), ['00', '01', '02', '03']);
        return [__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__picker_group__["a" /* default */], {
          mode: "time",
          range: hourRange,
          height: this.state.height[0],
          updateHeight: updateHeight,
          columnId: "0"
        }), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__picker_group__["a" /* default */], {
          mode: "time",
          range: minRange,
          height: this.state.height[1],
          updateHeight: updateHeight,
          columnId: "1"
        })];
      }.bind(this);

      var getTimeRange = function getTimeRange(begin, end) {
        _newArrowCheck(this, _this6);

        var range = [];

        for (var i = begin; i <= end; i++) {
          range.push("".concat(i < 10 ? '0' : '').concat(i));
        }

        return range;
      }.bind(this);
      /**
       * @author zhongxin
       * @description 时间选择
       *
       */
      // ======================= Date start =====================//


      var updateDay = function updateDay(value, fields) {
        _newArrowCheck(this, _this6);

        this.pickerDate._updateValue[fields] = value;
        var max = __WEBPACK_IMPORTED_MODULE_4__date___default.a.getMaxDay(this.pickerDate._updateValue[0], this.pickerDate._updateValue[1]);

        if (max < this.pickerDate._updateValue[2]) {
          this.state.height[2] = __WEBPACK_IMPORTED_MODULE_3__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_3__constant__["a" /* LINE_HEIGHT */] * max + 34;
        }

        this.setState({
          dateMaxDay: this.getDateRange(1, max, '日')
        });
      }.bind(this);

      var gitDateSelector = function gitDateSelector() {
        _newArrowCheck(this, _this6);

        var year = this.getDateRange(this.pickerDate._start.getFullYear(), this.pickerDate._end.getFullYear(), '年');
        var month = this.getDateRange(1, 12, '月');
        var renderView = [];

        if (this.props.fields === 'year') {
          renderView.push(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__picker_group__["a" /* default */], {
            mode: "date",
            range: year,
            height: this.state.height[0],
            updateDay: updateDay,
            updateHeight: updateHeight,
            columnId: "0"
          }));
        } else if (this.props.fields === 'month') {
          renderView.push(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__picker_group__["a" /* default */], {
            mode: "date",
            range: year,
            height: this.state.height[0],
            updateDay: updateDay,
            updateHeight: updateHeight,
            columnId: "0"
          }), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__picker_group__["a" /* default */], {
            mode: "date",
            range: month,
            height: this.state.height[1],
            updateDay: updateDay,
            updateHeight: updateHeight,
            columnId: "1"
          }));
        } else {
          renderView = [__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__picker_group__["a" /* default */], {
            mode: "date",
            range: year,
            height: this.state.height[0],
            updateDay: updateDay,
            updateHeight: updateHeight,
            columnId: "0"
          }), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__picker_group__["a" /* default */], {
            mode: "date",
            range: month,
            height: this.state.height[1],
            updateDay: updateDay,
            updateHeight: updateHeight,
            columnId: "1"
          }), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__picker_group__["a" /* default */], {
            mode: "date",
            range: this.state.dateMaxDay,
            updateDay: updateDay,
            height: this.state.height[2],
            updateHeight: updateHeight,
            columnId: "2"
          })];
        }

        return renderView;
      }.bind(this); // ======================= Date end =====================//
      // 动画类名控制逻辑


      var clsMask = __WEBPACK_IMPORTED_MODULE_2_classnames___default()('weui-mask', 'weui-animate-fade-in', {
        'weui-animate-fade-out': this.state.fadeOut
      });
      var clsSlider = __WEBPACK_IMPORTED_MODULE_2_classnames___default()('weui-picker', 'weui-animate-slide-up', {
        'weui-animate-slide-down': this.state.fadeOut
      });
      var shouldDivHidden = this.state.hidden ? 'display: none;' : ''; // 给 children 绑定事件

      var children = __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Children.map(this.props.children, function (child) {
        _newArrowCheck(this, _this6);

        return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.cloneElement(child, {
          onClick: showPicker
        });
      }.bind(this)); // picker__group

      var pickerGroup;

      switch (this.props.mode) {
        case 'multiSelector':
          pickerGroup = getMultiSelector();
          break;

        case 'time':
          pickerGroup = getTimeSelector();
          break;

        case 'date':
          pickerGroup = gitDateSelector();
          break;

        default:
          pickerGroup = getSelector();
      }

      var _this$props$name = this.props.name,
          name = _this$props$name === void 0 ? '' : _this$props$name;
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: this.props.className
      }, children, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        style: shouldDivHidden,
        className: clsMask,
        onClick: onCancel
      }), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        style: shouldDivHidden,
        className: clsSlider
      }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "weui-picker__hd"
      }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "weui-picker__action",
        onClick: onCancel
      }, "\u53D6\u6D88"), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "weui-picker__action",
        onClick: onChange
      }, "\u786E\u5B9A")), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "weui-picker__bd"
      }, pickerGroup), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("input", {
        type: "hidden",
        name: name,
        value: this.state.pickerValue
      })));
    }
  }]);

  return Picker;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);



/***/ }),
/* 39 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PickerGroup; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constant__ = __webpack_require__(7);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }




var PickerGroup =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(PickerGroup, _Nerv$Component);

  function PickerGroup(props) {
    _classCallCheck(this, PickerGroup);

    return _possibleConstructorReturn(this, _getPrototypeOf(PickerGroup).call(this, props));
  }

  _createClass(PickerGroup, [{
    key: "getPosition",
    value: function getPosition(id) {
      var transition = this.touchEnd ? 0.3 : 0;
      return "transform: translate3d(0, ".concat(this.props.height, "px, 0);transition: transform ").concat(transition, "s;");
    }
  }, {
    key: "formulaUnlimitedScroll",
    value: function formulaUnlimitedScroll(range, absoluteHeight, direction) {
      var _this = this;

      var _this$props = this.props,
          height = _this$props.height,
          updateHeight = _this$props.updateHeight,
          columnId = _this$props.columnId;
      var factor = direction === 'up' ? 1 : -1;
      this.touchEnd = false; // 点击超过范围,点击到补帧时,先跳到另一端的补帧

      updateHeight(-range * factor * __WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] + height, columnId); // 再做过渡动画

      setTimeout(function () {
        _newArrowCheck(this, _this);

        this.touchEnd = true;
        var index = Math.round(absoluteHeight / -__WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */]) + range * factor;
        var relativeHeight = __WEBPACK_IMPORTED_MODULE_1__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * index;
        updateHeight(relativeHeight, columnId, true);
      }.bind(this), 0);
    }
  }, {
    key: "render",
    value: function render() {
      var _this2 = this;

      var onTouchStart = function onTouchStart(e) {
        _newArrowCheck(this, _this2);

        // 记录第一次的点击位置
        this.startY = e.changedTouches[0].clientY;
        this.preY = e.changedTouches[0].clientY;
        this.hadMove = false;
      }.bind(this);

      var onTouchMove = function onTouchMove(e) {
        _newArrowCheck(this, _this2);

        var y = e.changedTouches[0].clientY;
        var deltaY = y - this.preY;
        this.preY = y;
        this.touchEnd = false;
        if (Math.abs(y - this.startY) > 10) this.hadMove = true;
        var newPos = this.props.height + deltaY; // 处理时间选择器的无限滚动

        if (this.props.mode === 'time') {
          if (this.props.columnId === '0') {
            // 数字 28 来自于 4 格补帧 + 0 ~ 23 的 24 格,共 28 格
            if (newPos > __WEBPACK_IMPORTED_MODULE_1__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * 3) {
              newPos = __WEBPACK_IMPORTED_MODULE_1__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * 27 + deltaY;
            }

            if (newPos < __WEBPACK_IMPORTED_MODULE_1__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * 28) {
              newPos = __WEBPACK_IMPORTED_MODULE_1__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * 4 + deltaY;
            }
          } else if (this.props.columnId === '1') {
            if (newPos > __WEBPACK_IMPORTED_MODULE_1__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * 3) {
              newPos = __WEBPACK_IMPORTED_MODULE_1__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * 63 + deltaY;
            }

            if (newPos < __WEBPACK_IMPORTED_MODULE_1__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * 64) {
              newPos = __WEBPACK_IMPORTED_MODULE_1__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * 4 + deltaY;
            }
          }
        }

        this.props.updateHeight(newPos, this.props.columnId);
        e.preventDefault();
      }.bind(this);

      var onTouchEnd = function onTouchEnd(e) {
        _newArrowCheck(this, _this2);

        var _this$props2 = this.props,
            mode = _this$props2.mode,
            range = _this$props2.range,
            height = _this$props2.height,
            updateHeight = _this$props2.updateHeight,
            onColumnChange = _this$props2.onColumnChange,
            columnId = _this$props2.columnId;
        var max = 0;
        var min = -__WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * (range.length - 1);
        var endY = e.changedTouches[0].clientY;
        this.touchEnd = true; // touchEnd 时的高度,可能带小数点,需要再处理

        var absoluteHeight;

        if (!this.hadMove) {
          /** 点击 */
          // 屏幕高度
          var windowHeight = window.innerHeight; // picker__mask 垂直方向距离屏幕顶部的高度

          var relativeY = windowHeight - __WEBPACK_IMPORTED_MODULE_1__constant__["b" /* MASK_HEIGHT */] / 2;
          absoluteHeight = height - __WEBPACK_IMPORTED_MODULE_1__constant__["c" /* TOP */] - (endY - relativeY); // 处理时间选择器的无限滚动

          if (this.props.mode === 'time') {
            if (this.props.columnId === '0') {
              // 点击上溢出
              // absoluteHeight 是相对模块中点来算的,所以会算多半行,这时要减去这半行,即2.5行
              if (absoluteHeight > -__WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * 2.5) {
                this.formulaUnlimitedScroll(24, absoluteHeight, 'up');
                return;
              } // 点击下溢出


              if (absoluteHeight < -__WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * 28.5) {
                this.formulaUnlimitedScroll(24, absoluteHeight, 'down');
                return;
              }
            } else if (this.props.columnId === '1') {
              // 点击上溢出
              if (absoluteHeight > -__WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * 2.5) {
                this.formulaUnlimitedScroll(60, absoluteHeight, 'up');
                return;
              } // 点击下溢出


              if (absoluteHeight < -__WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * 64.5) {
                this.formulaUnlimitedScroll(60, absoluteHeight, 'down');
                return;
              }
            }
          }
        } else {
          /** 滚动 */
          absoluteHeight = height - __WEBPACK_IMPORTED_MODULE_1__constant__["c" /* TOP */];
        } // 边界情况处理


        if (absoluteHeight > max) absoluteHeight = 0;
        if (absoluteHeight < min) absoluteHeight = min; // 先按公式算出 index, 再用此 index 算出一个整数高度

        var index = Math.round(absoluteHeight / -__WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */]);
        var relativeHeight = __WEBPACK_IMPORTED_MODULE_1__constant__["c" /* TOP */] - __WEBPACK_IMPORTED_MODULE_1__constant__["a" /* LINE_HEIGHT */] * index;

        if (this.props.mode === 'date') {
          if (this.props.columnId === '0') {
            this.props.updateDay(+this.props.range[index].replace(/[^0-9]/gi, ''), 0);
          }

          if (this.props.columnId === '1') {
            this.props.updateDay(+this.props.range[index].replace(/[^0-9]/gi, ''), 1);
          }

          if (this.props.columnId === '2') {
            this.props.updateDay(+this.props.range[index].replace(/[^0-9]/gi, ''), 2);
          }
        }

        updateHeight(relativeHeight, columnId, mode === 'time');
        onColumnChange && onColumnChange(relativeHeight, columnId, e);
      }.bind(this); // picker__item


      var range = this.props.range || [];
      var pickerItem = range.map(function (item) {
        _newArrowCheck(this, _this2);

        var rangeKey = this.props.rangeKey;
        var content = rangeKey ? item[rangeKey] : item;
        return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
          className: "weui-picker__item"
        }, "".concat(content));
      }.bind(this));
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "weui-picker__group",
        onTouchStart: onTouchStart,
        onTouchMove: onTouchMove,
        onTouchEnd: onTouchEnd
      }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "weui-picker__mask"
      }), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "weui-picker__indicator"
      }), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "weui-picker__content",
        style: this.getPosition()
      }, pickerItem));
    }
  }]);

  return PickerGroup;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);



/***/ }),
/* 40 */
/***/ (function(module, exports) {

/**
 * @author zhongxin
 * @description 日期选择器相关函数
 *
 */

/**
 * 校验日期合法性,返回合法性和日期数组
 *
 * @param {String} date
 * @param {String} start
 * @param {String} end
 * @returns
 */
function verifyDate(date) {
  if (!date) return false;
  date = new Date(date.replace(/-/g, '/'));
  return isNaN(date.getMonth()) ? false : date;
}
/**
 * 获取当月最大天数
 *
 * @param {Number} year
 * @param {Number} month
 * @returns
 */


function getMaxDay(year, month) {
  if (month === 4 || month === 6 || month === 9 || month === 11) return 30;

  if (month === 2) {
    if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) return 29;else return 28;
  }

  return 31;
}

module.exports = {
  verifyDate: verifyDate,
  getMaxDay: getMaxDay
};

/***/ }),
/* 41 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }



var Label =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Label, _Nerv$Component);

  function Label() {
    _classCallCheck(this, Label);

    return _possibleConstructorReturn(this, _getPrototypeOf(Label).apply(this, arguments));
  }

  _createClass(Label, [{
    key: "render",
    value: function render() {
      var reset = _extends({}, this.props);

      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("label", reset, this.props.children);
    }
  }]);

  return Label;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (Label);

/***/ }),
/* 42 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_omit_js__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }




var Textarea =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Textarea, _Nerv$Component);

  function Textarea() {
    _classCallCheck(this, Textarea);

    return _possibleConstructorReturn(this, _getPrototypeOf(Textarea).apply(this, arguments));
  }

  _createClass(Textarea, [{
    key: "render",
    value: function render() {
      var _this$props = this.props,
          className = _this$props.className,
          placeholder = _this$props.placeholder,
          disabled = _this$props.disabled,
          _this$props$maxlength = _this$props.maxlength,
          maxlength = _this$props$maxlength === void 0 ? 140 : _this$props$maxlength,
          onChange = _this$props.onChange,
          onFocus = _this$props.onFocus,
          onBlur = _this$props.onBlur,
          autoFocus = _this$props.autoFocus;
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("textarea", _extends({}, __WEBPACK_IMPORTED_MODULE_1_omit_js___default()(this.props, ['className', 'placeholder', 'disabled', 'maxlength', 'onChange', 'onFocus', 'onBlur', 'autofocus']), {
        className: className,
        placeholder: placeholder,
        disabled: disabled,
        maxlength: maxlength,
        autofocus: autoFocus,
        onChange: onChange,
        onFocus: onFocus,
        onBlur: onBlur
      }));
    }
  }]);

  return Textarea;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (Textarea);

/***/ }),
/* 43 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_parse_type__ = __webpack_require__(6);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }




/**
 * props 类型检测
 *
 * @param {Object} props
 */

function parseType(props) {
  var _this = this;

  var min = props.min,
      max = props.max,
      step = props.step,
      disabled = props.disabled,
      value = props.value,
      backgroundColor = props.backgroundColor,
      activeColor = props.activeColor,
      blockSize = props.blockSize,
      blockColor = props.blockColor,
      showValue = props.showValue,
      onChange = props.onChange,
      onChanging = props.onChanging; // 抛出错误信息

  var throwErrorMsg = function throwErrorMsg(type) {
    _newArrowCheck(this, _this);

    throw new TypeError(type);
  }.bind(this);

  if (min) __WEBPACK_IMPORTED_MODULE_1__utils_parse_type__["a" /* default */].isNumber(min) ? '' : throwErrorMsg('min');
  if (max) __WEBPACK_IMPORTED_MODULE_1__utils_parse_type__["a" /* default */].isNumber(max) ? '' : throwErrorMsg('max');
  if (step) __WEBPACK_IMPORTED_MODULE_1__utils_parse_type__["a" /* default */].isNumber(step) ? '' : throwErrorMsg('step');
  if (value) __WEBPACK_IMPORTED_MODULE_1__utils_parse_type__["a" /* default */].isNumber(value) ? '' : throwErrorMsg('value');
  if (blockSize) __WEBPACK_IMPORTED_MODULE_1__utils_parse_type__["a" /* default */].isNumber(blockSize) ? '' : throwErrorMsg('blockSize');
  if (disabled) __WEBPACK_IMPORTED_MODULE_1__utils_parse_type__["a" /* default */].isBoolean(disabled) ? '' : throwErrorMsg('disabled');
  if (showValue) __WEBPACK_IMPORTED_MODULE_1__utils_parse_type__["a" /* default */].isBoolean(showValue) ? '' : throwErrorMsg('showValue');

  if (backgroundColor) {
    __WEBPACK_IMPORTED_MODULE_1__utils_parse_type__["a" /* default */].isString(backgroundColor) ? '' : throwErrorMsg('backgroundColor');
  }

  if (activeColor) __WEBPACK_IMPORTED_MODULE_1__utils_parse_type__["a" /* default */].isString(activeColor) ? '' : throwErrorMsg('activeColor');
  if (blockColor) __WEBPACK_IMPORTED_MODULE_1__utils_parse_type__["a" /* default */].isString(blockColor) ? '' : throwErrorMsg('blockColor');
  if (onChange) __WEBPACK_IMPORTED_MODULE_1__utils_parse_type__["a" /* default */].isFunction(onChange) ? '' : throwErrorMsg('onChange');
  if (onChanging) __WEBPACK_IMPORTED_MODULE_1__utils_parse_type__["a" /* default */].isFunction(onChanging) ? '' : throwErrorMsg('onChanging');
}

var Slider =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Slider, _Nerv$Component);

  function Slider() {
    var _this2;

    _classCallCheck(this, Slider);

    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(Slider).apply(this, arguments));
    parseType(_this2.props);
    _this2.sliderInsRef = '';

    if (_this2.props.value) {
      if (_this2.props.value > _this2.props.max) {
        _this2.props.value = _this2.props.max;
      }
    }

    _this2.state = {
      value: _this2.props.value,
      controlled: typeof _this2.props.value !== 'undefined',
      totalWidth: 0,
      touching: false,
      ogX: 0,
      touchID: false,
      percent: _this2.props.value ? parseInt(_this2.props.value / (_this2.props.max - _this2.props.min) * 100) : 0
    };
    _this2.handleTouchStart = _this2.handleTouchStart.bind(_assertThisInitialized(_assertThisInitialized(_this2)));
    _this2.handleTouchMove = _this2.handleTouchMove.bind(_assertThisInitialized(_assertThisInitialized(_this2)));
    _this2.handleTouchEnd = _this2.handleTouchEnd.bind(_assertThisInitialized(_assertThisInitialized(_this2)));
    _this2.updateValue = _this2.updateValue.bind(_assertThisInitialized(_assertThisInitialized(_this2)));
    return _this2;
  }

  _createClass(Slider, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      if (this.state.value === 0) this.updateValue();
    }
  }, {
    key: "componentWillReceiveProps",
    value: function componentWillReceiveProps(nextProps) {
      if (this.state.controlled) {
        if (nextProps.value <= this.props.max && nextProps.value >= this.props.min) {
          var percent = parseInt(nextProps.value / (this.props.max - this.props.min) * 100);
          this.setState({
            value: nextProps.value,
            percent: percent
          });
        }
      }
    }
  }, {
    key: "updateValue",
    value: function updateValue() {
      var value = 0;
      var percent = this.state.percent;
      var _this$props = this.props,
          min = _this$props.min,
          max = _this$props.max,
          step = _this$props.step;
      var steps = parseInt((max - min) / step);
      var per = 100 / steps;
      if (per < 1) per = 1;
      var perPercent = parseInt(per);

      if (percent === 100) {
        value = max;
      } else if (percent === 0) {
        value = min;
      } else {
        for (var i = 0; i < steps; i++) {
          if (percent > i * perPercent && percent <= (i + 1) * perPercent) {
            value = percent - i * perPercent > perPercent / 2 ? (i + 1) * step + min : i * step + min;
          }
        }
      }

      if (value !== this.state.value) {
        this.setState({
          value: value
        });
        return true;
      }

      return false;
    }
  }, {
    key: "handleTouchStart",
    value: function handleTouchStart(e) {
      if (this.state.touching || this.props.disabled) return;
      var barDOM = __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.findDOMNode(this.sliderInsRef);
      this.setState({
        touching: true,
        touchId: e.targetTouches[0].identifier,
        totalWidth: barDOM.clientWidth,
        ogX: e.targetTouches[0].pageX,
        ogPercent: this.state.percent
      });
    }
  }, {
    key: "handleTouchMove",
    value: function handleTouchMove(e) {
      var _this3 = this;

      var onChanging = this.props.onChanging;
      if (!this.state.touching || this.props.disabled) return;
      if (e.targetTouches[0].identifier !== this.state.touchId) return; // 阻止默认事件

      e.preventDefault();
      var pageX = e.targetTouches[0].pageX;
      var diffX = pageX - this.state.ogX;
      var percent = parseInt(diffX / this.state.totalWidth * 100) + this.state.ogPercent;
      percent = percent < 0 ? 0 : percent > 100 ? 100 : percent;
      this.setState({
        percent: percent
      }, function () {
        _newArrowCheck(this, _this3);

        var updateValueFlag = this.updateValue(); // 数据变化才更新

        if (updateValueFlag) {
          Object.defineProperty(e, 'detail', {
            enumerable: true,
            value: {
              detail: e.detail,
              value: this.state.value
            }
          });
          if (onChanging) onChanging(e);
        }
      }.bind(this));
    }
  }, {
    key: "handleTouchEnd",
    value: function handleTouchEnd(e) {
      var _this4 = this;

      if (!this.state.touching || this.props.disabled) {
        return;
      }

      var onChange = this.props.onChange;
      this.setState({
        touching: false,
        ogX: 0,
        touchId: false,
        ogPercent: 0
      }, function () {
        _newArrowCheck(this, _this4);

        Object.defineProperty(e, 'detail', {
          enumerable: true,
          value: {
            detail: e.detail,
            value: this.state.value
          }
        });
        if (onChange) onChange(e);
      }.bind(this));
    }
  }, {
    key: "render",
    value: function render() {
      var _this5 = this;

      var _this$props2 = this.props,
          className = _this$props2.className,
          showValue = _this$props2.showValue,
          backgroundColor = _this$props2.backgroundColor,
          activeColor = _this$props2.activeColor,
          blockColor = _this$props2.blockColor;
      var blockSize = this.props.blockSize;
      var cls = __WEBPACK_IMPORTED_MODULE_2_classnames___default()('weui-slider-box', className);
      var innerStyles = {
        backgroundColor: backgroundColor
      };
      var percent = this.state.percent > 100 ? 100 : this.state.percent;
      var trackStyles = {
        width: "".concat(percent, "%"),
        backgroundColor: activeColor
      };

      if (blockSize < 12) {
        blockSize = 28;
      }

      if (blockSize > 28) {
        blockSize = 28;
      }

      var handlerStyles = {
        left: "".concat(percent, "%"),
        width: "".concat(blockSize, "px"),
        height: "".concat(blockSize, "px"),
        backgroundColor: blockColor,
        marginTop: "-".concat(Math.floor(blockSize / 2), "px"),
        marginLeft: "-".concat(Math.floor(blockSize / 2), "px")
      };
      var _this$props$name = this.props.name,
          name = _this$props$name === void 0 ? '' : _this$props$name;
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: cls
      }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "weui-slider"
      }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "weui-slider__inner",
        style: innerStyles,
        ref: function (c) {
          _newArrowCheck(this, _this5);

          return this.sliderInsRef = c;
        }.bind(this)
      }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        style: trackStyles,
        className: "weui-slider__track"
      }), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        style: handlerStyles,
        onTouchStart: this.handleTouchStart,
        onTouchMove: this.handleTouchMove,
        onTouchEnd: this.handleTouchEnd,
        className: "weui-slider__handler"
      }), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("input", {
        type: "hidden",
        name: name,
        value: this.state.value
      }))), showValue ? __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "weui-slider-box__value"
      }, this.state.value) : false);
    }
  }]);

  return Slider;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

Slider.defaultProps = {
  max: 100,
  min: 0,
  step: 1,
  showValue: false,
  disabled: false,
  value: 0
};
/* harmony default export */ __webpack_exports__["a"] = (Slider);

/***/ }),
/* 44 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__style_index_scss__ = __webpack_require__(45);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__style_index_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__style_index_scss__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }




var Video =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Video, _Nerv$Component);

  function Video() {
    _classCallCheck(this, Video);

    return _possibleConstructorReturn(this, _getPrototypeOf(Video).apply(this, arguments));
  }

  _createClass(Video, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      this.bindevent();
    }
  }, {
    key: "bindevent",
    value: function bindevent() {
      var _this = this;

      this.video.addEventListener('timeupdate', function (e) {
        _newArrowCheck(this, _this);

        Object.defineProperty(e, 'detail', {
          enumerable: true,
          value: {
            duration: e.srcElement.duration,
            currentTime: e.srcElement.currentTime
          }
        });
        this.props.onTimeUpdate && this.props.onTimeUpdate(e);
      }.bind(this));
      this.video.addEventListener('ended', function (e) {
        _newArrowCheck(this, _this);

        this.props.onEnded && this.props.onEnded(e);
      }.bind(this));
      this.video.addEventListener('play', function (e) {
        _newArrowCheck(this, _this);

        this.props.onPlay && this.props.onPlay(e);
      }.bind(this));
      this.video.addEventListener('pause', function (e) {
        _newArrowCheck(this, _this);

        this.props.onPause && this.props.onPause(e);
      }.bind(this)); // 网络错误

      this.video.addEventListener('error', function (e) {
        _newArrowCheck(this, _this);

        Object.defineProperty(e, 'detail', {
          enumerable: true,
          value: {
            errMsg: e.srcElement.error.code
          }
        });
        this.props.onError && this.props.onError(e);
      }.bind(this));
    }
  }, {
    key: "render",
    value: function render() {
      var _this2 = this;

      var _this$props = this.props,
          src = _this$props.src,
          controls = _this$props.controls,
          autoplay = _this$props.autoplay,
          poster = _this$props.poster,
          initialTime = _this$props.initialTime,
          id = _this$props.id,
          loop = _this$props.loop,
          muted = _this$props.muted,
          className = _this$props.className;

      if (!controls) {
        poster = '';
      }

      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("video", {
        id: id,
        src: src,
        controls: controls,
        autoplay: autoplay,
        poster: poster,
        start: initialTime,
        loop: loop,
        muted: muted,
        className: className,
        ref: function (video) {
          _newArrowCheck(this, _this2);

          this.video = video;
        }.bind(this)
      }, "\u6682\u65F6\u4E0D\u652F\u6301\u64AD\u653E\u8BE5\u89C6\u9891");
    }
  }]);

  return Video;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component); // 默认配置


Video.defaultProps = {
  autoplay: false,
  controls: true,
  loop: false,
  muted: false
};
/* harmony default export */ __webpack_exports__["a"] = (Video);

/***/ }),
/* 45 */
/***/ (function(module, exports, __webpack_require__) {


var content = __webpack_require__(46);

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"insertAt":"top","hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__(4)(content, options);

if(content.locals) module.exports = content.locals;

if(false) {
	module.hot.accept("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss", function() {
		var newContent = require("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss");

		if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];

		var locals = (function(a, b) {
			var key, idx = 0;

			for(key in a) {
				if(!b || a[key] !== b[key]) return false;
				idx++;
			}

			for(key in b) idx--;

			return idx === 0;
		}(content.locals, newContent.locals));

		if(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');

		update(newContent);
	});

	module.hot.dispose(function() { update(); });
}

/***/ }),
/* 46 */
/***/ (function(module, exports, __webpack_require__) {

exports = module.exports = __webpack_require__(3)(false);
// imports


// module
exports.push([module.i, "video {\n  max-width: 100%;\n  height: auto; }\n", ""]);

// exports


/***/ }),
/* 47 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__style_index_scss__ = __webpack_require__(48);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__style_index_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__style_index_scss__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }




var Audio =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Audio, _Nerv$Component);

  function Audio() {
    _classCallCheck(this, Audio);

    return _possibleConstructorReturn(this, _getPrototypeOf(Audio).apply(this, arguments));
  }

  _createClass(Audio, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      this.bindevent();
    }
  }, {
    key: "bindevent",
    value: function bindevent() {
      var _this = this;

      this.audio.addEventListener('timeupdate', function (e) {
        _newArrowCheck(this, _this);

        Object.defineProperty(e, 'detail', {
          enumerable: true,
          value: {
            duration: e.srcElement.duration,
            currentTime: e.srcElement.currentTime
          }
        });
        this.props.onTimeUpdate && this.props.onTimeUpdate(e);
      }.bind(this));
      this.audio.addEventListener('ended', function (e) {
        _newArrowCheck(this, _this);

        this.props.onEnded && this.props.onEnded(e);
      }.bind(this));
      this.audio.addEventListener('play', function (e) {
        _newArrowCheck(this, _this);

        this.props.onPlay && this.props.onPlay(e);
      }.bind(this));
      this.audio.addEventListener('pause', function (e) {
        _newArrowCheck(this, _this);

        this.props.onPause && this.props.onPause(e);
      }.bind(this)); // 1网络错误, 2解码错误, 3解码错误,4 不合适资源

      this.audio.addEventListener('error', function (e) {
        _newArrowCheck(this, _this);

        Object.defineProperty(e, 'detail', {
          enumerable: true,
          value: {
            errMsg: e.srcElement.error.code
          }
        });
        this.props.onError && this.props.onError(e);
      }.bind(this));
    }
  }, {
    key: "render",
    value: function render() {
      var _this2 = this;

      var _this$props = this.props,
          src = _this$props.src,
          controls = _this$props.controls,
          autoplay = _this$props.autoplay,
          initialTime = _this$props.initialTime,
          id = _this$props.id,
          loop = _this$props.loop,
          muted = _this$props.muted,
          className = _this$props.className;
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("audio", {
        id: id,
        src: src,
        controls: controls,
        autoplay: autoplay,
        start: initialTime,
        loop: loop,
        muted: muted,
        className: className,
        ref: function (audio) {
          _newArrowCheck(this, _this2);

          this.audio = audio;
        }.bind(this)
      }, "\u6682\u65F6\u4E0D\u652F\u6301\u64AD\u653E\u8BE5\u89C6\u9891");
    }
  }]);

  return Audio;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component); // 默认配置


Audio.defaultProps = {
  autoplay: false,
  controls: true,
  loop: false,
  muted: false
};
/* harmony default export */ __webpack_exports__["a"] = (Audio);

/***/ }),
/* 48 */
/***/ (function(module, exports, __webpack_require__) {


var content = __webpack_require__(49);

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"insertAt":"top","hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__(4)(content, options);

if(content.locals) module.exports = content.locals;

if(false) {
	module.hot.accept("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss", function() {
		var newContent = require("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss");

		if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];

		var locals = (function(a, b) {
			var key, idx = 0;

			for(key in a) {
				if(!b || a[key] !== b[key]) return false;
				idx++;
			}

			for(key in b) idx--;

			return idx === 0;
		}(content.locals, newContent.locals));

		if(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');

		update(newContent);
	});

	module.hot.dispose(function() { update(); });
}

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

exports = module.exports = __webpack_require__(3)(false);
// imports


// module
exports.push([module.i, "audio {\n  max-width: 100%; }\n", ""]);

// exports


/***/ }),
/* 50 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }



var Camera =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Camera, _Nerv$Component);

  function Camera() {
    _classCallCheck(this, Camera);

    return _possibleConstructorReturn(this, _getPrototypeOf(Camera).apply(this, arguments));
  }

  _createClass(Camera, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      var _this = this;

      this.initCamera();
      var context = this.show.getContext('2d'); // 绑定事件

      this.getCamera.addEventListener('click', function () {
        _newArrowCheck(this, _this);

        context.drawImage(this.vide, 0, 0, 480, 320);
      }.bind(this));
    }
  }, {
    key: "initCamera",
    value: function initCamera() {
      var _this2 = this;

      // 区分前后摄像头
      var devicePosition = this.props.devicePosition;
      var device;

      if (devicePosition === 'front') {
        device = 'user';
      } else {
        device = 'environment';
      }

      if (navigator.mediaDevices.getUserMedia || navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia) {
        // 调用用户媒体设备,访问摄像头
        this.getUserMedia({
          audio: true,
          video: {
            facingMode: device
          }
        }, function (stream) {
          _newArrowCheck(this, _this2);

          // 兼容webkit内核浏览器
          var CompatibleURL = window.URL || window.webkitURL;
          this.vide.src = CompatibleURL.createObjectURL(stream); // 播放视频

          this.vide.play();
        }.bind(this), function (error) {
          _newArrowCheck(this, _this2);

          if (error.name === 'NotAllowedError') {
            this.props.binderror(error);
          } else {
            this.props.bindstop(error);
          }
        }.bind(this));
      } else {
        alert('你的浏览器不支持访问用户媒体设备');
      }
    } // 访问用户媒体设备的兼容方法

  }, {
    key: "getUserMedia",
    value: function getUserMedia(constrains, success, error) {
      if (navigator.mediaDevices.getUserMedia) {
        // 最新标准API
        navigator.mediaDevices.getUserMedia(constrains).then(success).catch(error);
      } else if (navigator.webkitGetUserMedia) {
        // webkit内核浏览器
        navigator.webkitGetUserMedia(constrains).then(success).catch(error);
      } else if (navigator.getUserMedia) {
        // 旧版API
        navigator.getUserMedia(constrains).then(success).catch(error);
      }
    }
  }, {
    key: "render",
    value: function render() {
      var _this3 = this;

      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", null, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("video", {
        id: "video",
        autoplay: true,
        style: "width: 480px;height: 320px",
        ref: function (vide) {
          _newArrowCheck(this, _this3);

          this.vide = vide;
        }.bind(this)
      }), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("canvas", {
        id: "canvas",
        width: "480",
        height: "320",
        ref: function (show) {
          _newArrowCheck(this, _this3);

          this.show = show;
        }.bind(this)
      }));
    }
  }]);

  return Camera;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component); // 默认配置


Camera.defaultProps = {
  devicePosition: 'back'
};
/* harmony default export */ __webpack_exports__["a"] = (Camera);

/***/ }),
/* 51 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_parse_type__ = __webpack_require__(6);
var _this2 = this;

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }




/**
 * props 类型检测
 *
 * @param {Object} props
 */

function parseType(props) {
  var _this = this;

  var showInfo = props.showInfo,
      percent = props.percent,
      strokeWidth = props.strokeWidth,
      activeColor = props.activeColor,
      backgroundColor = props.backgroundColor,
      active = props.active; // 抛出错误信息

  var throwErrorMsg = function throwErrorMsg(type) {
    _newArrowCheck(this, _this);

    throw new TypeError(type);
  }.bind(this);

  if (showInfo) __WEBPACK_IMPORTED_MODULE_2__utils_parse_type__["a" /* default */].isBoolean(showInfo) ? '' : throwErrorMsg('showInfo');
  if (active) __WEBPACK_IMPORTED_MODULE_2__utils_parse_type__["a" /* default */].isBoolean(active) ? '' : throwErrorMsg('active');
  if (percent) __WEBPACK_IMPORTED_MODULE_2__utils_parse_type__["a" /* default */].isNumber(percent) ? '' : throwErrorMsg('percent');
  if (strokeWidth) __WEBPACK_IMPORTED_MODULE_2__utils_parse_type__["a" /* default */].isNumber(strokeWidth) ? '' : throwErrorMsg('strokeWidth');
  if (activeColor) __WEBPACK_IMPORTED_MODULE_2__utils_parse_type__["a" /* default */].isString(activeColor) ? '' : throwErrorMsg('activeColor');

  if (backgroundColor) {
    __WEBPACK_IMPORTED_MODULE_2__utils_parse_type__["a" /* default */].isString(backgroundColor) ? '' : throwErrorMsg('backgroundColor');
  }
}

var Progress = function Progress(props) {
  _newArrowCheck(this, _this2);

  parseType(props);
  var className = props.className,
      showInfo = props.showInfo,
      strokeWidth = props.strokeWidth,
      activeColor = props.activeColor,
      backgroundColor = props.backgroundColor,
      active = props.active,
      percent = props.percent;
  var pgPercent = percent > 100 ? 100 : percent < 0 ? 0 : percent;
  var cls = __WEBPACK_IMPORTED_MODULE_1_classnames___default()('weui-progress', className);
  var pgWdith = {
    width: pgPercent + '%',
    backgroundColor: activeColor,
    WebkitTransition: active ? "width 1s ease-in-out" : 'none',
    transition: active ? "width 1s ease-in-out" : 'none'
  };
  var pgHeight = {
    height: strokeWidth + 'px',
    backgroundColor: backgroundColor
  };
  return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
    className: cls
  }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
    className: "weui-progress__bar",
    style: pgHeight
  }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
    className: "weui-progress__inner-bar",
    style: pgWdith
  })), showInfo ? __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
    className: "weui-progress__opr",
    style: "font-size: inherit"
  }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("span", null, pgPercent, "%")) : false);
}.bind(this);

/* harmony default export */ __webpack_exports__["a"] = (Progress);
Progress.defaultProps = {
  percent: 0,
  showInfo: false
};

/***/ }),
/* 52 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_omit_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_omit_js__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }




var RichText =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(RichText, _Nerv$Component);

  function RichText() {
    _classCallCheck(this, RichText);

    return _possibleConstructorReturn(this, _getPrototypeOf(RichText).apply(this, arguments));
  }

  _createClass(RichText, [{
    key: "renderNodes",
    value: function renderNodes(item) {
      if (item.type === 'text') {
        return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement('span', {}, item.text);
      } else {
        var child = this.renderChildrens(item.children);
        var obj = {
          className: '',
          style: ''
        };

        if (item.hasOwnProperty('attrs')) {
          obj.className = item.attrs.class || '';
          obj.style = item.attrs.style || '';
        }

        return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement(item.name, obj, child);
      }
    }
  }, {
    key: "renderChildrens",
    value: function renderChildrens(arr) {
      var _this = this;

      if (arr.length === 0) return;
      return arr.map(function (list, i) {
        _newArrowCheck(this, _this);

        if (list.type === 'text') {
          return list.text;
        }

        return this.renderNodes(list);
      }.bind(this));
    }
  }, {
    key: "render",
    value: function render() {
      var _this2 = this;

      var nodes = this.props.nodes;

      if (Array.isArray(nodes)) {
        return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", __WEBPACK_IMPORTED_MODULE_1_omit_js___default()(this.props, ['nodes']), nodes.map(function (item, idx) {
          _newArrowCheck(this, _this2);

          return this.renderNodes(item);
        }.bind(this)));
      } else {
        return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
          dangerouslySetInnerHTML: {
            __html: nodes
          }
        });
      }
    }
  }]);

  return RichText;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (RichText);

/***/ }),
/* 53 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }



var Form =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Form, _Nerv$Component);

  function Form() {
    var _this;

    _classCallCheck(this, Form);

    _this = _possibleConstructorReturn(this, _getPrototypeOf(Form).apply(this, arguments));
    _this.Forms = [];
    _this.onSubmit = _this.onSubmit.bind(_assertThisInitialized(_assertThisInitialized(_this)));
    _this.onReset = _this.onReset.bind(_assertThisInitialized(_assertThisInitialized(_this)));
    return _this;
  }

  _createClass(Form, [{
    key: "onSubmit",
    value: function onSubmit(e) {
      var _this2 = this;

      e.preventDefault();
      var formDom = __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.findDOMNode(this);
      var elements = [];
      var tagElements = formDom.getElementsByTagName('input');

      for (var j = 0; j < tagElements.length; j++) {
        elements.push(tagElements[j]);
      }

      var formItem = {};
      var hash = {};
      elements.forEach(function (item) {
        _newArrowCheck(this, _this2);

        if (item.className.indexOf('weui-switch') !== -1) {
          formItem[item.name] = item.checked;
          return;
        }

        if (item.type === 'radio') {
          if (item.checked) {
            hash[item.name] = true;
            formItem[item.name] = item.value;
          } else {
            if (!hash[item.name]) {
              formItem[item.name] = '';
            }
          }

          return;
        }

        if (item.type === 'checkbox') {
          if (item.checked) {
            if (hash[item.name]) {
              formItem[item.name].push(item.value);
            } else {
              hash[item.name] = true;
              formItem[item.name] = [item.value];
            }
          } else {
            if (!hash[item.name]) {
              formItem[item.name] = [];
            }
          }

          return;
        }

        formItem[item.name] = item.value;
      }.bind(this));
      var textareaElements = formDom.getElementsByTagName('textarea');
      var textareaEleArr = [];

      for (var i = 0; i < textareaElements.length; i++) {
        textareaEleArr.push(textareaElements[i]);
      }

      textareaEleArr.forEach(function (v) {
        _newArrowCheck(this, _this2);

        formItem[v.name] = v.value;
      }.bind(this));
      Object.defineProperty(e, 'detail', {
        enumerable: true,
        value: {
          value: formItem
        }
      });
      this.props.onSubmit(e);
    }
  }, {
    key: "onReset",
    value: function onReset(e) {
      e.preventDefault();
      this.props.onReset();
    }
  }, {
    key: "render",
    value: function render() {
      var _this$props = this.props,
          className = _this$props.className,
          style = _this$props.style;
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("form", {
        className: className,
        style: style,
        onSubmit: this.onSubmit,
        onReset: this.onReset
      }, this.props.children);
    }
  }]);

  return Form;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (Form);

/***/ }),
/* 54 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }



var RadioGroup =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(RadioGroup, _Nerv$Component);

  function RadioGroup() {
    var _this;

    _classCallCheck(this, RadioGroup);

    _this = _possibleConstructorReturn(this, _getPrototypeOf(RadioGroup).apply(this, arguments)); // this.state = {
    //   value: []
    // }

    _this.uniqueName = Date.now().toString(36);
    _this.radioValue = [];
    _this.toggleChange = _this.toggleChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));
    return _this;
  }

  _createClass(RadioGroup, [{
    key: "toggleChange",
    value: function toggleChange(e, i) {
      var _this2 = this;

      var checkValue;

      var _value = this.radioValue.map(function (item, idx) {
        _newArrowCheck(this, _this2);

        if (e.target.value === item.value) {
          checkValue = item.value;
          return {
            name: item.name,
            value: item.value,
            checked: !item.checked
          };
        }

        return item;
      }.bind(this));

      this.radioValue = _value;
      var onChange = this.props.onChange;
      Object.defineProperty(e, 'detail', {
        enumerable: true,
        value: {
          value: checkValue
        }
      });
      onChange && onChange(e);
    }
  }, {
    key: "render",
    value: function render() {
      var _this3 = this;

      var _this$props$name = this.props.name,
          name = _this$props$name === void 0 ? this.uniqueName : _this$props$name; // 给 children 绑定事件

      var children = __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Children.toArray(this.props.children).map(function (item, i) {
        var _this4 = this;

        _newArrowCheck(this, _this3);

        var _key = item.props.for;
        var chd = __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Children.toArray(item.props.children).map(function (ch) {
          var _this5 = this;

          _newArrowCheck(this, _this4);

          if (ch.name === 'Radio') {
            if (ch.props.checked) {
              this.radioValue[i] = {
                name: ch.props.name,
                value: ch.props.value,
                checked: true
              };
            } else {
              this.radioValue[i] = {
                name: ch.props.name,
                value: ch.props.value,
                checked: false
              };
            }

            return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.cloneElement(ch, {
              onChange: function onChange(e) {
                _newArrowCheck(this, _this5);

                return this.toggleChange(e, i);
              }.bind(this),
              for: _key,
              name: name
            });
          }

          return ch;
        }.bind(this));
        return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.cloneElement(item, '', chd);
      }.bind(this));
      /* TODO 规避Nerv数组diff问题 */

      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "weui-cells_radiogroup"
      }, children);
    }
  }]);

  return RadioGroup;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (RadioGroup);

/***/ }),
/* 55 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }



var CheckboxGroup =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(CheckboxGroup, _Nerv$Component);

  function CheckboxGroup() {
    var _this;

    _classCallCheck(this, CheckboxGroup);

    _this = _possibleConstructorReturn(this, _getPrototypeOf(CheckboxGroup).apply(this, arguments));
    _this.state = {
      value: []
    };
    _this.uniqueName = Date.now().toString(36);
    _this.toggleChange = _this.toggleChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));
    return _this;
  }

  _createClass(CheckboxGroup, [{
    key: "toggleChange",
    value: function toggleChange(e, i) {
      var _this2 = this;

      this.state.value[i] = {
        name: e.target.textContent,
        value: e.target.value,
        checked: e.target.checked
      };
      var resp = [];
      this.state.value.forEach(function (v) {
        _newArrowCheck(this, _this2);

        if (v.checked) {
          resp.push(v.value);
        }
      }.bind(this));
      var onChange = this.props.onChange;
      Object.defineProperty(e, 'detail', {
        enumerable: true,
        value: {
          value: resp
        }
      });
      onChange && onChange(e);
    }
  }, {
    key: "render",
    value: function render() {
      var _this3 = this;

      var _this$props$name = this.props.name,
          name = _this$props$name === void 0 ? this.uniqueName : _this$props$name; // 给 children 绑定事件

      var children = __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Children.toArray(this.props.children).map(function (item, i) {
        var _this4 = this;

        _newArrowCheck(this, _this3);

        var _key = item.props.for;
        var chd = __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Children.toArray(item.props.children).map(function (ch) {
          var _this5 = this;

          _newArrowCheck(this, _this4);

          if (ch.name === 'Checkbox') {
            if (ch.props.checked) {
              this.state.value[i] = {
                name: ch.props.name,
                value: ch.props.value,
                checked: true
              };
            } else {
              this.state.value[i] = {
                name: ch.props.name,
                value: ch.props.value,
                checked: false
              };
            }

            return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.cloneElement(ch, {
              onChange: function onChange(e) {
                _newArrowCheck(this, _this5);

                return this.toggleChange(e, i);
              }.bind(this),
              for: _key,
              name: name
            });
          }

          return ch;
        }.bind(this));
        return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.cloneElement(item, '', chd);
      }.bind(this));
      return children;
    }
  }]);

  return CheckboxGroup;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (CheckboxGroup);

/***/ }),
/* 56 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__style__ = __webpack_require__(57);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__style___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__style__);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }





function fixPagePath(pagePath) {
  return pagePath.replace(/^\.?\//, '');
}

var Tabbar =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(Tabbar, _Nerv$Component);

  function Tabbar(props) {
    var _this;

    _classCallCheck(this, Tabbar);

    _this = _possibleConstructorReturn(this, _getPrototypeOf(Tabbar).apply(this, arguments));
    var list = props.conf.list;

    if (Object.prototype.toString.call(list) !== '[object Array]' || list.length < 2 || list.length > 5) {
      throw new Error('tabBar 配置错误');
    }

    _this.homePage = fixPagePath(props.homePage);
    _this.state = {
      list: list,
      isShow: false,
      selectedIndex: 0
    };
    return _this;
  }

  _createClass(Tabbar, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      this.bindEvent();
      this.hashChangeHandler();
    }
  }, {
    key: "componentUnMount",
    value: function componentUnMount() {
      this.removeEvent();
    }
  }, {
    key: "hashChangeHandler",
    value: function hashChangeHandler() {
      var hash = location.hash;
      var homePage = hash ? hash.replace(/^#\//, '') : this.homePage;
      var len = this.state.list.length;

      for (var i = 0; i < len; i++) {
        if (this.state.list[i].pagePath.indexOf(homePage) > -1) {
          return this.setState({
            isShow: true,
            selectedIndex: i
          });
        }
      }

      this.setState({
        isShow: false
      });
    }
  }, {
    key: "hideBar",
    value: function hideBar() {
      this.setState({
        isShow: false
      });
    }
  }, {
    key: "showBar",
    value: function showBar() {
      this.setState({
        isShow: true
      });
    }
  }, {
    key: "bindEvent",
    value: function bindEvent() {
      window.addEventListener('hashchange', this.hashChangeHandler.bind(this));
    }
  }, {
    key: "removeEvent",
    value: function removeEvent() {
      window.removeEventListener('hashchange', this.hashChangeHandler.bind(this));
    }
  }, {
    key: "render",
    value: function render() {
      var _this2 = this;

      var _this$props = this.props,
          conf = _this$props.conf,
          _this$props$router = _this$props.router,
          router = _this$props$router === void 0 ? {} : _this$props$router;

      function handleSelect(index, e) {
        var list = this.state.list;
        router.navigateTo && router.navigateTo({
          url: (/^\//.test(list[index].pagePath) ? '' : '/') + list[index].pagePath
        });
      }

      conf.borderStyle = conf.borderStyle || 'black';
      var containerCls = __WEBPACK_IMPORTED_MODULE_1_classnames___default()('weui-tabbar', _defineProperty({}, "taro-tabbar__border-".concat(conf.borderStyle), true));
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: "taro-tabbar__tabbar",
        style: {
          display: this.state.isShow ? '' : 'none'
        }
      }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("div", {
        className: containerCls,
        style: {
          backgroundColor: conf.backgroundColor || ''
        }
      }, this.state.list.map(function (item, index) {
        _newArrowCheck(this, _this2);

        var cls = __WEBPACK_IMPORTED_MODULE_1_classnames___default()('weui-tabbar__item', _defineProperty({}, "weui-bar__item_on", this.state.selectedIndex === index));
        var textStyle = {
          color: this.state.selectedIndex === index ? conf.selectedColor : conf.color || ''
        };
        return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("a", {
          key: index,
          href: "javascript:;",
          className: cls,
          onClick: handleSelect.bind(this, index)
        }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("span", {
          style: "display: inline-block;position: relative;"
        }, __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("img", {
          src: this.state.selectedIndex === index ? item.selectedIconPath : item.iconPath,
          alt: "",
          className: "weui-tabbar__icon"
        })), __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement("p", {
          className: "weui-tabbar__label",
          style: textStyle
        }, item.text));
      }.bind(this))));
    }
  }]);

  return Tabbar;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);

/* harmony default export */ __webpack_exports__["a"] = (Tabbar);

/***/ }),
/* 57 */
/***/ (function(module, exports, __webpack_require__) {


var content = __webpack_require__(58);

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"insertAt":"top","hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__(4)(content, options);

if(content.locals) module.exports = content.locals;

if(false) {
	module.hot.accept("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss", function() {
		var newContent = require("!!../../../../../../node_modules/css-loader/index.js!../../../../../../node_modules/sass-loader/lib/loader.js!./index.scss");

		if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];

		var locals = (function(a, b) {
			var key, idx = 0;

			for(key in a) {
				if(!b || a[key] !== b[key]) return false;
				idx++;
			}

			for(key in b) idx--;

			return idx === 0;
		}(content.locals, newContent.locals));

		if(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');

		update(newContent);
	});

	module.hot.dispose(function() { update(); });
}

/***/ }),
/* 58 */
/***/ (function(module, exports, __webpack_require__) {

exports = module.exports = __webpack_require__(3)(false);
// imports


// module
exports.push([module.i, "html, body {\n  height: 100%; }\n\n#app {\n  height: 100%; }\n\n.taro-tabbar__border-white::before {\n  border-top-color: #fff !important; }\n\n.taro-tabbar__container {\n  display: flex;\n  height: 100%;\n  flex-direction: column; }\n\n.taro-tabbar__panel {\n  flex: 1;\n  position: relative;\n  overflow: auto;\n  -webkit-overflow-scrolling: touch; }\n\n.taro-tabbar__tabbar {\n  position: relative;\n  height: 50px;\n  width: 100%; }\n", ""]);

// exports


/***/ }),
/* 59 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return TabbarContainer; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__view__ = __webpack_require__(5);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }





var TabbarContainer =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(TabbarContainer, _Nerv$Component);

  function TabbarContainer() {
    _classCallCheck(this, TabbarContainer);

    return _possibleConstructorReturn(this, _getPrototypeOf(TabbarContainer).apply(this, arguments));
  }

  _createClass(TabbarContainer, [{
    key: "render",
    value: function render() {
      var _this$props = this.props,
          children = _this$props.children,
          className = _this$props.className,
          reset = _objectWithoutProperties(_this$props, ["children", "className"]);

      var cls = __WEBPACK_IMPORTED_MODULE_1_classnames___default()('taro-tabbar__container', className);
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__view__["a" /* default */], _extends({
        className: cls
      }, reset), children);
    }
  }]);

  return TabbarContainer;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);



/***/ }),
/* 60 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return TabbarPanel; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_nervjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_nervjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__view__ = __webpack_require__(5);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }





var TabbarPanel =
/*#__PURE__*/
function (_Nerv$Component) {
  _inherits(TabbarPanel, _Nerv$Component);

  function TabbarPanel() {
    _classCallCheck(this, TabbarPanel);

    return _possibleConstructorReturn(this, _getPrototypeOf(TabbarPanel).apply(this, arguments));
  }

  _createClass(TabbarPanel, [{
    key: "render",
    value: function render() {
      var _this$props = this.props,
          children = _this$props.children,
          className = _this$props.className,
          reset = _objectWithoutProperties(_this$props, ["children", "className"]);

      var cls = __WEBPACK_IMPORTED_MODULE_1_classnames___default()('taro-tabbar__panel', className);
      return __WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__view__["a" /* default */], _extends({
        className: cls
      }, reset), children);
    }
  }]);

  return TabbarPanel;
}(__WEBPACK_IMPORTED_MODULE_0_nervjs___default.a.Component);



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