@hua-labs/motion-core 2.1.0-alpha.6 → 2.1.0-alpha.8

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 (174) hide show
  1. package/README.md +16 -10
  2. package/dist/index.d.mts +1091 -0
  3. package/dist/index.d.ts +1091 -35
  4. package/dist/index.js +4241 -65
  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 +7 -4
  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/useStaggerMotion.d.ts +0 -81
  139. package/dist/hooks/useStaggerMotion.d.ts.map +0 -1
  140. package/dist/hooks/useStaggerMotion.js +0 -113
  141. package/dist/hooks/useStaggerMotion.js.map +0 -1
  142. package/dist/hooks/useToggleMotion.d.ts +0 -16
  143. package/dist/hooks/useToggleMotion.d.ts.map +0 -1
  144. package/dist/hooks/useToggleMotion.js +0 -53
  145. package/dist/hooks/useToggleMotion.js.map +0 -1
  146. package/dist/hooks/useUnifiedMotion.d.ts +0 -51
  147. package/dist/hooks/useUnifiedMotion.d.ts.map +0 -1
  148. package/dist/hooks/useUnifiedMotion.js +0 -106
  149. package/dist/hooks/useUnifiedMotion.js.map +0 -1
  150. package/dist/hooks/useVisibilityToggle.d.ts +0 -15
  151. package/dist/hooks/useVisibilityToggle.d.ts.map +0 -1
  152. package/dist/hooks/useVisibilityToggle.js +0 -106
  153. package/dist/hooks/useVisibilityToggle.js.map +0 -1
  154. package/dist/index.d.ts.map +0 -1
  155. package/dist/managers/MotionStateManager.d.ts +0 -63
  156. package/dist/managers/MotionStateManager.d.ts.map +0 -1
  157. package/dist/managers/MotionStateManager.js +0 -159
  158. package/dist/managers/MotionStateManager.js.map +0 -1
  159. package/dist/presets/index.d.ts +0 -16
  160. package/dist/presets/index.d.ts.map +0 -1
  161. package/dist/presets/index.js +0 -120
  162. package/dist/presets/index.js.map +0 -1
  163. package/dist/types/common.d.ts +0 -155
  164. package/dist/types/common.d.ts.map +0 -1
  165. package/dist/types/common.js +0 -5
  166. package/dist/types/common.js.map +0 -1
  167. package/dist/types/index.d.ts +0 -77
  168. package/dist/types/index.d.ts.map +0 -1
  169. package/dist/types/index.js +0 -5
  170. package/dist/types/index.js.map +0 -1
  171. package/dist/utils/easing.d.ts +0 -98
  172. package/dist/utils/easing.d.ts.map +0 -1
  173. package/dist/utils/easing.js +0 -233
  174. package/dist/utils/easing.js.map +0 -1
@@ -1,98 +0,0 @@
1
- export type EasingFunction = (t: number) => number;
2
- export declare const linear: EasingFunction;
3
- export declare const easeIn: EasingFunction;
4
- export declare const easeOut: EasingFunction;
5
- export declare const easeInOut: EasingFunction;
6
- export declare const easeInQuad: EasingFunction;
7
- export declare const easeOutQuad: EasingFunction;
8
- export declare const easeInOutQuad: EasingFunction;
9
- export declare const easeInCubic: EasingFunction;
10
- export declare const easeOutCubic: EasingFunction;
11
- export declare const easeInOutCubic: EasingFunction;
12
- export declare const easeInQuart: EasingFunction;
13
- export declare const easeOutQuart: EasingFunction;
14
- export declare const easeInOutQuart: EasingFunction;
15
- export declare const easeInQuint: EasingFunction;
16
- export declare const easeOutQuint: EasingFunction;
17
- export declare const easeInOutQuint: EasingFunction;
18
- export declare const easeInSine: EasingFunction;
19
- export declare const easeOutSine: EasingFunction;
20
- export declare const easeInOutSine: EasingFunction;
21
- export declare const easeInExpo: EasingFunction;
22
- export declare const easeOutExpo: EasingFunction;
23
- export declare const easeInOutExpo: EasingFunction;
24
- export declare const easeInCirc: EasingFunction;
25
- export declare const easeOutCirc: EasingFunction;
26
- export declare const easeInOutCirc: EasingFunction;
27
- export declare const easeInBounce: EasingFunction;
28
- export declare const easeOutBounce: EasingFunction;
29
- export declare const easeInOutBounce: EasingFunction;
30
- export declare const easeInBack: EasingFunction;
31
- export declare const easeOutBack: EasingFunction;
32
- export declare const easeInOutBack: EasingFunction;
33
- export declare const easeInElastic: EasingFunction;
34
- export declare const easeOutElastic: EasingFunction;
35
- export declare const easeInOutElastic: EasingFunction;
36
- export declare const pulse: EasingFunction;
37
- export declare const pulseSmooth: EasingFunction;
38
- export declare const skeletonWave: EasingFunction;
39
- export declare const blink: EasingFunction;
40
- export type EasingType = 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' | 'easeInQuad' | 'easeOutQuad' | 'easeInOutQuad' | 'easeInCubic' | 'easeOutCubic' | 'easeInOutCubic' | 'easeInQuart' | 'easeOutQuart' | 'easeInOutQuart' | 'easeInQuint' | 'easeOutQuint' | 'easeInOutQuint' | 'easeInSine' | 'easeOutSine' | 'easeInOutSine' | 'easeInExpo' | 'easeOutExpo' | 'easeInOutExpo' | 'easeInCirc' | 'easeOutCirc' | 'easeInOutCirc' | 'easeInBounce' | 'easeOutBounce' | 'easeInOutBounce' | 'easeInBack' | 'easeOutBack' | 'easeInOutBack' | 'easeInElastic' | 'easeOutElastic' | 'easeInOutElastic' | 'pulse' | 'pulseSmooth' | 'skeletonWave' | 'blink';
41
- export declare const easing: {
42
- readonly linear: EasingFunction;
43
- readonly easeIn: EasingFunction;
44
- readonly easeOut: EasingFunction;
45
- readonly easeInOut: EasingFunction;
46
- readonly easeInQuad: EasingFunction;
47
- readonly easeOutQuad: EasingFunction;
48
- readonly easeInOutQuad: EasingFunction;
49
- readonly easeInCubic: EasingFunction;
50
- readonly easeOutCubic: EasingFunction;
51
- readonly easeInOutCubic: EasingFunction;
52
- readonly easeInQuart: EasingFunction;
53
- readonly easeOutQuart: EasingFunction;
54
- readonly easeInOutQuart: EasingFunction;
55
- readonly easeInQuint: EasingFunction;
56
- readonly easeOutQuint: EasingFunction;
57
- readonly easeInOutQuint: EasingFunction;
58
- readonly easeInSine: EasingFunction;
59
- readonly easeOutSine: EasingFunction;
60
- readonly easeInOutSine: EasingFunction;
61
- readonly easeInExpo: EasingFunction;
62
- readonly easeOutExpo: EasingFunction;
63
- readonly easeInOutExpo: EasingFunction;
64
- readonly easeInCirc: EasingFunction;
65
- readonly easeOutCirc: EasingFunction;
66
- readonly easeInOutCirc: EasingFunction;
67
- readonly easeInBounce: EasingFunction;
68
- readonly easeOutBounce: EasingFunction;
69
- readonly easeInOutBounce: EasingFunction;
70
- readonly easeInBack: EasingFunction;
71
- readonly easeOutBack: EasingFunction;
72
- readonly easeInOutBack: EasingFunction;
73
- readonly easeInElastic: EasingFunction;
74
- readonly easeOutElastic: EasingFunction;
75
- readonly easeInOutElastic: EasingFunction;
76
- readonly pulse: EasingFunction;
77
- readonly pulseSmooth: EasingFunction;
78
- readonly skeletonWave: EasingFunction;
79
- readonly blink: EasingFunction;
80
- };
81
- export declare function isValidEasing(easingName: string): boolean;
82
- export declare function getEasing(easingName: unknown): EasingFunction;
83
- export declare function applyEasing(t: number, easingName: string | EasingFunction): number;
84
- export declare function safeApplyEasing(t: number, easingName: unknown): number;
85
- export declare function getAvailableEasings(): string[];
86
- export declare function isEasingFunction(value: any): value is EasingFunction;
87
- export declare const easingPresets: {
88
- readonly default: "easeOut";
89
- readonly smooth: "easeInOutCubic";
90
- readonly fast: "easeOutQuad";
91
- readonly slow: "easeInOutSine";
92
- readonly bouncy: "easeOutBounce";
93
- readonly elastic: "easeOutElastic";
94
- readonly fade: "easeInOut";
95
- readonly scale: "easeOutBack";
96
- };
97
- export declare function getPresetEasing(preset: keyof typeof easingPresets): EasingFunction;
98
- //# sourceMappingURL=easing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"easing.d.ts","sourceRoot":"","sources":["../../src/utils/easing.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;AAGlD,eAAO,MAAM,MAAM,EAAE,cAAyB,CAAA;AAE9C,eAAO,MAAM,MAAM,EAAE,cAA6B,CAAA;AAClD,eAAO,MAAM,OAAO,EAAE,cAA6C,CAAA;AACnE,eAAO,MAAM,SAAS,EAAE,cAA6E,CAAA;AAGrG,eAAO,MAAM,UAAU,EAAE,cAA6B,CAAA;AACtD,eAAO,MAAM,WAAW,EAAE,cAA6C,CAAA;AACvE,eAAO,MAAM,aAAa,EAAE,cAA6E,CAAA;AAEzG,eAAO,MAAM,WAAW,EAAE,cAAiC,CAAA;AAC3D,eAAO,MAAM,YAAY,EAAE,cAA8C,CAAA;AACzE,eAAO,MAAM,cAAc,EAAE,cAAiF,CAAA;AAE9G,eAAO,MAAM,WAAW,EAAE,cAAqC,CAAA;AAC/D,eAAO,MAAM,YAAY,EAAE,cAA8C,CAAA;AACzE,eAAO,MAAM,cAAc,EAAE,cAAqF,CAAA;AAElH,eAAO,MAAM,WAAW,EAAE,cAAyC,CAAA;AACnE,eAAO,MAAM,YAAY,EAAE,cAA8C,CAAA;AACzE,eAAO,MAAM,cAAc,EAAE,cAA0F,CAAA;AAEvH,eAAO,MAAM,UAAU,EAAE,cAAuD,CAAA;AAChF,eAAO,MAAM,WAAW,EAAE,cAAmD,CAAA;AAC7E,eAAO,MAAM,aAAa,EAAE,cAAwD,CAAA;AAEpF,eAAO,MAAM,UAAU,EAAE,cAA8D,CAAA;AACvF,eAAO,MAAM,WAAW,EAAE,cAA8D,CAAA;AACxF,eAAO,MAAM,aAAa,EAAE,cAK3B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,cAAyD,CAAA;AAClF,eAAO,MAAM,WAAW,EAAE,cAAyD,CAAA;AACnF,eAAO,MAAM,aAAa,EAAE,cAG3B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,cAAgD,CAAA;AAC3E,eAAO,MAAM,aAAa,EAAE,cAa3B,CAAA;AACD,eAAO,MAAM,eAAe,EAAE,cAG7B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,cAIxB,CAAA;AACD,eAAO,MAAM,WAAW,EAAE,cAIzB,CAAA;AACD,eAAO,MAAM,aAAa,EAAE,cAQ3B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,cAK3B,CAAA;AACD,eAAO,MAAM,cAAc,EAAE,cAK5B,CAAA;AACD,eAAO,MAAM,gBAAgB,EAAE,cAS9B,CAAA;AAGD,eAAO,MAAM,KAAK,EAAE,cAAyD,CAAA;AAC7E,eAAO,MAAM,WAAW,EAAE,cAA6D,CAAA;AACvF,eAAO,MAAM,YAAY,EAAE,cAAqE,CAAA;AAChG,eAAO,MAAM,KAAK,EAAE,cAAuC,CAAA;AAG3D,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,QAAQ,GAAG,SAAS,GAAG,WAAW,GAClC,YAAY,GAAG,aAAa,GAAG,eAAe,GAC9C,aAAa,GAAG,cAAc,GAAG,gBAAgB,GACjD,aAAa,GAAG,cAAc,GAAG,gBAAgB,GACjD,aAAa,GAAG,cAAc,GAAG,gBAAgB,GACjD,YAAY,GAAG,aAAa,GAAG,eAAe,GAC9C,YAAY,GAAG,aAAa,GAAG,eAAe,GAC9C,YAAY,GAAG,aAAa,GAAG,eAAe,GAC9C,cAAc,GAAG,eAAe,GAAG,iBAAiB,GACpD,YAAY,GAAG,aAAa,GAAG,eAAe,GAC9C,eAAe,GAAG,gBAAgB,GAAG,kBAAkB,GACvD,OAAO,GAAG,aAAa,GAAG,cAAc,GAAG,OAAO,CAAA;AAGtD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCT,CAAA;AAGV,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEzD;AAGD,wBAAgB,SAAS,CAAC,UAAU,EAAE,OAAO,GAAG,cAAc,CAgC7D;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,MAAM,CAGlF;AAGD,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,CAUtE;AAGD,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAGD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,cAAc,CAEpE;AAGD,eAAO,MAAM,aAAa;;;;;;;;;CAShB,CAAA;AAGV,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,OAAO,aAAa,GAAG,cAAc,CAGlF"}
@@ -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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"}