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,44 +3,45 @@ import { NPreloader } from '../Preloader';
|
|
|
3
3
|
export namespace NProgressPreloader {
|
|
4
4
|
export interface IStaticProps extends NPreloader.IStaticProps {
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* The default number of resources to preload. This can be incremented using custom logic.
|
|
7
7
|
* @default 0
|
|
8
8
|
*/
|
|
9
9
|
resourcesQuantity?: number;
|
|
10
|
+
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
+
* Whether to preload images automatically.
|
|
12
13
|
* @default true
|
|
13
14
|
*/
|
|
14
15
|
canPreloadImages?: boolean;
|
|
16
|
+
|
|
15
17
|
/**
|
|
16
|
-
*
|
|
18
|
+
* Whether to preload videos automatically.
|
|
17
19
|
* @default false
|
|
18
20
|
*/
|
|
19
21
|
canPreloadVideos?: boolean;
|
|
22
|
+
|
|
20
23
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* Custom elements may also have the attribute `data-load-count` (number) which means the element weight.
|
|
24
|
+
* The selector for custom resources to be preloaded. These elements should have properties such as `isLoaded`, `isComplete`, or the attribute `data-is-loaded` (from 0 to 1 or a boolean) for tracking loading status.
|
|
25
|
+
* Custom elements may also use the `data-load-count` attribute to indicate their weight.
|
|
26
|
+
*
|
|
25
27
|
* @default '.js-preload'
|
|
26
28
|
*/
|
|
27
29
|
preloadCustomSelector?: string;
|
|
30
|
+
|
|
28
31
|
/**
|
|
29
|
-
*
|
|
30
|
-
* all these resources will be preloaded. In cases when you may want not
|
|
31
|
-
* to preload some resources, you may add to it the classname specified here.
|
|
32
|
+
* A class name that can be added to elements (such as images, videos, or custom resources) that should be ignored during the preload process.
|
|
32
33
|
* @default 'js-preload-ignore'
|
|
33
34
|
*/
|
|
34
35
|
preloadIgnoreClassName?: string;
|
|
36
|
+
|
|
35
37
|
/**
|
|
36
|
-
*
|
|
38
|
+
* The amount of linear interpolation to apply to the loading progress. If set to `false`, no interpolation will be used, and the progress will update instantly.
|
|
37
39
|
* @default 0.1
|
|
38
40
|
*/
|
|
39
41
|
lerp?: number | false;
|
|
42
|
+
|
|
40
43
|
/**
|
|
41
|
-
* If `true` and
|
|
42
|
-
* and a `Timeline` will be launched to end the progress calculation.
|
|
43
|
-
* If `false`, the progress smooth calculation will end via linear interpolation.
|
|
44
|
+
* If `true` and the animated progress is less than `1`, a timeline will automatically complete the progress when nearing the end. If `false`, progress will continue using linear interpolation until it completes.
|
|
44
45
|
* @default 500
|
|
45
46
|
*/
|
|
46
47
|
forceEnd?: number | false;
|
|
@@ -49,34 +50,84 @@ export namespace NProgressPreloader {
|
|
|
49
50
|
export interface IChangeableProps extends NPreloader.IChangeableProps {}
|
|
50
51
|
|
|
51
52
|
export interface ICallbacksTypes extends NPreloader.ICallbacksTypes {
|
|
53
|
+
/**
|
|
54
|
+
* Triggered when the preloader's progress is updated.
|
|
55
|
+
*/
|
|
52
56
|
progress: IProgressParameter;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Triggered each time a resource is loaded during the preload process.
|
|
60
|
+
*/
|
|
53
61
|
resourceLoad: IResourceLoadParameter;
|
|
54
62
|
}
|
|
55
63
|
|
|
56
64
|
export interface IProgressParameter {
|
|
65
|
+
/**
|
|
66
|
+
* The current preloader progress (between 0 and 1).
|
|
67
|
+
*/
|
|
57
68
|
progress: number;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* The current progress based on loaded resources (between 0 and 1).
|
|
72
|
+
*/
|
|
58
73
|
loadProgress: number;
|
|
59
74
|
}
|
|
60
75
|
|
|
61
76
|
export interface IResourceLoadParameter {
|
|
77
|
+
/**
|
|
78
|
+
* The resource element that was loaded, if applicable.
|
|
79
|
+
*/
|
|
62
80
|
element?: Element;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* The progress value when the resource was loaded.
|
|
84
|
+
*/
|
|
63
85
|
atProgress: number;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* The overall load progress when this resource was loaded.
|
|
89
|
+
*/
|
|
64
90
|
loadProgress: number;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Whether the resource was successfully loaded.
|
|
94
|
+
*/
|
|
65
95
|
isSuccess: boolean;
|
|
66
96
|
}
|
|
67
97
|
|
|
68
98
|
export interface IHandleLoadedResourceParameter {
|
|
99
|
+
/**
|
|
100
|
+
* The resource element that was loaded, if applicable.
|
|
101
|
+
*/
|
|
69
102
|
element?: Element;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Whether the resource was successfully loaded.
|
|
106
|
+
*/
|
|
70
107
|
isSuccess: boolean;
|
|
71
108
|
}
|
|
72
109
|
|
|
73
110
|
export interface ICustomResource extends Element {
|
|
111
|
+
/**
|
|
112
|
+
* Indicates whether the custom resource has been fully loaded. Can be a boolean or a number representing the loading progress.
|
|
113
|
+
*/
|
|
74
114
|
isLoaded?: boolean | number;
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Indicates whether the custom resource is complete. Can be a boolean or a number representing the loading progress.
|
|
118
|
+
*/
|
|
75
119
|
isComplete?: boolean | number;
|
|
76
120
|
}
|
|
77
121
|
|
|
78
122
|
export interface ICustomResourceData {
|
|
123
|
+
/**
|
|
124
|
+
* The custom resource element to be preloaded.
|
|
125
|
+
*/
|
|
79
126
|
element: ICustomResource;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* The target progress value (between 0 and 1) for this resource, based on its `data-load-count` attribute.
|
|
130
|
+
*/
|
|
80
131
|
targetProgress: number;
|
|
81
132
|
}
|
|
82
133
|
}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { Module } from '@/base/Module';
|
|
2
2
|
import { NProgressPreloader } from '../types';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Retrieves the load progress of a custom resource element based on its properties or attributes.
|
|
6
|
+
*/
|
|
4
7
|
function getLoadProgress({
|
|
5
8
|
element,
|
|
6
9
|
targetProgress,
|
|
7
|
-
}: NProgressPreloader.ICustomResourceData) {
|
|
10
|
+
}: NProgressPreloader.ICustomResourceData): number {
|
|
11
|
+
// Check if the element is marked as complete
|
|
8
12
|
if (typeof element.isComplete !== 'undefined') {
|
|
9
13
|
if (typeof element.isComplete === 'boolean' && element.isComplete) {
|
|
10
14
|
return targetProgress;
|
|
@@ -17,6 +21,7 @@ function getLoadProgress({
|
|
|
17
21
|
return 0;
|
|
18
22
|
}
|
|
19
23
|
|
|
24
|
+
// Check if the element is marked as loaded
|
|
20
25
|
if (typeof element.isLoaded !== 'undefined') {
|
|
21
26
|
if (typeof element.isLoaded === 'boolean' && element.isLoaded) {
|
|
22
27
|
return targetProgress;
|
|
@@ -27,6 +32,7 @@ function getLoadProgress({
|
|
|
27
32
|
}
|
|
28
33
|
}
|
|
29
34
|
|
|
35
|
+
// Check for a `data-is-loaded` attribute
|
|
30
36
|
const isLoadedAttr = element.getAttribute('data-is-loaded');
|
|
31
37
|
if (
|
|
32
38
|
isLoadedAttr !== null &&
|
|
@@ -35,7 +41,7 @@ function getLoadProgress({
|
|
|
35
41
|
) {
|
|
36
42
|
const isLoadedAttrNum = parseFloat(isLoadedAttr);
|
|
37
43
|
|
|
38
|
-
//
|
|
44
|
+
// If the value is non-numeric, treat the resource as loaded
|
|
39
45
|
if (Number.isNaN(isLoadedAttrNum)) {
|
|
40
46
|
return targetProgress;
|
|
41
47
|
}
|
|
@@ -46,6 +52,9 @@ function getLoadProgress({
|
|
|
46
52
|
return 0;
|
|
47
53
|
}
|
|
48
54
|
|
|
55
|
+
/**
|
|
56
|
+
* Preloads a custom resource element by recursively checking its load progress until the target progress is reached.
|
|
57
|
+
*/
|
|
49
58
|
export function preloadCustomElement(
|
|
50
59
|
data: NProgressPreloader.ICustomResourceData,
|
|
51
60
|
instance: Module<any, any, any>,
|
|
@@ -54,12 +63,14 @@ export function preloadCustomElement(
|
|
|
54
63
|
const { targetProgress } = data;
|
|
55
64
|
const loadProgress = getLoadProgress(data);
|
|
56
65
|
|
|
66
|
+
// If the load progress has reached or exceeded the target, resolve the promise
|
|
57
67
|
if (loadProgress >= targetProgress) {
|
|
58
68
|
resolve();
|
|
59
69
|
|
|
60
70
|
return;
|
|
61
71
|
}
|
|
62
72
|
|
|
73
|
+
// Recursively check the load progress every 50ms
|
|
63
74
|
setTimeout(() => {
|
|
64
75
|
if (instance.isDestroyed) {
|
|
65
76
|
return;
|
|
@@ -1,42 +1,91 @@
|
|
|
1
1
|
import { IAddEventListener, addEventListener } from 'vevet-dom';
|
|
2
|
-
import {
|
|
2
|
+
import { IBarProps } from './types';
|
|
3
3
|
import { IRemovable } from '@/types/general';
|
|
4
4
|
import { DraggerMove, NDraggerMove } from '@/components/DraggerMove';
|
|
5
5
|
import { IOnScrollCallbackParameter, onScroll } from '@/utils/scroll/onScroll';
|
|
6
6
|
import { clamp } from '@/utils/math';
|
|
7
7
|
import { getScrollValues } from '@/utils/scroll';
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Represents a custom scroll bar with a draggable thumb.
|
|
11
|
+
*/
|
|
12
|
+
export class Bar {
|
|
13
|
+
/** The outer container element of the scroll bar */
|
|
10
14
|
private _outer: HTMLElement;
|
|
11
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Gets the outer container of the scroll bar.
|
|
18
|
+
*/
|
|
12
19
|
get outer() {
|
|
13
20
|
return this._outer;
|
|
14
21
|
}
|
|
15
22
|
|
|
23
|
+
/** The scroll bar thumb element */
|
|
16
24
|
private _thumb: HTMLElement;
|
|
17
25
|
|
|
26
|
+
/**
|
|
27
|
+
* Gets the thumb element of the scroll bar.
|
|
28
|
+
*/
|
|
18
29
|
get thumb() {
|
|
19
30
|
return this._thumb;
|
|
20
31
|
}
|
|
21
32
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
33
|
+
/** The outer height of the scroll bar container */
|
|
34
|
+
private _outerHeight = 0;
|
|
35
|
+
|
|
36
|
+
/** The outer width of the scroll bar container */
|
|
37
|
+
private _outerWidth = 0;
|
|
38
|
+
|
|
39
|
+
/** The thumb's height */
|
|
40
|
+
private _thumbHeight = 0;
|
|
41
|
+
|
|
42
|
+
/** The thumb's width */
|
|
43
|
+
private _thumbWidth = 0;
|
|
44
|
+
|
|
45
|
+
/** Stores the previous scroll value for comparison */
|
|
46
|
+
private _prevScrollValue = 0;
|
|
47
|
+
|
|
48
|
+
/** Stores the coordinates of the scroll element at the start of dragging */
|
|
49
|
+
private _coordsAtDragStart = { scrollLeft: 0, scrollTop: 0 };
|
|
50
|
+
|
|
51
|
+
/** Stores the list of event listeners */
|
|
52
|
+
private _listeners: IAddEventListener[] = [];
|
|
53
|
+
|
|
54
|
+
/** The scroll event handler */
|
|
55
|
+
private _scrollEvent?: IRemovable;
|
|
56
|
+
|
|
57
|
+
/** Timeout for handling auto-hide behavior */
|
|
58
|
+
private _actionTimeout?: NodeJS.Timeout;
|
|
59
|
+
|
|
60
|
+
/** Dragger instance for handling thumb dragging */
|
|
61
|
+
private _dragger?: DraggerMove;
|
|
25
62
|
|
|
63
|
+
/**
|
|
64
|
+
* Determines if the scroll bar is horizontal.
|
|
65
|
+
*/
|
|
26
66
|
get isHorizontal() {
|
|
27
67
|
return this.props.direction === 'x';
|
|
28
68
|
}
|
|
29
69
|
|
|
70
|
+
/**
|
|
71
|
+
* Determines if the scroll bar is vertical.
|
|
72
|
+
*/
|
|
30
73
|
get isVertical() {
|
|
31
74
|
return !this.isHorizontal;
|
|
32
75
|
}
|
|
33
76
|
|
|
77
|
+
/**
|
|
78
|
+
* Gets the scrollable element.
|
|
79
|
+
*/
|
|
34
80
|
get scrollElement() {
|
|
35
81
|
return this.props.container instanceof Window
|
|
36
82
|
? document.documentElement
|
|
37
83
|
: this.props.container;
|
|
38
84
|
}
|
|
39
85
|
|
|
86
|
+
/**
|
|
87
|
+
* Gets the total scrollable distance (scroll line) for the scroll bar.
|
|
88
|
+
*/
|
|
40
89
|
get scrollLine() {
|
|
41
90
|
const { scrollElement } = this;
|
|
42
91
|
|
|
@@ -45,34 +94,23 @@ export default class Bar {
|
|
|
45
94
|
: scrollElement.scrollHeight - scrollElement.clientHeight;
|
|
46
95
|
}
|
|
47
96
|
|
|
97
|
+
/**
|
|
98
|
+
* Gets the total width of the scrollable element.
|
|
99
|
+
*/
|
|
48
100
|
get scrollWidth() {
|
|
49
101
|
return this.scrollElement.scrollWidth;
|
|
50
102
|
}
|
|
51
103
|
|
|
104
|
+
/**
|
|
105
|
+
* Gets the total height of the scrollable element.
|
|
106
|
+
*/
|
|
52
107
|
get scrollHeight() {
|
|
53
108
|
return this.scrollElement.scrollHeight;
|
|
54
109
|
}
|
|
55
110
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
private _thumbHeight: number;
|
|
61
|
-
|
|
62
|
-
private _thumbWidth: number;
|
|
63
|
-
|
|
64
|
-
private _prevScrollValue: number;
|
|
65
|
-
|
|
66
|
-
private _coordsAtDragStart: ICoords;
|
|
67
|
-
|
|
68
|
-
private _listeners?: IAddEventListener[];
|
|
69
|
-
|
|
70
|
-
private _scrollEvent?: IRemovable;
|
|
71
|
-
|
|
72
|
-
private _actionTimeout?: NodeJS.Timeout;
|
|
73
|
-
|
|
74
|
-
private _dragger?: DraggerMove;
|
|
75
|
-
|
|
111
|
+
/**
|
|
112
|
+
* Gets the scroll bar properties.
|
|
113
|
+
*/
|
|
76
114
|
get props() {
|
|
77
115
|
return this._props;
|
|
78
116
|
}
|
|
@@ -80,15 +118,7 @@ export default class Bar {
|
|
|
80
118
|
constructor(private _props: IBarProps) {
|
|
81
119
|
const { direction, domParent, container, canAutoHide } = _props;
|
|
82
120
|
|
|
83
|
-
//
|
|
84
|
-
this._outerHeight = 0;
|
|
85
|
-
this._outerWidth = 0;
|
|
86
|
-
this._thumbHeight = 0;
|
|
87
|
-
this._thumbWidth = 0;
|
|
88
|
-
this._prevScrollValue = 0;
|
|
89
|
-
this._coordsAtDragStart = { scrollLeft: 0, scrollTop: 0 };
|
|
90
|
-
|
|
91
|
-
// create container
|
|
121
|
+
// Create the outer scroll bar container
|
|
92
122
|
const outer = document.createElement('div');
|
|
93
123
|
this._outer = outer;
|
|
94
124
|
outer.classList.add(this.className(''));
|
|
@@ -99,29 +129,32 @@ export default class Bar {
|
|
|
99
129
|
outer.classList.toggle(this.className('_auto-hide'), canAutoHide);
|
|
100
130
|
domParent.append(outer);
|
|
101
131
|
|
|
102
|
-
//
|
|
132
|
+
// Create the thumb for the scroll bar
|
|
103
133
|
const thumb = document.createElement('div');
|
|
104
134
|
this._thumb = thumb;
|
|
105
135
|
thumb.classList.add(this.className('__thumb'));
|
|
106
136
|
thumb.classList.add(this.className(`__thumb_${direction}`));
|
|
107
137
|
outer.append(thumb);
|
|
108
138
|
|
|
109
|
-
//
|
|
139
|
+
// Set events for the scroll bar
|
|
110
140
|
this._setEvents();
|
|
111
141
|
}
|
|
112
142
|
|
|
143
|
+
/**
|
|
144
|
+
* Generates the scroll bar's class name based on the prefix and value.
|
|
145
|
+
* @param value - The suffix to add to the prefix for the class name.
|
|
146
|
+
*/
|
|
113
147
|
private className(value: string) {
|
|
114
148
|
return `${this.props.prefix}${value}`;
|
|
115
149
|
}
|
|
116
150
|
|
|
117
|
-
/**
|
|
151
|
+
/**
|
|
152
|
+
* Sets the necessary events for the scroll bar, such as hover and scroll events.
|
|
153
|
+
*/
|
|
118
154
|
private _setEvents() {
|
|
119
|
-
if (!this._listeners) {
|
|
120
|
-
this._listeners = [];
|
|
121
|
-
}
|
|
122
|
-
|
|
123
155
|
const { outer, thumb, props } = this;
|
|
124
156
|
|
|
157
|
+
// Add hover events for the outer container
|
|
125
158
|
this._listeners.push(
|
|
126
159
|
addEventListener(outer, 'mouseenter', () => this._handleHover(true)),
|
|
127
160
|
);
|
|
@@ -129,11 +162,13 @@ export default class Bar {
|
|
|
129
162
|
addEventListener(outer, 'mouseleave', () => this._handleHover(false)),
|
|
130
163
|
);
|
|
131
164
|
|
|
165
|
+
// Add scroll event for the container
|
|
132
166
|
this._scrollEvent = onScroll({
|
|
133
167
|
container: props.container,
|
|
134
168
|
callback: (data) => this._handleScroll(data),
|
|
135
169
|
});
|
|
136
170
|
|
|
171
|
+
// Set drag events if the scroll bar is draggable
|
|
137
172
|
if (this.props.isDraggable) {
|
|
138
173
|
this._dragger = new DraggerMove({ container: thumb });
|
|
139
174
|
|
|
@@ -145,25 +180,32 @@ export default class Bar {
|
|
|
145
180
|
}
|
|
146
181
|
}
|
|
147
182
|
|
|
148
|
-
/**
|
|
183
|
+
/**
|
|
184
|
+
* Removes all the event listeners for the scroll bar.
|
|
185
|
+
*/
|
|
149
186
|
private _removeEvents() {
|
|
150
187
|
this._listeners?.forEach((listener) => listener.remove());
|
|
151
188
|
this._scrollEvent?.remove();
|
|
152
189
|
this._dragger?.destroy();
|
|
153
190
|
}
|
|
154
191
|
|
|
155
|
-
/**
|
|
192
|
+
/**
|
|
193
|
+
* Handles the hover state of the scroll bar.
|
|
194
|
+
* @param isHovered - Whether the scroll bar is hovered or not.
|
|
195
|
+
*/
|
|
156
196
|
private _handleHover(isHovered: boolean) {
|
|
157
197
|
const className = this.className('_is-hovered');
|
|
158
|
-
|
|
159
198
|
this.outer.classList.toggle(className, isHovered);
|
|
160
199
|
}
|
|
161
200
|
|
|
162
|
-
/**
|
|
201
|
+
/**
|
|
202
|
+
* Handles the scroll event by updating the thumb position and auto-hide behavior.
|
|
203
|
+
* @param param - The scroll position of the container.
|
|
204
|
+
*/
|
|
163
205
|
private _handleScroll({ scrollLeft, scrollTop }: IOnScrollCallbackParameter) {
|
|
164
206
|
let hasChanged = false;
|
|
165
207
|
|
|
166
|
-
//
|
|
208
|
+
// Check if changes happened
|
|
167
209
|
if (this.isHorizontal) {
|
|
168
210
|
hasChanged = scrollLeft !== this._prevScrollValue;
|
|
169
211
|
this._prevScrollValue = scrollLeft;
|
|
@@ -172,15 +214,14 @@ export default class Bar {
|
|
|
172
214
|
this._prevScrollValue = scrollTop;
|
|
173
215
|
}
|
|
174
216
|
|
|
175
|
-
//
|
|
217
|
+
// If no changes, return early
|
|
176
218
|
if (!hasChanged) {
|
|
177
219
|
return;
|
|
178
220
|
}
|
|
179
221
|
|
|
180
|
-
//
|
|
222
|
+
// Handle auto-hide behavior
|
|
181
223
|
if (this.props.canAutoHide && hasChanged) {
|
|
182
224
|
const actionClassName = this.className('_in-action');
|
|
183
|
-
|
|
184
225
|
this.outer.classList.add(actionClassName);
|
|
185
226
|
|
|
186
227
|
if (this._actionTimeout) {
|
|
@@ -193,11 +234,14 @@ export default class Bar {
|
|
|
193
234
|
);
|
|
194
235
|
}
|
|
195
236
|
|
|
196
|
-
//
|
|
237
|
+
// Render the thumb
|
|
197
238
|
this._renderThumb();
|
|
198
239
|
}
|
|
199
240
|
|
|
200
|
-
/**
|
|
241
|
+
/**
|
|
242
|
+
* Handles the thumb dragging event by calculating new scroll values based on the drag movement.
|
|
243
|
+
* @param param - The drag event data.
|
|
244
|
+
*/
|
|
201
245
|
private _handleThumbDrag({
|
|
202
246
|
event,
|
|
203
247
|
coords,
|
|
@@ -208,7 +252,7 @@ export default class Bar {
|
|
|
208
252
|
const { scrollLine } = this;
|
|
209
253
|
const { container } = this.props;
|
|
210
254
|
|
|
211
|
-
//
|
|
255
|
+
// Calculate new scroll values based on the drag movement
|
|
212
256
|
const leftIterator =
|
|
213
257
|
((coords.x - start.x) / (this._outerWidth - this._thumbWidth)) *
|
|
214
258
|
scrollLine;
|
|
@@ -216,7 +260,6 @@ export default class Bar {
|
|
|
216
260
|
((coords.y - start.y) / (this._outerHeight - this._thumbHeight)) *
|
|
217
261
|
scrollLine;
|
|
218
262
|
|
|
219
|
-
// calculate new scroll values
|
|
220
263
|
let { scrollLeft, scrollTop } = this._coordsAtDragStart;
|
|
221
264
|
if (this.isHorizontal) {
|
|
222
265
|
scrollLeft += leftIterator;
|
|
@@ -224,18 +267,20 @@ export default class Bar {
|
|
|
224
267
|
scrollTop += topIterator;
|
|
225
268
|
}
|
|
226
269
|
|
|
227
|
-
//
|
|
270
|
+
// Apply new scroll values
|
|
228
271
|
container.scrollTo({
|
|
229
272
|
top: scrollTop,
|
|
230
273
|
left: scrollLeft,
|
|
231
274
|
behavior:
|
|
232
|
-
'
|
|
275
|
+
'isCustomScroll' in this.props.container
|
|
233
276
|
? this.props.scrollBehavior
|
|
234
277
|
: 'auto',
|
|
235
278
|
});
|
|
236
279
|
}
|
|
237
280
|
|
|
238
|
-
/**
|
|
281
|
+
/**
|
|
282
|
+
* Renders the thumb position based on the current scroll position.
|
|
283
|
+
*/
|
|
239
284
|
private _renderThumb() {
|
|
240
285
|
const progress = clamp(this._prevScrollValue / this.scrollLine, [0, 1]);
|
|
241
286
|
|
|
@@ -249,7 +294,9 @@ export default class Bar {
|
|
|
249
294
|
this._thumb.style.transform = `translate(${x}px, ${y}px)`;
|
|
250
295
|
}
|
|
251
296
|
|
|
252
|
-
/**
|
|
297
|
+
/**
|
|
298
|
+
* Resizes the scroll bar by recalculating the thumb and outer container sizes.
|
|
299
|
+
*/
|
|
253
300
|
public resize() {
|
|
254
301
|
const {
|
|
255
302
|
outer,
|
|
@@ -262,14 +309,14 @@ export default class Bar {
|
|
|
262
309
|
|
|
263
310
|
const { minSize, shouldAutoSize } = this.props;
|
|
264
311
|
|
|
265
|
-
//
|
|
312
|
+
// Define if the scrollbar is empty
|
|
266
313
|
outer.classList.toggle(this.className('_is-empty'), scrollLine === 0);
|
|
267
314
|
|
|
268
|
-
//
|
|
315
|
+
// Get outer sizes
|
|
269
316
|
this._outerHeight = outer.clientHeight;
|
|
270
317
|
this._outerWidth = outer.clientWidth;
|
|
271
318
|
|
|
272
|
-
//
|
|
319
|
+
// Calculate thumb sizes if auto-size is enabled
|
|
273
320
|
if (shouldAutoSize) {
|
|
274
321
|
if (isHorizontal) {
|
|
275
322
|
const barSize = clamp(
|
|
@@ -286,14 +333,17 @@ export default class Bar {
|
|
|
286
333
|
}
|
|
287
334
|
}
|
|
288
335
|
|
|
289
|
-
//
|
|
336
|
+
// Get thumb sizes
|
|
290
337
|
this._thumbHeight = thumb.clientHeight;
|
|
291
338
|
this._thumbWidth = thumb.clientWidth;
|
|
292
339
|
|
|
293
|
-
//
|
|
340
|
+
// Render the thumb position
|
|
294
341
|
this._renderThumb();
|
|
295
342
|
}
|
|
296
343
|
|
|
344
|
+
/**
|
|
345
|
+
* Destroys the scroll bar by removing events and clearing timeouts.
|
|
346
|
+
*/
|
|
297
347
|
public destroy() {
|
|
298
348
|
this._removeEvents();
|
|
299
349
|
|
|
@@ -1,30 +1,59 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CustomScroll } from '@/components/CustomScroll';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Properties for configuring the behavior and appearance of a custom scroll bar.
|
|
5
|
+
*/
|
|
3
6
|
export interface IBarProps {
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
+
/**
|
|
8
|
+
* The scrollable container element.
|
|
9
|
+
* It can be the browser `window`, a custom scroll instance, or an HTML element.
|
|
10
|
+
*/
|
|
11
|
+
container: Window | CustomScroll | Element;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The parent element where the scroll bar will be appended.
|
|
15
|
+
* This is the DOM element that will contain the scroll bar.
|
|
16
|
+
*/
|
|
7
17
|
domParent: Element;
|
|
8
|
-
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The scroll bar's orientation or direction.
|
|
21
|
+
* Can be either horizontal ('x') or vertical ('y').
|
|
22
|
+
*/
|
|
9
23
|
direction: 'x' | 'y';
|
|
10
|
-
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* If `true`, the scroll bars will be hidden when inactive.
|
|
27
|
+
* The scroll bar will only become visible during scrolling or interactions.
|
|
28
|
+
*/
|
|
11
29
|
canAutoHide: boolean;
|
|
12
|
-
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* If `true`, the size of the scroll bar's thumb will adjust automatically
|
|
33
|
+
* based on the content length and the viewport size.
|
|
34
|
+
*/
|
|
13
35
|
shouldAutoSize: boolean;
|
|
36
|
+
|
|
14
37
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
38
|
+
* The minimum size of the scroll bar's thumb.
|
|
39
|
+
* This property is only applied when `shouldAutoSize` is `true`.
|
|
17
40
|
*/
|
|
18
41
|
minSize: number;
|
|
19
|
-
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* A prefix used for generating class names or other identifiers for the scroll bar elements.
|
|
45
|
+
*/
|
|
20
46
|
prefix: string;
|
|
21
|
-
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* If `true`, the scroll bars will be draggable, allowing users to drag the thumb to scroll.
|
|
50
|
+
*/
|
|
22
51
|
isDraggable: boolean;
|
|
23
|
-
/** ScrollBehavior when dragging (works only for `SmoothScroll`) */
|
|
24
|
-
scrollBehavior: 'smooth' | 'auto';
|
|
25
|
-
}
|
|
26
52
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Defines the scroll behavior during dragging for custom scroll instances.
|
|
55
|
+
* This property determines whether the scroll will be smooth or immediate ('auto').
|
|
56
|
+
* This option is only applicable for `CustomScroll` instances.
|
|
57
|
+
*/
|
|
58
|
+
scrollBehavior: 'smooth' | 'auto';
|
|
30
59
|
}
|