91 lines
3.0 KiB
JavaScript
91 lines
3.0 KiB
JavaScript
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.transition = void 0;
|
|
|
|
var e = require("../common/utils"), t = function(e) {
|
|
return {
|
|
enter: "van-" + e + "-enter van-" + e + "-enter-active enter-class enter-active-class",
|
|
"enter-to": "van-" + e + "-enter-to van-" + e + "-enter-active enter-to-class enter-active-class",
|
|
leave: "van-" + e + "-leave van-" + e + "-leave-active leave-class leave-active-class",
|
|
"leave-to": "van-" + e + "-leave-to van-" + e + "-leave-active leave-to-class leave-active-class"
|
|
};
|
|
}, s = function() {
|
|
return new Promise(function(e) {
|
|
return setTimeout(e, 1e3 / 30);
|
|
});
|
|
};
|
|
|
|
exports.transition = function(n) {
|
|
return Behavior({
|
|
properties: {
|
|
customStyle: String,
|
|
show: {
|
|
type: Boolean,
|
|
value: n,
|
|
observer: "observeShow"
|
|
},
|
|
duration: {
|
|
type: [ Number, Object ],
|
|
value: 300,
|
|
observer: "observeDuration"
|
|
},
|
|
name: {
|
|
type: String,
|
|
value: "fade",
|
|
observer: "updateClasses"
|
|
}
|
|
},
|
|
data: {
|
|
type: "",
|
|
inited: !1,
|
|
display: !1,
|
|
classNames: t("fade")
|
|
},
|
|
attached: function() {
|
|
this.data.show && this.show();
|
|
},
|
|
methods: {
|
|
observeShow: function(e) {
|
|
e ? this.show() : this.leave();
|
|
},
|
|
updateClasses: function(e) {
|
|
this.set({
|
|
classNames: t(e)
|
|
});
|
|
},
|
|
show: function() {
|
|
var t = this, n = this.data, a = n.classNames, i = n.duration, r = (0, e.isObj)(i) ? i.leave : i;
|
|
Promise.resolve().then(s).then(function() {
|
|
return t.set({
|
|
inited: !0,
|
|
display: !0,
|
|
classes: a.enter,
|
|
currentDuration: r
|
|
});
|
|
}).then(s).then(function() {
|
|
return t.set({
|
|
classes: a["enter-to"]
|
|
});
|
|
});
|
|
},
|
|
leave: function() {
|
|
var t = this, n = this.data, a = n.classNames, i = n.duration, r = (0, e.isObj)(i) ? i.leave : i;
|
|
0 != +r ? Promise.resolve().then(s).then(function() {
|
|
return t.set({
|
|
classes: a.leave,
|
|
currentDuration: r
|
|
});
|
|
}).then(s).then(function() {
|
|
return t.set({
|
|
classes: a["leave-to"]
|
|
});
|
|
}) : this.onTransitionEnd();
|
|
},
|
|
onTransitionEnd: function() {
|
|
this.data.show || (this.set({
|
|
display: !1
|
|
}), this.$emit("transitionEnd"));
|
|
}
|
|
}
|
|
});
|
|
}; |