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
@@ -3,98 +3,14 @@ import { IRenderVirtualListCollection } from "../models/render-collection.model"
3
3
  import { Id } from "../types/id";
4
4
  import { CacheMap } from "./cache-map";
5
5
  import { Tracker } from "./tracker";
6
- import { ISize } from "../interfaces";
7
- import { HEIGHT_PROP_NAME, WIDTH_PROP_NAME } from "../const";
6
+ import { IRect, ISize } from "../interfaces";
8
7
  import { IVirtualListItemConfigMap } from "../models";
9
8
  import { CMap } from '../utils/cmap';
10
9
  import { BaseVirtualListItemComponent } from "../components/ng-list-item/base";
11
10
  import { PrerenderCache } from "../components/ng-prerender-container/types/cache";
12
- export declare enum TrackBoxEvents {
13
- CHANGE = "change",
14
- TICK = "tick"
15
- }
16
- export interface IMetrics {
17
- delta: number;
18
- normalizedItemWidth: number;
19
- normalizedItemHeight: number;
20
- width: number;
21
- height: number;
22
- dynamicSize: boolean;
23
- itemSize: number;
24
- itemsFromStartToScrollEnd: number;
25
- itemsFromStartToDisplayEnd: number;
26
- itemsOnDisplayWeight: number;
27
- itemsOnDisplayLength: number;
28
- isVertical: boolean;
29
- leftHiddenItemsWeight: number;
30
- leftItemLength: number;
31
- leftItemsWeight: 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
- snap: boolean;
39
- snipedPos: 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
- }
49
- export interface IRecalculateMetricsOptions<I extends IItem, C extends Array<I>> {
50
- bounds: ISize;
51
- collection: C;
52
- isVertical: boolean;
53
- itemSize: number;
54
- bufferSize: number;
55
- maxBufferSize: number;
56
- dynamicSize: boolean;
57
- scrollSize: number;
58
- snap: boolean;
59
- enabledBufferOptimization: boolean;
60
- fromItemId?: Id;
61
- previousTotalSize: number;
62
- crudDetected: boolean;
63
- deletedItemsMap: {
64
- [index: number]: ISize;
65
- };
66
- }
67
- export interface IGetItemPositionOptions<I extends IItem, C extends Array<I>> extends Omit<IRecalculateMetricsOptions<I, C>, 'previousTotalSize' | 'crudDetected' | 'deletedItemsMap'> {
68
- }
69
- export interface IUpdateCollectionOptions<I extends IItem, C extends Array<I>> extends Omit<IRecalculateMetricsOptions<I, C>, 'collection' | 'previousTotalSize' | 'crudDetected' | 'deletedItemsMap'> {
70
- }
71
- export type CacheMapEvents = TrackBoxEvents;
72
- export type OnChangeEventListener = (version: number) => void;
73
- export type OnTickEventListener = () => void;
74
- export type CacheMapListeners = OnChangeEventListener | OnTickEventListener;
75
- export declare enum ItemDisplayMethods {
76
- CREATE = 0,
77
- UPDATE = 1,
78
- DELETE = 2,
79
- NOT_CHANGED = 3
80
- }
81
- export interface IUpdateCollectionReturns {
82
- displayItems: IRenderVirtualListCollection;
83
- totalSize: number;
84
- delta: number;
85
- crudDetected: boolean;
86
- }
87
- export interface IGetMetricsReturns {
88
- totalSize: number;
89
- delta: number;
90
- crudDetected: boolean;
91
- }
92
- interface IItem<I = any> {
93
- [prop: string]: I;
94
- }
95
- type Cache = ISize & {
96
- method?: ItemDisplayMethods;
97
- } & IItem;
11
+ import { ScrollDirection } from "../types";
12
+ import { IGetItemPositionOptions, IGetMetricsReturns, IItem, IMetrics, IRecalculateMetricsOptions, IUpdateCollectionOptions, IUpdateCollectionReturns } from "./interfaces";
13
+ import { Cache, CacheMapEvents, CacheMapListeners } from "./types";
98
14
  /**
99
15
  * An object that performs tracking, calculations and caching.
100
16
  * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/track-box.ts
@@ -109,6 +25,16 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
109
25
  set displayComponents(v: Array<ComponentRef<C>> | null | undefined);
110
26
  protected _snappedDisplayComponents: Array<ComponentRef<C>> | null | undefined;
111
27
  set snappedDisplayComponents(v: Array<ComponentRef<C>> | null | undefined);
28
+ protected _scrollDirection: ScrollDirection;
29
+ set scrollDirection(v: ScrollDirection);
30
+ get scrollDirection(): ScrollDirection;
31
+ protected _trackBy: string;
32
+ set trackBy(v: string);
33
+ get trackBy(): string;
34
+ protected _divides: number;
35
+ set divides(v: number);
36
+ protected _isInfinity: boolean;
37
+ set isInfinity(v: boolean);
112
38
  protected _isSnappingMethodAdvanced: boolean;
113
39
  set isSnappingMethodAdvanced(v: boolean);
114
40
  protected _isLazy: boolean;
@@ -118,10 +44,10 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
118
44
  */
119
45
  set trackingPropertyName(v: string);
120
46
  protected _trackingPropertyName: string;
121
- set isScrollStart(v: boolean);
122
47
  protected _isScrollStart: boolean;
123
- set isScrollEnd(v: boolean);
48
+ set isScrollStart(v: boolean);
124
49
  protected _isScrollEnd: boolean;
50
+ set isScrollEnd(v: boolean);
125
51
  protected _isScrollSnapToStart: boolean;
126
52
  get isSnappedToStart(): boolean;
127
53
  protected _isScrollSnapToEnd: boolean;
@@ -182,7 +108,7 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
182
108
  */
183
109
  updateCollection<I extends IItem, C extends Array<I>>(items: C, itemConfigMap: IVirtualListItemConfigMap, options: IUpdateCollectionOptions<I, C>): IUpdateCollectionReturns;
184
110
  protected _previousScrollSize: number;
185
- protected updateAdaptiveBufferParams(metrics: IMetrics, totalItemsLength: number): void;
111
+ protected updateAdaptiveBufferParams<I extends IItem>(metrics: IMetrics<I>, totalItemsLength: number): void;
186
112
  protected startResetBufferSizeTimer(): void;
187
113
  protected disposeClearBufferSizeTimer(): void;
188
114
  /**
@@ -195,15 +121,15 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
195
121
  /**
196
122
  * Calculates list metrics
197
123
  */
198
- protected recalculateMetrics<I extends IItem, C extends Array<I>>(options: IRecalculateMetricsOptions<I, C>): IMetrics;
124
+ protected recalculateMetrics<I extends IItem, C extends Array<I>>(options: IRecalculateMetricsOptions<I, C>): IMetrics<I>;
199
125
  refreshCache(cache: PrerenderCache): void;
200
- clearDelta(clearDirectionDetector?: boolean): void;
126
+ clearDelta(): void;
201
127
  changes(immediately?: boolean, force?: boolean): void;
202
128
  /**
203
129
  * Returns true if the bounds of at least one screen object have changed.
204
130
  */
205
131
  checkBoundsOfElements(): boolean;
206
- protected generateDisplayCollection<I extends IItem, C extends Array<I>>(items: C, itemConfigMap: IVirtualListItemConfigMap, metrics: IMetrics): IRenderVirtualListCollection;
132
+ protected generateDisplayCollection<I extends IItem, C extends Array<I>>(items: C, actualItems: C, itemConfigMap: IVirtualListItemConfigMap, metrics: IMetrics<I>): IRenderVirtualListCollection;
207
133
  resetPositions(): void;
208
134
  /**
209
135
  * tracking by propName
@@ -214,10 +140,14 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
214
140
  }): void;
215
141
  untrackComponentByIdProperty(component?: C | undefined): void;
216
142
  getItemBounds(id: Id): ISize | null;
143
+ getComponentBoundsByIntersectionPosition(position: number, maxPosition?: number | null): (IRect & {
144
+ id: Id | null;
145
+ isFirst: boolean;
146
+ isLast: boolean;
147
+ }) | null;
217
148
  private _debouncedIsScrollStartOff;
218
149
  protected cacheElements(isVertical: boolean, itemSize: number): void;
219
150
  resetCacheChunkInfo(): void;
220
151
  cacheClean(): void;
221
152
  dispose(): void;
222
153
  }
223
- export {};
@@ -47,7 +47,7 @@ export declare class Tracker<C extends BaseVirtualListItemComponent = any> {
47
47
  /**
48
48
  * tracking by propName
49
49
  */
50
- track(items: IRenderVirtualListCollection, components: Array<ComponentRef<C>>, snappedComponents: Array<ComponentRef<C>> | null | undefined, direction: ScrollDirection): void;
50
+ track(items: IRenderVirtualListCollection, components: Array<ComponentRef<C>>, snappedComponents: Array<ComponentRef<C>> | null | undefined, direction: ScrollDirection, trackBy: string): void;
51
51
  untrackComponentByIdProperty(component?: C): void;
52
52
  clearTrackMap(): void;
53
53
  dispose(): void;
@@ -0,0 +1,8 @@
1
+ import { TrackBoxEvents } from "../events";
2
+ /**
3
+ * CacheMapEvents
4
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/types/cache-map-events.ts
5
+ * @author Evgenii Alexandrovich Grebennikov
6
+ * @email djonnyx@gmail.com
7
+ */
8
+ export type CacheMapEvents = TrackBoxEvents;
@@ -0,0 +1,9 @@
1
+ import { OnChangeEventListener } from "./on-change-event-listener";
2
+ import { OnTickEventListener } from "./on-tick-event-listener";
3
+ /**
4
+ * CacheMapListeners
5
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/types/cache-map-listeners.ts
6
+ * @author Evgenii Alexandrovich Grebennikov
7
+ * @email djonnyx@gmail.com
8
+ */
9
+ export type CacheMapListeners = OnChangeEventListener | OnTickEventListener;
@@ -0,0 +1,12 @@
1
+ import { ISize } from "../../interfaces";
2
+ import { ItemDisplayMethods } from "../enums";
3
+ import { IItem } from "../interfaces";
4
+ /**
5
+ * Cache
6
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/types/cache.ts
7
+ * @author Evgenii Alexandrovich Grebennikov
8
+ * @email djonnyx@gmail.com
9
+ */
10
+ export type Cache = ISize & {
11
+ method?: ItemDisplayMethods;
12
+ } & IItem;
@@ -0,0 +1,6 @@
1
+ import { Cache } from './cache';
2
+ import { CacheMapEvents } from './cache-map-events';
3
+ import { CacheMapListeners } from './cache-map-listeners';
4
+ import { OnChangeEventListener } from './on-change-event-listener';
5
+ import { OnTickEventListener } from './on-tick-event-listener';
6
+ export type { Cache, CacheMapEvents, CacheMapListeners, OnChangeEventListener, OnTickEventListener, };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * OnChangeEventListener
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/types/on-change-event-listener.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export type OnChangeEventListener = (version: number) => void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * OnTickEventListener
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/types/on-tick-event-listener.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export type OnTickEventListener = () => void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * getServiceIdProp
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/utils/get-service-id-prop.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export declare const getServiceIdProp: (trackBy: string) => string;
@@ -0,0 +1,2 @@
1
+ import { getServiceIdProp } from "./get-service-id-prop";
2
+ export { getServiceIdProp, };
@@ -1,3 +1,3 @@
1
1
  import { LocaleSensitiveModule } from './locale-sensitive/locale-sensitive.module';
2
- import { ItemClickModule } from './item-click/item-click.module';
3
- export { LocaleSensitiveModule, ItemClickModule, };
2
+ import { VirtualClickModule } from './virtual-click/virtual-click.module';
3
+ export { LocaleSensitiveModule, VirtualClickModule, };
@@ -1,5 +1,7 @@
1
- import { TextDirection } from '../../enums';
1
+ import { ElementRef, OnDestroy } from '@angular/core';
2
+ import { Subject } from 'rxjs';
2
3
  import { ScrollerDirections } from '../../components/ng-scroller/enums';
4
+ import { TextDirection } from '../../types';
3
5
  import * as i0 from "@angular/core";
4
6
  /**
5
7
  * LocaleSensitiveDirective
@@ -9,11 +11,19 @@ import * as i0 from "@angular/core";
9
11
  * @author Evgenii Alexandrovich Grebennikov
10
12
  * @email djonnyx@gmail.com
11
13
  */
12
- export declare class LocaleSensitiveDirective {
13
- langTextDir: import("@angular/core").InputSignal<TextDirection>;
14
- listDir: import("@angular/core").InputSignal<ScrollerDirections>;
14
+ export declare class LocaleSensitiveDirective implements OnDestroy {
15
15
  private _elementRef;
16
- constructor();
16
+ protected _$unsubscribe: Subject<void>;
17
+ private _$langTextDir;
18
+ readonly $langTextDir: import("rxjs").Observable<TextDirection>;
19
+ set langTextDir(v: TextDirection);
20
+ get langTextDir(): TextDirection;
21
+ private _$listDir;
22
+ readonly $listDir: import("rxjs").Observable<ScrollerDirections | null>;
23
+ set listDir(v: ScrollerDirections | null);
24
+ get listDir(): ScrollerDirections | null;
25
+ constructor(_elementRef: ElementRef<HTMLElement>);
26
+ ngOnDestroy(): void;
17
27
  static ɵfac: i0.ɵɵFactoryDeclaration<LocaleSensitiveDirective, never>;
18
- static ɵdir: i0.ɵɵDirectiveDeclaration<LocaleSensitiveDirective, "[localeSensitive]", never, { "langTextDir": { "alias": "langTextDir"; "required": false; "isSignal": true; }; "listDir": { "alias": "listDir"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
28
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LocaleSensitiveDirective, "[localeSensitive]", never, { "langTextDir": { "alias": "langTextDir"; "required": false; }; "listDir": { "alias": "listDir"; "required": false; }; }, {}, never, never, false, never>;
19
29
  }
@@ -0,0 +1,22 @@
1
+ import { ElementRef, EventEmitter, OnDestroy } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * ItemClickDirective
6
+ * Maximum performance for extremely large lists.
7
+ * It is based on algorithms for virtualization of screen objects.
8
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/directives/item-click/item-click.directive.ts
9
+ * @author Evgenii Alexandrovich Grebennikov
10
+ * @email djonnyx@gmail.com
11
+ */
12
+ export declare class VirtualClickDirective implements OnDestroy {
13
+ private _elementRef;
14
+ protected _$unsubscribe: Subject<void>;
15
+ private _maxDistance;
16
+ set maxDistance(v: number | null);
17
+ onVirtualClick: EventEmitter<PointerEvent | TouchEvent>;
18
+ constructor(_elementRef: ElementRef);
19
+ ngOnDestroy(): void;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<VirtualClickDirective, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<VirtualClickDirective, "[virtualClick]", never, { "maxDistance": { "alias": "maxClickDistance"; "required": false; }; }, { "onVirtualClick": "onVirtualClick"; }, never, never, false, never>;
22
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./virtual-click.directive";
3
+ import * as i2 from "@angular/common";
4
+ export declare class VirtualClickModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<VirtualClickModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<VirtualClickModule, [typeof i1.VirtualClickDirective], [typeof i2.CommonModule], [typeof i1.VirtualClickDirective]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<VirtualClickModule>;
8
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Alignments
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/alignments.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export declare enum Alignments {
8
+ NONE = "none",
9
+ CENTER = "center"
10
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Modes for collapsing list items.
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/collapsing-modes.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export declare enum CollapsingModes {
8
+ /**
9
+ * List items are not selectable.
10
+ */
11
+ NONE = "none",
12
+ /**
13
+ * List items are collapsed one by one.
14
+ */
15
+ MULTI_COLLAPSE = "multi-collapse",
16
+ /**
17
+ * Accordion collapsible list items.
18
+ */
19
+ ACCORDION = "accordion"
20
+ }
@@ -1,13 +1,11 @@
1
- import { CollectionMode } from "./collection-mode";
1
+ import { Alignments } from "./alignments";
2
2
  import { CollectionModes } from "./collection-modes";
3
3
  import { Directions } from "./directions";
4
- import { Direction } from "./direction";
5
- import { MethodsForSelecting } from "./methods-for-selecting";
6
- import { MethodForSelecting } from "./method-for-selecting";
7
- import { SnappingMethods } from "./snapping-methods";
8
- import { SnappingMethod } from "./snapping-method";
9
4
  import { FocusAlignments } from "./focus-alignments";
5
+ import { CollapsingModes } from "./collapsing-modes";
6
+ import { SelectingModes } from "./selecting-modes";
7
+ import { SnapToItemAligns } from "./snap-to-item-aligns";
8
+ import { SnappingMethods } from "./snapping-methods";
9
+ import { SpreadingModes } from "./spreading-modes";
10
10
  import { TextDirections } from './text-directions';
11
- import { TextDirection } from "./text-direction";
12
- export { CollectionModes, Directions, MethodsForSelecting, SnappingMethods, FocusAlignments, TextDirections, };
13
- export type { CollectionMode, Direction, MethodForSelecting, SnappingMethod, TextDirection, };
11
+ export { Alignments, CollapsingModes, CollectionModes, Directions, FocusAlignments, SelectingModes, SnappingMethods, SnapToItemAligns, SpreadingModes, TextDirections, };
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Methods for selecting list items.
3
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/method-for-selecting-types.ts
2
+ * Mods for selecting list items.
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/selecting-modes-types.ts
4
4
  * @author Evgenii Alexandrovich Grebennikov
5
5
  * @email djonnyx@gmail.com
6
6
  */
7
- export declare enum MethodsForSelectingTypes {
7
+ export declare enum SelectingModesTypes {
8
8
  /**
9
9
  * List items are not selectable.
10
10
  */
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Methods for selecting list items.
3
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/methods-for-selecting.ts
2
+ * Mods for selecting list items.
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/selecting-modes.ts
4
4
  * @author Evgenii Alexandrovich Grebennikov
5
5
  * @email djonnyx@gmail.com
6
6
  */
7
- export declare enum MethodsForSelecting {
7
+ export declare enum SelectingModes {
8
8
  /**
9
9
  * List items are not selectable.
10
10
  */
@@ -0,0 +1,20 @@
1
+ /**
2
+ * SnapToAtemAligns.
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/snap-to-item-aligns.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export declare enum SnapToItemAligns {
8
+ /**
9
+ * An anchor indicates the beginning of an element.
10
+ */
11
+ START = "start",
12
+ /**
13
+ * The anchor points to the middle of the element.
14
+ */
15
+ CENTER = "center",
16
+ /**
17
+ * An anchor indicates the end of an element.
18
+ */
19
+ END = "end"
20
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * SpreadingModes.
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/spreading-modes.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export declare enum SpreadingModes {
8
+ /**
9
+ * List elements are ordered according to the collection sequence.
10
+ */
11
+ NORMAL = "normal",
12
+ /**
13
+ * List elements are ordered cyclically, forming an infinite list.
14
+ */
15
+ INFINITY = "infinity"
16
+ }
@@ -8,6 +8,7 @@
8
8
  */
9
9
  export interface IAnimationParams {
10
10
  scrollToItem: number;
11
+ snapToItem: number;
11
12
  navigateToItem: number;
12
13
  navigateByKeyboard: number;
13
14
  }
@@ -3,21 +3,21 @@ import { Id } from '../types';
3
3
  import { ISize } from './size';
4
4
  import { IRenderVirtualListItem } from '../models/render-item.model';
5
5
  /**
6
- * Virtual List Item Interface
6
+ * IBaseVirtualListItemComponent
7
7
  * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/interfaces/base-virtual-list-item-component.ts
8
8
  * @author Evgenii Alexandrovich Grebennikov
9
9
  * @email djonnyx@gmail.com
10
10
  */
11
- export declare abstract class BaseVirtualListItemComponent {
12
- abstract get id(): number;
13
- abstract regular: boolean;
14
- abstract set regularLength(v: string);
15
- abstract set item(v: IRenderVirtualListItem | null | undefined);
16
- abstract get item(): IRenderVirtualListItem | null | undefined;
17
- abstract get itemId(): Id | undefined;
18
- abstract set renderer(v: TemplateRef<any> | undefined);
19
- abstract get element(): HTMLElement;
20
- abstract getBounds(): ISize;
21
- abstract show(): void;
22
- abstract hide(): void;
11
+ export interface IBaseVirtualListItemComponent {
12
+ get id(): number;
13
+ regular: boolean;
14
+ set regularLength(v: string);
15
+ set item(v: IRenderVirtualListItem | null | undefined);
16
+ get item(): IRenderVirtualListItem | null | undefined;
17
+ get itemId(): Id | undefined;
18
+ set renderer(v: TemplateRef<any> | undefined);
19
+ get element(): HTMLElement;
20
+ getBounds(): ISize;
21
+ show(): void;
22
+ hide(): void;
23
23
  }
@@ -1,5 +1,5 @@
1
1
  import { IAnimationParams } from './animation-params';
2
- import { BaseVirtualListItemComponent } from './base-virtual-list-item-component';
2
+ import { IPoint } from './point';
3
3
  import { IRect } from './rect';
4
4
  import { IRenderStabilizerOptions } from './render-stabilizer-options';
5
5
  import { IScrollEvent } from './scroll-event';
@@ -7,4 +7,5 @@ import { IScrollOptions } from './scroll-options';
7
7
  import { IScrollParams } from './scroll-params';
8
8
  import { ISize } from './size';
9
9
  import { IScrollingSettings } from './scrolling-settings';
10
- export type { IAnimationParams, BaseVirtualListItemComponent, IRect, IRenderStabilizerOptions, IScrollEvent, IScrollOptions, IScrollParams, ISize, IScrollingSettings, };
10
+ import { IItemTransformation } from './item-transformation';
11
+ export type { IAnimationParams, IItemTransformation, IPoint, IRect, IRenderStabilizerOptions, IScrollEvent, IScrollOptions, IScrollParams, ISize, IScrollingSettings, };
@@ -0,0 +1,22 @@
1
+ import { Color } from "../types";
2
+ /**
3
+ * IItemTransformation
4
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/prerender-container/interfaces/item-transformation.ts
5
+ * @author Evgenii Alexandrovich Grebennikov
6
+ * @email djonnyx@gmail.com
7
+ */
8
+ export interface IItemTransformation {
9
+ x: number;
10
+ y: number;
11
+ z: number;
12
+ rotationX: number;
13
+ rotationY: number;
14
+ rotationZ: number;
15
+ scaleX: number;
16
+ scaleY: number;
17
+ scaleZ: number;
18
+ opacity: number;
19
+ filter?: string;
20
+ blendColor?: Color | null;
21
+ zIndex: number | string;
22
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * IPoint
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/interfaces/point.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export interface IPoint {
8
+ /**
9
+ * X coordinate.
10
+ */
11
+ x: number;
12
+ /**
13
+ * Y coordinate.
14
+ */
15
+ y: number;
16
+ }
@@ -21,4 +21,8 @@ export interface IScrollOptions {
21
21
  * Determines whether the element will have focus after scrolling is complete. Default value is true.
22
22
  */
23
23
  focused?: boolean;
24
+ /**
25
+ * Delay.
26
+ */
27
+ delay?: number;
24
28
  }
@@ -1,16 +1,17 @@
1
1
  import { Id } from "../types";
2
2
  /**
3
- * Interface IScrollParams.
3
+ * IScrollParams
4
4
  * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/interfaces/scroll-options.ts
5
5
  * @author Evgenii Alexandrovich Grebennikov
6
6
  * @email djonnyx@gmail.com
7
7
  */
8
8
  export interface IScrollParams {
9
9
  id: Id;
10
- behavior?: ScrollBehavior;
10
+ behavior?: ScrollBehavior | "auto" | "instant" | "smooth";
11
11
  blending?: boolean;
12
12
  iteration?: number;
13
13
  isLastIteration?: boolean;
14
14
  scrollCalled?: boolean;
15
+ delay?: number;
15
16
  cb?: () => void;
16
17
  }
@@ -27,4 +27,9 @@ export interface IVirtualListItemConfig {
27
27
  * Default value is `true`.
28
28
  */
29
29
  selectable?: boolean;
30
+ /**
31
+ * Determines the size of an element when rendering lists with cell divisions. If sticky is 1 or 2, fullSize automatically becomes true.
32
+ * The default value is false.
33
+ */
34
+ fullSize?: boolean;
30
35
  }
@@ -6,5 +6,12 @@
6
6
  * @email djonnyx@gmail.com
7
7
  */
8
8
  export type IVirtualListItem<E = Object> = E & {
9
+ /**
10
+ * The type of the collection item. Items with different types are cached in separate pools.
11
+ */
12
+ type?: string | symbol;
13
+ /**
14
+ * Props.
15
+ */
9
16
  [x: string]: any;
10
17
  };