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,11 +1,12 @@
1
- import { OnDestroy, TemplateRef } from '@angular/core';
1
+ import { ElementRef, EventEmitter, OnDestroy, TemplateRef } from '@angular/core';
2
+ import { BehaviorSubject, Observable } from 'rxjs';
2
3
  import { IRenderVirtualListItem, IVirtualListCollection, IVirtualListItem, IVirtualListItemConfigMap } from './models';
3
4
  import { IScrollEvent, IScrollOptions, IAnimationParams, ISize, IScrollingSettings } from './interfaces';
4
- import { FocusAlignment, Id } from './types';
5
- import { CollectionMode, Direction, MethodForSelecting, SnappingMethod, TextDirection } from './enums';
5
+ import { Alignment, ArithmeticExpression, FocusAlignment, Id, ItemTransform, SnappingDistance, CollectionMode, Direction, SelectingMode, SnappingMethod, SnapToItemAlign, TextDirection, CollapsingMode, SpreadingMode } from './types';
6
6
  import { BaseVirtualListItemComponent } from './components/ng-list-item/base';
7
7
  import { Component$1 } from './models/component.model';
8
8
  import { IScrollParams } from './interfaces';
9
+ import { DisposableComponent } from './utils/disposable-component';
9
10
  import * as i0 from "@angular/core";
10
11
  /**
11
12
  * Virtual list component.
@@ -15,7 +16,7 @@ import * as i0 from "@angular/core";
15
16
  * @author Evgenii Alexandrovich Grebennikov
16
17
  * @email djonnyx@gmail.com
17
18
  */
18
- export declare class NgVirtualListComponent implements OnDestroy {
19
+ export declare class NgVirtualListComponent extends DisposableComponent implements OnDestroy {
19
20
  private static __nextId;
20
21
  private _id;
21
22
  /**
@@ -27,128 +28,201 @@ export declare class NgVirtualListComponent implements OnDestroy {
27
28
  private _listContainerRef;
28
29
  private _snapContainerRef;
29
30
  private _scrollerComponent;
30
- private _scroller;
31
- private _list;
31
+ private _$scroller;
32
+ protected readonly $scroller: Observable<ElementRef<HTMLDivElement> | undefined>;
33
+ private _$list;
34
+ protected readonly $list: Observable<ElementRef<HTMLDivElement> | undefined>;
32
35
  /**
33
36
  * Fires when the list has been scrolled.
34
37
  */
35
- onScroll: import("@angular/core").OutputEmitterRef<IScrollEvent>;
38
+ onScroll: EventEmitter<IScrollEvent>;
36
39
  /**
37
40
  * Fires when the list has completed scrolling.
38
41
  */
39
- onScrollEnd: import("@angular/core").OutputEmitterRef<IScrollEvent>;
42
+ onScrollEnd: EventEmitter<IScrollEvent>;
40
43
  /**
41
44
  * Fires when the viewport size is changed.
42
45
  */
43
- onViewportChange: import("@angular/core").OutputEmitterRef<ISize>;
46
+ onViewportChange: EventEmitter<ISize>;
47
+ /**
48
+ * Emit the component ID when an element crosses the alignment line specified by the snapToItemAlign property.
49
+ */
50
+ onSnapItem: EventEmitter<Id>;
44
51
  /**
45
52
  * Fires when an element is clicked.
46
53
  */
47
- onItemClick: import("@angular/core").OutputEmitterRef<IRenderVirtualListItem<any> | null>;
54
+ onItemClick: EventEmitter<IRenderVirtualListItem<any> | null>;
48
55
  /**
49
56
  * Fires when elements are selected.
50
57
  */
51
- onSelect: import("@angular/core").OutputEmitterRef<Id | Id[] | null>;
58
+ onSelect: EventEmitter<Id | Id[] | null>;
52
59
  /**
53
60
  * Fires when elements are collapsed.
54
61
  */
55
- onCollapse: import("@angular/core").OutputEmitterRef<Id | Id[] | null>;
62
+ onCollapse: EventEmitter<Id[]>;
56
63
  /**
57
64
  * Fires when the scroll reaches the start.
58
65
  */
59
- onScrollReachStart: import("@angular/core").OutputEmitterRef<void>;
66
+ onScrollReachStart: EventEmitter<void>;
60
67
  /**
61
68
  * Fires when the scroll reaches the end.
62
69
  */
63
- onScrollReachEnd: import("@angular/core").OutputEmitterRef<void>;
70
+ onScrollReachEnd: EventEmitter<void>;
64
71
  private _$show;
65
- readonly $show: import("rxjs").Observable<boolean>;
66
- private _scrollbarThickness;
72
+ readonly $show: Observable<boolean>;
73
+ private _$initialized;
74
+ readonly $initialized: Observable<boolean>;
75
+ private _$scrollbarThickness;
76
+ protected readonly $scrollbarThickness: Observable<number>;
77
+ private _scrollbarThicknessTransform;
67
78
  /**
68
79
  * Scrollbar thickness.
69
80
  */
70
- scrollbarThickness: import("@angular/core").InputSignal<number>;
71
- private _scrollbarMinSize;
81
+ set scrollbarThickness(v: number);
82
+ get scrollbarThickness(): number;
83
+ private _$scrollbarMinSize;
84
+ protected readonly $scrollbarMinSize: Observable<number>;
85
+ private _scrollbarMinSizeTransform;
72
86
  /**
73
87
  * Minimum scrollbar size.
74
88
  */
75
- scrollbarMinSize: import("@angular/core").InputSignal<number>;
76
- private _scrollbarThumbRenderer;
89
+ set scrollbarMinSize(v: number);
90
+ get scrollbarMinSize(): number;
91
+ private _$scrollbarThumbRenderer;
92
+ protected readonly $scrollbarThumbRenderer: Observable<TemplateRef<any> | null>;
93
+ private _scrollbarThumbRendererTransform;
77
94
  /**
78
95
  * Scrollbar customization template.
79
96
  */
80
- scrollbarThumbRenderer: import("@angular/core").InputSignal<TemplateRef<any> | null>;
81
- private _scrollbarThumbParams;
97
+ set scrollbarThumbRenderer(v: TemplateRef<any> | null);
98
+ get scrollbarThumbRenderer(): TemplateRef<any> | null;
99
+ private _$scrollbarThumbParams;
100
+ protected readonly $scrollbarThumbParams: Observable<{
101
+ [propName: string]: any;
102
+ } | null>;
103
+ private _scrollbarThumbParamsTransform;
82
104
  /**
83
105
  * Additional options for the scrollbar.
84
106
  */
85
- scrollbarThumbParams: import("@angular/core").InputSignal<{
107
+ set scrollbarThumbParams(v: {
86
108
  [propName: string]: any;
87
- } | null>;
109
+ } | null);
110
+ get scrollbarThumbParams(): {
111
+ [propName: string]: any;
112
+ } | null;
88
113
  private _loading;
114
+ private _$loading;
115
+ protected readonly $loading: Observable<boolean>;
116
+ private _loadingTransform;
89
117
  /**
90
118
  * If `true`, the scrollBar goes into loading state. The default value is `false`.
91
119
  */
92
- loading: import("@angular/core").InputSignal<boolean>;
93
- private _waitForPreparation;
120
+ set loading(v: boolean);
121
+ get loading(): boolean;
122
+ private _$waitForPreparation;
123
+ protected readonly $waitForPreparation: Observable<boolean>;
124
+ private _waitForPreparationTransform;
94
125
  /**
95
126
  * If true, it will wait until the list items are fully prepared before displaying them.. The default value is `true`.
96
127
  */
97
- waitForPreparation: import("@angular/core").InputSignal<boolean>;
98
- private _clickDistance;
128
+ set waitForPreparation(v: boolean);
129
+ get waitForPreparation(): boolean;
130
+ private _$clickDistance;
131
+ protected readonly $clickDistance: Observable<number>;
132
+ private _clickDistanceTransform;
99
133
  /**
100
134
  * The maximum scroll distance at which a click event is triggered.
101
135
  */
102
- clickDistance: import("@angular/core").InputSignal<number>;
103
- private _itemsOptions;
136
+ set clickDistance(v: number);
137
+ get clickDistance(): number;
138
+ private _$items;
139
+ protected readonly $items: Observable<IVirtualListCollection<Object>>;
140
+ private _itemsTransform;
104
141
  /**
105
142
  * Collection of list items.
106
143
  */
107
- items: import("@angular/core").InputSignal<IVirtualListCollection<Object>>;
108
- private _selectedIdsOptions;
109
- defaultItemValue: import("@angular/core").InputSignal<IVirtualListItem | null>;
144
+ set items(v: IVirtualListCollection);
145
+ get items(): IVirtualListCollection;
146
+ private _$selectedIds;
147
+ protected readonly $selectedIds: Observable<Id | Id[] | null>;
148
+ private _selectedIdsTransform;
110
149
  /**
111
150
  * Sets the selected items.
112
151
  */
113
- selectedIds: import("@angular/core").InputSignal<Id | Id[] | null>;
114
- private _collapsedIdsOptions;
152
+ set selectedIds(v: Array<Id> | Id | null);
153
+ get selectedIds(): Array<Id> | Id | null;
154
+ private _$defaultItemValue;
155
+ protected readonly $defaultItemValue: Observable<IVirtualListItem | null>;
156
+ set defaultItemValue(v: IVirtualListItem | null);
157
+ get defaultItemValue(): IVirtualListItem | null;
158
+ private _$collapsedIds;
159
+ protected readonly $collapsedIds: Observable<Id[]>;
160
+ private _collapsedIdsTransform;
115
161
  /**
116
162
  * Sets the collapsed items.
117
163
  */
118
- collapsedIds: import("@angular/core").InputSignal<Id[]>;
119
- private _selectByClickOptions;
164
+ set collapsedIds(v: Array<Id>);
165
+ get collapsedIds(): Array<Id>;
166
+ private _$selectByClick;
167
+ protected readonly $selectByClick: Observable<boolean>;
168
+ private _selectByClickTransform;
120
169
  /**
121
- * If `false`, the element is selected using the config.select method passed to the template;
170
+ * If `false`, the element is selected using the config.api method passed to the template;
122
171
  * if `true`, the element is selected by clicking on it. The default value is `true`.
123
172
  */
124
- selectByClick: import("@angular/core").InputSignal<boolean>;
125
- private _collapseByClickOptions;
173
+ set selectByClick(v: boolean);
174
+ get selectByClick(): boolean;
175
+ private _$collapseByClick;
176
+ protected readonly $collapseByClick: Observable<boolean>;
177
+ private _collapseByClickTransform;
126
178
  /**
127
179
  * If `false`, the element is collapsed using the config.collapse method passed to the template;
128
180
  * if `true`, the element is collapsed by clicking on it. The default value is `true`.
129
181
  */
130
- collapseByClick: import("@angular/core").InputSignal<boolean>;
131
- private _snapOptions;
182
+ set collapseByClick(v: boolean);
183
+ get collapseByClick(): boolean;
132
184
  /**
133
- * Determines whether elements will snap. Default value is "true".
185
+ * @deprecated
186
+ * Use the `stickyEnabled` property instead.
187
+ */
188
+ set snap(v: boolean);
189
+ private _$stickyEnabled;
190
+ protected readonly $stickyEnabled: Observable<boolean>;
191
+ private _stickyEnabledTransform;
192
+ /**
193
+ * Determines whether items with the given `sticky` in `itemConfigMap` will stick to the edges. Default value is "true".
134
194
  */
135
- snap: import("@angular/core").InputSignal<boolean>;
136
- private _snapToEndTransitionInstantOffsetOptions;
195
+ set stickyEnabled(v: boolean);
196
+ get stickyEnabled(): boolean;
197
+ private _$snapToEndTransitionInstantOffset;
198
+ protected readonly $snapToEndTransitionInstantOffset: Observable<number>;
199
+ private _snapToEndTransitionInstantOffsetTransform;
137
200
  /**
138
201
  * Sets the offset value; if the scroll area value is exceeded, the scroll animation will be disabled. Default value is "0".
139
202
  */
140
- snapToEndTransitionInstantOffset: import("@angular/core").InputSignal<number>;
141
- private _scrollStartOffsetOptions;
203
+ set snapToEndTransitionInstantOffset(v: number);
204
+ get snapToEndTransitionInstantOffset(): number;
205
+ private _$scrollStartOffset;
206
+ protected readonly $scrollStartOffset: Observable<ArithmeticExpression>;
207
+ private _scrollStartOffsetTransform;
142
208
  /**
143
- * Sets the scroll start offset value; Default value is "0".
209
+ * Sets the scroll start offset value. Can be specified in absolute or percentage values.
210
+ * Supports arithmetic expressions of addition `50% + 25` or subtraction `50% - 25`. Default value is "0".
144
211
  */
145
- scrollStartOffset: import("@angular/core").InputSignal<number>;
146
- private _scrollEndOffsetOptions;
212
+ set scrollStartOffset(v: ArithmeticExpression);
213
+ get scrollStartOffset(): ArithmeticExpression;
214
+ private _$scrollEndOffset;
215
+ protected readonly $scrollEndOffset: Observable<ArithmeticExpression>;
216
+ private _scrollEndOffsetTransform;
147
217
  /**
148
- * Sets the scroll end offset value; Default value is "0".
218
+ * Sets the scroll end offset value. Can be specified in absolute or percentage values.
219
+ * Supports arithmetic expressions of addition `50% + 25` or subtraction `50% - 25`. Default value is "0".
149
220
  */
150
- scrollEndOffset: import("@angular/core").InputSignal<number>;
151
- private _snapScrollToStartOptions;
221
+ set scrollEndOffset(v: ArithmeticExpression);
222
+ get scrollEndOffset(): ArithmeticExpression;
223
+ private _$snapScrollToStart;
224
+ protected readonly $snapScrollToStart: Observable<boolean>;
225
+ private _snapScrollToStartTransform;
152
226
  /**
153
227
  * Determines whether the scroll will be anchored to the start of the list. Default value is "true".
154
228
  * This property takes precedence over the snapScrollToEnd property.
@@ -157,9 +231,13 @@ export declare class NgVirtualListComponent implements OnDestroy {
157
231
  * If snapScrollToStart is disabled and snapScrollToEnd is enabled, the list will snap to the end;
158
232
  * if you move the scroll bar to the beginning, the list will snap to the beginning.
159
233
  * If both snapScrollToStart and snapScrollToEnd are disabled, the list will never snap to the beginning or end.
234
+ * In the `spreadingMode=SpreadingModes.INFINITY` mode, the `snapScrollToStart` property is automatically disabled, since the list has no beginning or end.
160
235
  */
161
- snapScrollToStart: import("@angular/core").InputSignal<boolean>;
162
- private _snapScrollToEndOptions;
236
+ set snapScrollToStart(v: boolean);
237
+ get snapScrollToStart(): boolean;
238
+ private _$snapScrollToEnd;
239
+ protected readonly $snapScrollToEnd: Observable<boolean>;
240
+ private _snapScrollToEndTransform;
163
241
  /**
164
242
  * Determines whether the scroll will be anchored to the утв of the list. Default value is "true".
165
243
  * That is, if snapScrollToStart and snapScrollToEnd are enabled, the list will initially snap
@@ -167,169 +245,418 @@ export declare class NgVirtualListComponent implements OnDestroy {
167
245
  * If snapScrollToStart is disabled and snapScrollToEnd is enabled, the list will snap to the end;
168
246
  * if you move the scroll bar to the beginning, the list will snap to the beginning.
169
247
  * If both snapScrollToStart and snapScrollToEnd are disabled, the list will never snap to the beginning or end.
248
+ * In the `spreadingMode=SpreadingModes.INFINITY` mode, the `snapScrollToEnd` property is automatically disabled, since the list has no beginning or end.
170
249
  */
171
- snapScrollToEnd: import("@angular/core").InputSignal<boolean>;
172
- private _snapScrollToBottomOptions;
250
+ set snapScrollToEnd(v: boolean);
251
+ get snapScrollToEnd(): boolean;
173
252
  /**
174
253
  * @deprecated
175
254
  * The stopSnappingScrollToEnd property is deprecated. Use the snapScrollToEnd property.
176
255
  */
177
- snapScrollToBottom: import("@angular/core").InputSignal<boolean>;
178
- private _scrollbarEnabledOptions;
256
+ set snapScrollToBottom(v: boolean);
257
+ private _$scrollbarEnabled;
258
+ protected readonly $scrollbarEnabled: Observable<boolean>;
259
+ private _scrollbarEnabledTransform;
179
260
  /**
180
261
  * Determines whether the scrollbar is shown or not. The default value is "true".
181
262
  */
182
- scrollbarEnabled: import("@angular/core").InputSignal<boolean>;
183
- private _scrollbarInteractiveOptions;
263
+ set scrollbarEnabled(v: boolean);
264
+ get scrollbarEnabled(): boolean;
265
+ private _$scrollbarInteractive;
266
+ protected readonly $scrollbarInteractive: Observable<boolean>;
267
+ private _scrollbarInteractiveTransform;
184
268
  /**
185
269
  * Determines whether scrolling using the scrollbar will be possible. The default value is "true".
186
270
  */
187
- scrollbarInteractive: import("@angular/core").InputSignal<boolean>;
188
- private _scrollBehaviorOptions;
271
+ set scrollbarInteractive(v: boolean);
272
+ get scrollbarInteractive(): boolean;
273
+ private _$overlappingScrollbar;
274
+ protected readonly $overlappingScrollbar: Observable<boolean>;
275
+ private _overlappingScrollbarTransform;
276
+ /**
277
+ * Determines whether the scroll bar will overlap the list. The default value is "false".
278
+ */
279
+ set overlappingScrollbar(v: boolean);
280
+ get overlappingScrollbar(): boolean;
281
+ private _$scrollBehavior;
282
+ protected readonly $scrollBehavior: Observable<ScrollBehavior>;
283
+ private _scrollBehaviorTransform;
189
284
  /**
190
285
  * Defines the scrolling behavior for any element on the page. The default value is "smooth".
191
286
  */
192
- scrollBehavior: import("@angular/core").InputSignal<ScrollBehavior>;
193
- private _scrollingSettingsOptions;
287
+ set scrollBehavior(v: ScrollBehavior);
288
+ get scrollBehavior(): ScrollBehavior;
289
+ private _$scrollingSettings;
290
+ protected readonly $scrollingSettings: Observable<IScrollingSettings>;
291
+ private _scrollingSettingsTransform;
194
292
  /**
195
293
  * Scrolling settings.
196
294
  * - frictionalForce - Frictional force. Default value is 0.035.
197
295
  * - mass - Mass. Default value is 0.005.
198
- * - maxDistance - Maximum scrolling distance. Default value is 12500.
296
+ * - maxDistance - Maximum scrolling distance. Default value is 100000.
199
297
  * - maxDuration - Maximum animation duration. Default value is 4000.
200
- * - speedScale - Speed scale. Default value is 15.
298
+ * - speedScale - Speed scale. Default value is 10.
201
299
  * - optimization - Enables scrolling performance optimization. Default value is `true`.
202
300
  */
203
- scrollingSettings: import("@angular/core").InputSignal<IScrollingSettings>;
204
- private _animationParamsOptions;
205
- /**
206
- * Animation parameters. The default value is "{ scrollToItem: 50, navigateToItem: 150 }".
207
- */
208
- animationParams: import("@angular/core").InputSignal<IAnimationParams>;
209
- private _overscrollEnabledOptions;
301
+ set scrollingSettings(v: IScrollingSettings);
302
+ get scrollingSettings(): IScrollingSettings;
303
+ private _$itemTransform;
304
+ protected readonly $itemTransform: Observable<ItemTransform | null>;
305
+ private _itemTransformTransform;
306
+ /**
307
+ * Custom transformation of element's position, rotation, scale, opacity and zIndex. The default value is `null`.
308
+ */
309
+ set itemTransform(v: ItemTransform | null);
310
+ get itemTransform(): ItemTransform | null;
311
+ private _$snapToItem;
312
+ protected readonly $snapToItem: Observable<boolean>;
313
+ private _snapToItemTransform;
314
+ /**
315
+ * Snap to an item. The default value is `false`.
316
+ */
317
+ set snapToItem(v: boolean);
318
+ get snapToItem(): boolean;
319
+ private _$snapToItemAlign;
320
+ protected readonly $snapToItemAlign: Observable<SnapToItemAlign>;
321
+ private _snapToItemAlignTransform;
322
+ /**
323
+ * Alignment for snapToItem. Available values ​​are `start`, `center`, and `end`. The default value is `center`.
324
+ */
325
+ set snapToItemAlign(v: SnapToItemAlign);
326
+ get snapToItemAlign(): SnapToItemAlign;
327
+ private _$snappingDistance;
328
+ protected readonly $snappingDistance: Observable<SnappingDistance>;
329
+ private _snappingDistanceTransform;
330
+ /**
331
+ * Snapping activation distance. Can be specified as a percentage of the element size or in absolute values.
332
+ * The default value is `25%`.
333
+ */
334
+ set snappingDistance(v: SnappingDistance);
335
+ get snappingDistance(): SnappingDistance;
336
+ private _$scrollingOneByOne;
337
+ protected readonly $scrollingOneByOne: Observable<boolean>;
338
+ private _scrollingOneByOneTransform;
339
+ /**
340
+ * Specifies whether to scroll one item at a time if true and the scrollToItem property is set. The default value is `false`.
341
+ */
342
+ set scrollingOneByOne(v: boolean);
343
+ get scrollingOneByOne(): boolean;
344
+ private _$alignment;
345
+ protected readonly $alignment: Observable<Alignment>;
346
+ private _alignmentTransform;
347
+ /**
348
+ * Determines the alignment of the list. Two modes are available: `none` and `center`. The `center` mode aligns the list items to the center of the viewport, ideal for use with the `itemTransform` property.
349
+ * The `none` mode means no alignment. The default value is `none`.
350
+ */
351
+ set alignment(v: Alignment);
352
+ get alignment(): Alignment;
353
+ private _$zIndexWhenSelecting;
354
+ protected readonly $zIndexWhenSelecting: Observable<string | null>;
355
+ private _zIndexWhenSelectingTransform;
356
+ /**
357
+ * Defines the zIndex when a list item is selected. The default value is `null`.
358
+ */
359
+ set zIndexWhenSelecting(v: string | null);
360
+ get zIndexWhenSelecting(): string | null;
361
+ private _$spreadingMode;
362
+ protected readonly $spreadingMode: Observable<SpreadingMode>;
363
+ private _spreadingModeTransform;
364
+ /**
365
+ * The order of list elements. Available values ​​are `standard` and `infinity`.
366
+ * `normal` — list elements are ordered according to the collection sequence.
367
+ * `infinity` — list elements are ordered cyclically, forming an infinite list.
368
+ * When set to `infinity`, the `alignment` property is forced to the value `Alignments.CENTER`, the `scrollbarEnabled` property is forced to the `false`
369
+ * The default value is `standard`.
370
+ */
371
+ set spreadingMode(v: SpreadingMode);
372
+ get spreadingMode(): SpreadingMode;
373
+ private _$divides;
374
+ protected readonly $divides: Observable<number>;
375
+ private _dividesTransform;
376
+ /**
377
+ * Column or row numbers. The default value is `1`.
378
+ */
379
+ set divides(v: number);
380
+ get divides(): number;
381
+ private _$motionBlur;
382
+ protected readonly $motionBlur: Observable<number>;
383
+ private _motionBlurTransform;
384
+ /**
385
+ * Motion blur effect. The default value is `0.15`.
386
+ */
387
+ set motionBlur(v: number);
388
+ get motionBlur(): number;
389
+ private _$maxMotionBlur;
390
+ protected readonly $maxMotionBlur: Observable<number>;
391
+ private _maxMotionBlurTransform;
392
+ /**
393
+ * Maximum motion blur effect. The default value is `0.5`.
394
+ */
395
+ set maxMotionBlur(v: number);
396
+ get maxMotionBlur(): number;
397
+ private _$motionBlurEnabled;
398
+ protected readonly $motionBlurEnabled: Observable<boolean>;
399
+ private _motionBlurEnabledTransform;
400
+ /**
401
+ * Determines whether to apply motion blur or not. The default value is `false`.
402
+ */
403
+ set motionBlurEnabled(v: boolean);
404
+ get motionBlurEnabled(): boolean;
405
+ private _$animationParams;
406
+ protected readonly $animationParams: Observable<IAnimationParams>;
407
+ private _animationParamsTransform;
408
+ /**
409
+ * Animation parameters. The default value is "{ scrollToItem: 50, snapToItem: 150, navigateToItem: 150, navigateByKeyboard: 50 }".
410
+ */
411
+ set animationParams(v: IAnimationParams);
412
+ get animationParams(): IAnimationParams;
413
+ private _$overscrollEnabled;
414
+ protected readonly $overscrollEnabled: Observable<boolean>;
415
+ private _overscrollEnabledTransform;
210
416
  /**
211
417
  * Determines whether the overscroll (re-scroll) feature will work. The default value is "true".
212
418
  */
213
- overscrollEnabled: import("@angular/core").InputSignal<boolean>;
214
- private _enabledBufferOptimizationOptions;
419
+ set overscrollEnabled(v: boolean);
420
+ get overscrollEnabled(): boolean;
421
+ private _$enabledBufferOptimization;
422
+ protected readonly $enabledBufferOptimization: Observable<boolean>;
423
+ private _enabledBufferOptimizationTransform;
215
424
  /**
216
425
  * Experimental!
217
426
  * Enables buffer optimization.
218
427
  * Can only be used if items in the collection are not added or updated. Otherwise, artifacts in the form of twitching of the scroll area are possible.
219
428
  * Works only if the property dynamic = true
220
429
  */
221
- enabledBufferOptimization: import("@angular/core").InputSignal<boolean>;
222
- private _itemRendererOptions;
430
+ set enabledBufferOptimization(v: boolean);
431
+ get enabledBufferOptimization(): boolean;
432
+ private _$itemRenderer;
433
+ protected readonly $itemRenderer: Observable<TemplateRef<any> | undefined>;
434
+ private _itemRendererTransform;
223
435
  /**
224
436
  * Rendering element template.
225
437
  */
226
- itemRenderer: import("@angular/core").InputSignal<TemplateRef<any>>;
227
- private _itemRenderer;
228
- private _itemConfigMapOptions;
438
+ set itemRenderer(v: TemplateRef<any>);
439
+ get itemRenderer(): TemplateRef<any>;
440
+ private _$itemConfigMap;
441
+ protected readonly $itemConfigMap: Observable<IVirtualListItemConfigMap>;
442
+ private _itemConfigMapTransform;
229
443
  /**
230
- * Sets `sticky` position, `collapsable` and `selectable` for the list item element. If `sticky` position is greater than `0`, then `sticky` position is applied.
444
+ * Sets `sticky` position, `fullSize`, `collapsable` and `selectable` for the list item element. If `sticky` position is greater than `0`, then `sticky` position is applied.
231
445
  * If the `sticky` value is greater than `0`, then the `sticky` position mode is enabled for the element. `1` - position start, `2` - position end.
232
446
  * Default value is `0`.
233
447
  * `selectable` determines whether an element can be selected or not. Default value is `true`.
234
448
  * `collapsable` determines whether an element with a `sticky` property greater than zero can collapse and
235
449
  * collapse elements in front that do not have a `sticky` property.
450
+ * `fullSize` determines the size of an element when rendering lists with cell divisions. If sticky is 1 or 2, fullSize automatically becomes true. The default value is false.
236
451
  * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/models/item-config-map.model.ts
237
452
  * @author Evgenii Alexandrovich Grebennikov
238
453
  * @email djonnyx@gmail.com
239
454
  */
240
- itemConfigMap: import("@angular/core").InputSignal<IVirtualListItemConfigMap>;
241
- private _itemSizeOptions;
455
+ set itemConfigMap(v: IVirtualListItemConfigMap);
456
+ get itemConfigMap(): IVirtualListItemConfigMap;
457
+ private _$itemSize;
458
+ protected readonly $itemSize: Observable<number>;
459
+ private _itemSizeTransform;
242
460
  /**
243
461
  * If direction = 'vertical', then the height of a typical element. If direction = 'horizontal', then the width of a typical element.
244
- * If the dynamicSize property is true, the items in the list can have different sizes, and you must specify the itemSize property
462
+ * If the `dynamicSize` property is true, the items in the list can have different sizes, and you must specify the `itemSize` property
245
463
  * to adjust the sizes of the items in the unallocated area.
464
+ * If the value is 'viewport', the sizes of elements are automatically resized to fit the viewport size.
465
+ */
466
+ set itemSize(v: number | 'viewport');
467
+ get itemSize(): number | 'viewport';
468
+ private _$minItemSize;
469
+ protected readonly $minItemSize: Observable<number>;
470
+ private _minItemSizeTransform;
471
+ /**
472
+ * If the `dynamicSize` property is enabled, the minimum size of the element is set.
473
+ * If the value is 'viewport', the sizes of elements are automatically resized to fit the viewport size.
474
+ */
475
+ set minItemSize(v: number | 'viewport');
476
+ get minItemSize(): number | 'viewport';
477
+ private _$maxItemSize;
478
+ protected readonly $maxItemSize: Observable<number>;
479
+ private _maxItemSizeTransform;
480
+ /**
481
+ * If the `dynamicSize` property is enabled, the maximum size of the element is set.
482
+ * If the value is 'viewport', the sizes of elements are automatically resized to fit the viewport size.
246
483
  */
247
- itemSize: import("@angular/core").InputSignal<number>;
248
- private _dynamicSizeOptions;
484
+ set maxItemSize(v: number | 'viewport');
485
+ get maxItemSize(): number | 'viewport';
486
+ private _$dynamicSize;
487
+ protected readonly $dynamicSize: Observable<boolean>;
488
+ private _dynamicSizeTransform;
249
489
  /**
250
490
  * If true, items in the list may have different sizes, and the itemSize property must be specified to adjust
251
491
  * the sizes of items in the unallocated area.
252
492
  * If false then the items in the list have a fixed size specified by the itemSize property. The default value is true.
253
493
  */
254
- dynamicSize: import("@angular/core").InputSignal<boolean>;
255
- private _directionOptions;
494
+ set dynamicSize(v: boolean);
495
+ get dynamicSize(): boolean;
496
+ private _$direction;
497
+ protected readonly $direction: Observable<Direction>;
498
+ private _directionTransform;
256
499
  /**
257
500
  * Determines the direction in which elements are placed. Default value is "vertical".
258
501
  */
259
- direction: import("@angular/core").InputSignal<Direction>;
260
- private _collectionModeOptions;
502
+ set direction(v: Direction);
503
+ get direction(): Direction;
504
+ private _$collectionMode;
505
+ protected readonly $collectionMode: Observable<CollectionMode>;
506
+ private _collectionModeTransform;
261
507
  /**
262
508
  * Determines the action modes for collection elements. Default value is "normal".
263
509
  */
264
- collectionMode: import("@angular/core").InputSignal<CollectionMode>;
265
- private _bufferSizeOptions;
510
+ set collectionMode(v: CollectionMode);
511
+ get collectionMode(): CollectionMode;
512
+ private _$bufferSize;
513
+ protected readonly $bufferSize: Observable<number>;
514
+ private _bufferSizeTransform;
266
515
  /**
267
516
  * Number of elements outside the scope of visibility. Default value is 2.
268
517
  */
269
- bufferSize: import("@angular/core").InputSignal<number>;
518
+ set bufferSize(v: number);
519
+ get bufferSize(): number;
520
+ private _$maxBufferSize;
521
+ protected readonly $maxBufferSize: Observable<number>;
270
522
  private _maxBufferSizeTransform;
271
523
  /**
272
524
  * Maximum number of elements outside the scope of visibility. Default value is 100.
273
525
  * If maxBufferSize is set to be greater than bufferSize, then adaptive buffer mode is enabled.
274
526
  * The greater the scroll size, the more elements are allocated for rendering.
275
527
  */
276
- maxBufferSize: import("@angular/core").InputSignal<number>;
277
- private _snappingMethodOptions;
528
+ set maxBufferSize(v: number);
529
+ get maxBufferSize(): number;
530
+ private _$snappingMethod;
531
+ protected readonly $snappingMethod: Observable<SnappingMethod>;
532
+ private _snappingMethodTransform;
278
533
  /**
279
534
  * Snapping method. Default value is 'standart'.
280
535
  * 'standart' - Classic group visualization.
281
536
  * 'advanced' - A mask is applied to the viewport area so that the background is displayed underneath the attached group.
282
537
  */
283
- snappingMethod: import("@angular/core").InputSignal<SnappingMethod>;
284
- private _methodForSelectingOptions;
538
+ set snappingMethod(v: SnappingMethod);
539
+ get snappingMethod(): SnappingMethod;
540
+ private _$collapsingMode;
541
+ protected readonly $collapsingMode: Observable<CollapsingMode>;
542
+ private _collapsingModeTransform;
543
+ /**
544
+ * Mode for collapsing list items.
545
+ * `none` - List items are not selectable.
546
+ * `multi-collapse` - List items are collapsed one by one.
547
+ * 'accordion' - Accordion collapsible list items.
548
+ * Default value is `multi-collapse
549
+ */
550
+ set collapsingMode(v: CollapsingMode);
551
+ get collapsingMode(): CollapsingMode;
552
+ /**
553
+ * @deprecated
554
+ * The "methodForSelecting" property is deprecated. Use the "selectMode" property.
555
+ */
556
+ set methodForSelecting(v: any);
557
+ private _$selectingMode;
558
+ protected readonly $selectingMode: Observable<SelectingMode>;
559
+ private _selectingModeTransform;
285
560
  /**
286
561
  * Method for selecting list items. Default value is 'none'.
287
562
  * 'select' - List items are selected one by one.
288
563
  * 'multi-select' - Multiple selection of list items.
289
564
  * 'none' - List items are not selectable.
290
565
  */
291
- methodForSelecting: import("@angular/core").InputSignal<MethodForSelecting>;
292
- private _trackByOptions;
566
+ set selectingMode(v: SelectingMode);
567
+ get selectingMode(): SelectingMode;
568
+ private _$trackBy;
569
+ protected readonly $trackBy: Observable<string>;
570
+ private _trackByTransform;
293
571
  /**
294
572
  * The name of the property by which tracking is performed
295
573
  */
296
- trackBy: import("@angular/core").InputSignal<string>;
297
- private _screenReaderMessageOptions;
574
+ set trackBy(v: string);
575
+ get trackBy(): string;
576
+ private _$screenReaderMessage;
577
+ protected readonly $screenReaderMessage: Observable<string>;
578
+ private _screenReaderMessageTransform;
298
579
  /**
299
580
  * Message for screen reader.
300
581
  * The message format is: "some text $1 some text $2",
301
582
  * where $1 is the number of the first element of the screen collection,
302
583
  * $2 is the number of the last element of the screen collection.
303
584
  */
304
- screenReaderMessage: import("@angular/core").InputSignal<string>;
305
- protected readonly screenReaderFormattedMessage: import("@angular/core").WritableSignal<string>;
306
- private _langTextDir;
585
+ protected set screenReaderMessage(v: string);
586
+ protected get screenReaderMessage(): string;
587
+ private _$screenReaderFormattedMessage;
588
+ protected $screenReaderFormattedMessage: Observable<string>;
589
+ private _$langTextDir;
590
+ protected readonly $langTextDir: Observable<TextDirection>;
591
+ private _langTextDirTransform;
307
592
  /**
308
593
  * A string indicating the direction of text for the locale.
309
594
  * Can be either "ltr" (left-to-right) or "rtl" (right-to-left).
310
595
  */
311
- langTextDir: import("@angular/core").InputSignal<TextDirection>;
312
- private _isNotSelecting;
313
- private _isSingleSelecting;
314
- private _isMultiSelecting;
596
+ set langTextDir(v: TextDirection);
597
+ get langTextDir(): TextDirection;
598
+ private _isSingleSelection;
599
+ private _isMultiSelection;
600
+ private _isMultipleCollapse;
601
+ private _isAccordionCollapse;
315
602
  private _isSnappingMethodAdvanced;
603
+ protected _$isInfinity: BehaviorSubject<boolean>;
604
+ protected $isInfinity: Observable<boolean>;
605
+ protected get isInfinity(): boolean;
316
606
  private _isVertical;
317
607
  protected get isVertical(): boolean;
318
- protected readonly focusedElement: import("@angular/core").WritableSignal<Id | null>;
319
- protected readonly classes: import("@angular/core").WritableSignal<{
608
+ private _$isVertical;
609
+ protected $isVertical: Observable<boolean>;
610
+ private _$focusedElement;
611
+ protected $focusedElement: Observable<Id | null>;
612
+ private _$classes;
613
+ protected $classes: Observable<{
320
614
  [cName: string]: boolean;
321
615
  }>;
322
- private _actualItems;
323
- private _collapsedItemIds;
616
+ private _$prerenderEnabled;
617
+ protected $prerenderEnabled: Observable<boolean>;
618
+ private _$actualItems;
619
+ private _$collapsedItemIds;
324
620
  private _displayComponents;
325
621
  private _snappedDisplayComponents;
326
- private _bounds;
327
- protected get bounds(): import("@angular/core").WritableSignal<ISize | null>;
328
- private _totalSize;
329
- private _listBounds;
330
- private _scrollSize;
331
- private _isScrollStart;
332
- private _isScrollEnd;
622
+ private _$bounds;
623
+ protected $bounds: Observable<ISize | null>;
624
+ private _$actualScrollbarEnabled;
625
+ protected $actualScrollbarEnabled: Observable<boolean>;
626
+ private _$actualAlignment;
627
+ protected $actualAlignment: Observable<Alignment>;
628
+ protected get actualAlignment(): Alignment;
629
+ private _$actualItemSize;
630
+ protected $actualItemSize: Observable<number>;
631
+ protected get actualItemSize(): number;
632
+ private _$actualMinItemSize;
633
+ protected $actualMinItemSize: Observable<number>;
634
+ protected get actualMinItemSize(): number;
635
+ private _$actualMaxItemSize;
636
+ protected $actualMaxItemSize: Observable<number>;
637
+ protected get actualMaxItemSize(): number;
638
+ private _$totalSize;
639
+ private _$listBounds;
640
+ private _$scrollSize;
641
+ protected readonly $scrollSize: Observable<number>;
642
+ private _$isScrollStart;
643
+ private _$isScrollEnd;
644
+ private _$precalculatedScrollStartOffset;
645
+ private _$precalculatedScrollEndOffset;
646
+ private _$actualScrollStartOffset;
647
+ protected $actualScrollStartOffset: Observable<number>;
648
+ private _$actualScrollEndOffset;
649
+ protected $actualScrollEndOffset: Observable<number>;
650
+ private _$startOffset;
651
+ protected $startOffset: Observable<number>;
652
+ private _$endOffset;
653
+ protected $endOffset: Observable<number>;
654
+ private _$actualSnapScrollToStart;
655
+ private _$actualSnapScrollToEnd;
656
+ private _$alignmentScrollStartOffset;
657
+ protected $alignmentScrollStartOffset: Observable<number>;
658
+ private _$alignmentScrollEndOffset;
659
+ protected $alignmentScrollEndOffset: Observable<number>;
333
660
  private _resizeSnappedComponentHandler;
334
661
  private _resizeSnappedObserver;
335
662
  private focusItem;
@@ -348,25 +675,23 @@ export declare class NgVirtualListComponent implements OnDestroy {
348
675
  */
349
676
  private _trackBox;
350
677
  private _$update;
351
- protected readonly $update: import("rxjs").Observable<string>;
678
+ protected readonly $update: Observable<string>;
352
679
  private _$scrollTo;
353
- protected $scrollTo: import("rxjs").Observable<IScrollParams>;
680
+ protected $scrollTo: Observable<IScrollParams>;
354
681
  private _$scrollToExecutor;
355
- protected readonly $scrollToExecutor: import("rxjs").Observable<IScrollParams>;
682
+ protected readonly $scrollToExecutor: Observable<IScrollParams>;
356
683
  private _$scrollingTo;
357
684
  private _$scroll;
358
- readonly $scroll: import("rxjs").Observable<IScrollEvent>;
685
+ readonly $scroll: Observable<IScrollEvent>;
359
686
  private _$tick;
360
- readonly $tick: import("rxjs").Observable<void>;
687
+ readonly $tick: Observable<void>;
361
688
  private _$fireUpdate;
362
- protected readonly $fireUpdate: import("rxjs").Observable<boolean>;
689
+ protected readonly $fireUpdate: Observable<boolean>;
363
690
  private _$fireUpdateNextFrame;
364
- protected readonly $fireUpdateNextFrame: import("rxjs").Observable<boolean>;
691
+ protected readonly $fireUpdateNextFrame: Observable<boolean>;
365
692
  private _$preventScrollSnapping;
366
- protected readonly $preventScrollSnapping: import("rxjs").Observable<boolean>;
367
- private _destroyRef;
693
+ protected readonly $preventScrollSnapping: Observable<boolean>;
368
694
  private _updateId;
369
- private _scrollStateUpdateIndex;
370
695
  private _readyForShow;
371
696
  private _cached;
372
697
  private _isLoading;
@@ -376,7 +701,6 @@ export declare class NgVirtualListComponent implements OnDestroy {
376
701
  private readonly $viewInit;
377
702
  private _$destroy;
378
703
  private readonly $destroy;
379
- protected getScrollStateVersion(totalSize: number, scrollSize: number, cacheVersion: number): string;
380
704
  constructor();
381
705
  ngAfterViewInit(): void;
382
706
  private onAfterResize;
@@ -384,9 +708,12 @@ export declare class NgVirtualListComponent implements OnDestroy {
384
708
  private snappingHandler;
385
709
  private emitScrollEvent;
386
710
  private getIsSnappingMethodAdvanced;
387
- private getIsNotSelecting;
388
- private getIsSingleSelecting;
389
- private getIsMultiSelecting;
711
+ private getIsNoneSelection;
712
+ private getIsSingleSelection;
713
+ private getIsMultiSelection;
714
+ private getIsNoneCollapse;
715
+ private getIsMultipleCollapse;
716
+ private getIsAccordionCollapse;
390
717
  private getIsVertical;
391
718
  private getIsLazy;
392
719
  private createDisplayComponentsIfNeed;
@@ -439,5 +766,5 @@ export declare class NgVirtualListComponent implements OnDestroy {
439
766
  ngOnDestroy(): void;
440
767
  private dispose;
441
768
  static ɵfac: i0.ɵɵFactoryDeclaration<NgVirtualListComponent, never>;
442
- static ɵcmp: i0.ɵɵComponentDeclaration<NgVirtualListComponent, "ng-virtual-list", never, { "scrollbarThickness": { "alias": "scrollbarThickness"; "required": false; "isSignal": true; }; "scrollbarMinSize": { "alias": "scrollbarMinSize"; "required": false; "isSignal": true; }; "scrollbarThumbRenderer": { "alias": "scrollbarThumbRenderer"; "required": false; "isSignal": true; }; "scrollbarThumbParams": { "alias": "scrollbarThumbParams"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "waitForPreparation": { "alias": "waitForPreparation"; "required": false; "isSignal": true; }; "clickDistance": { "alias": "clickDistance"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; "isSignal": true; }; "defaultItemValue": { "alias": "defaultItemValue"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; "collapsedIds": { "alias": "collapsedIds"; "required": false; "isSignal": true; }; "selectByClick": { "alias": "selectByClick"; "required": false; "isSignal": true; }; "collapseByClick": { "alias": "collapseByClick"; "required": false; "isSignal": true; }; "snap": { "alias": "snap"; "required": false; "isSignal": true; }; "snapToEndTransitionInstantOffset": { "alias": "snapToEndTransitionInstantOffset"; "required": false; "isSignal": true; }; "scrollStartOffset": { "alias": "scrollStartOffset"; "required": false; "isSignal": true; }; "scrollEndOffset": { "alias": "scrollEndOffset"; "required": false; "isSignal": true; }; "snapScrollToStart": { "alias": "snapScrollToStart"; "required": false; "isSignal": true; }; "snapScrollToEnd": { "alias": "snapScrollToEnd"; "required": false; "isSignal": true; }; "snapScrollToBottom": { "alias": "snapScrollToBottom"; "required": false; "isSignal": true; }; "scrollbarEnabled": { "alias": "scrollbarEnabled"; "required": false; "isSignal": true; }; "scrollbarInteractive": { "alias": "scrollbarInteractive"; "required": false; "isSignal": true; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; "isSignal": true; }; "scrollingSettings": { "alias": "scrollingSettings"; "required": false; "isSignal": true; }; "animationParams": { "alias": "animationParams"; "required": false; "isSignal": true; }; "overscrollEnabled": { "alias": "overscrollEnabled"; "required": false; "isSignal": true; }; "enabledBufferOptimization": { "alias": "enabledBufferOptimization"; "required": false; "isSignal": true; }; "itemRenderer": { "alias": "itemRenderer"; "required": true; "isSignal": true; }; "itemConfigMap": { "alias": "itemConfigMap"; "required": false; "isSignal": true; }; "itemSize": { "alias": "itemSize"; "required": false; "isSignal": true; }; "dynamicSize": { "alias": "dynamicSize"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "collectionMode": { "alias": "collectionMode"; "required": false; "isSignal": true; }; "bufferSize": { "alias": "bufferSize"; "required": false; "isSignal": true; }; "maxBufferSize": { "alias": "maxBufferSize"; "required": false; "isSignal": true; }; "snappingMethod": { "alias": "snappingMethod"; "required": false; "isSignal": true; }; "methodForSelecting": { "alias": "methodForSelecting"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "screenReaderMessage": { "alias": "screenReaderMessage"; "required": false; "isSignal": true; }; "langTextDir": { "alias": "langTextDir"; "required": false; "isSignal": true; }; }, { "onScroll": "onScroll"; "onScrollEnd": "onScrollEnd"; "onViewportChange": "onViewportChange"; "onItemClick": "onItemClick"; "onSelect": "onSelect"; "onCollapse": "onCollapse"; "onScrollReachStart": "onScrollReachStart"; "onScrollReachEnd": "onScrollReachEnd"; }, never, never, false, never>;
769
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgVirtualListComponent, "ng-virtual-list", never, { "scrollbarThickness": { "alias": "scrollbarThickness"; "required": false; }; "scrollbarMinSize": { "alias": "scrollbarMinSize"; "required": false; }; "scrollbarThumbRenderer": { "alias": "scrollbarThumbRenderer"; "required": false; }; "scrollbarThumbParams": { "alias": "scrollbarThumbParams"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "waitForPreparation": { "alias": "waitForPreparation"; "required": false; }; "clickDistance": { "alias": "clickDistance"; "required": false; }; "items": { "alias": "items"; "required": false; }; "selectedIds": { "alias": "selectedIds"; "required": false; }; "defaultItemValue": { "alias": "defaultItemValue"; "required": false; }; "collapsedIds": { "alias": "collapsedIds"; "required": false; }; "selectByClick": { "alias": "selectByClick"; "required": false; }; "collapseByClick": { "alias": "collapseByClick"; "required": false; }; "snap": { "alias": "snap"; "required": false; }; "stickyEnabled": { "alias": "stickyEnabled"; "required": false; }; "snapToEndTransitionInstantOffset": { "alias": "snapToEndTransitionInstantOffset"; "required": false; }; "scrollStartOffset": { "alias": "scrollStartOffset"; "required": false; }; "scrollEndOffset": { "alias": "scrollEndOffset"; "required": false; }; "snapScrollToStart": { "alias": "snapScrollToStart"; "required": false; }; "snapScrollToEnd": { "alias": "snapScrollToEnd"; "required": false; }; "snapScrollToBottom": { "alias": "snapScrollToBottom"; "required": false; }; "scrollbarEnabled": { "alias": "scrollbarEnabled"; "required": false; }; "scrollbarInteractive": { "alias": "scrollbarInteractive"; "required": false; }; "overlappingScrollbar": { "alias": "overlappingScrollbar"; "required": false; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; }; "scrollingSettings": { "alias": "scrollingSettings"; "required": false; }; "itemTransform": { "alias": "itemTransform"; "required": false; }; "snapToItem": { "alias": "snapToItem"; "required": false; }; "snapToItemAlign": { "alias": "snapToItemAlign"; "required": false; }; "snappingDistance": { "alias": "snappingDistance"; "required": false; }; "scrollingOneByOne": { "alias": "scrollingOneByOne"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "zIndexWhenSelecting": { "alias": "zIndexWhenSelecting"; "required": false; }; "spreadingMode": { "alias": "spreadingMode"; "required": false; }; "divides": { "alias": "divides"; "required": false; }; "motionBlur": { "alias": "motionBlur"; "required": false; }; "maxMotionBlur": { "alias": "maxMotionBlur"; "required": false; }; "motionBlurEnabled": { "alias": "motionBlurEnabled"; "required": false; }; "animationParams": { "alias": "animationParams"; "required": false; }; "overscrollEnabled": { "alias": "overscrollEnabled"; "required": false; }; "enabledBufferOptimization": { "alias": "enabledBufferOptimization"; "required": false; }; "itemRenderer": { "alias": "itemRenderer"; "required": false; }; "itemConfigMap": { "alias": "itemConfigMap"; "required": false; }; "itemSize": { "alias": "itemSize"; "required": false; }; "minItemSize": { "alias": "minItemSize"; "required": false; }; "maxItemSize": { "alias": "maxItemSize"; "required": false; }; "dynamicSize": { "alias": "dynamicSize"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "collectionMode": { "alias": "collectionMode"; "required": false; }; "bufferSize": { "alias": "bufferSize"; "required": false; }; "maxBufferSize": { "alias": "maxBufferSize"; "required": false; }; "snappingMethod": { "alias": "snappingMethod"; "required": false; }; "collapsingMode": { "alias": "collapsingMode"; "required": false; }; "methodForSelecting": { "alias": "methodForSelecting"; "required": false; }; "selectingMode": { "alias": "selectingMode"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "screenReaderMessage": { "alias": "screenReaderMessage"; "required": false; }; "langTextDir": { "alias": "langTextDir"; "required": false; }; }, { "onScroll": "onScroll"; "onScrollEnd": "onScrollEnd"; "onViewportChange": "onViewportChange"; "onSnapItem": "onSnapItem"; "onItemClick": "onItemClick"; "onSelect": "onSelect"; "onCollapse": "onCollapse"; "onScrollReachStart": "onScrollReachStart"; "onScrollReachEnd": "onScrollReachEnd"; }, never, never, false, never>;
443
770
  }