vevet 3.0.0-beta.5 → 3.0.0-beta.7
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 +12 -0
- package/lib/cjs/Application/index.js +2 -1
- package/lib/cjs/Application/index.js.map +1 -1
- package/lib/cjs/components/CustomCursor/index.js +15 -8
- package/lib/cjs/components/CustomCursor/index.js.map +1 -1
- package/lib/cjs/utils/image/index.js +0 -1
- package/lib/cjs/utils/image/index.js.map +1 -1
- package/lib/cjs/utils/image/load.js +15 -14
- package/lib/cjs/utils/image/load.js.map +1 -1
- package/lib/cjs/utils/image/pathsToProps.js +32 -0
- package/lib/cjs/utils/image/pathsToProps.js.map +1 -1
- package/lib/cjs/utils/image/sizesToSrcSet.js +11 -0
- package/lib/cjs/utils/image/sizesToSrcSet.js.map +1 -1
- package/lib/cjs/utils/listeners/index.js +0 -1
- package/lib/cjs/utils/listeners/index.js.map +1 -1
- package/lib/cjs/utils/listeners/isIntersectionObserverSupported.js +3 -1
- package/lib/cjs/utils/listeners/isIntersectionObserverSupported.js.map +1 -1
- package/lib/cjs/utils/listeners/onResize.js +20 -0
- package/lib/cjs/utils/listeners/onResize.js.map +1 -1
- package/lib/cjs/utils/scroll/getScrollValues.js +4 -0
- package/lib/cjs/utils/scroll/getScrollValues.js.map +1 -1
- package/lib/cjs/utils/scroll/index.js +0 -1
- package/lib/cjs/utils/scroll/index.js.map +1 -1
- package/lib/cjs/utils/scroll/normalizeWheel.js +7 -0
- package/lib/cjs/utils/scroll/normalizeWheel.js.map +1 -1
- package/lib/cjs/utils/scroll/onScroll.js +8 -0
- package/lib/cjs/utils/scroll/onScroll.js.map +1 -1
- package/lib/cjs/utils/scroll/scrollTo.js +20 -0
- package/lib/cjs/utils/scroll/scrollTo.js.map +1 -1
- package/lib/cjs/utils/scroll/scrollToElement.js +25 -0
- package/lib/cjs/utils/scroll/scrollToElement.js.map +1 -1
- package/lib/cjs/version.js +1 -1
- package/lib/esm/Application/index.js +2 -1
- package/lib/esm/Application/index.js.map +1 -1
- package/lib/esm/components/CustomCursor/index.js +15 -8
- package/lib/esm/components/CustomCursor/index.js.map +1 -1
- package/lib/esm/utils/image/index.js +0 -1
- package/lib/esm/utils/image/index.js.map +1 -1
- package/lib/esm/utils/image/load.js +15 -14
- package/lib/esm/utils/image/load.js.map +1 -1
- package/lib/esm/utils/image/pathsToProps.js +32 -0
- package/lib/esm/utils/image/pathsToProps.js.map +1 -1
- package/lib/esm/utils/image/sizesToSrcSet.js +11 -0
- package/lib/esm/utils/image/sizesToSrcSet.js.map +1 -1
- package/lib/esm/utils/listeners/index.js +0 -1
- package/lib/esm/utils/listeners/index.js.map +1 -1
- package/lib/esm/utils/listeners/isIntersectionObserverSupported.js +3 -1
- package/lib/esm/utils/listeners/isIntersectionObserverSupported.js.map +1 -1
- package/lib/esm/utils/listeners/onResize.js +20 -0
- package/lib/esm/utils/listeners/onResize.js.map +1 -1
- package/lib/esm/utils/scroll/getScrollValues.js +4 -0
- package/lib/esm/utils/scroll/getScrollValues.js.map +1 -1
- package/lib/esm/utils/scroll/index.js +0 -1
- package/lib/esm/utils/scroll/index.js.map +1 -1
- package/lib/esm/utils/scroll/normalizeWheel.js +7 -0
- package/lib/esm/utils/scroll/normalizeWheel.js.map +1 -1
- package/lib/esm/utils/scroll/onScroll.js +8 -0
- package/lib/esm/utils/scroll/onScroll.js.map +1 -1
- package/lib/esm/utils/scroll/scrollTo.js +20 -0
- package/lib/esm/utils/scroll/scrollTo.js.map +1 -1
- package/lib/esm/utils/scroll/scrollToElement.js +25 -0
- package/lib/esm/utils/scroll/scrollToElement.js.map +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/types/Application/index.d.ts +2 -1
- package/lib/types/Application/index.d.ts.map +1 -1
- package/lib/types/Application/types.d.ts +0 -3
- package/lib/types/Application/types.d.ts.map +1 -1
- package/lib/types/components/CustomCursor/index.d.ts +4 -4
- package/lib/types/components/CustomCursor/index.d.ts.map +1 -1
- package/lib/types/components/CustomCursor/types.d.ts +5 -5
- package/lib/types/components/CustomCursor/types.d.ts.map +1 -1
- package/lib/types/utils/image/load.d.ts +11 -0
- package/lib/types/utils/image/load.d.ts.map +1 -1
- package/lib/types/utils/image/pathsToProps.d.ts +32 -0
- package/lib/types/utils/image/pathsToProps.d.ts.map +1 -1
- package/lib/types/utils/image/sizesToSrcSet.d.ts +11 -0
- package/lib/types/utils/image/sizesToSrcSet.d.ts.map +1 -1
- package/lib/types/utils/listeners/isIntersectionObserverSupported.d.ts +3 -1
- package/lib/types/utils/listeners/isIntersectionObserverSupported.d.ts.map +1 -1
- package/lib/types/utils/listeners/onResize.d.ts +21 -1
- package/lib/types/utils/listeners/onResize.d.ts.map +1 -1
- package/lib/types/utils/scroll/getScrollValues.d.ts +4 -0
- package/lib/types/utils/scroll/getScrollValues.d.ts.map +1 -1
- package/lib/types/utils/scroll/normalizeWheel.d.ts +7 -0
- package/lib/types/utils/scroll/normalizeWheel.d.ts.map +1 -1
- package/lib/types/utils/scroll/onScroll.d.ts +8 -0
- package/lib/types/utils/scroll/onScroll.d.ts.map +1 -1
- package/lib/types/utils/scroll/scrollTo.d.ts +20 -0
- package/lib/types/utils/scroll/scrollTo.d.ts.map +1 -1
- package/lib/types/utils/scroll/scrollToElement.d.ts +25 -0
- package/lib/types/utils/scroll/scrollToElement.d.ts.map +1 -1
- package/lib/types/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/Application/index.ts +2 -1
- package/src/Application/types.ts +0 -3
- package/src/components/CustomCursor/index.ts +17 -14
- package/src/components/CustomCursor/types.ts +5 -5
- package/src/utils/image/index.ts +0 -2
- package/src/utils/image/load.ts +23 -14
- package/src/utils/image/pathsToProps.ts +32 -0
- package/src/utils/image/sizesToSrcSet.ts +11 -0
- package/src/utils/listeners/index.ts +0 -2
- package/src/utils/listeners/isIntersectionObserverSupported.ts +3 -1
- package/src/utils/listeners/onResize.ts +21 -1
- package/src/utils/scroll/getScrollValues.ts +4 -0
- package/src/utils/scroll/index.ts +0 -2
- package/src/utils/scroll/normalizeWheel.ts +7 -0
- package/src/utils/scroll/onScroll.ts +8 -0
- package/src/utils/scroll/scrollTo.ts +20 -0
- package/src/utils/scroll/scrollToElement.ts +25 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../../../src/utils/image/load.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AAOvC,KAAK,eAAe,GAAG;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../../../src/utils/image/load.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AAOvC,KAAK,eAAe,GAAG;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,GAAG,gBAAgB,EACjC,KAAK,CAAC,EAAE,eAAe,iCAgExB"}
|
|
@@ -9,6 +9,38 @@ export interface IImageAdaptivePaths<S extends Record<string | number, string> =
|
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Transform image paths to properties
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
*
|
|
15
|
+
* imagePathsToProps({
|
|
16
|
+
* original: '/original.jpg',
|
|
17
|
+
* thumb: '/thumb.jpg',
|
|
18
|
+
* thumbWebp: '/thumb.webp',
|
|
19
|
+
* });
|
|
20
|
+
* // => {"src":"/thumb.webp","srcSet":""}
|
|
21
|
+
*
|
|
22
|
+
* imagePathsToProps({
|
|
23
|
+
* original: '/original.jpg',
|
|
24
|
+
* thumb: '/thumb.jpg',
|
|
25
|
+
* thumbWebp: '/thumb.webp',
|
|
26
|
+
* sizes: {
|
|
27
|
+
* 640: '/640.jpg',
|
|
28
|
+
* 750: '/750.jpg',
|
|
29
|
+
* 1024: '/1024.jpg',
|
|
30
|
+
* 1440: '/1440.jpg',
|
|
31
|
+
* 1920: '/1920.jpg',
|
|
32
|
+
* 2560: '/2560.jpg',
|
|
33
|
+
* },
|
|
34
|
+
* sizesWebp: {
|
|
35
|
+
* 640: '/640.webp',
|
|
36
|
+
* 750: '/750.webp',
|
|
37
|
+
* 1024: '/1024.webp',
|
|
38
|
+
* 1440: '/1440.webp',
|
|
39
|
+
* 1920: '/1920.webp',
|
|
40
|
+
* 2560: '/2560.webp',
|
|
41
|
+
* },
|
|
42
|
+
* });
|
|
43
|
+
* // => {"src":"/thumb.webp","srcSet":"/640.webp 640w, /750.webp 750w, /1024.webp 1024w, /1440.webp 1440w, /1920.webp 1920w, /2560.webp 2560w"}
|
|
12
44
|
*/
|
|
13
45
|
export declare function imagePathsToProps(data: IImagePaths | IImageAdaptivePaths): {
|
|
14
46
|
src: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathsToProps.d.ts","sourceRoot":"","sources":["../../../../src/utils/image/pathsToProps.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,CAC9C,SAAQ,WAAW;IACnB,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,SAAS,CAAC,EAAE,CAAC,CAAC;CACf;AAED
|
|
1
|
+
{"version":3,"file":"pathsToProps.d.ts","sourceRoot":"","sources":["../../../../src/utils/image/pathsToProps.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,CAC9C,SAAQ,WAAW;IACnB,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,SAAS,CAAC,EAAE,CAAC,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,mBAAmB;;;EAyBxE"}
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Transform image sizes to src set
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
*
|
|
6
|
+
* imageSizesToSrcSet({
|
|
7
|
+
* 640: '/640.jpg',
|
|
8
|
+
* 750: '/750.jpg',
|
|
9
|
+
* 1024: '/1024.jpg',
|
|
10
|
+
* 1440: '/1440.jpg',
|
|
11
|
+
* });
|
|
12
|
+
*
|
|
13
|
+
* // => "/640.jpg 640w, /750.jpg 750w, /1024.jpg 1024w, /1440.jpg 1440w"
|
|
3
14
|
*/
|
|
4
15
|
export declare function imageSizesToSrcSet(sizes: Record<string | number, string>): string;
|
|
5
16
|
//# sourceMappingURL=sizesToSrcSet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sizesToSrcSet.d.ts","sourceRoot":"","sources":["../../../../src/utils/image/sizesToSrcSet.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sizesToSrcSet.d.ts","sourceRoot":"","sources":["../../../../src/utils/image/sizesToSrcSet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,UAYxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isIntersectionObserverSupported.d.ts","sourceRoot":"","sources":["../../../../src/utils/listeners/isIntersectionObserverSupported.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"isIntersectionObserverSupported.d.ts","sourceRoot":"","sources":["../../../../src/utils/listeners/isIntersectionObserverSupported.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,+BAA+B,YAU9C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NViewport } from '
|
|
1
|
+
import { NViewport } from '../../Application/events/Viewport';
|
|
2
2
|
export type TOnResizeTarget = keyof NViewport.ICallbacksTypes;
|
|
3
3
|
export interface IOnResizeProps {
|
|
4
4
|
/** Callback on resize */
|
|
@@ -37,6 +37,26 @@ export interface IOnResize {
|
|
|
37
37
|
* Add events on resize.
|
|
38
38
|
* If `element` is provided, `ResizeObserver` will be used (first callback will not be fired).
|
|
39
39
|
* Otherwise, viewport callbacks will be used.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
*
|
|
43
|
+
* const handler = onResize({
|
|
44
|
+
* onResize: () => console.log('resize'),
|
|
45
|
+
* element: document.getElementById('app')!,
|
|
46
|
+
* viewportTarget: 'any',
|
|
47
|
+
* hasBothEvents: true, // trace both element and viewport sizes
|
|
48
|
+
* resizeDebounce: 100,
|
|
49
|
+
* });
|
|
50
|
+
*
|
|
51
|
+
* // resize with timeout called twice, but `onResize` will be called only once
|
|
52
|
+
* handler.debounceResize();
|
|
53
|
+
* handler.debounceResize();
|
|
54
|
+
*
|
|
55
|
+
* // resize without timeout
|
|
56
|
+
* handler.resize();
|
|
57
|
+
*
|
|
58
|
+
* // remove listeners
|
|
59
|
+
* handler.remove();
|
|
40
60
|
*/
|
|
41
61
|
export declare function onResize({ onResize: handleResize, element, viewportTarget, hasBothEvents, resizeDebounce, }: IOnResizeProps): IOnResize;
|
|
42
62
|
//# sourceMappingURL=onResize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onResize.d.ts","sourceRoot":"","sources":["../../../../src/utils/listeners/onResize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"onResize.d.ts","sourceRoot":"","sources":["../../../../src/utils/listeners/onResize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAG9D,MAAM,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,yBAAyB;IACzB,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC;IACtC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,2BAA2B;IAC3B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,2CAA2C;IAC3C,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,gCAAgC;IAChC,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EAAE,YAAY,EACtB,OAAO,EACP,cAAsB,EACtB,aAAqB,EACrB,cAAkB,GACnB,EAAE,cAAc,GAAG,SAAS,CAwD5B"}
|
|
@@ -5,6 +5,10 @@ export interface IGetScrollValues {
|
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* Get scroll values of a certain element
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
*
|
|
11
|
+
* getScrollValues(window); // => { scrollTop: 0, scrollLeft: 0 }
|
|
8
12
|
*/
|
|
9
13
|
export declare function getScrollValues(selector?: Window | Element | IScrollLike | undefined): IGetScrollValues | undefined;
|
|
10
14
|
//# sourceMappingURL=getScrollValues.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getScrollValues.d.ts","sourceRoot":"","sources":["../../../../src/utils/scroll/getScrollValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED
|
|
1
|
+
{"version":3,"file":"getScrollValues.d.ts","sourceRoot":"","sources":["../../../../src/utils/scroll/getScrollValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,GAAE,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,SAAkB,GAC5D,gBAAgB,GAAG,SAAS,CAe9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeWheel.d.ts","sourceRoot":"","sources":["../../../../src/utils/scroll/normalizeWheel.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU;;;;;EAE/C"}
|
|
1
|
+
{"version":3,"file":"normalizeWheel.d.ts","sourceRoot":"","sources":["../../../../src/utils/scroll/normalizeWheel.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU;;;;;EAE/C"}
|
|
@@ -12,6 +12,14 @@ export interface IOnScrollProps {
|
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
14
|
* Add `onScroll` event
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
*
|
|
18
|
+
* onScroll({
|
|
19
|
+
* container: window,
|
|
20
|
+
* callback: ({ scrollLeft, scrollTop }) => console.log(scrollLeft, scrollTop),
|
|
21
|
+
* isPassive: true,
|
|
22
|
+
* });
|
|
15
23
|
*/
|
|
16
24
|
export declare function onScroll({ container, callback, isPassive, }: IOnScrollProps): IRemovable;
|
|
17
25
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onScroll.d.ts","sourceRoot":"","sources":["../../../../src/utils/scroll/onScroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAaD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,UAAU,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAID
|
|
1
|
+
{"version":3,"file":"onScroll.d.ts","sourceRoot":"","sources":["../../../../src/utils/scroll/onScroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAaD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,UAAU,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,QAAQ,EACR,SAAiB,GAClB,EAAE,cAAc,GAAG,UAAU,CAyE7B"}
|
|
@@ -22,6 +22,26 @@ export interface IScrollToProps {
|
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Scroll to coordinates
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
*
|
|
28
|
+
* // static duration
|
|
29
|
+
* scrollTo({
|
|
30
|
+
* container: window,
|
|
31
|
+
* top: 500,
|
|
32
|
+
* duration: 500,
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* // dynamic duration
|
|
36
|
+
* scrollTo({
|
|
37
|
+
* top: 1000,
|
|
38
|
+
* duration: (px) => px,
|
|
39
|
+
* });
|
|
40
|
+
*
|
|
41
|
+
* // use promise
|
|
42
|
+
* scrollTo({ top: 500 })
|
|
43
|
+
* .then(() => console.log('done'))
|
|
44
|
+
* .catch(() => {});
|
|
25
45
|
*/
|
|
26
46
|
export declare function scrollTo({ container, top, left, duration: durationProp, }: IScrollToProps): Promise<void>;
|
|
27
47
|
//# sourceMappingURL=scrollTo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollTo.d.ts","sourceRoot":"","sources":["../../../../src/utils/scroll/scrollTo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;IAC3C;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;CACpD;AAED
|
|
1
|
+
{"version":3,"file":"scrollTo.d.ts","sourceRoot":"","sources":["../../../../src/utils/scroll/scrollTo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;IAC3C;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,SAAkB,EAClB,GAAO,EACP,IAAQ,EACR,QAAQ,EAAE,YAAkB,GAC7B,EAAE,cAAc,iBAuChB"}
|
|
@@ -7,6 +7,31 @@ export interface IScrollToElementProps extends IScrollToProps {
|
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
9
|
* Scroll to element
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* // static duration
|
|
14
|
+
* scrollToElement({
|
|
15
|
+
* container: window,
|
|
16
|
+
* element: document.getElementById('element_20')!,
|
|
17
|
+
* top: 60,
|
|
18
|
+
* duration: 500,
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* // dynamic duration
|
|
22
|
+
* scrollToElement({
|
|
23
|
+
* element: document.getElementById('element_20')!,
|
|
24
|
+
* top: 60,
|
|
25
|
+
* duration: (px) => px,
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* // use promise
|
|
29
|
+
* scrollToElement({
|
|
30
|
+
* element: document.getElementById('element_20')!,
|
|
31
|
+
* top: 60,
|
|
32
|
+
* })
|
|
33
|
+
* .then(() => console.log('done'))
|
|
34
|
+
* .catch(() => {});
|
|
10
35
|
*/
|
|
11
36
|
export declare function scrollToElement({ container, element: elementProp, top, left, ...props }: IScrollToElementProps): Promise<void>;
|
|
12
37
|
//# sourceMappingURL=scrollToElement.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollToElement.d.ts","sourceRoot":"","sources":["../../../../src/utils/scroll/scrollToElement.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAY,MAAM,YAAY,CAAC;AAEtD,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D;;OAEG;IACH,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B;AAED
|
|
1
|
+
{"version":3,"file":"scrollToElement.d.ts","sourceRoot":"","sources":["../../../../src/utils/scroll/scrollToElement.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAY,MAAM,YAAY,CAAC;AAEtD,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D;;OAEG;IACH,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,eAAe,CAAC,EAC9B,SAAkB,EAClB,OAAO,EAAE,WAAW,EACpB,GAAO,EACP,IAAQ,EACR,GAAG,KAAK,EACT,EAAE,qBAAqB,iBAgCvB"}
|
package/lib/types/version.d.ts
CHANGED
package/package.json
CHANGED
package/src/Application/index.ts
CHANGED
|
@@ -7,7 +7,8 @@ import { getDeviceInfo } from '@/utils/internal/getDeviceInfo';
|
|
|
7
7
|
import { fetchWebpSupport } from '@/utils/internal/fetchWebpSupport';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
* Vevet Application
|
|
10
|
+
* Vevet Application. This is the base Vevet class
|
|
11
|
+
* that should be initialized first.
|
|
11
12
|
*/
|
|
12
13
|
export class Application {
|
|
13
14
|
/** Vevet version */
|
package/src/Application/types.ts
CHANGED
|
@@ -20,8 +20,8 @@ export class CustomCursor<
|
|
|
20
20
|
container: window,
|
|
21
21
|
isEnabled: true,
|
|
22
22
|
isNativeCursorHidden: false,
|
|
23
|
-
width:
|
|
24
|
-
height:
|
|
23
|
+
width: 36,
|
|
24
|
+
height: 36,
|
|
25
25
|
lerp: 0.2,
|
|
26
26
|
isFpsNormalized: true,
|
|
27
27
|
isAutoStop: true,
|
|
@@ -84,9 +84,6 @@ export class CustomCursor<
|
|
|
84
84
|
/** Animation frame */
|
|
85
85
|
private _animationFrame!: AnimationFrame;
|
|
86
86
|
|
|
87
|
-
/** If can play animation */
|
|
88
|
-
private _canPlay: boolean;
|
|
89
|
-
|
|
90
87
|
/** Current cursor coordinates */
|
|
91
88
|
private _coords: NCustomCursor.ICoords;
|
|
92
89
|
|
|
@@ -150,7 +147,6 @@ export class CustomCursor<
|
|
|
150
147
|
// set default vars
|
|
151
148
|
this._coords = { x: 0, y: 0, width: 0, height: 0 };
|
|
152
149
|
this._targetCoords = { x: 0, y: 0, width: 0, height: 0 };
|
|
153
|
-
this._canPlay = this.props.isEnabled;
|
|
154
150
|
|
|
155
151
|
if (canInit) {
|
|
156
152
|
this.init();
|
|
@@ -167,7 +163,18 @@ export class CustomCursor<
|
|
|
167
163
|
|
|
168
164
|
// enable by default
|
|
169
165
|
if (this.props.isEnabled) {
|
|
170
|
-
this.
|
|
166
|
+
this._enable();
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/** Handle properties mutation */
|
|
171
|
+
protected _onPropsMutate() {
|
|
172
|
+
super._onPropsMutate();
|
|
173
|
+
|
|
174
|
+
if (this.props.isEnabled) {
|
|
175
|
+
this._enable();
|
|
176
|
+
} else {
|
|
177
|
+
this._disable();
|
|
171
178
|
}
|
|
172
179
|
}
|
|
173
180
|
|
|
@@ -279,7 +286,7 @@ export class CustomCursor<
|
|
|
279
286
|
|
|
280
287
|
this.outerElement.classList.add(this.className('-in-action'));
|
|
281
288
|
|
|
282
|
-
if (this.
|
|
289
|
+
if (this.props.isEnabled) {
|
|
283
290
|
this._animationFrame.play();
|
|
284
291
|
}
|
|
285
292
|
}
|
|
@@ -414,9 +421,7 @@ export class CustomCursor<
|
|
|
414
421
|
}
|
|
415
422
|
|
|
416
423
|
/** Enable cursor animation */
|
|
417
|
-
|
|
418
|
-
this._canPlay = true;
|
|
419
|
-
|
|
424
|
+
protected _enable() {
|
|
420
425
|
this.outerElement.classList.remove(this.className('-disabled'));
|
|
421
426
|
this.innerElement.classList.remove(this.className('-disabled'));
|
|
422
427
|
|
|
@@ -424,9 +429,7 @@ export class CustomCursor<
|
|
|
424
429
|
}
|
|
425
430
|
|
|
426
431
|
/** Disable cursor animation */
|
|
427
|
-
|
|
428
|
-
this._canPlay = false;
|
|
429
|
-
|
|
432
|
+
protected _disable() {
|
|
430
433
|
this.outerElement.classList.add(this.className('-disabled'));
|
|
431
434
|
this.innerElement.classList.add(this.className('-disabled'));
|
|
432
435
|
|
|
@@ -7,11 +7,6 @@ export namespace NCustomCursor {
|
|
|
7
7
|
* @default window
|
|
8
8
|
*/
|
|
9
9
|
container: Window | Element | string;
|
|
10
|
-
/**
|
|
11
|
-
* If need to launch cursor animation after anitialization
|
|
12
|
-
* @default true
|
|
13
|
-
*/
|
|
14
|
-
isEnabled?: boolean;
|
|
15
10
|
/**
|
|
16
11
|
* If need to hide the native cursor
|
|
17
12
|
* @default false
|
|
@@ -20,6 +15,11 @@ export namespace NCustomCursor {
|
|
|
20
15
|
}
|
|
21
16
|
|
|
22
17
|
export interface IChangeableProps extends NComponent.IChangeableProps {
|
|
18
|
+
/**
|
|
19
|
+
* Custom cursor is enabled
|
|
20
|
+
* @default true
|
|
21
|
+
*/
|
|
22
|
+
isEnabled?: boolean;
|
|
23
23
|
/**
|
|
24
24
|
* @default 50
|
|
25
25
|
*/
|
package/src/utils/image/index.ts
CHANGED
package/src/utils/image/load.ts
CHANGED
|
@@ -18,6 +18,17 @@ type TLoadImageProps = {
|
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Load an image
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
*
|
|
24
|
+
* const loaderWithoutCache = loadImage('/image.jpg');
|
|
25
|
+
*
|
|
26
|
+
* loaderWithoutCache.then((img) => console.log(img)).catch(() => {});
|
|
27
|
+
*
|
|
28
|
+
* const loaderWithCache = loadImage('/image.jpg', {
|
|
29
|
+
* crossOrigin: 'anonymous',
|
|
30
|
+
* useCache: true,
|
|
31
|
+
* });
|
|
21
32
|
*/
|
|
22
33
|
export function loadImage(
|
|
23
34
|
source: string | HTMLImageElement,
|
|
@@ -38,6 +49,7 @@ export function loadImage(
|
|
|
38
49
|
(resolve: (img: HTMLImageElement) => void, reject: () => void) => {
|
|
39
50
|
const cachedImage =
|
|
40
51
|
loadProps.useCache && cachedImages.find((img) => img.src === imageSrc);
|
|
52
|
+
|
|
41
53
|
// get image from cache
|
|
42
54
|
if (cachedImage) {
|
|
43
55
|
resolve(cachedImage.image);
|
|
@@ -48,19 +60,19 @@ export function loadImage(
|
|
|
48
60
|
// load the image by src
|
|
49
61
|
if (typeof source === 'string') {
|
|
50
62
|
const img = new Image();
|
|
63
|
+
|
|
51
64
|
img.crossOrigin = loadProps.crossOrigin;
|
|
65
|
+
|
|
52
66
|
img.onload = () => {
|
|
53
67
|
if (loadProps.useCache) {
|
|
54
|
-
cachedImages.push({
|
|
55
|
-
src: imageSrc,
|
|
56
|
-
image: img,
|
|
57
|
-
});
|
|
68
|
+
cachedImages.push({ src: imageSrc, image: img });
|
|
58
69
|
}
|
|
70
|
+
|
|
59
71
|
resolve(img);
|
|
60
72
|
};
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
73
|
+
|
|
74
|
+
img.onerror = () => reject();
|
|
75
|
+
|
|
64
76
|
img.src = source;
|
|
65
77
|
|
|
66
78
|
return;
|
|
@@ -73,16 +85,13 @@ export function loadImage(
|
|
|
73
85
|
} else {
|
|
74
86
|
source.addEventListener('load', () => {
|
|
75
87
|
if (loadProps.useCache) {
|
|
76
|
-
cachedImages.push({
|
|
77
|
-
src: imageSrc,
|
|
78
|
-
image: source,
|
|
79
|
-
});
|
|
88
|
+
cachedImages.push({ src: imageSrc, image: source });
|
|
80
89
|
}
|
|
90
|
+
|
|
81
91
|
resolve(source);
|
|
82
92
|
});
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
});
|
|
93
|
+
|
|
94
|
+
source.addEventListener('error', () => reject());
|
|
86
95
|
}
|
|
87
96
|
}
|
|
88
97
|
}
|
|
@@ -15,6 +15,38 @@ export interface IImageAdaptivePaths<
|
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Transform image paths to properties
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
*
|
|
21
|
+
* imagePathsToProps({
|
|
22
|
+
* original: '/original.jpg',
|
|
23
|
+
* thumb: '/thumb.jpg',
|
|
24
|
+
* thumbWebp: '/thumb.webp',
|
|
25
|
+
* });
|
|
26
|
+
* // => {"src":"/thumb.webp","srcSet":""}
|
|
27
|
+
*
|
|
28
|
+
* imagePathsToProps({
|
|
29
|
+
* original: '/original.jpg',
|
|
30
|
+
* thumb: '/thumb.jpg',
|
|
31
|
+
* thumbWebp: '/thumb.webp',
|
|
32
|
+
* sizes: {
|
|
33
|
+
* 640: '/640.jpg',
|
|
34
|
+
* 750: '/750.jpg',
|
|
35
|
+
* 1024: '/1024.jpg',
|
|
36
|
+
* 1440: '/1440.jpg',
|
|
37
|
+
* 1920: '/1920.jpg',
|
|
38
|
+
* 2560: '/2560.jpg',
|
|
39
|
+
* },
|
|
40
|
+
* sizesWebp: {
|
|
41
|
+
* 640: '/640.webp',
|
|
42
|
+
* 750: '/750.webp',
|
|
43
|
+
* 1024: '/1024.webp',
|
|
44
|
+
* 1440: '/1440.webp',
|
|
45
|
+
* 1920: '/1920.webp',
|
|
46
|
+
* 2560: '/2560.webp',
|
|
47
|
+
* },
|
|
48
|
+
* });
|
|
49
|
+
* // => {"src":"/thumb.webp","srcSet":"/640.webp 640w, /750.webp 750w, /1024.webp 1024w, /1440.webp 1440w, /1920.webp 1920w, /2560.webp 2560w"}
|
|
18
50
|
*/
|
|
19
51
|
export function imagePathsToProps(data: IImagePaths | IImageAdaptivePaths) {
|
|
20
52
|
const app = window.vevetApp;
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Transform image sizes to src set
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
*
|
|
6
|
+
* imageSizesToSrcSet({
|
|
7
|
+
* 640: '/640.jpg',
|
|
8
|
+
* 750: '/750.jpg',
|
|
9
|
+
* 1024: '/1024.jpg',
|
|
10
|
+
* 1440: '/1440.jpg',
|
|
11
|
+
* });
|
|
12
|
+
*
|
|
13
|
+
* // => "/640.jpg 640w, /750.jpg 750w, /1024.jpg 1024w, /1440.jpg 1440w"
|
|
3
14
|
*/
|
|
4
15
|
export function imageSizesToSrcSet(sizes: Record<string | number, string>) {
|
|
5
16
|
const keys = Object.keys(sizes);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NViewport } from 'src/Application/events/Viewport';
|
|
1
|
+
import { NViewport } from '@/src/Application/events/Viewport';
|
|
2
2
|
import { NCallbacks } from '@/base/Callbacks';
|
|
3
3
|
|
|
4
4
|
export type TOnResizeTarget = keyof NViewport.ICallbacksTypes;
|
|
@@ -42,6 +42,26 @@ export interface IOnResize {
|
|
|
42
42
|
* Add events on resize.
|
|
43
43
|
* If `element` is provided, `ResizeObserver` will be used (first callback will not be fired).
|
|
44
44
|
* Otherwise, viewport callbacks will be used.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
*
|
|
48
|
+
* const handler = onResize({
|
|
49
|
+
* onResize: () => console.log('resize'),
|
|
50
|
+
* element: document.getElementById('app')!,
|
|
51
|
+
* viewportTarget: 'any',
|
|
52
|
+
* hasBothEvents: true, // trace both element and viewport sizes
|
|
53
|
+
* resizeDebounce: 100,
|
|
54
|
+
* });
|
|
55
|
+
*
|
|
56
|
+
* // resize with timeout called twice, but `onResize` will be called only once
|
|
57
|
+
* handler.debounceResize();
|
|
58
|
+
* handler.debounceResize();
|
|
59
|
+
*
|
|
60
|
+
* // resize without timeout
|
|
61
|
+
* handler.resize();
|
|
62
|
+
*
|
|
63
|
+
* // remove listeners
|
|
64
|
+
* handler.remove();
|
|
45
65
|
*/
|
|
46
66
|
export function onResize({
|
|
47
67
|
onResize: handleResize,
|
|
@@ -7,6 +7,10 @@ export interface IGetScrollValues {
|
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Get scroll values of a certain element
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* getScrollValues(window); // => { scrollTop: 0, scrollLeft: 0 }
|
|
10
14
|
*/
|
|
11
15
|
export function getScrollValues(
|
|
12
16
|
selector: Window | Element | IScrollLike | undefined = window
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import normalizeWheelFunc from 'normalize-wheel';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Normalize wheel delta
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
*
|
|
8
|
+
* normalizeWheel(event); // => { spinX: -0, spinY: 1.25, pixelX: -0, pixelY: 125 }
|
|
9
|
+
*/
|
|
3
10
|
export function normalizeWheel(event: WheelEvent) {
|
|
4
11
|
return normalizeWheelFunc(event);
|
|
5
12
|
}
|
|
@@ -32,6 +32,14 @@ let instances: IInstance[] = [];
|
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Add `onScroll` event
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
*
|
|
38
|
+
* onScroll({
|
|
39
|
+
* container: window,
|
|
40
|
+
* callback: ({ scrollLeft, scrollTop }) => console.log(scrollLeft, scrollTop),
|
|
41
|
+
* isPassive: true,
|
|
42
|
+
* });
|
|
35
43
|
*/
|
|
36
44
|
export function onScroll({
|
|
37
45
|
container,
|
|
@@ -26,6 +26,26 @@ export interface IScrollToProps {
|
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Scroll to coordinates
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
*
|
|
32
|
+
* // static duration
|
|
33
|
+
* scrollTo({
|
|
34
|
+
* container: window,
|
|
35
|
+
* top: 500,
|
|
36
|
+
* duration: 500,
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* // dynamic duration
|
|
40
|
+
* scrollTo({
|
|
41
|
+
* top: 1000,
|
|
42
|
+
* duration: (px) => px,
|
|
43
|
+
* });
|
|
44
|
+
*
|
|
45
|
+
* // use promise
|
|
46
|
+
* scrollTo({ top: 500 })
|
|
47
|
+
* .then(() => console.log('done'))
|
|
48
|
+
* .catch(() => {});
|
|
29
49
|
*/
|
|
30
50
|
export function scrollTo({
|
|
31
51
|
container = window,
|