@hua-labs/motion-core 2.1.0-alpha.0.2 → 2.1.0-alpha.10

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 (170) hide show
  1. package/README.md +48 -232
  2. package/dist/index.d.mts +1091 -0
  3. package/dist/index.d.ts +1091 -33
  4. package/dist/index.js +4241 -62
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +4187 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +15 -8
  9. package/dist/.tsbuildinfo +0 -1
  10. package/dist/core/MotionEngine.d.ts +0 -111
  11. package/dist/core/MotionEngine.d.ts.map +0 -1
  12. package/dist/core/MotionEngine.js +0 -206
  13. package/dist/core/MotionEngine.js.map +0 -1
  14. package/dist/core/PerformanceOptimizer.d.ts +0 -124
  15. package/dist/core/PerformanceOptimizer.d.ts.map +0 -1
  16. package/dist/core/PerformanceOptimizer.js +0 -334
  17. package/dist/core/PerformanceOptimizer.js.map +0 -1
  18. package/dist/core/TransitionEffects.d.ts +0 -76
  19. package/dist/core/TransitionEffects.d.ts.map +0 -1
  20. package/dist/core/TransitionEffects.js +0 -321
  21. package/dist/core/TransitionEffects.js.map +0 -1
  22. package/dist/hooks/useBounceIn.d.ts +0 -12
  23. package/dist/hooks/useBounceIn.d.ts.map +0 -1
  24. package/dist/hooks/useBounceIn.js +0 -75
  25. package/dist/hooks/useBounceIn.js.map +0 -1
  26. package/dist/hooks/useButtonEffect.d.ts +0 -48
  27. package/dist/hooks/useButtonEffect.d.ts.map +0 -1
  28. package/dist/hooks/useButtonEffect.js +0 -311
  29. package/dist/hooks/useButtonEffect.js.map +0 -1
  30. package/dist/hooks/useCardList.d.ts +0 -23
  31. package/dist/hooks/useCardList.d.ts.map +0 -1
  32. package/dist/hooks/useCardList.js +0 -119
  33. package/dist/hooks/useCardList.js.map +0 -1
  34. package/dist/hooks/useClickToggle.d.ts +0 -30
  35. package/dist/hooks/useClickToggle.d.ts.map +0 -1
  36. package/dist/hooks/useClickToggle.js +0 -137
  37. package/dist/hooks/useClickToggle.js.map +0 -1
  38. package/dist/hooks/useFadeIn.d.ts +0 -3
  39. package/dist/hooks/useFadeIn.d.ts.map +0 -1
  40. package/dist/hooks/useFadeIn.js +0 -107
  41. package/dist/hooks/useFadeIn.js.map +0 -1
  42. package/dist/hooks/useFocusToggle.d.ts +0 -30
  43. package/dist/hooks/useFocusToggle.d.ts.map +0 -1
  44. package/dist/hooks/useFocusToggle.js +0 -137
  45. package/dist/hooks/useFocusToggle.js.map +0 -1
  46. package/dist/hooks/useGesture.d.ts +0 -45
  47. package/dist/hooks/useGesture.d.ts.map +0 -1
  48. package/dist/hooks/useGesture.js +0 -274
  49. package/dist/hooks/useGesture.js.map +0 -1
  50. package/dist/hooks/useGestureMotion.d.ts +0 -26
  51. package/dist/hooks/useGestureMotion.d.ts.map +0 -1
  52. package/dist/hooks/useGestureMotion.js +0 -167
  53. package/dist/hooks/useGestureMotion.js.map +0 -1
  54. package/dist/hooks/useGradient.d.ts +0 -14
  55. package/dist/hooks/useGradient.d.ts.map +0 -1
  56. package/dist/hooks/useGradient.js +0 -87
  57. package/dist/hooks/useGradient.js.map +0 -1
  58. package/dist/hooks/useHoverMotion.d.ts +0 -5
  59. package/dist/hooks/useHoverMotion.d.ts.map +0 -1
  60. package/dist/hooks/useHoverMotion.js +0 -48
  61. package/dist/hooks/useHoverMotion.js.map +0 -1
  62. package/dist/hooks/useLoadingSpinner.d.ts +0 -30
  63. package/dist/hooks/useLoadingSpinner.d.ts.map +0 -1
  64. package/dist/hooks/useLoadingSpinner.js +0 -283
  65. package/dist/hooks/useLoadingSpinner.js.map +0 -1
  66. package/dist/hooks/useMotion.d.ts +0 -103
  67. package/dist/hooks/useMotion.d.ts.map +0 -1
  68. package/dist/hooks/useMotion.js +0 -266
  69. package/dist/hooks/useMotion.js.map +0 -1
  70. package/dist/hooks/useMotionState.d.ts +0 -29
  71. package/dist/hooks/useMotionState.d.ts.map +0 -1
  72. package/dist/hooks/useMotionState.js +0 -202
  73. package/dist/hooks/useMotionState.js.map +0 -1
  74. package/dist/hooks/useNavigation.d.ts +0 -40
  75. package/dist/hooks/useNavigation.d.ts.map +0 -1
  76. package/dist/hooks/useNavigation.js +0 -212
  77. package/dist/hooks/useNavigation.js.map +0 -1
  78. package/dist/hooks/usePageMotions.d.ts +0 -17
  79. package/dist/hooks/usePageMotions.d.ts.map +0 -1
  80. package/dist/hooks/usePageMotions.js +0 -352
  81. package/dist/hooks/usePageMotions.js.map +0 -1
  82. package/dist/hooks/usePulse.d.ts +0 -10
  83. package/dist/hooks/usePulse.d.ts.map +0 -1
  84. package/dist/hooks/usePulse.js +0 -108
  85. package/dist/hooks/usePulse.js.map +0 -1
  86. package/dist/hooks/useRepeat.d.ts +0 -21
  87. package/dist/hooks/useRepeat.d.ts.map +0 -1
  88. package/dist/hooks/useRepeat.js +0 -65
  89. package/dist/hooks/useRepeat.js.map +0 -1
  90. package/dist/hooks/useScaleIn.d.ts +0 -13
  91. package/dist/hooks/useScaleIn.d.ts.map +0 -1
  92. package/dist/hooks/useScaleIn.js +0 -72
  93. package/dist/hooks/useScaleIn.js.map +0 -1
  94. package/dist/hooks/useScrollProgress.d.ts +0 -11
  95. package/dist/hooks/useScrollProgress.d.ts.map +0 -1
  96. package/dist/hooks/useScrollProgress.js +0 -37
  97. package/dist/hooks/useScrollProgress.js.map +0 -1
  98. package/dist/hooks/useScrollReveal.d.ts +0 -14
  99. package/dist/hooks/useScrollReveal.d.ts.map +0 -1
  100. package/dist/hooks/useScrollReveal.js +0 -116
  101. package/dist/hooks/useScrollReveal.js.map +0 -1
  102. package/dist/hooks/useScrollToggle.d.ts +0 -17
  103. package/dist/hooks/useScrollToggle.d.ts.map +0 -1
  104. package/dist/hooks/useScrollToggle.js +0 -119
  105. package/dist/hooks/useScrollToggle.js.map +0 -1
  106. package/dist/hooks/useSimplePageMotion.d.ts +0 -29
  107. package/dist/hooks/useSimplePageMotion.d.ts.map +0 -1
  108. package/dist/hooks/useSimplePageMotion.js +0 -145
  109. package/dist/hooks/useSimplePageMotion.js.map +0 -1
  110. package/dist/hooks/useSkeleton.d.ts +0 -21
  111. package/dist/hooks/useSkeleton.d.ts.map +0 -1
  112. package/dist/hooks/useSkeleton.js +0 -139
  113. package/dist/hooks/useSkeleton.js.map +0 -1
  114. package/dist/hooks/useSlideDown.d.ts +0 -25
  115. package/dist/hooks/useSlideDown.d.ts.map +0 -1
  116. package/dist/hooks/useSlideDown.js +0 -263
  117. package/dist/hooks/useSlideDown.js.map +0 -1
  118. package/dist/hooks/useSlideLeft.d.ts +0 -13
  119. package/dist/hooks/useSlideLeft.d.ts.map +0 -1
  120. package/dist/hooks/useSlideLeft.js +0 -72
  121. package/dist/hooks/useSlideLeft.js.map +0 -1
  122. package/dist/hooks/useSlideRight.d.ts +0 -13
  123. package/dist/hooks/useSlideRight.d.ts.map +0 -1
  124. package/dist/hooks/useSlideRight.js +0 -72
  125. package/dist/hooks/useSlideRight.js.map +0 -1
  126. package/dist/hooks/useSlideUp.d.ts +0 -3
  127. package/dist/hooks/useSlideUp.d.ts.map +0 -1
  128. package/dist/hooks/useSlideUp.js +0 -122
  129. package/dist/hooks/useSlideUp.js.map +0 -1
  130. package/dist/hooks/useSmartMotion.d.ts +0 -31
  131. package/dist/hooks/useSmartMotion.d.ts.map +0 -1
  132. package/dist/hooks/useSmartMotion.js +0 -257
  133. package/dist/hooks/useSmartMotion.js.map +0 -1
  134. package/dist/hooks/useSpringMotion.d.ts +0 -22
  135. package/dist/hooks/useSpringMotion.d.ts.map +0 -1
  136. package/dist/hooks/useSpringMotion.js +0 -133
  137. package/dist/hooks/useSpringMotion.js.map +0 -1
  138. package/dist/hooks/useToggleMotion.d.ts +0 -16
  139. package/dist/hooks/useToggleMotion.d.ts.map +0 -1
  140. package/dist/hooks/useToggleMotion.js +0 -53
  141. package/dist/hooks/useToggleMotion.js.map +0 -1
  142. package/dist/hooks/useUnifiedMotion.d.ts +0 -51
  143. package/dist/hooks/useUnifiedMotion.d.ts.map +0 -1
  144. package/dist/hooks/useUnifiedMotion.js +0 -106
  145. package/dist/hooks/useUnifiedMotion.js.map +0 -1
  146. package/dist/hooks/useVisibilityToggle.d.ts +0 -15
  147. package/dist/hooks/useVisibilityToggle.d.ts.map +0 -1
  148. package/dist/hooks/useVisibilityToggle.js +0 -106
  149. package/dist/hooks/useVisibilityToggle.js.map +0 -1
  150. package/dist/index.d.ts.map +0 -1
  151. package/dist/managers/MotionStateManager.d.ts +0 -63
  152. package/dist/managers/MotionStateManager.d.ts.map +0 -1
  153. package/dist/managers/MotionStateManager.js +0 -159
  154. package/dist/managers/MotionStateManager.js.map +0 -1
  155. package/dist/presets/index.d.ts +0 -16
  156. package/dist/presets/index.d.ts.map +0 -1
  157. package/dist/presets/index.js +0 -120
  158. package/dist/presets/index.js.map +0 -1
  159. package/dist/types/common.d.ts +0 -155
  160. package/dist/types/common.d.ts.map +0 -1
  161. package/dist/types/common.js +0 -5
  162. package/dist/types/common.js.map +0 -1
  163. package/dist/types/index.d.ts +0 -77
  164. package/dist/types/index.d.ts.map +0 -1
  165. package/dist/types/index.js +0 -5
  166. package/dist/types/index.js.map +0 -1
  167. package/dist/utils/easing.d.ts +0 -98
  168. package/dist/utils/easing.d.ts.map +0 -1
  169. package/dist/utils/easing.js +0 -233
  170. package/dist/utils/easing.js.map +0 -1
@@ -1,233 +0,0 @@
1
- // 고급 이징 함수들 - Framer Motion과 유사한 기능 제공
2
- // 기본 이징 함수들
3
- export const linear = (t) => t;
4
- export const easeIn = (t) => t * t;
5
- export const easeOut = (t) => 1 - (1 - t) * (1 - t);
6
- export const easeInOut = (t) => t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;
7
- // 고급 이징 함수들
8
- export const easeInQuad = (t) => t * t;
9
- export const easeOutQuad = (t) => 1 - (1 - t) * (1 - t);
10
- export const easeInOutQuad = (t) => t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;
11
- export const easeInCubic = (t) => t * t * t;
12
- export const easeOutCubic = (t) => 1 - Math.pow(1 - t, 3);
13
- export const easeInOutCubic = (t) => t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;
14
- export const easeInQuart = (t) => t * t * t * t;
15
- export const easeOutQuart = (t) => 1 - Math.pow(1 - t, 4);
16
- export const easeInOutQuart = (t) => t < 0.5 ? 8 * t * t * t * t : 1 - Math.pow(-2 * t + 2, 4) / 2;
17
- export const easeInQuint = (t) => t * t * t * t * t;
18
- export const easeOutQuint = (t) => 1 - Math.pow(1 - t, 5);
19
- export const easeInOutQuint = (t) => t < 0.5 ? 16 * t * t * t * t * t : 1 - Math.pow(-2 * t + 2, 5) / 2;
20
- export const easeInSine = (t) => 1 - Math.cos((t * Math.PI) / 2);
21
- export const easeOutSine = (t) => Math.sin((t * Math.PI) / 2);
22
- export const easeInOutSine = (t) => -(Math.cos(Math.PI * t) - 1) / 2;
23
- export const easeInExpo = (t) => t === 0 ? 0 : Math.pow(2, 10 * t - 10);
24
- export const easeOutExpo = (t) => t === 1 ? 1 : 1 - Math.pow(2, -10 * t);
25
- export const easeInOutExpo = (t) => {
26
- if (t === 0)
27
- return 0;
28
- if (t === 1)
29
- return 1;
30
- if (t < 0.5)
31
- return Math.pow(2, 20 * t - 10) / 2;
32
- return (2 - Math.pow(2, -20 * t + 10)) / 2;
33
- };
34
- export const easeInCirc = (t) => 1 - Math.sqrt(1 - Math.pow(t, 2));
35
- export const easeOutCirc = (t) => Math.sqrt(1 - Math.pow(t - 1, 2));
36
- export const easeInOutCirc = (t) => {
37
- if (t < 0.5)
38
- return (1 - Math.sqrt(1 - Math.pow(2 * t, 2))) / 2;
39
- return (Math.sqrt(1 - Math.pow(-2 * t + 2, 2)) + 1) / 2;
40
- };
41
- export const easeInBounce = (t) => 1 - easeOutBounce(1 - t);
42
- export const easeOutBounce = (t) => {
43
- const n1 = 7.5625;
44
- const d1 = 2.75;
45
- if (t < 1 / d1) {
46
- return n1 * t * t;
47
- }
48
- else if (t < 2 / d1) {
49
- return n1 * (t -= 1.5 / d1) * t + 0.75;
50
- }
51
- else if (t < 2.5 / d1) {
52
- return n1 * (t -= 2.25 / d1) * t + 0.9375;
53
- }
54
- else {
55
- return n1 * (t -= 2.625 / d1) * t + 0.984375;
56
- }
57
- };
58
- export const easeInOutBounce = (t) => {
59
- if (t < 0.5)
60
- return (1 - easeOutBounce(1 - 2 * t)) / 2;
61
- return (1 + easeOutBounce(2 * t - 1)) / 2;
62
- };
63
- export const easeInBack = (t) => {
64
- const c1 = 1.70158;
65
- const c3 = c1 + 1;
66
- return c3 * t * t * t - c1 * t * t;
67
- };
68
- export const easeOutBack = (t) => {
69
- const c1 = 1.70158;
70
- const c3 = c1 + 1;
71
- return 1 + c3 * Math.pow(t - 1, 3) + c1 * Math.pow(t - 1, 2);
72
- };
73
- export const easeInOutBack = (t) => {
74
- const c1 = 1.70158;
75
- const c2 = c1 * 1.525;
76
- if (t < 0.5) {
77
- return (Math.pow(2 * t, 2) * ((c2 + 1) * 2 * t - c2)) / 2;
78
- }
79
- else {
80
- return (Math.pow(2 * t - 2, 2) * ((c2 + 1) * (t * 2 - 2) + c2) + 2) / 2;
81
- }
82
- };
83
- export const easeInElastic = (t) => {
84
- const c4 = (2 * Math.PI) / 3;
85
- if (t === 0)
86
- return 0;
87
- if (t === 1)
88
- return 1;
89
- return -Math.pow(2, 10 * t - 10) * Math.sin((t * 10 - 0.75) * c4);
90
- };
91
- export const easeOutElastic = (t) => {
92
- const c4 = (2 * Math.PI) / 3;
93
- if (t === 0)
94
- return 0;
95
- if (t === 1)
96
- return 1;
97
- return Math.pow(2, -10 * t) * Math.sin((t * 10 - 0.75) * c4) + 1;
98
- };
99
- export const easeInOutElastic = (t) => {
100
- const c5 = (2 * Math.PI) / 4.5;
101
- if (t === 0)
102
- return 0;
103
- if (t === 1)
104
- return 1;
105
- if (t < 0.5) {
106
- return -(Math.pow(2, 20 * t - 10) * Math.sin((20 * t - 11.125) * c5)) / 2;
107
- }
108
- else {
109
- return (Math.pow(2, -20 * t + 10) * Math.sin((20 * t - 11.125) * c5)) / 2 + 1;
110
- }
111
- };
112
- // 특수 효과 이징 함수들
113
- export const pulse = (t) => Math.sin(t * Math.PI) * 0.5 + 0.5;
114
- export const pulseSmooth = (t) => Math.sin(t * Math.PI * 2) * 0.3 + 0.7;
115
- export const skeletonWave = (t) => Math.sin((t - 0.5) * Math.PI * 2) * 0.5 + 0.5;
116
- export const blink = (t) => t < 0.5 ? 1 : 0;
117
- // 이징 함수 객체 (기존 호환성을 위해)
118
- export const easing = {
119
- linear,
120
- easeIn,
121
- easeOut,
122
- easeInOut,
123
- easeInQuad,
124
- easeOutQuad,
125
- easeInOutQuad,
126
- easeInCubic,
127
- easeOutCubic,
128
- easeInOutCubic,
129
- easeInQuart,
130
- easeOutQuart,
131
- easeInOutQuart,
132
- easeInQuint,
133
- easeOutQuint,
134
- easeInOutQuint,
135
- easeInSine,
136
- easeOutSine,
137
- easeInOutSine,
138
- easeInExpo,
139
- easeOutExpo,
140
- easeInOutExpo,
141
- easeInCirc,
142
- easeOutCirc,
143
- easeInOutCirc,
144
- easeInBounce,
145
- easeOutBounce,
146
- easeInOutBounce,
147
- easeInBack,
148
- easeOutBack,
149
- easeInOutBack,
150
- easeInElastic,
151
- easeOutElastic,
152
- easeInOutElastic,
153
- pulse,
154
- pulseSmooth,
155
- skeletonWave,
156
- blink
157
- };
158
- // 이징 함수 확인 함수
159
- export function isValidEasing(easingName) {
160
- return easingName in easing;
161
- }
162
- // 이징 함수 가져오기 함수
163
- export function getEasing(easingName) {
164
- if (typeof easingName === 'function') {
165
- // 타입이 Function이지만 EasingFunction 시그니처와 일치하는지 확인
166
- return easingName;
167
- }
168
- if (typeof easingName === 'string') {
169
- if (easingName in easing) {
170
- return easing[easingName];
171
- }
172
- const fallbackMap = {
173
- bounce: 'easeOutBounce',
174
- easeInOut: 'easeInOutCubic',
175
- easeIn: 'easeInQuad',
176
- easeOut: 'easeOutQuad'
177
- };
178
- const fallback = fallbackMap[easingName];
179
- if (fallback && fallback in easing) {
180
- if (process.env.NODE_ENV === 'development') {
181
- console.warn(`[HUA Motion] Unknown easing "${easingName}", using fallback "${fallback}".`);
182
- }
183
- return easing[fallback];
184
- }
185
- if (process.env.NODE_ENV === 'development') {
186
- console.warn(`[HUA Motion] Unknown easing "${easingName}", using default "easeOut".`);
187
- }
188
- }
189
- return easeOut;
190
- }
191
- // 이징 적용 함수
192
- export function applyEasing(t, easingName) {
193
- const easingFn = getEasing(easingName);
194
- return easingFn(t);
195
- }
196
- // 안전한 이징 적용 함수 (에러 방지)
197
- export function safeApplyEasing(t, easingName) {
198
- try {
199
- const easingFn = getEasing(easingName);
200
- return easingFn(t);
201
- }
202
- catch (err) {
203
- if (process.env.NODE_ENV === 'development') {
204
- console.error(`[HUA Motion] Failed to apply easing "${easingName}":`, err);
205
- }
206
- return easeOut(t);
207
- }
208
- }
209
- // 사용 가능한 이징 함수 목록
210
- export function getAvailableEasings() {
211
- return Object.keys(easing);
212
- }
213
- // 이징 함수 유효성 검사
214
- export function isEasingFunction(value) {
215
- return typeof value === 'function';
216
- }
217
- // 이징 프리셋
218
- export const easingPresets = {
219
- default: 'easeOut',
220
- smooth: 'easeInOutCubic',
221
- fast: 'easeOutQuad',
222
- slow: 'easeInOutSine',
223
- bouncy: 'easeOutBounce',
224
- elastic: 'easeOutElastic',
225
- fade: 'easeInOut',
226
- scale: 'easeOutBack'
227
- };
228
- // 프리셋에서 이징 함수 가져오기
229
- export function getPresetEasing(preset) {
230
- const easingName = easingPresets[preset];
231
- return getEasing(easingName);
232
- }
233
- //# sourceMappingURL=easing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"easing.js","sourceRoot":"","sources":["../../src/utils/easing.ts"],"names":[],"mappings":"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"}