ng-virtual-list 14.12.0 → 14.12.2

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 (460) hide show
  1. package/README.md +1 -11
  2. package/esm2020/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +309 -0
  3. package/{esm2022 → esm2020}/lib/components/ng-list-item/base/index.mjs +2 -2
  4. package/{esm2022 → esm2020}/lib/components/ng-list-item/const/index.mjs +40 -40
  5. package/{esm2022 → esm2020}/lib/components/ng-list-item/interfaces/index.mjs +1 -1
  6. package/{esm2022 → esm2020}/lib/components/ng-list-item/interfaces/template-context.mjs +1 -1
  7. package/esm2020/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +200 -0
  8. package/{esm2022 → esm2020}/lib/components/ng-list-item/ng-virtual-list-item.module.mjs +20 -20
  9. package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/create-display-id.mjs +9 -9
  10. package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/get-element-by-index.mjs +19 -19
  11. package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/index.mjs +4 -4
  12. package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/matrix-3d.mjs +12 -12
  13. package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +278 -0
  14. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.mjs +21 -21
  15. package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +94 -0
  16. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.mjs +20 -20
  17. package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +141 -0
  18. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.mjs +20 -20
  19. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/core/index.mjs +2 -2
  20. package/esm2020/lib/components/ng-prerender-container/core/prerender-track-box.mjs +201 -0
  21. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/events/index.mjs +5 -5
  22. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/interfaces/index.mjs +1 -1
  23. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/interfaces/refresh-params.mjs +1 -1
  24. package/esm2020/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +90 -0
  25. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/ng-prerender-container.module.mjs +20 -20
  26. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/types/cache.mjs +1 -1
  27. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/types/index.mjs +1 -1
  28. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/const/index.mjs +8 -8
  29. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/enums/index.mjs +2 -2
  30. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/enums/scrollbar-states.mjs +6 -6
  31. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/index.mjs +1 -1
  32. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.mjs +1 -1
  33. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/scrollbar-drag-data.mjs +1 -1
  34. package/esm2020/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.mjs +27 -0
  35. package/esm2020/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +324 -0
  36. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/ng-scroll-bar.module.mjs +19 -19
  37. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/ng-scroll-bar.service.mjs +38 -36
  38. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/types/index.mjs +1 -1
  39. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/types/scrollbar-state.mjs +1 -1
  40. package/esm2020/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +260 -0
  41. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/const/index.mjs +9 -9
  42. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/index.mjs +2 -2
  43. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/scroller-direction.mjs +11 -11
  44. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/scroller-directions.mjs +1 -1
  45. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/index.mjs +3 -3
  46. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/interfaces/index.mjs +1 -1
  47. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/interfaces/scroll-to-params.mjs +1 -1
  48. package/esm2020/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +856 -0
  49. package/esm2020/lib/components/ng-scroll-view/utils/calculate-direction.mjs +17 -0
  50. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/calculate-velocity.mjs +11 -11
  51. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/get-dir.mjs +9 -9
  52. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/index.mjs +5 -5
  53. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/matrix-3d.mjs +9 -9
  54. package/esm2020/lib/components/ng-scroll-view/utils/scroll-box.mjs +45 -0
  55. package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/index.mjs +2 -2
  56. package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/scroller-direction.mjs +5 -5
  57. package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/scroller-directions.mjs +1 -1
  58. package/esm2020/lib/components/ng-scroller/ng-scroller.component.mjs +521 -0
  59. package/{esm2022 → esm2020}/lib/components/ng-scroller/ng-scroller.module.mjs +22 -22
  60. package/{esm2022 → esm2020}/lib/components/ng-scroller/utils/index.mjs +2 -2
  61. package/esm2020/lib/components/ng-scroller/utils/interfaces/calculate-scroll-metrics.mjs +2 -0
  62. package/esm2020/lib/components/ng-scroller/utils/interfaces/calculate-scroll-params.mjs +2 -0
  63. package/esm2020/lib/components/ng-scroller/utils/interfaces/calculate-scroll-position-params.mjs +2 -0
  64. package/esm2020/lib/components/ng-scroller/utils/interfaces/index.mjs +2 -0
  65. package/esm2020/lib/components/ng-scroller/utils/scroll-box.mjs +52 -0
  66. package/{esm2022 → esm2020}/lib/const/index.mjs +164 -164
  67. package/esm2020/lib/core/cache-map.mjs +100 -0
  68. package/{esm2022 → esm2020}/lib/core/const/index.mjs +2 -2
  69. package/{esm2022 → esm2020}/lib/core/enums/index.mjs +2 -2
  70. package/{esm2022 → esm2020}/lib/core/enums/item-display-methods.mjs +13 -13
  71. package/{esm2022 → esm2020}/lib/core/events/index.mjs +2 -2
  72. package/{esm2022 → esm2020}/lib/core/events/track-box-events.mjs +11 -11
  73. package/{esm2022 → esm2020}/lib/core/interfaces/get-item-position-options.mjs +1 -1
  74. package/{esm2022 → esm2020}/lib/core/interfaces/get-metrics-returns.mjs +1 -1
  75. package/{esm2022 → esm2020}/lib/core/interfaces/index.mjs +1 -1
  76. package/{esm2022 → esm2020}/lib/core/interfaces/item.mjs +1 -1
  77. package/{esm2022 → esm2020}/lib/core/interfaces/metrics.mjs +1 -1
  78. package/esm2020/lib/core/interfaces/recalculate-metrics-options.mjs +2 -0
  79. package/{esm2022 → esm2020}/lib/core/interfaces/update-collection-options.mjs +1 -1
  80. package/{esm2022 → esm2020}/lib/core/interfaces/update-collection-returns.mjs +1 -1
  81. package/esm2020/lib/core/track-box.mjs +1352 -0
  82. package/esm2020/lib/core/tracker.mjs +209 -0
  83. package/{esm2022 → esm2020}/lib/core/types/cache-map-events.mjs +1 -1
  84. package/{esm2022 → esm2020}/lib/core/types/cache-map-listeners.mjs +1 -1
  85. package/{esm2022 → esm2020}/lib/core/types/cache.mjs +1 -1
  86. package/{esm2022 → esm2020}/lib/core/types/index.mjs +1 -1
  87. package/{esm2022 → esm2020}/lib/core/types/on-change-event-listener.mjs +1 -1
  88. package/{esm2022 → esm2020}/lib/core/types/on-tick-event-listener.mjs +1 -1
  89. package/{esm2022 → esm2020}/lib/core/utils/get-service-id-prop.mjs +9 -9
  90. package/{esm2022 → esm2020}/lib/core/utils/index.mjs +2 -2
  91. package/{esm2022 → esm2020}/lib/directives/index.mjs +3 -3
  92. package/esm2020/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +67 -0
  93. package/{esm2022 → esm2020}/lib/directives/locale-sensitive/locale-sensitive.module.mjs +19 -19
  94. package/esm2020/lib/directives/virtual-click/virtual-click.directive.mjs +66 -0
  95. package/{esm2022 → esm2020}/lib/directives/virtual-click/virtual-click.module.mjs +19 -19
  96. package/{esm2022 → esm2020}/lib/enums/alignments.mjs +11 -11
  97. package/{esm2022 → esm2020}/lib/enums/collapsing-modes.mjs +21 -21
  98. package/{esm2022 → esm2020}/lib/enums/collection-modes.mjs +17 -17
  99. package/{esm2022 → esm2020}/lib/enums/directions.mjs +17 -17
  100. package/{esm2022 → esm2020}/lib/enums/focus-alignments.mjs +13 -13
  101. package/{esm2022 → esm2020}/lib/enums/index.mjs +11 -11
  102. package/{esm2022 → esm2020}/lib/enums/selecting-modes-types.mjs +21 -21
  103. package/{esm2022 → esm2020}/lib/enums/selecting-modes.mjs +21 -21
  104. package/{esm2022 → esm2020}/lib/enums/snap-to-item-aligns.mjs +21 -21
  105. package/{esm2022 → esm2020}/lib/enums/snapping-methods.mjs +17 -17
  106. package/{esm2022 → esm2020}/lib/enums/spreading-modes.mjs +17 -17
  107. package/{esm2022 → esm2020}/lib/enums/text-directions.mjs +13 -13
  108. package/{esm2022 → esm2020}/lib/interfaces/animation-params.mjs +1 -1
  109. package/{esm2022 → esm2020}/lib/interfaces/base-virtual-list-item-component.mjs +1 -1
  110. package/{esm2022 → esm2020}/lib/interfaces/index.mjs +1 -1
  111. package/{esm2022 → esm2020}/lib/interfaces/item-transformation.mjs +1 -1
  112. package/{esm2022 → esm2020}/lib/interfaces/point.mjs +1 -1
  113. package/{esm2022 → esm2020}/lib/interfaces/rect.mjs +1 -1
  114. package/{esm2022 → esm2020}/lib/interfaces/render-stabilizer-options.mjs +1 -1
  115. package/{esm2022 → esm2020}/lib/interfaces/scroll-event.mjs +1 -1
  116. package/{esm2022 → esm2020}/lib/interfaces/scroll-options.mjs +1 -1
  117. package/{esm2022 → esm2020}/lib/interfaces/scroll-params.mjs +1 -1
  118. package/{esm2022 → esm2020}/lib/interfaces/scroll-to-params.mjs +1 -1
  119. package/{esm2022 → esm2020}/lib/interfaces/scrolling-settings.mjs +1 -1
  120. package/{esm2022 → esm2020}/lib/interfaces/size.mjs +1 -1
  121. package/{esm2022 → esm2020}/lib/models/collection.model.mjs +2 -2
  122. package/{esm2022 → esm2020}/lib/models/component.model.mjs +1 -1
  123. package/{esm2022 → esm2020}/lib/models/display-object-config.model.mjs +1 -1
  124. package/{esm2022 → esm2020}/lib/models/display-object-measures.model.mjs +1 -1
  125. package/{esm2022 → esm2020}/lib/models/index.mjs +1 -1
  126. package/{esm2022 → esm2020}/lib/models/item-config-map.model.mjs +1 -1
  127. package/{esm2022 → esm2020}/lib/models/item.model.mjs +1 -1
  128. package/{esm2022 → esm2020}/lib/models/render-collection.model.mjs +2 -2
  129. package/{esm2022 → esm2020}/lib/models/render-item-config.model.mjs +1 -1
  130. package/{esm2022 → esm2020}/lib/models/render-item-measures.model.mjs +2 -2
  131. package/{esm2022 → esm2020}/lib/models/render-item.model.mjs +2 -2
  132. package/esm2020/lib/ng-virtual-list-public.service.mjs +122 -0
  133. package/esm2020/lib/ng-virtual-list.component.mjs +3255 -0
  134. package/{esm2022 → esm2020}/lib/ng-virtual-list.module.mjs +23 -23
  135. package/esm2020/lib/ng-virtual-list.service.mjs +430 -0
  136. package/esm2020/lib/transformations/deck-of-cards-3d.mjs +57 -0
  137. package/esm2020/lib/transformations/deck-of-cards.mjs +54 -0
  138. package/esm2020/lib/transformations/event-horizon.mjs +47 -0
  139. package/{esm2022 → esm2020}/lib/transformations/index.mjs +12 -12
  140. package/esm2020/lib/transformations/linear.mjs +47 -0
  141. package/esm2020/lib/transformations/swipe-3d.mjs +51 -0
  142. package/{esm2022 → esm2020}/lib/types/alignment.mjs +1 -1
  143. package/{esm2022 → esm2020}/lib/types/arithmetic-expression.mjs +1 -1
  144. package/{esm2022 → esm2020}/lib/types/collapsing-mode.mjs +1 -1
  145. package/{esm2022 → esm2020}/lib/types/collection-mode.mjs +1 -1
  146. package/{esm2022 → esm2020}/lib/types/color.mjs +1 -1
  147. package/{esm2022 → esm2020}/lib/types/direction.mjs +1 -1
  148. package/{esm2022 → esm2020}/lib/types/float-or-persentage-value.mjs +1 -1
  149. package/{esm2022 → esm2020}/lib/types/focus-alignment.mjs +1 -1
  150. package/{esm2022 → esm2020}/lib/types/focus-item-params.mjs +1 -1
  151. package/{esm2022 → esm2020}/lib/types/gradient-color-position.mjs +1 -1
  152. package/{esm2022 → esm2020}/lib/types/gradient-color-positions.mjs +1 -1
  153. package/{esm2022 → esm2020}/lib/types/id.mjs +1 -1
  154. package/{esm2022 → esm2020}/lib/types/index.mjs +1 -1
  155. package/{esm2022 → esm2020}/lib/types/item-transform.mjs +1 -1
  156. package/{esm2022 → esm2020}/lib/types/scroll-direction.mjs +1 -1
  157. package/{esm2022 → esm2020}/lib/types/selecting-mode.mjs +1 -1
  158. package/{esm2022 → esm2020}/lib/types/snap-to-item-align.mjs +1 -1
  159. package/{esm2022 → esm2020}/lib/types/snapping-distance.mjs +1 -1
  160. package/{esm2022 → esm2020}/lib/types/snapping-method.mjs +1 -1
  161. package/{esm2022 → esm2020}/lib/types/spreading-mode.mjs +1 -1
  162. package/{esm2022 → esm2020}/lib/types/text-direction.mjs +1 -1
  163. package/esm2020/lib/utils/animator/animator.mjs +80 -0
  164. package/{esm2022 → esm2020}/lib/utils/animator/const/index.mjs +1 -1
  165. package/{esm2022 → esm2020}/lib/utils/animator/ease.mjs +6 -6
  166. package/{esm2022 → esm2020}/lib/utils/animator/index.mjs +4 -4
  167. package/esm2020/lib/utils/animator/interfaces/animator-params.mjs +2 -0
  168. package/esm2020/lib/utils/animator/interfaces/animator-update-data.mjs +2 -0
  169. package/{esm2022 → esm2020}/lib/utils/animator/interfaces/index.mjs +1 -1
  170. package/esm2020/lib/utils/animator/types/easing.mjs +2 -0
  171. package/{esm2022 → esm2020}/lib/utils/animator/types/index.mjs +1 -1
  172. package/esm2020/lib/utils/buffer-interpolation.mjs +29 -0
  173. package/esm2020/lib/utils/cmap.mjs +34 -0
  174. package/esm2020/lib/utils/debounce.mjs +61 -0
  175. package/esm2020/lib/utils/disposable-component.mjs +29 -0
  176. package/esm2020/lib/utils/event-emitter/event-emitter.mjs +106 -0
  177. package/{esm2022 → esm2020}/lib/utils/event-emitter/index.mjs +2 -2
  178. package/esm2020/lib/utils/event-emitter/interfaces/event-emitter.mjs +2 -0
  179. package/{esm2022 → esm2020}/lib/utils/event-emitter/interfaces/index.mjs +1 -1
  180. package/esm2020/lib/utils/get-scroll-state-version.mjs +12 -0
  181. package/{esm2022 → esm2020}/lib/utils/get-selector-by-item-id.mjs +4 -4
  182. package/{esm2022 → esm2020}/lib/utils/index.mjs +4 -4
  183. package/esm2020/lib/utils/is-collapse-mode.mjs +18 -0
  184. package/{esm2022 → esm2020}/lib/utils/is-collection-mode.mjs +15 -15
  185. package/esm2020/lib/utils/is-direction.mjs +15 -0
  186. package/esm2020/lib/utils/is-persentage-value.mjs +14 -0
  187. package/esm2020/lib/utils/is-select-mode.mjs +18 -0
  188. package/{esm2022 → esm2020}/lib/utils/is-spreading-mode.mjs +15 -15
  189. package/esm2020/lib/utils/list-validators.mjs +27 -0
  190. package/esm2020/lib/utils/normalize-collection.mjs +42 -0
  191. package/esm2020/lib/utils/object.mjs +28 -0
  192. package/esm2020/lib/utils/parse-arithmetic-expression.mjs +53 -0
  193. package/esm2020/lib/utils/parse-float-or-persentage-value.mjs +17 -0
  194. package/esm2020/lib/utils/screen-reader-formatter.mjs +43 -0
  195. package/esm2020/lib/utils/scroll-event.mjs +46 -0
  196. package/esm2020/lib/utils/scrolling-direction.mjs +28 -0
  197. package/{esm2022 → esm2020}/lib/utils/snapping-method.mjs +8 -8
  198. package/esm2020/lib/utils/toggle-class-name.mjs +15 -0
  199. package/{esm2022 → esm2020}/lib/utils/validation.mjs +55 -55
  200. package/{esm2022 → esm2020}/ng-virtual-list.mjs +4 -4
  201. package/{esm2022 → esm2020}/public-api.mjs +19 -19
  202. package/fesm2015/ng-virtual-list.mjs +10731 -0
  203. package/fesm2015/ng-virtual-list.mjs.map +1 -0
  204. package/{fesm2022 → fesm2020}/ng-virtual-list.mjs +10451 -10455
  205. package/fesm2020/ng-virtual-list.mjs.map +1 -0
  206. package/index.d.ts +5 -5
  207. package/lib/components/ng-list-item/base/base-virtual-list-item-component.d.ts +83 -83
  208. package/lib/components/ng-list-item/base/index.d.ts +2 -2
  209. package/lib/components/ng-list-item/const/index.d.ts +3 -3
  210. package/lib/components/ng-list-item/interfaces/index.d.ts +2 -2
  211. package/lib/components/ng-list-item/interfaces/template-context.d.ts +42 -42
  212. package/lib/components/ng-list-item/ng-virtual-list-item.component.d.ts +30 -30
  213. package/lib/components/ng-list-item/ng-virtual-list-item.module.d.ts +9 -9
  214. package/lib/components/ng-list-item/utils/create-display-id.d.ts +7 -7
  215. package/lib/components/ng-list-item/utils/get-element-by-index.d.ts +15 -15
  216. package/lib/components/ng-list-item/utils/index.d.ts +4 -4
  217. package/lib/components/ng-list-item/utils/matrix-3d.d.ts +7 -7
  218. package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.d.ts +104 -104
  219. package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.d.ts +10 -10
  220. package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.d.ts +17 -17
  221. package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.d.ts +9 -9
  222. package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.d.ts +62 -62
  223. package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.d.ts +9 -9
  224. package/lib/components/ng-prerender-container/core/index.d.ts +2 -2
  225. package/lib/components/ng-prerender-container/core/prerender-track-box.d.ts +35 -35
  226. package/lib/components/ng-prerender-container/events/index.d.ts +6 -6
  227. package/lib/components/ng-prerender-container/interfaces/index.d.ts +2 -2
  228. package/lib/components/ng-prerender-container/interfaces/refresh-params.d.ts +17 -17
  229. package/lib/components/ng-prerender-container/ng-prerender-container.component.d.ts +40 -40
  230. package/lib/components/ng-prerender-container/ng-prerender-container.module.d.ts +9 -9
  231. package/lib/components/ng-prerender-container/types/cache.d.ts +13 -13
  232. package/lib/components/ng-prerender-container/types/index.d.ts +2 -2
  233. package/lib/components/ng-scroll-bar/const/index.d.ts +3 -3
  234. package/lib/components/ng-scroll-bar/enums/index.d.ts +2 -2
  235. package/lib/components/ng-scroll-bar/enums/scrollbar-states.d.ts +5 -5
  236. package/lib/components/ng-scroll-bar/interfaces/index.d.ts +3 -3
  237. package/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.d.ts +26 -26
  238. package/lib/components/ng-scroll-bar/interfaces/scrollbar-drag-data.d.ts +13 -13
  239. package/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.d.ts +16 -16
  240. package/lib/components/ng-scroll-bar/ng-scroll-bar.component.d.ts +102 -102
  241. package/lib/components/ng-scroll-bar/ng-scroll-bar.module.d.ts +8 -8
  242. package/lib/components/ng-scroll-bar/ng-scroll-bar.service.d.ts +22 -22
  243. package/lib/components/ng-scroll-bar/types/index.d.ts +2 -2
  244. package/lib/components/ng-scroll-bar/types/scrollbar-state.d.ts +2 -2
  245. package/lib/components/ng-scroll-view/base/base-scroll-view.component.d.ts +89 -89
  246. package/lib/components/ng-scroll-view/const/index.d.ts +7 -7
  247. package/lib/components/ng-scroll-view/enums/index.d.ts +4 -4
  248. package/lib/components/ng-scroll-view/enums/scroller-direction.d.ts +10 -10
  249. package/lib/components/ng-scroll-view/enums/scroller-directions.d.ts +8 -8
  250. package/lib/components/ng-scroll-view/index.d.ts +5 -5
  251. package/lib/components/ng-scroll-view/interfaces/index.d.ts +2 -2
  252. package/lib/components/ng-scroll-view/interfaces/scroll-to-params.d.ts +22 -22
  253. package/lib/components/ng-scroll-view/ng-scroll-view.component.d.ts +124 -124
  254. package/lib/components/ng-scroll-view/utils/calculate-direction.d.ts +10 -7
  255. package/lib/components/ng-scroll-view/utils/calculate-velocity.d.ts +7 -7
  256. package/lib/components/ng-scroll-view/utils/get-dir.d.ts +7 -7
  257. package/lib/components/ng-scroll-view/utils/index.d.ts +5 -5
  258. package/lib/components/ng-scroll-view/utils/matrix-3d.d.ts +7 -7
  259. package/lib/components/ng-scroll-view/utils/scroll-box.d.ts +39 -39
  260. package/lib/components/ng-scroller/enums/index.d.ts +4 -4
  261. package/lib/components/ng-scroller/enums/scroller-direction.d.ts +4 -4
  262. package/lib/components/ng-scroller/enums/scroller-directions.d.ts +3 -3
  263. package/lib/components/ng-scroller/ng-scroller.component.d.ts +164 -164
  264. package/lib/components/ng-scroller/ng-scroller.module.d.ts +11 -11
  265. package/lib/components/ng-scroller/utils/index.d.ts +2 -2
  266. package/lib/components/ng-scroller/utils/interfaces/calculate-scroll-metrics.d.ts +11 -0
  267. package/lib/components/ng-scroller/utils/interfaces/calculate-scroll-params.d.ts +19 -0
  268. package/lib/components/ng-scroller/utils/interfaces/calculate-scroll-position-params.d.ts +10 -0
  269. package/lib/components/ng-scroller/utils/interfaces/index.d.ts +4 -0
  270. package/lib/components/ng-scroller/utils/scroll-box.d.ts +23 -40
  271. package/lib/const/index.d.ts +153 -153
  272. package/lib/core/cache-map.d.ts +46 -46
  273. package/lib/core/const/index.d.ts +1 -1
  274. package/lib/core/enums/index.d.ts +2 -2
  275. package/lib/core/enums/item-display-methods.d.ts +12 -12
  276. package/lib/core/events/index.d.ts +2 -2
  277. package/lib/core/events/track-box-events.d.ts +10 -10
  278. package/lib/core/interfaces/get-item-position-options.d.ts +10 -10
  279. package/lib/core/interfaces/get-metrics-returns.d.ts +11 -11
  280. package/lib/core/interfaces/index.d.ts +8 -8
  281. package/lib/core/interfaces/item.d.ts +9 -9
  282. package/lib/core/interfaces/metrics.d.ts +51 -51
  283. package/lib/core/interfaces/recalculate-metrics-options.d.ts +33 -32
  284. package/lib/core/interfaces/update-collection-options.d.ts +10 -10
  285. package/lib/core/interfaces/update-collection-returns.d.ts +14 -14
  286. package/lib/core/track-box.d.ts +153 -153
  287. package/lib/core/tracker.d.ts +55 -55
  288. package/lib/core/types/cache-map-events.d.ts +8 -8
  289. package/lib/core/types/cache-map-listeners.d.ts +9 -9
  290. package/lib/core/types/cache.d.ts +12 -12
  291. package/lib/core/types/index.d.ts +6 -6
  292. package/lib/core/types/on-change-event-listener.d.ts +7 -7
  293. package/lib/core/types/on-tick-event-listener.d.ts +7 -7
  294. package/lib/core/utils/get-service-id-prop.d.ts +7 -7
  295. package/lib/core/utils/index.d.ts +2 -2
  296. package/lib/directives/index.d.ts +3 -3
  297. package/lib/directives/locale-sensitive/locale-sensitive.directive.d.ts +29 -29
  298. package/lib/directives/locale-sensitive/locale-sensitive.module.d.ts +8 -8
  299. package/lib/directives/virtual-click/virtual-click.directive.d.ts +22 -22
  300. package/lib/directives/virtual-click/virtual-click.module.d.ts +8 -8
  301. package/lib/enums/alignments.d.ts +10 -10
  302. package/lib/enums/collapsing-modes.d.ts +20 -20
  303. package/lib/enums/collection-modes.d.ts +16 -16
  304. package/lib/enums/directions.d.ts +16 -16
  305. package/lib/enums/focus-alignments.d.ts +12 -12
  306. package/lib/enums/index.d.ts +11 -11
  307. package/lib/enums/selecting-modes-types.d.ts +20 -20
  308. package/lib/enums/selecting-modes.d.ts +20 -20
  309. package/lib/enums/snap-to-item-aligns.d.ts +20 -20
  310. package/lib/enums/snapping-methods.d.ts +16 -16
  311. package/lib/enums/spreading-modes.d.ts +16 -16
  312. package/lib/enums/text-directions.d.ts +12 -12
  313. package/lib/interfaces/animation-params.d.ts +14 -14
  314. package/lib/interfaces/base-virtual-list-item-component.d.ts +23 -23
  315. package/lib/interfaces/index.d.ts +11 -11
  316. package/lib/interfaces/item-transformation.d.ts +22 -22
  317. package/lib/interfaces/point.d.ts +16 -16
  318. package/lib/interfaces/rect.d.ts +17 -17
  319. package/lib/interfaces/render-stabilizer-options.d.ts +12 -12
  320. package/lib/interfaces/scroll-event.d.ts +58 -58
  321. package/lib/interfaces/scroll-options.d.ts +28 -28
  322. package/lib/interfaces/scroll-params.d.ts +17 -17
  323. package/lib/interfaces/scroll-to-params.d.ts +7 -7
  324. package/lib/interfaces/scrolling-settings.d.ts +38 -38
  325. package/lib/interfaces/size.d.ts +16 -16
  326. package/lib/models/collection.model.d.ts +9 -9
  327. package/lib/models/component.model.d.ts +3 -3
  328. package/lib/models/display-object-config.model.d.ts +21 -21
  329. package/lib/models/display-object-measures.model.d.ts +45 -45
  330. package/lib/models/index.d.ts +9 -9
  331. package/lib/models/item-config-map.model.d.ts +35 -35
  332. package/lib/models/item.model.d.ts +17 -17
  333. package/lib/models/render-collection.model.d.ts +9 -9
  334. package/lib/models/render-item-config.model.d.ts +119 -119
  335. package/lib/models/render-item-measures.model.d.ts +116 -116
  336. package/lib/models/render-item.model.d.ts +40 -40
  337. package/lib/ng-virtual-list-public.service.d.ts +92 -92
  338. package/lib/ng-virtual-list.component.d.ts +771 -770
  339. package/lib/ng-virtual-list.module.d.ts +12 -12
  340. package/lib/ng-virtual-list.service.d.ts +153 -153
  341. package/lib/transformations/deck-of-cards-3d.d.ts +54 -54
  342. package/lib/transformations/deck-of-cards.d.ts +50 -50
  343. package/lib/transformations/event-horizon.d.ts +26 -26
  344. package/lib/transformations/index.d.ts +7 -7
  345. package/lib/transformations/linear.d.ts +26 -26
  346. package/lib/transformations/swipe-3d.d.ts +38 -38
  347. package/lib/types/alignment.d.ts +8 -8
  348. package/lib/types/arithmetic-expression.d.ts +10 -10
  349. package/lib/types/collapsing-mode.d.ts +8 -8
  350. package/lib/types/collection-mode.d.ts +8 -8
  351. package/lib/types/color.d.ts +4 -4
  352. package/lib/types/direction.d.ts +8 -8
  353. package/lib/types/float-or-persentage-value.d.ts +7 -7
  354. package/lib/types/focus-alignment.d.ts +8 -8
  355. package/lib/types/focus-item-params.d.ts +13 -13
  356. package/lib/types/gradient-color-position.d.ts +7 -7
  357. package/lib/types/gradient-color-positions.d.ts +8 -8
  358. package/lib/types/id.d.ts +7 -7
  359. package/lib/types/index.d.ts +20 -20
  360. package/lib/types/item-transform.d.ts +9 -9
  361. package/lib/types/scroll-direction.d.ts +8 -8
  362. package/lib/types/selecting-mode.d.ts +8 -8
  363. package/lib/types/snap-to-item-align.d.ts +8 -8
  364. package/lib/types/snapping-distance.d.ts +8 -8
  365. package/lib/types/snapping-method.d.ts +10 -10
  366. package/lib/types/spreading-mode.d.ts +8 -8
  367. package/lib/types/text-direction.d.ts +10 -10
  368. package/lib/utils/animator/animator.d.ts +16 -16
  369. package/lib/utils/animator/const/index.d.ts +1 -1
  370. package/lib/utils/animator/ease.d.ts +2 -2
  371. package/lib/utils/animator/index.d.ts +6 -6
  372. package/lib/utils/animator/interfaces/animator-params.d.ts +18 -18
  373. package/lib/utils/animator/interfaces/animator-update-data.d.ts +13 -13
  374. package/lib/utils/animator/interfaces/index.d.ts +3 -3
  375. package/lib/utils/animator/types/easing.d.ts +7 -7
  376. package/lib/utils/animator/types/index.d.ts +2 -2
  377. package/lib/utils/buffer-interpolation.d.ts +5 -5
  378. package/lib/utils/cmap.d.ts +16 -16
  379. package/lib/utils/debounce.d.ts +25 -25
  380. package/lib/utils/disposable-component.d.ts +15 -15
  381. package/lib/utils/event-emitter/event-emitter.d.ts +42 -42
  382. package/lib/utils/event-emitter/index.d.ts +4 -4
  383. package/lib/utils/event-emitter/interfaces/event-emitter.d.ts +37 -37
  384. package/lib/utils/event-emitter/interfaces/index.d.ts +2 -2
  385. package/lib/utils/get-scroll-state-version.d.ts +1 -1
  386. package/lib/utils/get-selector-by-item-id.d.ts +2 -2
  387. package/lib/utils/index.d.ts +6 -6
  388. package/lib/utils/is-collapse-mode.d.ts +8 -8
  389. package/lib/utils/is-collection-mode.d.ts +8 -8
  390. package/lib/utils/is-direction.d.ts +8 -8
  391. package/lib/utils/is-persentage-value.d.ts +7 -7
  392. package/lib/utils/is-select-mode.d.ts +8 -8
  393. package/lib/utils/is-spreading-mode.d.ts +8 -8
  394. package/lib/utils/list-validators.d.ts +2 -2
  395. package/lib/utils/normalize-collection.d.ts +8 -8
  396. package/lib/utils/object.d.ts +4 -4
  397. package/lib/utils/parse-arithmetic-expression.d.ts +8 -8
  398. package/lib/utils/parse-float-or-persentage-value.d.ts +7 -7
  399. package/lib/utils/screen-reader-formatter.d.ts +7 -4
  400. package/lib/utils/scroll-event.d.ts +48 -48
  401. package/lib/utils/scrolling-direction.d.ts +17 -17
  402. package/lib/utils/snapping-method.d.ts +3 -3
  403. package/lib/utils/toggle-class-name.d.ts +7 -7
  404. package/lib/utils/validation.d.ts +35 -35
  405. package/package.json +11 -5
  406. package/public-api.d.ts +16 -16
  407. package/esm2022/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +0 -315
  408. package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +0 -200
  409. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +0 -279
  410. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +0 -94
  411. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +0 -142
  412. package/esm2022/lib/components/ng-prerender-container/core/prerender-track-box.mjs +0 -198
  413. package/esm2022/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +0 -93
  414. package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.mjs +0 -25
  415. package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +0 -324
  416. package/esm2022/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +0 -262
  417. package/esm2022/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +0 -859
  418. package/esm2022/lib/components/ng-scroll-view/utils/calculate-direction.mjs +0 -17
  419. package/esm2022/lib/components/ng-scroll-view/utils/scroll-box.mjs +0 -45
  420. package/esm2022/lib/components/ng-scroller/ng-scroller.component.mjs +0 -525
  421. package/esm2022/lib/components/ng-scroller/utils/scroll-box.mjs +0 -52
  422. package/esm2022/lib/core/cache-map.mjs +0 -101
  423. package/esm2022/lib/core/interfaces/recalculate-metrics-options.mjs +0 -2
  424. package/esm2022/lib/core/track-box.mjs +0 -1353
  425. package/esm2022/lib/core/tracker.mjs +0 -207
  426. package/esm2022/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +0 -68
  427. package/esm2022/lib/directives/virtual-click/virtual-click.directive.mjs +0 -67
  428. package/esm2022/lib/ng-virtual-list-public.service.mjs +0 -120
  429. package/esm2022/lib/ng-virtual-list.component.mjs +0 -3246
  430. package/esm2022/lib/ng-virtual-list.service.mjs +0 -431
  431. package/esm2022/lib/transformations/deck-of-cards-3d.mjs +0 -57
  432. package/esm2022/lib/transformations/deck-of-cards.mjs +0 -54
  433. package/esm2022/lib/transformations/event-horizon.mjs +0 -47
  434. package/esm2022/lib/transformations/linear.mjs +0 -47
  435. package/esm2022/lib/transformations/swipe-3d.mjs +0 -51
  436. package/esm2022/lib/utils/animator/animator.mjs +0 -78
  437. package/esm2022/lib/utils/animator/interfaces/animator-params.mjs +0 -2
  438. package/esm2022/lib/utils/animator/interfaces/animator-update-data.mjs +0 -2
  439. package/esm2022/lib/utils/animator/types/easing.mjs +0 -2
  440. package/esm2022/lib/utils/buffer-interpolation.mjs +0 -29
  441. package/esm2022/lib/utils/cmap.mjs +0 -34
  442. package/esm2022/lib/utils/debounce.mjs +0 -61
  443. package/esm2022/lib/utils/disposable-component.mjs +0 -27
  444. package/esm2022/lib/utils/event-emitter/event-emitter.mjs +0 -105
  445. package/esm2022/lib/utils/event-emitter/interfaces/event-emitter.mjs +0 -2
  446. package/esm2022/lib/utils/get-scroll-state-version.mjs +0 -12
  447. package/esm2022/lib/utils/is-collapse-mode.mjs +0 -18
  448. package/esm2022/lib/utils/is-direction.mjs +0 -15
  449. package/esm2022/lib/utils/is-persentage-value.mjs +0 -14
  450. package/esm2022/lib/utils/is-select-mode.mjs +0 -18
  451. package/esm2022/lib/utils/list-validators.mjs +0 -27
  452. package/esm2022/lib/utils/normalize-collection.mjs +0 -42
  453. package/esm2022/lib/utils/object.mjs +0 -28
  454. package/esm2022/lib/utils/parse-arithmetic-expression.mjs +0 -53
  455. package/esm2022/lib/utils/parse-float-or-persentage-value.mjs +0 -17
  456. package/esm2022/lib/utils/screen-reader-formatter.mjs +0 -43
  457. package/esm2022/lib/utils/scroll-event.mjs +0 -48
  458. package/esm2022/lib/utils/scrolling-direction.mjs +0 -29
  459. package/esm2022/lib/utils/toggle-class-name.mjs +0 -15
  460. package/fesm2022/ng-virtual-list.mjs.map +0 -1
@@ -1,770 +1,771 @@
1
- import { ElementRef, EventEmitter, OnDestroy, TemplateRef } from '@angular/core';
2
- import { BehaviorSubject, Observable } from 'rxjs';
3
- import { IRenderVirtualListItem, IVirtualListCollection, IVirtualListItem, IVirtualListItemConfigMap } from './models';
4
- import { IScrollEvent, IScrollOptions, IAnimationParams, ISize, IScrollingSettings } from './interfaces';
5
- import { Alignment, ArithmeticExpression, FocusAlignment, Id, ItemTransform, SnappingDistance, CollectionMode, Direction, SelectingMode, SnappingMethod, SnapToItemAlign, TextDirection, CollapsingMode, SpreadingMode } from './types';
6
- import { BaseVirtualListItemComponent } from './components/ng-list-item/base';
7
- import { Component$1 } from './models/component.model';
8
- import { IScrollParams } from './interfaces';
9
- import { DisposableComponent } from './utils/disposable-component';
10
- import * as i0 from "@angular/core";
11
- /**
12
- * Virtual list component.
13
- * Maximum performance for extremely large lists.
14
- * It is based on algorithms for virtualization of screen objects.
15
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/ng-virtual-list.component.ts
16
- * @author Evgenii Alexandrovich Grebennikov
17
- * @email djonnyx@gmail.com
18
- */
19
- export declare class NgVirtualListComponent extends DisposableComponent implements OnDestroy {
20
- private static __nextId;
21
- private _id;
22
- /**
23
- * Readonly. Returns the unique identifier of the component.
24
- */
25
- get id(): number;
26
- private _service;
27
- private _prerender;
28
- private _listContainerRef;
29
- private _snapContainerRef;
30
- private _scrollerComponent;
31
- private _$scroller;
32
- protected readonly $scroller: Observable<ElementRef<HTMLDivElement> | undefined>;
33
- private _$list;
34
- protected readonly $list: Observable<ElementRef<HTMLDivElement> | undefined>;
35
- /**
36
- * Fires when the list has been scrolled.
37
- */
38
- onScroll: EventEmitter<IScrollEvent>;
39
- /**
40
- * Fires when the list has completed scrolling.
41
- */
42
- onScrollEnd: EventEmitter<IScrollEvent>;
43
- /**
44
- * Fires when the viewport size is changed.
45
- */
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>;
51
- /**
52
- * Fires when an element is clicked.
53
- */
54
- onItemClick: EventEmitter<IRenderVirtualListItem<any> | null>;
55
- /**
56
- * Fires when elements are selected.
57
- */
58
- onSelect: EventEmitter<Id | Id[] | null>;
59
- /**
60
- * Fires when elements are collapsed.
61
- */
62
- onCollapse: EventEmitter<Id[]>;
63
- /**
64
- * Fires when the scroll reaches the start.
65
- */
66
- onScrollReachStart: EventEmitter<void>;
67
- /**
68
- * Fires when the scroll reaches the end.
69
- */
70
- onScrollReachEnd: EventEmitter<void>;
71
- private _$show;
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;
78
- /**
79
- * Scrollbar thickness.
80
- */
81
- set scrollbarThickness(v: number);
82
- get scrollbarThickness(): number;
83
- private _$scrollbarMinSize;
84
- protected readonly $scrollbarMinSize: Observable<number>;
85
- private _scrollbarMinSizeTransform;
86
- /**
87
- * Minimum scrollbar size.
88
- */
89
- set scrollbarMinSize(v: number);
90
- get scrollbarMinSize(): number;
91
- private _$scrollbarThumbRenderer;
92
- protected readonly $scrollbarThumbRenderer: Observable<TemplateRef<any> | null>;
93
- private _scrollbarThumbRendererTransform;
94
- /**
95
- * Scrollbar customization template.
96
- */
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;
104
- /**
105
- * Additional options for the scrollbar.
106
- */
107
- set scrollbarThumbParams(v: {
108
- [propName: string]: any;
109
- } | null);
110
- get scrollbarThumbParams(): {
111
- [propName: string]: any;
112
- } | null;
113
- private _loading;
114
- private _$loading;
115
- protected readonly $loading: Observable<boolean>;
116
- private _loadingTransform;
117
- /**
118
- * If `true`, the scrollBar goes into loading state. The default value is `false`.
119
- */
120
- set loading(v: boolean);
121
- get loading(): boolean;
122
- private _$waitForPreparation;
123
- protected readonly $waitForPreparation: Observable<boolean>;
124
- private _waitForPreparationTransform;
125
- /**
126
- * If true, it will wait until the list items are fully prepared before displaying them.. The default value is `true`.
127
- */
128
- set waitForPreparation(v: boolean);
129
- get waitForPreparation(): boolean;
130
- private _$clickDistance;
131
- protected readonly $clickDistance: Observable<number>;
132
- private _clickDistanceTransform;
133
- /**
134
- * The maximum scroll distance at which a click event is triggered.
135
- */
136
- set clickDistance(v: number);
137
- get clickDistance(): number;
138
- private _$items;
139
- protected readonly $items: Observable<IVirtualListCollection<Object>>;
140
- private _itemsTransform;
141
- /**
142
- * Collection of list items.
143
- */
144
- set items(v: IVirtualListCollection);
145
- get items(): IVirtualListCollection;
146
- private _$selectedIds;
147
- protected readonly $selectedIds: Observable<Id | Id[] | null>;
148
- private _selectedIdsTransform;
149
- /**
150
- * Sets the selected items.
151
- */
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;
161
- /**
162
- * Sets the collapsed items.
163
- */
164
- set collapsedIds(v: Array<Id>);
165
- get collapsedIds(): Array<Id>;
166
- private _$selectByClick;
167
- protected readonly $selectByClick: Observable<boolean>;
168
- private _selectByClickTransform;
169
- /**
170
- * If `false`, the element is selected using the config.api method passed to the template;
171
- * if `true`, the element is selected by clicking on it. The default value is `true`.
172
- */
173
- set selectByClick(v: boolean);
174
- get selectByClick(): boolean;
175
- private _$collapseByClick;
176
- protected readonly $collapseByClick: Observable<boolean>;
177
- private _collapseByClickTransform;
178
- /**
179
- * If `false`, the element is collapsed using the config.collapse method passed to the template;
180
- * if `true`, the element is collapsed by clicking on it. The default value is `true`.
181
- */
182
- set collapseByClick(v: boolean);
183
- get collapseByClick(): boolean;
184
- /**
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".
194
- */
195
- set stickyEnabled(v: boolean);
196
- get stickyEnabled(): boolean;
197
- private _$snapToEndTransitionInstantOffset;
198
- protected readonly $snapToEndTransitionInstantOffset: Observable<number>;
199
- private _snapToEndTransitionInstantOffsetTransform;
200
- /**
201
- * Sets the offset value; if the scroll area value is exceeded, the scroll animation will be disabled. Default value is "0".
202
- */
203
- set snapToEndTransitionInstantOffset(v: number);
204
- get snapToEndTransitionInstantOffset(): number;
205
- private _$scrollStartOffset;
206
- protected readonly $scrollStartOffset: Observable<ArithmeticExpression>;
207
- private _scrollStartOffsetTransform;
208
- /**
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".
211
- */
212
- set scrollStartOffset(v: ArithmeticExpression);
213
- get scrollStartOffset(): ArithmeticExpression;
214
- private _$scrollEndOffset;
215
- protected readonly $scrollEndOffset: Observable<ArithmeticExpression>;
216
- private _scrollEndOffsetTransform;
217
- /**
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".
220
- */
221
- set scrollEndOffset(v: ArithmeticExpression);
222
- get scrollEndOffset(): ArithmeticExpression;
223
- private _$snapScrollToStart;
224
- protected readonly $snapScrollToStart: Observable<boolean>;
225
- private _snapScrollToStartTransform;
226
- /**
227
- * Determines whether the scroll will be anchored to the start of the list. Default value is "true".
228
- * This property takes precedence over the snapScrollToEnd property.
229
- * That is, if snapScrollToStart and snapScrollToEnd are enabled, the list will initially snap
230
- * to the beginning; if you move the scroll bar to the end, the list will snap to the end.
231
- * If snapScrollToStart is disabled and snapScrollToEnd is enabled, the list will snap to the end;
232
- * if you move the scroll bar to the beginning, the list will snap to the beginning.
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.
235
- */
236
- set snapScrollToStart(v: boolean);
237
- get snapScrollToStart(): boolean;
238
- private _$snapScrollToEnd;
239
- protected readonly $snapScrollToEnd: Observable<boolean>;
240
- private _snapScrollToEndTransform;
241
- /**
242
- * Determines whether the scroll will be anchored to the утв of the list. Default value is "true".
243
- * That is, if snapScrollToStart and snapScrollToEnd are enabled, the list will initially snap
244
- * to the beginning; if you move the scroll bar to the end, the list will snap to the end.
245
- * If snapScrollToStart is disabled and snapScrollToEnd is enabled, the list will snap to the end;
246
- * if you move the scroll bar to the beginning, the list will snap to the beginning.
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.
249
- */
250
- set snapScrollToEnd(v: boolean);
251
- get snapScrollToEnd(): boolean;
252
- /**
253
- * @deprecated
254
- * The stopSnappingScrollToEnd property is deprecated. Use the snapScrollToEnd property.
255
- */
256
- set snapScrollToBottom(v: boolean);
257
- private _$scrollbarEnabled;
258
- protected readonly $scrollbarEnabled: Observable<boolean>;
259
- private _scrollbarEnabledTransform;
260
- /**
261
- * Determines whether the scrollbar is shown or not. The default value is "true".
262
- */
263
- set scrollbarEnabled(v: boolean);
264
- get scrollbarEnabled(): boolean;
265
- private _$scrollbarInteractive;
266
- protected readonly $scrollbarInteractive: Observable<boolean>;
267
- private _scrollbarInteractiveTransform;
268
- /**
269
- * Determines whether scrolling using the scrollbar will be possible. The default value is "true".
270
- */
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;
284
- /**
285
- * Defines the scrolling behavior for any element on the page. The default value is "smooth".
286
- */
287
- set scrollBehavior(v: ScrollBehavior);
288
- get scrollBehavior(): ScrollBehavior;
289
- private _$scrollingSettings;
290
- protected readonly $scrollingSettings: Observable<IScrollingSettings>;
291
- private _scrollingSettingsTransform;
292
- /**
293
- * Scrolling settings.
294
- * - frictionalForce - Frictional force. Default value is 0.035.
295
- * - mass - Mass. Default value is 0.005.
296
- * - maxDistance - Maximum scrolling distance. Default value is 100000.
297
- * - maxDuration - Maximum animation duration. Default value is 4000.
298
- * - speedScale - Speed scale. Default value is 10.
299
- * - optimization - Enables scrolling performance optimization. Default value is `true`.
300
- */
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;
416
- /**
417
- * Determines whether the overscroll (re-scroll) feature will work. The default value is "true".
418
- */
419
- set overscrollEnabled(v: boolean);
420
- get overscrollEnabled(): boolean;
421
- private _$enabledBufferOptimization;
422
- protected readonly $enabledBufferOptimization: Observable<boolean>;
423
- private _enabledBufferOptimizationTransform;
424
- /**
425
- * Experimental!
426
- * Enables buffer optimization.
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.
428
- * Works only if the property dynamic = true
429
- */
430
- set enabledBufferOptimization(v: boolean);
431
- get enabledBufferOptimization(): boolean;
432
- private _$itemRenderer;
433
- protected readonly $itemRenderer: Observable<TemplateRef<any> | undefined>;
434
- private _itemRendererTransform;
435
- /**
436
- * Rendering element template.
437
- */
438
- set itemRenderer(v: TemplateRef<any>);
439
- get itemRenderer(): TemplateRef<any>;
440
- private _$itemConfigMap;
441
- protected readonly $itemConfigMap: Observable<IVirtualListItemConfigMap>;
442
- private _itemConfigMapTransform;
443
- /**
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.
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.
446
- * Default value is `0`.
447
- * `selectable` determines whether an element can be selected or not. Default value is `true`.
448
- * `collapsable` determines whether an element with a `sticky` property greater than zero can collapse and
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.
451
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/models/item-config-map.model.ts
452
- * @author Evgenii Alexandrovich Grebennikov
453
- * @email djonnyx@gmail.com
454
- */
455
- set itemConfigMap(v: IVirtualListItemConfigMap);
456
- get itemConfigMap(): IVirtualListItemConfigMap;
457
- private _$itemSize;
458
- protected readonly $itemSize: Observable<number>;
459
- private _itemSizeTransform;
460
- /**
461
- * If direction = 'vertical', then the height of a typical element. If direction = 'horizontal', then the width of a typical element.
462
- * If the `dynamicSize` property is true, the items in the list can have different sizes, and you must specify the `itemSize` property
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.
483
- */
484
- set maxItemSize(v: number | 'viewport');
485
- get maxItemSize(): number | 'viewport';
486
- private _$dynamicSize;
487
- protected readonly $dynamicSize: Observable<boolean>;
488
- private _dynamicSizeTransform;
489
- /**
490
- * If true, items in the list may have different sizes, and the itemSize property must be specified to adjust
491
- * the sizes of items in the unallocated area.
492
- * If false then the items in the list have a fixed size specified by the itemSize property. The default value is true.
493
- */
494
- set dynamicSize(v: boolean);
495
- get dynamicSize(): boolean;
496
- private _$direction;
497
- protected readonly $direction: Observable<Direction>;
498
- private _directionTransform;
499
- /**
500
- * Determines the direction in which elements are placed. Default value is "vertical".
501
- */
502
- set direction(v: Direction);
503
- get direction(): Direction;
504
- private _$collectionMode;
505
- protected readonly $collectionMode: Observable<CollectionMode>;
506
- private _collectionModeTransform;
507
- /**
508
- * Determines the action modes for collection elements. Default value is "normal".
509
- */
510
- set collectionMode(v: CollectionMode);
511
- get collectionMode(): CollectionMode;
512
- private _$bufferSize;
513
- protected readonly $bufferSize: Observable<number>;
514
- private _bufferSizeTransform;
515
- /**
516
- * Number of elements outside the scope of visibility. Default value is 2.
517
- */
518
- set bufferSize(v: number);
519
- get bufferSize(): number;
520
- private _$maxBufferSize;
521
- protected readonly $maxBufferSize: Observable<number>;
522
- private _maxBufferSizeTransform;
523
- /**
524
- * Maximum number of elements outside the scope of visibility. Default value is 100.
525
- * If maxBufferSize is set to be greater than bufferSize, then adaptive buffer mode is enabled.
526
- * The greater the scroll size, the more elements are allocated for rendering.
527
- */
528
- set maxBufferSize(v: number);
529
- get maxBufferSize(): number;
530
- private _$snappingMethod;
531
- protected readonly $snappingMethod: Observable<SnappingMethod>;
532
- private _snappingMethodTransform;
533
- /**
534
- * Snapping method. Default value is 'standart'.
535
- * 'standart' - Classic group visualization.
536
- * 'advanced' - A mask is applied to the viewport area so that the background is displayed underneath the attached group.
537
- */
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;
560
- /**
561
- * Method for selecting list items. Default value is 'none'.
562
- * 'select' - List items are selected one by one.
563
- * 'multi-select' - Multiple selection of list items.
564
- * 'none' - List items are not selectable.
565
- */
566
- set selectingMode(v: SelectingMode);
567
- get selectingMode(): SelectingMode;
568
- private _$trackBy;
569
- protected readonly $trackBy: Observable<string>;
570
- private _trackByTransform;
571
- /**
572
- * The name of the property by which tracking is performed
573
- */
574
- set trackBy(v: string);
575
- get trackBy(): string;
576
- private _$screenReaderMessage;
577
- protected readonly $screenReaderMessage: Observable<string>;
578
- private _screenReaderMessageTransform;
579
- /**
580
- * Message for screen reader.
581
- * The message format is: "some text $1 some text $2",
582
- * where $1 is the number of the first element of the screen collection,
583
- * $2 is the number of the last element of the screen collection.
584
- */
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;
592
- /**
593
- * A string indicating the direction of text for the locale.
594
- * Can be either "ltr" (left-to-right) or "rtl" (right-to-left).
595
- */
596
- set langTextDir(v: TextDirection);
597
- get langTextDir(): TextDirection;
598
- private _isSingleSelection;
599
- private _isMultiSelection;
600
- private _isMultipleCollapse;
601
- private _isAccordionCollapse;
602
- private _isSnappingMethodAdvanced;
603
- protected _$isInfinity: BehaviorSubject<boolean>;
604
- protected $isInfinity: Observable<boolean>;
605
- protected get isInfinity(): boolean;
606
- private _isVertical;
607
- protected get isVertical(): boolean;
608
- private _$isVertical;
609
- protected $isVertical: Observable<boolean>;
610
- private _$focusedElement;
611
- protected $focusedElement: Observable<Id | null>;
612
- private _$classes;
613
- protected $classes: Observable<{
614
- [cName: string]: boolean;
615
- }>;
616
- private _$prerenderEnabled;
617
- protected $prerenderEnabled: Observable<boolean>;
618
- private _$actualItems;
619
- private _$collapsedItemIds;
620
- private _displayComponents;
621
- private _snappedDisplayComponents;
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>;
660
- private _resizeSnappedComponentHandler;
661
- private _resizeSnappedObserver;
662
- private focusItem;
663
- private _elementRef;
664
- /**
665
- * Base class of the element component
666
- */
667
- private _itemComponentClass;
668
- protected get itemComponentClass(): Component$1<BaseVirtualListItemComponent>;
669
- /**
670
- * Base class trackBox
671
- */
672
- private _trackBoxClass;
673
- /**
674
- * Dictionary of element sizes by their id
675
- */
676
- private _trackBox;
677
- private _$update;
678
- protected readonly $update: Observable<string>;
679
- private _$scrollTo;
680
- protected $scrollTo: Observable<IScrollParams>;
681
- private _$scrollToExecutor;
682
- protected readonly $scrollToExecutor: Observable<IScrollParams>;
683
- private _$scrollingTo;
684
- private _$scroll;
685
- readonly $scroll: Observable<IScrollEvent>;
686
- private _$tick;
687
- readonly $tick: Observable<void>;
688
- private _$fireUpdate;
689
- protected readonly $fireUpdate: Observable<boolean>;
690
- private _$fireUpdateNextFrame;
691
- protected readonly $fireUpdateNextFrame: Observable<boolean>;
692
- private _$preventScrollSnapping;
693
- protected readonly $preventScrollSnapping: Observable<boolean>;
694
- private _updateId;
695
- private _readyForShow;
696
- private _cached;
697
- private _isLoading;
698
- protected get cachable(): boolean;
699
- protected get prerenderable(): boolean;
700
- private _$viewInit;
701
- private readonly $viewInit;
702
- private _$destroy;
703
- private readonly $destroy;
704
- constructor();
705
- ngAfterViewInit(): void;
706
- private onAfterResize;
707
- private checkBoundsOfElements;
708
- private snappingHandler;
709
- private emitScrollEvent;
710
- private getIsSnappingMethodAdvanced;
711
- private getIsNoneSelection;
712
- private getIsSingleSelection;
713
- private getIsMultiSelection;
714
- private getIsNoneCollapse;
715
- private getIsMultipleCollapse;
716
- private getIsAccordionCollapse;
717
- private getIsVertical;
718
- private getIsLazy;
719
- private createDisplayComponentsIfNeed;
720
- private updateRegularRenderer;
721
- /**
722
- * Tracking by id
723
- */
724
- private tracking;
725
- private resetBoundsSize;
726
- /**
727
- * Returns the bounds of an element with a given id
728
- */
729
- getItemBounds(id: Id): ISize | null;
730
- /**
731
- * Focus an list item by a given id.
732
- */
733
- focus(id: Id, align?: FocusAlignment): void;
734
- /**
735
- * The method scrolls the list to the element with the given `id` and returns the value of the scrolled area.
736
- */
737
- scrollTo(id: Id, cb?: (() => void) | null, options?: IScrollOptions | null): void;
738
- /**
739
- * Scrolls the scroll area to the first item in the collection.
740
- */
741
- scrollToStart(cb?: (() => void) | null, options?: IScrollOptions | null): void;
742
- /**
743
- * @deprecated
744
- * The scrollToEndItem method is deprecated. Use the scrollToEnd method.
745
- */
746
- scrollToEndItem(cb?: () => void, options?: IScrollOptions): void;
747
- /**
748
- * Scrolls the list to the end of the content size.
749
- */
750
- scrollToEnd(cb?: (() => void) | null, options?: IScrollOptions | null): void;
751
- private scrollToFinalize;
752
- protected cleanup(): void;
753
- /**
754
- * Force clearing the cache.
755
- */
756
- protected cacheClean(): void;
757
- /**
758
- * @deprecated
759
- * The stopSnappingScrollToEnd method is deprecated. Use the preventSnapping method.
760
- */
761
- stopSnappingScrollToEnd(): void;
762
- /**
763
- * Prevents the list from snapping to its start or end edge.
764
- */
765
- preventSnapping(): void;
766
- ngOnDestroy(): void;
767
- private dispose;
768
- static ɵfac: i0.ɵɵFactoryDeclaration<NgVirtualListComponent, 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>;
770
- }
1
+ import { ElementRef, EventEmitter, OnDestroy, TemplateRef } from '@angular/core';
2
+ import { BehaviorSubject, Observable } from 'rxjs';
3
+ import { IRenderVirtualListItem, IVirtualListCollection, IVirtualListItem, IVirtualListItemConfigMap } from './models';
4
+ import { IScrollEvent, IScrollOptions, IAnimationParams, ISize, IScrollingSettings } from './interfaces';
5
+ import { Alignment, ArithmeticExpression, FocusAlignment, Id, ItemTransform, SnappingDistance, CollectionMode, Direction, SelectingMode, SnappingMethod, SnapToItemAlign, TextDirection, CollapsingMode, SpreadingMode } from './types';
6
+ import { BaseVirtualListItemComponent } from './components/ng-list-item/base';
7
+ import { Component$1 } from './models/component.model';
8
+ import { IScrollParams } from './interfaces';
9
+ import { DisposableComponent } from './utils/disposable-component';
10
+ import * as i0 from "@angular/core";
11
+ /**
12
+ * Virtual list component.
13
+ * Maximum performance for extremely large lists.
14
+ * It is based on algorithms for virtualization of screen objects.
15
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/ng-virtual-list.component.ts
16
+ * @author Evgenii Alexandrovich Grebennikov
17
+ * @email djonnyx@gmail.com
18
+ */
19
+ export declare class NgVirtualListComponent extends DisposableComponent implements OnDestroy {
20
+ private static __nextId;
21
+ private _id;
22
+ /**
23
+ * Readonly. Returns the unique identifier of the component.
24
+ */
25
+ get id(): number;
26
+ private _service;
27
+ private _prerender;
28
+ private _listContainerRef;
29
+ private _snapContainerRef;
30
+ private _scrollerComponent;
31
+ private _$scroller;
32
+ protected readonly $scroller: Observable<ElementRef<HTMLDivElement> | undefined>;
33
+ private _$list;
34
+ protected readonly $list: Observable<ElementRef<HTMLDivElement> | undefined>;
35
+ /**
36
+ * Fires when the list has been scrolled.
37
+ */
38
+ onScroll: EventEmitter<IScrollEvent>;
39
+ /**
40
+ * Fires when the list has completed scrolling.
41
+ */
42
+ onScrollEnd: EventEmitter<IScrollEvent>;
43
+ /**
44
+ * Fires when the viewport size is changed.
45
+ */
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>;
51
+ /**
52
+ * Fires when an element is clicked.
53
+ */
54
+ onItemClick: EventEmitter<IRenderVirtualListItem<any> | null>;
55
+ /**
56
+ * Fires when elements are selected.
57
+ */
58
+ onSelect: EventEmitter<Id | Id[] | null>;
59
+ /**
60
+ * Fires when elements are collapsed.
61
+ */
62
+ onCollapse: EventEmitter<Id[]>;
63
+ /**
64
+ * Fires when the scroll reaches the start.
65
+ */
66
+ onScrollReachStart: EventEmitter<void>;
67
+ /**
68
+ * Fires when the scroll reaches the end.
69
+ */
70
+ onScrollReachEnd: EventEmitter<void>;
71
+ private _$show;
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;
78
+ /**
79
+ * Scrollbar thickness.
80
+ */
81
+ set scrollbarThickness(v: number);
82
+ get scrollbarThickness(): number;
83
+ private _$scrollbarMinSize;
84
+ protected readonly $scrollbarMinSize: Observable<number>;
85
+ private _scrollbarMinSizeTransform;
86
+ /**
87
+ * Minimum scrollbar size.
88
+ */
89
+ set scrollbarMinSize(v: number);
90
+ get scrollbarMinSize(): number;
91
+ private _$scrollbarThumbRenderer;
92
+ protected readonly $scrollbarThumbRenderer: Observable<TemplateRef<any> | null>;
93
+ private _scrollbarThumbRendererTransform;
94
+ /**
95
+ * Scrollbar customization template.
96
+ */
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;
104
+ /**
105
+ * Additional options for the scrollbar.
106
+ */
107
+ set scrollbarThumbParams(v: {
108
+ [propName: string]: any;
109
+ } | null);
110
+ get scrollbarThumbParams(): {
111
+ [propName: string]: any;
112
+ } | null;
113
+ private _loading;
114
+ private _$loading;
115
+ protected readonly $loading: Observable<boolean>;
116
+ private _loadingTransform;
117
+ /**
118
+ * If `true`, the scrollBar goes into loading state. The default value is `false`.
119
+ */
120
+ set loading(v: boolean);
121
+ get loading(): boolean;
122
+ private _$waitForPreparation;
123
+ protected readonly $waitForPreparation: Observable<boolean>;
124
+ private _waitForPreparationTransform;
125
+ /**
126
+ * If true, it will wait until the list items are fully prepared before displaying them.. The default value is `true`.
127
+ */
128
+ set waitForPreparation(v: boolean);
129
+ get waitForPreparation(): boolean;
130
+ private _$clickDistance;
131
+ protected readonly $clickDistance: Observable<number>;
132
+ private _clickDistanceTransform;
133
+ /**
134
+ * The maximum scroll distance at which a click event is triggered.
135
+ */
136
+ set clickDistance(v: number);
137
+ get clickDistance(): number;
138
+ private _$items;
139
+ protected readonly $items: Observable<IVirtualListCollection<Object>>;
140
+ private _itemsTransform;
141
+ /**
142
+ * Collection of list items.
143
+ */
144
+ set items(v: IVirtualListCollection);
145
+ get items(): IVirtualListCollection;
146
+ private _$selectedIds;
147
+ protected readonly $selectedIds: Observable<Id | Id[] | null>;
148
+ private _selectedIdsTransform;
149
+ /**
150
+ * Sets the selected items.
151
+ */
152
+ set selectedIds(v: Array<Id> | Id | null);
153
+ get selectedIds(): Array<Id> | Id | null;
154
+ private _$defaultItemValue;
155
+ protected readonly $defaultItemValue: Observable<IVirtualListItem<Object> | null>;
156
+ set defaultItemValue(v: IVirtualListItem | null);
157
+ get defaultItemValue(): IVirtualListItem | null;
158
+ private _$collapsedIds;
159
+ protected readonly $collapsedIds: Observable<Id[]>;
160
+ private _collapsedIdsTransform;
161
+ /**
162
+ * Sets the collapsed items.
163
+ */
164
+ set collapsedIds(v: Array<Id>);
165
+ get collapsedIds(): Array<Id>;
166
+ private _$selectByClick;
167
+ protected readonly $selectByClick: Observable<boolean>;
168
+ private _selectByClickTransform;
169
+ /**
170
+ * If `false`, the element is selected using the config.api method passed to the template;
171
+ * if `true`, the element is selected by clicking on it. The default value is `true`.
172
+ */
173
+ set selectByClick(v: boolean);
174
+ get selectByClick(): boolean;
175
+ private _$collapseByClick;
176
+ protected readonly $collapseByClick: Observable<boolean>;
177
+ private _collapseByClickTransform;
178
+ /**
179
+ * If `false`, the element is collapsed using the config.collapse method passed to the template;
180
+ * if `true`, the element is collapsed by clicking on it. The default value is `true`.
181
+ */
182
+ set collapseByClick(v: boolean);
183
+ get collapseByClick(): boolean;
184
+ /**
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".
194
+ */
195
+ set stickyEnabled(v: boolean);
196
+ get stickyEnabled(): boolean;
197
+ private _$snapToEndTransitionInstantOffset;
198
+ protected readonly $snapToEndTransitionInstantOffset: Observable<number>;
199
+ private _snapToEndTransitionInstantOffsetTransform;
200
+ /**
201
+ * Sets the offset value; if the scroll area value is exceeded, the scroll animation will be disabled. Default value is "0".
202
+ */
203
+ set snapToEndTransitionInstantOffset(v: number);
204
+ get snapToEndTransitionInstantOffset(): number;
205
+ private _$scrollStartOffset;
206
+ protected readonly $scrollStartOffset: Observable<ArithmeticExpression>;
207
+ private _scrollStartOffsetTransform;
208
+ /**
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".
211
+ */
212
+ set scrollStartOffset(v: ArithmeticExpression);
213
+ get scrollStartOffset(): ArithmeticExpression;
214
+ private _$scrollEndOffset;
215
+ protected readonly $scrollEndOffset: Observable<ArithmeticExpression>;
216
+ private _scrollEndOffsetTransform;
217
+ /**
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".
220
+ */
221
+ set scrollEndOffset(v: ArithmeticExpression);
222
+ get scrollEndOffset(): ArithmeticExpression;
223
+ private _$snapScrollToStart;
224
+ protected readonly $snapScrollToStart: Observable<boolean>;
225
+ private _snapScrollToStartTransform;
226
+ /**
227
+ * Determines whether the scroll will be anchored to the start of the list. Default value is "true".
228
+ * This property takes precedence over the snapScrollToEnd property.
229
+ * That is, if snapScrollToStart and snapScrollToEnd are enabled, the list will initially snap
230
+ * to the beginning; if you move the scroll bar to the end, the list will snap to the end.
231
+ * If snapScrollToStart is disabled and snapScrollToEnd is enabled, the list will snap to the end;
232
+ * if you move the scroll bar to the beginning, the list will snap to the beginning.
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.
235
+ */
236
+ set snapScrollToStart(v: boolean);
237
+ get snapScrollToStart(): boolean;
238
+ private _$snapScrollToEnd;
239
+ protected readonly $snapScrollToEnd: Observable<boolean>;
240
+ private _snapScrollToEndTransform;
241
+ /**
242
+ * Determines whether the scroll will be anchored to the утв of the list. Default value is "true".
243
+ * That is, if snapScrollToStart and snapScrollToEnd are enabled, the list will initially snap
244
+ * to the beginning; if you move the scroll bar to the end, the list will snap to the end.
245
+ * If snapScrollToStart is disabled and snapScrollToEnd is enabled, the list will snap to the end;
246
+ * if you move the scroll bar to the beginning, the list will snap to the beginning.
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.
249
+ */
250
+ set snapScrollToEnd(v: boolean);
251
+ get snapScrollToEnd(): boolean;
252
+ /**
253
+ * @deprecated
254
+ * The stopSnappingScrollToEnd property is deprecated. Use the snapScrollToEnd property.
255
+ */
256
+ set snapScrollToBottom(v: boolean);
257
+ private _$scrollbarEnabled;
258
+ protected readonly $scrollbarEnabled: Observable<boolean>;
259
+ private _scrollbarEnabledTransform;
260
+ /**
261
+ * Determines whether the scrollbar is shown or not. The default value is "true".
262
+ */
263
+ set scrollbarEnabled(v: boolean);
264
+ get scrollbarEnabled(): boolean;
265
+ private _$scrollbarInteractive;
266
+ protected readonly $scrollbarInteractive: Observable<boolean>;
267
+ private _scrollbarInteractiveTransform;
268
+ /**
269
+ * Determines whether scrolling using the scrollbar will be possible. The default value is "true".
270
+ */
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;
284
+ /**
285
+ * Defines the scrolling behavior for any element on the page. The default value is "smooth".
286
+ */
287
+ set scrollBehavior(v: ScrollBehavior);
288
+ get scrollBehavior(): ScrollBehavior;
289
+ private _$scrollingSettings;
290
+ protected readonly $scrollingSettings: Observable<IScrollingSettings>;
291
+ private _scrollingSettingsTransform;
292
+ /**
293
+ * Scrolling settings.
294
+ * - frictionalForce - Frictional force. Default value is 0.035.
295
+ * - mass - Mass. Default value is 0.005.
296
+ * - maxDistance - Maximum scrolling distance. Default value is 100000.
297
+ * - maxDuration - Maximum animation duration. Default value is 4000.
298
+ * - speedScale - Speed scale. Default value is 10.
299
+ * - optimization - Enables scrolling performance optimization. Default value is `true`.
300
+ */
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;
416
+ /**
417
+ * Determines whether the overscroll (re-scroll) feature will work. The default value is "true".
418
+ */
419
+ set overscrollEnabled(v: boolean);
420
+ get overscrollEnabled(): boolean;
421
+ private _$enabledBufferOptimization;
422
+ protected readonly $enabledBufferOptimization: Observable<boolean>;
423
+ private _enabledBufferOptimizationTransform;
424
+ /**
425
+ * Experimental!
426
+ * Enables buffer optimization.
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.
428
+ * Works only if the property dynamic = true
429
+ */
430
+ set enabledBufferOptimization(v: boolean);
431
+ get enabledBufferOptimization(): boolean;
432
+ private _$itemRenderer;
433
+ protected readonly $itemRenderer: Observable<TemplateRef<any> | undefined>;
434
+ private _itemRendererTransform;
435
+ /**
436
+ * Rendering element template.
437
+ */
438
+ set itemRenderer(v: TemplateRef<any>);
439
+ get itemRenderer(): TemplateRef<any>;
440
+ private _$itemConfigMap;
441
+ protected readonly $itemConfigMap: Observable<IVirtualListItemConfigMap>;
442
+ private _itemConfigMapTransform;
443
+ /**
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.
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.
446
+ * Default value is `0`.
447
+ * `selectable` determines whether an element can be selected or not. Default value is `true`.
448
+ * `collapsable` determines whether an element with a `sticky` property greater than zero can collapse and
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.
451
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/models/item-config-map.model.ts
452
+ * @author Evgenii Alexandrovich Grebennikov
453
+ * @email djonnyx@gmail.com
454
+ */
455
+ set itemConfigMap(v: IVirtualListItemConfigMap);
456
+ get itemConfigMap(): IVirtualListItemConfigMap;
457
+ private _$itemSize;
458
+ protected readonly $itemSize: Observable<number>;
459
+ private _itemSizeTransform;
460
+ /**
461
+ * If direction = 'vertical', then the height of a typical element. If direction = 'horizontal', then the width of a typical element.
462
+ * If the `dynamicSize` property is true, the items in the list can have different sizes, and you must specify the `itemSize` property
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.
483
+ */
484
+ set maxItemSize(v: number | 'viewport');
485
+ get maxItemSize(): number | 'viewport';
486
+ private _$dynamicSize;
487
+ protected readonly $dynamicSize: Observable<boolean>;
488
+ private _dynamicSizeTransform;
489
+ /**
490
+ * If true, items in the list may have different sizes, and the itemSize property must be specified to adjust
491
+ * the sizes of items in the unallocated area.
492
+ * If false then the items in the list have a fixed size specified by the itemSize property. The default value is true.
493
+ */
494
+ set dynamicSize(v: boolean);
495
+ get dynamicSize(): boolean;
496
+ private _$direction;
497
+ protected readonly $direction: Observable<Direction>;
498
+ private _directionTransform;
499
+ /**
500
+ * Determines the direction in which elements are placed. Default value is "vertical".
501
+ */
502
+ set direction(v: Direction);
503
+ get direction(): Direction;
504
+ private _$collectionMode;
505
+ protected readonly $collectionMode: Observable<CollectionMode>;
506
+ private _collectionModeTransform;
507
+ /**
508
+ * Determines the action modes for collection elements. Default value is "normal".
509
+ */
510
+ set collectionMode(v: CollectionMode);
511
+ get collectionMode(): CollectionMode;
512
+ private _$bufferSize;
513
+ protected readonly $bufferSize: Observable<number>;
514
+ private _bufferSizeTransform;
515
+ /**
516
+ * Number of elements outside the scope of visibility. Default value is 2.
517
+ */
518
+ set bufferSize(v: number);
519
+ get bufferSize(): number;
520
+ private _$maxBufferSize;
521
+ protected readonly $maxBufferSize: Observable<number>;
522
+ private _maxBufferSizeTransform;
523
+ /**
524
+ * Maximum number of elements outside the scope of visibility. Default value is 100.
525
+ * If maxBufferSize is set to be greater than bufferSize, then adaptive buffer mode is enabled.
526
+ * The greater the scroll size, the more elements are allocated for rendering.
527
+ */
528
+ set maxBufferSize(v: number);
529
+ get maxBufferSize(): number;
530
+ private _$snappingMethod;
531
+ protected readonly $snappingMethod: Observable<SnappingMethod>;
532
+ private _snappingMethodTransform;
533
+ /**
534
+ * Snapping method. Default value is 'standart'.
535
+ * 'standart' - Classic group visualization.
536
+ * 'advanced' - A mask is applied to the viewport area so that the background is displayed underneath the attached group.
537
+ */
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;
560
+ /**
561
+ * Method for selecting list items. Default value is 'none'.
562
+ * 'select' - List items are selected one by one.
563
+ * 'multi-select' - Multiple selection of list items.
564
+ * 'none' - List items are not selectable.
565
+ */
566
+ set selectingMode(v: SelectingMode);
567
+ get selectingMode(): SelectingMode;
568
+ private _$trackBy;
569
+ protected readonly $trackBy: Observable<string>;
570
+ private _trackByTransform;
571
+ /**
572
+ * The name of the property by which tracking is performed
573
+ */
574
+ set trackBy(v: string);
575
+ get trackBy(): string;
576
+ private _$screenReaderMessage;
577
+ protected readonly $screenReaderMessage: Observable<string>;
578
+ private _screenReaderMessageTransform;
579
+ /**
580
+ * Message for screen reader.
581
+ * The message format is: "some text $1 some text $2",
582
+ * where $1 is the number of the first element of the screen collection,
583
+ * $2 is the number of the last element of the screen collection.
584
+ */
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;
592
+ /**
593
+ * A string indicating the direction of text for the locale.
594
+ * Can be either "ltr" (left-to-right) or "rtl" (right-to-left).
595
+ */
596
+ set langTextDir(v: TextDirection);
597
+ get langTextDir(): TextDirection;
598
+ private _isSingleSelection;
599
+ private _isMultiSelection;
600
+ private _isMultipleCollapse;
601
+ private _isAccordionCollapse;
602
+ private _isSnappingMethodAdvanced;
603
+ protected _$isInfinity: BehaviorSubject<boolean>;
604
+ protected $isInfinity: Observable<boolean>;
605
+ protected get isInfinity(): boolean;
606
+ private _isVertical;
607
+ protected get isVertical(): boolean;
608
+ private _$isVertical;
609
+ protected $isVertical: Observable<boolean>;
610
+ private _$focusedElement;
611
+ protected $focusedElement: Observable<Id | null>;
612
+ private _$classes;
613
+ protected $classes: Observable<{
614
+ [cName: string]: boolean;
615
+ }>;
616
+ private _$prerenderEnabled;
617
+ protected $prerenderEnabled: Observable<boolean>;
618
+ private _$actualItems;
619
+ private _$collapsedItemIds;
620
+ private _displayComponents;
621
+ private _snappedDisplayComponents;
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>;
660
+ private _resizeSnappedComponentHandler;
661
+ private _resizeSnappedObserver;
662
+ private focusItem;
663
+ private _elementRef;
664
+ /**
665
+ * Base class of the element component
666
+ */
667
+ private _itemComponentClass;
668
+ protected get itemComponentClass(): Component$1<BaseVirtualListItemComponent>;
669
+ /**
670
+ * Base class trackBox
671
+ */
672
+ private _trackBoxClass;
673
+ /**
674
+ * Dictionary of element sizes by their id
675
+ */
676
+ private _trackBox;
677
+ private _$update;
678
+ protected readonly $update: Observable<string>;
679
+ private _$scrollTo;
680
+ protected $scrollTo: Observable<IScrollParams>;
681
+ private _$scrollToExecutor;
682
+ protected readonly $scrollToExecutor: Observable<IScrollParams>;
683
+ private _$scrollingTo;
684
+ private _$scroll;
685
+ readonly $scroll: Observable<IScrollEvent>;
686
+ private _$tick;
687
+ readonly $tick: Observable<void>;
688
+ private _$fireUpdate;
689
+ protected readonly $fireUpdate: Observable<boolean>;
690
+ private _$fireUpdateNextFrame;
691
+ protected readonly $fireUpdateNextFrame: Observable<boolean>;
692
+ private _$preventScrollSnapping;
693
+ protected readonly $preventScrollSnapping: Observable<boolean>;
694
+ private _updateId;
695
+ private _readyForShow;
696
+ private _cached;
697
+ private _isLoading;
698
+ protected get cachable(): boolean;
699
+ protected get prerenderable(): boolean;
700
+ private _$viewInit;
701
+ private readonly $viewInit;
702
+ private _$destroy;
703
+ private readonly $destroy;
704
+ constructor();
705
+ ngAfterViewInit(): void;
706
+ private onAfterResize;
707
+ private checkBoundsOfElements;
708
+ private snappingHandler;
709
+ private emitScrollEvent;
710
+ private getIsSnappingMethodAdvanced;
711
+ private getIsNoneSelection;
712
+ private getIsSingleSelection;
713
+ private getIsMultiSelection;
714
+ private getIsNoneCollapse;
715
+ private getIsMultipleCollapse;
716
+ private getIsAccordionCollapse;
717
+ private getIsVertical;
718
+ private getIsLazy;
719
+ private createDisplayComponentsIfNeed;
720
+ private updateOffsetsByAllignment;
721
+ private updateRegularRenderer;
722
+ /**
723
+ * Tracking by id
724
+ */
725
+ private tracking;
726
+ private resetBoundsSize;
727
+ /**
728
+ * Returns the bounds of an element with a given id
729
+ */
730
+ getItemBounds(id: Id): ISize | null;
731
+ /**
732
+ * Focus an list item by a given id.
733
+ */
734
+ focus(id: Id, align?: FocusAlignment): void;
735
+ /**
736
+ * The method scrolls the list to the element with the given `id` and returns the value of the scrolled area.
737
+ */
738
+ scrollTo(id: Id, cb?: (() => void) | null, options?: IScrollOptions | null): void;
739
+ /**
740
+ * Scrolls the scroll area to the first item in the collection.
741
+ */
742
+ scrollToStart(cb?: (() => void) | null, options?: IScrollOptions | null): void;
743
+ /**
744
+ * @deprecated
745
+ * The scrollToEndItem method is deprecated. Use the scrollToEnd method.
746
+ */
747
+ scrollToEndItem(cb?: () => void, options?: IScrollOptions): void;
748
+ /**
749
+ * Scrolls the list to the end of the content size.
750
+ */
751
+ scrollToEnd(cb?: (() => void) | null, options?: IScrollOptions | null): void;
752
+ private scrollToFinalize;
753
+ protected cleanup(): void;
754
+ /**
755
+ * Force clearing the cache.
756
+ */
757
+ protected cacheClean(): void;
758
+ /**
759
+ * @deprecated
760
+ * The stopSnappingScrollToEnd method is deprecated. Use the preventSnapping method.
761
+ */
762
+ stopSnappingScrollToEnd(): void;
763
+ /**
764
+ * Prevents the list from snapping to its start or end edge.
765
+ */
766
+ preventSnapping(): void;
767
+ ngOnDestroy(): void;
768
+ private dispose;
769
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgVirtualListComponent, never>;
770
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgVirtualListComponent, "ng-virtual-list", never, { "scrollbarThickness": "scrollbarThickness"; "scrollbarMinSize": "scrollbarMinSize"; "scrollbarThumbRenderer": "scrollbarThumbRenderer"; "scrollbarThumbParams": "scrollbarThumbParams"; "loading": "loading"; "waitForPreparation": "waitForPreparation"; "clickDistance": "clickDistance"; "items": "items"; "selectedIds": "selectedIds"; "defaultItemValue": "defaultItemValue"; "collapsedIds": "collapsedIds"; "selectByClick": "selectByClick"; "collapseByClick": "collapseByClick"; "snap": "snap"; "stickyEnabled": "stickyEnabled"; "snapToEndTransitionInstantOffset": "snapToEndTransitionInstantOffset"; "scrollStartOffset": "scrollStartOffset"; "scrollEndOffset": "scrollEndOffset"; "snapScrollToStart": "snapScrollToStart"; "snapScrollToEnd": "snapScrollToEnd"; "snapScrollToBottom": "snapScrollToBottom"; "scrollbarEnabled": "scrollbarEnabled"; "scrollbarInteractive": "scrollbarInteractive"; "overlappingScrollbar": "overlappingScrollbar"; "scrollBehavior": "scrollBehavior"; "scrollingSettings": "scrollingSettings"; "itemTransform": "itemTransform"; "snapToItem": "snapToItem"; "snapToItemAlign": "snapToItemAlign"; "snappingDistance": "snappingDistance"; "scrollingOneByOne": "scrollingOneByOne"; "alignment": "alignment"; "zIndexWhenSelecting": "zIndexWhenSelecting"; "spreadingMode": "spreadingMode"; "divides": "divides"; "motionBlur": "motionBlur"; "maxMotionBlur": "maxMotionBlur"; "motionBlurEnabled": "motionBlurEnabled"; "animationParams": "animationParams"; "overscrollEnabled": "overscrollEnabled"; "enabledBufferOptimization": "enabledBufferOptimization"; "itemRenderer": "itemRenderer"; "itemConfigMap": "itemConfigMap"; "itemSize": "itemSize"; "minItemSize": "minItemSize"; "maxItemSize": "maxItemSize"; "dynamicSize": "dynamicSize"; "direction": "direction"; "collectionMode": "collectionMode"; "bufferSize": "bufferSize"; "maxBufferSize": "maxBufferSize"; "snappingMethod": "snappingMethod"; "collapsingMode": "collapsingMode"; "methodForSelecting": "methodForSelecting"; "selectingMode": "selectingMode"; "trackBy": "trackBy"; "screenReaderMessage": "screenReaderMessage"; "langTextDir": "langTextDir"; }, { "onScroll": "onScroll"; "onScrollEnd": "onScrollEnd"; "onViewportChange": "onViewportChange"; "onSnapItem": "onSnapItem"; "onItemClick": "onItemClick"; "onSelect": "onSelect"; "onCollapse": "onCollapse"; "onScrollReachStart": "onScrollReachStart"; "onScrollReachEnd": "onScrollReachEnd"; }, never, never, false>;
771
+ }