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
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { addEventListener } from 'vevet-dom';
|
|
2
|
-
import { getApp } from '@/utils/internal/getApp';
|
|
3
2
|
import { Callbacks } from '@/base/Callbacks';
|
|
4
|
-
import { ICallbacksTypes } from './types';
|
|
3
|
+
import { ICallbacksTypes, IOnPageLoad } from './types';
|
|
5
4
|
|
|
6
|
-
export function createOnPageLoad() {
|
|
5
|
+
export function createOnPageLoad(prefix: string): IOnPageLoad {
|
|
7
6
|
const callbacks = new Callbacks<ICallbacksTypes>();
|
|
8
7
|
|
|
9
8
|
let isLoaded = false;
|
|
@@ -16,19 +15,20 @@ export function createOnPageLoad() {
|
|
|
16
15
|
|
|
17
16
|
/** Callback on page loaded */
|
|
18
17
|
function handleLoaded() {
|
|
19
|
-
const
|
|
20
|
-
const {
|
|
18
|
+
const html = document.documentElement;
|
|
19
|
+
const { body } = document;
|
|
21
20
|
|
|
22
21
|
isLoaded = true;
|
|
23
22
|
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
html.classList.remove(`${prefix}loading`);
|
|
24
|
+
body.classList.remove(`${prefix}loading`);
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
html.classList.add(`${prefix}loaded`);
|
|
28
27
|
|
|
29
28
|
callbacks.tbt('loaded', undefined);
|
|
30
29
|
}
|
|
31
30
|
|
|
31
|
+
/** Add a callback on page load */
|
|
32
32
|
function onLoad(callback: () => void) {
|
|
33
33
|
if (isLoaded) {
|
|
34
34
|
callback();
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NCallbacks } from '@/base/Callbacks/types';
|
|
2
|
+
|
|
3
|
+
export interface ICallbacksTypes extends NCallbacks.ITypes {
|
|
4
|
+
loaded: undefined;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface IOnPageLoad {
|
|
8
|
+
/**
|
|
9
|
+
* Add a callback on page load
|
|
10
|
+
* If the page is already loaded, the callback will be called immediately and return undefined.
|
|
11
|
+
* Otherwise, a descructable callback will be returned that can be used to remove the callback.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* const callback = vevet.pageLoad.onLoad(() => console.log('Page loaded'));
|
|
15
|
+
*
|
|
16
|
+
* callback?.remove()
|
|
17
|
+
*/
|
|
18
|
+
onLoad: (callback: () => void) => NCallbacks.IAddedCallback | undefined;
|
|
19
|
+
/** Get if the page is loaded */
|
|
20
|
+
getIsLoaded: () => boolean;
|
|
21
|
+
}
|
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
import { addEventListener } from 'vevet-dom';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
EOrientationTypes,
|
|
4
|
+
ESizeTypes,
|
|
5
|
+
IViewport,
|
|
6
|
+
IViewportCallbackTypes,
|
|
7
|
+
} from './types';
|
|
4
8
|
import { Callbacks } from '@/base/Callbacks';
|
|
9
|
+
import { IVevetProps } from '../../types';
|
|
10
|
+
|
|
11
|
+
export function createViewport(
|
|
12
|
+
props: IVevetProps,
|
|
13
|
+
isDesktopDevice: boolean,
|
|
14
|
+
prefix: string,
|
|
15
|
+
): IViewport {
|
|
16
|
+
const html = document.documentElement;
|
|
5
17
|
|
|
6
|
-
export function createViewport() {
|
|
7
18
|
// create callbacks
|
|
8
|
-
const callbacks = new Callbacks<
|
|
19
|
+
const callbacks = new Callbacks<IViewportCallbackTypes>();
|
|
9
20
|
|
|
10
|
-
//
|
|
11
|
-
const data = {
|
|
21
|
+
// default data
|
|
22
|
+
const data: IViewport = {
|
|
12
23
|
callbacks,
|
|
13
24
|
width: 0,
|
|
14
25
|
height: 0,
|
|
@@ -22,13 +33,13 @@ export function createViewport() {
|
|
|
22
33
|
isTablet: false,
|
|
23
34
|
isPhone: false,
|
|
24
35
|
dpr: window.devicePixelRatio,
|
|
25
|
-
|
|
36
|
+
lowerDpr: window.devicePixelRatio,
|
|
26
37
|
};
|
|
27
38
|
|
|
28
39
|
// update values for the first time
|
|
29
40
|
updateValues();
|
|
30
41
|
|
|
31
|
-
//
|
|
42
|
+
// add resize events
|
|
32
43
|
|
|
33
44
|
let resizeTimeout: NodeJS.Timeout | undefined;
|
|
34
45
|
|
|
@@ -41,11 +52,10 @@ export function createViewport() {
|
|
|
41
52
|
resizeTimeout = setTimeout(() => {
|
|
42
53
|
onResize();
|
|
43
54
|
resizeTimeout = undefined;
|
|
44
|
-
},
|
|
55
|
+
}, props.resizeDebounce);
|
|
45
56
|
});
|
|
46
57
|
|
|
47
|
-
|
|
48
|
-
|
|
58
|
+
/** Event on window resize */
|
|
49
59
|
function onResize() {
|
|
50
60
|
const { width: prevWidth, height: prevHeight } = data;
|
|
51
61
|
|
|
@@ -53,36 +63,27 @@ export function createViewport() {
|
|
|
53
63
|
|
|
54
64
|
const { width, height } = data;
|
|
55
65
|
|
|
56
|
-
// get changes in viewport
|
|
57
|
-
const changes: NViewport.IChanges = {
|
|
58
|
-
isWidthChanged: width !== prevWidth,
|
|
59
|
-
isHeightChanged: height !== prevHeight,
|
|
60
|
-
isOrientationChanged: width > height !== prevWidth > prevHeight,
|
|
61
|
-
};
|
|
62
|
-
|
|
63
66
|
if (width !== prevWidth && height === prevHeight) {
|
|
64
|
-
callbacks.tbt('widthOnly',
|
|
67
|
+
callbacks.tbt('widthOnly', undefined);
|
|
65
68
|
}
|
|
66
69
|
if (height !== prevHeight && width === prevWidth) {
|
|
67
|
-
callbacks.tbt('heightOnly',
|
|
70
|
+
callbacks.tbt('heightOnly', undefined);
|
|
68
71
|
}
|
|
69
72
|
if (width !== prevWidth && height !== prevHeight) {
|
|
70
|
-
callbacks.tbt('both',
|
|
73
|
+
callbacks.tbt('both', undefined);
|
|
71
74
|
}
|
|
72
75
|
if (width !== prevWidth) {
|
|
73
|
-
callbacks.tbt('width',
|
|
76
|
+
callbacks.tbt('width', undefined);
|
|
74
77
|
}
|
|
75
78
|
if (height !== prevHeight) {
|
|
76
|
-
callbacks.tbt('height',
|
|
79
|
+
callbacks.tbt('height', undefined);
|
|
77
80
|
}
|
|
78
81
|
|
|
79
|
-
callbacks.tbt('any',
|
|
82
|
+
callbacks.tbt('any', undefined);
|
|
80
83
|
}
|
|
81
84
|
|
|
85
|
+
/** Update viewport values */
|
|
82
86
|
function updateValues() {
|
|
83
|
-
const app = getApp();
|
|
84
|
-
const { html, props } = app;
|
|
85
|
-
|
|
86
87
|
// get width
|
|
87
88
|
const width =
|
|
88
89
|
props.widthDetection === 'boundingRect'
|
|
@@ -102,18 +103,19 @@ export function createViewport() {
|
|
|
102
103
|
data.isTablet = data.width <= props.tablet && data.width > props.phone;
|
|
103
104
|
data.isPhone = data.width <= props.phone;
|
|
104
105
|
data.dpr = window.devicePixelRatio;
|
|
105
|
-
data.
|
|
106
|
+
data.lowerDpr = data.dpr < 1 ? 1 : data.dpr;
|
|
106
107
|
data.isDesktop = data.width > props.tablet;
|
|
107
108
|
data.isTablet = data.width <= props.tablet && data.width > props.phone;
|
|
108
109
|
data.isPhone = data.width <= props.phone;
|
|
109
110
|
data.dpr = window.devicePixelRatio;
|
|
110
|
-
data.
|
|
111
|
+
data.lowerDpr = isDesktopDevice ? 1 : Math.min(data.dpr, 2);
|
|
111
112
|
|
|
112
113
|
// update states
|
|
113
114
|
updateClassNames();
|
|
114
115
|
updateCSSVars();
|
|
115
116
|
}
|
|
116
117
|
|
|
118
|
+
/** Update page classnames according to the viewport data */
|
|
117
119
|
function updateClassNames() {
|
|
118
120
|
const viewportSizeTypes: ESizeTypes[] = [
|
|
119
121
|
ESizeTypes.Desktop,
|
|
@@ -143,17 +145,15 @@ export function createViewport() {
|
|
|
143
145
|
}
|
|
144
146
|
}
|
|
145
147
|
|
|
148
|
+
/** Set classnames */
|
|
146
149
|
function updateBreakpointClassNames(activeType: string, types: string[]) {
|
|
147
|
-
const { html, prefix } = getApp();
|
|
148
|
-
|
|
149
150
|
types.forEach((type) => {
|
|
150
151
|
html.classList.toggle(`${prefix}viewport-${type}`, type === activeType);
|
|
151
152
|
});
|
|
152
153
|
}
|
|
153
154
|
|
|
155
|
+
/** Update CSS variables */
|
|
154
156
|
function updateCSSVars() {
|
|
155
|
-
const { html } = getApp();
|
|
156
|
-
|
|
157
157
|
html.style.setProperty('--vw', `${data.vw}px`);
|
|
158
158
|
html.style.setProperty('--vh', `${data.vh}px`);
|
|
159
159
|
html.style.setProperty('--vr', `${data.vr}px`);
|
|
@@ -161,5 +161,3 @@ export function createViewport() {
|
|
|
161
161
|
|
|
162
162
|
return data;
|
|
163
163
|
}
|
|
164
|
-
|
|
165
|
-
export type { NViewport };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React, { FC, useCallback, useEffect, useState } from 'react';
|
|
2
|
-
import { vevet } from '@/src/vevet';
|
|
3
2
|
import { pickObjectProps } from '@/utils/common';
|
|
4
|
-
|
|
5
|
-
const { viewport } = vevet;
|
|
3
|
+
import { getApp } from '@/utils/internal/getApp';
|
|
6
4
|
|
|
7
5
|
export const Component: FC = () => {
|
|
8
6
|
const [features, setFeatures] = useState<Record<string, boolean | number>>();
|
|
9
7
|
|
|
10
8
|
const updateFeatures = useCallback(() => {
|
|
9
|
+
const { viewport } = getApp();
|
|
10
|
+
|
|
11
11
|
const object = pickObjectProps(viewport, [
|
|
12
12
|
'isDesktop',
|
|
13
13
|
'isTablet',
|
|
@@ -18,7 +18,7 @@ export const Component: FC = () => {
|
|
|
18
18
|
'isLandscape',
|
|
19
19
|
'isPortrait',
|
|
20
20
|
'dpr',
|
|
21
|
-
'
|
|
21
|
+
'lowerDpr',
|
|
22
22
|
'vh',
|
|
23
23
|
'vw',
|
|
24
24
|
'vr',
|
|
@@ -30,7 +30,9 @@ export const Component: FC = () => {
|
|
|
30
30
|
useEffect(() => {
|
|
31
31
|
updateFeatures();
|
|
32
32
|
|
|
33
|
-
const callback = viewport.callbacks.add('any', () =>
|
|
33
|
+
const callback = getApp().viewport.callbacks.add('any', () =>
|
|
34
|
+
updateFeatures(),
|
|
35
|
+
);
|
|
34
36
|
|
|
35
37
|
return () => callback.remove();
|
|
36
38
|
}, [updateFeatures]);
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { Callbacks, NCallbacks } from '@/base/Callbacks';
|
|
2
|
+
|
|
3
|
+
export interface IViewportCallbackTypes extends NCallbacks.ITypes {
|
|
4
|
+
/**
|
|
5
|
+
* When the width is changed regardless of the height
|
|
6
|
+
*/
|
|
7
|
+
width: undefined;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* When the height is changed regardless of the width
|
|
11
|
+
*/
|
|
12
|
+
height: undefined;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* When both the width and height are changed
|
|
16
|
+
*/
|
|
17
|
+
both: undefined;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* When only the width is changed
|
|
21
|
+
*/
|
|
22
|
+
widthOnly: undefined;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* When only the height is changed
|
|
26
|
+
*/
|
|
27
|
+
heightOnly: undefined;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Any change
|
|
31
|
+
*/
|
|
32
|
+
any: undefined;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** Viewport size types */
|
|
36
|
+
export enum ESizeTypes {
|
|
37
|
+
Desktop = 'desktop',
|
|
38
|
+
Tablet = 'tablet',
|
|
39
|
+
Phone = 'phone',
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** Orientation types */
|
|
43
|
+
export enum EOrientationTypes {
|
|
44
|
+
Landscape = 'landscape',
|
|
45
|
+
Portrait = 'portrait',
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface IViewport {
|
|
49
|
+
/**
|
|
50
|
+
* Viewport callbacks
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
*
|
|
54
|
+
* vevet.viewport.callbacks.add('width', () => console.log('width changed'));
|
|
55
|
+
*
|
|
56
|
+
* vevet.viewport.callbacks.add('height', () => console.log('height changed'));
|
|
57
|
+
*
|
|
58
|
+
* vevet.viewport.callbacks.add('both', () => console.log('both width and height changed'));
|
|
59
|
+
*
|
|
60
|
+
* vevet.viewport.callbacks.add('widthOnly', () => console.log('only width changed'));
|
|
61
|
+
*
|
|
62
|
+
* vevet.viewport.callbacks.add('heightOnly', () => console.log('only height changed'));
|
|
63
|
+
*
|
|
64
|
+
* vevet.viewport.callbacks.add('any', () => console.log('any change'));
|
|
65
|
+
*/
|
|
66
|
+
callbacks: Callbacks<IViewportCallbackTypes>;
|
|
67
|
+
/** Current viewport width */
|
|
68
|
+
width: number;
|
|
69
|
+
/** Current viewport height */
|
|
70
|
+
height: number;
|
|
71
|
+
/** Current viewport outer radius */
|
|
72
|
+
radius: number;
|
|
73
|
+
/** Current viewport width divided by 100 */
|
|
74
|
+
vw: number;
|
|
75
|
+
/** Current viewport height divided by 100 */
|
|
76
|
+
vh: number;
|
|
77
|
+
/** Current viewport radius divided by 100 */
|
|
78
|
+
vr: number;
|
|
79
|
+
/** Is viewport in landscape mode */
|
|
80
|
+
isLandscape: boolean;
|
|
81
|
+
/** Is viewport in portrait mode */
|
|
82
|
+
isPortrait: boolean;
|
|
83
|
+
/** Is viewport in desktop mode */
|
|
84
|
+
isDesktop: boolean;
|
|
85
|
+
/** Is viewport in tablet mode */
|
|
86
|
+
isTablet: boolean;
|
|
87
|
+
/** Is viewport in phone mode */
|
|
88
|
+
isPhone: boolean;
|
|
89
|
+
/** Device pixel ratio */
|
|
90
|
+
dpr: number;
|
|
91
|
+
/** Lower device pixel ratio (1 for desktop and maximum 2 for mobile devices) */
|
|
92
|
+
lowerDpr: number;
|
|
93
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IVevetProps } from './types';
|
|
2
|
+
import { IVevet } from './global';
|
|
3
|
+
import { IOnPageLoad } from './events/createOnPageLoad/types';
|
|
4
|
+
import {
|
|
5
|
+
IViewportCallbackTypes,
|
|
6
|
+
IViewport,
|
|
7
|
+
} from './events/createViewport/types';
|
|
8
|
+
|
|
9
|
+
export type {
|
|
10
|
+
IVevetProps,
|
|
11
|
+
IVevet,
|
|
12
|
+
IOnPageLoad,
|
|
13
|
+
IViewportCallbackTypes,
|
|
14
|
+
IViewport,
|
|
15
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { IOnPageLoad } from './events/createOnPageLoad/types';
|
|
2
|
+
import { IViewport } from './events/createViewport/types';
|
|
3
|
+
import { IVevetProps } from './types';
|
|
4
|
+
import { PCancelable } from '@/utils/common/PCancelable';
|
|
5
|
+
|
|
6
|
+
/** Vevet Application */
|
|
7
|
+
export interface IVevet {
|
|
8
|
+
/** Current Vevet version */
|
|
9
|
+
version: string;
|
|
10
|
+
/** Appliction properties */
|
|
11
|
+
props: IVevetProps;
|
|
12
|
+
/** Prefix used by Vevet for class names. */
|
|
13
|
+
prefix: string;
|
|
14
|
+
/** Is phone device */
|
|
15
|
+
isPhone: boolean;
|
|
16
|
+
/** Is tablet device */
|
|
17
|
+
isTablet: boolean;
|
|
18
|
+
/** Is desktop device */
|
|
19
|
+
isDesktop: boolean;
|
|
20
|
+
/** Is mobile device */
|
|
21
|
+
isMobile: boolean;
|
|
22
|
+
/** OS name */
|
|
23
|
+
osName: string;
|
|
24
|
+
/** Browser name */
|
|
25
|
+
browserName: string;
|
|
26
|
+
/** If WebP is supported in the browser */
|
|
27
|
+
isWebpSupported: boolean;
|
|
28
|
+
/** Page load handler */
|
|
29
|
+
pageLoad: IOnPageLoad;
|
|
30
|
+
/** If the page is loaded */
|
|
31
|
+
isPageLoaded: boolean;
|
|
32
|
+
/** Viewport handler */
|
|
33
|
+
viewport: IViewport;
|
|
34
|
+
/** Document */
|
|
35
|
+
doc: Document;
|
|
36
|
+
/** HTML element */
|
|
37
|
+
html: HTMLElement;
|
|
38
|
+
/** Body element */
|
|
39
|
+
body: HTMLElement;
|
|
40
|
+
/**
|
|
41
|
+
* Add an event on page load
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* const promise = vevet.onPageLoad();
|
|
45
|
+
*
|
|
46
|
+
* promise
|
|
47
|
+
* .then(() => console.log('Page loaded'))
|
|
48
|
+
* .catch(() => console.log('Error'));
|
|
49
|
+
*/
|
|
50
|
+
onPageLoad: () => PCancelable<void>;
|
|
51
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import version from '../version';
|
|
2
|
+
import { createOnPageLoad } from './events/createOnPageLoad';
|
|
3
|
+
import { IVevetProps } from './types';
|
|
4
|
+
import { fetchWebpSupport } from './utils/fetchWebpSupport';
|
|
5
|
+
import { PCancelable } from '@/utils/common/PCancelable';
|
|
6
|
+
import { createViewport } from './events/createViewport';
|
|
7
|
+
import { IVevet } from './global';
|
|
8
|
+
import { getDeviceInfo } from './utils/getDeviceInfo';
|
|
9
|
+
|
|
10
|
+
export function Vevet(input: Partial<IVevetProps>): IVevet {
|
|
11
|
+
// set default properties
|
|
12
|
+
|
|
13
|
+
const defaultProps: IVevetProps = {
|
|
14
|
+
tablet: 1199,
|
|
15
|
+
phone: 899,
|
|
16
|
+
easing: [0.25, 0.1, 0.25, 1],
|
|
17
|
+
resizeDebounce: 30,
|
|
18
|
+
checkWebpSupport: true,
|
|
19
|
+
widthDetection: 'boundingRect',
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const props = { ...defaultProps, ...input };
|
|
23
|
+
|
|
24
|
+
const prefix = 'v-';
|
|
25
|
+
|
|
26
|
+
// device info
|
|
27
|
+
|
|
28
|
+
const { osName, browserName, device } = getDeviceInfo();
|
|
29
|
+
const isPhone = device.phone;
|
|
30
|
+
const isTablet = device.tablet;
|
|
31
|
+
const isMobile = device.phone || device.tablet;
|
|
32
|
+
const isDesktop = !isMobile;
|
|
33
|
+
|
|
34
|
+
// events
|
|
35
|
+
|
|
36
|
+
const pageLoad = createOnPageLoad(prefix);
|
|
37
|
+
const viewport = createViewport(props, isDesktop, prefix);
|
|
38
|
+
|
|
39
|
+
// output
|
|
40
|
+
|
|
41
|
+
const output: IVevet = {
|
|
42
|
+
version,
|
|
43
|
+
props,
|
|
44
|
+
prefix,
|
|
45
|
+
isPhone,
|
|
46
|
+
isTablet,
|
|
47
|
+
isDesktop,
|
|
48
|
+
isMobile,
|
|
49
|
+
osName,
|
|
50
|
+
browserName,
|
|
51
|
+
isWebpSupported: false,
|
|
52
|
+
pageLoad,
|
|
53
|
+
isPageLoaded: false,
|
|
54
|
+
viewport,
|
|
55
|
+
doc: document,
|
|
56
|
+
html: document.documentElement,
|
|
57
|
+
body: document.body,
|
|
58
|
+
onPageLoad: () =>
|
|
59
|
+
new PCancelable((resolve: (...arg: any) => void) =>
|
|
60
|
+
pageLoad.onLoad(resolve),
|
|
61
|
+
),
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
// update props on page load
|
|
65
|
+
|
|
66
|
+
output.pageLoad.onLoad(() => {
|
|
67
|
+
output.isPageLoaded = true;
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
// set device features
|
|
71
|
+
|
|
72
|
+
(function setDeviceFeatures() {
|
|
73
|
+
const { html } = output;
|
|
74
|
+
|
|
75
|
+
html.classList.add(`${prefix}os-${osName}`);
|
|
76
|
+
|
|
77
|
+
html.classList.add(`${prefix}browser-${browserName}`);
|
|
78
|
+
|
|
79
|
+
html.classList.toggle(`${prefix}phone`, output.isPhone);
|
|
80
|
+
|
|
81
|
+
html.classList.toggle(`${prefix}tablet`, output.isTablet);
|
|
82
|
+
|
|
83
|
+
html.classList.toggle(`${prefix}mobile`, output.isMobile);
|
|
84
|
+
|
|
85
|
+
html.classList.toggle(`${prefix}desktop`, output.isDesktop);
|
|
86
|
+
|
|
87
|
+
// check webp support
|
|
88
|
+
if (props.checkWebpSupport) {
|
|
89
|
+
fetchWebpSupport()
|
|
90
|
+
.then(() => {
|
|
91
|
+
output.isWebpSupported = true;
|
|
92
|
+
})
|
|
93
|
+
.catch(() => {});
|
|
94
|
+
}
|
|
95
|
+
})();
|
|
96
|
+
|
|
97
|
+
return output;
|
|
98
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React, { FC, useCallback, useEffect, useState } from 'react';
|
|
2
|
-
import { vevet } from '@/src/vevet';
|
|
3
2
|
import { pickObjectProps } from '@/utils/common';
|
|
3
|
+
import { getApp } from '@/utils/internal/getApp';
|
|
4
4
|
|
|
5
5
|
export const Component: FC = () => {
|
|
6
6
|
const [features, setFeatures] =
|
|
7
7
|
useState<Record<string, boolean | number | string>>();
|
|
8
8
|
|
|
9
9
|
const updateFeatures = useCallback(() => {
|
|
10
|
-
const object = pickObjectProps(
|
|
10
|
+
const object = pickObjectProps(getApp(), [
|
|
11
11
|
'version',
|
|
12
12
|
'prefix',
|
|
13
13
|
'isDesktop',
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { TEasingType } from '@/utils/math';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Application configuration properties for initializing Vevet.
|
|
5
|
+
*/
|
|
6
|
+
export interface IVevetProps {
|
|
7
|
+
/**
|
|
8
|
+
* Tablet identification max width in pixels.
|
|
9
|
+
* When changing this property, you need to
|
|
10
|
+
* update SASS variables: `$viewport-tablet`. The values must be equal.
|
|
11
|
+
* @default 1199
|
|
12
|
+
*/
|
|
13
|
+
tablet: number;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Phone identification max width in pixels.
|
|
17
|
+
* When changing this property, you need to
|
|
18
|
+
* update SASS variables: `$viewport-phone`. The values must be equal.
|
|
19
|
+
* @default 899
|
|
20
|
+
*/
|
|
21
|
+
phone: number;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Timeout (in ms) for viewport callbacks debouncing.
|
|
25
|
+
* @default 16
|
|
26
|
+
*/
|
|
27
|
+
resizeDebounce: number;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Default easing function used in animations.
|
|
31
|
+
* Accepts a cubic-bezier array, function or an easing name defined {@link https://antonbobrov.github.io/easing-progress/|here}.
|
|
32
|
+
* @default [.25, .1, .25, 1]
|
|
33
|
+
*/
|
|
34
|
+
easing: TEasingType;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Enable or disable WebP support check in the browser.
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
40
|
+
checkWebpSupport: boolean;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Method for detecting the viewport width.
|
|
44
|
+
* Can be 'boundingRect' or 'clientWidth'.
|
|
45
|
+
* @default 'boundingRect'
|
|
46
|
+
*/
|
|
47
|
+
widthDetection: 'boundingRect' | 'clientWidth';
|
|
48
|
+
}
|