@xanui/core 1.2.64 → 1.2.66
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 +121 -14
- package/Transition/index.cjs.map +1 -1
- package/Transition/index.d.ts +27 -4
- package/Transition/index.js +122 -15
- package/Transition/index.js.map +1 -1
- package/{hooks/useTransition → Transition}/variants.cjs +78 -28
- package/Transition/variants.cjs.map +1 -0
- package/{hooks/useTransition → Transition}/variants.d.ts +48 -10
- package/Transition/variants.js +209 -0
- 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 +0 -161
- package/hooks/useTransition/variants.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const slideDown: (rect
|
|
1
|
+
declare const slideDown: (rect?: DOMRect) => {
|
|
2
2
|
from: {
|
|
3
3
|
transform: string;
|
|
4
4
|
};
|
|
@@ -6,7 +6,7 @@ declare const slideDown: (rect: DOMRect) => {
|
|
|
6
6
|
transform: string;
|
|
7
7
|
};
|
|
8
8
|
};
|
|
9
|
-
declare const slideUp: (rect
|
|
9
|
+
declare const slideUp: (rect?: DOMRect) => {
|
|
10
10
|
from: {
|
|
11
11
|
transform: string;
|
|
12
12
|
};
|
|
@@ -14,7 +14,7 @@ declare const slideUp: (rect: DOMRect) => {
|
|
|
14
14
|
transform: string;
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
|
-
declare const slideRight: (rect
|
|
17
|
+
declare const slideRight: (rect?: DOMRect) => {
|
|
18
18
|
from: {
|
|
19
19
|
transform: string;
|
|
20
20
|
};
|
|
@@ -22,7 +22,7 @@ declare const slideRight: (rect: DOMRect) => {
|
|
|
22
22
|
transform: string;
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
|
-
declare const slideLeft: (rect
|
|
25
|
+
declare const slideLeft: (rect?: DOMRect) => {
|
|
26
26
|
from: {
|
|
27
27
|
transform: string;
|
|
28
28
|
};
|
|
@@ -30,48 +30,79 @@ declare const slideLeft: (rect: DOMRect) => {
|
|
|
30
30
|
transform: string;
|
|
31
31
|
};
|
|
32
32
|
};
|
|
33
|
+
declare const scaleYDown: () => {
|
|
34
|
+
from: {
|
|
35
|
+
transform: string;
|
|
36
|
+
opacity: number;
|
|
37
|
+
pointerEvents: string;
|
|
38
|
+
transformOrigin: string;
|
|
39
|
+
};
|
|
40
|
+
to: {
|
|
41
|
+
transform: string;
|
|
42
|
+
opacity: number;
|
|
43
|
+
transformOrigin: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
declare const scaleYUp: () => {
|
|
47
|
+
from: {
|
|
48
|
+
transform: string;
|
|
49
|
+
transformOrigin: string;
|
|
50
|
+
opacity: number;
|
|
51
|
+
pointerEvents: string;
|
|
52
|
+
};
|
|
53
|
+
to: {
|
|
54
|
+
transform: string;
|
|
55
|
+
transformOrigin: string;
|
|
56
|
+
opacity: number;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
33
59
|
declare const fade: () => {
|
|
34
60
|
from: {
|
|
35
61
|
opacity: number;
|
|
62
|
+
pointerEvents: string;
|
|
36
63
|
};
|
|
37
64
|
to: {
|
|
38
65
|
opacity: number;
|
|
39
66
|
};
|
|
40
67
|
};
|
|
41
|
-
declare const fadeDown: () => {
|
|
68
|
+
declare const fadeDown: (rect?: DOMRect) => {
|
|
42
69
|
from: {
|
|
43
70
|
transform: string;
|
|
44
71
|
opacity: number;
|
|
72
|
+
pointerEvents: string;
|
|
45
73
|
};
|
|
46
74
|
to: {
|
|
47
75
|
transform: string;
|
|
48
76
|
opacity: number;
|
|
49
77
|
};
|
|
50
78
|
};
|
|
51
|
-
declare const fadeUp: () => {
|
|
79
|
+
declare const fadeUp: (rect?: DOMRect) => {
|
|
52
80
|
from: {
|
|
53
81
|
transform: string;
|
|
54
82
|
opacity: number;
|
|
83
|
+
pointerEvents: string;
|
|
55
84
|
};
|
|
56
85
|
to: {
|
|
57
86
|
transform: string;
|
|
58
87
|
opacity: number;
|
|
59
88
|
};
|
|
60
89
|
};
|
|
61
|
-
declare const fadeRight: () => {
|
|
90
|
+
declare const fadeRight: (rect?: DOMRect) => {
|
|
62
91
|
from: {
|
|
63
92
|
transform: string;
|
|
64
93
|
opacity: number;
|
|
94
|
+
pointerEvents: string;
|
|
65
95
|
};
|
|
66
96
|
to: {
|
|
67
97
|
transform: string;
|
|
68
98
|
opacity: number;
|
|
69
99
|
};
|
|
70
100
|
};
|
|
71
|
-
declare const fadeLeft: () => {
|
|
101
|
+
declare const fadeLeft: (rect?: DOMRect) => {
|
|
72
102
|
from: {
|
|
73
103
|
transform: string;
|
|
74
104
|
opacity: number;
|
|
105
|
+
pointerEvents: string;
|
|
75
106
|
};
|
|
76
107
|
to: {
|
|
77
108
|
transform: string;
|
|
@@ -82,6 +113,7 @@ declare const grow: () => {
|
|
|
82
113
|
from: {
|
|
83
114
|
transform: string;
|
|
84
115
|
opacity: number;
|
|
116
|
+
pointerEvents: string;
|
|
85
117
|
};
|
|
86
118
|
to: {
|
|
87
119
|
transform: string;
|
|
@@ -91,20 +123,26 @@ declare const grow: () => {
|
|
|
91
123
|
declare const zoom: () => {
|
|
92
124
|
from: {
|
|
93
125
|
transform: string;
|
|
126
|
+
transformOrigin: string;
|
|
94
127
|
opacity: number;
|
|
128
|
+
pointerEvents: string;
|
|
95
129
|
};
|
|
96
130
|
to: {
|
|
97
131
|
transform: string;
|
|
132
|
+
transformOrigin: string;
|
|
98
133
|
opacity: number;
|
|
99
134
|
};
|
|
100
135
|
};
|
|
101
136
|
declare const zoomOver: () => {
|
|
102
137
|
from: {
|
|
103
138
|
transform: string;
|
|
139
|
+
transformOrigin: string;
|
|
104
140
|
opacity: number;
|
|
141
|
+
pointerEvents: string;
|
|
105
142
|
};
|
|
106
143
|
to: {
|
|
107
144
|
transform: string;
|
|
145
|
+
transformOrigin: string;
|
|
108
146
|
opacity: number;
|
|
109
147
|
};
|
|
110
148
|
};
|
|
@@ -114,7 +152,7 @@ declare const collapseVertical: (rect: DOMRect) => {
|
|
|
114
152
|
overflow: string;
|
|
115
153
|
};
|
|
116
154
|
to: {
|
|
117
|
-
maxHeight:
|
|
155
|
+
maxHeight: string;
|
|
118
156
|
overflow: string;
|
|
119
157
|
};
|
|
120
158
|
};
|
|
@@ -129,4 +167,4 @@ declare const collapseHorizontal: (rect: DOMRect) => {
|
|
|
129
167
|
};
|
|
130
168
|
};
|
|
131
169
|
|
|
132
|
-
export { collapseHorizontal, collapseVertical, fade, fadeDown, fadeLeft, fadeRight, fadeUp, grow, slideDown, slideLeft, slideRight, slideUp, zoom, zoomOver };
|
|
170
|
+
export { collapseHorizontal, collapseVertical, fade, fadeDown, fadeLeft, fadeRight, fadeUp, grow, scaleYDown, scaleYUp, slideDown, slideLeft, slideRight, slideUp, zoom, zoomOver };
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
const getY = (rect) => rect ? Math.min(rect.height / 2, 40) : 20;
|
|
2
|
+
const getX = (rect) => rect ? Math.min(rect.width / 2, 40) : 20;
|
|
3
|
+
const slideDown = (rect) => {
|
|
4
|
+
const y = getY(rect);
|
|
5
|
+
return {
|
|
6
|
+
from: {
|
|
7
|
+
transform: `translateY(-${y}px)`,
|
|
8
|
+
},
|
|
9
|
+
to: {
|
|
10
|
+
transform: `translateY(0)`,
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
const slideUp = (rect) => {
|
|
15
|
+
const y = getY(rect);
|
|
16
|
+
return {
|
|
17
|
+
from: {
|
|
18
|
+
transform: `translateY(${y}px)`,
|
|
19
|
+
},
|
|
20
|
+
to: {
|
|
21
|
+
transform: `translateY(0)`,
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
const slideRight = (rect) => {
|
|
26
|
+
const x = getX(rect);
|
|
27
|
+
return {
|
|
28
|
+
from: {
|
|
29
|
+
transform: `translateX(-${x}px)`,
|
|
30
|
+
},
|
|
31
|
+
to: {
|
|
32
|
+
transform: `translateX(0)`,
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
const slideLeft = (rect) => {
|
|
37
|
+
const x = getX(rect);
|
|
38
|
+
return {
|
|
39
|
+
from: {
|
|
40
|
+
transform: `translateX(${x}px)`,
|
|
41
|
+
},
|
|
42
|
+
to: {
|
|
43
|
+
transform: `translateX(0)`,
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
const scaleYDown = () => ({
|
|
48
|
+
from: {
|
|
49
|
+
transform: "scaleY(0.8)",
|
|
50
|
+
opacity: 0,
|
|
51
|
+
pointerEvents: 'none',
|
|
52
|
+
transformOrigin: "top"
|
|
53
|
+
},
|
|
54
|
+
to: {
|
|
55
|
+
transform: "scaleY(1)",
|
|
56
|
+
opacity: 1,
|
|
57
|
+
transformOrigin: "top"
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
const scaleYUp = () => ({
|
|
61
|
+
from: {
|
|
62
|
+
transform: "scaleY(0.8)",
|
|
63
|
+
transformOrigin: "bottom",
|
|
64
|
+
opacity: 0,
|
|
65
|
+
pointerEvents: 'none'
|
|
66
|
+
},
|
|
67
|
+
to: {
|
|
68
|
+
transform: "scaleY(1)",
|
|
69
|
+
transformOrigin: "bottom",
|
|
70
|
+
opacity: 1
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
const fade = () => {
|
|
74
|
+
return {
|
|
75
|
+
from: {
|
|
76
|
+
opacity: 0,
|
|
77
|
+
pointerEvents: 'none'
|
|
78
|
+
},
|
|
79
|
+
to: {
|
|
80
|
+
opacity: 1
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
const fadeDown = (rect) => {
|
|
85
|
+
const y = getY(rect);
|
|
86
|
+
return {
|
|
87
|
+
from: {
|
|
88
|
+
transform: `translateY(-${y}px) scale(0.98)`,
|
|
89
|
+
opacity: 0,
|
|
90
|
+
pointerEvents: 'none'
|
|
91
|
+
},
|
|
92
|
+
to: {
|
|
93
|
+
transform: `translateY(0) scale(1)`,
|
|
94
|
+
opacity: 1
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
const fadeUp = (rect) => {
|
|
99
|
+
const y = getY(rect);
|
|
100
|
+
return {
|
|
101
|
+
from: {
|
|
102
|
+
transform: `translateY(${y}px) scale(0.98)`,
|
|
103
|
+
opacity: 0,
|
|
104
|
+
pointerEvents: 'none'
|
|
105
|
+
},
|
|
106
|
+
to: {
|
|
107
|
+
transform: `translateY(0) scale(1)`,
|
|
108
|
+
opacity: 1
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
const fadeRight = (rect) => {
|
|
113
|
+
const x = getX(rect);
|
|
114
|
+
return {
|
|
115
|
+
from: {
|
|
116
|
+
transform: `translateX(-${x}px) scale(0.98)`,
|
|
117
|
+
opacity: 0,
|
|
118
|
+
pointerEvents: 'none'
|
|
119
|
+
},
|
|
120
|
+
to: {
|
|
121
|
+
transform: `translateX(0) scale(1)`,
|
|
122
|
+
opacity: 1
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
const fadeLeft = (rect) => {
|
|
127
|
+
const x = getX(rect);
|
|
128
|
+
return {
|
|
129
|
+
from: {
|
|
130
|
+
transform: `translateX(${x}px) scale(0.98)`,
|
|
131
|
+
opacity: 0,
|
|
132
|
+
pointerEvents: 'none'
|
|
133
|
+
},
|
|
134
|
+
to: {
|
|
135
|
+
transform: `translateX(0) scale(1)`,
|
|
136
|
+
opacity: 1
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
const grow = () => {
|
|
141
|
+
return {
|
|
142
|
+
from: {
|
|
143
|
+
transform: "scale(.8, .6)",
|
|
144
|
+
opacity: 0,
|
|
145
|
+
pointerEvents: 'none'
|
|
146
|
+
},
|
|
147
|
+
to: {
|
|
148
|
+
transform: "scale(1)",
|
|
149
|
+
opacity: 1
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
const zoom = () => {
|
|
154
|
+
return {
|
|
155
|
+
from: {
|
|
156
|
+
transform: "scale(.8)",
|
|
157
|
+
transformOrigin: "center",
|
|
158
|
+
opacity: 0,
|
|
159
|
+
pointerEvents: 'none'
|
|
160
|
+
},
|
|
161
|
+
to: {
|
|
162
|
+
transform: "scale(1)",
|
|
163
|
+
transformOrigin: "center",
|
|
164
|
+
opacity: 1
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
const zoomOver = () => {
|
|
169
|
+
return {
|
|
170
|
+
from: {
|
|
171
|
+
transform: "scale(1.2)",
|
|
172
|
+
transformOrigin: "center",
|
|
173
|
+
opacity: 0,
|
|
174
|
+
pointerEvents: 'none'
|
|
175
|
+
},
|
|
176
|
+
to: {
|
|
177
|
+
transform: "scale(1)",
|
|
178
|
+
transformOrigin: "center",
|
|
179
|
+
opacity: 1
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
const collapseVertical = (rect) => {
|
|
184
|
+
return {
|
|
185
|
+
from: {
|
|
186
|
+
maxHeight: "0px",
|
|
187
|
+
overflow: "hidden"
|
|
188
|
+
},
|
|
189
|
+
to: {
|
|
190
|
+
maxHeight: rect.height + "px",
|
|
191
|
+
overflow: "hidden"
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
const collapseHorizontal = (rect) => {
|
|
196
|
+
return {
|
|
197
|
+
from: {
|
|
198
|
+
width: "0px",
|
|
199
|
+
overflow: "hidden"
|
|
200
|
+
},
|
|
201
|
+
to: {
|
|
202
|
+
width: rect.width + "px",
|
|
203
|
+
overflow: "hidden"
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
export { collapseHorizontal, collapseVertical, fade, fadeDown, fadeLeft, fadeRight, fadeUp, grow, scaleYDown, scaleYUp, slideDown, slideLeft, slideRight, slideUp, zoom, zoomOver };
|
|
209
|
+
//# 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 pointerEvents: 'none',\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 pointerEvents: 'none'\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 pointerEvents: 'none'\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 pointerEvents: 'none'\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 pointerEvents: 'none'\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 pointerEvents: 'none'\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 pointerEvents: 'none'\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 pointerEvents: 'none'\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 pointerEvents: 'none'\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 pointerEvents: 'none'\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.66",
|
|
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 };
|