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
|
@@ -3,53 +3,87 @@ import { DraggerMove } from '../../DraggerMove';
|
|
|
3
3
|
import { onScroll } from '../../../utils/scroll/onScroll';
|
|
4
4
|
import { clamp } from '../../../utils/math';
|
|
5
5
|
import { getScrollValues } from '../../../utils/scroll';
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Represents a custom scroll bar with a draggable thumb.
|
|
8
|
+
*/
|
|
9
|
+
export class Bar {
|
|
10
|
+
/**
|
|
11
|
+
* Gets the outer container of the scroll bar.
|
|
12
|
+
*/
|
|
7
13
|
get outer() {
|
|
8
14
|
return this._outer;
|
|
9
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Gets the thumb element of the scroll bar.
|
|
18
|
+
*/
|
|
10
19
|
get thumb() {
|
|
11
20
|
return this._thumb;
|
|
12
21
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Determines if the scroll bar is horizontal.
|
|
24
|
+
*/
|
|
16
25
|
get isHorizontal() {
|
|
17
26
|
return this.props.direction === 'x';
|
|
18
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Determines if the scroll bar is vertical.
|
|
30
|
+
*/
|
|
19
31
|
get isVertical() {
|
|
20
32
|
return !this.isHorizontal;
|
|
21
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Gets the scrollable element.
|
|
36
|
+
*/
|
|
22
37
|
get scrollElement() {
|
|
23
38
|
return this.props.container instanceof Window
|
|
24
39
|
? document.documentElement
|
|
25
40
|
: this.props.container;
|
|
26
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Gets the total scrollable distance (scroll line) for the scroll bar.
|
|
44
|
+
*/
|
|
27
45
|
get scrollLine() {
|
|
28
46
|
const { scrollElement } = this;
|
|
29
47
|
return this.isHorizontal
|
|
30
48
|
? scrollElement.scrollWidth - scrollElement.clientWidth
|
|
31
49
|
: scrollElement.scrollHeight - scrollElement.clientHeight;
|
|
32
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Gets the total width of the scrollable element.
|
|
53
|
+
*/
|
|
33
54
|
get scrollWidth() {
|
|
34
55
|
return this.scrollElement.scrollWidth;
|
|
35
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Gets the total height of the scrollable element.
|
|
59
|
+
*/
|
|
36
60
|
get scrollHeight() {
|
|
37
61
|
return this.scrollElement.scrollHeight;
|
|
38
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Gets the scroll bar properties.
|
|
65
|
+
*/
|
|
39
66
|
get props() {
|
|
40
67
|
return this._props;
|
|
41
68
|
}
|
|
42
69
|
constructor(_props) {
|
|
43
70
|
this._props = _props;
|
|
44
|
-
|
|
45
|
-
// set default vars
|
|
71
|
+
/** The outer height of the scroll bar container */
|
|
46
72
|
this._outerHeight = 0;
|
|
73
|
+
/** The outer width of the scroll bar container */
|
|
47
74
|
this._outerWidth = 0;
|
|
75
|
+
/** The thumb's height */
|
|
48
76
|
this._thumbHeight = 0;
|
|
77
|
+
/** The thumb's width */
|
|
49
78
|
this._thumbWidth = 0;
|
|
79
|
+
/** Stores the previous scroll value for comparison */
|
|
50
80
|
this._prevScrollValue = 0;
|
|
81
|
+
/** Stores the coordinates of the scroll element at the start of dragging */
|
|
51
82
|
this._coordsAtDragStart = { scrollLeft: 0, scrollTop: 0 };
|
|
52
|
-
|
|
83
|
+
/** Stores the list of event listeners */
|
|
84
|
+
this._listeners = [];
|
|
85
|
+
const { direction, domParent, container, canAutoHide } = _props;
|
|
86
|
+
// Create the outer scroll bar container
|
|
53
87
|
const outer = document.createElement('div');
|
|
54
88
|
this._outer = outer;
|
|
55
89
|
outer.classList.add(this.className(''));
|
|
@@ -59,30 +93,36 @@ export default class Bar {
|
|
|
59
93
|
}
|
|
60
94
|
outer.classList.toggle(this.className('_auto-hide'), canAutoHide);
|
|
61
95
|
domParent.append(outer);
|
|
62
|
-
//
|
|
96
|
+
// Create the thumb for the scroll bar
|
|
63
97
|
const thumb = document.createElement('div');
|
|
64
98
|
this._thumb = thumb;
|
|
65
99
|
thumb.classList.add(this.className('__thumb'));
|
|
66
100
|
thumb.classList.add(this.className(`__thumb_${direction}`));
|
|
67
101
|
outer.append(thumb);
|
|
68
|
-
//
|
|
102
|
+
// Set events for the scroll bar
|
|
69
103
|
this._setEvents();
|
|
70
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Generates the scroll bar's class name based on the prefix and value.
|
|
107
|
+
* @param value - The suffix to add to the prefix for the class name.
|
|
108
|
+
*/
|
|
71
109
|
className(value) {
|
|
72
110
|
return `${this.props.prefix}${value}`;
|
|
73
111
|
}
|
|
74
|
-
/**
|
|
112
|
+
/**
|
|
113
|
+
* Sets the necessary events for the scroll bar, such as hover and scroll events.
|
|
114
|
+
*/
|
|
75
115
|
_setEvents() {
|
|
76
|
-
if (!this._listeners) {
|
|
77
|
-
this._listeners = [];
|
|
78
|
-
}
|
|
79
116
|
const { outer, thumb, props } = this;
|
|
117
|
+
// Add hover events for the outer container
|
|
80
118
|
this._listeners.push(addEventListener(outer, 'mouseenter', () => this._handleHover(true)));
|
|
81
119
|
this._listeners.push(addEventListener(outer, 'mouseleave', () => this._handleHover(false)));
|
|
120
|
+
// Add scroll event for the container
|
|
82
121
|
this._scrollEvent = onScroll({
|
|
83
122
|
container: props.container,
|
|
84
123
|
callback: (data) => this._handleScroll(data),
|
|
85
124
|
});
|
|
125
|
+
// Set drag events if the scroll bar is draggable
|
|
86
126
|
if (this.props.isDraggable) {
|
|
87
127
|
this._dragger = new DraggerMove({ container: thumb });
|
|
88
128
|
this._dragger.addCallback('start', () => {
|
|
@@ -91,22 +131,30 @@ export default class Bar {
|
|
|
91
131
|
this._dragger.addCallback('move', (data) => this._handleThumbDrag(data));
|
|
92
132
|
}
|
|
93
133
|
}
|
|
94
|
-
/**
|
|
134
|
+
/**
|
|
135
|
+
* Removes all the event listeners for the scroll bar.
|
|
136
|
+
*/
|
|
95
137
|
_removeEvents() {
|
|
96
138
|
var _a, _b, _c;
|
|
97
139
|
(_a = this._listeners) === null || _a === void 0 ? void 0 : _a.forEach((listener) => listener.remove());
|
|
98
140
|
(_b = this._scrollEvent) === null || _b === void 0 ? void 0 : _b.remove();
|
|
99
141
|
(_c = this._dragger) === null || _c === void 0 ? void 0 : _c.destroy();
|
|
100
142
|
}
|
|
101
|
-
/**
|
|
143
|
+
/**
|
|
144
|
+
* Handles the hover state of the scroll bar.
|
|
145
|
+
* @param isHovered - Whether the scroll bar is hovered or not.
|
|
146
|
+
*/
|
|
102
147
|
_handleHover(isHovered) {
|
|
103
148
|
const className = this.className('_is-hovered');
|
|
104
149
|
this.outer.classList.toggle(className, isHovered);
|
|
105
150
|
}
|
|
106
|
-
/**
|
|
151
|
+
/**
|
|
152
|
+
* Handles the scroll event by updating the thumb position and auto-hide behavior.
|
|
153
|
+
* @param param - The scroll position of the container.
|
|
154
|
+
*/
|
|
107
155
|
_handleScroll({ scrollLeft, scrollTop }) {
|
|
108
156
|
let hasChanged = false;
|
|
109
|
-
//
|
|
157
|
+
// Check if changes happened
|
|
110
158
|
if (this.isHorizontal) {
|
|
111
159
|
hasChanged = scrollLeft !== this._prevScrollValue;
|
|
112
160
|
this._prevScrollValue = scrollLeft;
|
|
@@ -115,11 +163,11 @@ export default class Bar {
|
|
|
115
163
|
hasChanged = scrollTop !== this._prevScrollValue;
|
|
116
164
|
this._prevScrollValue = scrollTop;
|
|
117
165
|
}
|
|
118
|
-
//
|
|
166
|
+
// If no changes, return early
|
|
119
167
|
if (!hasChanged) {
|
|
120
168
|
return;
|
|
121
169
|
}
|
|
122
|
-
//
|
|
170
|
+
// Handle auto-hide behavior
|
|
123
171
|
if (this.props.canAutoHide && hasChanged) {
|
|
124
172
|
const actionClassName = this.className('_in-action');
|
|
125
173
|
this.outer.classList.add(actionClassName);
|
|
@@ -128,20 +176,22 @@ export default class Bar {
|
|
|
128
176
|
}
|
|
129
177
|
this._actionTimeout = setTimeout(() => this.outer.classList.remove(actionClassName), 500);
|
|
130
178
|
}
|
|
131
|
-
//
|
|
179
|
+
// Render the thumb
|
|
132
180
|
this._renderThumb();
|
|
133
181
|
}
|
|
134
|
-
/**
|
|
182
|
+
/**
|
|
183
|
+
* Handles the thumb dragging event by calculating new scroll values based on the drag movement.
|
|
184
|
+
* @param param - The drag event data.
|
|
185
|
+
*/
|
|
135
186
|
_handleThumbDrag({ event, coords, start, }) {
|
|
136
187
|
event.preventDefault();
|
|
137
188
|
const { scrollLine } = this;
|
|
138
189
|
const { container } = this.props;
|
|
139
|
-
//
|
|
190
|
+
// Calculate new scroll values based on the drag movement
|
|
140
191
|
const leftIterator = ((coords.x - start.x) / (this._outerWidth - this._thumbWidth)) *
|
|
141
192
|
scrollLine;
|
|
142
193
|
const topIterator = ((coords.y - start.y) / (this._outerHeight - this._thumbHeight)) *
|
|
143
194
|
scrollLine;
|
|
144
|
-
// calculate new scroll values
|
|
145
195
|
let { scrollLeft, scrollTop } = this._coordsAtDragStart;
|
|
146
196
|
if (this.isHorizontal) {
|
|
147
197
|
scrollLeft += leftIterator;
|
|
@@ -149,16 +199,18 @@ export default class Bar {
|
|
|
149
199
|
else {
|
|
150
200
|
scrollTop += topIterator;
|
|
151
201
|
}
|
|
152
|
-
//
|
|
202
|
+
// Apply new scroll values
|
|
153
203
|
container.scrollTo({
|
|
154
204
|
top: scrollTop,
|
|
155
205
|
left: scrollLeft,
|
|
156
|
-
behavior: '
|
|
206
|
+
behavior: 'isCustomScroll' in this.props.container
|
|
157
207
|
? this.props.scrollBehavior
|
|
158
208
|
: 'auto',
|
|
159
209
|
});
|
|
160
210
|
}
|
|
161
|
-
/**
|
|
211
|
+
/**
|
|
212
|
+
* Renders the thumb position based on the current scroll position.
|
|
213
|
+
*/
|
|
162
214
|
_renderThumb() {
|
|
163
215
|
const progress = clamp(this._prevScrollValue / this.scrollLine, [0, 1]);
|
|
164
216
|
const x = this.isHorizontal
|
|
@@ -169,16 +221,18 @@ export default class Bar {
|
|
|
169
221
|
: 0;
|
|
170
222
|
this._thumb.style.transform = `translate(${x}px, ${y}px)`;
|
|
171
223
|
}
|
|
172
|
-
/**
|
|
224
|
+
/**
|
|
225
|
+
* Resizes the scroll bar by recalculating the thumb and outer container sizes.
|
|
226
|
+
*/
|
|
173
227
|
resize() {
|
|
174
228
|
const { outer, thumb, scrollLine, scrollWidth, scrollHeight, isHorizontal, } = this;
|
|
175
229
|
const { minSize, shouldAutoSize } = this.props;
|
|
176
|
-
//
|
|
230
|
+
// Define if the scrollbar is empty
|
|
177
231
|
outer.classList.toggle(this.className('_is-empty'), scrollLine === 0);
|
|
178
|
-
//
|
|
232
|
+
// Get outer sizes
|
|
179
233
|
this._outerHeight = outer.clientHeight;
|
|
180
234
|
this._outerWidth = outer.clientWidth;
|
|
181
|
-
//
|
|
235
|
+
// Calculate thumb sizes if auto-size is enabled
|
|
182
236
|
if (shouldAutoSize) {
|
|
183
237
|
if (isHorizontal) {
|
|
184
238
|
const barSize = clamp(this._outerWidth / (scrollWidth / (scrollWidth - scrollLine)), [minSize, Infinity]);
|
|
@@ -189,12 +243,15 @@ export default class Bar {
|
|
|
189
243
|
thumb.style.height = `${barSize}px`;
|
|
190
244
|
}
|
|
191
245
|
}
|
|
192
|
-
//
|
|
246
|
+
// Get thumb sizes
|
|
193
247
|
this._thumbHeight = thumb.clientHeight;
|
|
194
248
|
this._thumbWidth = thumb.clientWidth;
|
|
195
|
-
//
|
|
249
|
+
// Render the thumb position
|
|
196
250
|
this._renderThumb();
|
|
197
251
|
}
|
|
252
|
+
/**
|
|
253
|
+
* Destroys the scroll bar by removing events and clearing timeouts.
|
|
254
|
+
*/
|
|
198
255
|
destroy() {
|
|
199
256
|
this._removeEvents();
|
|
200
257
|
if (this._actionTimeout) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/ScrollBar/Bar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGhE,OAAO,EAAE,WAAW,EAAgB,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAA8B,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/ScrollBar/Bar/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { selectOne } from 'vevet-dom';
|
|
2
|
-
import Bar from './Bar';
|
|
2
|
+
import { Bar } from './Bar';
|
|
3
3
|
import { Component as ComponentClass } from '../../base/Component';
|
|
4
4
|
import { onResize } from '../../utils/listeners/onResize';
|
|
5
5
|
import { getApp } from '../../utils/internal/getApp';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* A custom scroll bar component that can be added to custom or native scroll containers.
|
|
8
|
+
* It supports both horizontal and vertical scroll bars, auto-hide functionality,
|
|
9
|
+
* and drag-to-scroll.
|
|
10
|
+
*
|
|
11
|
+
* @requires Requires styles: `@import '~vevet/lib/styles/components/ScrollBar';`
|
|
8
12
|
*/
|
|
9
13
|
export class ScrollBar extends ComponentClass {
|
|
10
14
|
_getDefaultProps() {
|
|
@@ -13,11 +17,15 @@ export class ScrollBar extends ComponentClass {
|
|
|
13
17
|
get prefix() {
|
|
14
18
|
return `${getApp().prefix}scrollbar`;
|
|
15
19
|
}
|
|
16
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* The container element or window where the scroll is applied.
|
|
22
|
+
*/
|
|
17
23
|
get container() {
|
|
18
24
|
return this._container;
|
|
19
25
|
}
|
|
20
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* Returns the scrollable element within the container.
|
|
28
|
+
*/
|
|
21
29
|
get scrollableElement() {
|
|
22
30
|
const { container } = this;
|
|
23
31
|
if (container instanceof Window) {
|
|
@@ -29,7 +37,7 @@ export class ScrollBar extends ComponentClass {
|
|
|
29
37
|
return container.container;
|
|
30
38
|
}
|
|
31
39
|
/**
|
|
32
|
-
*
|
|
40
|
+
* Returns the DOM element where the scroll bars will be appended.
|
|
33
41
|
*/
|
|
34
42
|
get domParent() {
|
|
35
43
|
const { domParent } = this.props;
|
|
@@ -45,6 +53,20 @@ export class ScrollBar extends ComponentClass {
|
|
|
45
53
|
}
|
|
46
54
|
return container.container;
|
|
47
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Returns the horizontal scroll bar instance.
|
|
58
|
+
* @ignore
|
|
59
|
+
*/
|
|
60
|
+
get xBar() {
|
|
61
|
+
return this._xBar;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Returns the vertical scroll bar instance.
|
|
65
|
+
* @ignore
|
|
66
|
+
*/
|
|
67
|
+
get yBar() {
|
|
68
|
+
return this._yBar;
|
|
69
|
+
}
|
|
48
70
|
constructor(initialProps, canInit = true) {
|
|
49
71
|
super(initialProps, false);
|
|
50
72
|
const { container } = this.props;
|
|
@@ -55,7 +77,7 @@ export class ScrollBar extends ComponentClass {
|
|
|
55
77
|
this._container = element;
|
|
56
78
|
}
|
|
57
79
|
else {
|
|
58
|
-
throw new Error('No scroll container');
|
|
80
|
+
throw new Error('No scroll container found');
|
|
59
81
|
}
|
|
60
82
|
}
|
|
61
83
|
else {
|
|
@@ -72,42 +94,54 @@ export class ScrollBar extends ComponentClass {
|
|
|
72
94
|
this.init();
|
|
73
95
|
}
|
|
74
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Initializes the ScrollBar component.
|
|
99
|
+
*/
|
|
75
100
|
_init() {
|
|
76
101
|
super._init();
|
|
77
102
|
this._setEvents();
|
|
78
103
|
}
|
|
79
|
-
|
|
104
|
+
/**
|
|
105
|
+
* Sets event listeners for the component.
|
|
106
|
+
*/
|
|
80
107
|
_setEvents() {
|
|
81
108
|
const { container, props } = this;
|
|
82
109
|
// default resize handler
|
|
83
110
|
const resizeHandler = onResize({
|
|
84
111
|
onResize: () => this.resize(),
|
|
85
|
-
element: [this.
|
|
112
|
+
element: [this.xBar.outer, this.yBar.outer],
|
|
86
113
|
viewportTarget: 'any',
|
|
87
114
|
hasBothEvents: true,
|
|
88
115
|
resizeDebounce: props.resizeDebounce,
|
|
89
116
|
});
|
|
90
|
-
// resize for
|
|
91
|
-
const
|
|
117
|
+
// resize for custom scroll
|
|
118
|
+
const scrollResize = 'isCustomScroll' in container
|
|
92
119
|
? container.addCallback('resize', () => resizeHandler.debounceResize(), { name: this.name })
|
|
93
120
|
: undefined;
|
|
94
121
|
this.addDestroyableAction(() => {
|
|
95
122
|
resizeHandler.remove();
|
|
96
|
-
|
|
123
|
+
scrollResize === null || scrollResize === void 0 ? void 0 : scrollResize.remove();
|
|
97
124
|
});
|
|
98
125
|
// initial resize
|
|
99
126
|
resizeHandler.resize();
|
|
100
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Handles the mutation of the properties and updates the component accordingly.
|
|
130
|
+
*/
|
|
101
131
|
_onPropsMutate() {
|
|
102
132
|
super._onPropsMutate();
|
|
103
133
|
this.resize();
|
|
104
134
|
}
|
|
105
|
-
/**
|
|
135
|
+
/**
|
|
136
|
+
* Resizes the scene and updates the scroll bars.
|
|
137
|
+
*/
|
|
106
138
|
resize() {
|
|
107
|
-
this.
|
|
108
|
-
this.
|
|
139
|
+
this.xBar.resize();
|
|
140
|
+
this.yBar.resize();
|
|
109
141
|
}
|
|
110
|
-
/**
|
|
142
|
+
/**
|
|
143
|
+
* Destroys the scroll bar component and cleans up.
|
|
144
|
+
*/
|
|
111
145
|
_destroy() {
|
|
112
146
|
super._destroy();
|
|
113
147
|
// destroy bars
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ScrollBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,GAAG,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ScrollBar/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,17 +4,23 @@ import { clamp } from '../../utils/math';
|
|
|
4
4
|
import { normalizedTimeoutCallback } from '../../utils/common';
|
|
5
5
|
import { getApp } from '../../utils/internal/getApp';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* `ScrollView` detects when elements enter or leave the viewport.
|
|
8
|
+
* It uses the `IntersectionObserver` API for efficient detection and triggers events when elements are visible or hidden.
|
|
9
|
+
* Supports adding custom delay and class toggling when elements are in view.
|
|
8
10
|
*/
|
|
9
11
|
export class ScrollView extends ComponentClass {
|
|
10
12
|
_getDefaultProps() {
|
|
11
13
|
return Object.assign(Object.assign({}, super._getDefaultProps()), { intersectionRoot: null, isEnabled: true, rootMargin: 0.05, states: 'in', classToToggle: 'viewed', hasDelay: true, maxDelay: 1000, direction: 'vertical', viewportTarget: 'any', resizeDebounce: 0 });
|
|
12
14
|
}
|
|
13
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Returns whether this is the first start of observing elements.
|
|
17
|
+
*/
|
|
14
18
|
get isFirstStart() {
|
|
15
19
|
return this._isFirstStart;
|
|
16
20
|
}
|
|
17
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Returns the elements being observed by the `ScrollView`.
|
|
23
|
+
*/
|
|
18
24
|
get elements() {
|
|
19
25
|
return this._elements;
|
|
20
26
|
}
|
|
@@ -23,7 +29,7 @@ export class ScrollView extends ComponentClass {
|
|
|
23
29
|
this._isFirstStart = true;
|
|
24
30
|
this._elements = [];
|
|
25
31
|
this._isIntersectionObserverSupported = isIntersectionObserverSupported();
|
|
26
|
-
// initialize the class
|
|
32
|
+
// initialize the class if requested
|
|
27
33
|
if (canInit) {
|
|
28
34
|
this.init();
|
|
29
35
|
}
|
|
@@ -36,22 +42,29 @@ export class ScrollView extends ComponentClass {
|
|
|
36
42
|
super._onPropsMutate();
|
|
37
43
|
this.resize();
|
|
38
44
|
}
|
|
39
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Sets up the events needed for viewport resizing and element observation.
|
|
47
|
+
*/
|
|
40
48
|
_setEvents() {
|
|
41
49
|
const { viewportTarget, resizeDebounce } = this.props;
|
|
42
50
|
this.resize();
|
|
51
|
+
// Set up a viewport callback to trigger the resize method
|
|
43
52
|
this.addViewportCallback(viewportTarget, () => this.resize(), {
|
|
44
53
|
timeout: resizeDebounce,
|
|
45
54
|
});
|
|
46
55
|
}
|
|
47
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* Triggers a resize event to update the `ScrollView` tracking of elements.
|
|
58
|
+
*/
|
|
48
59
|
resize() {
|
|
49
60
|
this._removeViewEvents();
|
|
50
61
|
if (this.props.isEnabled) {
|
|
51
62
|
this._setViewEvents();
|
|
52
63
|
}
|
|
53
64
|
}
|
|
54
|
-
/**
|
|
65
|
+
/**
|
|
66
|
+
* Returns the bounding rectangle for the root element or the viewport.
|
|
67
|
+
*/
|
|
55
68
|
get rootBounding() {
|
|
56
69
|
const { props } = this;
|
|
57
70
|
if (props.intersectionRoot) {
|
|
@@ -71,12 +84,15 @@ export class ScrollView extends ComponentClass {
|
|
|
71
84
|
height: viewport.height,
|
|
72
85
|
};
|
|
73
86
|
}
|
|
74
|
-
/**
|
|
87
|
+
/**
|
|
88
|
+
* Sets up the `IntersectionObserver` to detect when elements come into view.
|
|
89
|
+
*/
|
|
75
90
|
_setViewEvents() {
|
|
76
91
|
if (!this._isIntersectionObserverSupported) {
|
|
77
92
|
return;
|
|
78
93
|
}
|
|
79
94
|
const { rootBounding, isFirstStart, props } = this;
|
|
95
|
+
// Calculate margins for intersection detection
|
|
80
96
|
const xMargin = isFirstStart
|
|
81
97
|
? 0
|
|
82
98
|
: rootBounding.width * props.rootMargin * -1;
|
|
@@ -98,7 +114,9 @@ export class ScrollView extends ComponentClass {
|
|
|
98
114
|
this.elements.forEach((element) => { var _a; return (_a = this._intersectionObserverOut) === null || _a === void 0 ? void 0 : _a.observe(element); });
|
|
99
115
|
}
|
|
100
116
|
}
|
|
101
|
-
/**
|
|
117
|
+
/**
|
|
118
|
+
* Removes the view observation events by disconnecting the `IntersectionObserver`.
|
|
119
|
+
*/
|
|
102
120
|
_removeViewEvents() {
|
|
103
121
|
var _a, _b;
|
|
104
122
|
(_a = this._intersectionObserverIn) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
@@ -106,7 +124,11 @@ export class ScrollView extends ComponentClass {
|
|
|
106
124
|
(_b = this._intersectionObserverOut) === null || _b === void 0 ? void 0 : _b.disconnect();
|
|
107
125
|
this._intersectionObserverOut = undefined;
|
|
108
126
|
}
|
|
109
|
-
/**
|
|
127
|
+
/**
|
|
128
|
+
* Handles when elements come into the viewport.
|
|
129
|
+
*
|
|
130
|
+
* @param data - The intersection data for the observed elements.
|
|
131
|
+
*/
|
|
110
132
|
_handleIntersectionIn(data) {
|
|
111
133
|
data.forEach((entry) => {
|
|
112
134
|
if (!entry.isIntersecting) {
|
|
@@ -119,7 +141,7 @@ export class ScrollView extends ComponentClass {
|
|
|
119
141
|
this.removeElement(element);
|
|
120
142
|
}
|
|
121
143
|
});
|
|
122
|
-
//
|
|
144
|
+
// Mark first start complete and trigger resize
|
|
123
145
|
if (this.isFirstStart) {
|
|
124
146
|
this._isFirstStart = false;
|
|
125
147
|
this.resize();
|
|
@@ -138,7 +160,11 @@ export class ScrollView extends ComponentClass {
|
|
|
138
160
|
: (bounding.top - rootBounding.top) / rootBounding.height, [0, 1]);
|
|
139
161
|
return progress * props.maxDelay;
|
|
140
162
|
}
|
|
141
|
-
/**
|
|
163
|
+
/**
|
|
164
|
+
* Handles when elements leave the viewport.
|
|
165
|
+
*
|
|
166
|
+
* @param data - The intersection data for the observed elements.
|
|
167
|
+
*/
|
|
142
168
|
_handleIntersectionOut(data) {
|
|
143
169
|
data.forEach((entry) => {
|
|
144
170
|
if (entry.isIntersecting) {
|
|
@@ -149,7 +175,7 @@ export class ScrollView extends ComponentClass {
|
|
|
149
175
|
});
|
|
150
176
|
}
|
|
151
177
|
/**
|
|
152
|
-
*
|
|
178
|
+
* Toggles classes and triggers callbacks when elements enter or leave the viewport.
|
|
153
179
|
*/
|
|
154
180
|
_handleInOut(elementProp, isInViewport, delay = 0) {
|
|
155
181
|
const { classToToggle } = this.props;
|
|
@@ -158,15 +184,15 @@ export class ScrollView extends ComponentClass {
|
|
|
158
184
|
(!element.isScrollViewIn && !isInViewport)) {
|
|
159
185
|
return;
|
|
160
186
|
}
|
|
161
|
-
//
|
|
187
|
+
// Update element's viewport state
|
|
162
188
|
element.isScrollViewIn = isInViewport;
|
|
163
|
-
//
|
|
189
|
+
// Toggle class for the element
|
|
164
190
|
if (classToToggle) {
|
|
165
191
|
normalizedTimeoutCallback(() => {
|
|
166
192
|
element.classList.toggle(classToToggle, isInViewport);
|
|
167
193
|
}, delay);
|
|
168
194
|
}
|
|
169
|
-
//
|
|
195
|
+
// Trigger appropriate callback
|
|
170
196
|
if (isInViewport) {
|
|
171
197
|
normalizedTimeoutCallback(() => {
|
|
172
198
|
this.callbacks.tbt('in', { element });
|
|
@@ -178,7 +204,9 @@ export class ScrollView extends ComponentClass {
|
|
|
178
204
|
}, delay);
|
|
179
205
|
}
|
|
180
206
|
}
|
|
181
|
-
/**
|
|
207
|
+
/**
|
|
208
|
+
* Adds an element to the observer list and starts tracking its visibility in the viewport.
|
|
209
|
+
*/
|
|
182
210
|
addElement(elementProp) {
|
|
183
211
|
var _a, _b;
|
|
184
212
|
const element = elementProp;
|
|
@@ -195,7 +223,11 @@ export class ScrollView extends ComponentClass {
|
|
|
195
223
|
remove: () => this.removeElement(element),
|
|
196
224
|
};
|
|
197
225
|
}
|
|
198
|
-
/**
|
|
226
|
+
/**
|
|
227
|
+
* Stops observing an element and removes it from the observer list.
|
|
228
|
+
*
|
|
229
|
+
* @param {Element} elementProp - The element to stop observing.
|
|
230
|
+
*/
|
|
199
231
|
removeElement(elementProp) {
|
|
200
232
|
var _a, _b;
|
|
201
233
|
const element = elementProp;
|
|
@@ -204,12 +236,16 @@ export class ScrollView extends ComponentClass {
|
|
|
204
236
|
element.isScrollViewIn = undefined;
|
|
205
237
|
this._elements = this._elements.filter((el) => el !== element);
|
|
206
238
|
}
|
|
207
|
-
/**
|
|
239
|
+
/**
|
|
240
|
+
* Stops observing all elements and clears the observer list.
|
|
241
|
+
*/
|
|
208
242
|
removeElements() {
|
|
209
243
|
this._elements.forEach((element) => this.removeElement(element));
|
|
210
244
|
this._elements = [];
|
|
211
245
|
}
|
|
212
|
-
/**
|
|
246
|
+
/**
|
|
247
|
+
* Destroys the `ScrollView` and disconnects all observers and listeners.
|
|
248
|
+
*/
|
|
213
249
|
_destroy() {
|
|
214
250
|
super._destroy();
|
|
215
251
|
this._removeViewEvents();
|