vevet 3.20.0 → 4.0.0-beta.1
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 +66 -35
- 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 +56 -26
- 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 +46 -13
- 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 +16 -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 +1 -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 +7 -8
- 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 +74 -39
- 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 +22 -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 +16 -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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { selectOne } from 'vevet-dom';
|
|
2
|
-
import type {
|
|
3
|
-
import Bar from './Bar';
|
|
2
|
+
import type { CustomScroll } from '../CustomScroll';
|
|
3
|
+
import { Bar } from './Bar';
|
|
4
4
|
import { NScrollBar } from './types';
|
|
5
5
|
import { Component as ComponentClass } from '@/base/Component';
|
|
6
6
|
import { IBarProps } from './Bar/types';
|
|
@@ -10,7 +10,11 @@ import { getApp } from '@/utils/internal/getApp';
|
|
|
10
10
|
export type { NScrollBar };
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* A custom scroll bar component that can be added to custom or native scroll containers.
|
|
14
|
+
* It supports both horizontal and vertical scroll bars, auto-hide functionality,
|
|
15
|
+
* and drag-to-scroll.
|
|
16
|
+
*
|
|
17
|
+
* @requires Requires styles: `@import '~vevet/lib/styles/components/ScrollBar';`
|
|
14
18
|
*/
|
|
15
19
|
export class ScrollBar<
|
|
16
20
|
StaticProps extends NScrollBar.IStaticProps = NScrollBar.IStaticProps,
|
|
@@ -38,30 +42,17 @@ export class ScrollBar<
|
|
|
38
42
|
}
|
|
39
43
|
|
|
40
44
|
/** Scroll container */
|
|
41
|
-
protected _container: Element | Window |
|
|
45
|
+
protected _container: Element | Window | CustomScroll;
|
|
42
46
|
|
|
43
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* The container element or window where the scroll is applied.
|
|
49
|
+
*/
|
|
44
50
|
get container() {
|
|
45
51
|
return this._container;
|
|
46
52
|
}
|
|
47
53
|
|
|
48
|
-
/** Scrollable element */
|
|
49
|
-
get scrollableElement() {
|
|
50
|
-
const { container } = this;
|
|
51
|
-
|
|
52
|
-
if (container instanceof Window) {
|
|
53
|
-
return getApp().body;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if (container instanceof Element) {
|
|
57
|
-
return container;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return container.container;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
54
|
/**
|
|
64
|
-
*
|
|
55
|
+
* Returns the DOM element where the scroll bars will be appended.
|
|
65
56
|
*/
|
|
66
57
|
get domParent() {
|
|
67
58
|
const { domParent } = this.props;
|
|
@@ -83,12 +74,34 @@ export class ScrollBar<
|
|
|
83
74
|
return container.container;
|
|
84
75
|
}
|
|
85
76
|
|
|
86
|
-
/**
|
|
77
|
+
/**
|
|
78
|
+
* Horizontal scrollbar instance
|
|
79
|
+
* @ignore
|
|
80
|
+
*/
|
|
87
81
|
protected _xBar: Bar;
|
|
88
82
|
|
|
89
|
-
/**
|
|
83
|
+
/**
|
|
84
|
+
* Returns the horizontal scroll bar instance.
|
|
85
|
+
* @ignore
|
|
86
|
+
*/
|
|
87
|
+
get xBar() {
|
|
88
|
+
return this._xBar;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Vertical scrollbar instance
|
|
93
|
+
* @ignore
|
|
94
|
+
*/
|
|
90
95
|
protected _yBar: Bar;
|
|
91
96
|
|
|
97
|
+
/**
|
|
98
|
+
* Returns the vertical scroll bar instance.
|
|
99
|
+
* @ignore
|
|
100
|
+
*/
|
|
101
|
+
get yBar() {
|
|
102
|
+
return this._yBar;
|
|
103
|
+
}
|
|
104
|
+
|
|
92
105
|
constructor(initialProps?: StaticProps & ChangeableProps, canInit = true) {
|
|
93
106
|
super(initialProps, false);
|
|
94
107
|
|
|
@@ -100,7 +113,7 @@ export class ScrollBar<
|
|
|
100
113
|
if (element) {
|
|
101
114
|
this._container = element;
|
|
102
115
|
} else {
|
|
103
|
-
throw new Error('No scroll container');
|
|
116
|
+
throw new Error('No scroll container found');
|
|
104
117
|
}
|
|
105
118
|
} else {
|
|
106
119
|
this._container = container as any;
|
|
@@ -113,21 +126,30 @@ export class ScrollBar<
|
|
|
113
126
|
domParent: this.domParent,
|
|
114
127
|
prefix: this.prefix,
|
|
115
128
|
};
|
|
129
|
+
|
|
116
130
|
this._xBar = new Bar({
|
|
117
131
|
...barProps,
|
|
118
132
|
direction: 'x',
|
|
119
133
|
});
|
|
134
|
+
|
|
120
135
|
this._yBar = new Bar({
|
|
121
136
|
...barProps,
|
|
122
137
|
direction: 'y',
|
|
123
138
|
});
|
|
124
139
|
|
|
125
140
|
// add classnames
|
|
126
|
-
this.
|
|
127
|
-
this.
|
|
128
|
-
this.className('-parent'),
|
|
129
|
-
|
|
130
|
-
|
|
141
|
+
if (this.container instanceof Window) {
|
|
142
|
+
this.toggleClassName(getApp().html, this.className('-parent'), true);
|
|
143
|
+
this.toggleClassName(getApp().body, this.className('-parent'), true);
|
|
144
|
+
} else if (this.container instanceof Element) {
|
|
145
|
+
this.toggleClassName(this.container, this.className('-parent'), true);
|
|
146
|
+
} else {
|
|
147
|
+
this.toggleClassName(
|
|
148
|
+
this.container.container,
|
|
149
|
+
this.className('-parent'),
|
|
150
|
+
true,
|
|
151
|
+
);
|
|
152
|
+
}
|
|
131
153
|
|
|
132
154
|
// initialize the class
|
|
133
155
|
if (canInit) {
|
|
@@ -135,28 +157,33 @@ export class ScrollBar<
|
|
|
135
157
|
}
|
|
136
158
|
}
|
|
137
159
|
|
|
160
|
+
/**
|
|
161
|
+
* Initializes the ScrollBar component.
|
|
162
|
+
*/
|
|
138
163
|
protected _init() {
|
|
139
164
|
super._init();
|
|
140
165
|
|
|
141
166
|
this._setEvents();
|
|
142
167
|
}
|
|
143
168
|
|
|
144
|
-
|
|
169
|
+
/**
|
|
170
|
+
* Sets event listeners for the component.
|
|
171
|
+
*/
|
|
145
172
|
protected _setEvents() {
|
|
146
173
|
const { container, props } = this;
|
|
147
174
|
|
|
148
175
|
// default resize handler
|
|
149
176
|
const resizeHandler = onResize({
|
|
150
177
|
onResize: () => this.resize(),
|
|
151
|
-
element: [this.
|
|
178
|
+
element: [this.xBar.outer, this.yBar.outer],
|
|
152
179
|
viewportTarget: 'any',
|
|
153
180
|
hasBothEvents: true,
|
|
154
181
|
resizeDebounce: props.resizeDebounce,
|
|
155
182
|
});
|
|
156
183
|
|
|
157
|
-
// resize for
|
|
158
|
-
const
|
|
159
|
-
'
|
|
184
|
+
// resize for custom scroll
|
|
185
|
+
const scrollResize =
|
|
186
|
+
'isCustomScroll' in container
|
|
160
187
|
? container.addCallback(
|
|
161
188
|
'resize',
|
|
162
189
|
() => resizeHandler.debounceResize(),
|
|
@@ -166,25 +193,33 @@ export class ScrollBar<
|
|
|
166
193
|
|
|
167
194
|
this.addDestroyableAction(() => {
|
|
168
195
|
resizeHandler.remove();
|
|
169
|
-
|
|
196
|
+
scrollResize?.remove();
|
|
170
197
|
});
|
|
171
198
|
|
|
172
199
|
// initial resize
|
|
173
200
|
resizeHandler.resize();
|
|
174
201
|
}
|
|
175
202
|
|
|
203
|
+
/**
|
|
204
|
+
* Handles the mutation of the properties and updates the component accordingly.
|
|
205
|
+
*/
|
|
176
206
|
protected _onPropsMutate() {
|
|
177
207
|
super._onPropsMutate();
|
|
208
|
+
|
|
178
209
|
this.resize();
|
|
179
210
|
}
|
|
180
211
|
|
|
181
|
-
/**
|
|
212
|
+
/**
|
|
213
|
+
* Resizes the scene and updates the scroll bars.
|
|
214
|
+
*/
|
|
182
215
|
public resize() {
|
|
183
|
-
this.
|
|
184
|
-
this.
|
|
216
|
+
this.xBar.resize();
|
|
217
|
+
this.yBar.resize();
|
|
185
218
|
}
|
|
186
219
|
|
|
187
|
-
/**
|
|
220
|
+
/**
|
|
221
|
+
* Destroys the scroll bar component and cleans up.
|
|
222
|
+
*/
|
|
188
223
|
protected _destroy() {
|
|
189
224
|
super._destroy();
|
|
190
225
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React, { FC, useEffect, useRef } from 'react';
|
|
2
2
|
import { times } from '@/utils/common';
|
|
3
|
-
import {
|
|
3
|
+
import { CustomScroll } from '@/components/CustomScroll';
|
|
4
4
|
import { ScrollBar } from '..';
|
|
5
5
|
|
|
6
|
-
export const
|
|
6
|
+
export const WithCustomScrollComponent: FC = () => {
|
|
7
7
|
const containerRef = useRef<HTMLDivElement>(null);
|
|
8
8
|
|
|
9
9
|
useEffect(() => {
|
|
@@ -11,7 +11,7 @@ export const WithSmoothScrollComponent: FC = () => {
|
|
|
11
11
|
return undefined;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
const scroll = new
|
|
14
|
+
const scroll = new CustomScroll({
|
|
15
15
|
container: containerRef.current,
|
|
16
16
|
});
|
|
17
17
|
|
|
@@ -28,10 +28,10 @@ export const WithSmoothScrollComponent: FC = () => {
|
|
|
28
28
|
return (
|
|
29
29
|
<div
|
|
30
30
|
ref={containerRef}
|
|
31
|
-
className="v-
|
|
31
|
+
className="v-custom-scroll"
|
|
32
32
|
style={{ height: 500, maxWidth: 500, backgroundColor: '#eee' }}
|
|
33
33
|
>
|
|
34
|
-
<div className="v-
|
|
34
|
+
<div className="v-custom-scroll__wrapper">
|
|
35
35
|
{times(
|
|
36
36
|
(index) => (
|
|
37
37
|
<div key={index}>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Meta, StoryFn } from '@storybook/react';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { WithCustomScrollComponent } from './WithCustomScrollComponent';
|
|
4
4
|
import { WithInnerScrollComponent } from './WithInnerScroll';
|
|
5
5
|
import { WithDefaultComponent } from './Default';
|
|
6
6
|
|
|
@@ -14,9 +14,9 @@ export const Default: StoryFn<typeof WithDefaultComponent> = (props) => (
|
|
|
14
14
|
<WithDefaultComponent {...props} />
|
|
15
15
|
);
|
|
16
16
|
|
|
17
|
-
export const
|
|
17
|
+
export const WithCustomScroll: StoryFn<typeof WithCustomScrollComponent> = (
|
|
18
18
|
props,
|
|
19
|
-
) => <
|
|
19
|
+
) => <WithCustomScrollComponent {...props} />;
|
|
20
20
|
|
|
21
21
|
export const WithInnerScroll: StoryFn<typeof WithInnerScrollComponent> = (
|
|
22
22
|
props,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NComponent } from '@/base/Component/types';
|
|
2
|
-
import type {
|
|
2
|
+
import type { CustomScroll } from '../CustomScroll';
|
|
3
3
|
import { IBarProps } from './Bar/types';
|
|
4
4
|
|
|
5
5
|
type TPickedProps =
|
|
@@ -14,18 +14,22 @@ export namespace NScrollBar {
|
|
|
14
14
|
extends NComponent.IStaticProps,
|
|
15
15
|
Partial<Pick<IBarProps, TPickedProps>> {
|
|
16
16
|
/**
|
|
17
|
-
* The scrollable element
|
|
17
|
+
* The scrollable element to which the scroll bar will be applied.
|
|
18
|
+
* Can be the window, a custom scroll instance, or an HTML element.
|
|
18
19
|
* @default window
|
|
19
20
|
*/
|
|
20
|
-
container?: Window |
|
|
21
|
+
container?: Window | CustomScroll | Element | string;
|
|
22
|
+
|
|
21
23
|
/**
|
|
22
|
-
* The element
|
|
23
|
-
* If false
|
|
24
|
+
* The element where the scroll bars will be rendered.
|
|
25
|
+
* If `false`, the scroll bar will be appended to the `container`.
|
|
24
26
|
* @default false
|
|
25
27
|
*/
|
|
26
28
|
domParent?: false | Element;
|
|
29
|
+
|
|
27
30
|
/**
|
|
28
|
-
* Timeout
|
|
31
|
+
* Timeout value (in milliseconds) to debounce the resize event.
|
|
32
|
+
* This helps avoid multiple rapid invocations of resize handling.
|
|
29
33
|
* @default 16
|
|
30
34
|
*/
|
|
31
35
|
resizeDebounce?: number;
|
|
@@ -9,7 +9,9 @@ import { getApp } from '@/utils/internal/getApp';
|
|
|
9
9
|
export type { NScrollView };
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* `ScrollView` detects when elements enter or leave the viewport.
|
|
13
|
+
* It uses the `IntersectionObserver` API for efficient detection and triggers events when elements are visible or hidden.
|
|
14
|
+
* Supports adding custom delay and class toggling when elements are in view.
|
|
13
15
|
*/
|
|
14
16
|
export class ScrollView<
|
|
15
17
|
StaticProps extends NScrollView.IStaticProps = NScrollView.IStaticProps,
|
|
@@ -34,31 +36,45 @@ export class ScrollView<
|
|
|
34
36
|
};
|
|
35
37
|
}
|
|
36
38
|
|
|
37
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Intersection observer for detecting when elements come into view.
|
|
41
|
+
*/
|
|
38
42
|
protected _intersectionObserverIn?: IntersectionObserver;
|
|
39
43
|
|
|
40
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* Intersection observer for detecting when elements leave the view.
|
|
46
|
+
*/
|
|
41
47
|
protected _intersectionObserverOut?: IntersectionObserver;
|
|
42
48
|
|
|
43
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* Tracks if this is the first time the elements are being observed.
|
|
51
|
+
*/
|
|
44
52
|
protected _isFirstStart: boolean;
|
|
45
53
|
|
|
46
|
-
/**
|
|
54
|
+
/**
|
|
55
|
+
* Returns whether this is the first start of observing elements.
|
|
56
|
+
*/
|
|
47
57
|
get isFirstStart() {
|
|
48
58
|
return this._isFirstStart;
|
|
49
59
|
}
|
|
50
60
|
|
|
51
|
-
/**
|
|
61
|
+
/**
|
|
62
|
+
* Stores the elements being observed for entering and leaving the viewport.
|
|
63
|
+
*/
|
|
52
64
|
protected _elements: NScrollView.IElement[];
|
|
53
65
|
|
|
54
|
-
/**
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
/** Elements */
|
|
66
|
+
/**
|
|
67
|
+
* Returns the elements being observed by the `ScrollView`.
|
|
68
|
+
*/
|
|
58
69
|
get elements() {
|
|
59
70
|
return this._elements;
|
|
60
71
|
}
|
|
61
72
|
|
|
73
|
+
/**
|
|
74
|
+
* Indicates whether the `IntersectionObserver` API is supported in the current environment.
|
|
75
|
+
*/
|
|
76
|
+
protected _isIntersectionObserverSupported: boolean;
|
|
77
|
+
|
|
62
78
|
constructor(initialProps?: StaticProps & ChangeableProps, canInit = true) {
|
|
63
79
|
super(initialProps, false);
|
|
64
80
|
|
|
@@ -66,7 +82,7 @@ export class ScrollView<
|
|
|
66
82
|
this._elements = [];
|
|
67
83
|
this._isIntersectionObserverSupported = isIntersectionObserverSupported();
|
|
68
84
|
|
|
69
|
-
// initialize the class
|
|
85
|
+
// initialize the class if requested
|
|
70
86
|
if (canInit) {
|
|
71
87
|
this.init();
|
|
72
88
|
}
|
|
@@ -84,18 +100,23 @@ export class ScrollView<
|
|
|
84
100
|
this.resize();
|
|
85
101
|
}
|
|
86
102
|
|
|
87
|
-
/**
|
|
103
|
+
/**
|
|
104
|
+
* Sets up the events needed for viewport resizing and element observation.
|
|
105
|
+
*/
|
|
88
106
|
protected _setEvents() {
|
|
89
107
|
const { viewportTarget, resizeDebounce } = this.props;
|
|
90
108
|
|
|
91
109
|
this.resize();
|
|
92
110
|
|
|
111
|
+
// Set up a viewport callback to trigger the resize method
|
|
93
112
|
this.addViewportCallback(viewportTarget, () => this.resize(), {
|
|
94
113
|
timeout: resizeDebounce,
|
|
95
114
|
});
|
|
96
115
|
}
|
|
97
116
|
|
|
98
|
-
/**
|
|
117
|
+
/**
|
|
118
|
+
* Triggers a resize event to update the `ScrollView` tracking of elements.
|
|
119
|
+
*/
|
|
99
120
|
public resize() {
|
|
100
121
|
this._removeViewEvents();
|
|
101
122
|
|
|
@@ -104,7 +125,9 @@ export class ScrollView<
|
|
|
104
125
|
}
|
|
105
126
|
}
|
|
106
127
|
|
|
107
|
-
/**
|
|
128
|
+
/**
|
|
129
|
+
* Returns the bounding rectangle for the root element or the viewport.
|
|
130
|
+
*/
|
|
108
131
|
protected get rootBounding() {
|
|
109
132
|
const { props } = this;
|
|
110
133
|
|
|
@@ -129,7 +152,9 @@ export class ScrollView<
|
|
|
129
152
|
};
|
|
130
153
|
}
|
|
131
154
|
|
|
132
|
-
/**
|
|
155
|
+
/**
|
|
156
|
+
* Sets up the `IntersectionObserver` to detect when elements come into view.
|
|
157
|
+
*/
|
|
133
158
|
protected _setViewEvents() {
|
|
134
159
|
if (!this._isIntersectionObserverSupported) {
|
|
135
160
|
return;
|
|
@@ -137,6 +162,7 @@ export class ScrollView<
|
|
|
137
162
|
|
|
138
163
|
const { rootBounding, isFirstStart, props } = this;
|
|
139
164
|
|
|
165
|
+
// Calculate margins for intersection detection
|
|
140
166
|
const xMargin = isFirstStart
|
|
141
167
|
? 0
|
|
142
168
|
: rootBounding.width * props.rootMargin * -1;
|
|
@@ -174,7 +200,9 @@ export class ScrollView<
|
|
|
174
200
|
}
|
|
175
201
|
}
|
|
176
202
|
|
|
177
|
-
/**
|
|
203
|
+
/**
|
|
204
|
+
* Removes the view observation events by disconnecting the `IntersectionObserver`.
|
|
205
|
+
*/
|
|
178
206
|
protected _removeViewEvents() {
|
|
179
207
|
this._intersectionObserverIn?.disconnect();
|
|
180
208
|
this._intersectionObserverIn = undefined;
|
|
@@ -183,7 +211,11 @@ export class ScrollView<
|
|
|
183
211
|
this._intersectionObserverOut = undefined;
|
|
184
212
|
}
|
|
185
213
|
|
|
186
|
-
/**
|
|
214
|
+
/**
|
|
215
|
+
* Handles when elements come into the viewport.
|
|
216
|
+
*
|
|
217
|
+
* @param data - The intersection data for the observed elements.
|
|
218
|
+
*/
|
|
187
219
|
protected _handleIntersectionIn(data: IntersectionObserverEntry[]) {
|
|
188
220
|
data.forEach((entry) => {
|
|
189
221
|
if (!entry.isIntersecting) {
|
|
@@ -200,7 +232,7 @@ export class ScrollView<
|
|
|
200
232
|
}
|
|
201
233
|
});
|
|
202
234
|
|
|
203
|
-
//
|
|
235
|
+
// Mark first start complete and trigger resize
|
|
204
236
|
if (this.isFirstStart) {
|
|
205
237
|
this._isFirstStart = false;
|
|
206
238
|
this.resize();
|
|
@@ -228,7 +260,11 @@ export class ScrollView<
|
|
|
228
260
|
return progress * props.maxDelay;
|
|
229
261
|
}
|
|
230
262
|
|
|
231
|
-
/**
|
|
263
|
+
/**
|
|
264
|
+
* Handles when elements leave the viewport.
|
|
265
|
+
*
|
|
266
|
+
* @param data - The intersection data for the observed elements.
|
|
267
|
+
*/
|
|
232
268
|
protected _handleIntersectionOut(data: IntersectionObserverEntry[]) {
|
|
233
269
|
data.forEach((entry) => {
|
|
234
270
|
if (entry.isIntersecting) {
|
|
@@ -241,7 +277,7 @@ export class ScrollView<
|
|
|
241
277
|
}
|
|
242
278
|
|
|
243
279
|
/**
|
|
244
|
-
*
|
|
280
|
+
* Toggles classes and triggers callbacks when elements enter or leave the viewport.
|
|
245
281
|
*/
|
|
246
282
|
protected _handleInOut(
|
|
247
283
|
elementProp: NScrollView.IElement,
|
|
@@ -258,17 +294,17 @@ export class ScrollView<
|
|
|
258
294
|
return;
|
|
259
295
|
}
|
|
260
296
|
|
|
261
|
-
//
|
|
297
|
+
// Update element's viewport state
|
|
262
298
|
element.isScrollViewIn = isInViewport;
|
|
263
299
|
|
|
264
|
-
//
|
|
300
|
+
// Toggle class for the element
|
|
265
301
|
if (classToToggle) {
|
|
266
302
|
normalizedTimeoutCallback(() => {
|
|
267
303
|
element.classList.toggle(classToToggle, isInViewport);
|
|
268
304
|
}, delay);
|
|
269
305
|
}
|
|
270
306
|
|
|
271
|
-
//
|
|
307
|
+
// Trigger appropriate callback
|
|
272
308
|
if (isInViewport) {
|
|
273
309
|
normalizedTimeoutCallback(() => {
|
|
274
310
|
this.callbacks.tbt('in', { element });
|
|
@@ -280,7 +316,9 @@ export class ScrollView<
|
|
|
280
316
|
}
|
|
281
317
|
}
|
|
282
318
|
|
|
283
|
-
/**
|
|
319
|
+
/**
|
|
320
|
+
* Adds an element to the observer list and starts tracking its visibility in the viewport.
|
|
321
|
+
*/
|
|
284
322
|
public addElement(elementProp: Element): IRemovable {
|
|
285
323
|
const element = elementProp as NScrollView.IElement;
|
|
286
324
|
|
|
@@ -300,7 +338,11 @@ export class ScrollView<
|
|
|
300
338
|
};
|
|
301
339
|
}
|
|
302
340
|
|
|
303
|
-
/**
|
|
341
|
+
/**
|
|
342
|
+
* Stops observing an element and removes it from the observer list.
|
|
343
|
+
*
|
|
344
|
+
* @param {Element} elementProp - The element to stop observing.
|
|
345
|
+
*/
|
|
304
346
|
public removeElement(elementProp: Element) {
|
|
305
347
|
const element = elementProp as NScrollView.IElement;
|
|
306
348
|
|
|
@@ -311,13 +353,17 @@ export class ScrollView<
|
|
|
311
353
|
this._elements = this._elements.filter((el) => el !== element);
|
|
312
354
|
}
|
|
313
355
|
|
|
314
|
-
/**
|
|
356
|
+
/**
|
|
357
|
+
* Stops observing all elements and clears the observer list.
|
|
358
|
+
*/
|
|
315
359
|
public removeElements() {
|
|
316
360
|
this._elements.forEach((element) => this.removeElement(element));
|
|
317
361
|
this._elements = [];
|
|
318
362
|
}
|
|
319
363
|
|
|
320
|
-
/**
|
|
364
|
+
/**
|
|
365
|
+
* Destroys the `ScrollView` and disconnects all observers and listeners.
|
|
366
|
+
*/
|
|
321
367
|
protected _destroy() {
|
|
322
368
|
super._destroy();
|
|
323
369
|
|
|
@@ -11,7 +11,7 @@ export const Component: FC = () => {
|
|
|
11
11
|
return undefined;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
const instance = new ScrollView();
|
|
14
|
+
const instance = new ScrollView({ states: 'inout' });
|
|
15
15
|
|
|
16
16
|
const elements = containerRef.current.querySelectorAll('*');
|
|
17
17
|
elements.forEach((element) => instance.addElement(element));
|
|
@@ -35,7 +35,10 @@ export const Component: FC = () => {
|
|
|
35
35
|
<div ref={containerRef}>
|
|
36
36
|
{times(
|
|
37
37
|
(index) => (
|
|
38
|
-
<div
|
|
38
|
+
<div
|
|
39
|
+
key={index}
|
|
40
|
+
style={{ marginTop: 10, opacity: 0, transition: 'opacity 0.35s' }}
|
|
41
|
+
>
|
|
39
42
|
{index} Lorem ipsum dolor sit amet consectetur adipisicing elit.
|
|
40
43
|
</div>
|
|
41
44
|
),
|