@noction/vue-bezier 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +109 -0
  2. package/dist/Collapse/CollapseTransition.vue.d.ts +14 -0
  3. package/dist/Fade/FadeTransition.vue.d.ts +13 -0
  4. package/dist/Scale/ScaleTransition.vue.d.ts +26 -0
  5. package/dist/Slide/SlideXLeftTransition.vue.d.ts +22 -0
  6. package/dist/Slide/SlideXRightTransition.vue.d.ts +22 -0
  7. package/dist/Slide/SlideYDownTransition.vue.d.ts +22 -0
  8. package/dist/Slide/SlideYUpTransition.vue.d.ts +22 -0
  9. package/dist/Zoom/ZoomCenterTransition.vue.d.ts +13 -0
  10. package/dist/Zoom/ZoomUpTransition.vue.d.ts +22 -0
  11. package/dist/Zoom/ZoomXTransition.vue.d.ts +22 -0
  12. package/dist/Zoom/ZoomYTransition.vue.d.ts +22 -0
  13. package/dist/composable/buildComponentType.d.ts +3 -0
  14. package/dist/composable/buildEmits.d.ts +2 -0
  15. package/dist/composable/buildHooks.d.ts +7 -0
  16. package/dist/composable/buildProps.d.ts +48 -0
  17. package/dist/composable/buildTag.d.ts +2 -0
  18. package/dist/composable/index.d.ts +6 -0
  19. package/dist/index.d.ts +17 -0
  20. package/dist/style.css +1 -0
  21. package/dist/vue-bezier.mjs +456 -0
  22. package/dist/vue-bezier.umd.js +1 -0
  23. package/dist/web-types.json +156 -0
  24. package/package.json +63 -0
  25. package/src/components/Collapse/CollapseTransition.vue +122 -0
  26. package/src/components/Fade/FadeTransition.vue +52 -0
  27. package/src/components/Scale/ScaleTransition.vue +76 -0
  28. package/src/components/Slide/SlideXLeftTransition.vue +73 -0
  29. package/src/components/Slide/SlideXRightTransition.vue +73 -0
  30. package/src/components/Slide/SlideYDownTransition.vue +72 -0
  31. package/src/components/Slide/SlideYUpTransition.vue +74 -0
  32. package/src/components/Slide/move.scss +1 -0
  33. package/src/components/Zoom/ZoomCenterTransition.vue +63 -0
  34. package/src/components/Zoom/ZoomUpTransition.vue +75 -0
  35. package/src/components/Zoom/ZoomXTransition.vue +75 -0
  36. package/src/components/Zoom/ZoomYTransition.vue +78 -0
  37. package/src/components/Zoom/move.scss +1 -0
  38. package/src/composable/buildComponentType.ts +4 -0
  39. package/src/composable/buildEmits.ts +7 -0
  40. package/src/composable/buildHooks.ts +92 -0
  41. package/src/composable/buildProps.ts +52 -0
  42. package/src/composable/buildTag.ts +1 -0
  43. package/src/composable/index.ts +7 -0
  44. package/src/global-shim.d.ts +1 -0
  45. package/src/index.ts +62 -0
  46. package/src/vue-shim.d.ts +5 -0
@@ -0,0 +1,456 @@
1
+ import { TransitionGroup as z, Transition as B, defineComponent as c, openBlock as d, createBlock as u, resolveDynamicComponent as _, unref as i, mergeProps as m, withCtx as p, renderSlot as f } from "vue";
2
+ const y = (o) => o.group ? z : B, g = () => [
3
+ "after-enter",
4
+ "after-leave",
5
+ "before-enter",
6
+ "before-leave",
7
+ "leave"
8
+ ], D = (o, n) => {
9
+ var l, r;
10
+ const e = ((l = o.duration) == null ? void 0 : l.enter) ?? o.duration ?? 0, a = ((r = o.delay) == null ? void 0 : r.enter) ?? o.delay ?? 0;
11
+ n.style.animationDuration = `${e}ms`, n.style.animationDelay = `${a}ms`, S(o, n);
12
+ }, w = (o, n) => {
13
+ var l, r;
14
+ const e = ((l = o.duration) == null ? void 0 : l.leave) ?? o.duration ?? 0, a = ((r = o.delay) == null ? void 0 : r.leave) ?? o.delay ?? 0;
15
+ n.style.animationDuration = `${e}ms`, n.style.animationDelay = `${a}ms`, S(o, n);
16
+ }, F = (o, n) => {
17
+ Object.keys(o.styles).forEach((e) => {
18
+ o.styles[e] && (n.style[e] = "");
19
+ }), n.style.animationDuration = "", n.style.animationDelay = "";
20
+ }, P = (o, n, e) => {
21
+ var r, s;
22
+ O(o, n);
23
+ const a = ((r = o.duration) == null ? void 0 : r.leave) ?? o.duration ?? 0, l = ((s = o.delay) == null ? void 0 : s.leave) ?? o.delay ?? 0;
24
+ setTimeout(e, a + l);
25
+ }, S = (o, n) => {
26
+ Z(o, n), Object.keys(o.styles).forEach((e) => {
27
+ const a = o.styles[e];
28
+ a && (n.style[e] = a);
29
+ });
30
+ }, O = (o, n) => {
31
+ o.group && (n.style.position = "absolute");
32
+ }, Z = (o, n) => {
33
+ o.origin && (n.style.transformOrigin = o.origin);
34
+ }, h = (o, n) => ({
35
+ onAfterEnter: (e) => {
36
+ F(o, e), n("after-enter", e);
37
+ },
38
+ onAfterLeave: (e) => {
39
+ F(o, e), n("after-leave", e);
40
+ },
41
+ onBeforeEnter: (e) => {
42
+ D(o, e), n("before-enter", e);
43
+ },
44
+ onBeforeLeave: (e) => {
45
+ w(o, e), n("before-leave", e);
46
+ },
47
+ onLeave: (e, a) => {
48
+ P(o, e, a), n("leave", e, a);
49
+ }
50
+ }), A = {
51
+ /**
52
+ * Transition delay. Number for specifying the same delay for enter/leave transitions
53
+ * Object style {enter: 300, leave: 300} for specifying explicit durations for enter/leave
54
+ */
55
+ delay: {
56
+ default: 0,
57
+ type: [Number, Object]
58
+ },
59
+ /**
60
+ * Transition duration. Number for specifying the same duration for enter/leave transitions
61
+ * Object style {enter: 300, leave: 300} for specifying explicit durations for enter/leave
62
+ */
63
+ duration: {
64
+ default: 300,
65
+ type: [Number, Object]
66
+ },
67
+ /**
68
+ * Whether the component should be a `transition-group` component.
69
+ */
70
+ group: Boolean,
71
+ /**
72
+ * Transform origin property https://tympanus.net/codrops/css_reference/transform-origin/.
73
+ * Can be specified with styles as well but it's shorter with this prop
74
+ */
75
+ origin: {
76
+ default: "",
77
+ type: String
78
+ },
79
+ /**
80
+ * Element styles that are applied during transition. These styles are applied on @beforeEnter and @beforeLeave hooks
81
+ */
82
+ styles: {
83
+ default: () => ({
84
+ animationFillMode: "both",
85
+ animationTimingFunction: "ease-out"
86
+ }),
87
+ type: Object
88
+ },
89
+ /**
90
+ * Transition tag, in case the component is a `transition-group`
91
+ */
92
+ tag: {
93
+ default: "span",
94
+ type: String
95
+ }
96
+ }, v = (o) => ({
97
+ ...A,
98
+ ...o || {}
99
+ }), T = (o) => o.tag, j = /* @__PURE__ */ c({
100
+ __name: "CollapseTransition",
101
+ props: v(),
102
+ emits: g(),
103
+ setup(o, { emit: n }) {
104
+ const e = o, a = y(e), l = T(e), r = {
105
+ onAfterEnter(t) {
106
+ t.style.transition = "", t.style.height = "", t.style.overflow = t.dataset.oldOverflow, n("after-enter", t);
107
+ },
108
+ onAfterLeave(t) {
109
+ t.style.transition = "", t.style.height = "", t.style.overflow = t.dataset.oldOverflow, t.style.paddingTop = t.dataset.oldPaddingTop, t.style.paddingBottom = t.dataset.oldPaddingBottom, n("after-leave", t);
110
+ },
111
+ onBeforeEnter(t) {
112
+ var b;
113
+ const $ = ((b = e.duration) == null ? void 0 : b.enter) ?? e.duration ?? 0;
114
+ t.style.transition = s($), t.dataset || (t.dataset = {}), t.dataset.oldPaddingTop = t.style.paddingTop, t.dataset.oldPaddingBottom = t.style.paddingBottom, t.style.height = "0", t.style.paddingTop = 0, t.style.paddingBottom = 0, S(e, t), n("before-enter", t);
115
+ },
116
+ onBeforeLeave(t) {
117
+ t.dataset || (t.dataset = {}), t.dataset.oldPaddingTop = t.style.paddingTop, t.dataset.oldPaddingBottom = t.style.paddingBottom, t.dataset.oldOverflow = t.style.overflow, t.style.height = `${t.scrollHeight}px`, t.style.overflow = "hidden", S(e, t), n("before-leave", t);
118
+ },
119
+ onEnter(t) {
120
+ t.dataset.oldOverflow = t.style.overflow, t.scrollHeight !== 0 ? (t.style.height = `${t.scrollHeight}px`, t.style.paddingTop = t.dataset.oldPaddingTop, t.style.paddingBottom = t.dataset.oldPaddingBottom) : (t.style.height = "", t.style.paddingTop = t.dataset.oldPaddingTop, t.style.paddingBottom = t.dataset.oldPaddingBottom), t.style.overflow = "hidden";
121
+ },
122
+ onLeave(t, $) {
123
+ const b = e.duration.leave ?? e.duration ?? 0;
124
+ t.scrollHeight !== 0 && (t.style.transition = s(b), t.style.height = 0, t.style.paddingTop = 0, t.style.paddingBottom = 0), O(e, t), P(e, t, $), n("leave", t, $);
125
+ }
126
+ }, s = (t) => {
127
+ const $ = t / 1e3;
128
+ return `${$}s height ease-in-out, ${$}s padding-top ease-in-out, ${$}s padding-bottom ease-in-out`;
129
+ };
130
+ return (t, $) => (d(), u(_(i(a)), m({ tag: i(l) }, { ...t.$attrs, ...r }, { "move-class": "collapse-move" }), {
131
+ default: p(() => [
132
+ f(t.$slots, "default")
133
+ ]),
134
+ _: 3
135
+ }, 16, ["tag"]));
136
+ }
137
+ });
138
+ const k = {
139
+ inheritAttrs: !1
140
+ }, C = /* @__PURE__ */ c({
141
+ ...k,
142
+ __name: "FadeTransition",
143
+ props: v(),
144
+ emits: g(),
145
+ setup(o, { emit: n }) {
146
+ const e = o, a = y(e), l = T(e), r = h(e, n);
147
+ return (s, t) => (d(), u(_(i(a)), m({
148
+ tag: i(l),
149
+ "enter-active-class": "fade-in",
150
+ "move-class": "fade-move",
151
+ "leave-active-class": "fade-out"
152
+ }, { ...s.$attrs, ...i(r) }), {
153
+ default: p(() => [
154
+ f(s.$slots, "default")
155
+ ]),
156
+ _: 3
157
+ }, 16, ["tag"]));
158
+ }
159
+ });
160
+ const X = {
161
+ origin: {
162
+ default: "top left",
163
+ type: String
164
+ },
165
+ styles: {
166
+ default: () => ({
167
+ animationFillMode: "both",
168
+ animationTimingFunction: "cubic-bezier(.25,.8,.50,1)"
169
+ }),
170
+ type: Object
171
+ }
172
+ }, Y = {
173
+ inheritAttrs: !1
174
+ }, x = /* @__PURE__ */ c({
175
+ ...Y,
176
+ __name: "ScaleTransition",
177
+ props: v(X),
178
+ emits: g(),
179
+ setup(o, { emit: n }) {
180
+ const e = o, a = y(e), l = T(e), r = h(e, n);
181
+ return (s, t) => (d(), u(_(i(a)), m({ tag: i(l) }, { ...s.$attrs, ...i(r) }, {
182
+ "enter-active-class": "scale-in",
183
+ "move-class": "scale-move",
184
+ "leave-active-class": "scale-out"
185
+ }), {
186
+ default: p(() => [
187
+ f(s.$slots, "default")
188
+ ]),
189
+ _: 3
190
+ }, 16, ["tag"]));
191
+ }
192
+ });
193
+ const L = {
194
+ styles: {
195
+ default: () => ({
196
+ animationFillMode: "both",
197
+ animationTimingFunction: "cubic-bezier(.25,.8,.50,1)"
198
+ }),
199
+ type: Object
200
+ }
201
+ }, E = {
202
+ inheritAttrs: !1
203
+ }, M = /* @__PURE__ */ c({
204
+ ...E,
205
+ __name: "SlideXLeftTransition",
206
+ props: v(L),
207
+ emits: g(),
208
+ setup(o, { emit: n }) {
209
+ const e = o, a = y(e), l = T(e), r = h(e, n);
210
+ return (s, t) => (d(), u(_(i(a)), m({ tag: i(l) }, { ...s.$attrs, ...i(r) }, {
211
+ "enter-active-class": "slide-x-left-in",
212
+ "move-class": "slide-move",
213
+ "leave-active-class": "slide-x-left-out"
214
+ }), {
215
+ default: p(() => [
216
+ f(s.$slots, "default")
217
+ ]),
218
+ _: 3
219
+ }, 16, ["tag"]));
220
+ }
221
+ });
222
+ const U = {
223
+ styles: {
224
+ default: () => ({
225
+ animationFillMode: "both",
226
+ animationTimingFunction: "cubic-bezier(.25,.8,.50,1)"
227
+ }),
228
+ type: Object
229
+ }
230
+ }, H = {
231
+ inheritAttrs: !1
232
+ }, R = /* @__PURE__ */ c({
233
+ ...H,
234
+ __name: "SlideXRightTransition",
235
+ props: v(U),
236
+ emits: g(),
237
+ setup(o, { emit: n }) {
238
+ const e = o, a = y(e), l = T(e), r = h(e, n);
239
+ return (s, t) => (d(), u(_(i(a)), m({ tag: i(l) }, { ...s.$attrs, ...i(r) }, {
240
+ "enter-active-class": "slide-x-right-in",
241
+ "move-class": "slide-move",
242
+ "leave-active-class": "slide-x-right-out"
243
+ }), {
244
+ default: p(() => [
245
+ f(s.$slots, "default")
246
+ ]),
247
+ _: 3
248
+ }, 16, ["tag"]));
249
+ }
250
+ });
251
+ const I = {
252
+ styles: {
253
+ default: () => ({
254
+ animationFillMode: "both",
255
+ animationTimingFunction: "cubic-bezier(.25,.8,.50,1)"
256
+ }),
257
+ type: Object
258
+ }
259
+ }, V = {
260
+ inheritAttrs: !1
261
+ }, N = /* @__PURE__ */ c({
262
+ ...V,
263
+ __name: "SlideYDownTransition",
264
+ props: v(I),
265
+ emits: g(),
266
+ setup(o, { emit: n }) {
267
+ const e = o, a = y(e), l = T(e), r = h(e, n);
268
+ return (s, t) => (d(), u(_(i(a)), m({ tag: i(l) }, { ...s.$attrs, ...i(r) }, {
269
+ "enter-active-class": "slide-y-down-in",
270
+ "leave-active-class": "slide-y-down-out"
271
+ }), {
272
+ default: p(() => [
273
+ f(s.$slots, "default")
274
+ ]),
275
+ _: 3
276
+ }, 16, ["tag"]));
277
+ }
278
+ });
279
+ const G = {
280
+ styles: {
281
+ default: () => ({
282
+ animationFillMode: "both",
283
+ animationTimingFunction: "cubic-bezier(.25,.8,.50,1)"
284
+ }),
285
+ type: Object
286
+ }
287
+ }, q = {
288
+ inheritAttrs: !1
289
+ }, J = /* @__PURE__ */ c({
290
+ ...q,
291
+ __name: "SlideYUpTransition",
292
+ props: v(G),
293
+ emits: g(),
294
+ setup(o, { emit: n }) {
295
+ const e = o, a = y(e), l = T(e), r = h(e, n);
296
+ return (s, t) => (d(), u(_(i(a)), m({
297
+ tag: i(l),
298
+ type: "animation"
299
+ }, { ...s.$attrs, ...i(r) }, {
300
+ "enter-active-class": "slide-y-in",
301
+ "move-class": "slide-move",
302
+ "leave-active-class": "slide-y-out"
303
+ }), {
304
+ default: p(() => [
305
+ f(s.$slots, "default")
306
+ ]),
307
+ _: 3
308
+ }, 16, ["tag"]));
309
+ }
310
+ });
311
+ const K = {
312
+ inheritAttrs: !1
313
+ }, Q = /* @__PURE__ */ c({
314
+ ...K,
315
+ __name: "ZoomCenterTransition",
316
+ props: v(),
317
+ emits: g(),
318
+ setup(o, { emit: n }) {
319
+ const e = o, a = y(e), l = T(e), r = h(e, n);
320
+ return (s, t) => (d(), u(_(i(a)), m({ tag: i(l) }, { ...s.$attrs, ...i(r) }, {
321
+ "enter-active-class": "zoom-in",
322
+ "move-class": "zoom-move",
323
+ "leave-active-class": "zoom-out"
324
+ }), {
325
+ default: p(() => [
326
+ f(s.$slots, "default")
327
+ ]),
328
+ _: 3
329
+ }, 16, ["tag"]));
330
+ }
331
+ });
332
+ const W = {
333
+ styles: {
334
+ default: () => ({
335
+ animationFillMode: "both",
336
+ animationTimingFunction: "ease-out"
337
+ }),
338
+ type: Object
339
+ }
340
+ }, tt = {
341
+ inheritAttrs: !1
342
+ }, et = /* @__PURE__ */ c({
343
+ ...tt,
344
+ __name: "ZoomUpTransition",
345
+ props: v(W),
346
+ emits: g(),
347
+ setup(o, { emit: n }) {
348
+ const e = o, a = y(e), l = T(e), r = h(e, n);
349
+ return (s, t) => (d(), u(_(i(a)), m({ tag: i(l) }, { ...s.$attrs, ...i(r) }, {
350
+ "enter-active-class": "zoom-in-up",
351
+ "move-class": "zoom-move",
352
+ "leave-active-class": "zoom-out-up"
353
+ }), {
354
+ default: p(() => [
355
+ f(s.$slots, "default")
356
+ ]),
357
+ _: 3
358
+ }, 16, ["tag"]));
359
+ }
360
+ });
361
+ const ot = {
362
+ styles: {
363
+ default: () => ({
364
+ animationFillMode: "both",
365
+ animationTimingFunction: "cubic-bezier(.55,0,.1,1)"
366
+ }),
367
+ type: Object
368
+ }
369
+ }, nt = {
370
+ inheritAttrs: !1
371
+ }, st = /* @__PURE__ */ c({
372
+ ...nt,
373
+ __name: "ZoomXTransition",
374
+ props: v(ot),
375
+ emits: g(),
376
+ setup(o, { emit: n }) {
377
+ const e = o, a = y(e), l = T(e), r = h(e, n);
378
+ return (s, t) => (d(), u(_(i(a)), m({
379
+ tag: i(l),
380
+ "enter-active-class": "zoom-in-x",
381
+ "move-class": "zoom-move",
382
+ "leave-active-class": "zoom-out-x"
383
+ }, { ...s.$attrs, ...i(r) }), {
384
+ default: p(() => [
385
+ f(s.$slots, "default")
386
+ ]),
387
+ _: 3
388
+ }, 16, ["tag"]));
389
+ }
390
+ });
391
+ const at = {
392
+ styles: {
393
+ default: () => ({
394
+ animationFillMode: "both",
395
+ animationTimingFunction: "cubic-bezier(.55,0,.1,1)"
396
+ }),
397
+ type: Object
398
+ }
399
+ }, it = {
400
+ inheritAttrs: !1
401
+ }, rt = /* @__PURE__ */ c({
402
+ ...it,
403
+ __name: "ZoomYTransition",
404
+ props: v(at),
405
+ emits: g(),
406
+ setup(o, { emit: n }) {
407
+ const e = o, a = y(e), l = T(e), r = h(e, n);
408
+ return (s, t) => (d(), u(_(i(a)), m({
409
+ tag: i(l),
410
+ "enter-active-class": "zoom-in-y",
411
+ "move-class": "zoom-move",
412
+ "leave-active-class": "zoom-out-y"
413
+ }, { ...s.$attrs, ...i(r) }), {
414
+ default: p(() => [
415
+ f(s.$slots, "default")
416
+ ]),
417
+ _: 3
418
+ }, 16, ["tag"]));
419
+ }
420
+ });
421
+ const lt = {
422
+ CollapseTransition: j,
423
+ FadeTransition: C,
424
+ ScaleTransition: x,
425
+ SlideXLeftTransition: M,
426
+ SlideXRightTransition: R,
427
+ SlideYDownTransition: N,
428
+ SlideYUpTransition: J,
429
+ ZoomCenterTransition: Q,
430
+ ZoomUpTransition: et,
431
+ ZoomXTransition: st,
432
+ ZoomYTransition: rt
433
+ };
434
+ function ct(o) {
435
+ o.$_v3SFCTransitionsInstalled || (o.$_v3SFCTransitionsInstalled = !0, Object.entries(lt).forEach(
436
+ ([n, e]) => o.component(n, e)
437
+ ));
438
+ }
439
+ const ut = {
440
+ install: ct
441
+ };
442
+ export {
443
+ j as CollapseTransition,
444
+ C as FadeTransition,
445
+ x as ScaleTransition,
446
+ M as SlideXLeftTransition,
447
+ R as SlideXRightTransition,
448
+ N as SlideYDownTransition,
449
+ J as SlideYUpTransition,
450
+ Q as ZoomCenterTransition,
451
+ et as ZoomUpTransition,
452
+ st as ZoomXTransition,
453
+ rt as ZoomYTransition,
454
+ ut as default,
455
+ ct as install
456
+ };
@@ -0,0 +1 @@
1
+ (function(c,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(c=typeof globalThis<"u"?globalThis:c||self,t(c.VueBezier={},c.Vue))})(this,function(c,t){"use strict";const d=o=>o.group?t.TransitionGroup:t.Transition,m=()=>["after-enter","after-leave","before-enter","before-leave","leave"],v=(o,s)=>{var l,r;const n=((l=o.duration)==null?void 0:l.enter)??o.duration??0,i=((r=o.delay)==null?void 0:r.enter)??o.delay??0;s.style.animationDuration=`${n}ms`,s.style.animationDelay=`${i}ms`,u(o,s)},Z=(o,s)=>{var l,r;const n=((l=o.duration)==null?void 0:l.leave)??o.duration??0,i=((r=o.delay)==null?void 0:r.leave)??o.delay??0;s.style.animationDuration=`${n}ms`,s.style.animationDelay=`${i}ms`,u(o,s)},T=(o,s)=>{Object.keys(o.styles).forEach(n=>{o.styles[n]&&(s.style[n]="")}),s.style.animationDuration="",s.style.animationDelay=""},h=(o,s,n)=>{var r,a;$(o,s);const i=((r=o.duration)==null?void 0:r.leave)??o.duration??0,l=((a=o.delay)==null?void 0:a.leave)??o.delay??0;setTimeout(n,i+l)},u=(o,s)=>{A(o,s),Object.keys(o.styles).forEach(n=>{const i=o.styles[n];i&&(s.style[n]=i)})},$=(o,s)=>{o.group&&(s.style.position="absolute")},A=(o,s)=>{o.origin&&(s.style.transformOrigin=o.origin)},p=(o,s)=>({onAfterEnter:n=>{T(o,n),s("after-enter",n)},onAfterLeave:n=>{T(o,n),s("after-leave",n)},onBeforeEnter:n=>{v(o,n),s("before-enter",n)},onBeforeLeave:n=>{Z(o,n),s("before-leave",n)},onLeave:(n,i)=>{h(o,n,i),s("leave",n,i)}}),X={delay:{default:0,type:[Number,Object]},duration:{default:300,type:[Number,Object]},group:Boolean,origin:{default:"",type:String},styles:{default:()=>({animationFillMode:"both",animationTimingFunction:"ease-out"}),type:Object},tag:{default:"span",type:String}},f=o=>({...X,...o||{}}),_=o=>o.tag,b=t.defineComponent({__name:"CollapseTransition",props:f(),emits:m(),setup(o,{emit:s}){const n=o,i=d(n),l=_(n),r={onAfterEnter(e){e.style.transition="",e.style.height="",e.style.overflow=e.dataset.oldOverflow,s("after-enter",e)},onAfterLeave(e){e.style.transition="",e.style.height="",e.style.overflow=e.dataset.oldOverflow,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom,s("after-leave",e)},onBeforeEnter(e){var g;const y=((g=n.duration)==null?void 0:g.enter)??n.duration??0;e.style.transition=a(y),e.dataset||(e.dataset={}),e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.style.height="0",e.style.paddingTop=0,e.style.paddingBottom=0,u(n,e),s("before-enter",e)},onBeforeLeave(e){e.dataset||(e.dataset={}),e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.dataset.oldOverflow=e.style.overflow,e.style.height=`${e.scrollHeight}px`,e.style.overflow="hidden",u(n,e),s("before-leave",e)},onEnter(e){e.dataset.oldOverflow=e.style.overflow,e.scrollHeight!==0?(e.style.height=`${e.scrollHeight}px`,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom):(e.style.height="",e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom),e.style.overflow="hidden"},onLeave(e,y){const g=n.duration.leave??n.duration??0;e.scrollHeight!==0&&(e.style.transition=a(g),e.style.height=0,e.style.paddingTop=0,e.style.paddingBottom=0),$(n,e),h(n,e,y),s("leave",e,y)}},a=e=>{const y=e/1e3;return`${y}s height ease-in-out, ${y}s padding-top ease-in-out, ${y}s padding-bottom ease-in-out`};return(e,y)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)),t.mergeProps({tag:t.unref(l)},{...e.$attrs,...r},{"move-class":"collapse-move"}),{default:t.withCtx(()=>[t.renderSlot(e.$slots,"default")]),_:3},16,["tag"]))}}),ot="",Y={inheritAttrs:!1},C=t.defineComponent({...Y,__name:"FadeTransition",props:f(),emits:m(),setup(o,{emit:s}){const n=o,i=d(n),l=_(n),r=p(n,s);return(a,e)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)),t.mergeProps({tag:t.unref(l),"enter-active-class":"fade-in","move-class":"fade-move","leave-active-class":"fade-out"},{...a.$attrs,...t.unref(r)}),{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default")]),_:3},16,["tag"]))}}),st="",L={origin:{default:"top left",type:String},styles:{default:()=>({animationFillMode:"both",animationTimingFunction:"cubic-bezier(.25,.8,.50,1)"}),type:Object}},M={inheritAttrs:!1},S=t.defineComponent({...M,__name:"ScaleTransition",props:f(L),emits:m(),setup(o,{emit:s}){const n=o,i=d(n),l=_(n),r=p(n,s);return(a,e)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)),t.mergeProps({tag:t.unref(l)},{...a.$attrs,...t.unref(r)},{"enter-active-class":"scale-in","move-class":"scale-move","leave-active-class":"scale-out"}),{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default")]),_:3},16,["tag"]))}}),at="",x={styles:{default:()=>({animationFillMode:"both",animationTimingFunction:"cubic-bezier(.25,.8,.50,1)"}),type:Object}},E={inheritAttrs:!1},B=t.defineComponent({...E,__name:"SlideXLeftTransition",props:f(x),emits:m(),setup(o,{emit:s}){const n=o,i=d(n),l=_(n),r=p(n,s);return(a,e)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)),t.mergeProps({tag:t.unref(l)},{...a.$attrs,...t.unref(r)},{"enter-active-class":"slide-x-left-in","move-class":"slide-move","leave-active-class":"slide-x-left-out"}),{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default")]),_:3},16,["tag"]))}}),it="",U={styles:{default:()=>({animationFillMode:"both",animationTimingFunction:"cubic-bezier(.25,.8,.50,1)"}),type:Object}},H={inheritAttrs:!1},k=t.defineComponent({...H,__name:"SlideXRightTransition",props:f(U),emits:m(),setup(o,{emit:s}){const n=o,i=d(n),l=_(n),r=p(n,s);return(a,e)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)),t.mergeProps({tag:t.unref(l)},{...a.$attrs,...t.unref(r)},{"enter-active-class":"slide-x-right-in","move-class":"slide-move","leave-active-class":"slide-x-right-out"}),{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default")]),_:3},16,["tag"]))}}),rt="",V={styles:{default:()=>({animationFillMode:"both",animationTimingFunction:"cubic-bezier(.25,.8,.50,1)"}),type:Object}},R={inheritAttrs:!1},P=t.defineComponent({...R,__name:"SlideYDownTransition",props:f(V),emits:m(),setup(o,{emit:s}){const n=o,i=d(n),l=_(n),r=p(n,s);return(a,e)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)),t.mergeProps({tag:t.unref(l)},{...a.$attrs,...t.unref(r)},{"enter-active-class":"slide-y-down-in","leave-active-class":"slide-y-down-out"}),{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default")]),_:3},16,["tag"]))}}),lt="",I={styles:{default:()=>({animationFillMode:"both",animationTimingFunction:"cubic-bezier(.25,.8,.50,1)"}),type:Object}},N={inheritAttrs:!1},D=t.defineComponent({...N,__name:"SlideYUpTransition",props:f(I),emits:m(),setup(o,{emit:s}){const n=o,i=d(n),l=_(n),r=p(n,s);return(a,e)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)),t.mergeProps({tag:t.unref(l),type:"animation"},{...a.$attrs,...t.unref(r)},{"enter-active-class":"slide-y-in","move-class":"slide-move","leave-active-class":"slide-y-out"}),{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default")]),_:3},16,["tag"]))}}),ct="",q={inheritAttrs:!1},w=t.defineComponent({...q,__name:"ZoomCenterTransition",props:f(),emits:m(),setup(o,{emit:s}){const n=o,i=d(n),l=_(n),r=p(n,s);return(a,e)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)),t.mergeProps({tag:t.unref(l)},{...a.$attrs,...t.unref(r)},{"enter-active-class":"zoom-in","move-class":"zoom-move","leave-active-class":"zoom-out"}),{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default")]),_:3},16,["tag"]))}}),dt="",G={styles:{default:()=>({animationFillMode:"both",animationTimingFunction:"ease-out"}),type:Object}},J={inheritAttrs:!1},F=t.defineComponent({...J,__name:"ZoomUpTransition",props:f(G),emits:m(),setup(o,{emit:s}){const n=o,i=d(n),l=_(n),r=p(n,s);return(a,e)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)),t.mergeProps({tag:t.unref(l)},{...a.$attrs,...t.unref(r)},{"enter-active-class":"zoom-in-up","move-class":"zoom-move","leave-active-class":"zoom-out-up"}),{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default")]),_:3},16,["tag"]))}}),mt="",K={styles:{default:()=>({animationFillMode:"both",animationTimingFunction:"cubic-bezier(.55,0,.1,1)"}),type:Object}},Q={inheritAttrs:!1},O=t.defineComponent({...Q,__name:"ZoomXTransition",props:f(K),emits:m(),setup(o,{emit:s}){const n=o,i=d(n),l=_(n),r=p(n,s);return(a,e)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)),t.mergeProps({tag:t.unref(l),"enter-active-class":"zoom-in-x","move-class":"zoom-move","leave-active-class":"zoom-out-x"},{...a.$attrs,...t.unref(r)}),{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default")]),_:3},16,["tag"]))}}),ft="",W={styles:{default:()=>({animationFillMode:"both",animationTimingFunction:"cubic-bezier(.55,0,.1,1)"}),type:Object}},tt={inheritAttrs:!1},z=t.defineComponent({...tt,__name:"ZoomYTransition",props:f(W),emits:m(),setup(o,{emit:s}){const n=o,i=d(n),l=_(n),r=p(n,s);return(a,e)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)),t.mergeProps({tag:t.unref(l),"enter-active-class":"zoom-in-y","move-class":"zoom-move","leave-active-class":"zoom-out-y"},{...a.$attrs,...t.unref(r)}),{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default")]),_:3},16,["tag"]))}}),_t="",et={CollapseTransition:b,FadeTransition:C,ScaleTransition:S,SlideXLeftTransition:B,SlideXRightTransition:k,SlideYDownTransition:P,SlideYUpTransition:D,ZoomCenterTransition:w,ZoomUpTransition:F,ZoomXTransition:O,ZoomYTransition:z};function j(o){o.$_v3SFCTransitionsInstalled||(o.$_v3SFCTransitionsInstalled=!0,Object.entries(et).forEach(([s,n])=>o.component(s,n)))}const nt={install:j};c.CollapseTransition=b,c.FadeTransition=C,c.ScaleTransition=S,c.SlideXLeftTransition=B,c.SlideXRightTransition=k,c.SlideYDownTransition=P,c.SlideYUpTransition=D,c.ZoomCenterTransition=w,c.ZoomUpTransition=F,c.ZoomXTransition=O,c.ZoomYTransition=z,c.default=nt,c.install=j,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -0,0 +1,156 @@
1
+ {
2
+ "framework": "vue",
3
+ "name": "@noction/vue-bezier",
4
+ "version": "1.0.5",
5
+ "contributions": {
6
+ "html": {
7
+ "description-markup": "markdown",
8
+ "types-syntax": "typescript",
9
+ "tags": [
10
+ {
11
+ "name": "CollapseTransition",
12
+ "description": "",
13
+ "slots": [
14
+ {
15
+ "name": "default"
16
+ }
17
+ ],
18
+ "source": {
19
+ "module": "./src/components/Collapse/CollapseTransition.vue",
20
+ "symbol": "default"
21
+ }
22
+ },
23
+ {
24
+ "name": "FadeTransition",
25
+ "description": "",
26
+ "slots": [
27
+ {
28
+ "name": "default"
29
+ }
30
+ ],
31
+ "source": {
32
+ "module": "./src/components/Fade/FadeTransition.vue",
33
+ "symbol": "default"
34
+ }
35
+ },
36
+ {
37
+ "name": "ScaleTransition",
38
+ "description": "",
39
+ "slots": [
40
+ {
41
+ "name": "default"
42
+ }
43
+ ],
44
+ "source": {
45
+ "module": "./src/components/Scale/ScaleTransition.vue",
46
+ "symbol": "default"
47
+ }
48
+ },
49
+ {
50
+ "name": "SlideXLeftTransition",
51
+ "description": "",
52
+ "slots": [
53
+ {
54
+ "name": "default"
55
+ }
56
+ ],
57
+ "source": {
58
+ "module": "./src/components/Slide/SlideXLeftTransition.vue",
59
+ "symbol": "default"
60
+ }
61
+ },
62
+ {
63
+ "name": "SlideXRightTransition",
64
+ "description": "",
65
+ "slots": [
66
+ {
67
+ "name": "default"
68
+ }
69
+ ],
70
+ "source": {
71
+ "module": "./src/components/Slide/SlideXRightTransition.vue",
72
+ "symbol": "default"
73
+ }
74
+ },
75
+ {
76
+ "name": "SlideYDownTransition",
77
+ "description": "",
78
+ "slots": [
79
+ {
80
+ "name": "default"
81
+ }
82
+ ],
83
+ "source": {
84
+ "module": "./src/components/Slide/SlideYDownTransition.vue",
85
+ "symbol": "default"
86
+ }
87
+ },
88
+ {
89
+ "name": "SlideYUpTransition",
90
+ "description": "",
91
+ "slots": [
92
+ {
93
+ "name": "default"
94
+ }
95
+ ],
96
+ "source": {
97
+ "module": "./src/components/Slide/SlideYUpTransition.vue",
98
+ "symbol": "default"
99
+ }
100
+ },
101
+ {
102
+ "name": "ZoomCenterTransition",
103
+ "description": "",
104
+ "slots": [
105
+ {
106
+ "name": "default"
107
+ }
108
+ ],
109
+ "source": {
110
+ "module": "./src/components/Zoom/ZoomCenterTransition.vue",
111
+ "symbol": "default"
112
+ }
113
+ },
114
+ {
115
+ "name": "ZoomUpTransition",
116
+ "description": "",
117
+ "slots": [
118
+ {
119
+ "name": "default"
120
+ }
121
+ ],
122
+ "source": {
123
+ "module": "./src/components/Zoom/ZoomUpTransition.vue",
124
+ "symbol": "default"
125
+ }
126
+ },
127
+ {
128
+ "name": "ZoomXTransition",
129
+ "description": "",
130
+ "slots": [
131
+ {
132
+ "name": "default"
133
+ }
134
+ ],
135
+ "source": {
136
+ "module": "./src/components/Zoom/ZoomXTransition.vue",
137
+ "symbol": "default"
138
+ }
139
+ },
140
+ {
141
+ "name": "ZoomYTransition",
142
+ "description": "",
143
+ "slots": [
144
+ {
145
+ "name": "default"
146
+ }
147
+ ],
148
+ "source": {
149
+ "module": "./src/components/Zoom/ZoomYTransition.vue",
150
+ "symbol": "default"
151
+ }
152
+ }
153
+ ]
154
+ }
155
+ }
156
+ }
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@noction/vue-bezier",
3
+ "version": "1.0.5",
4
+ "description": "Vue3 reusable transition components",
5
+ "keywords": [
6
+ "transitions",
7
+ "animations",
8
+ "fade",
9
+ "sfc",
10
+ "composition-api",
11
+ "vue",
12
+ "vue3"
13
+ ],
14
+ "author": {
15
+ "name": "50rayn",
16
+ "email": "soryngitlan@gmail.com"
17
+ },
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/Noction/vue-bezier.git"
21
+ },
22
+ "homepage": "https://github.com/Noction/vue-bezier/",
23
+ "bugs": {
24
+ "url": "https://github.com/Noction/vue-bezier/issues",
25
+ "email": "soryngitlan@gmail.com"
26
+ },
27
+ "files": [
28
+ "dist",
29
+ "src"
30
+ ],
31
+ "license": "MIT",
32
+ "main": "dist/vue-bezier.umd.js",
33
+ "module": "dist/vue-bezier.mjs",
34
+ "types": "dist/index.d.ts",
35
+ "scripts": {
36
+ "dev": "cross-env NODE_ENV=development vite build --watch",
37
+ "build:light": "cross-env NODE_ENV=development vite build",
38
+ "build": "cross-env NODE_ENV=production vite build && tsc -d --emitDeclarationOnly && vue-typegen gen -s src -o dist && vue-docgen-web-types",
39
+ "prepublishOnly": "npm run build",
40
+ "lint:es": "eslint \"src/**/*.{js,ts,vue}\" --fix --color",
41
+ "lint:style": "stylelint src/**/*.{css,scss,vue} --color --fix",
42
+ "test": "vitest run",
43
+ "test:coverage": "vitest run --coverage"
44
+ },
45
+ "devDependencies": {
46
+ "@faker-js/faker": "^8.0.2",
47
+ "@types/node": "^20.3.1",
48
+ "@vitejs/plugin-vue": "^4.2.3",
49
+ "@vitest/coverage-v8": "^0.32.2",
50
+ "@vue/test-utils": "^2.4.0",
51
+ "cross-env": "^7.0.3",
52
+ "jsdom": "^22.1.0",
53
+ "minimist": "^1.2.8",
54
+ "sass": "^1.63.6",
55
+ "vite": "^4.3.9",
56
+ "vitest": "^0.32.2",
57
+ "vue": "^3.3.4",
58
+ "vue-tsc": "^1.8.1",
59
+ "vue-typegen": "^0.2.0",
60
+ "vue-docgen-web-types": "^0.1.8"
61
+ },
62
+ "web-types": "./dist/web-types.json"
63
+ }