UNPKG

@vue-interface/animate-css

Version:
140 lines (139 loc) 4.67 kB
import { defineComponent as A, useSlots as y, computed as f, openBlock as b, createBlock as w, Transition as B, unref as C, withCtx as $, renderSlot as E } from "vue"; var c = function() { return c = Object.assign || function(e) { for (var a, l = 1, i = arguments.length; l < i; l++) { a = arguments[l]; for (var o in a) Object.prototype.hasOwnProperty.call(a, o) && (e[o] = a[o]); } return e; }, c.apply(this, arguments); }; function h(t) { return t.toLowerCase(); } var L = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g], T = /[^A-Z0-9]+/gi; function k(t, e) { e === void 0 && (e = {}); for (var a = e.splitRegexp, l = a === void 0 ? L : a, i = e.stripRegexp, o = i === void 0 ? T : i, u = e.transform, d = u === void 0 ? h : u, v = e.delimiter, s = v === void 0 ? " " : v, n = p(p(t, l, "$1\0$2"), o, "\0"), r = 0, m = n.length; n.charAt(r) === "\0"; ) r++; for (; n.charAt(m - 1) === "\0"; ) m--; return n.slice(r, m).split("\0").map(d).join(s); } function p(t, e, a) { return e instanceof RegExp ? t.replace(e, a) : e.reduce(function(l, i) { return l.replace(i, a); }, t); } function g(t, e) { var a = t.charAt(0), l = t.substr(1).toLowerCase(); return e > 0 && a >= "0" && a <= "9" ? "_" + a + l : "" + a.toUpperCase() + l; } function x(t, e) { return e === void 0 && (e = {}), k(t, c({ delimiter: "", transform: g }, e)); } function R(t, e) { return e === 0 ? t.toLowerCase() : g(t, e); } function O(t, e) { return e === void 0 && (e = {}), x(t, c({ transform: R }, e)); } const j = /* @__PURE__ */ A({ __name: "AnimateCss", props: { animated: { type: Boolean, default: !0 }, attentionSeekerEffects: { default: () => [ "bounce", "flash", "pulse", "rubberBand", "shakeX", "shakeY", "headShake", "swing", "tada", "wobble", "jello", "heartBeat" ] }, big: { type: Boolean, default: !1 }, direction: null, directionEffects: { default: () => [ "back", "bounce", "fade", "flip", "lightspeed", "rotate", "roll", "slide", "zoom" ] }, down: { type: Boolean, default: !1 }, duration: null, enter: null, enterClass: null, enterToClass: null, enterActiveClass: null, inOut: { type: Boolean }, leave: null, leaveClass: null, leaveToClass: null, leaveActiveClass: null, left: { type: Boolean }, mode: { default: "default" }, name: null, prefix: { default: "animate__" }, right: { type: Boolean }, special: { type: Boolean }, up: { type: Boolean }, x: { type: Boolean }, y: { type: Boolean } }, setup(t) { const e = t; y(); function a(s) { return `${e.prefix}${s}`; } function l(s, n) { return [ a( O([ e.name, !o.value && s, !o.value && i.value, !o.value && e.big && "big" ].filter((r) => !!r).join(" ")) ) ].concat([u.value]).concat(n || "").filter((r) => !!r).join(" "); } const i = f(() => e.direction || e.x && "x" || e.y && "y" || e.up && "up" || e.down && "down" || e.left && "left" || e.right && "right"), o = f(() => e.name && (!e.inOut && e.attentionSeekerEffects.indexOf(e.name.toLowerCase()) > -1 || e.directionEffects.indexOf(e.name.toLowerCase()) === -1)), u = f(() => e.animated ? a("animated") : ""), d = f(() => e.enter ? `${a(e.enter)} ${u.value}` : l("in", e.enterActiveClass)), v = f(() => e.leave ? `${a(e.leave)} ${u.value}` : l("out", e.leaveActiveClass)); return (s, n) => (b(), w(B, { mode: t.mode, duration: e.duration, "enter-class": t.enterClass, "enter-to-class": t.enterToClass, "enter-active-class": C(d), "leave-class": t.leaveClass, "leave-to-class": t.leaveToClass, "leave-active-class": C(v), onBeforeEnter: n[0] || (n[0] = (...r) => s.$emit("before-enter", ...r)), onEnter: n[1] || (n[1] = (...r) => s.$emit("enter", ...r)), onAfterEnter: n[2] || (n[2] = (...r) => s.$emit("after-enter", ...r)), onBeforeLeave: n[3] || (n[3] = (...r) => s.$emit("before-leave", ...r)), onLeave: n[4] || (n[4] = (...r) => s.$emit("leave", ...r)), onAfterLeave: n[5] || (n[5] = (...r) => s.$emit("after-leave", ...r)) }, { default: $(() => [ E(s.$slots, "default") ]), _: 3 }, 8, ["mode", "duration", "enter-class", "enter-to-class", "enter-active-class", "leave-class", "leave-to-class", "leave-active-class"])); } }); export { j as AnimateCss }; //# sourceMappingURL=animate-css.js.map