@tamagui/animations-css 1.25.0-1683417484302 → 1.26.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/animations-css",
3
- "version": "1.25.0-1683417484302",
3
+ "version": "1.26.1",
4
4
  "source": "src/index.ts",
5
5
  "sideEffects": false,
6
6
  "license": "MIT",
@@ -13,12 +13,12 @@
13
13
  "dist"
14
14
  ],
15
15
  "dependencies": {
16
- "@tamagui/cubic-bezier-animator": "1.25.0-1683417484302",
17
- "@tamagui/use-presence": "1.25.0-1683417484302",
18
- "@tamagui/web": "1.25.0-1683417484302"
16
+ "@tamagui/cubic-bezier-animator": "1.26.1",
17
+ "@tamagui/use-presence": "1.26.1",
18
+ "@tamagui/web": "1.26.1"
19
19
  },
20
20
  "devDependencies": {
21
- "@tamagui/build": "1.25.0-1683417484302"
21
+ "@tamagui/build": "1.26.1"
22
22
  },
23
23
  "scripts": {
24
24
  "build": "tamagui-build",
@@ -1,133 +0,0 @@
1
- import { animate } from "@tamagui/cubic-bezier-animator";
2
- import { usePresence } from "@tamagui/use-presence";
3
- import {
4
- Stack,
5
- Text,
6
- useIsomorphicLayoutEffect,
7
- useSafeRef
8
- } from "@tamagui/web";
9
- import { useMemo, useState } from "react";
10
- function createAnimations(animations) {
11
- return {
12
- View: Stack,
13
- Text,
14
- animations,
15
- usePresence,
16
- useAnimatedNumber(initial) {
17
- const [val, setVal] = useState(initial);
18
- return {
19
- getInstance() {
20
- return val;
21
- },
22
- getValue() {
23
- return val;
24
- },
25
- setValue(next) {
26
- setVal(next);
27
- },
28
- stop() {
29
- }
30
- };
31
- },
32
- useAnimatedNumberReaction({ hostRef, value }, onValue) {
33
- useIsomorphicLayoutEffect(() => {
34
- if (!hostRef.current)
35
- return;
36
- const onTransitionEvent = (e) => {
37
- onValue(value.getValue());
38
- };
39
- const node = hostRef.current;
40
- node.addEventListener("transitionstart", onTransitionEvent);
41
- node.addEventListener("transitioncancel", onTransitionEvent);
42
- node.addEventListener("transitionend", onTransitionEvent);
43
- return () => {
44
- node.removeEventListener("transitionstart", onTransitionEvent);
45
- node.removeEventListener("transitioncancel", onTransitionEvent);
46
- node.removeEventListener("transitionend", onTransitionEvent);
47
- };
48
- }, [hostRef, onValue]);
49
- },
50
- useAnimatedNumberStyle(val, getStyle) {
51
- return getStyle(val.getValue());
52
- },
53
- useAnimations: ({ props, presence, style, state, hostRef }) => {
54
- const isEntering = !!state.unmounted;
55
- const isExiting = (presence == null ? void 0 : presence[0]) === false;
56
- const sendExitComplete = presence == null ? void 0 : presence[1];
57
- const initialPositionRef = useSafeRef(null);
58
- const animationKey = Array.isArray(props.animation) ? props.animation[0] : props.animation;
59
- const animation = animations[animationKey];
60
- if (!animation) {
61
- return null;
62
- }
63
- const keys = props.animateOnly ? props.animateOnly.join(" ") : "all";
64
- useIsomorphicLayoutEffect(() => {
65
- if (!sendExitComplete || !isExiting || !hostRef.current)
66
- return;
67
- const node = hostRef.current;
68
- const onFinishAnimation = () => {
69
- sendExitComplete == null ? void 0 : sendExitComplete();
70
- };
71
- node.addEventListener("transitionend", onFinishAnimation);
72
- node.addEventListener("transitioncancel", onFinishAnimation);
73
- return () => {
74
- node.removeEventListener("transitionend", onFinishAnimation);
75
- node.addEventListener("transitioncancel", onFinishAnimation);
76
- };
77
- }, [sendExitComplete, isExiting]);
78
- useIsomorphicLayoutEffect(() => {
79
- var _a;
80
- if (!hostRef.current || !props.layout) {
81
- return;
82
- }
83
- const boundingBox = (_a = hostRef.current) == null ? void 0 : _a.getBoundingClientRect();
84
- if (isChanged(initialPositionRef.current, boundingBox)) {
85
- const transform = invert(
86
- hostRef.current,
87
- boundingBox,
88
- initialPositionRef.current
89
- );
90
- animate({
91
- from: transform,
92
- to: { x: 0, y: 0, scaleX: 1, scaleY: 1 },
93
- duration: 1e3,
94
- onUpdate: ({ x, y, scaleX, scaleY }) => {
95
- hostRef.current.style.transform = `translate(${x}px, ${y}px) scaleX(${scaleX}) scaleY(${scaleY})`;
96
- },
97
- // TODO: extract ease-in from string and convert/map it to a cubicBezier array
98
- cubicBezier: [0, 1.38, 1, -0.41]
99
- });
100
- }
101
- initialPositionRef.current = boundingBox;
102
- });
103
- style.transition = `${keys} ${animation}${props.layout ? ",width 0s, height 0s, margin 0s, padding 0s, transform" : ""}`;
104
- if (process.env.NODE_ENV === "development" && props["debug"]) {
105
- console.log("CSS animation", style, { isEntering, isExiting });
106
- }
107
- return useMemo(() => {
108
- return { style };
109
- }, [JSON.stringify(style)]);
110
- }
111
- };
112
- }
113
- const isChanged = (initialBox, finalBox) => {
114
- if (!initialBox || !finalBox)
115
- return false;
116
- return JSON.stringify(initialBox) !== JSON.stringify(finalBox);
117
- };
118
- const invert = (el, from, to) => {
119
- const { x: fromX, y: fromY, width: fromWidth, height: fromHeight } = from;
120
- const { x, y, width, height } = to;
121
- const transform = {
122
- x: x - fromX - (fromWidth - width) / 2,
123
- y: y - fromY - (fromHeight - height) / 2,
124
- scaleX: width / fromWidth,
125
- scaleY: height / fromHeight
126
- };
127
- el.style.transform = `translate(${transform.x}px, ${transform.y}px) scaleX(${transform.scaleX}) scaleY(${transform.scaleY})`;
128
- return transform;
129
- };
130
- export {
131
- createAnimations
132
- };
133
- //# sourceMappingURL=createAnimations.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/createAnimations.tsx"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,2 +0,0 @@
1
- export * from "./createAnimations";
2
- //# sourceMappingURL=index.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.tsx"],
4
- "mappings": "AAAA,cAAc;",
5
- "names": []
6
- }