vevet 3.2.2 → 3.3.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.
Files changed (43) hide show
  1. package/lib/cjs/components/AnimationFrame/index.js +1 -1
  2. package/lib/cjs/components/Marquee/index.js +262 -0
  3. package/lib/cjs/components/Marquee/index.js.map +1 -0
  4. package/lib/cjs/components/Marquee/types.js +3 -0
  5. package/lib/cjs/components/Marquee/types.js.map +1 -0
  6. package/lib/cjs/components/ScrollBar/Bar/index.js +2 -2
  7. package/lib/cjs/components/ScrollBar/Bar/index.js.map +1 -1
  8. package/lib/cjs/components/index.js +1 -0
  9. package/lib/cjs/components/index.js.map +1 -1
  10. package/lib/cjs/utils/listeners/onResize.js +1 -1
  11. package/lib/cjs/utils/listeners/onResize.js.map +1 -1
  12. package/lib/cjs/version.js +1 -1
  13. package/lib/esm/components/AnimationFrame/index.js +1 -1
  14. package/lib/esm/components/Marquee/index.js +216 -0
  15. package/lib/esm/components/Marquee/index.js.map +1 -0
  16. package/lib/esm/components/Marquee/types.js +2 -0
  17. package/lib/esm/components/Marquee/types.js.map +1 -0
  18. package/lib/esm/components/ScrollBar/Bar/index.js +2 -2
  19. package/lib/esm/components/ScrollBar/Bar/index.js.map +1 -1
  20. package/lib/esm/components/index.js +1 -0
  21. package/lib/esm/components/index.js.map +1 -1
  22. package/lib/esm/utils/listeners/onResize.js +1 -1
  23. package/lib/esm/utils/listeners/onResize.js.map +1 -1
  24. package/lib/esm/version.js +1 -1
  25. package/lib/types/components/AnimationFrame/types.d.ts +1 -1
  26. package/lib/types/components/Marquee/index.d.ts +66 -0
  27. package/lib/types/components/Marquee/index.d.ts.map +1 -0
  28. package/lib/types/components/Marquee/types.d.ts +53 -0
  29. package/lib/types/components/Marquee/types.d.ts.map +1 -0
  30. package/lib/types/components/index.d.ts +1 -0
  31. package/lib/types/components/index.d.ts.map +1 -1
  32. package/lib/types/version.d.ts +1 -1
  33. package/package.json +2 -1
  34. package/src/components/AnimationFrame/index.ts +1 -1
  35. package/src/components/AnimationFrame/types.ts +1 -1
  36. package/src/components/Marquee/index.ts +319 -0
  37. package/src/components/Marquee/stories/index.stories.tsx +27 -0
  38. package/src/components/Marquee/stories/index.tsx +69 -0
  39. package/src/components/Marquee/types.ts +55 -0
  40. package/src/components/ScrollBar/Bar/index.ts +3 -3
  41. package/src/components/index.ts +1 -0
  42. package/src/utils/listeners/onResize.ts +1 -1
  43. package/src/version.ts +1 -1
@@ -173,6 +173,8 @@ export default class Bar {
173
173
  resize() {
174
174
  const { outer, thumb, scrollLine, scrollWidth, scrollHeight, isHorizontal, } = this;
175
175
  const { minSize, shouldAutoSize } = this.props;
176
+ // define if empty before other calculations
177
+ outer.classList.toggle(this.className('_is-empty'), scrollLine === 0);
176
178
  // get outer sizes
177
179
  this._outerHeight = outer.clientHeight;
178
180
  this._outerWidth = outer.clientWidth;
@@ -190,8 +192,6 @@ export default class Bar {
190
192
  // get thumb sizes
191
193
  this._thumbHeight = thumb.clientHeight;
192
194
  this._thumbWidth = thumb.clientWidth;
193
- // define if empty
194
- outer.classList.toggle(this.className('_is-empty'), scrollLine === 0);
195
195
  // render elements
196
196
  this._renderThumb();
197
197
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/ScrollBar/Bar/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/ScrollBar/Bar/index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export * from './Ctx2DPrerender';
5
5
  export * from './CustomCursor';
6
6
  export * from './DraggerDirection';
7
7
  export * from './DraggerMove';
8
+ export * from './Marquee';
8
9
  export * from './Preloader';
9
10
  export * from './ProgressPreloader';
10
11
  export * from './ScrollBar';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -42,7 +42,7 @@ export function onResize({ onResize: handleResize, element, viewportTarget = 'an
42
42
  isFirstResizeObserverCallback = false;
43
43
  return;
44
44
  }
45
- debounceResize({ trigger: 'ResizeObserver' }, window.vevetApp.props.resizeDebounce);
45
+ debounceResize({ trigger: 'ResizeObserver' }, window.vevetApp.props.resizeDebounce + resizeDebounce);
46
46
  });
47
47
  if (Array.isArray(element)) {
48
48
  element.forEach((item) => resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.observe(item));
@@ -1 +1 @@
1
- {"version":3,"file":"onResize.js","sourceRoot":"","sources":["../../../../src/utils/listeners/onResize.ts"],"names":[],"mappings":"AA8CA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,QAAQ,EAAE,YAAY,EACtB,OAAO,EACP,cAAc,GAAG,KAAK,EACtB,aAAa,GAAG,KAAK,EACrB,cAAc,GAAG,CAAC,GACH;IACf,IAAI,OAAmC,CAAC;IACxC,IAAI,cAA0C,CAAC;IAC/C,IAAI,6BAA6B,GAAG,IAAI,CAAC;IAEzC,IAAI,gBAAuD,CAAC;IAE5D,MAAM,cAAc,GAAG,CAAC,KAA8B,EAAE,KAAc,EAAE,EAAE;QACxE,IAAI,OAAO,EAAE;YACX,YAAY,CAAC,OAAO,CAAC,CAAC;SACvB;QAED,OAAO,GAAG,UAAU,CAClB,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EACnD,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,cAAc,CACxB,CAAC;IACJ,CAAC,CAAC;IAEF,IACE,OAAO;QACP,CAAC,OAAO,YAAY,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,gBAAgB,IAAI,MAAM,EAC1B;QACA,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;YACvC,IAAI,6BAA6B,EAAE;gBACjC,6BAA6B,GAAG,KAAK,CAAC;gBAEtC,OAAO;aACR;YAED,cAAc,CACZ,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAC7B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CACrC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SAC1D;aAAM;YACL,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACjC;KACF;IAED,IAAI,aAAa,IAAI,CAAC,cAAc,EAAE;QACpC,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,EAAE,CACnE,cAAc,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CACxC,CAAC;KACH;IAED,OAAO;QACL,MAAM,EAAE,GAAG,EAAE;YACX,IAAI,OAAO,EAAE;gBACX,YAAY,CAAC,OAAO,CAAC,CAAC;aACvB;YAED,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,EAAE,CAAC;YAC7B,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAClD,cAAc,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;QACtC,iBAAiB,EAAE,CAAC,CAAC,cAAc;KACpC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"onResize.js","sourceRoot":"","sources":["../../../../src/utils/listeners/onResize.ts"],"names":[],"mappings":"AA8CA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,QAAQ,EAAE,YAAY,EACtB,OAAO,EACP,cAAc,GAAG,KAAK,EACtB,aAAa,GAAG,KAAK,EACrB,cAAc,GAAG,CAAC,GACH;IACf,IAAI,OAAmC,CAAC;IACxC,IAAI,cAA0C,CAAC;IAC/C,IAAI,6BAA6B,GAAG,IAAI,CAAC;IAEzC,IAAI,gBAAuD,CAAC;IAE5D,MAAM,cAAc,GAAG,CAAC,KAA8B,EAAE,KAAc,EAAE,EAAE;QACxE,IAAI,OAAO,EAAE;YACX,YAAY,CAAC,OAAO,CAAC,CAAC;SACvB;QAED,OAAO,GAAG,UAAU,CAClB,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EACnD,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,cAAc,CACxB,CAAC;IACJ,CAAC,CAAC;IAEF,IACE,OAAO;QACP,CAAC,OAAO,YAAY,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,gBAAgB,IAAI,MAAM,EAC1B;QACA,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;YACvC,IAAI,6BAA6B,EAAE;gBACjC,6BAA6B,GAAG,KAAK,CAAC;gBAEtC,OAAO;aACR;YAED,cAAc,CACZ,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAC7B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,GAAG,cAAc,CACtD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SAC1D;aAAM;YACL,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACjC;KACF;IAED,IAAI,aAAa,IAAI,CAAC,cAAc,EAAE;QACpC,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,EAAE,CACnE,cAAc,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CACxC,CAAC;KACH;IAED,OAAO;QACL,MAAM,EAAE,GAAG,EAAE;YACX,IAAI,OAAO,EAAE;gBACX,YAAY,CAAC,OAAO,CAAC,CAAC;aACvB;YAED,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,EAAE,CAAC;YAC7B,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAClD,cAAc,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;QACtC,iBAAiB,EAAE,CAAC,CAAC,cAAc;KACpC,CAAC;AACJ,CAAC"}
@@ -1,3 +1,3 @@
1
- const version = '3.2.2';
1
+ const version = '3.3.0';
2
2
  export default version;
3
3
  //# sourceMappingURL=version.js.map
@@ -10,7 +10,7 @@ export declare namespace NAnimationFrame {
10
10
  fps?: 'auto' | number;
11
11
  /**
12
12
  * How many frames to be tested to detect real FPS
13
- * @default 50
13
+ * @default 10
14
14
  */
15
15
  autoFpsFrames?: number;
16
16
  /**
@@ -0,0 +1,66 @@
1
+ import { NMarquee } from './types';
2
+ import { Component as ComponentClass } from '../../base/Component';
3
+ export type { NMarquee };
4
+ /**
5
+ * Custom Marquee
6
+ */
7
+ export declare class Marquee<StaticProps extends NMarquee.IStaticProps = NMarquee.IStaticProps, ChangeableProps extends NMarquee.IChangeableProps = NMarquee.IChangeableProps, CallbacksTypes extends NMarquee.ICallbacksTypes = NMarquee.ICallbacksTypes> extends ComponentClass<StaticProps, ChangeableProps, CallbacksTypes> {
8
+ protected _getDefaultProps(): import("ts-essentials").DeepRequired<StaticProps & ChangeableProps> & {
9
+ container: string;
10
+ viewportTarget: string;
11
+ resizeDebounce: number;
12
+ speed: number;
13
+ isEnabled: boolean;
14
+ pauseOnHover: boolean;
15
+ prependWhitespace: boolean;
16
+ isFpsNormalized: boolean;
17
+ };
18
+ get prefix(): string;
19
+ /** Marquee container */
20
+ protected _container: HTMLElement;
21
+ /** Marquee container */
22
+ get container(): HTMLElement;
23
+ /** Initial html */
24
+ protected _initialHTML: string;
25
+ /** Mutation observer */
26
+ protected _mutationObserver?: MutationObserver;
27
+ /** Items quantity */
28
+ protected _quantity: number;
29
+ /** Items */
30
+ protected _items: HTMLElement[];
31
+ /** Single item width */
32
+ protected _itemWidth: number;
33
+ /** X Coordinate */
34
+ protected _xCoord: number;
35
+ /** Can play */
36
+ protected _canPlay: boolean;
37
+ /** Animation frame */
38
+ private _animationFrame?;
39
+ constructor(initialProps?: StaticProps & ChangeableProps, canInit?: boolean);
40
+ /** Init the class */
41
+ protected _init(): void;
42
+ /** Handle properties mutation */
43
+ protected _onPropsMutate(): void;
44
+ /** Set module event */
45
+ protected _setEvents(): void;
46
+ resize(): void;
47
+ protected _createItems(): void;
48
+ /** Create a single item */
49
+ protected _createItem(isFirst?: boolean): HTMLDivElement;
50
+ /**
51
+ * Observe DOM changes
52
+ * If a change happens inside the parent element,
53
+ * we recreate the marquee element
54
+ */
55
+ protected _observeMutations(): void;
56
+ /**
57
+ * Destroy mutation observer
58
+ */
59
+ protected _disconnectMutations(): void;
60
+ /** Render marquee */
61
+ render(speed?: number): void;
62
+ /** Render marquee */
63
+ protected _render(speedProp?: number): void;
64
+ protected _destroy(): void;
65
+ }
66
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Marquee/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAK/D,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEzB;;GAEG;AACH,qBAAa,OAAO,CAClB,WAAW,SAAS,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,EACjE,eAAe,SAAS,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,EAC7E,cAAc,SAAS,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAC1E,SAAQ,cAAc,CAAC,WAAW,EAAE,eAAe,EAAE,cAAc,CAAC;IACpE,SAAS,CAAC,gBAAgB;;;;;;;;;;IAc1B,IAAI,MAAM,WAET;IAED,wBAAwB;IACxB,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC;IAElC,wBAAwB;IACxB,IAAI,SAAS,gBAEZ;IAED,mBAAmB;IACnB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAE/B,wBAAwB;IACxB,SAAS,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;IAE/C,qBAAqB;IACrB,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAE5B,YAAY;IACZ,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IAEhC,wBAAwB;IACxB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAE7B,mBAAmB;IACnB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAE1B,eAAe;IACf,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE5B,sBAAsB;IACtB,OAAO,CAAC,eAAe,CAAC,CAAiB;gBAE7B,YAAY,CAAC,EAAE,WAAW,GAAG,eAAe,EAAE,OAAO,UAAO;IAwBxE,qBAAqB;IACrB,SAAS,CAAC,KAAK;IAMf,iCAAiC;IACjC,SAAS,CAAC,cAAc;IAUxB,uBAAuB;IACvB,SAAS,CAAC,UAAU;IAyCb,MAAM;IAIb,SAAS,CAAC,YAAY;IAiDtB,2BAA2B;IAC3B,SAAS,CAAC,WAAW,CAAC,OAAO,UAAQ;IA6BrC;;;;OAIG;IACH,SAAS,CAAC,iBAAiB;IAuB3B;;OAEG;IACH,SAAS,CAAC,oBAAoB;IAK9B,qBAAqB;IACd,MAAM,CAAC,KAAK,SAAmB;IAItC,qBAAqB;IACrB,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM;IAmCpC,SAAS,CAAC,QAAQ;CAOnB"}
@@ -0,0 +1,53 @@
1
+ import { NComponent } from '../../base/Component/types';
2
+ import { TOnResizeTarget } from '../../utils/listeners/onResize';
3
+ export declare namespace NMarquee {
4
+ interface IStaticProps extends NComponent.IStaticProps {
5
+ /**
6
+ * Marquee container. You may use a CSS selector or the element itself.
7
+ * @default '#v-marquee'
8
+ */
9
+ container?: string | HTMLElement;
10
+ /**
11
+ * Viewport target
12
+ * @default 'width'
13
+ */
14
+ viewportTarget?: TOnResizeTarget;
15
+ /**
16
+ * Timeout of resize event
17
+ * @default 0
18
+ */
19
+ resizeDebounce?: number;
20
+ }
21
+ interface IChangeableProps extends NComponent.IChangeableProps {
22
+ /**
23
+ * Marquee speed
24
+ * @default 1
25
+ */
26
+ speed?: number;
27
+ /**
28
+ * Enable animation
29
+ * @default true
30
+ */
31
+ isEnabled?: boolean;
32
+ /**
33
+ * Pause on hover
34
+ * @default false
35
+ */
36
+ pauseOnHover?: boolean;
37
+ /**
38
+ * Prepend a whitespace
39
+ * @default true
40
+ */
41
+ prependWhitespace?: boolean;
42
+ /**
43
+ * On different screens with different FPS, animation may be slower or faster.
44
+ * This property is to normalize animation speed across different screens.
45
+ * @default true
46
+ */
47
+ isFpsNormalized?: boolean;
48
+ }
49
+ interface ICallbacksTypes extends NComponent.ICallbacksTypes {
50
+ render: undefined;
51
+ }
52
+ }
53
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Marquee/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,yBAAiB,QAAQ,CAAC;IACxB,UAAiB,YAAa,SAAQ,UAAU,CAAC,YAAY;QAC3D;;;WAGG;QACH,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;QACjC;;;WAGG;QACH,cAAc,CAAC,EAAE,eAAe,CAAC;QACjC;;;WAGG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;IAED,UAAiB,gBAAiB,SAAQ,UAAU,CAAC,gBAAgB;QACnE;;;WAGG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;QACf;;;WAGG;QACH,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB;;;WAGG;QACH,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB;;;WAGG;QACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B;;;;WAIG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B;IAED,UAAiB,eAAgB,SAAQ,UAAU,CAAC,eAAe;QACjE,MAAM,EAAE,SAAS,CAAC;KACnB;CACF"}
@@ -5,6 +5,7 @@ export * from './Ctx2DPrerender';
5
5
  export * from './CustomCursor';
6
6
  export * from './DraggerDirection';
7
7
  export * from './DraggerMove';
8
+ export * from './Marquee';
8
9
  export * from './Preloader';
9
10
  export * from './ProgressPreloader';
10
11
  export * from './ScrollBar';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -1,3 +1,3 @@
1
- declare const version = "3.2.2";
1
+ declare const version = "3.3.0";
2
2
  export default version;
3
3
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vevet",
3
- "version": "3.2.2",
3
+ "version": "3.3.0",
4
4
  "description": "Vevet - a JavaScript library of ready-made solutions and helpers",
5
5
  "scripts": {
6
6
  "storybook": "storybook dev -p 6006",
@@ -44,6 +44,7 @@
44
44
  "cursor",
45
45
  "drag",
46
46
  "swipe",
47
+ "marquee",
47
48
  "preloader",
48
49
  "scrollbar",
49
50
  "smooth scroll",
@@ -15,7 +15,7 @@ export class AnimationFrame<
15
15
  return {
16
16
  ...super._getDefaultProps(),
17
17
  fps: 'auto',
18
- autoFpsFrames: 50,
18
+ autoFpsFrames: 10,
19
19
  isEnabled: false,
20
20
  };
21
21
  }
@@ -11,7 +11,7 @@ export namespace NAnimationFrame {
11
11
  fps?: 'auto' | number;
12
12
  /**
13
13
  * How many frames to be tested to detect real FPS
14
- * @default 50
14
+ * @default 10
15
15
  */
16
16
  autoFpsFrames?: number;
17
17
  /**
@@ -0,0 +1,319 @@
1
+ import { selectOne } from 'vevet-dom';
2
+ import { NMarquee } from './types';
3
+ import { Component as ComponentClass } from '@/base/Component';
4
+ import { wrap } from '@/utils/math';
5
+ import { onResize } from '@/utils/listeners/onResize';
6
+ import { AnimationFrame } from '../AnimationFrame';
7
+
8
+ export type { NMarquee };
9
+
10
+ /**
11
+ * Custom Marquee
12
+ */
13
+ export class Marquee<
14
+ StaticProps extends NMarquee.IStaticProps = NMarquee.IStaticProps,
15
+ ChangeableProps extends NMarquee.IChangeableProps = NMarquee.IChangeableProps,
16
+ CallbacksTypes extends NMarquee.ICallbacksTypes = NMarquee.ICallbacksTypes
17
+ > extends ComponentClass<StaticProps, ChangeableProps, CallbacksTypes> {
18
+ protected _getDefaultProps() {
19
+ return {
20
+ ...super._getDefaultProps(),
21
+ container: `#${this.prefix}`,
22
+ viewportTarget: 'width',
23
+ resizeDebounce: 0,
24
+ speed: 1,
25
+ isEnabled: true,
26
+ pauseOnHover: false,
27
+ prependWhitespace: true,
28
+ isFpsNormalized: true,
29
+ };
30
+ }
31
+
32
+ get prefix() {
33
+ return `${this.app.prefix}marquee`;
34
+ }
35
+
36
+ /** Marquee container */
37
+ protected _container: HTMLElement;
38
+
39
+ /** Marquee container */
40
+ get container() {
41
+ return this._container;
42
+ }
43
+
44
+ /** Initial html */
45
+ protected _initialHTML: string;
46
+
47
+ /** Mutation observer */
48
+ protected _mutationObserver?: MutationObserver;
49
+
50
+ /** Items quantity */
51
+ protected _quantity: number;
52
+
53
+ /** Items */
54
+ protected _items: HTMLElement[];
55
+
56
+ /** Single item width */
57
+ protected _itemWidth: number;
58
+
59
+ /** X Coordinate */
60
+ protected _xCoord: number;
61
+
62
+ /** Can play */
63
+ protected _canPlay: boolean;
64
+
65
+ /** Animation frame */
66
+ private _animationFrame?: AnimationFrame;
67
+
68
+ constructor(initialProps?: StaticProps & ChangeableProps, canInit = true) {
69
+ super(initialProps, false);
70
+
71
+ this._container = selectOne(this.props.container)! as HTMLElement;
72
+ if (!(this._container instanceof HTMLElement)) {
73
+ throw new Error('No container');
74
+ }
75
+
76
+ this.toggleClassName(this._container, this.className(''), true);
77
+
78
+ this._initialHTML = this._container.innerHTML;
79
+ this._quantity = 0;
80
+ this._items = [];
81
+ this._itemWidth = 0;
82
+ this._xCoord = 0;
83
+ this._canPlay = true;
84
+
85
+ this.resize();
86
+
87
+ if (canInit) {
88
+ this.init();
89
+ }
90
+ }
91
+
92
+ /** Init the class */
93
+ protected _init() {
94
+ super._init();
95
+
96
+ this._setEvents();
97
+ }
98
+
99
+ /** Handle properties mutation */
100
+ protected _onPropsMutate() {
101
+ super._onPropsMutate();
102
+
103
+ if (this.props.isEnabled) {
104
+ this._animationFrame?.play();
105
+ } else {
106
+ this._animationFrame?.pause();
107
+ }
108
+ }
109
+
110
+ /** Set module event */
111
+ protected _setEvents() {
112
+ const { container, props } = this;
113
+ const {
114
+ pauseOnHover: hasPauseOnHover,
115
+ viewportTarget,
116
+ resizeDebounce,
117
+ } = props;
118
+
119
+ // create animation frame
120
+ this._animationFrame = new AnimationFrame();
121
+ this._animationFrame.addCallback('frame', () => this._render());
122
+ this.addDestroyableAction(() => this._animationFrame?.destroy());
123
+
124
+ // initial play
125
+ if (this.props.isEnabled) {
126
+ this._animationFrame.play();
127
+ }
128
+
129
+ // pause on hover
130
+ this.addEventListener(container, 'mouseenter', () => {
131
+ if (hasPauseOnHover) {
132
+ this._canPlay = false;
133
+ }
134
+ });
135
+
136
+ // play on mouseleave
137
+ this.addEventListener(container, 'mouseleave', () => {
138
+ this._canPlay = true;
139
+ });
140
+
141
+ // resize the scene
142
+ const resizeHandler = onResize({
143
+ onResize: () => this.resize(),
144
+ element: this.container,
145
+ viewportTarget,
146
+ resizeDebounce,
147
+ hasBothEvents: true,
148
+ });
149
+ this.addDestroyableAction(() => resizeHandler.remove());
150
+ }
151
+
152
+ public resize() {
153
+ this._createItems();
154
+ }
155
+
156
+ protected _createItems() {
157
+ this._disconnectMutations();
158
+
159
+ const { container } = this;
160
+
161
+ // clear
162
+ this._quantity = 0;
163
+ this._items = [];
164
+ this.container.innerHTML = '';
165
+
166
+ // apply styles to the container
167
+ container.style.position = 'relative';
168
+ container.style.display = 'block';
169
+ container.style.width = '100%';
170
+ container.style.overflow = 'hidden';
171
+ container.style.whiteSpace = 'nowrap';
172
+
173
+ // create the first item and get its sizes
174
+ // to calculate the further quantity of inner elements
175
+ const firstItem = this._createItem(true);
176
+
177
+ // get first item width
178
+ let itemWidth = firstItem.clientWidth;
179
+ if (itemWidth <= 0) {
180
+ itemWidth = window.innerWidth;
181
+ }
182
+ this._itemWidth = itemWidth;
183
+
184
+ // get items quantity
185
+ if (itemWidth < container.clientWidth) {
186
+ this._quantity = Math.ceil(
187
+ (container.clientWidth + itemWidth) / itemWidth
188
+ );
189
+ }
190
+ this._quantity = Math.max(this._quantity, 4);
191
+
192
+ // now when we know the total quantity,
193
+ // we can create the rest of the items
194
+ for (let index = 1; index < this._quantity; index += 1) {
195
+ this._createItem(false);
196
+ }
197
+
198
+ // render for the first time
199
+ this._render(0);
200
+
201
+ // enable mutation observer
202
+ this._observeMutations();
203
+ }
204
+
205
+ /** Create a single item */
206
+ protected _createItem(isFirst = false) {
207
+ const element = document.createElement('div');
208
+ element.classList.add(this.className('__element'));
209
+
210
+ if (!isFirst) {
211
+ element.setAttribute('aria-hidden', 'true');
212
+ }
213
+
214
+ const prefix = `${this.props.prependWhitespace ? '&nbsp;' : ''}`;
215
+ const body = this._initialHTML;
216
+
217
+ element.innerHTML = `${prefix}${body}`;
218
+
219
+ // apply styles
220
+ if (!isFirst) {
221
+ element.style.position = 'absolute';
222
+ element.style.top = '0';
223
+ element.style.left = '0';
224
+ }
225
+
226
+ element.style.display = 'inline-block';
227
+
228
+ // append the element
229
+ this.container.appendChild(element);
230
+ this._items.push(element);
231
+
232
+ return element;
233
+ }
234
+
235
+ /**
236
+ * Observe DOM changes
237
+ * If a change happens inside the parent element,
238
+ * we recreate the marquee element
239
+ */
240
+ protected _observeMutations() {
241
+ if (this._mutationObserver) {
242
+ return;
243
+ }
244
+
245
+ const config: MutationObserverInit = {
246
+ childList: true,
247
+ };
248
+
249
+ const callback: MutationCallback = (mutationsList) => {
250
+ mutationsList.forEach((mutation) => {
251
+ if (mutation.type === 'childList') {
252
+ this._initialHTML = this.container.innerHTML;
253
+
254
+ this._createItems();
255
+ }
256
+ });
257
+ };
258
+
259
+ this._mutationObserver = new MutationObserver(callback);
260
+ this._mutationObserver.observe(this.container, config);
261
+ }
262
+
263
+ /**
264
+ * Destroy mutation observer
265
+ */
266
+ protected _disconnectMutations() {
267
+ this._mutationObserver?.disconnect();
268
+ this._mutationObserver = undefined;
269
+ }
270
+
271
+ /** Render marquee */
272
+ public render(speed = this.props.speed) {
273
+ this._render(speed);
274
+ }
275
+
276
+ /** Render marquee */
277
+ protected _render(speedProp?: number) {
278
+ if (!this._canPlay) {
279
+ return;
280
+ }
281
+
282
+ const { _quantity: qunantity, _itemWidth: itemWidth, props } = this;
283
+ const { isFpsNormalized } = props;
284
+
285
+ const fpsMultiplier = isFpsNormalized
286
+ ? this._animationFrame?.easeMultiplier ?? 1
287
+ : 1;
288
+
289
+ const defaultSpeed = props.speed * fpsMultiplier;
290
+ const speed = speedProp ?? defaultSpeed;
291
+
292
+ this._xCoord -= speed;
293
+
294
+ // get total width
295
+ const totalWidth = itemWidth * (qunantity - 1);
296
+
297
+ // render elements
298
+ for (let index = 0; index < qunantity; index += 1) {
299
+ const element = this._items[index];
300
+
301
+ // calulate transforms
302
+ const x = wrap(-itemWidth, totalWidth, this._xCoord + itemWidth * index);
303
+
304
+ // apply transforms
305
+ element.style.transform = `matrix3d(1,0,0.00,0,0.00,1,0.00,0,0,0,1,0, ${x}, 0, 0,1)`;
306
+ }
307
+
308
+ // callbacks
309
+ this.callbacks.tbt('render', undefined);
310
+ }
311
+
312
+ protected _destroy() {
313
+ super._destroy();
314
+
315
+ this._disconnectMutations();
316
+
317
+ this.container.innerHTML = this._initialHTML;
318
+ }
319
+ }
@@ -0,0 +1,27 @@
1
+ import type { StoryObj, Meta } from '@storybook/react';
2
+ import { Component } from '.';
3
+
4
+ type TComponent = typeof Component;
5
+
6
+ const meta: Meta<TComponent> = {
7
+ title: 'Components/Marquee',
8
+ component: Component,
9
+ };
10
+
11
+ export default meta;
12
+
13
+ export const Default: StoryObj<TComponent> = {
14
+ args: {},
15
+ };
16
+
17
+ export const WithPauseOnHover: StoryObj<TComponent> = {
18
+ args: {
19
+ pauseOnHover: true,
20
+ },
21
+ };
22
+
23
+ export const WithReverseSpeed: StoryObj<TComponent> = {
24
+ args: {
25
+ speed: -1,
26
+ },
27
+ };