可查看链接 https://zhuanlan.zhihu.com/p/22006728
css样式
body .picker {
z-index: 11 !important;
}
body .picker .picker-panel .picker-choose {
position: relative;
height: 2.5rem;
color: #878787;
font-size: 1rem;
}
body .picker .picker-panel .wheel-wrapper .wheel {
-webkit-box-flex: 1;
flex: 1;
width: 1%;
height: 9.5rem;
overflow: hidden;
font-size: 1.3rem;
}
body .picker .picker-panel .wheel-wrapper .wheel .wheel-scroll {
margin-top: 3.9rem;
line-height: 1.7rem;
}
body .picker .picker-panel .wheel-wrapper .wheel .wheel-scroll .wheel-item {
height: 2.01rem;
}
body .picker .picker-panel .picker-content .mask-bottom,
body .picker .picker-panel .picker-content .mask-top {
height: 3.7rem;
}
body .picker .picker-panel .picker-choose .confirm {
right: 0;
color: #fc6e27;
}
body .picker .picker-panel .picker-choose .cancel,
body .picker .picker-panel .picker-choose .confirm {
padding: 0.55rem 1rem;
}
body .picker .picker-mask.show {
background: rgba(0, 0, 0, 0.2);
opacity: 1;
}
js源码
!function (e, t) {
"object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.Picker = t() : e.Picker = t()}(this, function () {
return function (e) {
function t(n) {
if (i[n])return i[n].exports;
var r = i[n] = {exports: {}, id: n, loaded: !1};
return e[n].call(r.exports, r, r.exports, t), r.loaded = !0, r.exports
}
var i = {};
return t.m = e, t.c = i, t.p = "", t(0)
}([function (e, t, i) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {default: e}
}
t.__esModule = !0;
var r = i(1), o = n(r);
o.default.version = "1.1.2", t.default = o.default, e.exports = t.default
}, function (e, t, i) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {default: e}
}
function r(e, t) {
if (!(e instanceof t))throw new TypeError("Cannot call a class as a function")
}
function o(e, t) {
if (!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return !t || "object" != typeof t && "function" != typeof t ? e : t
}
function s(e, t) {
if ("function" != typeof t && null !== t)throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
t.__esModule = !0;
var a = function () {
function e(e, t) {
for (var i = 0; i < t.length; i++) {
var n = t[i];
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n)
}
}
return function (t, i, n) {
return i && e(t.prototype, i), n && e(t, n), t
}
}(), l = i(2), h = n(l), c = i(3), p = n(c), u = i(4), f = i(5), d = i(6), m = n(d), v = i(14), g = n(v);
i(15);
var y = function (e) {
function t(e) {
r(this, t);
var i = o(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));
return i.options = {
data: [],
title: "",
selectedIndex: null,
showCls: "show"
}, (0, u.extend)(i.options, e), i.data = i.options.data, i.pickerEl = (0, f.createDom)((0, m.default)({
data: i.data,
title: i.options.title
})), document.body.appendChild(i.pickerEl), i.maskEl = i.pickerEl.getElementsByClassName("mask-hook")[0], i.wheelEl = i.pickerEl.getElementsByClassName("wheel-hook"), i.panelEl = i.pickerEl.getElementsByClassName("panel-hook")[0], i.confirmEl = i.pickerEl.getElementsByClassName("confirm-hook")[0], i.cancelEl = i.pickerEl.getElementsByClassName("cancel-hook")[0], i.scrollEl = i.pickerEl.getElementsByClassName("wheel-scroll-hook"), i._init(), i
}
return s(t, e), a(t, [{
key: "_init", value: function () {
if (this.selectedIndex = [], this.selectedVal = [], this.options.selectedIndex) this.selectedIndex = this.options.selectedIndex; else for (var e = 0; e < this.data.length; e++)this.selectedIndex[e] = 0;
this._bindEvent()
}
}, {
key: "_bindEvent", value: function () {
var e = this;
(0, f.addEvent)(this.pickerEl, "touchmove", function (e) {
e.preventDefault()
}), (0, f.addEvent)(this.confirmEl, "click", function () {
e.hide();
for (var t = !1, i = 0; i < e.data.length; i++) {
var n = e.wheels[i].getSelectedIndex();
e.selectedIndex[i] = n;
var r = null;
e.data[i].length && (r = e.data[i][n].value), e.selectedVal[i] !== r && (t = !0), e.selectedVal[i] = r
}
e.trigger("picker.select", e.selectedVal, e.selectedIndex), t && e.trigger("picker.valuechange", e.selectedVal, e.selectedIndex)
}), (0, f.addEvent)(this.cancelEl, "click", function () {
e.hide(), e.trigger("picker.cancel")
})
}
}, {
key: "_createWheel", value: function (e, t) {
var i = this;
return this.wheels[t] = new h.default(e[t], {
wheel: !0,
selectedIndex: this.selectedIndex[t]
}), function (e) {
i.wheels[e].on("scrollEnd", function () {
var n = i.wheels[e].getSelectedIndex();
i.selectedIndex[t] !== n && (i.selectedIndex[t] = n, i.trigger("picker.change", e, n))
})
}(t), this.wheels[t]
}
}, {
key: "show", value: function (e) {
var t = this;
this.pickerEl.style.display = "block";
var i = this.options.showCls;
window.setTimeout(function () {
if ((0, f.addClass)(t.maskEl, i), (0, f.addClass)(t.panelEl, i), t.wheels)for (var n = 0; n < t.data.length; n++)t.wheels[n].enable(), t.wheels[n].wheelTo(t.selectedIndex[n]); else {
t.wheels = [];
for (var r = 0; r < t.data.length; r++)t._createWheel(t.wheelEl, r)
}
e && e()
}, 0)
}
}, {
key: "hide", value: function () {
var e = this, t = this.options.showCls;
(0, f.removeClass)(this.maskEl, t), (0, f.removeClass)(this.panelEl, t), window.setTimeout(function () {
e.pickerEl.style.display = "none";
for (var t = 0; t < e.data.length; t++)e.wheels[t].disable()
}, 500)
}
}, {
key: "refillColumn", value: function (e, t) {
var i = this.scrollEl[e], n = this.wheels[e];
if (i && n) {
var r = this.data[e];
this.data[e] = t, i.innerHTML = (0, g.default)(t);
var o = n.getSelectedIndex(), s = 0;
if (r.length)for (var a = r[o].value, l = 0; l < t.length; l++)if (t[l].value === a) {
s = l;
break
}
return this.selectedIndex[e] = s, n.refresh(), n.wheelTo(s), s
}
}
}, {
key: "refill", value: function (e) {
var t = this, i = [];
return e.length ? (e.forEach(function (e, n) {
i[n] = t.refillColumn(n, e)
}), i) : i
}
}, {
key: "scrollColumn", value: function (e, t) {
var i = this.wheels[e];
i.wheelTo(t)
}
}]), t
}(p.default);
t.default = y, e.exports = t.default
}, function (e, t, i) {
!function (t, i) {
e.exports = i()
}(this, function () {
return function (e) {
function t(n) {
if (i[n])return i[n].exports;
var r = i[n] = {exports: {}, id: n, loaded: !1};
return e[n].call(r.exports, r, r.exports, t), r.loaded = !0, r.exports
}
var i = {};
return t.m = e, t.c = i, t.p = "/assets/", t(0)
}([function (e, t, i) {
"use strict";
var n = i(1);
n.BScroll.Version = "0.1.14", e.exports = n.BScroll
}, function (e, t, i) {
"use strict";
function n(e, t) {
if (!(e instanceof t))throw new TypeError("Cannot call a class as a function")
}
function r(e, t) {
if (!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return !t || "object" != typeof t && "function" != typeof t ? e : t
}
function o(e, t) {
if ("function" != typeof t && null !== t)throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
Object.defineProperty(t, "__esModule", {value: !0}), t.BScroll = void 0;
var s = function () {
function e(e, t) {
for (var i = 0; i < t.length; i++) {
var n = t[i];
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n)
}
}
return function (t, i, n) {
return i && e(t.prototype, i), n && e(t, n), t
}
}(), a = i(2), l = 1;
t.BScroll = function (e) {
function t(e, i) {
n(this, t);
var o = r(this, Object.getPrototypeOf(t).call(this));
return o.wrapper = "string" == typeof e ? document.querySelector(e) : e, o.scroller = o.wrapper.children[0], o.scrollerStyle = o.scroller.style, o.options = {
startX: 0,
startY: 0,
scrollY: !0,
directionLockThreshold: 5,
momentum: !0,
bounce: !0,
selectedIndex: 0,
rotate: 25,
wheel: !1,
snap: !1,
snapLoop: !1,
snapThreshold: .1,
swipeTime: 2500,
bounceTime: 700,
adjustTime: 400,
swipeBounceTime: 1200,
deceleration: .001,
momentumLimitTime: 300,
momentumLimitDistance: 15,
resizePolling: 60,
preventDefault: !0,
preventDefaultException: {tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/},
HWCompositing: !0,
useTransition: !0,
useTransform: !0
}, (0, a.extend)(o.options, i), o.translateZ = o.options.HWCompositing && a.hasPerspective ? " translateZ(0)" : "", o.options.useTransition = o.options.useTransition && a.hasTransition, o.options.useTransform = o.options.useTransform && a.hasTransform, o.options.eventPassthrough = o.options.eventPassthrough === !0 ? "vertical" : o.options.eventPassthrough, o.options.preventDefault = !o.options.eventPassthrough && o.options.preventDefault, o.options.scrollX = "horizontal" !== o.options.eventPassthrough && o.options.scrollX, o.options.scrollY = "vertical" !== o.options.eventPassthrough && o.options.scrollY, o.options.freeScroll = o.options.freeScroll && !o.options.eventPassthrough, o.options.directionLockThreshold = o.options.eventPassthrough ? 0 : o.options.directionLockThreshold, o.options.tap === !0 && (o.options.tap = "tap"), o._init(), o.options.snap && o._initSnap(), o.refresh(), o.options.snap || o.scrollTo(o.options.startX, o.options.startY), o.enable(), o
}
return o(t, e), s(t, [{
key: "_init", value: function () {
this.x = 0, this.y = 0, this.directionX = 0, this.directionY = 0, this._addEvents()
}
}, {
key: "_initSnap", value: function () {
var e = this;
if (this.currentPage = {}, this.options.snapLoop) {
var t = this.scroller.children;
t.length > 0 && ((0, a.prepend)(t[t.length - 1].cloneNode(!0), this.scroller), this.scroller.appendChild(t[1].cloneNode(!0)))
}
"string" == typeof this.options.snap && (this.options.snap = this.scroller.querySelectorAll(this.options.snap)), this.on("refresh", function () {
if (e.pages = [], e.wrapperWidth && e.wrapperHeight && e.scrollerWidth && e.scrollerHeight) {
var t = e.options.snapStepX || e.wrapperWidth, i = e.options.snapStepY || e.wrapperHeight, n = 0, r = void 0, o = void 0, s = void 0, l = 0, h = void 0, c = 0, p = void 0, u = void 0, f = void 0;
if (e.options.snap === !0)for (o = Math.round(t / 2), s = Math.round(i / 2); n > -e.scrollerWidth;) {
for (e.pages[l] = [], h = 0, r = 0; r > -e.scrollerHeight;)e.pages[l][h] = {
x: Math.max(n, e.maxScrollX),
y: Math.max(r, e.maxScrollY),
width: t,
height: i,
cx: n - o,
cy: r - s
}, r -= i, h++;
n -= t, l++
} else for (u = e.options.snap, h = u.length, p = -1; l < h; l++)f = (0, a.getRect)(u[l]), (0 === l || f.left <= (0, a.getRect)(u[l - 1]).left) && (c = 0, p++), e.pages[c] || (e.pages[c] = []), n = Math.max(-f.left, e.maxScrollX), r = Math.max(-f.top, e.maxScrollY), o = n - Math.round(f.width / 2), s = r - Math.round(f.height / 2), e.pages[c][p] = {
x: n,
y: r,
width: f.width,
height: f.height,
cx: o,
cy: s
}, n > e.maxScrollX && c++;
var d = e.options.snapLoop ? 1 : 0;
e.goToPage(e.currentPage.pageX || d, e.currentPage.pageY || 0, 0), e.options.snapThreshold % 1 === 0 ? (e.snapThresholdX = e.options.snapThreshold, e.snapThresholdY = e.options.snapThreshold) : (e.snapThresholdX = Math.round(e.pages[e.currentPage.pageX][e.currentPage.pageY].width * e.options.snapThreshold), e.snapThresholdY = Math.round(e.pages[e.currentPage.pageX][e.currentPage.pageY].height * e.options.snapThreshold))
}
}), this.on("scrollEnd", function () {
e.options.snapLoop && (0 === e.currentPage.pageX && e.goToPage(e.pages.length - 2, e.currentPage.pageY, 0), e.currentPage.pageX === e.pages.length - 1 && e.goToPage(1, e.currentPage.pageY, 0))
}), this.on("flick", function () {
var t = e.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(e.x - e.startX), 1e3), Math.min(Math.abs(e.y - e.startY), 1e3)), 300);
e.goToPage(e.currentPage.pageX + e.directionX, e.currentPage.pageY + e.directionY, t)
})
}
}, {
key: "_nearestSnap", value: function (e, t) {
if (!this.pages.length)return {x: 0, y: 0, pageX: 0, pageY: 0};
var i = 0;
if (Math.abs(e - this.absStartX) < this.snapThresholdX && Math.abs(t - this.absStartY) < this.snapThresholdY)return this.currentPage;
e > 0 ? e = 0 : e < this.maxScrollX && (e = this.maxScrollX), t > 0 ? t = 0 : t < this.maxScrollY && (t = this.maxScrollY);
for (var n = this.pages.length; i < n; i++)if (e >= this.pages[i][0].cx) {
e = this.pages[i][0].x;
break
}
n = this.pages[i].length;
for (var r = 0; r < n; r++)if (t >= this.pages[0][r].cy) {
t = this.pages[0][r].y;
break
}
return i === this.currentPage.pageX && (i += this.directionX, i < 0 ? i = 0 : i >= this.pages.length && (i = this.pages.length - 1), e = this.pages[i][0].x), r === this.currentPage.pageY && (r += this.directionY, r < 0 ? r = 0 : r >= this.pages[0].length && (r = this.pages[0].length - 1), t = this.pages[0][r].y), {
x: e,
y: t,
pageX: i,
pageY: r
}
}
}, {
key: "_addEvents", value: function () {
var e = a.addEvent;
this._handleEvents(e)
}
}, {
key: "_removeEvents", value: function () {
var e = a.removeEvent;
this._handleEvents(e)
}
}, {
key: "_handleEvents", value: function (e) {
var t = this.options.bindToWrapper ? this.wrapper : window;
e(window, "orientationchange", this), e(window, "resize", this), this.options.click && e(this.wrapper, "click", this), this.options.disableMouse || (e(this.wrapper, "mousedown", this), e(t, "mousemove", this), e(t, "mousecancel", this), e(t, "mouseup", this)), a.hasTouch && !this.options.disableTouch && (e(this.wrapper, "touchstart", this), e(t, "touchmove", this), e(t, "touchcancel", this), e(t, "touchend", this)), e(this.scroller, a.style.transitionEnd, this)
}
}, {
key: "_start", value: function (e) {
var t = a.eventType[e.type];
if ((t === l || 0 === e.button) && this.enabled && (!this.initiated || this.initiated === t)) {
if (this.initiated = t, !this.options.preventDefault || a.isBadAndroid || (0, a.preventDefaultException)(e.target, this.options.preventDefaultException) || e.preventDefault(), this.moved = !1, this.distX = 0, this.distY = 0, this.directionX = 0, this.directionY = 0, this.directionLocked = 0, this._transitionTime(), this.startTime = +new Date, this.options.wheel && (this.target = e.target), this.options.useTransition && this.isInTransition) {
this.isInTransition = !1;
var i = this.getComputedPosition();
this._translate(i.x, i.y), this.options.wheel ? this.target = this.items[Math.round(-i.y / this.itemHeight)] : this.trigger("scrollEnd")
}
var n = e.touches ? e.touches[0] : e;
this.startX = this.x, this.startY = this.y, this.absStartX = this.x, this.absStartY = this.y, this.pointX = n.pageX, this.pointY = n.pageY, this.trigger("beforeScrollStart")
}
}
}, {
key: "_move", value: function (e) {
if (this.enabled && a.eventType[e.type] === this.initiated) {
this.options.preventDefault && e.preventDefault();
var t = e.touches ? e.touches[0] : e, i = t.pageX - this.pointX, n = t.pageY - this.pointY;
this.pointX = t.pageX, this.pointY = t.pageY, this.distX += i, this.distY += n;
var r = Math.abs(this.distX), o = Math.abs(this.distY), s = +new Date;
if (!(s - this.endTime > this.options.momentumLimitTime && o < this.options.momentumLimitDistance && r < this.options.momentumLimitDistance)) {
if (this.directionLocked || this.options.freeScroll || (r > o + this.options.directionLockThreshold ? this.directionLocked = "h" : o >= r + this.options.directionLockThreshold ? this.directionLocked = "v" : this.directionLocked = "n"), "h" === this.directionLocked) {
if ("vertical" === this.options.eventPassthrough) e.preventDefault(); else if ("horizontal" === this.options.eventPassthrough)return void(this.initiated = !1);
n = 0
} else if ("v" === this.directionLocked) {
if ("horizontal" === this.options.eventPassthrough) e.preventDefault(); else if ("vertical" === this.options.eventPassthrough)return void(this.initiated = !1);
i = 0
}
i = this.hasHorizontalScroll ? i : 0, n = this.hasVerticalScroll ? n : 0;
var l = this.x + i, h = this.y + n;
(l > 0 || l < this.maxScrollX) && (l = this.options.bounce ? this.x + i / 3 : l > 0 ? 0 : this.maxScrollX), (h > 0 || h < this.maxScrollY) && (h = this.options.bounce ? this.y + n / 3 : h > 0 ? 0 : this.maxScrollY), this.directionX = i > 0 ? -1 : i < 0 ? 1 : 0, this.directionY = n > 0 ? -1 : n < 0 ? 1 : 0, this.moved || (this.moved = !0, this.trigger("scrollStart")), this._translate(l, h), s - this.startTime > this.options.momentumLimitTime && (this.startTime = s, this.startX = this.x, this.startY = this.y, 1 === this.options.probeType && this.trigger("scroll", {
x: this.x,
y: this.y
})), this.options.probeType > 1 && this.trigger("scroll", {x: this.x, y: this.y});
var c = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft, p = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop, u = this.pointX - c, f = this.pointY - p;
(u > document.documentElement.clientWidth - this.options.momentumLimitDistance || u < this.options.momentumLimitDistance || f < this.options.momentumLimitDistance || f > document.documentElement.clientHeight - this.options.momentumLimitDistance) && this._end(e)
}
}
}
}, {
key: "_end", value: function (e) {
if (this.enabled && a.eventType[e.type] === this.initiated && (this.initiated = !1, this.options.preventDefault && !(0, a.preventDefaultException)(e.target, this.options.preventDefaultException) && e.preventDefault(), this.trigger("touchend", {
x: this.x,
y: this.y
}), !this.resetPosition(this.options.bounceTime, a.ease.bounce))) {
this.isInTransition = !1;
var t = Math.round(this.x), i = Math.round(this.y);
if (!this.moved) {
if (this.options.wheel) {
if (this.target && "wheel-scroll" === this.target.className) {
var n = Math.abs(Math.round(i / this.itemHeight)), r = Math.round((this.pointY + (0, a.offset)(this.target).top - this.itemHeight / 2) / this.itemHeight);
this.target = this.items[n + r]
}
this.scrollToElement(this.target, this.options.adjustTime, !0, !0, a.ease.swipe)
} else this.options.tap && (0, a.tap)(e, this.options.tap), this.options.click && (0, a.click)(e);
return void this.trigger("scrollCancel")
}
this.scrollTo(t, i), this.endTime = +new Date;
var o = this.endTime - this.startTime, s = Math.abs(t - this.startX), l = Math.abs(i - this.startY);
if (this._events.flick && o < this.options.momentumLimitTime && s < this.options.momentumLimitDistance && l < this.options.momentumLimitDistance)return void this.trigger("flick");
var h = 0;
if (this.options.momentum && o < this.options.momentumLimitTime && (l > this.options.momentumLimitDistance || s > this.options.momentumLimitDistance)) {
var c = this.hasHorizontalScroll ? (0, a.momentum)(this.x, this.startX, o, this.maxScrollX, this.options.bounce ? this.wrapperWidth : 0, this.options) : {
destination: t,
duration: 0
}, p = this.hasVerticalScroll ? (0, a.momentum)(this.y, this.startY, o, this.maxScrollY, this.options.bounce ? this.wrapperHeight : 0, this.options) : {
destination: i,
duration: 0
};
t = c.destination, i = p.destination, h = Math.max(c.duration, p.duration), this.isInTransition = 1
} else this.options.wheel && (i = Math.round(i / this.itemHeight) * this.itemHeight, h = this.options.adjustTime);
var u = a.ease.swipe;
if (this.options.snap) {
var f = this._nearestSnap(t, i);
this.currentPage = f, h = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(t - f.x), 1e3), Math.min(Math.abs(i - f.y), 1e3)), 300), t = f.x, i = f.y, this.directionX = 0, this.directionY = 0, u = a.ease.bounce
}
if (t !== this.x || i !== this.y)return (t > 0 || t < this.maxScrollX || i > 0 || i < this.maxScrollY) && (u = a.ease.swipeBounce), void this.scrollTo(t, i, h, u);
this.options.wheel && (this.selectedIndex = 0 | Math.abs(this.y / this.itemHeight)), this.trigger("scrollEnd")
}
}
}, {
key: "_resize", value: function () {
var e = this;
this.enabled && (clearTimeout(this.resizeTimeout), this.resizeTimeout = setTimeout(function () {
e.refresh()
}, this.options.resizePolling))
}
}, {
key: "_startProbe", value: function () {
function e() {
var i = t.getComputedPosition();
t.trigger("scroll", i), t.isInTransition && (t.probeTimer = (0, a.requestAnimationFrame)(e))
}
(0, a.cancelAnimationFrame)(this.probeTimer), this.probeTimer = (0, a.requestAnimationFrame)(e);
var t = this
}
}, {
key: "_transitionTime", value: function () {
var e = this, t = arguments.length <= 0 || void 0 === arguments[0] ? 0 : arguments[0];
if (this.scrollerStyle[a.style.transitionDuration] = t + "ms", this.options.wheel && !a.isBadAndroid)for (var i = 0; i < this.items.length; i++)this.items[i].style[a.style.transitionDuration] = t + "ms";
!t && a.isBadAndroid && (this.scrollerStyle[a.style.transitionDuration] = "0.001s", (0, a.requestAnimationFrame)(function () {
"0.0001ms" === e.scrollerStyle[a.style.transitionDuration] && (e.scrollerStyle[a.style.transitionDuration] = "0s")
}))
}
}, {
key: "_transitionTimingFunction", value: function (e) {
if (this.scrollerStyle[a.style.transitionTimingFunction] = e, this.options.wheel && !a.isBadAndroid)for (var t = 0; t < this.items.length; t++)this.items[t].style[a.style.transitionTimingFunction] = e
}
}, {
key: "_transitionEnd", value: function (e) {
e.target === this.scroller && this.isInTransition && (this._transitionTime(), this.resetPosition(this.options.bounceTime, a.ease.bounce) || (this.isInTransition = !1, this.trigger("scrollEnd")))
}
}, {
key: "_translate", value: function (e, t) {
if (this.options.useTransform ? this.scrollerStyle[a.style.transform] = "translate(" + e + "px," + t + "px)" + this.translateZ : (e = Math.round(e), t = Math.round(t), this.scrollerStyle.left = e + "px", this.scrollerStyle.top = t + "px"), this.options.wheel && !a.isBadAndroid)for (var i = 0; i < this.items.length; i++) {
var n = this.options.rotate * (t / this.itemHeight + i);
this.items[i].style[a.style.transform] = "rotateX(" + n + "deg)"
}
this.x = e, this.y = t
}
}, {
key: "enable", value: function () {
this.enabled = !0
}
}, {
key: "disable", value: function () {
this.enabled = !1
}
}, {
key: "refresh", value: function () {
this.wrapper.offsetHeight;
this.wrapperWidth = parseInt(this.wrapper.style.width) || this.wrapper.clientWidth, this.wrapperHeight = parseInt(this.wrapper.style.height) || this.wrapper.clientHeight, this.scrollerWidth = parseInt(this.scroller.style.width) || this.scroller.clientWidth, this.scrollerHeight = parseInt(this.scroller.style.height) || this.scroller.clientHeight, this.options.wheel ? (this.items = this.scroller.children, this.options.itemHeight = this.itemHeight = this.items.length ? this.items[0].clientHeight : 0, void 0 === this.selectedIndex && (this.selectedIndex = this.options.selectedIndex), this.options.startY = -this.selectedIndex * this.itemHeight, this.maxScrollX = 0, this.maxScrollY = -this.itemHeight * (this.items.length - 1)) : (this.maxScrollX = this.wrapperWidth - this.scrollerWidth, this.maxScrollY = this.wrapperHeight - this.scrollerHeight), this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < 0, this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < 0, this.hasHorizontalScroll || (this.maxScrollX = 0, this.scrollerWidth = this.wrapperWidth), this.hasVerticalScroll || (this.maxScrollY = 0, this.scrollerHeight = this.wrapperHeight), this.endTime = 0, this.directionX = 0, this.directionY = 0, this.wrapperOffset = (0, a.offset)(this.wrapper), this.trigger("refresh"), this.resetPosition()
}
}, {
key: "resetPosition", value: function () {
var e = arguments.length <= 0 || void 0 === arguments[0] ? 0 : arguments[0], t = arguments.length <= 1 || void 0 === arguments[1] ? a.ease.bounce : arguments[1], i = this.x;
!this.hasHorizontalScroll || i > 0 ? i = 0 : i < this.maxScrollX && (i = this.maxScrollX);
var n = this.y;
return !this.hasVerticalScroll || n > 0 ? n = 0 : n < this.maxScrollY && (n = this.maxScrollY), (i !== this.x || n !== this.y) && (this.scrollTo(i, n, e, t), !0)
}
}, {
key: "wheelTo", value: function (e) {
this.options.wheel && (this.y = -e * this.itemHeight, this.scrollTo(0, this.y))
}
}, {
key: "scrollBy", value: function (e, t) {
var i = arguments.length <= 2 || void 0 === arguments[2] ? 0 : arguments[2], n = arguments.length <= 3 || void 0 === arguments[3] ? a.ease.bounce : arguments[3];
e = this.x + e, t = this.y + t, this.scrollTo(e, t, i, n)
}
}, {
key: "scrollTo", value: function (e, t, i) {
var n = arguments.length <= 3 || void 0 === arguments[3] ? a.ease.bounce : arguments[3];
this.isInTransition = this.options.useTransition && i > 0 && (e !== this.x || t !== this.y), i && !this.options.useTransition || (this._transitionTimingFunction(n.style), this._transitionTime(i), this._translate(e, t), i && 3 === this.options.probeType && this._startProbe(), this.options.wheel && (t > 0 ? this.selectedIndex = 0 : t < this.maxScrollY ? this.selectedIndex = this.items.length - 1 : this.selectedIndex = 0 | Math.abs(t / this.itemHeight)))
}
}, {
key: "getSelectedIndex", value: function () {
return this.options.wheel && this.selectedIndex
}
}, {
key: "getCurrentPage", value: function () {
return this.options.snap && this.currentPage
}
}, {
key: "scrollToElement", value: function (e, t, i, n, r) {
if (e && (e = e.nodeType ? e : this.scroller.querySelector(e), !this.options.wheel || "wheel-item" === e.className)) {
var o = (0, a.offset)(e);
o.left -= this.wrapperOffset.left, o.top -= this.wrapperOffset.top, i === !0 && (i = Math.round(e.offsetWidth / 2 - this.wrapper.offsetWidth / 2)), n === !0 && (n = Math.round(e.offsetHeight / 2 - this.wrapper.offsetHeight / 2)), o.left -= i || 0, o.top -= n || 0, o.left = o.left > 0 ? 0 : o.left < this.maxScrollX ? this.maxScrollX : o.left, o.top = o.top > 0 ? 0 : o.top < this.maxScrollY ? this.maxScrollY : o.top, this.options.wheel && (o.top = Math.round(o.top / this.itemHeight) * this.itemHeight), t = void 0 === t || null === t || "auto" === t ? Math.max(Math.abs(this.x - o.left), Math.abs(this.y - o.top)) : t, this.scrollTo(o.left, o.top, t, r)
}
}
}, {
key: "getComputedPosition", value: function () {
var e = window.getComputedStyle(this.scroller, null), t = void 0, i = void 0;
return this.options.useTransform ? (e = e[a.style.transform].split(")")[0].split(", "), t = +(e[12] || e[4]), i = +(e[13] || e[5])) : (t = +e.left.replace(/[^-\d.]/g, ""), i = +e.top.replace(/[^-\d.]/g, "")), {
x: t,
y: i
}
}
}, {
key: "goToPage", value: function (e, t, i) {
var n = arguments.length <= 3 || void 0 === arguments[3] ? a.ease.bounce : arguments[3];
e >= this.pages.length ? e = this.pages.length - 1 : e < 0 && (e = 0), t >= this.pages[e].length ? t = this.pages[e].length - 1 : t < 0 && (t = 0);
var r = this.pages[e][t].x, o = this.pages[e][t].y;
i = void 0 === i ? this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(r - this.x), 1e3), Math.min(Math.abs(o - this.y), 1e3)), 300) : i, this.currentPage = {
x: r,
y: o,
pageX: e,
pageY: t
}, this.scrollTo(r, o, i, n)
}
}, {
key: "next", value: function (e, t) {
var i = this.currentPage.pageX, n = this.currentPage.pageY;
i++, i >= this.pages.length && this.hasVerticalScroll && (i = 0, n++), this.goToPage(i, n, e, t)
}
}, {
key: "prev", value: function (e, t) {
var i = this.currentPage.pageX, n = this.currentPage.pageY;
i--, i < 0 && this.hasVerticalScroll && (i = 0, n--), this.goToPage(i, n, e, t)
}
}, {
key: "destroy", value: function () {
this._removeEvents(), this.trigger("destroy")
}
}, {
key: "handleEvent", value: function (e) {
switch (e.type) {
case"touchstart":
case"mousedown":
this._start(e);
break;
case"touchmove":
case"mousemove":
this._move(e);
break;
case"touchend":
case"mouseup":
case"touchcancel":
case"mousecancel":
this._end(e);
break;
case"orientationchange":
case"resize":
this._resize();
break;
case"transitionend":
case"webkitTransitionEnd":
case"oTransitionEnd":
case"MSTransitionEnd":
this._transitionEnd(e);
break;
case"click":
!this.enabled || e._constructed || /(SELECT|INPUT|TEXTAREA)/i.test(e.target.tagName) || (e.preventDefault(), e.stopPropagation())
}
}
}]), t
}(a.EventEmitter)
}, function (e, t, i) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
var n = i(3);
Object.keys(n).forEach(function (e) {
"default" !== e && "__esModule" !== e && Object.defineProperty(t, e, {
enumerable: !0,
get: function () {
return n[e]
}
})
});
var r = i(4);
Object.keys(r).forEach(function (e) {
"default" !== e && "__esModule" !== e && Object.defineProperty(t, e, {
enumerable: !0,
get: function () {
return r[e]
}
})
});
var o = i(5);
Object.keys(o).forEach(function (e) {
"default" !== e && "__esModule" !== e && Object.defineProperty(t, e, {
enumerable: !0,
get: function () {
return o[e]
}
})
});
var s = i(6);
Object.keys(s).forEach(function (e) {
"default" !== e && "__esModule" !== e && Object.defineProperty(t, e, {
enumerable: !0,
get: function () {
return s[e]
}
})
});
var a = i(7);
Object.keys(a).forEach(function (e) {
"default" !== e && "__esModule" !== e && Object.defineProperty(t, e, {
enumerable: !0,
get: function () {
return a[e]
}
})
});
var l = i(8);
Object.keys(l).forEach(function (e) {
"default" !== e && "__esModule" !== e && Object.defineProperty(t, e, {
enumerable: !0,
get: function () {
return l[e]
}
})
})
}, function (e, t) {
"use strict";
function i(e) {
return f !== !1 && ("standard" === f ? e : f + e.charAt(0).toUpperCase() + e.substr(1))
}
function n(e, t, i, n) {
e.addEventListener(t, i, {passive: !1, capture: !!n})
}
function r(e, t, i, n) {
e.removeEventListener(t, i, !!n)
}
function o(e) {
for (var t = 0, i = 0; e;)t -= e.offsetLeft, i -= e.offsetTop, e = e.offsetParent;
return {left: t, top: i}
}
function s(e) {
if (e instanceof window.SVGElement) {
var t = e.getBoundingClientRect();
return {top: t.top, left: t.left, width: t.width, height: t.height}
}
return {top: e.offsetTop, left: e.offsetLeft, width: e.offsetWidth, height: e.offsetHeight}
}
function a(e, t) {
for (var i in t)if (t[i].test(e[i]))return !0;
return !1
}
function l(e, t) {
var i = document.createEvent("Event");
i.initEvent(t, !0, !0), i.pageX = e.pageX, i.pageY = e.pageY, e.target.dispatchEvent(i)
}
function h(e) {
var t = e.target;
if (!/(SELECT|INPUT|TEXTAREA)/i.test(t.tagName)) {
var i = document.createEvent(window.MouseEvent ? "MouseEvents" : "Event");
i.initEvent("click", !0, !0), i._constructed = !0, t.dispatchEvent(i)
}
}
function c(e, t) {
t.firstChild ? p(e, t.firstChild) : t.appendChild(e)
}
function p(e, t) {
t.parentNode.insertBefore(e, t)
}
Object.defineProperty(t, "__esModule", {value: !0}), t.addEvent = n, t.removeEvent = r, t.offset = o, t.getRect = s, t.preventDefaultException = a, t.tap = l, t.click = h, t.prepend = c, t.before = p;
var u = document.createElement("div").style, f = function () {
var e = {
webkit: "webkitTransform",
Moz: "MozTransform",
O: "OTransform",
ms: "msTransform",
standard: "transform"
};
for (var t in e)if (void 0 !== u[e[t]])return t;
return !1
}(), d = i("transform"), m = (t.hasPerspective = i("perspective") in u, t.hasTouch = "ontouchstart" in window, t.hasTransform = d !== !1, t.hasTransition = i("transition") in u, t.style = {
transform: d,
transitionTimingFunction: i("transitionTimingFunction"),
transitionDuration: i("transitionDuration"),
transitionDelay: i("transitionDelay"),
transformOrigin: i("transformOrigin"),
transitionEnd: i("transitionEnd")
}, 1), v = 2;
t.eventType = {touchstart: m, touchmove: m, touchend: m, mousedown: v, mousemove: v, mouseup: v}
}, function (e, t) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
t.isBadAndroid = /Android /.test(window.navigator.appVersion) && !/Chrome\/\d/.test(window.navigator.appVersion)
}, function (e, t) {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
t.ease = {
swipe: {
style: "cubic-bezier(0.23, 1, 0.32, 1)", fn: function (e) {
return 1 + --e * e * e * e * e
}
}, swipeBounce: {
style: "cubic-bezier(0.25, 0.46, 0.45, 0.94)", fn: function (e) {
return e * (2 - e)
}
}, bounce: {
style: "cubic-bezier(0.165, 0.84, 0.44, 1)", fn: function (e) {
return 1 - --e * e * e * e
}
}
}
}, function (e, t) {
"use strict";
function i(e) {
if (Array.isArray(e)) {
for (var t = 0, i = Array(e.length); t < e.length; t++)i[t] = e[t];
return i
}
return Array.from(e)
}
function n(e, t) {
if (!(e instanceof t))throw new TypeError("Cannot call a class as a function")
}
Object.defineProperty(t, "__esModule", {value: !0});
var r = function () {
function e(e, t) {
var i = [], n = !0, r = !1, o = void 0;
try {
for (var s, a = e[Symbol.iterator](); !(n = (s = a.next()).done) && (i.push(s.value), !t || i.length !== t); n = !0);
} catch (e) {
r = !0, o = e
} finally {
try {
!n && a.return && a.return()
} finally {
if (r)throw o
}
}
return i
}
return function (t, i) {
if (Array.isArray(t))return t;
if (Symbol.iterator in Object(t))return e(t, i);
throw new TypeError("Invalid attempt to destructure non-iterable instance")
}
}(), o = function () {
function e(e, t) {
for (var i = 0; i < t.length; i++) {
var n = t[i];
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n)
}
}
return function (t, i, n) {
return i && e(t.prototype, i), n && e(t, n), t
}
}();
t.EventEmitter = function () {
function e() {
n(this, e), this._events = {}
}
return o(e, [{
key: "on", value: function (e, t) {
var i = arguments.length <= 2 || void 0 === arguments[2] ? this : arguments[2];
this._events[e] || (this._events[e] = []), this._events[e].push([t, i])
}
}, {
key: "once", value: function (e, t) {
function i() {
this.off(e, i), r || (r = !0, t.apply(n, arguments))
}
var n = arguments.length <= 2 || void 0 === arguments[2] ? this : arguments[2], r = !1;
this.on(e, i)
}
}, {
key: "off", value: function (e, t) {
var i = this._events[e];
if (i)for (var n = i.length; n--;)i[n][0] === t && (i[n][0] = void 0)
}
}, {
key: "trigger", value: function (e) {
var t = this._events[e];
if (t)for (var n = t.length, o = [].concat(i(t)), s = 0; s < n; s++) {
var a = o[s], l = r(a, 2), h = l[0], c = l[1];
h && h.apply(c, [].slice.call(arguments, 1))
}
}
}]), e
}()
}, function (e, t) {
"use strict";
function i(e, t, i, n, r, o) {
var s = e - t, a = Math.abs(s) / i, l = o.deceleration, h = o.itemHeight, c = o.swipeBounceTime, p = o.bounceTime, u = o.swipeTime, f = o.wheel ? 4 : 15, d = e + a / l * (s < 0 ? -1 : 1);
return o.wheel && h && (d = Math.round(d / h) * h), d < n ? (d = r ? n - r / f * a : n, u = c - p): d
>
0 && (d = r ? r / f * a : 0, u = c - p), {destination: Math.round(d), duration: u}
}
Object.defineProperty(t, "__esModule", {value: !0}), t.momentum = i
}, function (e, t) {
"use strict";
function i(e, t) {
for (var i in t)e[i] = t[i]
}
Object.defineProperty(t, "__esModule", {value: !0}), t.extend = i;
var n = 100 / 60;
t.requestAnimationFrame = function () {
return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || function (e) {
return window.setTimeout(e, (e.interval || n) / 2)
}
}(), t.cancelAnimationFrame = function () {
return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (e) {
window.clearTimeout(e)
}
}()
}])
})
}, function (e, t) {
"use strict";
function i(e) {
if (Array.isArray(e)) {
for (var t = 0, i = Array(e.length); t < e.length; t++)i[t] = e[t];
return i
}
return Array.from(e)
}
function n(e, t) {
if (!(e instanceof t))throw new TypeError("Cannot call a class as a function")
}
t.__esModule = !0;
var r = function () {
function e(e, t) {
var i = [], n = !0, r = !1, o = void 0;
try {
for (var s, a = e[Symbol.iterator](); !(n = (s = a.next()).done) && (i.push(s.value), !t || i.length !== t); n = !0);
} catch (e) {
r = !0, o = e
} finally {
try {
!n && a.return && a.return()
} finally {
if (r)throw o
}
}
return i
}
return function (t, i) {
if (Array.isArray(t))return t;
if (Symbol.iterator in Object(t))return e(t, i);
throw new TypeError("Invalid attempt to destructure non-iterable instance")
}
}(), o = function () {
function e(e, t) {
for (var i = 0; i < t.length; i++) {
var n = t[i];
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n)
}
}
return function (t, i, n) {
return i && e(t.prototype, i), n && e(t, n), t
}
}(), s = function () {
function e() {
n(this, e), this._events = {}
}
return o(e, [{
key: "on", value: function (e, t) {
var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : this;
this._events[e] || (this._events[e] = []), this._events[e].push([t, i])
}
}, {
key: "once", value: function (e, t) {
function i() {
this.off(e, i), r || (r = !0, t.apply(n, arguments))
}
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : this, r = !1;
this.on(e, i)
}
}, {
key: "off", value: function (e, t) {
var i = this._events[e];
if (i)for (var n = i.length; n--;)i[n][0] === t && (i[n][0] = void 0)
}
}, {
key: "trigger", value: function (e) {
var t = this._events[e];
if (t)for (var n = t.length, o = [].concat(i(t)), s = 0; s < n; s++) {
var a = o[s], l = r(a, 2), h = l[0], c = l[1];
h && h.apply(c, [].slice.call(arguments, 1))
}
}
}]), e
}();
t.default = s, e.exports = t.default
}, function (e, t) {
"use strict";
function i(e, t) {
for (var i in t)e[i] = t[i]
}
t.__esModule = !0, t.extend = i
}, function (e, t) {
"use strict";
function i(e) {
var t = document.createElement("div");
return t.innerHTML = e, t.childNodes[0]
}
function n(e, t, i, n) {
e.addEventListener(t, i, !!n)
}
function r(e, t, i, n) {
e.removeEventListener(t, i, !!n)
}
function o(e, t) {
var i = new RegExp("(^|\\s)" + t + "(\\s|$)");
return i.test(e.className)
}
function s(e, t) {
if (!o(e, t)) {
var i = e.className.split(" ");
i.push(t), e.className = i.join(" ")
}
}
function a(e, t) {
if (o(e, t)) {
var i = new RegExp("(^|\\s)" + t + "(\\s|$)", "g");
e.className = e.className.replace(i, " ")
}
}
t.__esModule = !0, t.createDom = i, t.addEvent = n, t.removeEvent = r, t.hasClass = o, t.addClass = s, t.removeClass = a
}, function (e, t, i) {
var n = i(7);
e.exports = (n.default || n).template(function (e, t, i, n, r) {
function o(e, t) {
var n, r = "";
return r += '\n <div class="wheel wheel-hook">\n <ul class="wheel-scroll wheel-scroll-hook">\n ', n = i.each.call(e, e, {
hash: {},
inverse: u.noop,
fn: u.program(2, s, t),
data: t
}), (n || 0 === n) && (r += n), r += "\n </ul>\n </div>\n "
}
function s(e, t) {
var n, r, o = "";
return o += "<li class='wheel-item' data-val="+t.index+">"+e.text+"</li>"
/*'\n' +*/
/* '<li class="wheel-item" data-val="',
(r = i.value) ? n = r.call(e, {hash: {},data: t}) : (r = e && e.value, n = typeof r === c ? r.call(e, {hash: {},data: t}) : r), o += p(n) + '">',
(r = i.text) ? n = r.call(e, {hash: {},data: t}) : (r = e && e.text, n = typeof r === c ? r.call(e, {hash: {},data: t}) : r), o += p(n) +
"</li>\n "*/
}
this.compilerInfo = [4, ">= 1.0.0"], i = this.merge(i, e.helpers), r = r || {};
var a, l, h = "", c = "function", p = this.escapeExpression, u = this;
return h += '<div class="picker">\n <div class="picker-mask mask-hook"></div>\n <div class="picker-panel panel-hook">\n <div class="picker-choose choose-hook">\n <span class="cancel cancel-hook">取消</span>\n <span class="confirm confirm-hook">确定</span>\n <h1 class="picker-title">', (l = i.title) ? a = l.call(t, {
hash: {},
data: r
}) : (l = t && t.title, a = typeof l === c ? l.call(t, {
hash: {},
data: r
}) : l), h += p(a) + '</h1>\n </div>\n <div class="picker-content">\n <div class="mask-top border-1px"></div>\n <div class="mask-bottom border-1px"></div>\n <div class="wheel-wrapper wheel-wrapper-hook">\n ', a = i.each.call(t, t && t.data, {
hash: {},
inverse: u.noop,
fn: u.program(1, o, r),
data: r
}), (a || 0 === a) && (h += a), h += '\n </div>\n </div>\n <div class="picker-footer footer-hook"></div>\n </div>\n</div>'
})
}, function (e, t, i) {
e.exports = i(8)
}, function (e, t, i) {
"use strict";
var n = i(9), r = i(11).default, o = i(12).default, s = i(10), a = i(13), l = function () {
var e = new n.HandlebarsEnvironment;
return s.extend(e, n), e.SafeString = r, e.Exception = o, e.Utils = s, e.VM = a, e.template = function (t) {
return a.template(t, e)
}, e
}, h = l();
h.create = l, t.default = h
}, function (e, t, i) {
"use strict";
function n(e, t) {
this.helpers = e || {}, this.partials = t || {}, r(this)
}
function r(e) {
e.registerHelper("helperMissing", function (e) {
if (2 !== arguments.length)throw new a("Missing helper: '" + e + "'")
}), e.registerHelper("blockHelperMissing", function (t, i) {
var n = i.inverse || function () {
}, r = i.fn;
return u(t) && (t = t.call(this)), t === !0 ? r(this) : t === !1 || null == t ? n(this) : p(t) ? t.length > 0 ? e.helpers.each(t, i) : n(this) : r(t)
}), e.registerHelper("each", function (e, t) {
var i, n = t.fn, r = t.inverse, o = 0, s = "";
if (u(e) && (e = e.call(this)), t.data && (i = v(t.data)), e && "object" == typeof e)if (p(e))for (var a = e.length; o < a; o++)i && (i.index = o, i.first = 0 === o, i.last = o === e.length - 1), s += n(e[o], {data: i}); else for (var l in e)e.hasOwnProperty(l) && (i && (i.key = l, i.index = o, i.first = 0 === o), s += n(e[l], {data: i}), o++);
return 0 === o && (s = r(this)), s
}), e.registerHelper("if", function (e, t) {
return u(e) && (e = e.call(this)), !t.hash.includeZero && !e || s.isEmpty(e) ? t.inverse(this) : t.fn(this)
}), e.registerHelper("unless", function (t, i) {
return e.helpers.if.call(this, t, {fn: i.inverse, inverse: i.fn, hash: i.hash})
}), e.registerHelper("with", function (e, t) {
if (u(e) && (e = e.call(this)), !s.isEmpty(e))return t.fn(e)
}), e.registerHelper("log", function (t, i) {
var n = i.data && null != i.data.level ? parseInt(i.data.level, 10) : 1;
e.log(n, t)
})
}
function o(e, t) {
m.log(e, t)
}
var s = i(10), a = i(12).default, l = "1.3.0";
t.VERSION = l;
var h = 4;
t.COMPILER_REVISION = h;
var c = {1: "<= 1.0.rc.2", 2: "== 1.0.0-rc.3", 3: "== 1.0.0-rc.4", 4: ">= 1.0.0"};
t.REVISION_CHANGES = c;
var p = s.isArray, u = s.isFunction, f = s.toString, d = "[object Object]";
t.HandlebarsEnvironment = n, n.prototype = {
constructor: n,
logger: m,
log: o,
registerHelper: function (e, t, i) {
if (f.call(e) === d) {
if (i || t)throw new a("Arg not supported with multiple helpers");
s.extend(this.helpers, e)
} else i && (t.not = i), this.helpers[e] = t
},
registerPartial: function (e, t) {
f.call(e) === d ? s.extend(this.partials, e) : this.partials[e] = t
}
};
var m = {
methodMap: {0: "debug", 1: "info", 2: "warn", 3: "error"},
DEBUG: 0,
INFO: 1,
WARN: 2,
ERROR: 3,
level: 3,
log: function (e, t) {
if (m.level <= e) {
var i = m.methodMap[e];
"undefined" != typeof console && console[i] && console[i].call(console, t)
}
}
};
t.logger = m, t.log = o;
var v = function (e) {
var t = {};
return s.extend(t, e), t
};
t.createFrame = v
}, function (e, t, i) {
"use strict";
function n(e) {
return l[e] || "&"
}
function r(e, t) {
for (var i in t)Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i])
}
function o(e) {
return e instanceof a ? e.toString() : e || 0 === e ? (e = "" + e, c.test(e) ? e.replace(h, n) : e) : ""
}
function s(e) {
return !e && 0 !== e || !(!f(e) || 0 !== e.length)
}
var a = i(11).default, l = {
"&": "&",
"<": "<",
">": ">",
'"': """,
"'": "'",
"`": "`"
}, h = /[&<>"'`]/g, c = /[&<>"'`]/;
t.extend = r;
var p = Object.prototype.toString;
t.toString = p;
var u = function (e) {
return "function" == typeof e
};
u(/x/) && (u = function (e) {
return "function" == typeof e && "[object Function]" === p.call(e)
});
var u;
t.isFunction = u;
var f = Array.isArray || function (e) {
return !(!e || "object" != typeof e) && "[object Array]" === p.call(e)
};
t.isArray = f, t.escapeExpression = o, t.isEmpty = s
}, function (e, t) {
"use strict";
function i(e) {
this.string = e
}
i.prototype.toString = function () {
return "" + this.string
}, t.default = i
}, function (e, t) {
"use strict";
function i(e, t) {
var i;
t && t.firstLine && (i = t.firstLine, e += " - " + i + ":" + t.firstColumn);
for (var r = Error.prototype.constructor.call(this, e), o = 0; o < n.length; o++)this[n[o]] = r[n[o]];
i && (this.lineNumber = i, this.column = t.firstColumn)
}
var n = ["description", "fileName", "lineNumber", "message", "name", "number", "stack"];
i.prototype = new Error, t.default = i
}, function (e, t, i) {
"use strict";
function n(e) {
var t = e && e[0] || 1, i = p;
if (t !== i) {
if (t < i) {
var n = u[i], r = u[t];
throw new c("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version (" + n + ") or downgrade your runtime to an older version (" + r + ").")
}
throw new c("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version (" + e[1] + ").")
}
}
function r(e, t) {
if (!t)throw new c("No environment passed to template");
var i = function (e, i, n, r, o, s) {
var a = t.VM.invokePartial.apply(this, arguments);
if (null != a)return a;
if (t.compile) {
var l = {helpers: r, partials: o, data: s};
return o[i] = t.compile(e, {data: void 0 !== s}, t), o[i](n, l)
}
throw new c("The partial " + i + " could not be compiled when running in runtime-only mode")
}, n = {
escapeExpression: h.escapeExpression, invokePartial: i, programs: [], program: function (e, t, i) {
var n = this.programs[e];
return i ? n = s(e, t, i) : n || (n = this.programs[e] = s(e, t)), n
}, merge: function (e, t) {
var i = e || t;
return e && t && e !== t && (i = {}, h.extend(i, t), h.extend(i, e)), i
}, programWithDepth: t.VM.programWithDepth, noop: t.VM.noop, compilerInfo: null
};
return function (i, r) {
r = r || {};
var o, s, a = r.partial ? r : t;
r.partial || (o = r.helpers, s = r.partials);
var l = e.call(n, a, i, o, s, r.data);
return r.partial || t.VM.checkRevision(n.compilerInfo), l
}
}
function o(e, t, i) {
var n = Array.prototype.slice.call(arguments, 3), r = function (e, r) {
return r = r || {}, t.apply(this, [e, r.data || i].concat(n))
};
return r.program = e, r.depth = n.length, r
}
function s(e, t, i) {
var n = function (e, n) {
return n = n || {}, t(e, n.data || i)
};
return n.program = e, n.depth = 0, n
}
function a(e, t, i, n, r, o) {
var s = {partial: !0, helpers: n, partials: r, data: o};
if (void 0 === e)throw new c("The partial " + t + " could not be found");
if (e instanceof Function)return e(i, s)
}
function l() {
return ""
}
var h = i(10), c = i(12).default, p = i(9).COMPILER_REVISION, u = i(9).REVISION_CHANGES;
t.checkRevision = n, t.template = r, t.programWithDepth = o, t.program = s, t.invokePartial = a, t.noop = l
}, function (e, t, i) {
var n = i(7);
e.exports = (n.default || n).template(function (e, t, i, n, r) {
function o(e, t) {
var n, r, o = "";
return o += '\n <li class="wheel-item" data-val="', (r = i.value) ? n = r.call(e, {
hash: {},
data: t
}) : (r = e && e.value, n = typeof r === a ? r.call(e, {
hash: {},
data: t
}) : r), o += l(n) + '">', (r = i.text) ? n = r.call(e, {
hash: {},
data: t
}) : (r = e && e.text, n = typeof r === a ? r.call(e, {
hash: {},
data: t
}) : r), o += l(n) + "</li>\n"
}
this.compilerInfo = [4, ">= 1.0.0"], i = this.merge(i, e.helpers), r = r || {};
var s, a = "function", l = this.escapeExpression, h = this;
return s = i.each.call(t, t, {
hash: {},
inverse: h.noop,
fn: h.program(1, o, r),
data: r
}), s || 0 === s ? s : ""
})
}, function (e, t, i) {
var n = i(16);
"string" == typeof n && (n = [[e.id, n, ""]]);
i(18)(n, {});
n.locals && (e.exports = n.locals)
}, function (e, t, i) {
t = e.exports = i(17)(), t.push([e.id, '.picker{display:none;position:fixed;top:0;z-index:100;width:100%;height:100%;overflow:hidden;text-align:center;font-family:PingFang SC,STHeitiSC-Light,Helvetica-Light,arial,sans-serif;font-size:14px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.picker .picker-mask{position:absolute;z-index:500;width:100%;height:100%;transition:all .5s;-webkit-transition:all .5s;background:transparent;opacity:0}.picker .picker-mask.show{background:rgba(0,0,0,.6);opacity:1}.picker .picker-panel{position:absolute;z-index:600;bottom:0;width:100%;height:243px;background:#fff;transform:translateY(243px);-webkit-transform:translateY(243px);transition:all .5s;-webkit-transition:all .5s}.picker .picker-panel.show{transform:translateY(0);-webkit-transform:translateY(0)}.picker .picker-panel .picker-choose{position:relative;height:50px;color:#878787;font-size:14px}.picker .picker-panel .picker-choose .picker-title{line-height:50px;font-size:19px;text-align:center;color:#333}.picker .picker-panel .picker-choose .cancel,.picker .picker-panel .picker-choose .confirm{position:absolute;padding:10px;top:6px}.picker .picker-panel .picker-choose .confirm{right:0;color:#fa8919}.picker .picker-panel .picker-choose .cancel{left:0}.picker .picker-panel .picker-content{position:relative}.picker .picker-panel .picker-content .mask-bottom,.picker .picker-panel .picker-content .mask-top{position:absolute;z-index:10;width:100%;height:68px;pointer-events:none;transform:translateZ(0);-webkit-transform:translateZ(0)}.picker .picker-panel .picker-content .mask-top{top:0;background:-webkit-gradient(linear,left bottom,left top,from(hsla(0,0%,100%,.4)),to(hsla(0,0%,100%,.8)));background:-o-linear-gradient(bottom,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.picker .picker-panel .picker-content .mask-top:after,.picker .picker-panel .picker-content .mask-top:before{display:block;position:absolute;border-top:1px solid #ccc;left:0;width:100%;content:" "}.picker .picker-panel .picker-content .mask-top:before{display:none;top:0}.picker .picker-panel .picker-content .mask-top:after{display:block;bottom:0}.picker .picker-panel .picker-content .mask-bottom{bottom:0;background:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.4)),to(hsla(0,0%,100%,.8)));background:-o-linear-gradient(top,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.picker .picker-panel .picker-content .mask-bottom:after,.picker .picker-panel .picker-content .mask-bottom:before{display:block;position:absolute;border-top:1px solid #ccc;left:0;width:100%;content:" "}.picker .picker-panel .picker-content .mask-bottom:before{display:block;top:0}.picker .picker-panel .picker-content .mask-bottom:after{display:none;bottom:0}.picker .picker-panel .wheel-wrapper{display:-ms-flexbox;display:-webkit-box;display:flex;padding:0 10px}.picker .picker-panel .wheel-wrapper .wheel{-ms-flex:1 1 1e-9px;-webkit-box-flex:1;flex:1;flex-basis:1e-9px;width:1%;height:173px;overflow:hidden;font-size:21px}.picker .picker-panel .wheel-wrapper .wheel .wheel-scroll{margin-top:68px;line-height:36px}.picker .picker-panel .wheel-wrapper .wheel .wheel-scroll .wheel-item{height:36px;overflow:hidden;white-space:nowrap;color:#333}.picker .picker-footer{height:20px}@media (-webkit-min-device-pixel-ratio:1.5),(min-device-pixel-ratio:1.5){.border-1px:after,.border-1px:before{-webkit-transform:scaleY(.7);-webkit-transform-origin:0 0;transform:scaleY(.7)}.border-1px:after{-webkit-transform-origin:left bottom}}@media (-webkit-min-device-pixel-ratio:2),(min-device-pixel-ratio:2){.border-1px:after,.border-1px:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}}', ""])
}, function (e, t) {
e.exports = function () {
var e = [];
return e.toString = function () {
for (var e = [], t = 0; t < this.length; t++) {
var i = this[t];
i[2] ? e.push("@media " + i[2] + "{" + i[1] + "}") : e.push(i[1])
}
return e.join("")
}, e.i = function (t, i) {
"string" == typeof t && (t = [[null, t, ""]]);
for (var n = {}, r = 0; r < this.length; r++) {
var o = this[r][0];
"number" == typeof o && (n[o] = !0)
}
for (r = 0; r < t.length; r++) {
var s = t[r];
"number" == typeof s[0] && n[s[0]] || (i && !s[2] ? s[2] = i : i && (s[2] = "(" + s[2] + ") and (" + i + ")"), e.push(s))
}
}, e
}
}, function (e, t, i) {
function n(e, t) {
for (var i = 0; i < e.length; i++) {
var n = e[i], r = f[n.id];
if (r) {
r.refs++;
for (var o = 0; o < r.parts.length; o++)r.parts[o](n.parts[o]);
for (; o < n.parts.length; o++)r.parts.push(h(n.parts[o], t))
} else {
for (var s = [], o = 0; o < n.parts.length; o++)s.push(h(n.parts[o], t));
f[n.id] = {id: n.id, refs: 1, parts: s}
}
}
}
function r(e) {
for (var t = [], i = {}, n = 0; n < e.length; n++) {
var r = e[n], o = r[0], s = r[1], a = r[2], l = r[3], h = {css: s, media: a, sourceMap: l};
i[o] ? i[o].parts.push(h) : t.push(i[o] = {id: o, parts: [h]})
}
return t
}
function o(e, t) {
var i = v(), n = b[b.length - 1];
if ("top" === e.insertAt) n ? n.nextSibling ? i.insertBefore(t, n.nextSibling) : i.appendChild(t) : i.insertBefore(t, i.firstChild), b.push(t); else {
if ("bottom" !== e.insertAt)throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");
i.appendChild(t)
}
}
function s(e) {
e.parentNode.removeChild(e);
var t = b.indexOf(e);
t >= 0 && b.splice(t, 1)
}
function a(e) {
var t = document.createElement("style");
return t.type = "text/css", o(e, t), t
}
function l(e) {
var t = document.createElement("link");
return t.rel = "stylesheet", o(e, t), t
}
function h(e, t) {
var i, n, r;
if (t.singleton) {
var o = y++;
i = g || (g = a(t)), n = c.bind(null, i, o, !1), r = c.bind(null, i, o, !0)
} else e.sourceMap && "function" == typeof URL && "function" == typeof URL.createObjectURL && "function" == typeof URL.revokeObjectURL && "function" == typeof Blob && "function" == typeof btoa ? (i = l(t), n = u.bind(null, i), r = function () {
s(i), i.href && URL.revokeObjectURL(i.href)
}) : (i = a(t), n = p.bind(null, i), r = function () {
s(i)
});
return n(e), function (t) {
if (t) {
if (t.css === e.css && t.media === e.media && t.sourceMap === e.sourceMap)return;
n(e = t)
} else r()
}
}
function c(e, t, i, n) {
var r = i ? "" : n.css;
if (e.styleSheet) e.styleSheet.cssText = k(t, r); else {
var o = document.createTextNode(r), s = e.childNodes;
s[t] && e.removeChild(s[t]), s.length ? e.insertBefore(o, s[t]) : e.appendChild(o)
}
}
function p(e, t) {
var i = t.css, n = t.media;
if (n && e.setAttribute("media", n), e.styleSheet) e.styleSheet.cssText = i; else {
for (; e.firstChild;)e.removeChild(e.firstChild);
e.appendChild(document.createTextNode(i))
}
}
function u(e, t) {
var i = t.css, n = t.sourceMap;
n && (i += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(n)))) + " */");
var r = new Blob([i], {type: "text/css"}), o = e.href;
e.href = URL.createObjectURL(r), o && URL.revokeObjectURL(o)
}
var f = {}, d = function (e) {
var t;
return function () {
return "undefined" == typeof t && (t = e.apply(this, arguments)), t
}
}, m = d(function () {
return /msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())
}), v = d(function () {
return document.head || document.getElementsByTagName("head")[0]
}), g = null, y = 0, b = [];
e.exports = function (e, t) {
t = t || {}, "undefined" == typeof t.singleton && (t.singleton = m()), "undefined" == typeof t.insertAt && (t.insertAt = "bottom");
var i = r(e);
return n(i, t), function (e) {
for (var o = [], s = 0; s < i.length; s++) {
var a = i[s], l = f[a.id];
l.refs--, o.push(l)
}
if (e) {
var h = r(e);
n(h, t)
}
for (var s = 0; s < o.length; s++) {
var l = o[s];
if (0 === l.refs) {
for (var c = 0; c < l.parts.length; c++)l.parts[c]();
delete f[l.id]
}
}
}
};
var k = function () {
var e = [];
return function (t, i) {
return e[t] = i, e.filter(Boolean).join("\n")
}
}()
}])
});