vevet 3.20.0 → 4.0.0-beta.0
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/README.md +81 -18
- package/lib/cjs/{Application → Vevet}/events/createOnPageLoad/index.js +7 -7
- package/lib/cjs/Vevet/events/createOnPageLoad/index.js.map +1 -0
- package/lib/cjs/Vevet/events/createOnPageLoad/types.js.map +1 -0
- package/lib/cjs/{Application → Vevet}/events/createViewport/index.js +19 -25
- package/lib/cjs/Vevet/events/createViewport/index.js.map +1 -0
- package/lib/cjs/Vevet/events/createViewport/types.js.map +1 -0
- package/lib/cjs/Vevet/exported.js +3 -0
- package/lib/cjs/Vevet/exported.js.map +1 -0
- package/lib/cjs/Vevet/global.js +3 -0
- package/lib/cjs/Vevet/global.js.map +1 -0
- package/lib/cjs/Vevet/index.js +94 -0
- package/lib/cjs/Vevet/index.js.map +1 -0
- package/lib/cjs/{Application → Vevet}/types.js.map +1 -1
- package/lib/cjs/{utils/internal → Vevet/utils}/fetchWebpSupport.js +1 -1
- package/lib/cjs/Vevet/utils/fetchWebpSupport.js.map +1 -0
- package/lib/cjs/Vevet/utils/getDeviceInfo.js.map +1 -0
- package/lib/cjs/base/Callbacks/index.js +65 -48
- package/lib/cjs/base/Callbacks/index.js.map +1 -1
- package/lib/cjs/base/Component/index.js +15 -4
- package/lib/cjs/base/Component/index.js.map +1 -1
- package/lib/cjs/base/Module/index.js +118 -64
- package/lib/cjs/base/Module/index.js.map +1 -1
- package/lib/cjs/base/MutableProps/index.js +30 -55
- package/lib/cjs/base/MutableProps/index.js.map +1 -1
- package/lib/cjs/base/Plugin/index.js +20 -1
- package/lib/cjs/base/Plugin/index.js.map +1 -1
- package/lib/cjs/components/AnimationFrame/index.js +14 -21
- package/lib/cjs/components/AnimationFrame/index.js.map +1 -1
- package/lib/cjs/components/Ctx2D/index.js +40 -25
- package/lib/cjs/components/Ctx2D/index.js.map +1 -1
- package/lib/cjs/components/Ctx2DPrerender/index.js +17 -7
- package/lib/cjs/components/Ctx2DPrerender/index.js.map +1 -1
- package/lib/cjs/components/CustomCursor/index.js +75 -51
- package/lib/cjs/components/CustomCursor/index.js.map +1 -1
- package/lib/cjs/components/{SmoothScroll → CustomScroll}/AnimatonFrame.js +2 -2
- package/lib/cjs/components/{SmoothScroll → CustomScroll}/AnimatonFrame.js.map +1 -1
- package/lib/cjs/components/{SmoothScroll → CustomScroll}/Elements.js +9 -9
- package/lib/cjs/components/{SmoothScroll → CustomScroll}/Elements.js.map +1 -1
- package/lib/cjs/components/{SmoothScroll → CustomScroll}/index.js +68 -62
- package/lib/cjs/components/CustomScroll/index.js.map +1 -0
- package/lib/cjs/components/CustomScroll/types.js.map +1 -0
- package/lib/cjs/components/{SmoothScrollDragPlugin → CustomScrollDragPlugin}/index.js +45 -44
- package/lib/cjs/components/CustomScrollDragPlugin/index.js.map +1 -0
- package/lib/cjs/components/CustomScrollDragPlugin/types.js.map +1 -0
- package/lib/cjs/components/{SmoothScrollKeyboardPlugin → CustomScrollKeyboardPlugin}/index.js +51 -47
- package/lib/cjs/components/CustomScrollKeyboardPlugin/index.js.map +1 -0
- package/lib/cjs/components/CustomScrollKeyboardPlugin/types.js.map +1 -0
- package/lib/cjs/components/DraggerBase/index.js +74 -26
- package/lib/cjs/components/DraggerBase/index.js.map +1 -1
- package/lib/cjs/components/DraggerDirection/index.js +12 -6
- package/lib/cjs/components/DraggerDirection/index.js.map +1 -1
- package/lib/cjs/components/DraggerMove/index.js +44 -13
- package/lib/cjs/components/DraggerMove/index.js.map +1 -1
- package/lib/cjs/components/Marquee/index.js +240 -160
- package/lib/cjs/components/Marquee/index.js.map +1 -1
- package/lib/cjs/components/Preloader/index.js +45 -16
- package/lib/cjs/components/Preloader/index.js.map +1 -1
- package/lib/cjs/components/ProgressPreloader/index.js +79 -41
- package/lib/cjs/components/ProgressPreloader/index.js.map +1 -1
- package/lib/cjs/components/ProgressPreloader/utils/preloadCustomElement.js +12 -1
- package/lib/cjs/components/ProgressPreloader/utils/preloadCustomElement.js.map +1 -1
- package/lib/cjs/components/ScrollBar/Bar/index.js +90 -36
- package/lib/cjs/components/ScrollBar/Bar/index.js.map +1 -1
- package/lib/cjs/components/ScrollBar/index.js +59 -20
- package/lib/cjs/components/ScrollBar/index.js.map +1 -1
- package/lib/cjs/components/ScrollView/index.js +56 -20
- package/lib/cjs/components/ScrollView/index.js.map +1 -1
- package/lib/cjs/components/SectionScrollProgress/index.js +68 -31
- package/lib/cjs/components/SectionScrollProgress/index.js.map +1 -1
- package/lib/cjs/components/SlideProgress/index.js +72 -38
- package/lib/cjs/components/SlideProgress/index.js.map +1 -1
- package/lib/cjs/components/SplitText/index.js +52 -23
- package/lib/cjs/components/SplitText/index.js.map +1 -1
- package/lib/cjs/components/SplitText/utils/splitBase.js +6 -1
- package/lib/cjs/components/SplitText/utils/splitBase.js.map +1 -1
- package/lib/cjs/components/SplitText/utils/wrapLetters.js +11 -3
- package/lib/cjs/components/SplitText/utils/wrapLetters.js.map +1 -1
- package/lib/cjs/components/SplitText/utils/wrapLines.js +11 -5
- package/lib/cjs/components/SplitText/utils/wrapLines.js.map +1 -1
- package/lib/cjs/components/SplitText/utils/wrapWords.js +13 -2
- package/lib/cjs/components/SplitText/utils/wrapWords.js.map +1 -1
- package/lib/cjs/components/Timeline/index.js +77 -21
- package/lib/cjs/components/Timeline/index.js.map +1 -1
- package/lib/cjs/components/index.js +4 -4
- package/lib/cjs/components/index.js.map +1 -1
- package/lib/cjs/index.js +10 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types/index.js +19 -0
- package/lib/cjs/types/index.js.map +1 -0
- package/lib/cjs/utils/common/PCancelable.js +16 -0
- package/lib/cjs/utils/common/PCancelable.js.map +1 -1
- package/lib/cjs/utils/common/normalizedTimeoutCallback.js +19 -4
- package/lib/cjs/utils/common/normalizedTimeoutCallback.js.map +1 -1
- package/lib/cjs/utils/common/objectKeys.js +11 -1
- package/lib/cjs/utils/common/objectKeys.js.map +1 -1
- package/lib/cjs/utils/common/pickObjectProps.js +14 -2
- package/lib/cjs/utils/common/pickObjectProps.js.map +1 -1
- package/lib/cjs/utils/common/times.js +12 -3
- package/lib/cjs/utils/common/times.js.map +1 -1
- package/lib/cjs/utils/common/uid.js +4 -2
- package/lib/cjs/utils/common/uid.js.map +1 -1
- package/lib/cjs/utils/image/load.js +3 -3
- package/lib/cjs/utils/image/load.js.map +1 -1
- package/lib/cjs/utils/image/pathsToProps.js +10 -4
- package/lib/cjs/utils/image/pathsToProps.js.map +1 -1
- package/lib/cjs/utils/image/sizesToSrcSet.js +7 -3
- package/lib/cjs/utils/image/sizesToSrcSet.js.map +1 -1
- package/lib/cjs/utils/internal/getApp.js +12 -0
- package/lib/cjs/utils/internal/getApp.js.map +1 -1
- package/lib/cjs/utils/listeners/isIntersectionObserverSupported.js +1 -1
- package/lib/cjs/utils/listeners/onResize.js +8 -10
- package/lib/cjs/utils/listeners/onResize.js.map +1 -1
- package/lib/cjs/utils/math/clamp.js +10 -5
- package/lib/cjs/utils/math/clamp.js.map +1 -1
- package/lib/cjs/utils/math/clampScope.js +8 -1
- package/lib/cjs/utils/math/clampScope.js.map +1 -1
- package/lib/cjs/utils/math/easing.js +4 -1
- package/lib/cjs/utils/math/easing.js.map +1 -1
- package/lib/cjs/utils/math/inScope.js +6 -3
- package/lib/cjs/utils/math/inScope.js.map +1 -1
- package/lib/cjs/utils/math/lerp.js +11 -3
- package/lib/cjs/utils/math/lerp.js.map +1 -1
- package/lib/cjs/utils/math/normalizeNestedScope.js +12 -3
- package/lib/cjs/utils/math/normalizeNestedScope.js.map +1 -1
- package/lib/cjs/utils/math/scoped.js +18 -7
- package/lib/cjs/utils/math/scoped.js.map +1 -1
- package/lib/cjs/utils/math/spreadScope.js +17 -3
- package/lib/cjs/utils/math/spreadScope.js.map +1 -1
- package/lib/cjs/utils/math/wrap.js +9 -3
- package/lib/cjs/utils/math/wrap.js.map +1 -1
- package/lib/cjs/utils/scroll/getScrollValues.js +13 -1
- package/lib/cjs/utils/scroll/getScrollValues.js.map +1 -1
- package/lib/cjs/utils/scroll/isPageScrolling.js +30 -0
- package/lib/cjs/utils/scroll/isPageScrolling.js.map +1 -1
- package/lib/cjs/utils/scroll/normalizeWheel.js +7 -2
- package/lib/cjs/utils/scroll/normalizeWheel.js.map +1 -1
- package/lib/cjs/utils/scroll/onScroll.js +14 -7
- package/lib/cjs/utils/scroll/onScroll.js.map +1 -1
- package/lib/cjs/utils/scroll/scrollTo.js +8 -7
- package/lib/cjs/utils/scroll/scrollTo.js.map +1 -1
- package/lib/cjs/utils/scroll/scrollToElement.js +8 -6
- package/lib/cjs/utils/scroll/scrollToElement.js.map +1 -1
- package/lib/esm/{Application → Vevet}/events/createOnPageLoad/index.js +7 -7
- package/lib/esm/Vevet/events/createOnPageLoad/index.js.map +1 -0
- package/lib/esm/Vevet/events/createOnPageLoad/types.js.map +1 -0
- package/lib/esm/{Application → Vevet}/events/createViewport/index.js +20 -26
- package/lib/esm/Vevet/events/createViewport/index.js.map +1 -0
- package/lib/esm/Vevet/events/createViewport/types.js.map +1 -0
- package/lib/esm/Vevet/exported.js +2 -0
- package/lib/esm/Vevet/exported.js.map +1 -0
- package/lib/esm/Vevet/global.js +2 -0
- package/lib/esm/Vevet/global.js.map +1 -0
- package/lib/esm/Vevet/index.js +72 -0
- package/lib/esm/Vevet/index.js.map +1 -0
- package/lib/esm/{Application → Vevet}/types.js.map +1 -1
- package/lib/esm/{utils/internal → Vevet/utils}/fetchWebpSupport.js +1 -1
- package/lib/esm/Vevet/utils/fetchWebpSupport.js.map +1 -0
- package/lib/esm/Vevet/utils/getDeviceInfo.js.map +1 -0
- package/lib/esm/base/Callbacks/index.js +66 -48
- package/lib/esm/base/Callbacks/index.js.map +1 -1
- package/lib/esm/base/Component/index.js +15 -4
- package/lib/esm/base/Component/index.js.map +1 -1
- package/lib/esm/base/Module/index.js +119 -65
- package/lib/esm/base/Module/index.js.map +1 -1
- package/lib/esm/base/MutableProps/index.js +35 -60
- package/lib/esm/base/MutableProps/index.js.map +1 -1
- package/lib/esm/base/Plugin/index.js +20 -1
- package/lib/esm/base/Plugin/index.js.map +1 -1
- package/lib/esm/components/AnimationFrame/index.js +14 -21
- package/lib/esm/components/AnimationFrame/index.js.map +1 -1
- package/lib/esm/components/Ctx2D/index.js +40 -25
- package/lib/esm/components/Ctx2D/index.js.map +1 -1
- package/lib/esm/components/Ctx2DPrerender/index.js +17 -7
- package/lib/esm/components/Ctx2DPrerender/index.js.map +1 -1
- package/lib/esm/components/CustomCursor/index.js +75 -51
- package/lib/esm/components/CustomCursor/index.js.map +1 -1
- package/lib/esm/components/{SmoothScroll → CustomScroll}/AnimatonFrame.js +2 -2
- package/lib/esm/components/{SmoothScroll → CustomScroll}/AnimatonFrame.js.map +1 -1
- package/lib/esm/components/{SmoothScroll → CustomScroll}/Elements.js +8 -8
- package/lib/esm/components/{SmoothScroll → CustomScroll}/Elements.js.map +1 -1
- package/lib/esm/components/{SmoothScroll → CustomScroll}/index.js +26 -20
- package/lib/esm/components/CustomScroll/index.js.map +1 -0
- package/lib/esm/components/CustomScroll/types.js.map +1 -0
- package/lib/esm/components/{SmoothScrollDragPlugin → CustomScrollDragPlugin}/index.js +28 -27
- package/lib/esm/components/CustomScrollDragPlugin/index.js.map +1 -0
- package/lib/esm/components/CustomScrollDragPlugin/types.js.map +1 -0
- package/lib/esm/components/{SmoothScrollKeyboardPlugin → CustomScrollKeyboardPlugin}/index.js +37 -33
- package/lib/esm/components/CustomScrollKeyboardPlugin/index.js.map +1 -0
- package/lib/esm/components/CustomScrollKeyboardPlugin/types.js.map +1 -0
- package/lib/esm/components/DraggerBase/index.js +74 -28
- package/lib/esm/components/DraggerBase/index.js.map +1 -1
- package/lib/esm/components/DraggerDirection/index.js +12 -6
- package/lib/esm/components/DraggerDirection/index.js.map +1 -1
- package/lib/esm/components/DraggerMove/index.js +44 -13
- package/lib/esm/components/DraggerMove/index.js.map +1 -1
- package/lib/esm/components/Marquee/index.js +220 -161
- package/lib/esm/components/Marquee/index.js.map +1 -1
- package/lib/esm/components/Preloader/index.js +45 -16
- package/lib/esm/components/Preloader/index.js.map +1 -1
- package/lib/esm/components/ProgressPreloader/index.js +79 -40
- package/lib/esm/components/ProgressPreloader/index.js.map +1 -1
- package/lib/esm/components/ProgressPreloader/utils/preloadCustomElement.js +12 -1
- package/lib/esm/components/ProgressPreloader/utils/preloadCustomElement.js.map +1 -1
- package/lib/esm/components/ScrollBar/Bar/index.js +89 -32
- package/lib/esm/components/ScrollBar/Bar/index.js.map +1 -1
- package/lib/esm/components/ScrollBar/index.js +49 -15
- package/lib/esm/components/ScrollBar/index.js.map +1 -1
- package/lib/esm/components/ScrollView/index.js +56 -20
- package/lib/esm/components/ScrollView/index.js.map +1 -1
- package/lib/esm/components/SectionScrollProgress/index.js +68 -31
- package/lib/esm/components/SectionScrollProgress/index.js.map +1 -1
- package/lib/esm/components/SlideProgress/index.js +72 -38
- package/lib/esm/components/SlideProgress/index.js.map +1 -1
- package/lib/esm/components/SplitText/index.js +52 -23
- package/lib/esm/components/SplitText/index.js.map +1 -1
- package/lib/esm/components/SplitText/utils/splitBase.js +6 -1
- package/lib/esm/components/SplitText/utils/splitBase.js.map +1 -1
- package/lib/esm/components/SplitText/utils/wrapLetters.js +11 -3
- package/lib/esm/components/SplitText/utils/wrapLetters.js.map +1 -1
- package/lib/esm/components/SplitText/utils/wrapLines.js +11 -5
- package/lib/esm/components/SplitText/utils/wrapLines.js.map +1 -1
- package/lib/esm/components/SplitText/utils/wrapWords.js +13 -2
- package/lib/esm/components/SplitText/utils/wrapWords.js.map +1 -1
- package/lib/esm/components/Timeline/index.js +70 -22
- package/lib/esm/components/Timeline/index.js.map +1 -1
- package/lib/esm/components/index.js +4 -4
- package/lib/esm/components/index.js.map +1 -1
- package/lib/esm/index.js +9 -3
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/types/index.js +3 -0
- package/lib/esm/types/index.js.map +1 -0
- package/lib/esm/utils/common/PCancelable.js +16 -0
- package/lib/esm/utils/common/PCancelable.js.map +1 -1
- package/lib/esm/utils/common/normalizedTimeoutCallback.js +19 -4
- package/lib/esm/utils/common/normalizedTimeoutCallback.js.map +1 -1
- package/lib/esm/utils/common/objectKeys.js +11 -1
- package/lib/esm/utils/common/objectKeys.js.map +1 -1
- package/lib/esm/utils/common/pickObjectProps.js +14 -2
- package/lib/esm/utils/common/pickObjectProps.js.map +1 -1
- package/lib/esm/utils/common/times.js +12 -3
- package/lib/esm/utils/common/times.js.map +1 -1
- package/lib/esm/utils/common/uid.js +4 -2
- package/lib/esm/utils/common/uid.js.map +1 -1
- package/lib/esm/utils/image/load.js +3 -3
- package/lib/esm/utils/image/load.js.map +1 -1
- package/lib/esm/utils/image/pathsToProps.js +10 -4
- package/lib/esm/utils/image/pathsToProps.js.map +1 -1
- package/lib/esm/utils/image/sizesToSrcSet.js +7 -3
- package/lib/esm/utils/image/sizesToSrcSet.js.map +1 -1
- package/lib/esm/utils/internal/getApp.js +12 -0
- package/lib/esm/utils/internal/getApp.js.map +1 -1
- package/lib/esm/utils/listeners/isIntersectionObserverSupported.js +1 -1
- package/lib/esm/utils/listeners/onResize.js +8 -10
- package/lib/esm/utils/listeners/onResize.js.map +1 -1
- package/lib/esm/utils/math/clamp.js +10 -5
- package/lib/esm/utils/math/clamp.js.map +1 -1
- package/lib/esm/utils/math/clampScope.js +8 -1
- package/lib/esm/utils/math/clampScope.js.map +1 -1
- package/lib/esm/utils/math/easing.js +4 -1
- package/lib/esm/utils/math/easing.js.map +1 -1
- package/lib/esm/utils/math/inScope.js +6 -3
- package/lib/esm/utils/math/inScope.js.map +1 -1
- package/lib/esm/utils/math/lerp.js +11 -3
- package/lib/esm/utils/math/lerp.js.map +1 -1
- package/lib/esm/utils/math/normalizeNestedScope.js +12 -3
- package/lib/esm/utils/math/normalizeNestedScope.js.map +1 -1
- package/lib/esm/utils/math/scoped.js +17 -6
- package/lib/esm/utils/math/scoped.js.map +1 -1
- package/lib/esm/utils/math/spreadScope.js +17 -3
- package/lib/esm/utils/math/spreadScope.js.map +1 -1
- package/lib/esm/utils/math/wrap.js +9 -3
- package/lib/esm/utils/math/wrap.js.map +1 -1
- package/lib/esm/utils/scroll/getScrollValues.js +13 -1
- package/lib/esm/utils/scroll/getScrollValues.js.map +1 -1
- package/lib/esm/utils/scroll/isPageScrolling.js +30 -0
- package/lib/esm/utils/scroll/isPageScrolling.js.map +1 -1
- package/lib/esm/utils/scroll/normalizeWheel.js +7 -2
- package/lib/esm/utils/scroll/normalizeWheel.js.map +1 -1
- package/lib/esm/utils/scroll/onScroll.js +14 -7
- package/lib/esm/utils/scroll/onScroll.js.map +1 -1
- package/lib/esm/utils/scroll/scrollTo.js +8 -7
- package/lib/esm/utils/scroll/scrollTo.js.map +1 -1
- package/lib/esm/utils/scroll/scrollToElement.js +8 -6
- package/lib/esm/utils/scroll/scrollToElement.js.map +1 -1
- package/lib/styles/base.scss +0 -2
- package/lib/styles/components/CustomCursor.scss +7 -7
- package/{src/styles/components/SmoothScroll.scss → lib/styles/components/CustomScroll.scss} +3 -3
- package/lib/styles/components/Preloader.scss +1 -1
- package/lib/styles/components/ScrollBar.scss +4 -4
- package/lib/styles/components/index.scss +1 -1
- package/lib/styles/index.scss +0 -1
- package/lib/types/Vevet/events/createOnPageLoad/index.d.ts +3 -0
- package/lib/types/Vevet/events/createOnPageLoad/index.d.ts.map +1 -0
- package/lib/types/Vevet/events/createOnPageLoad/types.d.ts +20 -0
- package/lib/types/Vevet/events/createOnPageLoad/types.d.ts.map +1 -0
- package/lib/types/Vevet/events/createViewport/index.d.ts +4 -0
- package/lib/types/Vevet/events/createViewport/index.d.ts.map +1 -0
- package/lib/types/Vevet/events/createViewport/types.d.ts +85 -0
- package/lib/types/Vevet/events/createViewport/types.d.ts.map +1 -0
- package/lib/types/Vevet/exported.d.ts +6 -0
- package/lib/types/Vevet/exported.d.ts.map +1 -0
- package/lib/types/Vevet/global.d.ts +51 -0
- package/lib/types/Vevet/global.d.ts.map +1 -0
- package/lib/types/Vevet/index.d.ts +4 -0
- package/lib/types/Vevet/index.d.ts.map +1 -0
- package/lib/types/Vevet/types.d.ts +43 -0
- package/lib/types/Vevet/types.d.ts.map +1 -0
- package/lib/types/Vevet/utils/fetchWebpSupport.d.ts +3 -0
- package/lib/types/Vevet/utils/fetchWebpSupport.d.ts.map +1 -0
- package/lib/types/Vevet/utils/getDeviceInfo.d.ts.map +1 -0
- package/lib/types/base/Callbacks/index.d.ts +67 -46
- package/lib/types/base/Callbacks/index.d.ts.map +1 -1
- package/lib/types/base/Callbacks/types.d.ts +46 -14
- package/lib/types/base/Callbacks/types.d.ts.map +1 -1
- package/lib/types/base/Component/index.d.ts +19 -5
- package/lib/types/base/Component/index.d.ts.map +1 -1
- package/lib/types/base/Component/types.d.ts +15 -3
- package/lib/types/base/Component/types.d.ts.map +1 -1
- package/lib/types/base/Module/index.d.ts +124 -74
- package/lib/types/base/Module/index.d.ts.map +1 -1
- package/lib/types/base/Module/types.d.ts +29 -3
- package/lib/types/base/Module/types.d.ts.map +1 -1
- package/lib/types/base/MutableProps/index.d.ts +34 -77
- package/lib/types/base/MutableProps/index.d.ts.map +1 -1
- package/lib/types/base/MutableProps/types.d.ts +14 -8
- package/lib/types/base/MutableProps/types.d.ts.map +1 -1
- package/lib/types/base/Plugin/index.d.ts +24 -1
- package/lib/types/base/Plugin/index.d.ts.map +1 -1
- package/lib/types/base/Plugin/types.d.ts +11 -0
- package/lib/types/base/Plugin/types.d.ts.map +1 -1
- package/lib/types/components/AnimationFrame/index.d.ts +20 -18
- package/lib/types/components/AnimationFrame/index.d.ts.map +1 -1
- package/lib/types/components/AnimationFrame/types.d.ts +18 -3
- package/lib/types/components/AnimationFrame/types.d.ts.map +1 -1
- package/lib/types/components/Ctx2D/index.d.ts +37 -15
- package/lib/types/components/Ctx2D/index.d.ts.map +1 -1
- package/lib/types/components/Ctx2D/types.d.ts +40 -13
- package/lib/types/components/Ctx2D/types.d.ts.map +1 -1
- package/lib/types/components/Ctx2DPrerender/index.d.ts +13 -4
- package/lib/types/components/Ctx2DPrerender/index.d.ts.map +1 -1
- package/lib/types/components/Ctx2DPrerender/types.d.ts +13 -2
- package/lib/types/components/Ctx2DPrerender/types.d.ts.map +1 -1
- package/lib/types/components/CustomCursor/index.d.ts +59 -36
- package/lib/types/components/CustomCursor/index.d.ts.map +1 -1
- package/lib/types/components/CustomCursor/types.d.ts +52 -12
- package/lib/types/components/CustomCursor/types.d.ts.map +1 -1
- package/lib/types/components/{SmoothScroll → CustomScroll}/AnimatonFrame.d.ts.map +1 -1
- package/lib/types/components/{SmoothScroll → CustomScroll}/Elements.d.ts +3 -3
- package/lib/types/components/{SmoothScroll → CustomScroll}/Elements.d.ts.map +1 -1
- package/lib/types/components/{SmoothScroll → CustomScroll}/index.d.ts +45 -32
- package/lib/types/components/CustomScroll/index.d.ts.map +1 -0
- package/lib/types/components/CustomScroll/types.d.ts +137 -0
- package/lib/types/components/CustomScroll/types.d.ts.map +1 -0
- package/lib/types/components/CustomScrollDragPlugin/index.d.ts +62 -0
- package/lib/types/components/CustomScrollDragPlugin/index.d.ts.map +1 -0
- package/lib/types/components/CustomScrollDragPlugin/types.d.ts +52 -0
- package/lib/types/components/CustomScrollDragPlugin/types.d.ts.map +1 -0
- package/lib/types/components/CustomScrollKeyboardPlugin/index.d.ts +47 -0
- package/lib/types/components/CustomScrollKeyboardPlugin/index.d.ts.map +1 -0
- package/lib/types/components/CustomScrollKeyboardPlugin/types.d.ts +16 -0
- package/lib/types/components/{SmoothScrollKeyboardPlugin → CustomScrollKeyboardPlugin}/types.d.ts.map +1 -1
- package/lib/types/components/DraggerBase/index.d.ts +93 -28
- package/lib/types/components/DraggerBase/index.d.ts.map +1 -1
- package/lib/types/components/DraggerBase/types.d.ts +21 -3
- package/lib/types/components/DraggerBase/types.d.ts.map +1 -1
- package/lib/types/components/DraggerDirection/index.d.ts +6 -2
- package/lib/types/components/DraggerDirection/index.d.ts.map +1 -1
- package/lib/types/components/DraggerDirection/types.d.ts +15 -1
- package/lib/types/components/DraggerDirection/types.d.ts.map +1 -1
- package/lib/types/components/DraggerMove/index.d.ts +38 -8
- package/lib/types/components/DraggerMove/index.d.ts.map +1 -1
- package/lib/types/components/DraggerMove/types.d.ts +15 -2
- package/lib/types/components/DraggerMove/types.d.ts.map +1 -1
- package/lib/types/components/Marquee/index.d.ts +59 -36
- package/lib/types/components/Marquee/index.d.ts.map +1 -1
- package/lib/types/components/Marquee/types.d.ts +18 -8
- package/lib/types/components/Marquee/types.d.ts.map +1 -1
- package/lib/types/components/Preloader/index.d.ts +52 -15
- package/lib/types/components/Preloader/index.d.ts.map +1 -1
- package/lib/types/components/Preloader/types.d.ts +16 -5
- package/lib/types/components/Preloader/types.d.ts.map +1 -1
- package/lib/types/components/ProgressPreloader/index.d.ts +85 -25
- package/lib/types/components/ProgressPreloader/index.d.ts.map +1 -1
- package/lib/types/components/ProgressPreloader/types.d.ts +51 -14
- package/lib/types/components/ProgressPreloader/types.d.ts.map +1 -1
- package/lib/types/components/ProgressPreloader/utils/preloadCustomElement.d.ts +3 -0
- package/lib/types/components/ProgressPreloader/utils/preloadCustomElement.d.ts.map +1 -1
- package/lib/types/components/ScrollBar/Bar/index.d.ts +81 -16
- package/lib/types/components/ScrollBar/Bar/index.d.ts.map +1 -1
- package/lib/types/components/ScrollBar/Bar/types.d.ts +38 -16
- package/lib/types/components/ScrollBar/Bar/types.d.ts.map +1 -1
- package/lib/types/components/ScrollBar/index.d.ts +49 -12
- package/lib/types/components/ScrollBar/index.d.ts.map +1 -1
- package/lib/types/components/ScrollBar/types.d.ts +8 -6
- package/lib/types/components/ScrollBar/types.d.ts.map +1 -1
- package/lib/types/components/ScrollView/index.d.ts +65 -21
- package/lib/types/components/ScrollView/index.d.ts.map +1 -1
- package/lib/types/components/SectionScrollProgress/index.d.ts +83 -28
- package/lib/types/components/SectionScrollProgress/index.d.ts.map +1 -1
- package/lib/types/components/SectionScrollProgress/types.d.ts +15 -6
- package/lib/types/components/SectionScrollProgress/types.d.ts.map +1 -1
- package/lib/types/components/SlideProgress/index.d.ts +59 -24
- package/lib/types/components/SlideProgress/index.d.ts.map +1 -1
- package/lib/types/components/SlideProgress/types.d.ts +24 -15
- package/lib/types/components/SlideProgress/types.d.ts.map +1 -1
- package/lib/types/components/SplitText/index.d.ts +64 -18
- package/lib/types/components/SplitText/index.d.ts.map +1 -1
- package/lib/types/components/SplitText/types.d.ts +36 -8
- package/lib/types/components/SplitText/types.d.ts.map +1 -1
- package/lib/types/components/SplitText/utils/splitBase.d.ts +3 -1
- package/lib/types/components/SplitText/utils/splitBase.d.ts.map +1 -1
- package/lib/types/components/SplitText/utils/wrapLetters.d.ts +3 -1
- package/lib/types/components/SplitText/utils/wrapLetters.d.ts.map +1 -1
- package/lib/types/components/SplitText/utils/wrapLines.d.ts +3 -1
- package/lib/types/components/SplitText/utils/wrapLines.d.ts.map +1 -1
- package/lib/types/components/SplitText/utils/wrapWords.d.ts +3 -1
- package/lib/types/components/SplitText/utils/wrapWords.d.ts.map +1 -1
- package/lib/types/components/Timeline/index.d.ts +69 -21
- package/lib/types/components/Timeline/index.d.ts.map +1 -1
- package/lib/types/components/Timeline/types.d.ts +32 -7
- package/lib/types/components/Timeline/types.d.ts.map +1 -1
- package/lib/types/components/index.d.ts +4 -4
- package/lib/types/components/index.d.ts.map +1 -1
- package/lib/types/index.d.ts +9 -2
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/types/index.d.ts +3 -0
- package/lib/types/types/index.d.ts.map +1 -0
- package/lib/types/types/utility.d.ts +2 -3
- package/lib/types/types/utility.d.ts.map +1 -1
- package/lib/types/utils/common/PCancelable.d.ts +16 -0
- package/lib/types/utils/common/PCancelable.d.ts.map +1 -1
- package/lib/types/utils/common/normalizedTimeoutCallback.d.ts +19 -4
- package/lib/types/utils/common/normalizedTimeoutCallback.d.ts.map +1 -1
- package/lib/types/utils/common/objectKeys.d.ts +11 -1
- package/lib/types/utils/common/objectKeys.d.ts.map +1 -1
- package/lib/types/utils/common/pickObjectProps.d.ts +14 -2
- package/lib/types/utils/common/pickObjectProps.d.ts.map +1 -1
- package/lib/types/utils/common/times.d.ts +12 -3
- package/lib/types/utils/common/times.d.ts.map +1 -1
- package/lib/types/utils/common/uid.d.ts +4 -2
- package/lib/types/utils/common/uid.d.ts.map +1 -1
- package/lib/types/utils/image/load.d.ts +8 -5
- package/lib/types/utils/image/load.d.ts.map +1 -1
- package/lib/types/utils/image/pathsToProps.d.ts +10 -4
- package/lib/types/utils/image/pathsToProps.d.ts.map +1 -1
- package/lib/types/utils/image/sizesToSrcSet.d.ts +7 -3
- package/lib/types/utils/image/sizesToSrcSet.d.ts.map +1 -1
- package/lib/types/utils/internal/getApp.d.ts +9 -1
- package/lib/types/utils/internal/getApp.d.ts.map +1 -1
- package/lib/types/utils/listeners/isIntersectionObserverSupported.d.ts +1 -1
- package/lib/types/utils/listeners/onResize.d.ts +11 -12
- package/lib/types/utils/listeners/onResize.d.ts.map +1 -1
- package/lib/types/utils/math/clamp.d.ts +7 -2
- package/lib/types/utils/math/clamp.d.ts.map +1 -1
- package/lib/types/utils/math/clampScope.d.ts +8 -1
- package/lib/types/utils/math/clampScope.d.ts.map +1 -1
- package/lib/types/utils/math/easing.d.ts +4 -1
- package/lib/types/utils/math/easing.d.ts.map +1 -1
- package/lib/types/utils/math/inScope.d.ts +5 -2
- package/lib/types/utils/math/inScope.d.ts.map +1 -1
- package/lib/types/utils/math/lerp.d.ts +10 -2
- package/lib/types/utils/math/lerp.d.ts.map +1 -1
- package/lib/types/utils/math/normalizeNestedScope.d.ts +12 -3
- package/lib/types/utils/math/normalizeNestedScope.d.ts.map +1 -1
- package/lib/types/utils/math/scoped.d.ts +16 -5
- package/lib/types/utils/math/scoped.d.ts.map +1 -1
- package/lib/types/utils/math/spreadScope.d.ts +17 -3
- package/lib/types/utils/math/spreadScope.d.ts.map +1 -1
- package/lib/types/utils/math/wrap.d.ts +9 -3
- package/lib/types/utils/math/wrap.d.ts.map +1 -1
- package/lib/types/utils/scroll/getScrollValues.d.ts +13 -1
- package/lib/types/utils/scroll/getScrollValues.d.ts.map +1 -1
- package/lib/types/utils/scroll/isPageScrolling.d.ts +20 -0
- package/lib/types/utils/scroll/isPageScrolling.d.ts.map +1 -1
- package/lib/types/utils/scroll/normalizeWheel.d.ts +10 -2
- package/lib/types/utils/scroll/normalizeWheel.d.ts.map +1 -1
- package/lib/types/utils/scroll/onScroll.d.ts +10 -5
- package/lib/types/utils/scroll/onScroll.d.ts.map +1 -1
- package/lib/types/utils/scroll/scrollTo.d.ts +12 -9
- package/lib/types/utils/scroll/scrollTo.d.ts.map +1 -1
- package/lib/types/utils/scroll/scrollToElement.d.ts +9 -7
- package/lib/types/utils/scroll/scrollToElement.d.ts.map +1 -1
- package/package.json +6 -7
- package/src/{Application → Vevet}/events/createOnPageLoad/index.ts +8 -8
- package/src/Vevet/events/createOnPageLoad/types.ts +21 -0
- package/src/{Application → Vevet}/events/createViewport/index.ts +33 -35
- package/src/{Application → Vevet}/events/createViewport/stories/index.tsx +7 -5
- package/src/Vevet/events/createViewport/types.ts +93 -0
- package/src/Vevet/exported.ts +15 -0
- package/src/Vevet/global.ts +51 -0
- package/src/Vevet/index.ts +98 -0
- package/src/{Application → Vevet}/stories/index.tsx +2 -2
- package/src/Vevet/types.ts +48 -0
- package/src/base/Callbacks/index.ts +70 -51
- package/src/base/Callbacks/types.ts +53 -14
- package/src/base/Component/index.ts +19 -5
- package/src/base/Component/types.ts +15 -3
- package/src/base/Module/index.ts +125 -78
- package/src/base/Module/types.ts +32 -3
- package/src/base/MutableProps/index.ts +44 -73
- package/src/base/MutableProps/types.ts +15 -8
- package/src/base/Plugin/index.ts +24 -1
- package/src/base/Plugin/types.ts +11 -0
- package/src/components/AnimationFrame/index.ts +21 -28
- package/src/components/AnimationFrame/types.ts +23 -3
- package/src/components/Ctx2D/index.ts +46 -34
- package/src/components/Ctx2D/types.ts +53 -13
- package/src/components/Ctx2DPrerender/index.ts +18 -7
- package/src/components/Ctx2DPrerender/types.ts +13 -2
- package/src/components/CustomCursor/index.ts +85 -60
- package/src/components/CustomCursor/stories/index.tsx +0 -3
- package/src/components/CustomCursor/types.ts +63 -12
- package/src/components/{SmoothScroll → CustomScroll}/AnimatonFrame.ts +2 -2
- package/src/components/{SmoothScroll → CustomScroll}/Elements.ts +14 -14
- package/src/components/{SmoothScroll → CustomScroll}/index.ts +55 -42
- package/src/components/{SmoothScroll → CustomScroll}/stories/Default.tsx +8 -8
- package/src/components/{SmoothScroll → CustomScroll}/stories/WithHorizontal.tsx +9 -9
- package/src/components/{SmoothScroll → CustomScroll}/stories/WithInnerLerp.tsx +9 -9
- package/src/components/{SmoothScroll → CustomScroll}/stories/index.stories.tsx +1 -1
- package/src/components/CustomScroll/types.ts +165 -0
- package/src/components/{SmoothScrollDragPlugin → CustomScrollDragPlugin}/index.ts +41 -41
- package/src/components/{SmoothScrollDragPlugin → CustomScrollDragPlugin}/stories/index.stories.tsx +1 -1
- package/src/components/{SmoothScrollDragPlugin → CustomScrollDragPlugin}/stories/index.tsx +10 -10
- package/src/components/CustomScrollDragPlugin/types.ts +59 -0
- package/src/components/{SmoothScrollKeyboardPlugin → CustomScrollKeyboardPlugin}/index.ts +47 -43
- package/src/components/{SmoothScrollKeyboardPlugin → CustomScrollKeyboardPlugin}/stories/index.stories.tsx +1 -1
- package/src/components/{SmoothScrollKeyboardPlugin → CustomScrollKeyboardPlugin}/stories/index.tsx +10 -10
- package/src/components/{SmoothScrollKeyboardPlugin → CustomScrollKeyboardPlugin}/types.ts +6 -2
- package/src/components/DraggerBase/index.ts +101 -37
- package/src/components/DraggerBase/types.ts +25 -3
- package/src/components/DraggerDirection/index.ts +12 -6
- package/src/components/DraggerDirection/types.ts +18 -1
- package/src/components/DraggerMove/index.ts +44 -13
- package/src/components/DraggerMove/types.ts +17 -2
- package/src/components/Marquee/index.ts +255 -186
- package/src/components/Marquee/stories/index.tsx +16 -2
- package/src/components/Marquee/types.ts +18 -8
- package/src/components/Preloader/index.ts +56 -20
- package/src/components/Preloader/types.ts +18 -5
- package/src/components/ProgressPreloader/index.ts +104 -48
- package/src/components/ProgressPreloader/types.ts +65 -14
- package/src/components/ProgressPreloader/utils/preloadCustomElement.ts +13 -2
- package/src/components/ScrollBar/Bar/index.ts +112 -62
- package/src/components/ScrollBar/Bar/types.ts +46 -17
- package/src/components/ScrollBar/index.ts +65 -20
- package/src/components/ScrollBar/stories/{WithSmoothScrollComponent.tsx → WithCustomScrollComponent.tsx} +5 -5
- package/src/components/ScrollBar/stories/index.stories.tsx +3 -3
- package/src/components/ScrollBar/types.ts +10 -6
- package/src/components/ScrollView/index.ts +73 -27
- package/src/components/ScrollView/stories/index.tsx +5 -2
- package/src/components/SectionScrollProgress/index.ts +97 -41
- package/src/components/SectionScrollProgress/stories/WithCustomScroll.tsx +6 -6
- package/src/components/SectionScrollProgress/types.ts +19 -6
- package/src/components/SlideProgress/index.ts +78 -45
- package/src/components/SlideProgress/types.ts +24 -15
- package/src/components/SplitText/index.ts +71 -31
- package/src/components/SplitText/types.ts +48 -8
- package/src/components/SplitText/utils/splitBase.ts +6 -2
- package/src/components/SplitText/utils/wrapLetters.ts +11 -3
- package/src/components/SplitText/utils/wrapLines.ts +11 -5
- package/src/components/SplitText/utils/wrapWords.ts +14 -3
- package/src/components/Timeline/index.ts +98 -26
- package/src/components/Timeline/stories/index.stories.tsx +0 -5
- package/src/components/Timeline/types.ts +37 -7
- package/src/components/index.ts +4 -4
- package/src/index.ts +14 -4
- package/src/styles/base.scss +0 -2
- package/src/styles/components/CustomCursor.scss +7 -7
- package/{lib/styles/components/SmoothScroll.scss → src/styles/components/CustomScroll.scss} +3 -3
- package/src/styles/components/Preloader.scss +1 -1
- package/src/styles/components/ScrollBar.scss +4 -4
- package/src/styles/components/index.scss +1 -1
- package/src/styles/index.scss +0 -1
- package/src/types/index.ts +2 -0
- package/src/types/utility.ts +2 -2
- package/src/utils/common/PCancelable.ts +17 -0
- package/src/utils/common/normalizedTimeoutCallback.ts +19 -4
- package/src/utils/common/objectKeys.ts +12 -2
- package/src/utils/common/pickObjectProps.ts +16 -4
- package/src/utils/common/times.ts +12 -3
- package/src/utils/common/uid.ts +5 -3
- package/src/utils/image/load.ts +9 -4
- package/src/utils/image/pathsToProps.ts +10 -4
- package/src/utils/image/sizesToSrcSet.ts +7 -3
- package/src/utils/internal/getApp.ts +25 -0
- package/src/utils/listeners/isIntersectionObserverSupported.ts +1 -1
- package/src/utils/listeners/onResize.ts +12 -17
- package/src/utils/math/clamp.ts +10 -5
- package/src/utils/math/clampScope.ts +9 -2
- package/src/utils/math/easing.ts +4 -1
- package/src/utils/math/inScope.ts +6 -3
- package/src/utils/math/lerp.ts +11 -3
- package/src/utils/math/normalizeNestedScope.ts +12 -3
- package/src/utils/math/scoped.ts +17 -6
- package/src/utils/math/spreadScope.ts +17 -3
- package/src/utils/math/wrap.ts +9 -3
- package/src/utils/scroll/getScrollValues.ts +13 -1
- package/src/utils/scroll/isPageScrolling.ts +31 -0
- package/src/utils/scroll/normalizeWheel.ts +10 -2
- package/src/utils/scroll/onScroll.ts +18 -11
- package/src/utils/scroll/scrollTo.ts +16 -10
- package/src/utils/scroll/scrollToElement.ts +9 -7
- package/lib/cjs/Application/events/createOnPageLoad/index.js.map +0 -1
- package/lib/cjs/Application/events/createOnPageLoad/types.js.map +0 -1
- package/lib/cjs/Application/events/createViewport/index.js.map +0 -1
- package/lib/cjs/Application/events/createViewport/types.js.map +0 -1
- package/lib/cjs/Application/index.js +0 -222
- package/lib/cjs/Application/index.js.map +0 -1
- package/lib/cjs/components/BaseTimeline/index.js +0 -125
- package/lib/cjs/components/BaseTimeline/index.js.map +0 -1
- package/lib/cjs/components/BaseTimeline/types.js.map +0 -1
- package/lib/cjs/components/SmoothScroll/index.js.map +0 -1
- package/lib/cjs/components/SmoothScroll/types.js.map +0 -1
- package/lib/cjs/components/SmoothScrollDragPlugin/index.js.map +0 -1
- package/lib/cjs/components/SmoothScrollDragPlugin/types.js.map +0 -1
- package/lib/cjs/components/SmoothScrollKeyboardPlugin/index.js.map +0 -1
- package/lib/cjs/components/SmoothScrollKeyboardPlugin/types.js +0 -3
- package/lib/cjs/components/SmoothScrollKeyboardPlugin/types.js.map +0 -1
- package/lib/cjs/utils/internal/fetchWebpSupport.js.map +0 -1
- package/lib/cjs/utils/internal/getDeviceInfo.js.map +0 -1
- package/lib/cjs/vevet.js +0 -6
- package/lib/cjs/vevet.js.map +0 -1
- package/lib/esm/Application/events/createOnPageLoad/index.js.map +0 -1
- package/lib/esm/Application/events/createOnPageLoad/types.js.map +0 -1
- package/lib/esm/Application/events/createViewport/index.js.map +0 -1
- package/lib/esm/Application/events/createViewport/types.js.map +0 -1
- package/lib/esm/Application/index.js +0 -134
- package/lib/esm/Application/index.js.map +0 -1
- package/lib/esm/components/BaseTimeline/index.js +0 -75
- package/lib/esm/components/BaseTimeline/index.js.map +0 -1
- package/lib/esm/components/BaseTimeline/types.js.map +0 -1
- package/lib/esm/components/SmoothScroll/index.js.map +0 -1
- package/lib/esm/components/SmoothScroll/types.js.map +0 -1
- package/lib/esm/components/SmoothScrollDragPlugin/index.js.map +0 -1
- package/lib/esm/components/SmoothScrollDragPlugin/types.js.map +0 -1
- package/lib/esm/components/SmoothScrollKeyboardPlugin/index.js.map +0 -1
- package/lib/esm/components/SmoothScrollKeyboardPlugin/types.js +0 -2
- package/lib/esm/components/SmoothScrollKeyboardPlugin/types.js.map +0 -1
- package/lib/esm/utils/internal/fetchWebpSupport.js.map +0 -1
- package/lib/esm/utils/internal/getDeviceInfo.js.map +0 -1
- package/lib/esm/vevet.js +0 -3
- package/lib/esm/vevet.js.map +0 -1
- package/lib/styles/globals/index.scss +0 -18
- package/lib/types/Application/events/createOnPageLoad/index.d.ts +0 -5
- package/lib/types/Application/events/createOnPageLoad/index.d.ts.map +0 -1
- package/lib/types/Application/events/createOnPageLoad/types.d.ts +0 -5
- package/lib/types/Application/events/createOnPageLoad/types.d.ts.map +0 -1
- package/lib/types/Application/events/createViewport/index.d.ts +0 -20
- package/lib/types/Application/events/createViewport/index.d.ts.map +0 -1
- package/lib/types/Application/events/createViewport/types.d.ts +0 -52
- package/lib/types/Application/events/createViewport/types.d.ts.map +0 -1
- package/lib/types/Application/index.d.ts +0 -89
- package/lib/types/Application/index.d.ts.map +0 -1
- package/lib/types/Application/types.d.ts +0 -41
- package/lib/types/Application/types.d.ts.map +0 -1
- package/lib/types/components/BaseTimeline/index.d.ts +0 -40
- package/lib/types/components/BaseTimeline/index.d.ts.map +0 -1
- package/lib/types/components/BaseTimeline/types.d.ts +0 -34
- package/lib/types/components/BaseTimeline/types.d.ts.map +0 -1
- package/lib/types/components/SmoothScroll/index.d.ts.map +0 -1
- package/lib/types/components/SmoothScroll/types.d.ts +0 -110
- package/lib/types/components/SmoothScroll/types.d.ts.map +0 -1
- package/lib/types/components/SmoothScrollDragPlugin/index.d.ts +0 -50
- package/lib/types/components/SmoothScrollDragPlugin/index.d.ts.map +0 -1
- package/lib/types/components/SmoothScrollDragPlugin/types.d.ts +0 -39
- package/lib/types/components/SmoothScrollDragPlugin/types.d.ts.map +0 -1
- package/lib/types/components/SmoothScrollKeyboardPlugin/index.d.ts +0 -31
- package/lib/types/components/SmoothScrollKeyboardPlugin/index.d.ts.map +0 -1
- package/lib/types/components/SmoothScrollKeyboardPlugin/types.d.ts +0 -12
- package/lib/types/utils/internal/fetchWebpSupport.d.ts +0 -3
- package/lib/types/utils/internal/fetchWebpSupport.d.ts.map +0 -1
- package/lib/types/utils/internal/getDeviceInfo.d.ts.map +0 -1
- package/lib/types/vevet.d.ts +0 -3
- package/lib/types/vevet.d.ts.map +0 -1
- package/src/Application/events/createOnPageLoad/types.ts +0 -5
- package/src/Application/events/createViewport/types.ts +0 -55
- package/src/Application/index.ts +0 -204
- package/src/Application/types.ts +0 -41
- package/src/components/BaseTimeline/index.ts +0 -123
- package/src/components/BaseTimeline/stories/Basic.tsx +0 -65
- package/src/components/BaseTimeline/stories/Nested.tsx +0 -108
- package/src/components/BaseTimeline/stories/index.stories.tsx +0 -16
- package/src/components/BaseTimeline/types.ts +0 -36
- package/src/components/SmoothScroll/types.ts +0 -119
- package/src/components/SmoothScrollDragPlugin/types.ts +0 -40
- package/src/components/Timeline/stories/Nested.tsx +0 -135
- package/src/styles/globals/index.scss +0 -18
- package/src/vevet.ts +0 -4
- /package/lib/cjs/{Application → Vevet}/events/createOnPageLoad/types.js +0 -0
- /package/lib/cjs/{Application → Vevet}/events/createViewport/types.js +0 -0
- /package/lib/cjs/{Application → Vevet}/types.js +0 -0
- /package/lib/cjs/{utils/internal → Vevet/utils}/getDeviceInfo.js +0 -0
- /package/lib/cjs/components/{BaseTimeline → CustomScroll}/types.js +0 -0
- /package/lib/cjs/components/{SmoothScroll → CustomScrollDragPlugin}/types.js +0 -0
- /package/lib/cjs/components/{SmoothScrollDragPlugin → CustomScrollKeyboardPlugin}/types.js +0 -0
- /package/lib/esm/{Application → Vevet}/events/createOnPageLoad/types.js +0 -0
- /package/lib/esm/{Application → Vevet}/events/createViewport/types.js +0 -0
- /package/lib/esm/{Application → Vevet}/types.js +0 -0
- /package/lib/esm/{utils/internal → Vevet/utils}/getDeviceInfo.js +0 -0
- /package/lib/esm/components/{BaseTimeline → CustomScroll}/types.js +0 -0
- /package/lib/esm/components/{SmoothScroll → CustomScrollDragPlugin}/types.js +0 -0
- /package/lib/esm/components/{SmoothScrollDragPlugin → CustomScrollKeyboardPlugin}/types.js +0 -0
- /package/lib/types/{utils/internal → Vevet/utils}/getDeviceInfo.d.ts +0 -0
- /package/lib/types/components/{SmoothScroll → CustomScroll}/AnimatonFrame.d.ts +0 -0
- /package/src/{Application → Vevet}/events/.eslintrc +0 -0
- /package/src/{Application → Vevet}/events/createViewport/stories/index.stories.tsx +0 -0
- /package/src/{Application → Vevet}/stories/index.stories.tsx +0 -0
- /package/src/{utils/internal → Vevet/utils}/fetchWebpSupport.ts +0 -0
- /package/src/{utils/internal → Vevet/utils}/getDeviceInfo.ts +0 -0
|
@@ -5,7 +5,8 @@ import { NCtx2DPrerender } from './types';
|
|
|
5
5
|
export type { NCtx2DPrerender } from './types';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* The class allows
|
|
8
|
+
* The `Ctx2DPrerender` class allows pre-rendering of media (such as images or video) onto a canvas.
|
|
9
|
+
* This can be useful for reducing payloads by preparing the media for further use in a more optimized form.
|
|
9
10
|
*/
|
|
10
11
|
export class Ctx2DPrerender<
|
|
11
12
|
StaticProps extends
|
|
@@ -23,21 +24,31 @@ export class Ctx2DPrerender<
|
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* Handles the canvas resize event and triggers the prerender process.
|
|
29
|
+
* This method is called when the canvas size changes and recalculates the
|
|
30
|
+
* rendering dimensions.
|
|
31
|
+
*/
|
|
27
32
|
protected _handleResize() {
|
|
28
33
|
super._handleResize();
|
|
29
34
|
|
|
35
|
+
// Trigger rendering after resize
|
|
30
36
|
this.render((props) => this._prerender(props));
|
|
31
37
|
}
|
|
32
38
|
|
|
33
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Prerenders the media onto the canvas using the specified positioning rule.
|
|
41
|
+
* Clears the canvas, calculates the position and dimensions for the media,
|
|
42
|
+
* and then draws it on the canvas.
|
|
43
|
+
*/
|
|
34
44
|
protected _prerender({ width, height, ctx }: NCtx2D.IRenderProps) {
|
|
35
45
|
const { media, posRule } = this.props;
|
|
36
46
|
|
|
37
|
-
//
|
|
47
|
+
// Determine the media source and its dimensions
|
|
38
48
|
let source: BaseProp['source'];
|
|
39
49
|
let sourceWidth: number | undefined;
|
|
40
50
|
let sourceHeight: number | undefined;
|
|
51
|
+
|
|
41
52
|
if (media instanceof Ctx2D) {
|
|
42
53
|
source = media.canvas;
|
|
43
54
|
sourceWidth = media.width;
|
|
@@ -46,7 +57,7 @@ export class Ctx2DPrerender<
|
|
|
46
57
|
source = media as any;
|
|
47
58
|
}
|
|
48
59
|
|
|
49
|
-
//
|
|
60
|
+
// Calculate media position and size based on the posRule
|
|
50
61
|
const size = getPos({
|
|
51
62
|
source,
|
|
52
63
|
sourceWidth,
|
|
@@ -57,11 +68,11 @@ export class Ctx2DPrerender<
|
|
|
57
68
|
height,
|
|
58
69
|
});
|
|
59
70
|
|
|
60
|
-
//
|
|
71
|
+
// Clear the canvas and draw the media with the calculated size
|
|
61
72
|
ctx.clearRect(0, 0, width, height);
|
|
62
73
|
ctx.drawImage(source, size.x, size.y, size.width, size.height);
|
|
63
74
|
|
|
64
|
-
//
|
|
75
|
+
// Trigger prerender callback
|
|
65
76
|
this.callbacks.tbt('prerender', undefined);
|
|
66
77
|
}
|
|
67
78
|
}
|
|
@@ -4,16 +4,27 @@ import { Ctx2D } from '../Ctx2D';
|
|
|
4
4
|
|
|
5
5
|
export namespace NCtx2DPrerender {
|
|
6
6
|
export interface IStaticProps extends NCtx2D.IStaticProps {
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* The media element to be rendered.
|
|
9
|
+
* It can be an instance of `Ctx2D` or a source object like an `HTMLImageElement` or `HTMLVideoElement`.
|
|
10
|
+
*/
|
|
8
11
|
media: Ctx2D | BaseProp['source'];
|
|
9
12
|
}
|
|
10
13
|
|
|
11
14
|
export interface IChangeableProps extends NCtx2D.IChangeableProps {
|
|
12
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* The positioning rule for the media element.
|
|
17
|
+
* This defines how the media should be positioned within the canvas. *
|
|
18
|
+
* @default 'cover'
|
|
19
|
+
*/
|
|
13
20
|
posRule?: PosRule;
|
|
14
21
|
}
|
|
15
22
|
|
|
16
23
|
export interface ICallbacksTypes extends NCtx2D.ICallbacksTypes {
|
|
24
|
+
/**
|
|
25
|
+
* Callback triggered before rendering starts.
|
|
26
|
+
* Use this to prepare or modify the media before it gets rendered.
|
|
27
|
+
*/
|
|
17
28
|
prerender: undefined;
|
|
18
29
|
}
|
|
19
30
|
}
|
|
@@ -8,7 +8,10 @@ import { getApp } from '@/utils/internal/getApp';
|
|
|
8
8
|
export type { NCustomCursor };
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* Creates a smooth custom cursor
|
|
11
|
+
* Creates a smooth custom cursor that replaces the native cursor and follows mouse movements with smoothing and animations.
|
|
12
|
+
* The cursor's appearance and behavior can be customized, and it supports interacting with hoverable elements.
|
|
13
|
+
*
|
|
14
|
+
* @requires Requires styles: `@import '~vevet/lib/styles/components/CustomCursor';`
|
|
12
15
|
*/
|
|
13
16
|
export class CustomCursor<
|
|
14
17
|
StaticProps extends NCustomCursor.IStaticProps = NCustomCursor.IStaticProps,
|
|
@@ -35,18 +38,18 @@ export class CustomCursor<
|
|
|
35
38
|
return `${getApp().prefix}custom-cursor`;
|
|
36
39
|
}
|
|
37
40
|
|
|
38
|
-
/**
|
|
41
|
+
/** The cursor container. */
|
|
39
42
|
get container() {
|
|
40
43
|
return this._container;
|
|
41
44
|
}
|
|
42
45
|
|
|
43
|
-
/**
|
|
46
|
+
/** The cursor container. */
|
|
44
47
|
protected _container: Element | Window;
|
|
45
48
|
|
|
46
|
-
/**
|
|
49
|
+
/** Boolean flag to indicate whether the cursor container is the window. */
|
|
47
50
|
protected _isContainerWindow: boolean;
|
|
48
51
|
|
|
49
|
-
/** DOM parent for the cursor element */
|
|
52
|
+
/** Returns the DOM parent for the cursor element. */
|
|
50
53
|
get domContainer(): HTMLElement {
|
|
51
54
|
if (this.container instanceof Window) {
|
|
52
55
|
return getApp().body;
|
|
@@ -55,50 +58,61 @@ export class CustomCursor<
|
|
|
55
58
|
return this.container as HTMLElement;
|
|
56
59
|
}
|
|
57
60
|
|
|
58
|
-
/**
|
|
61
|
+
/**
|
|
62
|
+
* The outer element of the custom cursor.
|
|
63
|
+
* This is the visual element that represents the cursor on screen.
|
|
64
|
+
*/
|
|
59
65
|
get outerElement() {
|
|
60
66
|
return this._outerElement;
|
|
61
67
|
}
|
|
62
68
|
|
|
63
|
-
/**
|
|
69
|
+
/** The outer element of the custom cursor */
|
|
64
70
|
protected _outerElement!: HTMLElement;
|
|
65
71
|
|
|
66
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* The inner element of the custom cursor.
|
|
74
|
+
* This element is nested inside the outer element and can provide additional styling.
|
|
75
|
+
*/
|
|
67
76
|
get innerElement() {
|
|
68
77
|
return this._innerElement;
|
|
69
78
|
}
|
|
70
79
|
|
|
71
|
-
/**
|
|
80
|
+
/** The inner element of the custom cursor. */
|
|
72
81
|
protected _innerElement!: HTMLElement;
|
|
73
82
|
|
|
74
|
-
/**
|
|
83
|
+
/** The currently hovered elementю */
|
|
75
84
|
protected _hoveredElement?: NCustomCursor.IHoveredElement | undefined;
|
|
76
85
|
|
|
77
|
-
/**
|
|
86
|
+
/**
|
|
87
|
+
* The currently hovered element.
|
|
88
|
+
* Stores information about the element that the cursor is currently interacting with.
|
|
89
|
+
*/
|
|
78
90
|
get hoveredElement(): NCustomCursor.IHoveredElement | undefined {
|
|
79
91
|
return this._hoveredElement;
|
|
80
92
|
}
|
|
81
93
|
|
|
82
|
-
/** Hovered element */
|
|
83
94
|
set hoveredElement(value: NCustomCursor.IHoveredElement | undefined) {
|
|
84
95
|
this._hoveredElement = value;
|
|
85
96
|
}
|
|
86
97
|
|
|
87
|
-
/**
|
|
88
|
-
protected
|
|
98
|
+
/** Handler for managing animation frames of the cursor movement. */
|
|
99
|
+
protected _raf!: AnimationFrame;
|
|
89
100
|
|
|
90
|
-
/**
|
|
101
|
+
/** The current coordinates */
|
|
91
102
|
protected _coords: NCustomCursor.ICoords;
|
|
92
103
|
|
|
93
|
-
/**
|
|
104
|
+
/**
|
|
105
|
+
* The current coordinates (x, y, width, height).
|
|
106
|
+
* These are updated during cursor movement.
|
|
107
|
+
*/
|
|
94
108
|
get coords() {
|
|
95
109
|
return this._coords;
|
|
96
110
|
}
|
|
97
111
|
|
|
98
|
-
/** Target cursor
|
|
112
|
+
/** Target coordinates of the cursor for interpolation. */
|
|
99
113
|
protected _targetCoords: NCustomCursor.ICoords;
|
|
100
114
|
|
|
101
|
-
/** Target cursor
|
|
115
|
+
/** Target coordinates of the cursor for interpolation. */
|
|
102
116
|
get targetCoords() {
|
|
103
117
|
const { hoveredElement, props } = this;
|
|
104
118
|
|
|
@@ -138,40 +152,41 @@ export class CustomCursor<
|
|
|
138
152
|
constructor(initialProps?: StaticProps & ChangeableProps, canInit = true) {
|
|
139
153
|
super(initialProps, false);
|
|
140
154
|
|
|
141
|
-
//
|
|
155
|
+
// Get cursor container
|
|
142
156
|
const container = selectOne(this.props.container);
|
|
143
157
|
if (container) {
|
|
144
158
|
this._container = container;
|
|
145
159
|
} else {
|
|
146
|
-
throw new Error(`No cursor container for ${this.props.container}`);
|
|
160
|
+
throw new Error(`No cursor container found for ${this.props.container}`);
|
|
147
161
|
}
|
|
148
162
|
this._isContainerWindow = container instanceof Window;
|
|
149
163
|
|
|
150
|
-
//
|
|
164
|
+
// Set default variables
|
|
151
165
|
const { width, height } = this.props;
|
|
152
166
|
this._coords = { x: 0, y: 0, width, height };
|
|
153
167
|
this._targetCoords = { x: 0, y: 0, width, height };
|
|
154
168
|
|
|
169
|
+
// Initialize the class
|
|
155
170
|
if (canInit) {
|
|
156
171
|
this.init();
|
|
157
172
|
}
|
|
158
173
|
}
|
|
159
174
|
|
|
160
|
-
/** Init the class */
|
|
161
175
|
protected _init() {
|
|
162
176
|
super._init();
|
|
163
177
|
|
|
164
|
-
//
|
|
178
|
+
// Create cursor
|
|
165
179
|
this._createCursor();
|
|
180
|
+
|
|
181
|
+
// Set events
|
|
166
182
|
this._setEvents();
|
|
167
183
|
|
|
168
|
-
//
|
|
184
|
+
// Enable by default
|
|
169
185
|
if (this.props.isEnabled) {
|
|
170
186
|
this._enable();
|
|
171
187
|
}
|
|
172
188
|
}
|
|
173
189
|
|
|
174
|
-
/** Handle properties mutation */
|
|
175
190
|
protected _onPropsMutate() {
|
|
176
191
|
super._onPropsMutate();
|
|
177
192
|
|
|
@@ -182,20 +197,20 @@ export class CustomCursor<
|
|
|
182
197
|
}
|
|
183
198
|
}
|
|
184
199
|
|
|
185
|
-
/**
|
|
200
|
+
/** Creates the custom cursor and appends it to the DOM. */
|
|
186
201
|
protected _createCursor() {
|
|
187
202
|
const { container, domContainer } = this;
|
|
188
203
|
|
|
189
|
-
//
|
|
204
|
+
// Hide native cursor
|
|
190
205
|
if (this.props.isNativeCursorHidden) {
|
|
191
206
|
domContainer.style.cursor = 'none';
|
|
192
|
-
domContainer.classList.add(this.className('-hide-
|
|
207
|
+
domContainer.classList.add(this.className('-hide-default-cursor'));
|
|
193
208
|
}
|
|
194
209
|
|
|
195
|
-
//
|
|
210
|
+
// Set class names
|
|
196
211
|
domContainer.classList.add(this.className('-container'));
|
|
197
212
|
|
|
198
|
-
//
|
|
213
|
+
// Create outer element
|
|
199
214
|
this._outerElement = createElement('div', {
|
|
200
215
|
class: this.className(
|
|
201
216
|
'',
|
|
@@ -205,21 +220,22 @@ export class CustomCursor<
|
|
|
205
220
|
parent: domContainer,
|
|
206
221
|
});
|
|
207
222
|
|
|
208
|
-
//
|
|
223
|
+
// Create inner element
|
|
209
224
|
this._innerElement = createElement('div', {
|
|
210
225
|
class: this.className('__inner', '-disabled'),
|
|
211
226
|
parent: this._outerElement,
|
|
212
227
|
});
|
|
213
228
|
|
|
214
|
-
//
|
|
229
|
+
// Call events
|
|
215
230
|
this.callbacks.tbt('create', {
|
|
216
231
|
outerElement: this.outerElement,
|
|
217
232
|
innerElement: this.innerElement,
|
|
218
233
|
});
|
|
219
234
|
|
|
235
|
+
// Destroy the cursor
|
|
220
236
|
this.addDestroyableAction(() => {
|
|
221
237
|
domContainer.style.cursor = '';
|
|
222
|
-
domContainer.classList.remove(this.className('-hide-
|
|
238
|
+
domContainer.classList.remove(this.className('-hide-default-cursor'));
|
|
223
239
|
domContainer.classList.remove(this.className('-container'));
|
|
224
240
|
|
|
225
241
|
this._outerElement.remove();
|
|
@@ -227,13 +243,13 @@ export class CustomCursor<
|
|
|
227
243
|
});
|
|
228
244
|
}
|
|
229
245
|
|
|
230
|
-
/**
|
|
246
|
+
/** Sets up the various event listeners for the cursor, such as mouse movements and clicks. */
|
|
231
247
|
protected _setEvents() {
|
|
232
248
|
const { domContainer } = this;
|
|
233
249
|
|
|
234
|
-
this.
|
|
235
|
-
this.
|
|
236
|
-
this.addDestroyableAction(() => this.
|
|
250
|
+
this._raf = new AnimationFrame();
|
|
251
|
+
this._raf.addCallback('frame', () => this.render());
|
|
252
|
+
this.addDestroyableAction(() => this._raf.destroy());
|
|
237
253
|
|
|
238
254
|
this.addEventListener(
|
|
239
255
|
domContainer,
|
|
@@ -268,7 +284,7 @@ export class CustomCursor<
|
|
|
268
284
|
this.addEventListener(window, 'blur', this._handleWindowBlur.bind(this));
|
|
269
285
|
}
|
|
270
286
|
|
|
271
|
-
/**
|
|
287
|
+
/** Handles mouse enter events. */
|
|
272
288
|
protected _handleMouseEnter(evt: MouseEvent) {
|
|
273
289
|
this._coords.x = evt.clientX;
|
|
274
290
|
this._coords.y = evt.clientY;
|
|
@@ -278,12 +294,12 @@ export class CustomCursor<
|
|
|
278
294
|
this.outerElement.classList.add(this.className('-in-action'));
|
|
279
295
|
}
|
|
280
296
|
|
|
281
|
-
/**
|
|
297
|
+
/** Handles mouse leave events. */
|
|
282
298
|
protected _handleMouseLeave() {
|
|
283
299
|
this.outerElement.classList.remove(this.className('-in-action'));
|
|
284
300
|
}
|
|
285
301
|
|
|
286
|
-
/**
|
|
302
|
+
/** Handles mouse move events. */
|
|
287
303
|
protected _handleMouseMove(evt: MouseEvent) {
|
|
288
304
|
this._targetCoords.x = evt.clientX;
|
|
289
305
|
this._targetCoords.y = evt.clientY;
|
|
@@ -291,11 +307,11 @@ export class CustomCursor<
|
|
|
291
307
|
this.outerElement.classList.add(this.className('-in-action'));
|
|
292
308
|
|
|
293
309
|
if (this.props.isEnabled) {
|
|
294
|
-
this.
|
|
310
|
+
this._raf.play();
|
|
295
311
|
}
|
|
296
312
|
}
|
|
297
313
|
|
|
298
|
-
/**
|
|
314
|
+
/** Handles mouse down events. */
|
|
299
315
|
protected _handleMouseDown(evt: MouseEvent) {
|
|
300
316
|
if (evt.which === 1) {
|
|
301
317
|
this.outerElement.classList.add(this.className('-click'));
|
|
@@ -303,18 +319,23 @@ export class CustomCursor<
|
|
|
303
319
|
}
|
|
304
320
|
}
|
|
305
321
|
|
|
306
|
-
/**
|
|
322
|
+
/** Handles mouse up events. */
|
|
307
323
|
protected _handleMouseUp() {
|
|
308
324
|
this.outerElement.classList.remove(this.className('-click'));
|
|
309
325
|
this.innerElement.classList.remove(this.className('-click'));
|
|
310
326
|
}
|
|
311
327
|
|
|
312
|
-
/**
|
|
328
|
+
/** Handles window blur events. */
|
|
313
329
|
protected _handleWindowBlur() {
|
|
314
330
|
this._handleMouseUp();
|
|
315
331
|
}
|
|
316
332
|
|
|
317
|
-
/**
|
|
333
|
+
/**
|
|
334
|
+
* Sets hover events on an element.
|
|
335
|
+
* @param settingsProp The settings for the hovered element.
|
|
336
|
+
* @param {number} [enterTimeout=100] The timeout before the hover effect is applied.
|
|
337
|
+
* @returns {Object} An object containing a remove method to unregister the hover events.
|
|
338
|
+
*/
|
|
318
339
|
public addHoverElement(
|
|
319
340
|
settingsProp: NCustomCursor.IHoveredElement,
|
|
320
341
|
enterTimeout = 100,
|
|
@@ -361,7 +382,8 @@ export class CustomCursor<
|
|
|
361
382
|
}
|
|
362
383
|
|
|
363
384
|
/**
|
|
364
|
-
*
|
|
385
|
+
* Checks if all coordinates are interpolated.
|
|
386
|
+
* @returns {boolean} True if all coordinates are interpolated, false otherwise.
|
|
365
387
|
*/
|
|
366
388
|
public get isCoordsInterpolated() {
|
|
367
389
|
const { coords, targetCoords } = this;
|
|
@@ -374,7 +396,7 @@ export class CustomCursor<
|
|
|
374
396
|
);
|
|
375
397
|
}
|
|
376
398
|
|
|
377
|
-
/**
|
|
399
|
+
/** Renders the scene. */
|
|
378
400
|
public render() {
|
|
379
401
|
const { props } = this;
|
|
380
402
|
|
|
@@ -382,14 +404,14 @@ export class CustomCursor<
|
|
|
382
404
|
const realCoords = this._renderElements();
|
|
383
405
|
|
|
384
406
|
if (props.shouldAutoStop && this.isCoordsInterpolated) {
|
|
385
|
-
this.
|
|
407
|
+
this._raf.pause();
|
|
386
408
|
}
|
|
387
409
|
|
|
388
|
-
//
|
|
410
|
+
// Launch render events
|
|
389
411
|
this.callbacks.tbt('render', realCoords);
|
|
390
412
|
}
|
|
391
413
|
|
|
392
|
-
/**
|
|
414
|
+
/** Recalculates current coordinates. */
|
|
393
415
|
protected _calculateCoords() {
|
|
394
416
|
const { targetCoords, _coords: coords } = this;
|
|
395
417
|
|
|
@@ -399,20 +421,23 @@ export class CustomCursor<
|
|
|
399
421
|
coords.height = this._lerp(coords.height, targetCoords.height);
|
|
400
422
|
}
|
|
401
423
|
|
|
402
|
-
/**
|
|
424
|
+
/**
|
|
425
|
+
* Performs linear interpolation.
|
|
426
|
+
* @param {number} current The current value.
|
|
427
|
+
* @param {number} target The target value.
|
|
428
|
+
* @returns {number} The interpolated value.
|
|
429
|
+
*/
|
|
403
430
|
protected _lerp(current: number, target: number) {
|
|
404
431
|
const { isFpsNormalized, lerp: ease } = this.props;
|
|
405
432
|
|
|
406
|
-
const fpsMultiplier = isFpsNormalized
|
|
407
|
-
? this._animationFrame.easeMultiplier
|
|
408
|
-
: 1;
|
|
433
|
+
const fpsMultiplier = isFpsNormalized ? this._raf.fpsMultiplier : 1;
|
|
409
434
|
|
|
410
435
|
const value = lerp(current, target, ease * fpsMultiplier, 0.02);
|
|
411
436
|
|
|
412
437
|
return value;
|
|
413
438
|
}
|
|
414
439
|
|
|
415
|
-
/**
|
|
440
|
+
/** Renders the cursor elements. */
|
|
416
441
|
protected _renderElements(): NCustomCursor.ICoords {
|
|
417
442
|
const { domContainer, outerElement } = this;
|
|
418
443
|
let { x, y } = this.coords;
|
|
@@ -424,7 +449,7 @@ export class CustomCursor<
|
|
|
424
449
|
y -= bounding.top;
|
|
425
450
|
}
|
|
426
451
|
|
|
427
|
-
//
|
|
452
|
+
// Update DOM coordinates
|
|
428
453
|
outerElement.style.transform = `translate(${x}px, ${y}px)`;
|
|
429
454
|
outerElement.style.setProperty('--cursor-w', `${width}px`);
|
|
430
455
|
outerElement.style.setProperty('--cursor-h', `${height}px`);
|
|
@@ -432,19 +457,19 @@ export class CustomCursor<
|
|
|
432
457
|
return { x, y, width, height };
|
|
433
458
|
}
|
|
434
459
|
|
|
435
|
-
/**
|
|
460
|
+
/** Enables cursor animation. */
|
|
436
461
|
protected _enable() {
|
|
437
462
|
this.outerElement.classList.remove(this.className('-disabled'));
|
|
438
463
|
this.innerElement.classList.remove(this.className('-disabled'));
|
|
439
464
|
|
|
440
|
-
this.
|
|
465
|
+
this._raf.play();
|
|
441
466
|
}
|
|
442
467
|
|
|
443
|
-
/**
|
|
468
|
+
/** Disables cursor animation. */
|
|
444
469
|
protected _disable() {
|
|
445
470
|
this.outerElement.classList.add(this.className('-disabled'));
|
|
446
471
|
this.innerElement.classList.add(this.className('-disabled'));
|
|
447
472
|
|
|
448
|
-
this.
|
|
473
|
+
this._raf.pause();
|
|
449
474
|
}
|
|
450
475
|
}
|
|
@@ -1,64 +1,99 @@
|
|
|
1
1
|
import { NComponent } from '@/base/Component/types';
|
|
2
2
|
|
|
3
3
|
export namespace NCustomCursor {
|
|
4
|
+
/**
|
|
5
|
+
* Static properties that do not change after initialization.
|
|
6
|
+
*/
|
|
4
7
|
export interface IStaticProps extends NComponent.IStaticProps {
|
|
5
8
|
/**
|
|
6
|
-
*
|
|
9
|
+
* The container where the custom cursor will be active.
|
|
10
|
+
* Can be the `window`, a specific DOM element, or a string selector.
|
|
7
11
|
* @default window
|
|
8
12
|
*/
|
|
9
13
|
container: Window | Element | string;
|
|
14
|
+
|
|
10
15
|
/**
|
|
11
|
-
*
|
|
16
|
+
* Determines whether the native cursor should be hidden.
|
|
12
17
|
* @default false
|
|
13
18
|
*/
|
|
14
19
|
isNativeCursorHidden?: boolean;
|
|
15
20
|
}
|
|
16
21
|
|
|
22
|
+
/**
|
|
23
|
+
* Changeable properties that can be updated dynamically during the lifecycle of the custom cursor.
|
|
24
|
+
*/
|
|
17
25
|
export interface IChangeableProps extends NComponent.IChangeableProps {
|
|
18
26
|
/**
|
|
19
|
-
*
|
|
27
|
+
* Enables or disables the custom cursor.
|
|
20
28
|
* @default true
|
|
21
29
|
*/
|
|
22
30
|
isEnabled?: boolean;
|
|
31
|
+
|
|
23
32
|
/**
|
|
33
|
+
* The width of the custom cursor.
|
|
24
34
|
* @default 50
|
|
25
35
|
*/
|
|
26
36
|
width?: number;
|
|
37
|
+
|
|
27
38
|
/**
|
|
39
|
+
* The height of the custom cursor.
|
|
28
40
|
* @default 50
|
|
29
41
|
*/
|
|
30
42
|
height?: number;
|
|
43
|
+
|
|
31
44
|
/**
|
|
32
|
-
*
|
|
45
|
+
* Linear interpolation factor for smooth cursor movement.
|
|
46
|
+
* A value between `0` and `1` where higher values result in faster movement.
|
|
33
47
|
* @default 0.2
|
|
34
48
|
*/
|
|
35
49
|
lerp?: number;
|
|
50
|
+
|
|
36
51
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
52
|
+
* Normalizes the animation speed across different screens with varying FPS.
|
|
53
|
+
* Ensures consistent movement speed across different devices.
|
|
39
54
|
* @default true
|
|
40
55
|
*/
|
|
41
56
|
isFpsNormalized?: boolean;
|
|
57
|
+
|
|
42
58
|
/**
|
|
43
|
-
* Automatically
|
|
59
|
+
* Automatically stops rendering the cursor once the target coordinates and size
|
|
60
|
+
* approximate the current ones closely enough.
|
|
44
61
|
* @default true
|
|
45
62
|
*/
|
|
46
63
|
shouldAutoStop?: boolean;
|
|
47
64
|
}
|
|
48
65
|
|
|
66
|
+
/**
|
|
67
|
+
* Types of callbacks available for the custom cursor component.
|
|
68
|
+
*/
|
|
49
69
|
export interface ICallbacksTypes extends NComponent.ICallbacksTypes {
|
|
70
|
+
/**
|
|
71
|
+
* Triggered when the custom cursor is created.
|
|
72
|
+
* Provides access to the outer and inner HTML elements of the cursor.
|
|
73
|
+
*/
|
|
50
74
|
create: {
|
|
51
75
|
outerElement: HTMLElement;
|
|
52
76
|
innerElement: HTMLElement;
|
|
53
77
|
};
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Triggered on each render to update the cursor's position.
|
|
81
|
+
* Provides the current x and y coordinates.
|
|
82
|
+
*/
|
|
54
83
|
render: IVector2;
|
|
55
84
|
}
|
|
56
85
|
|
|
86
|
+
/**
|
|
87
|
+
* Represents 2D vector coordinates for cursor position (x, y).
|
|
88
|
+
*/
|
|
57
89
|
export interface IVector2 {
|
|
58
90
|
x: number;
|
|
59
91
|
y: number;
|
|
60
92
|
}
|
|
61
93
|
|
|
94
|
+
/**
|
|
95
|
+
* Describes the cursor’s coordinates and size for rendering.
|
|
96
|
+
*/
|
|
62
97
|
export interface ICoords {
|
|
63
98
|
x: number;
|
|
64
99
|
y: number;
|
|
@@ -66,22 +101,38 @@ export namespace NCustomCursor {
|
|
|
66
101
|
height: number;
|
|
67
102
|
}
|
|
68
103
|
|
|
104
|
+
/**
|
|
105
|
+
* Information about the hovered element, which can affect cursor behavior.
|
|
106
|
+
*/
|
|
69
107
|
export interface IHoveredElement {
|
|
70
|
-
/**
|
|
108
|
+
/**
|
|
109
|
+
* The element currently being hovered over.
|
|
110
|
+
*/
|
|
71
111
|
element: Element;
|
|
72
|
-
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Whether the hover state should "stick" to the element,
|
|
115
|
+
* meaning the cursor remains over the element even after moving away.
|
|
116
|
+
*/
|
|
73
117
|
isSticky?: boolean;
|
|
118
|
+
|
|
74
119
|
/**
|
|
75
|
-
*
|
|
120
|
+
* The target width of the cursor when hovering over this element.
|
|
121
|
+
* Can be set to a specific number, `false` (no change), or `auto`.
|
|
76
122
|
* @default 'auto'
|
|
77
123
|
*/
|
|
78
124
|
width?: false | number | 'auto';
|
|
125
|
+
|
|
79
126
|
/**
|
|
80
|
-
*
|
|
127
|
+
* The target height of the cursor when hovering over this element.
|
|
128
|
+
* Can be set to a specific number, `false` (no change), or `auto`.
|
|
81
129
|
* @default 'auto'
|
|
82
130
|
*/
|
|
83
131
|
height?: false | number | 'auto';
|
|
84
|
-
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Padding around the cursor when hovering over this element.
|
|
135
|
+
*/
|
|
85
136
|
padding?: number;
|
|
86
137
|
}
|
|
87
138
|
}
|
|
@@ -17,7 +17,7 @@ export class AnimationFrame {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
get ease() {
|
|
20
|
-
return this.raf.
|
|
20
|
+
return this.raf.fpsMultiplier;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
private get props() {
|
|
@@ -33,7 +33,7 @@ export class AnimationFrame {
|
|
|
33
33
|
this._event = this.props.raf.addCallback(
|
|
34
34
|
'frame',
|
|
35
35
|
() => this.props.callback(),
|
|
36
|
-
{ name: '
|
|
36
|
+
{ name: 'CustomScroll' },
|
|
37
37
|
);
|
|
38
38
|
}
|
|
39
39
|
|