@nemigo/svelte 0.2.2 → 0.2.3
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.
- package/dist/transitions.d.ts +5 -1
- package/dist/transitions.js +27 -1
- package/package.json +2 -2
package/dist/transitions.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Property } from "csstype";
|
|
2
2
|
import { linear } from "svelte/easing";
|
|
3
|
-
import type { SlideParams, TransitionConfig } from "svelte/transition";
|
|
3
|
+
import type { FlyParams, SlideParams, TransitionConfig } from "svelte/transition";
|
|
4
4
|
export interface ClassNameTransitionParams {
|
|
5
5
|
animationClassName: string;
|
|
6
6
|
/**
|
|
@@ -23,6 +23,10 @@ export declare const classNameTransition: (node: HTMLElement, { animationClassNa
|
|
|
23
23
|
export declare function slide(node: Element, { delay, duration, easing, axis, classic }?: SlideParams & {
|
|
24
24
|
classic?: boolean;
|
|
25
25
|
}): TransitionConfig;
|
|
26
|
+
/**
|
|
27
|
+
* Анимация всплытия (scale + fly)
|
|
28
|
+
*/
|
|
29
|
+
export declare const bloop: (node: Element, { delay, duration, easing, x, y, opacity }?: FlyParams) => TransitionConfig;
|
|
26
30
|
/**
|
|
27
31
|
* Микс-анимация из scale и translate с добавлением лёгкого fade-эффекта
|
|
28
32
|
*/
|
package/dist/transitions.js
CHANGED
|
@@ -101,6 +101,33 @@ export function slide(node, { delay = 0, duration = 325, easing, axis = "y", cla
|
|
|
101
101
|
};
|
|
102
102
|
}
|
|
103
103
|
//...
|
|
104
|
+
const split_css_unit = (value) => {
|
|
105
|
+
const split = typeof value === "string" && value.match(/^\s*(-?[\d.]+)(\S*)\s*$/);
|
|
106
|
+
return split ? [parseFloat(split[1]), split[2] || "px"] : [Number(value), "px"];
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Анимация всплытия (scale + fly)
|
|
110
|
+
*/
|
|
111
|
+
export const bloop = (node, { delay = 0, duration = 325, easing = quadInOut, x = 0, y = 0, opacity = 0 } = {}) => {
|
|
112
|
+
const style = getComputedStyle(node);
|
|
113
|
+
const target_opacity = +style.opacity;
|
|
114
|
+
const transform = style.transform === "none" ? "" : style.transform;
|
|
115
|
+
const od = target_opacity * (1 - opacity);
|
|
116
|
+
const { 0: x_value, 1: x_unit } = split_css_unit(x);
|
|
117
|
+
const { 0: y_value, 1: y_unit } = split_css_unit(y);
|
|
118
|
+
return {
|
|
119
|
+
delay,
|
|
120
|
+
duration,
|
|
121
|
+
easing,
|
|
122
|
+
css: (t, u) => {
|
|
123
|
+
const boosted = css_boost(t, 2 / 5);
|
|
124
|
+
return `
|
|
125
|
+
transform: ${transform} translate(${(1 - t) * x_value}${x_unit}, ${(1 - t) * y_value}${y_unit}) scale(${boosted});
|
|
126
|
+
opacity: ${target_opacity - od * u}
|
|
127
|
+
`;
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
};
|
|
104
131
|
/**
|
|
105
132
|
* Микс-анимация из scale и translate с добавлением лёгкого fade-эффекта
|
|
106
133
|
*/
|
|
@@ -120,7 +147,6 @@ export const upper = (node, { delay = 0, duration = 400, x = 0, y = 0, opacity =
|
|
|
120
147
|
},
|
|
121
148
|
};
|
|
122
149
|
};
|
|
123
|
-
//...
|
|
124
150
|
/**
|
|
125
151
|
* Просто анимация изменения размера через font-size (0 ~ 1)
|
|
126
152
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nemigo/svelte",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Vlad Logvin",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"@nemigo/helpers": "
|
|
36
|
+
"@nemigo/helpers": ">0.3.0",
|
|
37
37
|
"@sveltejs/kit": "^2.12.0",
|
|
38
38
|
"svelte": "^5.0.0"
|
|
39
39
|
},
|