ng-virtual-list 18.11.2 → 18.12.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 (274) hide show
  1. package/README.md +115 -111
  2. package/esm2022/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +170 -61
  3. package/esm2022/lib/components/ng-list-item/const/index.mjs +41 -2
  4. package/esm2022/lib/components/ng-list-item/interfaces/template-context.mjs +1 -1
  5. package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +55 -51
  6. package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.module.mjs +5 -5
  7. package/esm2022/lib/components/ng-list-item/utils/create-display-id.mjs +7 -1
  8. package/esm2022/lib/components/ng-list-item/utils/get-element-by-index.mjs +17 -3
  9. package/esm2022/lib/components/ng-list-item/utils/index.mjs +3 -2
  10. package/esm2022/lib/components/ng-list-item/utils/matrix-3d.mjs +18 -0
  11. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +172 -47
  12. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +32 -16
  13. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.mjs +5 -5
  14. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +58 -34
  15. package/esm2022/lib/components/ng-prerender-container/core/prerender-track-box.mjs +37 -7
  16. package/esm2022/lib/components/ng-prerender-container/interfaces/refresh-params.mjs +1 -1
  17. package/esm2022/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +58 -28
  18. package/esm2022/lib/components/ng-scroll-bar/const/index.mjs +8 -1
  19. package/esm2022/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.mjs +1 -1
  20. package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +236 -88
  21. package/esm2022/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +170 -44
  22. package/esm2022/lib/components/ng-scroll-view/const/index.mjs +4 -2
  23. package/esm2022/lib/components/ng-scroll-view/interfaces/scroll-to-params.mjs +1 -1
  24. package/esm2022/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +610 -99
  25. package/esm2022/lib/components/ng-scroll-view/utils/calculate-direction.mjs +7 -1
  26. package/esm2022/lib/components/ng-scroll-view/utils/calculate-velocity.mjs +12 -0
  27. package/esm2022/lib/components/ng-scroll-view/utils/get-dir.mjs +10 -0
  28. package/esm2022/lib/components/ng-scroll-view/utils/index.mjs +4 -2
  29. package/esm2022/lib/components/ng-scroll-view/utils/matrix-3d.mjs +15 -0
  30. package/esm2022/lib/components/ng-scroller/enums/scroller-directions.mjs +1 -1
  31. package/esm2022/lib/components/ng-scroller/ng-scroller.component.mjs +342 -160
  32. package/esm2022/lib/const/index.mjs +50 -10
  33. package/esm2022/lib/core/cache-map.mjs +1 -54
  34. package/esm2022/lib/core/const/index.mjs +3 -0
  35. package/esm2022/lib/core/enums/index.mjs +3 -0
  36. package/esm2022/lib/core/enums/item-display-methods.mjs +14 -0
  37. package/esm2022/lib/core/events/index.mjs +3 -0
  38. package/esm2022/lib/core/events/track-box-events.mjs +12 -0
  39. package/esm2022/lib/core/interfaces/get-item-position-options.mjs +2 -0
  40. package/esm2022/lib/core/interfaces/get-metrics-returns.mjs +2 -0
  41. package/esm2022/lib/core/interfaces/index.mjs +2 -0
  42. package/esm2022/lib/core/interfaces/item.mjs +2 -0
  43. package/esm2022/lib/core/interfaces/metrics.mjs +2 -0
  44. package/esm2022/lib/core/interfaces/recalculate-metrics-options.mjs +2 -0
  45. package/esm2022/lib/core/interfaces/update-collection-options.mjs +2 -0
  46. package/esm2022/lib/core/interfaces/update-collection-returns.mjs +2 -0
  47. package/esm2022/lib/core/track-box.mjs +601 -191
  48. package/esm2022/lib/core/tracker.mjs +14 -8
  49. package/esm2022/lib/core/types/cache-map-events.mjs +2 -0
  50. package/esm2022/lib/core/types/cache-map-listeners.mjs +2 -0
  51. package/esm2022/lib/core/types/cache.mjs +2 -0
  52. package/esm2022/lib/core/types/index.mjs +2 -0
  53. package/esm2022/lib/core/types/on-change-event-listener.mjs +2 -0
  54. package/esm2022/lib/core/types/on-tick-event-listener.mjs +2 -0
  55. package/esm2022/lib/core/utils/get-service-id-prop.mjs +10 -0
  56. package/esm2022/lib/core/utils/index.mjs +3 -0
  57. package/esm2022/lib/directives/index.mjs +3 -3
  58. package/esm2022/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +34 -13
  59. package/esm2022/lib/directives/virtual-click/virtual-click.directive.mjs +67 -0
  60. package/esm2022/lib/directives/virtual-click/virtual-click.module.mjs +19 -0
  61. package/esm2022/lib/enums/alignments.mjs +12 -0
  62. package/esm2022/lib/enums/collapsing-modes.mjs +22 -0
  63. package/esm2022/lib/enums/index.mjs +8 -4
  64. package/esm2022/lib/enums/selecting-modes-types.mjs +22 -0
  65. package/esm2022/lib/enums/selecting-modes.mjs +22 -0
  66. package/esm2022/lib/enums/snap-to-item-aligns.mjs +22 -0
  67. package/esm2022/lib/enums/spreading-modes.mjs +18 -0
  68. package/esm2022/lib/interfaces/animation-params.mjs +1 -1
  69. package/esm2022/lib/interfaces/base-virtual-list-item-component.mjs +2 -9
  70. package/esm2022/lib/interfaces/index.mjs +1 -1
  71. package/esm2022/lib/interfaces/item-transformation.mjs +2 -0
  72. package/esm2022/lib/interfaces/point.mjs +2 -0
  73. package/esm2022/lib/interfaces/scroll-options.mjs +1 -1
  74. package/esm2022/lib/interfaces/scroll-params.mjs +1 -1
  75. package/esm2022/lib/models/item-config-map.model.mjs +1 -1
  76. package/esm2022/lib/models/item.model.mjs +1 -1
  77. package/esm2022/lib/models/render-item-config.model.mjs +1 -1
  78. package/esm2022/lib/models/render-item-measures.model.mjs +1 -1
  79. package/esm2022/lib/ng-virtual-list-public.service.mjs +6 -7
  80. package/esm2022/lib/ng-virtual-list.component.mjs +2033 -903
  81. package/esm2022/lib/ng-virtual-list.service.mjs +91 -30
  82. package/esm2022/lib/transformations/deck-of-cards-3d.mjs +57 -0
  83. package/esm2022/lib/transformations/deck-of-cards.mjs +54 -0
  84. package/esm2022/lib/transformations/event-horizon.mjs +47 -0
  85. package/esm2022/lib/transformations/index.mjs +13 -0
  86. package/esm2022/lib/transformations/linear.mjs +47 -0
  87. package/esm2022/lib/transformations/swipe-3d.mjs +51 -0
  88. package/esm2022/lib/types/alignment.mjs +2 -0
  89. package/esm2022/lib/types/arithmetic-expression.mjs +2 -0
  90. package/esm2022/lib/types/collapsing-mode.mjs +2 -0
  91. package/esm2022/lib/types/collection-mode.mjs +2 -0
  92. package/esm2022/lib/types/color.mjs +2 -0
  93. package/esm2022/lib/types/direction.mjs +2 -0
  94. package/esm2022/lib/types/float-or-persentage-value.mjs +2 -0
  95. package/esm2022/lib/types/focus-item-params.mjs +1 -1
  96. package/esm2022/lib/types/gradient-color-position.mjs +1 -1
  97. package/esm2022/lib/types/index.mjs +1 -1
  98. package/esm2022/lib/types/item-transform.mjs +2 -0
  99. package/esm2022/lib/types/scroll-direction.mjs +1 -1
  100. package/esm2022/lib/types/selecting-mode.mjs +2 -0
  101. package/esm2022/lib/types/snap-to-item-align.mjs +2 -0
  102. package/esm2022/lib/types/snapping-distance.mjs +2 -0
  103. package/esm2022/lib/types/snapping-method.mjs +2 -0
  104. package/esm2022/lib/types/spreading-mode.mjs +2 -0
  105. package/esm2022/lib/types/text-direction.mjs +2 -0
  106. package/esm2022/lib/utils/animator/animator.mjs +28 -8
  107. package/esm2022/lib/utils/animator/const/index.mjs +2 -0
  108. package/esm2022/lib/utils/animator/index.mjs +3 -2
  109. package/esm2022/lib/utils/animator/interfaces/animator-params.mjs +2 -0
  110. package/esm2022/lib/utils/animator/interfaces/animator-update-data.mjs +2 -0
  111. package/esm2022/lib/utils/animator/interfaces/index.mjs +2 -0
  112. package/esm2022/lib/utils/animator/types/easing.mjs +1 -1
  113. package/esm2022/lib/utils/disposable-component.mjs +27 -0
  114. package/esm2022/lib/utils/event-emitter/event-emitter.mjs +1 -1
  115. package/esm2022/lib/utils/get-scroll-state-version.mjs +12 -0
  116. package/esm2022/lib/utils/is-collapse-mode.mjs +18 -0
  117. package/esm2022/lib/utils/is-collection-mode.mjs +1 -1
  118. package/esm2022/lib/utils/is-direction.mjs +1 -1
  119. package/esm2022/lib/utils/is-persentage-value.mjs +14 -0
  120. package/esm2022/lib/utils/is-select-mode.mjs +18 -0
  121. package/esm2022/lib/utils/is-spreading-mode.mjs +15 -0
  122. package/esm2022/lib/utils/list-validators.mjs +1 -1
  123. package/esm2022/lib/utils/normalize-collection.mjs +42 -0
  124. package/esm2022/lib/utils/object.mjs +1 -1
  125. package/esm2022/lib/utils/parse-arithmetic-expression.mjs +53 -0
  126. package/esm2022/lib/utils/parse-float-or-persentage-value.mjs +17 -0
  127. package/esm2022/lib/utils/scrolling-direction.mjs +29 -0
  128. package/esm2022/lib/utils/snapping-method.mjs +1 -1
  129. package/esm2022/public-api.mjs +4 -1
  130. package/fesm2022/ng-virtual-list.mjs +7545 -3904
  131. package/fesm2022/ng-virtual-list.mjs.map +1 -1
  132. package/lib/components/ng-list-item/base/base-virtual-list-item-component.d.ts +40 -16
  133. package/lib/components/ng-list-item/const/index.d.ts +3 -1
  134. package/lib/components/ng-list-item/interfaces/template-context.d.ts +1 -1
  135. package/lib/components/ng-list-item/ng-virtual-list-item.component.d.ts +5 -2
  136. package/lib/components/ng-list-item/ng-virtual-list-item.module.d.ts +2 -2
  137. package/lib/components/ng-list-item/utils/create-display-id.d.ts +6 -0
  138. package/lib/components/ng-list-item/utils/get-element-by-index.d.ts +15 -1
  139. package/lib/components/ng-list-item/utils/index.d.ts +2 -1
  140. package/lib/components/ng-list-item/utils/matrix-3d.d.ts +7 -0
  141. package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.d.ts +69 -26
  142. package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.d.ts +2 -2
  143. package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.d.ts +2 -2
  144. package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.d.ts +33 -12
  145. package/lib/components/ng-prerender-container/interfaces/refresh-params.d.ts +1 -0
  146. package/lib/components/ng-prerender-container/ng-prerender-container.component.d.ts +20 -17
  147. package/lib/components/ng-scroll-bar/const/index.d.ts +2 -0
  148. package/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.d.ts +2 -2
  149. package/lib/components/ng-scroll-bar/ng-scroll-bar.component.d.ts +75 -24
  150. package/lib/components/ng-scroll-view/base/base-scroll-view.component.d.ts +49 -16
  151. package/lib/components/ng-scroll-view/const/index.d.ts +3 -1
  152. package/lib/components/ng-scroll-view/interfaces/scroll-to-params.d.ts +4 -1
  153. package/lib/components/ng-scroll-view/ng-scroll-view.component.d.ts +79 -11
  154. package/lib/components/ng-scroll-view/utils/calculate-direction.d.ts +6 -0
  155. package/lib/components/ng-scroll-view/utils/calculate-velocity.d.ts +7 -0
  156. package/lib/components/ng-scroll-view/utils/get-dir.d.ts +7 -0
  157. package/lib/components/ng-scroll-view/utils/index.d.ts +3 -1
  158. package/lib/components/ng-scroll-view/utils/matrix-3d.d.ts +7 -0
  159. package/lib/components/ng-scroller/enums/scroller-directions.d.ts +2 -1
  160. package/lib/components/ng-scroller/ng-scroller.component.d.ts +111 -47
  161. package/lib/const/index.d.ts +46 -5
  162. package/lib/core/cache-map.d.ts +0 -10
  163. package/lib/core/const/index.d.ts +1 -0
  164. package/lib/core/enums/index.d.ts +2 -0
  165. package/lib/core/enums/item-display-methods.d.ts +12 -0
  166. package/lib/core/events/index.d.ts +2 -0
  167. package/lib/core/events/track-box-events.d.ts +10 -0
  168. package/lib/core/interfaces/get-item-position-options.d.ts +10 -0
  169. package/lib/core/interfaces/get-metrics-returns.d.ts +11 -0
  170. package/lib/core/interfaces/index.d.ts +8 -0
  171. package/lib/core/interfaces/item.d.ts +9 -0
  172. package/lib/core/interfaces/metrics.d.ts +51 -0
  173. package/lib/core/interfaces/recalculate-metrics-options.d.ts +32 -0
  174. package/lib/core/interfaces/update-collection-options.d.ts +10 -0
  175. package/lib/core/interfaces/update-collection-returns.d.ts +14 -0
  176. package/lib/core/track-box.d.ts +25 -95
  177. package/lib/core/tracker.d.ts +1 -1
  178. package/lib/core/types/cache-map-events.d.ts +8 -0
  179. package/lib/core/types/cache-map-listeners.d.ts +9 -0
  180. package/lib/core/types/cache.d.ts +12 -0
  181. package/lib/core/types/index.d.ts +6 -0
  182. package/lib/core/types/on-change-event-listener.d.ts +7 -0
  183. package/lib/core/types/on-tick-event-listener.d.ts +7 -0
  184. package/lib/core/utils/get-service-id-prop.d.ts +7 -0
  185. package/lib/core/utils/index.d.ts +2 -0
  186. package/lib/directives/index.d.ts +2 -2
  187. package/lib/directives/locale-sensitive/locale-sensitive.directive.d.ts +16 -6
  188. package/lib/directives/virtual-click/virtual-click.directive.d.ts +22 -0
  189. package/lib/directives/virtual-click/virtual-click.module.d.ts +8 -0
  190. package/lib/enums/alignments.d.ts +10 -0
  191. package/lib/enums/collapsing-modes.d.ts +20 -0
  192. package/lib/enums/index.d.ts +7 -9
  193. package/lib/enums/{method-for-selecting-types.d.ts → selecting-modes-types.d.ts} +3 -3
  194. package/lib/enums/{methods-for-selecting.d.ts → selecting-modes.d.ts} +3 -3
  195. package/lib/enums/snap-to-item-aligns.d.ts +20 -0
  196. package/lib/enums/spreading-modes.d.ts +16 -0
  197. package/lib/interfaces/animation-params.d.ts +1 -0
  198. package/lib/interfaces/base-virtual-list-item-component.d.ts +13 -13
  199. package/lib/interfaces/index.d.ts +3 -2
  200. package/lib/interfaces/item-transformation.d.ts +22 -0
  201. package/lib/interfaces/point.d.ts +16 -0
  202. package/lib/interfaces/scroll-options.d.ts +4 -0
  203. package/lib/interfaces/scroll-params.d.ts +3 -2
  204. package/lib/models/item-config-map.model.d.ts +5 -0
  205. package/lib/models/item.model.d.ts +7 -0
  206. package/lib/models/render-item-config.model.d.ts +50 -0
  207. package/lib/models/render-item-measures.model.d.ts +71 -0
  208. package/lib/ng-virtual-list-public.service.d.ts +4 -5
  209. package/lib/ng-virtual-list.component.d.ts +462 -135
  210. package/lib/ng-virtual-list.service.d.ts +33 -12
  211. package/lib/transformations/deck-of-cards-3d.d.ts +54 -0
  212. package/lib/transformations/deck-of-cards.d.ts +50 -0
  213. package/lib/transformations/event-horizon.d.ts +26 -0
  214. package/lib/transformations/index.d.ts +7 -0
  215. package/lib/transformations/linear.d.ts +26 -0
  216. package/lib/transformations/swipe-3d.d.ts +38 -0
  217. package/lib/types/alignment.d.ts +8 -0
  218. package/lib/types/arithmetic-expression.d.ts +10 -0
  219. package/lib/types/collapsing-mode.d.ts +8 -0
  220. package/lib/{enums → types}/collection-mode.d.ts +1 -1
  221. package/lib/types/color.d.ts +4 -0
  222. package/lib/{enums → types}/direction.d.ts +1 -1
  223. package/lib/types/float-or-persentage-value.d.ts +7 -0
  224. package/lib/types/focus-item-params.d.ts +6 -0
  225. package/lib/types/gradient-color-position.d.ts +1 -1
  226. package/lib/types/index.d.ts +15 -1
  227. package/lib/types/item-transform.d.ts +9 -0
  228. package/lib/types/scroll-direction.d.ts +2 -0
  229. package/lib/types/selecting-mode.d.ts +8 -0
  230. package/lib/types/snap-to-item-align.d.ts +8 -0
  231. package/lib/types/snapping-distance.d.ts +8 -0
  232. package/lib/{enums → types}/snapping-method.d.ts +1 -1
  233. package/lib/types/spreading-mode.d.ts +8 -0
  234. package/lib/{enums → types}/text-direction.d.ts +1 -1
  235. package/lib/utils/animator/animator.d.ts +10 -17
  236. package/lib/utils/animator/const/index.d.ts +1 -0
  237. package/lib/utils/animator/index.d.ts +2 -1
  238. package/lib/utils/animator/interfaces/animator-params.d.ts +18 -0
  239. package/lib/utils/animator/interfaces/animator-update-data.d.ts +13 -0
  240. package/lib/utils/animator/interfaces/index.d.ts +3 -0
  241. package/lib/utils/animator/types/easing.d.ts +6 -0
  242. package/lib/utils/disposable-component.d.ts +15 -0
  243. package/lib/utils/get-scroll-state-version.d.ts +1 -0
  244. package/lib/utils/is-collapse-mode.d.ts +8 -0
  245. package/lib/utils/is-collection-mode.d.ts +1 -1
  246. package/lib/utils/is-direction.d.ts +1 -1
  247. package/lib/utils/is-persentage-value.d.ts +7 -0
  248. package/lib/utils/is-select-mode.d.ts +8 -0
  249. package/lib/utils/is-spreading-mode.d.ts +8 -0
  250. package/lib/utils/list-validators.d.ts +1 -1
  251. package/lib/utils/normalize-collection.d.ts +8 -0
  252. package/lib/utils/object.d.ts +1 -1
  253. package/lib/utils/parse-arithmetic-expression.d.ts +8 -0
  254. package/lib/utils/parse-float-or-persentage-value.d.ts +7 -0
  255. package/lib/utils/scrolling-direction.d.ts +17 -0
  256. package/lib/utils/snapping-method.d.ts +1 -1
  257. package/package.json +1 -1
  258. package/public-api.d.ts +3 -0
  259. package/esm2022/lib/components/ng-scroller/const/index.mjs +0 -2
  260. package/esm2022/lib/directives/item-click/item-click.directive.mjs +0 -59
  261. package/esm2022/lib/directives/item-click/item-click.module.mjs +0 -19
  262. package/esm2022/lib/enums/collection-mode.mjs +0 -2
  263. package/esm2022/lib/enums/direction.mjs +0 -2
  264. package/esm2022/lib/enums/method-for-selecting-types.mjs +0 -22
  265. package/esm2022/lib/enums/method-for-selecting.mjs +0 -2
  266. package/esm2022/lib/enums/methods-for-selecting.mjs +0 -22
  267. package/esm2022/lib/enums/snapping-method.mjs +0 -2
  268. package/esm2022/lib/enums/text-direction.mjs +0 -2
  269. package/esm2022/lib/utils/is-method-for-selecting.mjs +0 -18
  270. package/lib/components/ng-scroller/const/index.d.ts +0 -1
  271. package/lib/directives/item-click/item-click.directive.d.ts +0 -19
  272. package/lib/directives/item-click/item-click.module.d.ts +0 -8
  273. package/lib/enums/method-for-selecting.d.ts +0 -8
  274. package/lib/utils/is-method-for-selecting.d.ts +0 -8
@@ -1,9 +1,8 @@
1
- import { OnDestroy, Signal, TemplateRef } from '@angular/core';
1
+ import { ElementRef, EventEmitter, TemplateRef } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
- import { Id } from '../../types';
3
+ import { Id, TextDirection } from '../../types';
4
4
  import { NgScrollBarComponent } from "../ng-scroll-bar/ng-scroll-bar.component";
5
5
  import { GradientColorPositions } from '../../types/gradient-color-positions';
6
- import { TextDirection } from '../../enums';
7
6
  import { IScrollToParams, NgScrollView } from '../ng-scroll-view';
8
7
  import { IScrollBarDragEvent } from '../ng-scroll-bar/interfaces';
9
8
  import { ISize } from '../../interfaces';
@@ -13,88 +12,153 @@ export declare const SCROLL_EVENT: Event;
13
12
  * The scroller for the NgVirtualList item component
14
13
  * Maximum performance for extremely large lists.
15
14
  * It is based on algorithms for virtualization of screen objects.
16
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/components/scroller/ng-scroller.component.ts
15
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/components/ng-scroller/ng-scroller.component.ts
17
16
  * @author Evgenii Alexandrovich Grebennikov
18
17
  * @email djonnyx@gmail.com
19
18
  */
20
- export declare class NgScrollerComponent extends NgScrollView implements OnDestroy {
19
+ export declare class NgScrollerComponent extends NgScrollView {
21
20
  readonly scrollBar: NgScrollBarComponent | undefined;
22
- readonly onScrollbarVisible: import("@angular/core").OutputEmitterRef<boolean>;
23
- readonly scrollbarEnabled: import("@angular/core").InputSignal<boolean>;
24
- readonly scrollbarInteractive: import("@angular/core").InputSignal<boolean>;
25
- readonly focusedElement: import("@angular/core").InputSignal<Id | null>;
26
- readonly content: import("@angular/core").InputSignal<HTMLElement | undefined>;
27
- readonly loading: import("@angular/core").InputSignal<boolean>;
28
- readonly classes: import("@angular/core").InputSignal<{
21
+ readonly filter: ElementRef<SVGFEGaussianBlurElement> | undefined;
22
+ readonly onScrollbarVisible: EventEmitter<boolean>;
23
+ private _$scrollbarEnabled;
24
+ readonly $scrollbarEnabled: import("rxjs").Observable<boolean>;
25
+ set scrollbarEnabled(v: boolean);
26
+ get scrollbarEnabled(): boolean;
27
+ private _$scrollbarInteractive;
28
+ readonly $scrollbarInteractive: import("rxjs").Observable<boolean>;
29
+ set scrollbarInteractive(v: boolean);
30
+ get scrollbarInteractive(): boolean;
31
+ private _$focusedElement;
32
+ readonly $focusedElement: import("rxjs").Observable<Id | undefined>;
33
+ set focusedElement(v: Id | undefined);
34
+ get focusedElement(): Id | undefined;
35
+ private _$overlappingScrollbar;
36
+ readonly $overlappingScrollbar: import("rxjs").Observable<boolean>;
37
+ set overlappingScrollbar(v: boolean);
38
+ get overlappingScrollbar(): boolean;
39
+ private _$content;
40
+ readonly $content: import("rxjs").Observable<Id | undefined>;
41
+ set content(v: HTMLElement | undefined);
42
+ get content(): HTMLElement | undefined;
43
+ private _$loading;
44
+ readonly $loading: import("rxjs").Observable<boolean>;
45
+ set loading(v: boolean);
46
+ get loading(): boolean;
47
+ private _$classes;
48
+ readonly $classes: import("rxjs").Observable<{
29
49
  [cName: string]: boolean;
30
50
  }>;
31
- readonly scrollbarMinSize: import("@angular/core").InputSignal<number>;
32
- readonly scrollbarThickness: import("@angular/core").InputSignal<number>;
33
- readonly scrollbarThumbRenderer: import("@angular/core").InputSignal<TemplateRef<any> | null>;
34
- readonly scrollbarThumbParams: import("@angular/core").InputSignal<{
51
+ set classes(v: {
52
+ [cName: string]: boolean;
53
+ });
54
+ get classes(): {
55
+ [cName: string]: boolean;
56
+ };
57
+ private _$scrollbarMinSize;
58
+ readonly $scrollbarMinSize: import("rxjs").Observable<number>;
59
+ set scrollbarMinSize(v: number);
60
+ get scrollbarMinSize(): number;
61
+ private _$scrollbarThickness;
62
+ readonly $scrollbarThickness: import("rxjs").Observable<number>;
63
+ set scrollbarThickness(v: number);
64
+ get scrollbarThickness(): number;
65
+ private _$scrollbarThumbRenderer;
66
+ readonly $scrollbarThumbRenderer: import("rxjs").Observable<TemplateRef<any> | null>;
67
+ set scrollbarThumbRenderer(v: TemplateRef<any> | null);
68
+ get scrollbarThumbRenderer(): TemplateRef<any> | null;
69
+ private _$scrollbarThumbParams;
70
+ readonly $scrollbarThumbParams: import("rxjs").Observable<{
35
71
  [propName: string]: any;
36
72
  } | null>;
37
- readonly actualClasses: Signal<{
73
+ set scrollbarThumbParams(v: {
74
+ [propName: string]: any;
75
+ } | null);
76
+ get scrollbarThumbParams(): {
77
+ [propName: string]: any;
78
+ } | null;
79
+ private _$motionBlur;
80
+ readonly $motionBlur: import("rxjs").Observable<number | "disabled">;
81
+ set motionBlur(v: number | 'disabled');
82
+ get motionBlur(): number | 'disabled';
83
+ private _$maxMotionBlur;
84
+ readonly $maxMotionBlur: import("rxjs").Observable<number>;
85
+ set maxMotionBlur(v: number);
86
+ get maxMotionBlur(): number;
87
+ private _$motionBlurEnabled;
88
+ readonly $motionBlurEnabled: import("rxjs").Observable<boolean>;
89
+ set motionBlurEnabled(v: boolean);
90
+ get motionBlurEnabled(): boolean;
91
+ private _$actualClasses;
92
+ readonly $actualClasses: import("rxjs").Observable<{
38
93
  [cName: string]: boolean;
39
94
  }>;
40
- readonly containerClasses: Signal<{
95
+ private _$containerClasses;
96
+ readonly $containerClasses: import("rxjs").Observable<{
41
97
  [cName: string]: boolean;
42
98
  }>;
43
- readonly thumbGradientPositions: import("@angular/core").WritableSignal<GradientColorPositions>;
44
- readonly thumbSize: import("@angular/core").WritableSignal<number>;
45
- readonly scrollbarShow: import("@angular/core").WritableSignal<boolean>;
46
- readonly preparedSignal: import("@angular/core").WritableSignal<boolean>;
47
- private _service;
48
- readonly langTextDir: import("@angular/core").WritableSignal<TextDirection>;
99
+ private _$thumbGradientPositions;
100
+ readonly $thumbGradientPositions: import("rxjs").Observable<GradientColorPositions>;
101
+ private _$thumbSize;
102
+ readonly $thumbSize: import("rxjs").Observable<number>;
103
+ private _$thumbColorPositions;
104
+ readonly $thumbColorPositions: import("rxjs").Observable<GradientColorPositions>;
105
+ private _$actualThumbSize;
106
+ readonly $actualThumbSize: import("rxjs").Observable<number>;
107
+ private _$scrollbarShow;
108
+ readonly $scrollbarShow: import("rxjs").Observable<boolean>;
109
+ private _$show;
110
+ readonly $show: import("rxjs").Observable<boolean>;
111
+ private _$preparedSignal;
112
+ readonly $preparedSignal: import("rxjs").Observable<boolean>;
113
+ private _$langTextDir;
114
+ readonly $langTextDir: import("rxjs").Observable<TextDirection>;
115
+ private _$listStyles;
116
+ readonly $listStyles: import("rxjs").Observable<{
117
+ perspectiveOrigin: string;
118
+ }>;
49
119
  private _scrollBox;
50
120
  get host(): HTMLDivElement | undefined;
51
121
  private _$scrollbarScroll;
52
122
  readonly $scrollbarScroll: import("rxjs").Observable<boolean>;
53
123
  private _prepared;
54
124
  set prepared(v: boolean);
55
- set x(v: number);
56
- get x(): number;
57
- set y(v: number);
58
- get y(): number;
59
- readonly viewInitialized: import("@angular/core").WritableSignal<boolean>;
125
+ protected setX(x: number, snap?: boolean, normalize?: boolean): void;
126
+ protected setY(y: number, snap?: boolean, normalize?: boolean): void;
127
+ set startLayoutOffset(v: number);
128
+ get startLayoutOffset(): number;
129
+ private _$viewInitialized;
130
+ readonly $viewInitialized: import("rxjs").Observable<boolean>;
60
131
  private _isScrollbarUserAction;
61
132
  get isScrollbarUserAction(): boolean;
62
- private _measureVelocityTimestamp;
63
- private _measureVelocityLastPosition;
64
- private _measureVelocityAnimationFrameId;
65
- private _measureVelocityAnimationTimer;
66
- private _velocities;
67
- protected _velocity: number;
68
- get velocity(): number;
69
- protected _averageVelocity: number;
70
- get averageVelocity(): number;
71
- private _measureVelocityHandler;
72
133
  protected _$resizeViewport: Subject<ISize>;
73
134
  readonly $resizeViewport: import("rxjs").Observable<ISize>;
74
135
  protected _$resizeContent: Subject<ISize>;
75
136
  readonly $resizeContent: import("rxjs").Observable<ISize>;
137
+ protected _filterId: string;
138
+ protected _filter: string;
76
139
  constructor();
140
+ ngAfterViewInit(): void;
141
+ private recalculatePerspective;
77
142
  protected onResizeViewport(): void;
78
- protected onResizeContent(): void;
79
- private measureVelocity;
80
- private measureVelocityExecutor;
81
- stopMeasureVelocity(): void;
82
- private runMeasureVelocity;
143
+ protected onResizeContent(value?: number | null): void;
83
144
  private updateScrollBarHandler;
84
- ngAfterViewInit(): void;
85
145
  tick(): void;
86
146
  private updateScrollBar;
87
147
  refreshScrollbar(): void;
88
148
  protected onDragStart(): void;
89
149
  reset(): void;
90
150
  refresh(fireUpdate?: boolean, updateScrollbar?: boolean): void;
151
+ snapIfNeed(animated?: boolean): void;
152
+ startScrollTo(): void;
153
+ finishedScrollTo(): void;
91
154
  scrollTo(params: IScrollToParams): void;
92
155
  stopScrollbar(): void;
156
+ private dropVelocity;
157
+ protected stopMoving(): void;
93
158
  protected onAnimationComplete(position: number): void;
94
159
  onScrollBarDragHandler(event: IScrollBarDragEvent): void;
95
160
  onScrollBarDragEndHandler(event: IScrollBarDragEvent): void;
96
161
  private fireUpdateIfEdgesDetected;
97
- ngOnDestroy(): void;
98
162
  static ɵfac: i0.ɵɵFactoryDeclaration<NgScrollerComponent, never>;
99
- static ɵcmp: i0.ɵɵComponentDeclaration<NgScrollerComponent, "ng-scroller", never, { "scrollbarEnabled": { "alias": "scrollbarEnabled"; "required": false; "isSignal": true; }; "scrollbarInteractive": { "alias": "scrollbarInteractive"; "required": false; "isSignal": true; }; "focusedElement": { "alias": "focusedElement"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; "scrollbarMinSize": { "alias": "scrollbarMinSize"; "required": false; "isSignal": true; }; "scrollbarThickness": { "alias": "scrollbarThickness"; "required": false; "isSignal": true; }; "scrollbarThumbRenderer": { "alias": "scrollbarThumbRenderer"; "required": false; "isSignal": true; }; "scrollbarThumbParams": { "alias": "scrollbarThumbParams"; "required": false; "isSignal": true; }; }, { "onScrollbarVisible": "onScrollbarVisible"; }, never, ["*"], false, never>;
163
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgScrollerComponent, "ng-scroller", never, { "scrollbarEnabled": { "alias": "scrollbarEnabled"; "required": false; }; "scrollbarInteractive": { "alias": "scrollbarInteractive"; "required": false; }; "focusedElement": { "alias": "focusedElement"; "required": false; }; "overlappingScrollbar": { "alias": "overlappingScrollbar"; "required": false; }; "content": { "alias": "content"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "classes": { "alias": "classes"; "required": false; }; "scrollbarMinSize": { "alias": "scrollbarMinSize"; "required": false; }; "scrollbarThickness": { "alias": "scrollbarThickness"; "required": false; }; "scrollbarThumbRenderer": { "alias": "scrollbarThumbRenderer"; "required": false; }; "scrollbarThumbParams": { "alias": "scrollbarThumbParams"; "required": false; }; "motionBlur": { "alias": "motionBlur"; "required": false; }; "maxMotionBlur": { "alias": "maxMotionBlur"; "required": false; }; "motionBlurEnabled": { "alias": "motionBlurEnabled"; "required": false; }; }, { "onScrollbarVisible": "onScrollbarVisible"; }, never, ["*"], false, never>;
100
164
  }
@@ -1,8 +1,16 @@
1
- import { CollectionModes, MethodsForSelecting, SnappingMethods, TextDirections } from "../enums";
1
+ import { CollapsingModes, CollectionModes, SelectingModes, SnappingMethods, TextDirections } from "../enums";
2
2
  import { Directions } from "../enums/directions";
3
3
  import { IAnimationParams, IScrollingSettings } from '../interfaces';
4
+ import { SpreadingMode } from "../types";
5
+ import { Alignment, SnappingDistance, SnapToItemAlign } from "../types";
6
+ export declare const SERVICE_PROP_DUMMY_ID = "__service-dummy-id__";
7
+ export declare const SERVICE_PROP_DUMMY = "__service-dummy__";
8
+ export declare const SERVICE_TYPE_DUMMY = "__service-type-dummy__";
9
+ export declare const SERVICE_PROP_DUMMY_ENABLED: unique symbol;
4
10
  export declare const MAX_REGULAR_SNAPED_COMPONENTS = 2;
5
11
  export declare const DEFAULT_ITEM_SIZE = 24;
12
+ export declare const DEFAULT_MIN_ITEM_SIZE = 1;
13
+ export declare const DEFAULT_MAX_ITEM_SIZE: number;
6
14
  export declare const DEFAULT_BUFFER_SIZE = 2;
7
15
  export declare const DEFAULT_MAX_BUFFER_SIZE = 10;
8
16
  export declare const DEFAULT_LIST_SIZE = 400;
@@ -10,13 +18,25 @@ export declare const DEFAULT_CLICK_DISTANCE = 40;
10
18
  export declare const DEFAULT_WAIT_FOR_PREPARATION = true;
11
19
  export declare const DEFAULT_SCROLLBAR_ENABLED = true;
12
20
  export declare const DEFAULT_SCROLLBAR_INTERACTIVE = true;
21
+ export declare const DEFAULT_OVERLAPPING_SCROLLBAR = false;
13
22
  export declare const DEFAULT_SCROLL_BEHAVIOR: ScrollBehavior;
14
23
  export declare const NAVIGATION_BY_KEYBOARD_TIMER = 50;
24
+ export declare const DEFAULT_SNAP_TO_ITEM = false;
25
+ export declare const DEFAULT_SNAP_TO_ITEM_ALIGN: SnapToItemAlign;
26
+ export declare const DEFAULT_SNAPPING_DISTANCE: SnappingDistance;
27
+ export declare const DEFAULT_SCROLLING_ONE_BY_ONE = false;
28
+ export declare const DEFAULT_ALIGNMENT: Alignment;
29
+ export declare const DEFAULT_SPREADING_MODE: SpreadingMode;
30
+ export declare const DEFAULT_DIVIDES = 1;
31
+ export declare const DEFAULT_MOTION_BLUR = 0.15;
32
+ export declare const DEFAULT_MOTION_BLUR_ENABLED = false;
33
+ export declare const DEFAULT_MAX_MOTION_BLUR = 0.5;
15
34
  export declare const DEFAULT_ANIMATION_PARAMS: IAnimationParams;
16
35
  export declare const DEFAULT_SCROLLING_SETTINGS: IScrollingSettings;
17
36
  export declare const DEFAULT_OVERSCROLL_ENABLED = true;
18
- export declare const DEFAULT_SNAP = false;
37
+ export declare const DEFAULT_STICKY_ENABLED = false;
19
38
  export declare const DEFAULT_SELECT_BY_CLICK = true;
39
+ export declare const DEFAULT_ZINDEX_WHEN_SELECTING: null;
20
40
  export declare const DEFAULT_COLLAPSE_BY_CLICK = true;
21
41
  export declare const DEFAULT_ENABLED_BUFFER_OPTIMIZATION = false;
22
42
  export declare const DEFAULT_DYNAMIC_SIZE = true;
@@ -29,7 +49,8 @@ export declare const DEFAULT_COLLECTION_MODE = CollectionModes.NORMAL;
29
49
  export declare const DISPLAY_OBJECTS_LENGTH_MESUREMENT_ERROR = 1;
30
50
  export declare const MAX_SCROLL_TO_ITERATIONS = 5;
31
51
  export declare const DEFAULT_SNAPPING_METHOD = SnappingMethods.STANDART;
32
- export declare const DEFAULT_SELECT_METHOD = MethodsForSelecting.NONE;
52
+ export declare const DEFAULT_COLLAPSING_MODES = CollapsingModes.MULTI_COLLAPSE;
53
+ export declare const DEFAULT_SELECTING_MODES = SelectingModes.NONE;
33
54
  export declare const DEFAULT_SCREEN_READER_MESSAGE = "Showing items $1 to $2";
34
55
  export declare const DEFAULT_LANG_TEXT_DIR = TextDirections.LTR;
35
56
  export declare const DEFAULT_SCROLLBAR_THICKNESS: number;
@@ -37,6 +58,8 @@ export declare const DEFAULT_SCROLLBAR_MIN_SIZE: number;
37
58
  export declare const BEHAVIOR_AUTO: ScrollBehavior;
38
59
  export declare const BEHAVIOR_INSTANT: ScrollBehavior;
39
60
  export declare const BEHAVIOR_SMOOTH: ScrollBehavior;
61
+ export declare const DISABLED = "disabled";
62
+ export declare const VIEWPORT = "viewport";
40
63
  export declare const DISPLAY_BLOCK = "block";
41
64
  export declare const DISPLAY_NONE = "none";
42
65
  export declare const OPACITY_0 = "0";
@@ -45,6 +68,11 @@ export declare const VISIBILITY_VISIBLE = "visible";
45
68
  export declare const VISIBILITY_HIDDEN = "hidden";
46
69
  export declare const SIZE_100_PERSENT = "100%";
47
70
  export declare const SIZE_AUTO = "auto";
71
+ export declare const UNSET = "unset";
72
+ export declare const LEFT = "left";
73
+ export declare const RIGHT = "right";
74
+ export declare const POSITION = "position";
75
+ export declare const POSITION_RELATIVE = "relative";
48
76
  export declare const POSITION_ABSOLUTE = "absolute";
49
77
  export declare const TRANSLATE_3D = "translate3d";
50
78
  export declare const ZEROS_TRANSLATE_3D = "translate3d(0,0,0)";
@@ -90,13 +118,24 @@ export declare const PART_DEFAULT_ITEM = "item";
90
118
  export declare const PART_ITEM_NEW = " item-new";
91
119
  export declare const PART_ITEM_ODD = " item-odd";
92
120
  export declare const PART_ITEM_EVEN = " item-even";
121
+ export declare const PART_ITEM_ROW_ODD = " item-row-odd";
122
+ export declare const PART_ITEM_ROW_EVEN = " item-row-even";
93
123
  export declare const PART_ITEM_SNAPPED = " item-snapped";
94
124
  export declare const PART_ITEM_SELECTED = " item-selected";
95
125
  export declare const PART_ITEM_COLLAPSED = " item-collapsed";
96
126
  export declare const PART_ITEM_FOCUSED = " item-focused";
127
+ export declare const PART_DEFAULT_ITEM_FX = "item-fx";
128
+ export declare const PART_ITEM_FX_NEW = " item-fx-new";
129
+ export declare const PART_ITEM_FX_ODD = " item-fx-odd";
130
+ export declare const PART_ITEM_FX_EVEN = " item-fx-even";
131
+ export declare const PART_ITEM_ROW_FX_ODD = " item-row-fx-odd";
132
+ export declare const PART_ITEM_ROW_FX_EVEN = " item-row-fx-even";
133
+ export declare const PART_ITEM_FX_SNAPPED = " item-fx-snapped";
134
+ export declare const PART_ITEM_FX_SELECTED = " item-fx-selected";
135
+ export declare const PART_ITEM_FX_COLLAPSED = " item-fx-collapsed";
136
+ export declare const PART_ITEM_FX_FOCUSED = " item-fx-focused";
97
137
  export declare const MIN_PIXELS_FOR_PREVENT_SNAPPING = 10;
98
138
  export declare const MAX_VELOCITY_FOR_SCROLL_QUALITY_OPTIMIZATION_LVL1 = 74;
99
- export declare const MAX_VELOCITY_FOR_SCROLL_QUALITY_OPTIMIZATION_LVL2 = 500;
100
139
  export declare const MAX_NUMBERS_OF_SKIPS_FOR_QUALITY_OPTIMIZATION_LVL1 = 4;
101
140
  export declare const RANGE_DISPLAY_ITEMS_END_OFFSET = 20;
102
141
  export declare const PREPARE_ITERATIONS = 1;
@@ -109,4 +148,6 @@ export declare const EMPTY_SCROLL_STATE_VERSION = "-1";
109
148
  export declare const ROLE_LIST = "list";
110
149
  export declare const ROLE_LIST_BOX = "listbox";
111
150
  export declare const ITEM_ID = "item-id";
112
- export declare const ITEM_CONTAINER = "ngvl-item__container";
151
+ export declare const ITEM_CONTAINER = "ngvl-item";
152
+ export declare const PERCENTAGE_VALUE_PATTERN: RegExp;
153
+ export declare const Z_INDEX_NONE = "-1", Z_INDEX_0 = "0", Z_INDEX_1 = "1", Z_INDEX_2 = "2", Z_INDEX_3 = "3";
@@ -1,4 +1,3 @@
1
- import { ScrollDirection } from "../types";
2
1
  import { EventEmitter } from "../utils/event-emitter";
3
2
  import { CMap } from "../utils/cmap";
4
3
  export interface ICacheMap<I = any, B = any> {
@@ -27,22 +26,13 @@ export declare class CacheMap<I = string | number, B = any, E = CacheMapEvents,
27
26
  protected _lifeCircleId: any;
28
27
  protected _delta: number;
29
28
  get delta(): number;
30
- protected _deltaDirection: ScrollDirection;
31
- set deltaDirection(v: ScrollDirection);
32
- get deltaDirection(): ScrollDirection;
33
- private _scrollDirectionCache;
34
- private _scrollDirection;
35
- get scrollDirection(): ScrollDirection;
36
29
  get version(): number;
37
- private _clearScrollDirectionDebounce;
38
30
  constructor();
39
31
  protected changesDetected(): boolean;
40
32
  protected stopLifeCircle(): void;
41
33
  protected nextTick(cb: () => void): any;
42
34
  protected lifeCircle(): void;
43
35
  protected lifeCircleDo(): void;
44
- clearScrollDirectionCache(async?: boolean): void;
45
- private calcScrollDirection;
46
36
  protected bumpVersion(): void;
47
37
  protected fireChangeIfNeed(): void;
48
38
  set(id: I, bounds: B): CMap<I, B>;
@@ -0,0 +1 @@
1
+ export declare const START_COLLECTION_PREFIX_ID = "n", END_COLLECTION_PREFIX_ID = "p", DEFAULT_BUFFER_EXTREMUM_THRESHOLD = 15, DEFAULT_MAX_BUFFER_SEQUENCE_LENGTH = 30, DEFAULT_RESET_BUFFER_SIZE_TIMEOUT = 10000, IS_NEW = "n";
@@ -0,0 +1,2 @@
1
+ import { ItemDisplayMethods } from './item-display-methods';
2
+ export { ItemDisplayMethods, };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * ItemDisplayMethods
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/enums/item-display-methods.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export declare enum ItemDisplayMethods {
8
+ CREATE = 0,
9
+ UPDATE = 1,
10
+ DELETE = 2,
11
+ NOT_CHANGED = 3
12
+ }
@@ -0,0 +1,2 @@
1
+ import { TrackBoxEvents } from './track-box-events';
2
+ export { TrackBoxEvents, };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * TrackBoxEvents
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/events/track-box-events.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export declare enum TrackBoxEvents {
8
+ CHANGE = "change",
9
+ TICK = "tick"
10
+ }
@@ -0,0 +1,10 @@
1
+ import { IItem } from "./item";
2
+ import { IRecalculateMetricsOptions } from "./recalculate-metrics-options";
3
+ /**
4
+ * IGetItemPositionOptions
5
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/interfaces/get-item-position-options.ts
6
+ * @author Evgenii Alexandrovich Grebennikov
7
+ * @email djonnyx@gmail.com
8
+ */
9
+ export interface IGetItemPositionOptions<I extends IItem, C extends Array<I>> extends Omit<IRecalculateMetricsOptions<I, C>, 'previousTotalSize' | 'crudDetected' | 'deletedItemsMap'> {
10
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * IGetMetricsReturns
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/interfaces/get-metrics-returns.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export interface IGetMetricsReturns {
8
+ totalSize: number;
9
+ delta: number;
10
+ crudDetected: boolean;
11
+ }
@@ -0,0 +1,8 @@
1
+ import { IMetrics } from "./metrics";
2
+ import { IItem } from './item';
3
+ import { IGetItemPositionOptions } from './get-item-position-options';
4
+ import { IRecalculateMetricsOptions } from './recalculate-metrics-options';
5
+ import { IUpdateCollectionOptions } from './update-collection-options';
6
+ import { IGetMetricsReturns } from './get-metrics-returns';
7
+ import { IUpdateCollectionReturns } from "./update-collection-returns";
8
+ export type { IMetrics, IItem, IGetItemPositionOptions, IGetMetricsReturns, IRecalculateMetricsOptions, IUpdateCollectionOptions, IUpdateCollectionReturns, };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * IItem
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/interfaces/item.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export interface IItem<I = any> {
8
+ [prop: string]: I;
9
+ }
@@ -0,0 +1,51 @@
1
+ import { HEIGHT_PROP_NAME, WIDTH_PROP_NAME } from "../../const";
2
+ import { ItemTransform, SnapToItemAlign } from "../../types";
3
+ import { IItem } from "./item";
4
+ /**
5
+ * IMetrics
6
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/interfaces/metrics.ts
7
+ * @author Evgenii Alexandrovich Grebennikov
8
+ * @email djonnyx@gmail.com
9
+ */
10
+ export interface IMetrics<I extends IItem> {
11
+ delta: number;
12
+ normalizedItemWidth: number;
13
+ normalizedItemHeight: number;
14
+ width: number;
15
+ height: number;
16
+ dynamicSize: boolean;
17
+ divides: number;
18
+ itemSize: number;
19
+ minItemSize: number;
20
+ maxItemSize: number;
21
+ items: Array<I>;
22
+ itemsFromStartToScrollEnd: number;
23
+ itemsFromStartToDisplayEnd: number;
24
+ itemsOnDisplayWeight: number;
25
+ itemsOnDisplayLength: number;
26
+ isVertical: boolean;
27
+ leftHiddenItemsWeight: number;
28
+ leftItemLength: number;
29
+ leftItemsWeight: number;
30
+ leftLayoutOffset: number;
31
+ leftLayoutIndexOffset: number;
32
+ renderItems: number;
33
+ rightItemLength: number;
34
+ rightItemsWeight: number;
35
+ scrollSize: number;
36
+ leftSizeOfAddedItems: number;
37
+ sizeProperty: typeof HEIGHT_PROP_NAME | typeof WIDTH_PROP_NAME;
38
+ stickyEnabled: boolean;
39
+ stickyPos: number;
40
+ startIndex: number;
41
+ startPosition: number;
42
+ totalItemsToDisplayEndWeight: number;
43
+ totalLength: number;
44
+ totalSize: number;
45
+ typicalItemSize: number;
46
+ isFromItemIdFound: boolean;
47
+ isUpdating: boolean;
48
+ snapToItem: boolean;
49
+ snapToItemAlign: SnapToItemAlign;
50
+ itemTransform: ItemTransform | null;
51
+ }
@@ -0,0 +1,32 @@
1
+ import { ISize } from "../../interfaces";
2
+ import { Id, ItemTransform, SnapToItemAlign } from "../../types";
3
+ import { IItem } from "./item";
4
+ /**
5
+ * IRecalculateMetricsOptions
6
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/interfaces/recalculate-metrics-options.ts
7
+ * @author Evgenii Alexandrovich Grebennikov
8
+ * @email djonnyx@gmail.com
9
+ */
10
+ export interface IRecalculateMetricsOptions<I extends IItem, C extends Array<I>> {
11
+ bounds: ISize;
12
+ collection: C;
13
+ isVertical: boolean;
14
+ itemSize: number;
15
+ minItemSize: number;
16
+ maxItemSize: number;
17
+ bufferSize: number;
18
+ maxBufferSize: number;
19
+ dynamicSize: boolean;
20
+ scrollSize: number;
21
+ stickyEnabled: boolean;
22
+ enabledBufferOptimization: boolean;
23
+ fromItemId?: Id;
24
+ previousTotalSize: number;
25
+ crudDetected: boolean;
26
+ deletedItemsMap: {
27
+ [index: number]: ISize;
28
+ };
29
+ snapToItem: boolean;
30
+ snapToItemAlign: SnapToItemAlign;
31
+ itemTransform: ItemTransform | null;
32
+ }
@@ -0,0 +1,10 @@
1
+ import { IItem } from "./item";
2
+ import { IRecalculateMetricsOptions } from "./recalculate-metrics-options";
3
+ /**
4
+ * IUpdateCollectionOptions
5
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/interfaces/update-collection-options.ts
6
+ * @author Evgenii Alexandrovich Grebennikov
7
+ * @email djonnyx@gmail.com
8
+ */
9
+ export interface IUpdateCollectionOptions<I extends IItem, C extends Array<I>> extends Omit<IRecalculateMetricsOptions<I, C>, 'collection' | 'previousTotalSize' | 'crudDetected' | 'deletedItemsMap'> {
10
+ }
@@ -0,0 +1,14 @@
1
+ import { IRenderVirtualListCollection } from "../../models/render-collection.model";
2
+ /**
3
+ * IUpdateCollectionReturns
4
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/interfaces/update-collection-returns.ts
5
+ * @author Evgenii Alexandrovich Grebennikov
6
+ * @email djonnyx@gmail.com
7
+ */
8
+ export interface IUpdateCollectionReturns {
9
+ displayItems: IRenderVirtualListCollection;
10
+ totalSize: number;
11
+ leftLayoutOffset: number;
12
+ delta: number;
13
+ crudDetected: boolean;
14
+ }