vevet 3.19.2 → 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 +72 -66
- 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 +12 -5
- 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 +13 -12
- 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 +6 -2
- 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/cjs/version.js +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 +30 -24
- 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 +12 -5
- 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 +11 -12
- 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 +6 -2
- 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/esm/version.js +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 +46 -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/lib/types/version.d.ts +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 +61 -44
- 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 +12 -5
- 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 +16 -21
- package/src/utils/math/clamp.ts +10 -5
- package/src/utils/math/clampScope.ts +9 -2
- package/src/utils/math/easing.ts +6 -2
- 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/src/version.ts +1 -1
- 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 -105
- 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 -114
- package/src/components/SmoothScrollDragPlugin/types.ts +0 -40
- package/src/components/Timeline/stories/Nested.tsx +0 -135
- package/src/styles/globals/index.scss +0 -18
- package/src/vevet.ts +0 -4
- /package/lib/cjs/{Application → Vevet}/events/createOnPageLoad/types.js +0 -0
- /package/lib/cjs/{Application → Vevet}/events/createViewport/types.js +0 -0
- /package/lib/cjs/{Application → Vevet}/types.js +0 -0
- /package/lib/cjs/{utils/internal → Vevet/utils}/getDeviceInfo.js +0 -0
- /package/lib/cjs/components/{BaseTimeline → CustomScroll}/types.js +0 -0
- /package/lib/cjs/components/{SmoothScroll → CustomScrollDragPlugin}/types.js +0 -0
- /package/lib/cjs/components/{SmoothScrollDragPlugin → CustomScrollKeyboardPlugin}/types.js +0 -0
- /package/lib/esm/{Application → Vevet}/events/createOnPageLoad/types.js +0 -0
- /package/lib/esm/{Application → Vevet}/events/createViewport/types.js +0 -0
- /package/lib/esm/{Application → Vevet}/types.js +0 -0
- /package/lib/esm/{utils/internal → Vevet/utils}/getDeviceInfo.js +0 -0
- /package/lib/esm/components/{BaseTimeline → CustomScroll}/types.js +0 -0
- /package/lib/esm/components/{SmoothScroll → CustomScrollDragPlugin}/types.js +0 -0
- /package/lib/esm/components/{SmoothScrollDragPlugin → CustomScrollKeyboardPlugin}/types.js +0 -0
- /package/lib/types/{utils/internal → Vevet/utils}/getDeviceInfo.d.ts +0 -0
- /package/lib/types/components/{SmoothScroll → CustomScroll}/AnimatonFrame.d.ts +0 -0
- /package/src/{Application → Vevet}/events/.eslintrc +0 -0
- /package/src/{Application → Vevet}/events/createViewport/stories/index.stories.tsx +0 -0
- /package/src/{Application → Vevet}/stories/index.stories.tsx +0 -0
- /package/src/{utils/internal → Vevet/utils}/fetchWebpSupport.ts +0 -0
- /package/src/{utils/internal → Vevet/utils}/getDeviceInfo.ts +0 -0
|
@@ -1,102 +1,76 @@
|
|
|
1
1
|
import { getApp } from '../../utils/internal/getApp';
|
|
2
2
|
/**
|
|
3
|
-
* A class for
|
|
4
|
-
*
|
|
5
|
-
* There are two ways to change properties:
|
|
6
|
-
* - To set a resize-listener on window (or use {@linkcode Viewport}).
|
|
7
|
-
* When the window is resized, change the properties with the help of
|
|
8
|
-
* {@linkcode MutableProps.changeProps}
|
|
9
|
-
*
|
|
10
|
-
* - The second way is to use the MutableProps and add responsive properties
|
|
11
|
-
* with help of {@linkcode MutableProps.addResponsiveProps}.
|
|
3
|
+
* A class for managing mutable properties that can change based on window size (responsive design).
|
|
4
|
+
* This allows certain properties to update dynamically when the window is resized or in response to manual changes.
|
|
12
5
|
*
|
|
13
6
|
* @example
|
|
14
7
|
*
|
|
15
8
|
* interface IStatic {
|
|
16
9
|
* static: string;
|
|
17
10
|
* }
|
|
18
|
-
|
|
11
|
+
*
|
|
19
12
|
* interface IChangeable {
|
|
20
13
|
* changeable: string;
|
|
21
14
|
* }
|
|
22
|
-
|
|
15
|
+
*
|
|
23
16
|
* const props = new MutableProps<IStatic, IChangeable>({
|
|
24
17
|
* static: '',
|
|
25
18
|
* changeable: 'something',
|
|
26
19
|
* });
|
|
27
|
-
|
|
20
|
+
*
|
|
28
21
|
* props.addResponsiveProps({
|
|
29
22
|
* breakpoint: 'viewport_phone',
|
|
30
23
|
* settings: {
|
|
31
24
|
* changeable: 'phone',
|
|
32
25
|
* },
|
|
33
26
|
* });
|
|
34
|
-
|
|
27
|
+
*
|
|
35
28
|
* props.changeProps({ changeable: 'changed' });
|
|
36
29
|
*/
|
|
37
30
|
export class MutableProps {
|
|
38
31
|
/**
|
|
39
|
-
*
|
|
40
|
-
|
|
41
|
-
get props() {
|
|
42
|
-
return this._props;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* @example
|
|
32
|
+
* Initializes the `MutableProps` instance with static and changeable properties,
|
|
33
|
+
* and sets up a mutation callback to be called when properties change.
|
|
46
34
|
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* const responsive = [
|
|
52
|
-
* {
|
|
53
|
-
* breakpoint: 'm',
|
|
54
|
-
* settings: {
|
|
55
|
-
* myProp: false
|
|
56
|
-
* }
|
|
57
|
-
* }
|
|
58
|
-
* ];
|
|
59
|
-
*
|
|
60
|
-
* const props = new MutableProps(static, responsive);
|
|
35
|
+
* @param initProps - Initial properties, including both static and changeable properties.
|
|
36
|
+
* @param _onMutate - Callback function triggered whenever the properties change.
|
|
37
|
+
* @param _name - The name used to identify the set of responsive properties.
|
|
61
38
|
*/
|
|
62
|
-
constructor(
|
|
63
|
-
/**
|
|
64
|
-
* The properties that were set while initialization.
|
|
65
|
-
* These properties will nevet change.
|
|
66
|
-
*/
|
|
67
|
-
_initProps,
|
|
68
|
-
/**
|
|
69
|
-
* A callback that is launched when properties are changed
|
|
70
|
-
*/
|
|
71
|
-
_onMutate = () => { },
|
|
72
|
-
/**
|
|
73
|
-
* Name of the responsive properties.
|
|
74
|
-
*/
|
|
75
|
-
_name = 'Responsive Props') {
|
|
76
|
-
this._initProps = _initProps;
|
|
39
|
+
constructor(initProps, _onMutate = () => { }, _name = 'Responsive Props') {
|
|
77
40
|
this._onMutate = _onMutate;
|
|
78
41
|
this._name = _name;
|
|
79
42
|
/**
|
|
80
|
-
* A set of responsive rules
|
|
43
|
+
* A set of responsive rules defining how properties should change based on viewport size or device type.
|
|
44
|
+
* Each rule is defined by a breakpoint and corresponding property settings.
|
|
81
45
|
*/
|
|
82
46
|
this._responsiveRules = [];
|
|
83
|
-
this._refProps = Object.assign({},
|
|
84
|
-
this._props = Object.assign({},
|
|
47
|
+
this._refProps = Object.assign({}, initProps);
|
|
48
|
+
this._props = Object.assign({}, initProps);
|
|
85
49
|
this._activeBreakpoints = [];
|
|
86
50
|
}
|
|
87
51
|
/**
|
|
88
|
-
*
|
|
52
|
+
* Retrieves the current properties.
|
|
53
|
+
* These may change either due to responsive rules or through manual updates.
|
|
54
|
+
*/
|
|
55
|
+
get props() {
|
|
56
|
+
return this._props;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Adds responsive rules that define how the properties should change based on viewport breakpoints.
|
|
60
|
+
*
|
|
61
|
+
* @param rules - Responsive rules specifying breakpoints and corresponding property settings.
|
|
89
62
|
*/
|
|
90
63
|
addResponsiveProps(rules) {
|
|
91
64
|
this._responsiveRules.push(rules);
|
|
92
65
|
this._responseProps();
|
|
93
|
-
if (
|
|
66
|
+
if (this._viewportCallback) {
|
|
94
67
|
return;
|
|
95
68
|
}
|
|
96
69
|
this._viewportCallback = getApp().viewport.callbacks.add('width', this._responseProps.bind(this), { name: this._name });
|
|
97
70
|
}
|
|
98
71
|
/**
|
|
99
|
-
*
|
|
72
|
+
* Handles updating the properties based on the current viewport size.
|
|
73
|
+
* It checks all responsive rules and applies the appropriate settings for active breakpoints.
|
|
100
74
|
*/
|
|
101
75
|
_responseProps() {
|
|
102
76
|
const app = getApp();
|
|
@@ -105,8 +79,7 @@ export class MutableProps {
|
|
|
105
79
|
const statProp = Object.assign({}, this._refProps);
|
|
106
80
|
const prevActiveBreakpointsString = [...this._activeBreakpoints].join('_');
|
|
107
81
|
this._activeBreakpoints = [];
|
|
108
|
-
//
|
|
109
|
-
// and check if a proper breakpoint exists
|
|
82
|
+
// Evaluate each responsive rule to see if it should be applied
|
|
110
83
|
this._responsiveRules.forEach(({ settings, breakpoint }) => {
|
|
111
84
|
if (typeof breakpoint === 'number') {
|
|
112
85
|
if (viewport.width <= breakpoint) {
|
|
@@ -142,13 +115,15 @@ export class MutableProps {
|
|
|
142
115
|
// otherwise, change the properties
|
|
143
116
|
this._props = Object.assign(Object.assign({}, this._props), newProps);
|
|
144
117
|
}
|
|
145
|
-
// callback
|
|
118
|
+
// Call the mutation callback if properties have changed
|
|
146
119
|
if (isPropsChanged) {
|
|
147
120
|
this._onMutate();
|
|
148
121
|
}
|
|
149
122
|
}
|
|
150
123
|
/**
|
|
151
|
-
*
|
|
124
|
+
* Manually changes the properties. The updated properties persist and trigger the mutation callback.
|
|
125
|
+
*
|
|
126
|
+
* @param props - A partial set of changeable properties to be updated.
|
|
152
127
|
*/
|
|
153
128
|
changeProps(props) {
|
|
154
129
|
this._props = Object.assign(Object.assign({}, this._props), props);
|
|
@@ -156,7 +131,7 @@ export class MutableProps {
|
|
|
156
131
|
this._onMutate();
|
|
157
132
|
}
|
|
158
133
|
/**
|
|
159
|
-
*
|
|
134
|
+
* Cleans up and destroys the responsive properties.
|
|
160
135
|
*/
|
|
161
136
|
destroy() {
|
|
162
137
|
if (this._viewportCallback) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/MutableProps/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAMjD
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/MutableProps/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,36 @@
|
|
|
1
1
|
import { Module } from '../Module';
|
|
2
2
|
/**
|
|
3
|
-
* A class for Plugins.
|
|
3
|
+
* A base abstract class for Plugins that extend the functionality of components.
|
|
4
|
+
* A plugin is designed to attach to a component and modify or enhance its behavior.
|
|
5
|
+
* It inherits from the {@link Module} class and adds functionality to work with a component.
|
|
4
6
|
*/
|
|
5
7
|
export class Plugin extends Module {
|
|
8
|
+
/**
|
|
9
|
+
* Constructs the plugin.
|
|
10
|
+
*
|
|
11
|
+
* @param initialProps - Initial static and changeable properties for the plugin.
|
|
12
|
+
*/
|
|
6
13
|
constructor(initialProps) {
|
|
7
14
|
super(initialProps, false);
|
|
8
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Retrieves the component to which this plugin is attached.
|
|
18
|
+
*/
|
|
9
19
|
get component() {
|
|
10
20
|
return this._component;
|
|
11
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Sets the component for this plugin. This method is called by the parent component when the plugin is added.
|
|
24
|
+
*/
|
|
12
25
|
set component(value) {
|
|
13
26
|
this._component = value;
|
|
14
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Initializes the plugin and ensures it is properly associated with a component.
|
|
30
|
+
* If the component is not set before calling `init`, it throws an error.
|
|
31
|
+
*
|
|
32
|
+
* @throws {Error} If `component` is not set.
|
|
33
|
+
*/
|
|
15
34
|
init() {
|
|
16
35
|
if (!this.component) {
|
|
17
36
|
throw new Error('Component is unknown. Be sure that `plugin.component` is non-nullable.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/Plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAKnC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/Plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAKnC;;;;GAIG;AACH,MAAM,OAAgB,MAKpB,SAAQ,MAAoD;IAC5D;;;;OAIG;IACH,YAAY,YAA4C;QACtD,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAQD;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,KAAK;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACI,IAAI;QACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;SACH;QAED,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;CACF"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import { Component as ComponentClass } from '../../base/Component';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Launches an animation frame with a specified FPS, allowing
|
|
4
|
+
* control over playback and FPS calculations in real-time.
|
|
4
5
|
*/
|
|
5
6
|
export class AnimationFrame extends ComponentClass {
|
|
6
7
|
_getDefaultProps() {
|
|
7
8
|
return Object.assign(Object.assign({}, super._getDefaultProps()), { fps: 'auto', autoFpsFrames: 10, isEnabled: false });
|
|
8
9
|
}
|
|
10
|
+
/** Returns the current playback state of the animation frame */
|
|
9
11
|
get isPlaying() {
|
|
10
12
|
return this._isPlaying;
|
|
11
13
|
}
|
|
12
|
-
/**
|
|
14
|
+
/** Returns the current computed FPS, which may differ from the set FPS */
|
|
13
15
|
get computedFPS() {
|
|
14
16
|
return this._computedFPS;
|
|
15
17
|
}
|
|
16
|
-
/** Coefficient
|
|
17
|
-
get
|
|
18
|
+
/** Coefficient that scales based on a target of 60 FPS compared to the computed FPS */
|
|
19
|
+
get fpsMultiplier() {
|
|
18
20
|
return 60 / this.computedFPS;
|
|
19
21
|
}
|
|
20
22
|
constructor(initialProps, canInit = true) {
|
|
@@ -33,7 +35,7 @@ export class AnimationFrame extends ComponentClass {
|
|
|
33
35
|
_init() {
|
|
34
36
|
super._init();
|
|
35
37
|
if (this.props.isEnabled) {
|
|
36
|
-
this.
|
|
38
|
+
this._play();
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
_onPropsMutate() {
|
|
@@ -48,7 +50,7 @@ export class AnimationFrame extends ComponentClass {
|
|
|
48
50
|
this._pause();
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
|
-
/**
|
|
53
|
+
/** Begins the animation loop */
|
|
52
54
|
play() {
|
|
53
55
|
if (this.isDestroyed) {
|
|
54
56
|
return;
|
|
@@ -58,7 +60,7 @@ export class AnimationFrame extends ComponentClass {
|
|
|
58
60
|
}
|
|
59
61
|
this.changeProps({ isEnabled: true });
|
|
60
62
|
}
|
|
61
|
-
/**
|
|
63
|
+
/** Internal method to start the animation loop */
|
|
62
64
|
_play() {
|
|
63
65
|
if (this.isPlaying) {
|
|
64
66
|
return;
|
|
@@ -68,14 +70,14 @@ export class AnimationFrame extends ComponentClass {
|
|
|
68
70
|
this.callbacks.tbt('toggle', undefined);
|
|
69
71
|
this._raf = window.requestAnimationFrame(this._animate.bind(this));
|
|
70
72
|
}
|
|
71
|
-
/**
|
|
73
|
+
/** Pauses the animation loop */
|
|
72
74
|
pause() {
|
|
73
75
|
if (!this.props.isEnabled) {
|
|
74
76
|
return;
|
|
75
77
|
}
|
|
76
78
|
this.changeProps({ isEnabled: false });
|
|
77
79
|
}
|
|
78
|
-
/**
|
|
80
|
+
/** Internal method to pause the animation loop */
|
|
79
81
|
_pause() {
|
|
80
82
|
if (!this.isPlaying) {
|
|
81
83
|
return;
|
|
@@ -88,38 +90,30 @@ export class AnimationFrame extends ComponentClass {
|
|
|
88
90
|
this.callbacks.tbt('pause', undefined);
|
|
89
91
|
this.callbacks.tbt('toggle', undefined);
|
|
90
92
|
}
|
|
91
|
-
/**
|
|
93
|
+
/** Handles each frame of the animation, calculates FPS, and triggers callbacks */
|
|
92
94
|
_animate() {
|
|
93
95
|
if (!this._isPlaying) {
|
|
94
96
|
return;
|
|
95
97
|
}
|
|
96
98
|
this._raf = window.requestAnimationFrame(this._animate.bind(this));
|
|
97
|
-
// update time
|
|
98
99
|
const startTime = Date.now();
|
|
99
100
|
if (this._rafFirst === null) {
|
|
100
101
|
this._rafFirst = startTime;
|
|
101
102
|
}
|
|
102
|
-
// calculate frame index
|
|
103
103
|
const minFrameDuration = this.props.fps === 'auto' ? 1 : 1000 / this.props.fps;
|
|
104
104
|
const newFrameIndex = Math.floor((startTime - this._rafFirst) / minFrameDuration);
|
|
105
|
-
// break if frame index the same
|
|
106
105
|
if (newFrameIndex <= this._rafIndex) {
|
|
107
106
|
return;
|
|
108
107
|
}
|
|
109
|
-
// update frame index
|
|
110
108
|
this._rafIndex = newFrameIndex;
|
|
111
|
-
// compute fps
|
|
112
109
|
this._computeFPS(startTime);
|
|
113
|
-
// launch callbacks
|
|
114
110
|
this.callbacks.tbt('frame', undefined);
|
|
115
|
-
// update vars
|
|
116
111
|
this._rafLast = startTime;
|
|
117
112
|
}
|
|
118
|
-
/**
|
|
113
|
+
/** Computes the real-time FPS based on the duration between frames */
|
|
119
114
|
_computeFPS(startTime) {
|
|
120
115
|
var _a;
|
|
121
116
|
const lastFrameDuration = startTime - ((_a = this._rafLast) !== null && _a !== void 0 ? _a : startTime);
|
|
122
|
-
// skip frames that seem not real
|
|
123
117
|
if (lastFrameDuration <= 0 || lastFrameDuration > 250) {
|
|
124
118
|
return;
|
|
125
119
|
}
|
|
@@ -132,10 +126,9 @@ export class AnimationFrame extends ComponentClass {
|
|
|
132
126
|
const computedFPS = Math.floor(1000 / approximateFrameDuration);
|
|
133
127
|
const normalizedFPS = Math.round(computedFPS / 10) * 10;
|
|
134
128
|
this._computedFPS = normalizedFPS;
|
|
135
|
-
// clear durations
|
|
136
129
|
this._durations = [];
|
|
137
130
|
}
|
|
138
|
-
/**
|
|
131
|
+
/** Destroys the animation frame and stops the loop */
|
|
139
132
|
_destroy() {
|
|
140
133
|
this.pause();
|
|
141
134
|
super._destroy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/AnimationFrame/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAK/D
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/AnimationFrame/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,50 +2,53 @@ import { Component as ComponentClass } from '../../base/Component';
|
|
|
2
2
|
import { onResize } from '../../utils/listeners/onResize';
|
|
3
3
|
import { getApp } from '../../utils/internal/getApp';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
* It
|
|
7
|
-
* implement automatic resize.
|
|
5
|
+
* A class that simplifies working with an HTML5 Canvas element and its 2D context.
|
|
6
|
+
* It can handle automatic resizing and provides helper methods for rendering and managing canvas properties.
|
|
8
7
|
*/
|
|
9
8
|
export class Ctx2D extends ComponentClass {
|
|
9
|
+
/** @inheritDoc */
|
|
10
10
|
_getDefaultProps() {
|
|
11
11
|
return Object.assign(Object.assign({}, super._getDefaultProps()), { container: false, shouldAppend: true, hasInitialResize: true, hasResize: false, viewportTarget: 'any', resizeDebounce: 0, width: 'auto', height: 'auto', dpr: 'auto' });
|
|
12
12
|
}
|
|
13
|
-
/** The parent element of the canvas */
|
|
13
|
+
/** The parent element of the canvas used to calculate size */
|
|
14
14
|
get container() {
|
|
15
15
|
return this.props.container;
|
|
16
16
|
}
|
|
17
|
-
/**
|
|
17
|
+
/** Returns the current canvas element */
|
|
18
18
|
get canvas() {
|
|
19
19
|
return this._canvas;
|
|
20
20
|
}
|
|
21
|
-
/** 2D
|
|
21
|
+
/** Returns the 2D rendering context */
|
|
22
22
|
get ctx() {
|
|
23
23
|
return this._ctx;
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
/** Returns the current width of the canvas (with DPR applied) */
|
|
26
26
|
get width() {
|
|
27
27
|
return this._width;
|
|
28
28
|
}
|
|
29
|
-
|
|
29
|
+
/** Returns the width of the canvas without the device pixel ratio (DPR) */
|
|
30
30
|
get clientWidth() {
|
|
31
31
|
return this.width / this.dpr;
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
/** Returns the current height of the canvas (with DPR applied) */
|
|
34
34
|
get height() {
|
|
35
35
|
return this._height;
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
/** Returns the height of the canvas without the device pixel ratio (DPR) */
|
|
38
38
|
get clientHeight() {
|
|
39
39
|
return this.height / this.dpr;
|
|
40
40
|
}
|
|
41
|
-
/**
|
|
41
|
+
/** Returns the current device pixel ratio (DPR) */
|
|
42
42
|
get dpr() {
|
|
43
43
|
return this._dpr;
|
|
44
44
|
}
|
|
45
|
-
/**
|
|
45
|
+
/** Checks if the canvas is ready to be rendered */
|
|
46
46
|
get canRender() {
|
|
47
47
|
return this.width > 0 && this.height > 0;
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Constructor for the Ctx2D class.
|
|
51
|
+
*/
|
|
49
52
|
constructor(initialProps, canInit = true) {
|
|
50
53
|
super(initialProps, false);
|
|
51
54
|
const { shouldAppend, container } = this.props;
|
|
@@ -53,33 +56,37 @@ export class Ctx2D extends ComponentClass {
|
|
|
53
56
|
this._width = 0;
|
|
54
57
|
this._height = 0;
|
|
55
58
|
this._dpr = 1;
|
|
56
|
-
// create canvas
|
|
59
|
+
// create canvas element
|
|
57
60
|
this._canvas = document.createElement('canvas');
|
|
58
61
|
this._canvas.style.position = 'absolute';
|
|
59
62
|
this._canvas.style.top = '0';
|
|
60
63
|
this._canvas.style.left = '0';
|
|
61
64
|
this._canvas.style.width = '100%';
|
|
62
65
|
this._canvas.style.height = '100%';
|
|
63
|
-
// append canvas
|
|
66
|
+
// append canvas to container if required
|
|
64
67
|
if (shouldAppend && container instanceof Element) {
|
|
65
68
|
container.append(this._canvas);
|
|
66
69
|
this.addDestroyableAction(() => this.canvas.remove());
|
|
67
70
|
}
|
|
68
|
-
// create context
|
|
71
|
+
// create 2D context
|
|
69
72
|
this._ctx = this._canvas.getContext('2d');
|
|
70
73
|
if (canInit) {
|
|
71
74
|
this.init();
|
|
72
75
|
}
|
|
73
76
|
}
|
|
77
|
+
/** @inheritDoc */
|
|
74
78
|
_onPropsMutate() {
|
|
75
79
|
super._onPropsMutate();
|
|
76
80
|
this.resize();
|
|
77
81
|
}
|
|
82
|
+
/** @inheritDoc */
|
|
78
83
|
_init() {
|
|
79
84
|
super._init();
|
|
80
85
|
this._setResize();
|
|
81
86
|
}
|
|
82
|
-
/**
|
|
87
|
+
/**
|
|
88
|
+
* Sets up the resize event listener for the canvas, if enabled.
|
|
89
|
+
*/
|
|
83
90
|
_setResize() {
|
|
84
91
|
const { hasInitialResize, hasResize, viewportTarget, resizeDebounce } = this.props;
|
|
85
92
|
if (!hasResize) {
|
|
@@ -96,21 +103,23 @@ export class Ctx2D extends ComponentClass {
|
|
|
96
103
|
resizeHandler.resize();
|
|
97
104
|
}
|
|
98
105
|
}
|
|
99
|
-
/**
|
|
106
|
+
/**
|
|
107
|
+
* Resizes the canvas based on the container or viewport size and applies the device pixel ratio (DPR).
|
|
108
|
+
*/
|
|
100
109
|
resize() {
|
|
101
110
|
const { props, canvas } = this;
|
|
102
111
|
if (!canvas) {
|
|
103
112
|
return;
|
|
104
113
|
}
|
|
105
114
|
const { viewport } = getApp();
|
|
106
|
-
// calculate
|
|
115
|
+
// calculate DPR
|
|
107
116
|
if (typeof props.dpr === 'number') {
|
|
108
117
|
this._dpr = props.dpr;
|
|
109
118
|
}
|
|
110
119
|
else {
|
|
111
120
|
this._dpr = viewport.dpr;
|
|
112
121
|
}
|
|
113
|
-
// calculate new width
|
|
122
|
+
// calculate new width and height
|
|
114
123
|
let newWidth = 0;
|
|
115
124
|
let newHeight = 0;
|
|
116
125
|
if (typeof props.width === 'number' && typeof props.height === 'number') {
|
|
@@ -125,22 +134,28 @@ export class Ctx2D extends ComponentClass {
|
|
|
125
134
|
newWidth = viewport.width;
|
|
126
135
|
newHeight = viewport.height;
|
|
127
136
|
}
|
|
128
|
-
// apply
|
|
137
|
+
// apply DPR
|
|
129
138
|
newWidth *= this._dpr;
|
|
130
139
|
newHeight *= this._dpr;
|
|
131
|
-
// update
|
|
140
|
+
// update canvas size
|
|
132
141
|
this._width = newWidth;
|
|
133
142
|
this._height = newHeight;
|
|
134
|
-
// apply sizes
|
|
135
143
|
canvas.width = newWidth;
|
|
136
144
|
canvas.height = newHeight;
|
|
137
|
-
//
|
|
145
|
+
// handle resize event and trigger callbacks
|
|
138
146
|
this._handleResize();
|
|
139
147
|
this.callbacks.tbt('resize', undefined);
|
|
140
148
|
}
|
|
141
|
-
/**
|
|
149
|
+
/**
|
|
150
|
+
* A method called after the canvas has been resized.
|
|
151
|
+
* This can be extended or customized in subclasses.
|
|
152
|
+
*/
|
|
142
153
|
_handleResize() { }
|
|
143
|
-
/**
|
|
154
|
+
/**
|
|
155
|
+
* Renders content on the canvas if it is ready.
|
|
156
|
+
*
|
|
157
|
+
* @param renderProp - A function that performs the actual rendering on the canvas.
|
|
158
|
+
*/
|
|
144
159
|
render(renderProp) {
|
|
145
160
|
if (!this.canRender) {
|
|
146
161
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Ctx2D/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAIjD
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Ctx2D/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
import { getPos } from 'get-image-pos';
|
|
2
2
|
import { Ctx2D } from '../Ctx2D';
|
|
3
3
|
/**
|
|
4
|
-
* The class allows
|
|
4
|
+
* The `Ctx2DPrerender` class allows pre-rendering of media (such as images or video) onto a canvas.
|
|
5
|
+
* This can be useful for reducing payloads by preparing the media for further use in a more optimized form.
|
|
5
6
|
*/
|
|
6
7
|
export class Ctx2DPrerender extends Ctx2D {
|
|
7
8
|
_getDefaultProps() {
|
|
8
9
|
return Object.assign(Object.assign({}, super._getDefaultProps()), { media: false, posRule: 'cover' });
|
|
9
10
|
}
|
|
10
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Handles the canvas resize event and triggers the prerender process.
|
|
13
|
+
* This method is called when the canvas size changes and recalculates the
|
|
14
|
+
* rendering dimensions.
|
|
15
|
+
*/
|
|
11
16
|
_handleResize() {
|
|
12
17
|
super._handleResize();
|
|
18
|
+
// Trigger rendering after resize
|
|
13
19
|
this.render((props) => this._prerender(props));
|
|
14
20
|
}
|
|
15
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Prerenders the media onto the canvas using the specified positioning rule.
|
|
23
|
+
* Clears the canvas, calculates the position and dimensions for the media,
|
|
24
|
+
* and then draws it on the canvas.
|
|
25
|
+
*/
|
|
16
26
|
_prerender({ width, height, ctx }) {
|
|
17
27
|
const { media, posRule } = this.props;
|
|
18
|
-
//
|
|
28
|
+
// Determine the media source and its dimensions
|
|
19
29
|
let source;
|
|
20
30
|
let sourceWidth;
|
|
21
31
|
let sourceHeight;
|
|
@@ -27,7 +37,7 @@ export class Ctx2DPrerender extends Ctx2D {
|
|
|
27
37
|
else {
|
|
28
38
|
source = media;
|
|
29
39
|
}
|
|
30
|
-
//
|
|
40
|
+
// Calculate media position and size based on the posRule
|
|
31
41
|
const size = getPos({
|
|
32
42
|
source,
|
|
33
43
|
sourceWidth,
|
|
@@ -37,10 +47,10 @@ export class Ctx2DPrerender extends Ctx2D {
|
|
|
37
47
|
width,
|
|
38
48
|
height,
|
|
39
49
|
});
|
|
40
|
-
//
|
|
50
|
+
// Clear the canvas and draw the media with the calculated size
|
|
41
51
|
ctx.clearRect(0, 0, width, height);
|
|
42
52
|
ctx.drawImage(source, size.x, size.y, size.width, size.height);
|
|
43
|
-
//
|
|
53
|
+
// Trigger prerender callback
|
|
44
54
|
this.callbacks.tbt('prerender', undefined);
|
|
45
55
|
}
|
|
46
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Ctx2DPrerender/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,KAAK,EAAU,MAAM,UAAU,CAAC;AAKzC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Ctx2DPrerender/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,KAAK,EAAU,MAAM,UAAU,CAAC;AAKzC;;;GAGG;AACH,MAAM,OAAO,cAOX,SAAQ,KAAmD;IACjD,gBAAgB;QACxB,uCACK,KAAK,CAAC,gBAAgB,EAAE,KAC3B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,IAChB;IACJ,CAAC;IAED;;;;OAIG;IACO,aAAa;QACrB,KAAK,CAAC,aAAa,EAAE,CAAC;QAEtB,iCAAiC;QACjC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACO,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAuB;QAC9D,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAEtC,gDAAgD;QAChD,IAAI,MAA0B,CAAC;QAC/B,IAAI,WAA+B,CAAC;QACpC,IAAI,YAAgC,CAAC;QAErC,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACtB,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;SAC7B;aAAM;YACL,MAAM,GAAG,KAAY,CAAC;SACvB;QAED,yDAAyD;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC;YAClB,MAAM;YACN,WAAW;YACX,YAAY;YACZ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,CAAC;YACR,KAAK;YACL,MAAM;SACP,CAAC,CAAC;QAEH,+DAA+D;QAC/D,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE/D,6BAA6B;QAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;CACF"}
|