@xanui/core 1.2.64 → 1.2.65
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/Transition/index.cjs +75 -14
- package/Transition/index.cjs.map +1 -1
- package/Transition/index.d.ts +27 -4
- package/Transition/index.js +76 -15
- package/Transition/index.js.map +1 -1
- package/{hooks/useTransition → Transition}/variants.cjs +60 -20
- package/Transition/variants.cjs.map +1 -0
- package/{hooks/useTransition → Transition}/variants.d.ts +38 -10
- package/{hooks/useTransition → Transition}/variants.js +59 -21
- package/Transition/variants.js.map +1 -0
- package/index.cjs +8 -10
- package/index.cjs.map +1 -1
- package/index.d.ts +1 -2
- package/index.js +0 -1
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/hooks/useTransition/index.cjs +0 -108
- package/hooks/useTransition/index.cjs.map +0 -1
- package/hooks/useTransition/index.d.ts +0 -36
- package/hooks/useTransition/index.js +0 -106
- package/hooks/useTransition/index.js.map +0 -1
- package/hooks/useTransition/variants.cjs.map +0 -1
- package/hooks/useTransition/variants.js.map +0 -1
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
const getY = (rect) => rect ? Math.min(rect.height / 2, 40) : 20;
|
|
2
|
+
const getX = (rect) => rect ? Math.min(rect.width / 2, 40) : 20;
|
|
1
3
|
const slideDown = (rect) => {
|
|
4
|
+
const y = getY(rect);
|
|
2
5
|
return {
|
|
3
6
|
from: {
|
|
4
|
-
transform: `translateY(-${
|
|
7
|
+
transform: `translateY(-${y}px)`,
|
|
5
8
|
},
|
|
6
9
|
to: {
|
|
7
10
|
transform: `translateY(0)`,
|
|
@@ -9,9 +12,10 @@ const slideDown = (rect) => {
|
|
|
9
12
|
};
|
|
10
13
|
};
|
|
11
14
|
const slideUp = (rect) => {
|
|
15
|
+
const y = getY(rect);
|
|
12
16
|
return {
|
|
13
17
|
from: {
|
|
14
|
-
transform: `translateY(${
|
|
18
|
+
transform: `translateY(${y}px)`,
|
|
15
19
|
},
|
|
16
20
|
to: {
|
|
17
21
|
transform: `translateY(0)`,
|
|
@@ -19,9 +23,10 @@ const slideUp = (rect) => {
|
|
|
19
23
|
};
|
|
20
24
|
};
|
|
21
25
|
const slideRight = (rect) => {
|
|
26
|
+
const x = getX(rect);
|
|
22
27
|
return {
|
|
23
28
|
from: {
|
|
24
|
-
transform: `translateX(-${
|
|
29
|
+
transform: `translateX(-${x}px)`,
|
|
25
30
|
},
|
|
26
31
|
to: {
|
|
27
32
|
transform: `translateX(0)`,
|
|
@@ -29,15 +34,40 @@ const slideRight = (rect) => {
|
|
|
29
34
|
};
|
|
30
35
|
};
|
|
31
36
|
const slideLeft = (rect) => {
|
|
37
|
+
const x = getX(rect);
|
|
32
38
|
return {
|
|
33
39
|
from: {
|
|
34
|
-
transform: `translateX(${
|
|
40
|
+
transform: `translateX(${x}px)`,
|
|
35
41
|
},
|
|
36
42
|
to: {
|
|
37
43
|
transform: `translateX(0)`,
|
|
38
44
|
}
|
|
39
45
|
};
|
|
40
46
|
};
|
|
47
|
+
const scaleYDown = () => ({
|
|
48
|
+
from: {
|
|
49
|
+
transform: "scaleY(0.8)",
|
|
50
|
+
opacity: 0,
|
|
51
|
+
transformOrigin: "top"
|
|
52
|
+
},
|
|
53
|
+
to: {
|
|
54
|
+
transform: "scaleY(1)",
|
|
55
|
+
opacity: 1,
|
|
56
|
+
transformOrigin: "top"
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
const scaleYUp = () => ({
|
|
60
|
+
from: {
|
|
61
|
+
transform: "scaleY(0.8)",
|
|
62
|
+
transformOrigin: "bottom",
|
|
63
|
+
opacity: 0
|
|
64
|
+
},
|
|
65
|
+
to: {
|
|
66
|
+
transform: "scaleY(1)",
|
|
67
|
+
transformOrigin: "bottom",
|
|
68
|
+
opacity: 1
|
|
69
|
+
}
|
|
70
|
+
});
|
|
41
71
|
const fade = () => {
|
|
42
72
|
return {
|
|
43
73
|
from: {
|
|
@@ -48,50 +78,54 @@ const fade = () => {
|
|
|
48
78
|
}
|
|
49
79
|
};
|
|
50
80
|
};
|
|
51
|
-
const fadeDown = () => {
|
|
81
|
+
const fadeDown = (rect) => {
|
|
82
|
+
const y = getY(rect);
|
|
52
83
|
return {
|
|
53
84
|
from: {
|
|
54
|
-
transform: `translateY(
|
|
85
|
+
transform: `translateY(-${y}px) scale(0.98)`,
|
|
55
86
|
opacity: 0
|
|
56
87
|
},
|
|
57
88
|
to: {
|
|
58
|
-
transform: `translateY(0)`,
|
|
89
|
+
transform: `translateY(0) scale(1)`,
|
|
59
90
|
opacity: 1
|
|
60
91
|
}
|
|
61
92
|
};
|
|
62
93
|
};
|
|
63
|
-
const fadeUp = () => {
|
|
94
|
+
const fadeUp = (rect) => {
|
|
95
|
+
const y = getY(rect);
|
|
64
96
|
return {
|
|
65
97
|
from: {
|
|
66
|
-
transform: `translateY(
|
|
98
|
+
transform: `translateY(${y}px) scale(0.98)`,
|
|
67
99
|
opacity: 0
|
|
68
100
|
},
|
|
69
101
|
to: {
|
|
70
|
-
transform: `translateY(0)`,
|
|
102
|
+
transform: `translateY(0) scale(1)`,
|
|
71
103
|
opacity: 1
|
|
72
104
|
}
|
|
73
105
|
};
|
|
74
106
|
};
|
|
75
|
-
const fadeRight = () => {
|
|
107
|
+
const fadeRight = (rect) => {
|
|
108
|
+
const x = getX(rect);
|
|
76
109
|
return {
|
|
77
110
|
from: {
|
|
78
|
-
transform: `translateX(
|
|
111
|
+
transform: `translateX(-${x}px) scale(0.98)`,
|
|
79
112
|
opacity: 0
|
|
80
113
|
},
|
|
81
114
|
to: {
|
|
82
|
-
transform: `translateX(0)`,
|
|
115
|
+
transform: `translateX(0) scale(1)`,
|
|
83
116
|
opacity: 1
|
|
84
117
|
}
|
|
85
118
|
};
|
|
86
119
|
};
|
|
87
|
-
const fadeLeft = () => {
|
|
120
|
+
const fadeLeft = (rect) => {
|
|
121
|
+
const x = getX(rect);
|
|
88
122
|
return {
|
|
89
123
|
from: {
|
|
90
|
-
transform: `translateX(
|
|
124
|
+
transform: `translateX(${x}px) scale(0.98)`,
|
|
91
125
|
opacity: 0
|
|
92
126
|
},
|
|
93
127
|
to: {
|
|
94
|
-
transform: `translateX(0)`,
|
|
128
|
+
transform: `translateX(0) scale(1)`,
|
|
95
129
|
opacity: 1
|
|
96
130
|
}
|
|
97
131
|
};
|
|
@@ -112,10 +146,12 @@ const zoom = () => {
|
|
|
112
146
|
return {
|
|
113
147
|
from: {
|
|
114
148
|
transform: "scale(.8)",
|
|
149
|
+
transformOrigin: "center",
|
|
115
150
|
opacity: 0
|
|
116
151
|
},
|
|
117
152
|
to: {
|
|
118
153
|
transform: "scale(1)",
|
|
154
|
+
transformOrigin: "center",
|
|
119
155
|
opacity: 1
|
|
120
156
|
}
|
|
121
157
|
};
|
|
@@ -124,10 +160,12 @@ const zoomOver = () => {
|
|
|
124
160
|
return {
|
|
125
161
|
from: {
|
|
126
162
|
transform: "scale(1.2)",
|
|
163
|
+
transformOrigin: "center",
|
|
127
164
|
opacity: 0
|
|
128
165
|
},
|
|
129
166
|
to: {
|
|
130
167
|
transform: "scale(1)",
|
|
168
|
+
transformOrigin: "center",
|
|
131
169
|
opacity: 1
|
|
132
170
|
}
|
|
133
171
|
};
|
|
@@ -135,11 +173,11 @@ const zoomOver = () => {
|
|
|
135
173
|
const collapseVertical = (rect) => {
|
|
136
174
|
return {
|
|
137
175
|
from: {
|
|
138
|
-
maxHeight:
|
|
176
|
+
maxHeight: "0px",
|
|
139
177
|
overflow: "hidden"
|
|
140
178
|
},
|
|
141
179
|
to: {
|
|
142
|
-
maxHeight: rect.height,
|
|
180
|
+
maxHeight: rect.height + "px",
|
|
143
181
|
overflow: "hidden"
|
|
144
182
|
}
|
|
145
183
|
};
|
|
@@ -147,15 +185,15 @@ const collapseVertical = (rect) => {
|
|
|
147
185
|
const collapseHorizontal = (rect) => {
|
|
148
186
|
return {
|
|
149
187
|
from: {
|
|
150
|
-
width:
|
|
188
|
+
width: "0px",
|
|
151
189
|
overflow: "hidden"
|
|
152
190
|
},
|
|
153
191
|
to: {
|
|
154
|
-
width:
|
|
192
|
+
width: rect.width + "px",
|
|
155
193
|
overflow: "hidden"
|
|
156
194
|
}
|
|
157
195
|
};
|
|
158
196
|
};
|
|
159
197
|
|
|
160
|
-
export { collapseHorizontal, collapseVertical, fade, fadeDown, fadeLeft, fadeRight, fadeUp, grow, slideDown, slideLeft, slideRight, slideUp, zoom, zoomOver };
|
|
198
|
+
export { collapseHorizontal, collapseVertical, fade, fadeDown, fadeLeft, fadeRight, fadeUp, grow, scaleYDown, scaleYUp, slideDown, slideLeft, slideRight, slideUp, zoom, zoomOver };
|
|
161
199
|
//# sourceMappingURL=variants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variants.js","sources":["../../src/Transition/variants.ts"],"sourcesContent":["\nconst getY = (rect?: DOMRect) =>\n rect ? Math.min(rect.height / 2, 40) : 20\n\nconst getX = (rect?: DOMRect) =>\n rect ? Math.min(rect.width / 2, 40) : 20\n\n\n\nexport const slideDown = (rect?: DOMRect) => {\n const y = getY(rect)\n\n return {\n from: {\n transform: `translateY(-${y}px)`,\n },\n to: {\n transform: `translateY(0)`,\n }\n }\n}\n\nexport const slideUp = (rect?: DOMRect) => {\n const y = getY(rect)\n\n return {\n from: {\n transform: `translateY(${y}px)`,\n },\n to: {\n transform: `translateY(0)`,\n }\n }\n}\n\nexport const slideRight = (rect?: DOMRect) => {\n const x = getX(rect)\n\n return {\n from: {\n transform: `translateX(-${x}px)`,\n },\n to: {\n transform: `translateX(0)`,\n }\n }\n}\n\nexport const slideLeft = (rect?: DOMRect) => {\n const x = getX(rect)\n\n return {\n from: {\n transform: `translateX(${x}px)`,\n },\n to: {\n transform: `translateX(0)`,\n }\n }\n}\n\nexport const scaleYDown = () => ({\n from: {\n transform: \"scaleY(0.8)\",\n opacity: 0,\n transformOrigin: \"top\"\n },\n to: {\n transform: \"scaleY(1)\",\n opacity: 1,\n transformOrigin: \"top\"\n }\n})\n\nexport const scaleYUp = () => ({\n from: {\n transform: \"scaleY(0.8)\",\n transformOrigin: \"bottom\",\n opacity: 0\n },\n to: {\n transform: \"scaleY(1)\",\n transformOrigin: \"bottom\",\n opacity: 1\n }\n})\n\nexport const fade = () => {\n return {\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n }\n }\n}\n\n\nexport const fadeDown = (rect?: DOMRect) => {\n const y = getY(rect)\n\n return {\n from: {\n transform: `translateY(-${y}px) scale(0.98)`,\n opacity: 0\n },\n to: {\n transform: `translateY(0) scale(1)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeUp = (rect?: DOMRect) => {\n const y = getY(rect)\n\n return {\n from: {\n transform: `translateY(${y}px) scale(0.98)`,\n opacity: 0\n },\n to: {\n transform: `translateY(0) scale(1)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeRight = (rect?: DOMRect) => {\n const x = getX(rect)\n\n return {\n from: {\n transform: `translateX(-${x}px) scale(0.98)`,\n opacity: 0\n },\n to: {\n transform: `translateX(0) scale(1)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeLeft = (rect?: DOMRect) => {\n const x = getX(rect)\n\n return {\n from: {\n transform: `translateX(${x}px) scale(0.98)`,\n opacity: 0\n },\n to: {\n transform: `translateX(0) scale(1)`,\n opacity: 1\n }\n }\n}\n\nexport const grow = () => {\n return {\n from: {\n transform: \"scale(.8, .6)\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n opacity: 1\n }\n }\n}\n\nexport const zoom = () => {\n return {\n from: {\n transform: \"scale(.8)\",\n transformOrigin: \"center\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n transformOrigin: \"center\",\n opacity: 1\n }\n }\n}\n\nexport const zoomOver = () => {\n return {\n from: {\n transform: \"scale(1.2)\",\n transformOrigin: \"center\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n transformOrigin: \"center\",\n opacity: 1\n }\n }\n}\n\nexport const collapseVertical = (rect: DOMRect) => {\n return {\n from: {\n maxHeight: \"0px\",\n overflow: \"hidden\"\n },\n to: {\n maxHeight: rect.height + \"px\",\n overflow: \"hidden\"\n }\n }\n}\n\n\nexport const collapseHorizontal = (rect: DOMRect) => {\n return {\n from: {\n width: \"0px\",\n overflow: \"hidden\"\n },\n to: {\n width: rect.width + \"px\",\n overflow: \"hidden\"\n }\n }\n}\n\n\n\n\n"],"names":[],"mappings":"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"}
|
package/index.cjs
CHANGED
|
@@ -7,7 +7,6 @@ var useColorTemplate = require('./hooks/useColorTemplate.cjs');
|
|
|
7
7
|
var useBreakpoint = require('./breakpoint/useBreakpoint.cjs');
|
|
8
8
|
var useBreakpointProps = require('./breakpoint/useBreakpointProps.cjs');
|
|
9
9
|
var useInterface = require('./hooks/useInterface.cjs');
|
|
10
|
-
var index$6 = require('./hooks/useTransition/index.cjs');
|
|
11
10
|
var useMergeRefs = require('./hooks/useMergeRefs.cjs');
|
|
12
11
|
var index$5 = require('./Transition/index.cjs');
|
|
13
12
|
var index = require('./AppRoot/index.cjs');
|
|
@@ -17,8 +16,8 @@ var index$4 = require('./Document/index.cjs');
|
|
|
17
16
|
var AppRootProvider = require('./AppRoot/AppRootProvider.cjs');
|
|
18
17
|
var CSSCacheProvider = require('./css/CSSCacheProvider.cjs');
|
|
19
18
|
var index$1 = require('./Iframe/index.cjs');
|
|
20
|
-
var index$
|
|
21
|
-
var index$
|
|
19
|
+
var index$6 = require('./css/index.cjs');
|
|
20
|
+
var index$7 = require('./theme/index.cjs');
|
|
22
21
|
var getValue = require('./css/getValue.cjs');
|
|
23
22
|
var getProps = require('./css/getProps.cjs');
|
|
24
23
|
var ThemeProvider = require('./theme/ThemeProvider.cjs');
|
|
@@ -35,7 +34,6 @@ exports.useColorTemplate = useColorTemplate;
|
|
|
35
34
|
exports.useBreakpoint = useBreakpoint;
|
|
36
35
|
exports.useBreakpointProps = useBreakpointProps;
|
|
37
36
|
exports.useInterface = useInterface;
|
|
38
|
-
exports.useTransition = index$6;
|
|
39
37
|
exports.useMergeRefs = useMergeRefs;
|
|
40
38
|
exports.Transition = index$5;
|
|
41
39
|
exports.AppRoot = index;
|
|
@@ -47,12 +45,12 @@ exports.getCSSCache = CSSCacheProvider.getCSSCache;
|
|
|
47
45
|
exports.useCSSCache = CSSCacheProvider.useCSSCache;
|
|
48
46
|
exports.useCSSCacheId = CSSCacheProvider.useCSSCacheId;
|
|
49
47
|
exports.Iframe = index$1;
|
|
50
|
-
exports.adjustColor = index$
|
|
51
|
-
exports.adjustTextContrast = index$
|
|
52
|
-
exports.alpha = index$
|
|
53
|
-
exports.breakpoints = index$
|
|
54
|
-
exports.css = index$
|
|
55
|
-
exports.themeRootClass = index$
|
|
48
|
+
exports.adjustColor = index$6.adjustColor;
|
|
49
|
+
exports.adjustTextContrast = index$6.adjustTextContrast;
|
|
50
|
+
exports.alpha = index$6.alpha;
|
|
51
|
+
exports.breakpoints = index$6.breakpoints;
|
|
52
|
+
exports.css = index$6.css;
|
|
53
|
+
exports.themeRootClass = index$7.themeRootClass;
|
|
56
54
|
exports.getValue = getValue;
|
|
57
55
|
exports.getProps = getProps;
|
|
58
56
|
exports.ThemeProvider = ThemeProvider;
|
package/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/index.d.ts
CHANGED
|
@@ -5,9 +5,8 @@ export { UseColorTemplateColor, UseColorTemplateType, default as useColorTemplat
|
|
|
5
5
|
export { default as useBreakpoint } from './breakpoint/useBreakpoint.js';
|
|
6
6
|
export { default as useBreakpointProps, useBreakpointPropsType } from './breakpoint/useBreakpointProps.js';
|
|
7
7
|
export { default as useInterface } from './hooks/useInterface.js';
|
|
8
|
-
export { UseTransitionProps, UseTransitionState, UseTransitionVariant, UseTransitionVariantTypes, default as useTransition } from './hooks/useTransition/index.js';
|
|
9
8
|
export { default as useMergeRefs } from './hooks/useMergeRefs.js';
|
|
10
|
-
export { default as Transition, TransitionProps } from './Transition/index.js';
|
|
9
|
+
export { default as Transition, TransitionProps, TransitionState, TransitionVariant, TransitionVariantTypes } from './Transition/index.js';
|
|
11
10
|
export { default as AppRoot, AppRootProps } from './AppRoot/index.js';
|
|
12
11
|
export { default as Portal, PortalProps } from './Portal/index.js';
|
|
13
12
|
export { Renderar } from './AppRoot/Renderar.js';
|
package/index.js
CHANGED
|
@@ -5,7 +5,6 @@ export { default as useColorTemplate } from './hooks/useColorTemplate.js';
|
|
|
5
5
|
export { default as useBreakpoint } from './breakpoint/useBreakpoint.js';
|
|
6
6
|
export { default as useBreakpointProps } from './breakpoint/useBreakpointProps.js';
|
|
7
7
|
export { default as useInterface } from './hooks/useInterface.js';
|
|
8
|
-
export { default as useTransition } from './hooks/useTransition/index.js';
|
|
9
8
|
export { default as useMergeRefs } from './hooks/useMergeRefs.js';
|
|
10
9
|
export { default as Transition } from './Transition/index.js';
|
|
11
10
|
export { default as AppRoot } from './AppRoot/index.js';
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xanui/core",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.65",
|
|
4
4
|
"description": "Xanui Core Library",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "./index.cjs",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"types": "./index.d.ts",
|
|
9
9
|
"sideEffects": false,
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"oncss": "^1.2.
|
|
11
|
+
"oncss": "^1.2.12",
|
|
12
12
|
"pretty-class": "^1.0.8"
|
|
13
13
|
},
|
|
14
14
|
"keywords": []
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var tslib = require('tslib');
|
|
5
|
-
var React = require('react');
|
|
6
|
-
var useAnimation = require('../useAnimation.cjs');
|
|
7
|
-
var index$1 = require('../../css/index.cjs');
|
|
8
|
-
var oncss = require('oncss');
|
|
9
|
-
var variants = require('./variants.cjs');
|
|
10
|
-
var index = require('../../Document/index.cjs');
|
|
11
|
-
var CSSCacheProvider = require('../../css/CSSCacheProvider.cjs');
|
|
12
|
-
|
|
13
|
-
const style = (obj = {}, cacheId, doc) => {
|
|
14
|
-
return index$1.css(obj, { selector: "#", container: doc, cacheId }).classname;
|
|
15
|
-
};
|
|
16
|
-
const getVariant = (rect, variant) => {
|
|
17
|
-
let fn = typeof variant === 'string' ? variants[variant] : variant;
|
|
18
|
-
if (!fn)
|
|
19
|
-
throw new Error(`Transition variant "${variant}" not found.`);
|
|
20
|
-
return fn(rect);
|
|
21
|
-
};
|
|
22
|
-
const useTransition = (_a) => {
|
|
23
|
-
var { open } = _a, props = tslib.__rest(_a, ["open"]);
|
|
24
|
-
let { disableInitialTransition = false, variant = "fade", duration = 400, delay, ease, easing, exitOnUnmount = false, onOpen, onOpened, onClose, onClosed, onState } = props;
|
|
25
|
-
const doc = index.useDocument();
|
|
26
|
-
const cacheId = CSSCacheProvider.useCSSCacheId();
|
|
27
|
-
let _ease = ease || useAnimation.animationEases[easing] || useAnimation.animationEases.bounce;
|
|
28
|
-
const id = "xui-transition-" + React.useId();
|
|
29
|
-
const [state, setState] = React.useState({
|
|
30
|
-
initial: false,
|
|
31
|
-
classname: style({ visibility: "hidden" }, cacheId, doc === null || doc === void 0 ? void 0 : doc.document),
|
|
32
|
-
variant: variant,
|
|
33
|
-
rect: null,
|
|
34
|
-
stage: open ? "open" : "closed",
|
|
35
|
-
unmounted: false,
|
|
36
|
-
});
|
|
37
|
-
const getEle = () => doc === null || doc === void 0 ? void 0 : doc.document.querySelector(`[data-transition="${id}"]`);
|
|
38
|
-
const getBoundary = () => { var _a; return state.rect || ((_a = getEle()) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || new DOMRect(0, 0, 0, 0); };
|
|
39
|
-
React.useEffect(() => {
|
|
40
|
-
if (exitOnUnmount && state.stage === 'closed') {
|
|
41
|
-
if (!open) {
|
|
42
|
-
setState(s => (Object.assign(Object.assign({}, s), { initial: false, classname: "", unmounted: true, variant: variant })));
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
setState(s => (Object.assign(Object.assign({}, s), { variant: variant, classname: style({ visibility: "hidden" }, cacheId, doc === null || doc === void 0 ? void 0 : doc.document), stage: "open" })));
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}, [open, state.stage, exitOnUnmount, variant]);
|
|
49
|
-
// initial effect
|
|
50
|
-
React.useLayoutEffect(() => {
|
|
51
|
-
const ele = getEle();
|
|
52
|
-
if (!ele)
|
|
53
|
-
return;
|
|
54
|
-
if (exitOnUnmount && state.stage === 'closed')
|
|
55
|
-
return;
|
|
56
|
-
const rect = getBoundary();
|
|
57
|
-
let { from } = getVariant(rect, state.variant);
|
|
58
|
-
if (open && !state.initial) {
|
|
59
|
-
setState(s => (Object.assign(Object.assign({}, s), { classname: (!disableInitialTransition || state.unmounted) ? style(from, cacheId, doc === null || doc === void 0 ? void 0 : doc.document) : "", initial: true, rect: rect })));
|
|
60
|
-
let stimer = null;
|
|
61
|
-
let etimer = null;
|
|
62
|
-
ele.ontransitionstart = () => {
|
|
63
|
-
clearTimeout(stimer);
|
|
64
|
-
stimer = setTimeout(() => {
|
|
65
|
-
const isOpen = ele.getAttribute('data-transition-state') === 'open';
|
|
66
|
-
(onOpen && isOpen) && onOpen();
|
|
67
|
-
(onClose && !isOpen) && onClose();
|
|
68
|
-
onState && onState(isOpen ? "open" : "close");
|
|
69
|
-
setState(s => (Object.assign(Object.assign({}, s), { stage: isOpen ? "open" : "close" })));
|
|
70
|
-
}, 1);
|
|
71
|
-
};
|
|
72
|
-
ele.ontransitionend = () => {
|
|
73
|
-
clearTimeout(etimer);
|
|
74
|
-
etimer = setTimeout(() => {
|
|
75
|
-
const isOpen = ele.getAttribute('data-transition-state') === 'open';
|
|
76
|
-
(onOpened && isOpen) && onOpened();
|
|
77
|
-
(onClosed && !isOpen) && onClosed();
|
|
78
|
-
onState && onState(isOpen ? "opened" : "closed");
|
|
79
|
-
setState(s => (Object.assign(Object.assign({}, s), { stage: isOpen ? "opened" : "closed" })));
|
|
80
|
-
}, 1);
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
else if (!state.initial) {
|
|
84
|
-
setState(s => (Object.assign(Object.assign({}, s), { classname: style(from, cacheId, doc === null || doc === void 0 ? void 0 : doc.document), rect: rect })));
|
|
85
|
-
}
|
|
86
|
-
}, [open, state.initial, state.stage, exitOnUnmount]);
|
|
87
|
-
React.useEffect(() => {
|
|
88
|
-
if (state.initial) {
|
|
89
|
-
let _variant = state.variant !== variant ? variant : state.variant;
|
|
90
|
-
const { from, to } = getVariant(state.rect, _variant);
|
|
91
|
-
let _css = open ? to : from;
|
|
92
|
-
let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`;
|
|
93
|
-
let _ = Object.assign(Object.assign({}, _css), { transition: Object.keys(_css || {}).map(k => oncss.formatCSSProp(k)).join(trans + ", ") + trans });
|
|
94
|
-
setState(s => (Object.assign(Object.assign({}, s), { classname: style(_, cacheId, doc === null || doc === void 0 ? void 0 : doc.document), variant: _variant })));
|
|
95
|
-
}
|
|
96
|
-
}, [open, state.initial, variant]);
|
|
97
|
-
return {
|
|
98
|
-
exited: exitOnUnmount && state.stage === 'closed',
|
|
99
|
-
props: {
|
|
100
|
-
'id': state.classname,
|
|
101
|
-
'data-transition': id,
|
|
102
|
-
'data-transition-state': open ? 'open' : 'close',
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
module.exports = useTransition;
|
|
108
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/hooks/useTransition/index.ts"],"sourcesContent":["\"use client\";\nimport { useState, useEffect, useId, useLayoutEffect } from 'react';\nimport { animationEases } from '../useAnimation';\nimport { css } from '../../css';\nimport { formatCSSProp } from 'oncss';\nimport { CSSProps } from '../../css/types';\nimport * as variants from './variants'\nimport { useDocument } from '../../Document';\nimport { useCSSCacheId } from '../../css/CSSCacheProvider';\n\nexport type UseTransitionVariantTypes = keyof typeof variants\nexport type UseTransitionState = \"open\" | \"opened\" | \"close\" | \"closed\"\n\nexport type UseTransitionVariant = (rect: DOMRect) => ({ from: CSSProps, to: CSSProps })\n\nexport type UseTransitionProps = {\n open: boolean;\n variant: UseTransitionVariant | UseTransitionVariantTypes;\n ease?: string;\n easing?: keyof typeof animationEases;\n duration?: number;\n delay?: number;\n disableInitialTransition?: boolean;\n exitOnUnmount?: boolean;\n onOpen?: () => void;\n onOpened?: () => void;\n onClose?: () => void;\n onClosed?: () => void;\n onState?: (state: UseTransitionState) => void;\n}\n\n\nconst style = (obj = {}, cacheId: string, doc?: Document) => {\n return css(obj, { selector: \"#\", container: doc, cacheId }).classname;\n}\n\nconst getVariant = (rect: DOMRect | null, variant: UseTransitionProps['variant']) => {\n let fn = typeof variant === 'string' ? variants[variant] : variant\n if (!fn) throw new Error(`Transition variant \"${variant}\" not found.`)\n return fn(rect as DOMRect);\n}\n\nconst useTransition = ({ open, ...props }: UseTransitionProps) => {\n let {\n disableInitialTransition = false,\n variant = \"fade\",\n duration = 400,\n delay,\n ease,\n easing,\n exitOnUnmount = false,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n onState\n } = props\n const doc = useDocument();\n const cacheId = useCSSCacheId()\n let _ease = ease || (animationEases as any)[easing as any] || animationEases.bounce\n const id = \"xui-transition-\" + useId()\n const [state, setState] = useState({\n initial: false,\n classname: style({ visibility: \"hidden\" }, cacheId, doc?.document),\n variant: variant,\n rect: null as DOMRect | null,\n stage: open ? \"open\" : \"closed\",\n unmounted: false,\n })\n\n const getEle = () => doc?.document.querySelector(`[data-transition=\"${id}\"]`) as HTMLElement;\n const getBoundary = () => state.rect || getEle()?.getBoundingClientRect() || new DOMRect(0, 0, 0, 0);\n\n useEffect(() => {\n if (exitOnUnmount && state.stage === 'closed') {\n if (!open) {\n setState(s => ({\n ...s,\n initial: false,\n classname: \"\",\n unmounted: true,\n variant: variant,\n }))\n } else {\n setState(s => ({\n ...s,\n variant: variant,\n classname: style({ visibility: \"hidden\" }, cacheId, doc?.document),\n stage: \"open\",\n }))\n }\n }\n }, [open, state.stage, exitOnUnmount, variant])\n\n // initial effect\n useLayoutEffect(() => {\n const ele = getEle()\n if (!ele) return\n if (exitOnUnmount && state.stage === 'closed') return\n\n const rect = getBoundary();\n let { from } = getVariant(rect, state.variant)\n if (open && !state.initial) {\n setState(s => ({\n ...s,\n classname: (!disableInitialTransition || state.unmounted) ? style(from, cacheId, doc?.document) : \"\",\n initial: true,\n rect: rect,\n }))\n let stimer: any = null\n let etimer: any = null\n ele.ontransitionstart = () => {\n clearTimeout(stimer)\n stimer = setTimeout(() => {\n const isOpen = ele.getAttribute('data-transition-state') === 'open';\n (onOpen && isOpen) && onOpen();\n (onClose && !isOpen) && onClose()\n onState && onState(isOpen ? \"open\" : \"close\")\n setState(s => ({\n ...s,\n stage: isOpen ? \"open\" : \"close\"\n }))\n }, 1)\n }\n\n ele.ontransitionend = () => {\n clearTimeout(etimer)\n etimer = setTimeout(() => {\n const isOpen = ele.getAttribute('data-transition-state') === 'open';\n (onOpened && isOpen) && onOpened();\n (onClosed && !isOpen) && onClosed();\n onState && onState(isOpen ? \"opened\" : \"closed\")\n setState(s => ({\n ...s,\n stage: isOpen ? \"opened\" : \"closed\"\n }))\n }, 1)\n }\n } else if (!state.initial) {\n setState(s => ({\n ...s,\n classname: style(from, cacheId, doc?.document),\n rect: rect,\n }))\n }\n }, [open, state.initial, state.stage, exitOnUnmount])\n\n\n useEffect(() => {\n if (state.initial) {\n let _variant = state.variant !== variant ? variant : state.variant\n const { from, to } = getVariant(state.rect, _variant)\n let _css: CSSProps = open ? to : from\n let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`\n let _ = {\n ..._css,\n transition: Object.keys(_css || {}).map(k => formatCSSProp(k)).join(trans + \", \") + trans,\n }\n setState(s => ({\n ...s,\n classname: style(_, cacheId, doc?.document),\n variant: _variant\n }))\n }\n }, [open, state.initial, variant])\n\n return {\n exited: exitOnUnmount && state.stage === 'closed',\n props: {\n 'id': state.classname,\n 'data-transition': id,\n 'data-transition-state': open ? 'open' : 'close',\n }\n }\n}\n\n\nexport default useTransition"],"names":[],"mappings":";;;;;;;;;;;;AAgCA;AACG;AACH;AAEA;AACG;AACA;AAAS;AACT;AACH;AAEA;AAAuB;AACpB;AAcA;AACA;AACA;AACA;AACA;AACG;AACA;AACA;AACA;;AAEA;AACF;AAED;AACA;;;;;;;AAaS;;;AAQT;;;AAIG;AACA;;AACA;;AAEA;AACA;AACA;;;;AASG;;AAEG;;AAEG;;AAEA;;;AAMN;AAEA;;AAEG;;AAEG;;AAEA;;;AAMN;;AACI;AACJ;;AAMN;;AAIG;AACG;AACA;;;AAGA;AAIA;;;;AASH;AACA;;AAEG;;AAEF;;AAEP;;"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { animationEases } from '../useAnimation.js';
|
|
2
|
-
import { CSSProps } from '../../css/types.js';
|
|
3
|
-
import * as variants from './variants.js';
|
|
4
|
-
|
|
5
|
-
type UseTransitionVariantTypes = keyof typeof variants;
|
|
6
|
-
type UseTransitionState = "open" | "opened" | "close" | "closed";
|
|
7
|
-
type UseTransitionVariant = (rect: DOMRect) => ({
|
|
8
|
-
from: CSSProps;
|
|
9
|
-
to: CSSProps;
|
|
10
|
-
});
|
|
11
|
-
type UseTransitionProps = {
|
|
12
|
-
open: boolean;
|
|
13
|
-
variant: UseTransitionVariant | UseTransitionVariantTypes;
|
|
14
|
-
ease?: string;
|
|
15
|
-
easing?: keyof typeof animationEases;
|
|
16
|
-
duration?: number;
|
|
17
|
-
delay?: number;
|
|
18
|
-
disableInitialTransition?: boolean;
|
|
19
|
-
exitOnUnmount?: boolean;
|
|
20
|
-
onOpen?: () => void;
|
|
21
|
-
onOpened?: () => void;
|
|
22
|
-
onClose?: () => void;
|
|
23
|
-
onClosed?: () => void;
|
|
24
|
-
onState?: (state: UseTransitionState) => void;
|
|
25
|
-
};
|
|
26
|
-
declare const useTransition: ({ open, ...props }: UseTransitionProps) => {
|
|
27
|
-
exited: boolean;
|
|
28
|
-
props: {
|
|
29
|
-
id: string;
|
|
30
|
-
'data-transition': string;
|
|
31
|
-
'data-transition-state': string;
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export { useTransition as default };
|
|
36
|
-
export type { UseTransitionProps, UseTransitionState, UseTransitionVariant, UseTransitionVariantTypes };
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { __rest } from 'tslib';
|
|
3
|
-
import { useId, useState, useEffect, useLayoutEffect } from 'react';
|
|
4
|
-
import { animationEases } from '../useAnimation.js';
|
|
5
|
-
import { css } from '../../css/index.js';
|
|
6
|
-
import { formatCSSProp } from 'oncss';
|
|
7
|
-
import * as variants from './variants.js';
|
|
8
|
-
import { useDocument } from '../../Document/index.js';
|
|
9
|
-
import { useCSSCacheId } from '../../css/CSSCacheProvider.js';
|
|
10
|
-
|
|
11
|
-
const style = (obj = {}, cacheId, doc) => {
|
|
12
|
-
return css(obj, { selector: "#", container: doc, cacheId }).classname;
|
|
13
|
-
};
|
|
14
|
-
const getVariant = (rect, variant) => {
|
|
15
|
-
let fn = typeof variant === 'string' ? variants[variant] : variant;
|
|
16
|
-
if (!fn)
|
|
17
|
-
throw new Error(`Transition variant "${variant}" not found.`);
|
|
18
|
-
return fn(rect);
|
|
19
|
-
};
|
|
20
|
-
const useTransition = (_a) => {
|
|
21
|
-
var { open } = _a, props = __rest(_a, ["open"]);
|
|
22
|
-
let { disableInitialTransition = false, variant = "fade", duration = 400, delay, ease, easing, exitOnUnmount = false, onOpen, onOpened, onClose, onClosed, onState } = props;
|
|
23
|
-
const doc = useDocument();
|
|
24
|
-
const cacheId = useCSSCacheId();
|
|
25
|
-
let _ease = ease || animationEases[easing] || animationEases.bounce;
|
|
26
|
-
const id = "xui-transition-" + useId();
|
|
27
|
-
const [state, setState] = useState({
|
|
28
|
-
initial: false,
|
|
29
|
-
classname: style({ visibility: "hidden" }, cacheId, doc === null || doc === void 0 ? void 0 : doc.document),
|
|
30
|
-
variant: variant,
|
|
31
|
-
rect: null,
|
|
32
|
-
stage: open ? "open" : "closed",
|
|
33
|
-
unmounted: false,
|
|
34
|
-
});
|
|
35
|
-
const getEle = () => doc === null || doc === void 0 ? void 0 : doc.document.querySelector(`[data-transition="${id}"]`);
|
|
36
|
-
const getBoundary = () => { var _a; return state.rect || ((_a = getEle()) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || new DOMRect(0, 0, 0, 0); };
|
|
37
|
-
useEffect(() => {
|
|
38
|
-
if (exitOnUnmount && state.stage === 'closed') {
|
|
39
|
-
if (!open) {
|
|
40
|
-
setState(s => (Object.assign(Object.assign({}, s), { initial: false, classname: "", unmounted: true, variant: variant })));
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
setState(s => (Object.assign(Object.assign({}, s), { variant: variant, classname: style({ visibility: "hidden" }, cacheId, doc === null || doc === void 0 ? void 0 : doc.document), stage: "open" })));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}, [open, state.stage, exitOnUnmount, variant]);
|
|
47
|
-
// initial effect
|
|
48
|
-
useLayoutEffect(() => {
|
|
49
|
-
const ele = getEle();
|
|
50
|
-
if (!ele)
|
|
51
|
-
return;
|
|
52
|
-
if (exitOnUnmount && state.stage === 'closed')
|
|
53
|
-
return;
|
|
54
|
-
const rect = getBoundary();
|
|
55
|
-
let { from } = getVariant(rect, state.variant);
|
|
56
|
-
if (open && !state.initial) {
|
|
57
|
-
setState(s => (Object.assign(Object.assign({}, s), { classname: (!disableInitialTransition || state.unmounted) ? style(from, cacheId, doc === null || doc === void 0 ? void 0 : doc.document) : "", initial: true, rect: rect })));
|
|
58
|
-
let stimer = null;
|
|
59
|
-
let etimer = null;
|
|
60
|
-
ele.ontransitionstart = () => {
|
|
61
|
-
clearTimeout(stimer);
|
|
62
|
-
stimer = setTimeout(() => {
|
|
63
|
-
const isOpen = ele.getAttribute('data-transition-state') === 'open';
|
|
64
|
-
(onOpen && isOpen) && onOpen();
|
|
65
|
-
(onClose && !isOpen) && onClose();
|
|
66
|
-
onState && onState(isOpen ? "open" : "close");
|
|
67
|
-
setState(s => (Object.assign(Object.assign({}, s), { stage: isOpen ? "open" : "close" })));
|
|
68
|
-
}, 1);
|
|
69
|
-
};
|
|
70
|
-
ele.ontransitionend = () => {
|
|
71
|
-
clearTimeout(etimer);
|
|
72
|
-
etimer = setTimeout(() => {
|
|
73
|
-
const isOpen = ele.getAttribute('data-transition-state') === 'open';
|
|
74
|
-
(onOpened && isOpen) && onOpened();
|
|
75
|
-
(onClosed && !isOpen) && onClosed();
|
|
76
|
-
onState && onState(isOpen ? "opened" : "closed");
|
|
77
|
-
setState(s => (Object.assign(Object.assign({}, s), { stage: isOpen ? "opened" : "closed" })));
|
|
78
|
-
}, 1);
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
else if (!state.initial) {
|
|
82
|
-
setState(s => (Object.assign(Object.assign({}, s), { classname: style(from, cacheId, doc === null || doc === void 0 ? void 0 : doc.document), rect: rect })));
|
|
83
|
-
}
|
|
84
|
-
}, [open, state.initial, state.stage, exitOnUnmount]);
|
|
85
|
-
useEffect(() => {
|
|
86
|
-
if (state.initial) {
|
|
87
|
-
let _variant = state.variant !== variant ? variant : state.variant;
|
|
88
|
-
const { from, to } = getVariant(state.rect, _variant);
|
|
89
|
-
let _css = open ? to : from;
|
|
90
|
-
let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`;
|
|
91
|
-
let _ = Object.assign(Object.assign({}, _css), { transition: Object.keys(_css || {}).map(k => formatCSSProp(k)).join(trans + ", ") + trans });
|
|
92
|
-
setState(s => (Object.assign(Object.assign({}, s), { classname: style(_, cacheId, doc === null || doc === void 0 ? void 0 : doc.document), variant: _variant })));
|
|
93
|
-
}
|
|
94
|
-
}, [open, state.initial, variant]);
|
|
95
|
-
return {
|
|
96
|
-
exited: exitOnUnmount && state.stage === 'closed',
|
|
97
|
-
props: {
|
|
98
|
-
'id': state.classname,
|
|
99
|
-
'data-transition': id,
|
|
100
|
-
'data-transition-state': open ? 'open' : 'close',
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
export { useTransition as default };
|
|
106
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/hooks/useTransition/index.ts"],"sourcesContent":["\"use client\";\nimport { useState, useEffect, useId, useLayoutEffect } from 'react';\nimport { animationEases } from '../useAnimation';\nimport { css } from '../../css';\nimport { formatCSSProp } from 'oncss';\nimport { CSSProps } from '../../css/types';\nimport * as variants from './variants'\nimport { useDocument } from '../../Document';\nimport { useCSSCacheId } from '../../css/CSSCacheProvider';\n\nexport type UseTransitionVariantTypes = keyof typeof variants\nexport type UseTransitionState = \"open\" | \"opened\" | \"close\" | \"closed\"\n\nexport type UseTransitionVariant = (rect: DOMRect) => ({ from: CSSProps, to: CSSProps })\n\nexport type UseTransitionProps = {\n open: boolean;\n variant: UseTransitionVariant | UseTransitionVariantTypes;\n ease?: string;\n easing?: keyof typeof animationEases;\n duration?: number;\n delay?: number;\n disableInitialTransition?: boolean;\n exitOnUnmount?: boolean;\n onOpen?: () => void;\n onOpened?: () => void;\n onClose?: () => void;\n onClosed?: () => void;\n onState?: (state: UseTransitionState) => void;\n}\n\n\nconst style = (obj = {}, cacheId: string, doc?: Document) => {\n return css(obj, { selector: \"#\", container: doc, cacheId }).classname;\n}\n\nconst getVariant = (rect: DOMRect | null, variant: UseTransitionProps['variant']) => {\n let fn = typeof variant === 'string' ? variants[variant] : variant\n if (!fn) throw new Error(`Transition variant \"${variant}\" not found.`)\n return fn(rect as DOMRect);\n}\n\nconst useTransition = ({ open, ...props }: UseTransitionProps) => {\n let {\n disableInitialTransition = false,\n variant = \"fade\",\n duration = 400,\n delay,\n ease,\n easing,\n exitOnUnmount = false,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n onState\n } = props\n const doc = useDocument();\n const cacheId = useCSSCacheId()\n let _ease = ease || (animationEases as any)[easing as any] || animationEases.bounce\n const id = \"xui-transition-\" + useId()\n const [state, setState] = useState({\n initial: false,\n classname: style({ visibility: \"hidden\" }, cacheId, doc?.document),\n variant: variant,\n rect: null as DOMRect | null,\n stage: open ? \"open\" : \"closed\",\n unmounted: false,\n })\n\n const getEle = () => doc?.document.querySelector(`[data-transition=\"${id}\"]`) as HTMLElement;\n const getBoundary = () => state.rect || getEle()?.getBoundingClientRect() || new DOMRect(0, 0, 0, 0);\n\n useEffect(() => {\n if (exitOnUnmount && state.stage === 'closed') {\n if (!open) {\n setState(s => ({\n ...s,\n initial: false,\n classname: \"\",\n unmounted: true,\n variant: variant,\n }))\n } else {\n setState(s => ({\n ...s,\n variant: variant,\n classname: style({ visibility: \"hidden\" }, cacheId, doc?.document),\n stage: \"open\",\n }))\n }\n }\n }, [open, state.stage, exitOnUnmount, variant])\n\n // initial effect\n useLayoutEffect(() => {\n const ele = getEle()\n if (!ele) return\n if (exitOnUnmount && state.stage === 'closed') return\n\n const rect = getBoundary();\n let { from } = getVariant(rect, state.variant)\n if (open && !state.initial) {\n setState(s => ({\n ...s,\n classname: (!disableInitialTransition || state.unmounted) ? style(from, cacheId, doc?.document) : \"\",\n initial: true,\n rect: rect,\n }))\n let stimer: any = null\n let etimer: any = null\n ele.ontransitionstart = () => {\n clearTimeout(stimer)\n stimer = setTimeout(() => {\n const isOpen = ele.getAttribute('data-transition-state') === 'open';\n (onOpen && isOpen) && onOpen();\n (onClose && !isOpen) && onClose()\n onState && onState(isOpen ? \"open\" : \"close\")\n setState(s => ({\n ...s,\n stage: isOpen ? \"open\" : \"close\"\n }))\n }, 1)\n }\n\n ele.ontransitionend = () => {\n clearTimeout(etimer)\n etimer = setTimeout(() => {\n const isOpen = ele.getAttribute('data-transition-state') === 'open';\n (onOpened && isOpen) && onOpened();\n (onClosed && !isOpen) && onClosed();\n onState && onState(isOpen ? \"opened\" : \"closed\")\n setState(s => ({\n ...s,\n stage: isOpen ? \"opened\" : \"closed\"\n }))\n }, 1)\n }\n } else if (!state.initial) {\n setState(s => ({\n ...s,\n classname: style(from, cacheId, doc?.document),\n rect: rect,\n }))\n }\n }, [open, state.initial, state.stage, exitOnUnmount])\n\n\n useEffect(() => {\n if (state.initial) {\n let _variant = state.variant !== variant ? variant : state.variant\n const { from, to } = getVariant(state.rect, _variant)\n let _css: CSSProps = open ? to : from\n let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`\n let _ = {\n ..._css,\n transition: Object.keys(_css || {}).map(k => formatCSSProp(k)).join(trans + \", \") + trans,\n }\n setState(s => ({\n ...s,\n classname: style(_, cacheId, doc?.document),\n variant: _variant\n }))\n }\n }, [open, state.initial, variant])\n\n return {\n exited: exitOnUnmount && state.stage === 'closed',\n props: {\n 'id': state.classname,\n 'data-transition': id,\n 'data-transition-state': open ? 'open' : 'close',\n }\n }\n}\n\n\nexport default useTransition"],"names":[],"mappings":";;;;;;;;;;AAgCA;AACG;AACH;AAEA;AACG;AACA;AAAS;AACT;AACH;AAEA;AAAuB;AACpB;AAcA;AACA;AACA;AACA;AACA;AACG;AACA;AACA;AACA;;AAEA;AACF;AAED;AACA;;;;;;;AAaS;;;AAQT;;;AAIG;AACA;;AACA;;AAEA;AACA;AACA;;;;AASG;;AAEG;;AAEG;;AAEA;;;AAMN;AAEA;;AAEG;;AAEG;;AAEA;;;AAMN;;AACI;AACJ;;AAMN;;AAIG;AACG;AACA;;;AAGA;AAIA;;;;AASH;AACA;;AAEG;;AAEF;;AAEP;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"variants.cjs","sources":["../../../src/hooks/useTransition/variants.ts"],"sourcesContent":["\nexport const slideDown = (rect: DOMRect) => {\n\n return {\n from: {\n transform: `translateY(-${rect.height}px)`,\n },\n to: {\n transform: `translateY(0)`,\n }\n }\n}\n\nexport const slideUp = (rect: DOMRect) => {\n return {\n from: {\n transform: `translateY(${rect.height}px)`,\n },\n to: {\n transform: `translateY(0)`,\n }\n }\n}\n\nexport const slideRight = (rect: DOMRect) => {\n return {\n from: {\n transform: `translateX(-${rect.width}px)`,\n },\n to: {\n transform: `translateX(0)`,\n }\n }\n}\n\nexport const slideLeft = (rect: DOMRect) => {\n return {\n from: {\n transform: `translateX(${rect.width}px)`,\n },\n to: {\n transform: `translateX(0)`,\n }\n }\n}\n\nexport const fade = () => {\n return {\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n }\n }\n}\n\nexport const fadeDown = () => {\n return {\n from: {\n transform: `translateY(-30px)`,\n opacity: 0\n },\n to: {\n transform: `translateY(0)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeUp = () => {\n return {\n from: {\n transform: `translateY(30px)`,\n opacity: 0\n },\n to: {\n transform: `translateY(0)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeRight = () => {\n return {\n from: {\n transform: `translateX(-30px)`,\n opacity: 0\n },\n to: {\n transform: `translateX(0)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeLeft = () => {\n return {\n from: {\n transform: `translateX(30px)`,\n opacity: 0\n },\n to: {\n transform: `translateX(0)`,\n opacity: 1\n }\n }\n}\n\nexport const grow = () => {\n return {\n from: {\n transform: \"scale(.8, .6)\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n opacity: 1\n }\n }\n}\n\nexport const zoom = () => {\n return {\n from: {\n transform: \"scale(.8)\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n opacity: 1\n }\n }\n}\n\nexport const zoomOver = () => {\n return {\n from: {\n transform: \"scale(1.2)\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n opacity: 1\n }\n }\n}\n\nexport const collapseVertical = (rect: DOMRect) => {\n\n return {\n from: {\n maxHeight: 0 + \"px\",\n overflow: \"hidden\"\n },\n to: {\n maxHeight: rect.height,\n overflow: \"hidden\"\n }\n }\n}\n\n\nexport const collapseHorizontal = (rect: DOMRect) => {\n return {\n from: {\n width: 0 + \"px\",\n overflow: \"hidden\"\n },\n to: {\n width: rect?.width ? rect?.width + \"px\" : \"auto\",\n overflow: \"hidden\"\n }\n }\n}\n\n\n\n\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"variants.js","sources":["../../../src/hooks/useTransition/variants.ts"],"sourcesContent":["\nexport const slideDown = (rect: DOMRect) => {\n\n return {\n from: {\n transform: `translateY(-${rect.height}px)`,\n },\n to: {\n transform: `translateY(0)`,\n }\n }\n}\n\nexport const slideUp = (rect: DOMRect) => {\n return {\n from: {\n transform: `translateY(${rect.height}px)`,\n },\n to: {\n transform: `translateY(0)`,\n }\n }\n}\n\nexport const slideRight = (rect: DOMRect) => {\n return {\n from: {\n transform: `translateX(-${rect.width}px)`,\n },\n to: {\n transform: `translateX(0)`,\n }\n }\n}\n\nexport const slideLeft = (rect: DOMRect) => {\n return {\n from: {\n transform: `translateX(${rect.width}px)`,\n },\n to: {\n transform: `translateX(0)`,\n }\n }\n}\n\nexport const fade = () => {\n return {\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n }\n }\n}\n\nexport const fadeDown = () => {\n return {\n from: {\n transform: `translateY(-30px)`,\n opacity: 0\n },\n to: {\n transform: `translateY(0)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeUp = () => {\n return {\n from: {\n transform: `translateY(30px)`,\n opacity: 0\n },\n to: {\n transform: `translateY(0)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeRight = () => {\n return {\n from: {\n transform: `translateX(-30px)`,\n opacity: 0\n },\n to: {\n transform: `translateX(0)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeLeft = () => {\n return {\n from: {\n transform: `translateX(30px)`,\n opacity: 0\n },\n to: {\n transform: `translateX(0)`,\n opacity: 1\n }\n }\n}\n\nexport const grow = () => {\n return {\n from: {\n transform: \"scale(.8, .6)\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n opacity: 1\n }\n }\n}\n\nexport const zoom = () => {\n return {\n from: {\n transform: \"scale(.8)\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n opacity: 1\n }\n }\n}\n\nexport const zoomOver = () => {\n return {\n from: {\n transform: \"scale(1.2)\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n opacity: 1\n }\n }\n}\n\nexport const collapseVertical = (rect: DOMRect) => {\n\n return {\n from: {\n maxHeight: 0 + \"px\",\n overflow: \"hidden\"\n },\n to: {\n maxHeight: rect.height,\n overflow: \"hidden\"\n }\n }\n}\n\n\nexport const collapseHorizontal = (rect: DOMRect) => {\n return {\n from: {\n width: 0 + \"px\",\n overflow: \"hidden\"\n },\n to: {\n width: rect?.width ? rect?.width + \"px\" : \"auto\",\n overflow: \"hidden\"\n }\n }\n}\n\n\n\n\n"],"names":[],"mappings":"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"}
|