vscroll 1.7.0 → 1.8.1

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 (230) hide show
  1. package/dist/bundles/vscroll.esm5.js +518 -368
  2. package/dist/bundles/vscroll.esm5.js.map +1 -1
  3. package/dist/bundles/vscroll.esm5.min.js +2 -2
  4. package/dist/bundles/vscroll.esm5.min.js.map +1 -1
  5. package/dist/bundles/vscroll.esm6.js +408 -260
  6. package/dist/bundles/vscroll.esm6.js.map +1 -1
  7. package/dist/bundles/vscroll.esm6.min.js +2 -2
  8. package/dist/bundles/vscroll.esm6.min.js.map +1 -1
  9. package/dist/bundles/vscroll.umd.js +519 -369
  10. package/dist/bundles/vscroll.umd.js.map +1 -1
  11. package/dist/bundles/vscroll.umd.min.js +2 -2
  12. package/dist/bundles/vscroll.umd.min.js.map +1 -1
  13. package/dist/esm2015/classes/adapter/context.js +2 -1
  14. package/dist/esm2015/classes/adapter/context.js.map +1 -1
  15. package/dist/esm2015/classes/adapter/props.js +2 -2
  16. package/dist/esm2015/classes/adapter/props.js.map +1 -1
  17. package/dist/esm2015/classes/adapter.js +17 -18
  18. package/dist/esm2015/classes/adapter.js.map +1 -1
  19. package/dist/esm2015/classes/buffer/cache.js +11 -8
  20. package/dist/esm2015/classes/buffer/cache.js.map +1 -1
  21. package/dist/esm2015/classes/buffer/checkCall.js +4 -5
  22. package/dist/esm2015/classes/buffer/checkCall.js.map +1 -1
  23. package/dist/esm2015/classes/buffer/defaultSize.js +2 -1
  24. package/dist/esm2015/classes/buffer/defaultSize.js.map +1 -1
  25. package/dist/esm2015/classes/buffer.js +12 -11
  26. package/dist/esm2015/classes/buffer.js.map +1 -1
  27. package/dist/esm2015/classes/datasource.js +16 -3
  28. package/dist/esm2015/classes/datasource.js.map +1 -1
  29. package/dist/esm2015/classes/domRoutines.js +14 -14
  30. package/dist/esm2015/classes/domRoutines.js.map +1 -1
  31. package/dist/esm2015/classes/logger.js +74 -31
  32. package/dist/esm2015/classes/logger.js.map +1 -1
  33. package/dist/esm2015/classes/paddings.js +6 -2
  34. package/dist/esm2015/classes/paddings.js.map +1 -1
  35. package/dist/esm2015/classes/reactive.js.map +1 -1
  36. package/dist/esm2015/classes/settings.js.map +1 -1
  37. package/dist/esm2015/classes/state/clip.js.map +1 -1
  38. package/dist/esm2015/classes/state/fetch.js +4 -2
  39. package/dist/esm2015/classes/state/fetch.js.map +1 -1
  40. package/dist/esm2015/classes/state.js +6 -4
  41. package/dist/esm2015/classes/state.js.map +1 -1
  42. package/dist/esm2015/classes/viewport.js +4 -2
  43. package/dist/esm2015/classes/viewport.js.map +1 -1
  44. package/dist/esm2015/index.js +1 -1
  45. package/dist/esm2015/index.js.map +1 -1
  46. package/dist/esm2015/inputs/adapter.js +44 -24
  47. package/dist/esm2015/inputs/adapter.js.map +1 -1
  48. package/dist/esm2015/inputs/datasource.js.map +1 -1
  49. package/dist/esm2015/inputs/index.js +1 -1
  50. package/dist/esm2015/inputs/index.js.map +1 -1
  51. package/dist/esm2015/inputs/settings.js +8 -3
  52. package/dist/esm2015/inputs/settings.js.map +1 -1
  53. package/dist/esm2015/inputs/validation.js +8 -14
  54. package/dist/esm2015/inputs/validation.js.map +1 -1
  55. package/dist/esm2015/inputs/workflow.js.map +1 -1
  56. package/dist/esm2015/interfaces/datasource.js.map +1 -1
  57. package/dist/esm2015/interfaces/index.js.map +1 -1
  58. package/dist/esm2015/interfaces/process.js.map +1 -1
  59. package/dist/esm2015/interfaces/routines.js.map +1 -1
  60. package/dist/esm2015/interfaces/settings.js.map +1 -1
  61. package/dist/esm2015/interfaces/validation.js.map +1 -1
  62. package/dist/esm2015/interfaces/workflow.js.map +1 -1
  63. package/dist/esm2015/processes/adapter/append.js +2 -1
  64. package/dist/esm2015/processes/adapter/append.js.map +1 -1
  65. package/dist/esm2015/processes/adapter/check.js +2 -1
  66. package/dist/esm2015/processes/adapter/check.js.map +1 -1
  67. package/dist/esm2015/processes/adapter/clip.js.map +1 -1
  68. package/dist/esm2015/processes/adapter/fix.js +4 -2
  69. package/dist/esm2015/processes/adapter/fix.js.map +1 -1
  70. package/dist/esm2015/processes/adapter/insert.js +4 -3
  71. package/dist/esm2015/processes/adapter/insert.js.map +1 -1
  72. package/dist/esm2015/processes/adapter/pause.js.map +1 -1
  73. package/dist/esm2015/processes/adapter/reload.js.map +1 -1
  74. package/dist/esm2015/processes/adapter/remove.js +8 -5
  75. package/dist/esm2015/processes/adapter/remove.js.map +1 -1
  76. package/dist/esm2015/processes/adapter/replace.js +1 -1
  77. package/dist/esm2015/processes/adapter/replace.js.map +1 -1
  78. package/dist/esm2015/processes/adapter/reset.js +5 -5
  79. package/dist/esm2015/processes/adapter/reset.js.map +1 -1
  80. package/dist/esm2015/processes/adapter/update.js +4 -3
  81. package/dist/esm2015/processes/adapter/update.js.map +1 -1
  82. package/dist/esm2015/processes/adjust.js +15 -10
  83. package/dist/esm2015/processes/adjust.js.map +1 -1
  84. package/dist/esm2015/processes/clip.js +4 -4
  85. package/dist/esm2015/processes/clip.js.map +1 -1
  86. package/dist/esm2015/processes/end.js +2 -1
  87. package/dist/esm2015/processes/end.js.map +1 -1
  88. package/dist/esm2015/processes/fetch.js +6 -4
  89. package/dist/esm2015/processes/fetch.js.map +1 -1
  90. package/dist/esm2015/processes/index.js +1 -1
  91. package/dist/esm2015/processes/index.js.map +1 -1
  92. package/dist/esm2015/processes/init.js.map +1 -1
  93. package/dist/esm2015/processes/misc/base.js +1 -2
  94. package/dist/esm2015/processes/misc/base.js.map +1 -1
  95. package/dist/esm2015/processes/misc/enums.js.map +1 -1
  96. package/dist/esm2015/processes/postFetch.js +13 -12
  97. package/dist/esm2015/processes/postFetch.js.map +1 -1
  98. package/dist/esm2015/processes/preClip.js +6 -5
  99. package/dist/esm2015/processes/preClip.js.map +1 -1
  100. package/dist/esm2015/processes/preFetch.js +28 -15
  101. package/dist/esm2015/processes/preFetch.js.map +1 -1
  102. package/dist/esm2015/processes/render.js +6 -4
  103. package/dist/esm2015/processes/render.js.map +1 -1
  104. package/dist/esm2015/processes/scroll.js +19 -10
  105. package/dist/esm2015/processes/scroll.js.map +1 -1
  106. package/dist/esm2015/processes/start.js.map +1 -1
  107. package/dist/esm2015/scroller.js +14 -9
  108. package/dist/esm2015/scroller.js.map +1 -1
  109. package/dist/esm2015/version.js +1 -1
  110. package/dist/esm2015/version.js.map +1 -1
  111. package/dist/esm2015/workflow-transducer.js +3 -2
  112. package/dist/esm2015/workflow-transducer.js.map +1 -1
  113. package/dist/esm2015/workflow.js +28 -17
  114. package/dist/esm2015/workflow.js.map +1 -1
  115. package/dist/esm5/classes/adapter/context.js +2 -1
  116. package/dist/esm5/classes/adapter/context.js.map +1 -1
  117. package/dist/esm5/classes/adapter/props.js +2 -2
  118. package/dist/esm5/classes/adapter/props.js.map +1 -1
  119. package/dist/esm5/classes/adapter.js +22 -19
  120. package/dist/esm5/classes/adapter.js.map +1 -1
  121. package/dist/esm5/classes/buffer/cache.js +11 -9
  122. package/dist/esm5/classes/buffer/cache.js.map +1 -1
  123. package/dist/esm5/classes/buffer/checkCall.js +4 -7
  124. package/dist/esm5/classes/buffer/checkCall.js.map +1 -1
  125. package/dist/esm5/classes/buffer/defaultSize.js +2 -1
  126. package/dist/esm5/classes/buffer/defaultSize.js.map +1 -1
  127. package/dist/esm5/classes/buffer.js +15 -14
  128. package/dist/esm5/classes/buffer.js.map +1 -1
  129. package/dist/esm5/classes/datasource.js +20 -3
  130. package/dist/esm5/classes/datasource.js.map +1 -1
  131. package/dist/esm5/classes/domRoutines.js +14 -14
  132. package/dist/esm5/classes/domRoutines.js.map +1 -1
  133. package/dist/esm5/classes/logger.js +75 -34
  134. package/dist/esm5/classes/logger.js.map +1 -1
  135. package/dist/esm5/classes/paddings.js +6 -2
  136. package/dist/esm5/classes/paddings.js.map +1 -1
  137. package/dist/esm5/classes/reactive.js.map +1 -1
  138. package/dist/esm5/classes/settings.js.map +1 -1
  139. package/dist/esm5/classes/state/clip.js.map +1 -1
  140. package/dist/esm5/classes/state/fetch.js +4 -2
  141. package/dist/esm5/classes/state/fetch.js.map +1 -1
  142. package/dist/esm5/classes/state.js +6 -4
  143. package/dist/esm5/classes/state.js.map +1 -1
  144. package/dist/esm5/classes/viewport.js +3 -2
  145. package/dist/esm5/classes/viewport.js.map +1 -1
  146. package/dist/esm5/index.js +1 -1
  147. package/dist/esm5/index.js.map +1 -1
  148. package/dist/esm5/inputs/adapter.js +32 -12
  149. package/dist/esm5/inputs/adapter.js.map +1 -1
  150. package/dist/esm5/inputs/datasource.js.map +1 -1
  151. package/dist/esm5/inputs/index.js +1 -1
  152. package/dist/esm5/inputs/index.js.map +1 -1
  153. package/dist/esm5/inputs/settings.js +5 -0
  154. package/dist/esm5/inputs/settings.js.map +1 -1
  155. package/dist/esm5/inputs/validation.js +99 -93
  156. package/dist/esm5/inputs/validation.js.map +1 -1
  157. package/dist/esm5/inputs/workflow.js.map +1 -1
  158. package/dist/esm5/interfaces/datasource.js.map +1 -1
  159. package/dist/esm5/interfaces/index.js.map +1 -1
  160. package/dist/esm5/interfaces/process.js.map +1 -1
  161. package/dist/esm5/interfaces/routines.js.map +1 -1
  162. package/dist/esm5/interfaces/settings.js.map +1 -1
  163. package/dist/esm5/interfaces/validation.js.map +1 -1
  164. package/dist/esm5/interfaces/workflow.js.map +1 -1
  165. package/dist/esm5/processes/adapter/append.js +2 -1
  166. package/dist/esm5/processes/adapter/append.js.map +1 -1
  167. package/dist/esm5/processes/adapter/check.js +7 -6
  168. package/dist/esm5/processes/adapter/check.js.map +1 -1
  169. package/dist/esm5/processes/adapter/clip.js.map +1 -1
  170. package/dist/esm5/processes/adapter/fix.js +4 -2
  171. package/dist/esm5/processes/adapter/fix.js.map +1 -1
  172. package/dist/esm5/processes/adapter/insert.js +4 -3
  173. package/dist/esm5/processes/adapter/insert.js.map +1 -1
  174. package/dist/esm5/processes/adapter/pause.js.map +1 -1
  175. package/dist/esm5/processes/adapter/reload.js.map +1 -1
  176. package/dist/esm5/processes/adapter/remove.js +11 -10
  177. package/dist/esm5/processes/adapter/remove.js.map +1 -1
  178. package/dist/esm5/processes/adapter/replace.js +1 -1
  179. package/dist/esm5/processes/adapter/replace.js.map +1 -1
  180. package/dist/esm5/processes/adapter/reset.js +5 -5
  181. package/dist/esm5/processes/adapter/reset.js.map +1 -1
  182. package/dist/esm5/processes/adapter/update.js +20 -15
  183. package/dist/esm5/processes/adapter/update.js.map +1 -1
  184. package/dist/esm5/processes/adjust.js +16 -11
  185. package/dist/esm5/processes/adjust.js.map +1 -1
  186. package/dist/esm5/processes/clip.js +4 -4
  187. package/dist/esm5/processes/clip.js.map +1 -1
  188. package/dist/esm5/processes/end.js +2 -1
  189. package/dist/esm5/processes/end.js.map +1 -1
  190. package/dist/esm5/processes/fetch.js +5 -3
  191. package/dist/esm5/processes/fetch.js.map +1 -1
  192. package/dist/esm5/processes/index.js +1 -1
  193. package/dist/esm5/processes/index.js.map +1 -1
  194. package/dist/esm5/processes/init.js.map +1 -1
  195. package/dist/esm5/processes/misc/base.js +1 -2
  196. package/dist/esm5/processes/misc/base.js.map +1 -1
  197. package/dist/esm5/processes/misc/enums.js.map +1 -1
  198. package/dist/esm5/processes/postFetch.js +14 -15
  199. package/dist/esm5/processes/postFetch.js.map +1 -1
  200. package/dist/esm5/processes/preClip.js +5 -4
  201. package/dist/esm5/processes/preClip.js.map +1 -1
  202. package/dist/esm5/processes/preFetch.js +26 -14
  203. package/dist/esm5/processes/preFetch.js.map +1 -1
  204. package/dist/esm5/processes/render.js +7 -7
  205. package/dist/esm5/processes/render.js.map +1 -1
  206. package/dist/esm5/processes/scroll.js +18 -12
  207. package/dist/esm5/processes/scroll.js.map +1 -1
  208. package/dist/esm5/processes/start.js.map +1 -1
  209. package/dist/esm5/scroller.js +11 -7
  210. package/dist/esm5/scroller.js.map +1 -1
  211. package/dist/esm5/version.js +1 -1
  212. package/dist/esm5/version.js.map +1 -1
  213. package/dist/esm5/workflow-transducer.js +3 -2
  214. package/dist/esm5/workflow-transducer.js.map +1 -1
  215. package/dist/esm5/workflow.js +31 -25
  216. package/dist/esm5/workflow.js.map +1 -1
  217. package/dist/typings/classes/buffer/cache.d.ts +0 -1
  218. package/dist/typings/classes/datasource.d.ts +1 -1
  219. package/dist/typings/classes/domRoutines.d.ts +1 -1
  220. package/dist/typings/classes/logger.d.ts +4 -0
  221. package/dist/typings/classes/settings.d.ts +7 -0
  222. package/dist/typings/index.d.ts +3 -3
  223. package/dist/typings/inputs/index.d.ts +1 -1
  224. package/dist/typings/inputs/settings.d.ts +1 -0
  225. package/dist/typings/interfaces/index.d.ts +10 -10
  226. package/dist/typings/interfaces/settings.d.ts +1 -0
  227. package/dist/typings/processes/index.d.ts +1 -1
  228. package/dist/typings/processes/scroll.d.ts +1 -1
  229. package/dist/typings/workflow.d.ts +1 -0
  230. package/package.json +23 -22
@@ -42,7 +42,6 @@ export declare class Cache<Data = unknown> {
42
42
  * Maintains min/max indexes and default item size.
43
43
  *
44
44
  * @param {Item<Data>} item A Buffer item to be cached, an objects with { $index, data, size } props.
45
- *
46
45
  * @returns {ItemCache<Data>} Cached item.
47
46
  */
48
47
  add(item: Item<Data>): ItemCache<Data>;
@@ -7,5 +7,5 @@ export declare class DatasourceGeneric<Data> implements IDatasourceConstructed<D
7
7
  constructor(datasource: IDatasourceParams<Data>, config?: IAdapterConfig);
8
8
  dispose(): void;
9
9
  }
10
- export declare const makeDatasource: <DSClassType = typeof DatasourceGeneric>(getConfig?: () => IAdapterConfig) => DSClassType;
10
+ export declare const makeDatasource: <DSClassType = typeof DatasourceGeneric>(getAdapterConfig?: () => IAdapterConfig) => DSClassType;
11
11
  export declare const Datasource: typeof DatasourceGeneric;
@@ -28,7 +28,7 @@ export declare class Routines implements IRoutines {
28
28
  hideElement(element: HTMLElement): void;
29
29
  getOffset(): number;
30
30
  scrollTo(element: HTMLElement, argument?: boolean | ScrollIntoViewOptions): void;
31
- render(cb: () => void, params: {
31
+ render(cb: () => void, _params: {
32
32
  items: ItemAdapter[];
33
33
  }): () => void;
34
34
  animate(cb: () => void): () => void;
@@ -1,9 +1,11 @@
1
1
  import { Scroller } from '../scroller';
2
2
  import { IPackages, ProcessSubject } from '../interfaces/index';
3
+ type LogType = [unknown?, ...unknown[]];
3
4
  export declare class Logger {
4
5
  readonly debug: boolean;
5
6
  readonly immediateLog: boolean;
6
7
  readonly logTime: boolean;
8
+ readonly logColor: boolean;
7
9
  readonly getTime: () => string;
8
10
  readonly getStat: () => string;
9
11
  readonly getFetchRange: () => string;
@@ -25,4 +27,6 @@ export declare class Logger {
25
27
  logAdapterMethod: (methodName: string, args?: unknown, add?: string) => void;
26
28
  log(...args: unknown[]): void;
27
29
  logForce(...args: unknown[]): void;
30
+ getLogs(): LogType[];
28
31
  }
32
+ export {};
@@ -43,6 +43,13 @@ export declare class Settings<Data = unknown> implements ISettings, IDevSettings
43
43
  * @type {boolean}
44
44
  */
45
45
  logProcessRun: boolean;
46
+ /**
47
+ * Development setting.
48
+ * If true, console color formatting will be used in logs.
49
+ * Default value: true.
50
+ * @type {boolean}
51
+ */
52
+ logColor: boolean;
46
53
  /**
47
54
  * Development setting.
48
55
  * If set, scroll event handling is throttled (ms).
@@ -5,6 +5,6 @@ import packageInfo from './version';
5
5
  import { INVALID_DATASOURCE_PREFIX } from './scroller';
6
6
  import { AdapterPropName, EMPTY_ITEM, getDefaultAdapterProps } from './classes/adapter/props';
7
7
  import { Direction, SizeStrategy } from './inputs/index';
8
- import { IDatasource, IDatasourceConstructed, IRoutines, IReactivePropConfig, IAdapterConfig, ItemAdapter, IAdapter, Item } from './interfaces/index';
9
- export { Workflow, makeDatasource, Routines, packageInfo, INVALID_DATASOURCE_PREFIX, AdapterPropName, EMPTY_ITEM, getDefaultAdapterProps, Direction, SizeStrategy, };
10
- export { IDatasource, IDatasourceConstructed, IRoutines, IReactivePropConfig, IAdapterConfig, ItemAdapter as IAdapterItem, IAdapter, Item, };
8
+ import type { IDatasource, IDatasourceConstructed, IRoutines, IReactivePropConfig, IAdapterConfig, ItemAdapter, IAdapter, Item } from './interfaces/index';
9
+ export { Workflow, makeDatasource, Routines, packageInfo, INVALID_DATASOURCE_PREFIX, AdapterPropName, EMPTY_ITEM, getDefaultAdapterProps, Direction, SizeStrategy };
10
+ export { IDatasource, IDatasourceConstructed, IRoutines, IReactivePropConfig, IAdapterConfig, ItemAdapter as IAdapterItem, IAdapter, Item };
@@ -4,4 +4,4 @@ import { DatasourceProps, DATASOURCE } from './datasource';
4
4
  import { SETTINGS, DEV_SETTINGS } from './settings';
5
5
  import { AdapterMethods, ADAPTER_METHODS } from './adapter';
6
6
  import { WORKFLOW } from './workflow';
7
- export { Direction, SizeStrategy, ValidatorType, VALIDATORS, validateOne, validate, DatasourceProps, DATASOURCE, SETTINGS, DEV_SETTINGS, AdapterMethods, ADAPTER_METHODS, WORKFLOW, };
7
+ export { Direction, SizeStrategy, ValidatorType, VALIDATORS, validateOne, validate, DatasourceProps, DATASOURCE, SETTINGS, DEV_SETTINGS, AdapterMethods, ADAPTER_METHODS, WORKFLOW };
@@ -20,6 +20,7 @@ declare enum DevSettings {
20
20
  immediateLog = "immediateLog",
21
21
  logProcessRun = "logProcessRun",
22
22
  logTime = "logTime",
23
+ logColor = "logColor",
23
24
  throttle = "throttle",
24
25
  initDelay = "initDelay",
25
26
  initWindowDelay = "initWindowDelay",
@@ -1,10 +1,10 @@
1
- import { ObservableLike, DatasourceGet, IDatasourceParams, IDatasourceOptional, IDatasource, IDatasourceConstructed } from './datasource';
2
- import { OnDataChanged, WorkflowParams, ScrollerWorkflow, ScrollerParams, WorkflowGetter, WorkflowError, InterruptParams, StateMachineMethods, StateMachineParams } from './workflow';
3
- import { Item } from './item';
4
- import { IReactivePropConfig, IReactivePropsConfig, IReactivePropsStore, IWanted, IAdapterConfig, IAdapterProp, ItemAdapter, ItemsPredicate, ItemsUpdater, ItemsProcessor, BufferUpdater, IPackage, IPackages, IBufferInfo, IAdapterInput, AdapterAppendOptions, AdapterPrependOptions, AdapterRemoveOptions, AdapterClipOptions, AdapterInsertOptions, AdapterReplaceOptions, AdapterUpdateOptions, AdapterFixOptions, AdapterMethodResult, IAdapter } from './adapter';
5
- import { Settings, DevSettings } from './settings';
6
- import { IRoutines, RoutinesClassType } from './routines';
7
- import { ScrollEventData, State } from './state';
8
- import { ProcessName, ProcessClass, ProcessPayload, ProcessSubject, AdapterProcessMap, IBaseProcess, IBaseAdapterProcess } from './process';
9
- import { ValidatedValue, IValidator, ICommonProp, ICommonProps, IValidatedCommonProps, IValidatedData } from './validation';
10
- export { ObservableLike, DatasourceGet, IDatasourceParams, IDatasourceOptional, IDatasource, IDatasourceConstructed, OnDataChanged, WorkflowParams, ScrollerWorkflow, ScrollerParams, WorkflowGetter, WorkflowError, InterruptParams, StateMachineMethods, StateMachineParams, Item, IReactivePropConfig, IReactivePropsConfig, IReactivePropsStore, IWanted, IAdapterConfig, IAdapterProp, ItemAdapter, AdapterMethodResult, IAdapter, ItemsPredicate, ItemsUpdater, ItemsProcessor, BufferUpdater, IPackage, IPackages, IBufferInfo, IAdapterInput, AdapterAppendOptions, AdapterPrependOptions, AdapterRemoveOptions, AdapterClipOptions, AdapterInsertOptions, AdapterReplaceOptions, AdapterUpdateOptions, AdapterFixOptions, Settings, DevSettings, IRoutines, RoutinesClassType, ScrollEventData, State, ProcessName, ProcessClass, ProcessPayload, ProcessSubject, AdapterProcessMap, IBaseProcess, IBaseAdapterProcess, ValidatedValue, IValidator, ICommonProp, ICommonProps, IValidatedCommonProps, IValidatedData, };
1
+ import type { ObservableLike, DatasourceGet, IDatasourceParams, IDatasourceOptional, IDatasource, IDatasourceConstructed } from './datasource';
2
+ import type { OnDataChanged, WorkflowParams, ScrollerWorkflow, ScrollerParams, WorkflowGetter, WorkflowError, InterruptParams, StateMachineMethods, StateMachineParams } from './workflow';
3
+ import type { Item } from './item';
4
+ import type { IReactivePropConfig, IReactivePropsConfig, IReactivePropsStore, IWanted, IAdapterConfig, IAdapterProp, ItemAdapter, ItemsPredicate, ItemsUpdater, ItemsProcessor, BufferUpdater, IPackage, IPackages, IBufferInfo, IAdapterInput, AdapterAppendOptions, AdapterPrependOptions, AdapterRemoveOptions, AdapterClipOptions, AdapterInsertOptions, AdapterReplaceOptions, AdapterUpdateOptions, AdapterFixOptions, AdapterMethodResult, IAdapter } from './adapter';
5
+ import type { Settings, DevSettings } from './settings';
6
+ import type { IRoutines, RoutinesClassType } from './routines';
7
+ import type { ScrollEventData, State } from './state';
8
+ import type { ProcessName, ProcessClass, ProcessPayload, ProcessSubject, AdapterProcessMap, IBaseProcess, IBaseAdapterProcess } from './process';
9
+ import type { ValidatedValue, IValidator, ICommonProp, ICommonProps, IValidatedCommonProps, IValidatedData } from './validation';
10
+ export type { ObservableLike, DatasourceGet, IDatasourceParams, IDatasourceOptional, IDatasource, IDatasourceConstructed, OnDataChanged, WorkflowParams, ScrollerWorkflow, ScrollerParams, WorkflowGetter, WorkflowError, InterruptParams, StateMachineMethods, StateMachineParams, Item, IReactivePropConfig, IReactivePropsConfig, IReactivePropsStore, IWanted, IAdapterConfig, IAdapterProp, ItemAdapter, AdapterMethodResult, IAdapter, ItemsPredicate, ItemsUpdater, ItemsProcessor, BufferUpdater, IPackage, IPackages, IBufferInfo, IAdapterInput, AdapterAppendOptions, AdapterPrependOptions, AdapterRemoveOptions, AdapterClipOptions, AdapterInsertOptions, AdapterReplaceOptions, AdapterUpdateOptions, AdapterFixOptions, Settings, DevSettings, IRoutines, RoutinesClassType, ScrollEventData, State, ProcessName, ProcessClass, ProcessPayload, ProcessSubject, AdapterProcessMap, IBaseProcess, IBaseAdapterProcess, ValidatedValue, IValidator, ICommonProp, ICommonProps, IValidatedCommonProps, IValidatedData };
@@ -21,6 +21,7 @@ export interface DevSettings {
21
21
  immediateLog?: boolean;
22
22
  logProcessRun?: boolean;
23
23
  logTime?: boolean;
24
+ logColor?: boolean;
24
25
  throttle?: number;
25
26
  initDelay?: number;
26
27
  initWindowDelay?: number;
@@ -21,4 +21,4 @@ import PreClip from './preClip';
21
21
  import Clip from './clip';
22
22
  import End from './end';
23
23
  import { CommonProcess, AdapterProcess, ProcessStatus } from './misc/enums';
24
- export { Init, Scroll, Reset, Reload, Append, Check, Remove, UserClip, Insert, Replace, Update, Pause, Fix, Start, PreFetch, Fetch, PostFetch, Render, PreClip, Clip, Adjust, End, CommonProcess, AdapterProcess, ProcessStatus, };
24
+ export { Init, Scroll, Reset, Reload, Append, Check, Remove, UserClip, Insert, Replace, Update, Pause, Fix, Start, PreFetch, Fetch, PostFetch, Render, PreClip, Clip, Adjust, End, CommonProcess, AdapterProcess, ProcessStatus };
@@ -2,7 +2,7 @@ import { Scroller } from '../scroller';
2
2
  import { ScrollEventData, ScrollerWorkflow } from '../interfaces/index';
3
3
  declare const Scroll_base: import("../interfaces/process").IBaseProcess;
4
4
  export default class Scroll extends Scroll_base {
5
- static run(scroller: Scroller, payload?: {
5
+ static run(scroller: Scroller, _payload?: {
6
6
  event?: Event;
7
7
  }): void;
8
8
  static onSynthetic(scroller: Scroller, position: number): boolean;
@@ -8,6 +8,7 @@ export declare class Workflow<ItemData = unknown> {
8
8
  initTimer: ReturnType<typeof setTimeout> | null;
9
9
  adapterRun$: Reactive<ProcessSubject>;
10
10
  cyclesDone: number;
11
+ cyclesDone$: Reactive<number>;
11
12
  interruptionCount: number;
12
13
  errors: WorkflowError[];
13
14
  private offScroll;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vscroll",
3
- "version": "1.7.0",
3
+ "version": "1.8.1",
4
4
  "description": "Virtual scroll engine",
5
5
  "main": "dist/bundles/vscroll.umd.js",
6
6
  "module": "dist/bundles/vscroll.esm5.js",
@@ -25,42 +25,43 @@
25
25
  "license": "MIT",
26
26
  "scripts": {
27
27
  "lint": "eslint .",
28
- "jest": "jest",
29
- "watch": "jest --watch",
30
28
  "build": "node build",
31
- "test": "npm run lint && npm run jest",
29
+ "test": "npm run lint && cd tests && npm test",
30
+ "test:unit": "cd tests && npm run test:unit",
31
+ "test:e2e": "cd tests && npm run test:e2e",
32
+ "test:e2e:ui": "cd tests && npm run test:e2e:ui",
33
+ "test:e2e:debug": "cd tests && npm run test:e2e:debug",
32
34
  "prepack": "npm run build",
33
- "checkGit": "sh ./uncommited.sh",
34
- "prepublishOnly": "npm run build"
35
+ "checkGit": "sh ./uncommited.sh"
35
36
  },
36
37
  "dependencies": {
37
- "tslib": "^2.3.1"
38
+ "tslib": "^2.8.1"
38
39
  },
39
40
  "devDependencies": {
40
- "@babel/core": "^7.16.12",
41
- "@babel/preset-env": "^7.28.0",
42
- "@babel/preset-typescript": "^7.27.1",
43
- "@rollup/plugin-node-resolve": "^16.0.1",
41
+ "@rollup/plugin-node-resolve": "^16.0.3",
44
42
  "@rollup/plugin-terser": "^0.4.4",
45
- "@types/jest": "^30.0.0",
46
- "@typescript-eslint/eslint-plugin": "^8.38.0",
47
- "@typescript-eslint/parser": "^8.38.0",
48
- "babel-jest": "^30.0.5",
49
- "chalk": "^5.0.0",
50
- "eslint": "^9.32.0",
51
- "globals": "^16.3.0",
52
- "jest": "^30.0.5",
53
- "rollup": "^4.45.1",
43
+ "@typescript-eslint/eslint-plugin": "^8.48.0",
44
+ "@typescript-eslint/parser": "^8.48.0",
45
+ "chalk": "^5.6.2",
46
+ "eslint": "^9.39.1",
47
+ "globals": "^16.5.0",
48
+ "husky": "^9.1.7",
49
+ "lint-staged": "^16.2.7",
50
+ "prettier": "^3.7.1",
51
+ "rollup": "^4.53.3",
54
52
  "rollup-plugin-license": "^3.6.0",
55
- "rollup-plugin-sourcemaps2": "^0.5.3",
53
+ "rollup-plugin-sourcemaps2": "^0.5.4",
56
54
  "shelljs": "^0.10.0",
57
- "typescript": "^5.8.3"
55
+ "typescript": "^5.9.3"
58
56
  },
59
57
  "keywords": [
60
58
  "vscroll",
59
+ "lazy-loading",
61
60
  "virtual",
62
61
  "virtualizing",
63
62
  "virtualization",
63
+ "virtual-scroll",
64
+ "infinite-scroll",
64
65
  "scroll",
65
66
  "scrolling",
66
67
  "scroller",