ng-virtual-list 14.11.4 → 14.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) hide show
  1. package/README.md +78 -40
  2. package/esm2022/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +315 -0
  3. package/{esm2020 → esm2022}/lib/components/ng-list-item/base/index.mjs +2 -2
  4. package/esm2022/lib/components/ng-list-item/const/index.mjs +41 -0
  5. package/{esm2020 → esm2022}/lib/components/ng-list-item/interfaces/index.mjs +1 -1
  6. package/{esm2020 → esm2022}/lib/components/ng-list-item/interfaces/template-context.mjs +1 -1
  7. package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +200 -0
  8. package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.module.mjs +20 -0
  9. package/esm2022/lib/components/ng-list-item/utils/create-display-id.mjs +10 -0
  10. package/esm2022/lib/components/ng-list-item/utils/get-element-by-index.mjs +20 -0
  11. package/esm2022/lib/components/ng-list-item/utils/index.mjs +5 -0
  12. package/esm2022/lib/components/ng-list-item/utils/matrix-3d.mjs +18 -0
  13. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +279 -0
  14. package/{esm2020 → esm2022}/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.mjs +21 -21
  15. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +94 -0
  16. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.mjs +20 -0
  17. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +142 -0
  18. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.mjs +20 -0
  19. package/{esm2020 → esm2022}/lib/components/ng-prerender-container/core/index.mjs +2 -2
  20. package/esm2022/lib/components/ng-prerender-container/core/prerender-track-box.mjs +198 -0
  21. package/{esm2020 → esm2022}/lib/components/ng-prerender-container/events/index.mjs +5 -5
  22. package/{esm2020 → esm2022}/lib/components/ng-prerender-container/interfaces/index.mjs +1 -1
  23. package/{esm2020 → esm2022}/lib/components/ng-prerender-container/interfaces/refresh-params.mjs +2 -2
  24. package/esm2022/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +93 -0
  25. package/{esm2020 → esm2022}/lib/components/ng-prerender-container/ng-prerender-container.module.mjs +20 -20
  26. package/{esm2020 → esm2022}/lib/components/ng-prerender-container/types/cache.mjs +2 -2
  27. package/{esm2020 → esm2022}/lib/components/ng-prerender-container/types/index.mjs +1 -1
  28. package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/const/index.mjs +8 -8
  29. package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/enums/index.mjs +2 -2
  30. package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/enums/scrollbar-states.mjs +6 -6
  31. package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/interfaces/index.mjs +1 -1
  32. package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.mjs +2 -2
  33. package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/interfaces/scrollbar-drag-data.mjs +1 -1
  34. package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.mjs +25 -0
  35. package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +324 -0
  36. package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/ng-scroll-bar.module.mjs +19 -19
  37. package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/ng-scroll-bar.service.mjs +36 -38
  38. package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/types/index.mjs +1 -1
  39. package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/types/scrollbar-state.mjs +1 -1
  40. package/esm2022/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +262 -0
  41. package/esm2022/lib/components/ng-scroll-view/const/index.mjs +9 -0
  42. package/{esm2020 → esm2022}/lib/components/ng-scroll-view/enums/index.mjs +2 -2
  43. package/{esm2020 → esm2022}/lib/components/ng-scroll-view/enums/scroller-direction.mjs +11 -11
  44. package/{esm2020 → esm2022}/lib/components/ng-scroll-view/enums/scroller-directions.mjs +1 -1
  45. package/{esm2020 → esm2022}/lib/components/ng-scroll-view/index.mjs +3 -3
  46. package/{esm2020 → esm2022}/lib/components/ng-scroll-view/interfaces/index.mjs +1 -1
  47. package/{esm2020 → esm2022}/lib/components/ng-scroll-view/interfaces/scroll-to-params.mjs +2 -2
  48. package/esm2022/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +859 -0
  49. package/esm2022/lib/components/ng-scroll-view/utils/calculate-direction.mjs +17 -0
  50. package/esm2022/lib/components/ng-scroll-view/utils/calculate-velocity.mjs +12 -0
  51. package/esm2022/lib/components/ng-scroll-view/utils/get-dir.mjs +10 -0
  52. package/esm2022/lib/components/ng-scroll-view/utils/index.mjs +6 -0
  53. package/esm2022/lib/components/ng-scroll-view/utils/matrix-3d.mjs +15 -0
  54. package/esm2022/lib/components/ng-scroll-view/utils/scroll-box.mjs +45 -0
  55. package/{esm2020 → esm2022}/lib/components/ng-scroller/enums/index.mjs +2 -2
  56. package/{esm2020 → esm2022}/lib/components/ng-scroller/enums/scroller-direction.mjs +5 -5
  57. package/{esm2020 → esm2022}/lib/components/ng-scroller/enums/scroller-directions.mjs +2 -2
  58. package/esm2022/lib/components/ng-scroller/ng-scroller.component.mjs +525 -0
  59. package/{esm2020 → esm2022}/lib/components/ng-scroller/ng-scroller.module.mjs +22 -22
  60. package/{esm2020 → esm2022}/lib/components/ng-scroller/utils/index.mjs +2 -2
  61. package/esm2022/lib/components/ng-scroller/utils/scroll-box.mjs +52 -0
  62. package/esm2022/lib/const/index.mjs +165 -0
  63. package/esm2022/lib/core/cache-map.mjs +101 -0
  64. package/esm2022/lib/core/const/index.mjs +3 -0
  65. package/esm2022/lib/core/enums/index.mjs +3 -0
  66. package/esm2022/lib/core/enums/item-display-methods.mjs +14 -0
  67. package/esm2022/lib/core/events/index.mjs +3 -0
  68. package/esm2022/lib/core/events/track-box-events.mjs +12 -0
  69. package/esm2022/lib/core/interfaces/get-item-position-options.mjs +2 -0
  70. package/esm2022/lib/core/interfaces/get-metrics-returns.mjs +2 -0
  71. package/esm2022/lib/core/interfaces/index.mjs +2 -0
  72. package/esm2022/lib/core/interfaces/item.mjs +2 -0
  73. package/esm2022/lib/core/interfaces/metrics.mjs +2 -0
  74. package/esm2022/lib/core/interfaces/recalculate-metrics-options.mjs +2 -0
  75. package/esm2022/lib/core/interfaces/update-collection-options.mjs +2 -0
  76. package/esm2022/lib/core/interfaces/update-collection-returns.mjs +2 -0
  77. package/esm2022/lib/core/track-box.mjs +1353 -0
  78. package/esm2022/lib/core/tracker.mjs +207 -0
  79. package/esm2022/lib/core/types/cache-map-events.mjs +2 -0
  80. package/esm2022/lib/core/types/cache-map-listeners.mjs +2 -0
  81. package/esm2022/lib/core/types/cache.mjs +2 -0
  82. package/esm2022/lib/core/types/index.mjs +2 -0
  83. package/esm2022/lib/core/types/on-change-event-listener.mjs +2 -0
  84. package/esm2022/lib/core/types/on-tick-event-listener.mjs +2 -0
  85. package/esm2022/lib/core/utils/get-service-id-prop.mjs +10 -0
  86. package/esm2022/lib/core/utils/index.mjs +3 -0
  87. package/esm2022/lib/directives/index.mjs +4 -0
  88. package/esm2022/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +68 -0
  89. package/{esm2020 → esm2022}/lib/directives/locale-sensitive/locale-sensitive.module.mjs +19 -19
  90. package/esm2022/lib/directives/virtual-click/virtual-click.directive.mjs +67 -0
  91. package/esm2022/lib/directives/virtual-click/virtual-click.module.mjs +19 -0
  92. package/esm2022/lib/enums/alignments.mjs +12 -0
  93. package/esm2022/lib/enums/collapsing-modes.mjs +22 -0
  94. package/{esm2020 → esm2022}/lib/enums/collection-modes.mjs +17 -17
  95. package/{esm2020 → esm2022}/lib/enums/directions.mjs +17 -17
  96. package/{esm2020 → esm2022}/lib/enums/focus-alignments.mjs +13 -13
  97. package/esm2022/lib/enums/index.mjs +12 -0
  98. package/esm2022/lib/enums/selecting-modes-types.mjs +22 -0
  99. package/esm2022/lib/enums/selecting-modes.mjs +22 -0
  100. package/esm2022/lib/enums/snap-to-item-aligns.mjs +22 -0
  101. package/{esm2020 → esm2022}/lib/enums/snapping-methods.mjs +17 -17
  102. package/esm2022/lib/enums/spreading-modes.mjs +18 -0
  103. package/{esm2020 → esm2022}/lib/enums/text-directions.mjs +13 -13
  104. package/{esm2020 → esm2022}/lib/interfaces/animation-params.mjs +2 -2
  105. package/esm2022/lib/interfaces/base-virtual-list-item-component.mjs +2 -0
  106. package/esm2022/lib/interfaces/index.mjs +2 -0
  107. package/esm2022/lib/interfaces/item-transformation.mjs +2 -0
  108. package/esm2022/lib/interfaces/point.mjs +2 -0
  109. package/{esm2020 → esm2022}/lib/interfaces/rect.mjs +1 -1
  110. package/{esm2020 → esm2022}/lib/interfaces/render-stabilizer-options.mjs +1 -1
  111. package/{esm2020 → esm2022}/lib/interfaces/scroll-event.mjs +1 -1
  112. package/{esm2020 → esm2022}/lib/interfaces/scroll-options.mjs +2 -2
  113. package/esm2022/lib/interfaces/scroll-params.mjs +2 -0
  114. package/{esm2020 → esm2022}/lib/interfaces/scroll-to-params.mjs +1 -1
  115. package/{esm2020 → esm2022}/lib/interfaces/scrolling-settings.mjs +1 -1
  116. package/{esm2020 → esm2022}/lib/interfaces/size.mjs +1 -1
  117. package/{esm2020 → esm2022}/lib/models/collection.model.mjs +2 -2
  118. package/{esm2020 → esm2022}/lib/models/component.model.mjs +1 -1
  119. package/{esm2020 → esm2022}/lib/models/display-object-config.model.mjs +1 -1
  120. package/{esm2020 → esm2022}/lib/models/display-object-measures.model.mjs +1 -1
  121. package/{esm2020 → esm2022}/lib/models/index.mjs +1 -1
  122. package/{esm2020 → esm2022}/lib/models/item-config-map.model.mjs +2 -2
  123. package/{esm2020 → esm2022}/lib/models/item.model.mjs +2 -2
  124. package/{esm2020 → esm2022}/lib/models/render-collection.model.mjs +2 -2
  125. package/esm2022/lib/models/render-item-config.model.mjs +2 -0
  126. package/esm2022/lib/models/render-item-measures.model.mjs +3 -0
  127. package/{esm2020 → esm2022}/lib/models/render-item.model.mjs +2 -2
  128. package/esm2022/lib/ng-virtual-list-public.service.mjs +120 -0
  129. package/esm2022/lib/ng-virtual-list.component.mjs +3246 -0
  130. package/{esm2020 → esm2022}/lib/ng-virtual-list.module.mjs +23 -23
  131. package/esm2022/lib/ng-virtual-list.service.mjs +431 -0
  132. package/esm2022/lib/transformations/deck-of-cards-3d.mjs +57 -0
  133. package/esm2022/lib/transformations/deck-of-cards.mjs +54 -0
  134. package/esm2022/lib/transformations/event-horizon.mjs +47 -0
  135. package/esm2022/lib/transformations/index.mjs +13 -0
  136. package/esm2022/lib/transformations/linear.mjs +47 -0
  137. package/esm2022/lib/transformations/swipe-3d.mjs +51 -0
  138. package/esm2022/lib/types/alignment.mjs +2 -0
  139. package/esm2022/lib/types/arithmetic-expression.mjs +2 -0
  140. package/esm2022/lib/types/collapsing-mode.mjs +2 -0
  141. package/esm2022/lib/types/collection-mode.mjs +2 -0
  142. package/esm2022/lib/types/color.mjs +2 -0
  143. package/esm2022/lib/types/direction.mjs +2 -0
  144. package/esm2022/lib/types/float-or-persentage-value.mjs +2 -0
  145. package/{esm2020 → esm2022}/lib/types/focus-alignment.mjs +1 -1
  146. package/{esm2020 → esm2022}/lib/types/focus-item-params.mjs +2 -2
  147. package/{esm2020 → esm2022}/lib/types/gradient-color-position.mjs +2 -2
  148. package/{esm2020 → esm2022}/lib/types/gradient-color-positions.mjs +1 -1
  149. package/{esm2020 → esm2022}/lib/types/id.mjs +1 -1
  150. package/esm2022/lib/types/index.mjs +2 -0
  151. package/esm2022/lib/types/item-transform.mjs +2 -0
  152. package/{esm2020 → esm2022}/lib/types/scroll-direction.mjs +2 -2
  153. package/esm2022/lib/types/selecting-mode.mjs +2 -0
  154. package/esm2022/lib/types/snap-to-item-align.mjs +2 -0
  155. package/esm2022/lib/types/snapping-distance.mjs +2 -0
  156. package/esm2022/lib/types/snapping-method.mjs +2 -0
  157. package/esm2022/lib/types/spreading-mode.mjs +2 -0
  158. package/esm2022/lib/types/text-direction.mjs +2 -0
  159. package/esm2022/lib/utils/animator/animator.mjs +78 -0
  160. package/esm2022/lib/utils/animator/const/index.mjs +2 -0
  161. package/esm2022/lib/utils/animator/ease.mjs +7 -0
  162. package/esm2022/lib/utils/animator/index.mjs +5 -0
  163. package/esm2022/lib/utils/animator/interfaces/animator-params.mjs +2 -0
  164. package/esm2022/lib/utils/animator/interfaces/animator-update-data.mjs +2 -0
  165. package/esm2022/lib/utils/animator/interfaces/index.mjs +2 -0
  166. package/esm2022/lib/utils/animator/types/easing.mjs +2 -0
  167. package/{esm2020 → esm2022}/lib/utils/animator/types/index.mjs +1 -1
  168. package/esm2022/lib/utils/buffer-interpolation.mjs +29 -0
  169. package/esm2022/lib/utils/cmap.mjs +34 -0
  170. package/esm2022/lib/utils/debounce.mjs +61 -0
  171. package/esm2022/lib/utils/disposable-component.mjs +27 -0
  172. package/esm2022/lib/utils/event-emitter/event-emitter.mjs +105 -0
  173. package/{esm2020 → esm2022}/lib/utils/event-emitter/index.mjs +2 -2
  174. package/{esm2020 → esm2022}/lib/utils/event-emitter/interfaces/event-emitter.mjs +1 -1
  175. package/{esm2020 → esm2022}/lib/utils/event-emitter/interfaces/index.mjs +1 -1
  176. package/esm2022/lib/utils/get-scroll-state-version.mjs +12 -0
  177. package/{esm2020 → esm2022}/lib/utils/get-selector-by-item-id.mjs +4 -4
  178. package/{esm2020 → esm2022}/lib/utils/index.mjs +4 -4
  179. package/esm2022/lib/utils/is-collapse-mode.mjs +18 -0
  180. package/esm2022/lib/utils/is-collection-mode.mjs +15 -0
  181. package/esm2022/lib/utils/is-direction.mjs +15 -0
  182. package/esm2022/lib/utils/is-persentage-value.mjs +14 -0
  183. package/esm2022/lib/utils/is-select-mode.mjs +18 -0
  184. package/esm2022/lib/utils/is-spreading-mode.mjs +15 -0
  185. package/esm2022/lib/utils/list-validators.mjs +27 -0
  186. package/esm2022/lib/utils/normalize-collection.mjs +42 -0
  187. package/esm2022/lib/utils/object.mjs +28 -0
  188. package/esm2022/lib/utils/parse-arithmetic-expression.mjs +53 -0
  189. package/esm2022/lib/utils/parse-float-or-persentage-value.mjs +17 -0
  190. package/esm2022/lib/utils/screen-reader-formatter.mjs +43 -0
  191. package/esm2022/lib/utils/scroll-event.mjs +48 -0
  192. package/esm2022/lib/utils/scrolling-direction.mjs +29 -0
  193. package/esm2022/lib/utils/snapping-method.mjs +9 -0
  194. package/esm2022/lib/utils/toggle-class-name.mjs +15 -0
  195. package/{esm2020 → esm2022}/lib/utils/validation.mjs +55 -55
  196. package/{esm2020 → esm2022}/ng-virtual-list.mjs +4 -4
  197. package/esm2022/public-api.mjs +20 -0
  198. package/fesm2022/ng-virtual-list.mjs +10669 -0
  199. package/fesm2022/ng-virtual-list.mjs.map +1 -0
  200. package/index.d.ts +5 -5
  201. package/lib/components/ng-list-item/base/base-virtual-list-item-component.d.ts +83 -68
  202. package/lib/components/ng-list-item/base/index.d.ts +2 -2
  203. package/lib/components/ng-list-item/const/index.d.ts +3 -3
  204. package/lib/components/ng-list-item/interfaces/index.d.ts +2 -2
  205. package/lib/components/ng-list-item/interfaces/template-context.d.ts +42 -42
  206. package/lib/components/ng-list-item/ng-virtual-list-item.component.d.ts +30 -30
  207. package/lib/components/ng-list-item/ng-virtual-list-item.module.d.ts +9 -9
  208. package/lib/components/ng-list-item/utils/create-display-id.d.ts +7 -1
  209. package/lib/components/ng-list-item/utils/get-element-by-index.d.ts +15 -1
  210. package/lib/components/ng-list-item/utils/index.d.ts +4 -3
  211. package/lib/components/ng-list-item/utils/matrix-3d.d.ts +7 -0
  212. package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.d.ts +104 -100
  213. package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.d.ts +10 -10
  214. package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.d.ts +17 -17
  215. package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.d.ts +9 -9
  216. package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.d.ts +62 -62
  217. package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.d.ts +9 -9
  218. package/lib/components/ng-prerender-container/core/index.d.ts +2 -2
  219. package/lib/components/ng-prerender-container/core/prerender-track-box.d.ts +35 -35
  220. package/lib/components/ng-prerender-container/events/index.d.ts +6 -6
  221. package/lib/components/ng-prerender-container/interfaces/index.d.ts +2 -2
  222. package/lib/components/ng-prerender-container/interfaces/refresh-params.d.ts +17 -16
  223. package/lib/components/ng-prerender-container/ng-prerender-container.component.d.ts +40 -39
  224. package/lib/components/ng-prerender-container/ng-prerender-container.module.d.ts +9 -9
  225. package/lib/components/ng-prerender-container/types/cache.d.ts +13 -13
  226. package/lib/components/ng-prerender-container/types/index.d.ts +2 -2
  227. package/lib/components/ng-scroll-bar/const/index.d.ts +3 -3
  228. package/lib/components/ng-scroll-bar/enums/index.d.ts +2 -2
  229. package/lib/components/ng-scroll-bar/enums/scrollbar-states.d.ts +5 -5
  230. package/lib/components/ng-scroll-bar/interfaces/index.d.ts +3 -3
  231. package/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.d.ts +26 -26
  232. package/lib/components/ng-scroll-bar/interfaces/scrollbar-drag-data.d.ts +13 -13
  233. package/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.d.ts +16 -16
  234. package/lib/components/ng-scroll-bar/ng-scroll-bar.component.d.ts +102 -97
  235. package/lib/components/ng-scroll-bar/ng-scroll-bar.module.d.ts +8 -8
  236. package/lib/components/ng-scroll-bar/ng-scroll-bar.service.d.ts +22 -22
  237. package/lib/components/ng-scroll-bar/types/index.d.ts +2 -2
  238. package/lib/components/ng-scroll-bar/types/scrollbar-state.d.ts +2 -2
  239. package/lib/components/ng-scroll-view/base/base-scroll-view.component.d.ts +89 -69
  240. package/lib/components/ng-scroll-view/const/index.d.ts +7 -5
  241. package/lib/components/ng-scroll-view/enums/index.d.ts +4 -4
  242. package/lib/components/ng-scroll-view/enums/scroller-direction.d.ts +10 -10
  243. package/lib/components/ng-scroll-view/enums/scroller-directions.d.ts +8 -8
  244. package/lib/components/ng-scroll-view/index.d.ts +5 -5
  245. package/lib/components/ng-scroll-view/interfaces/index.d.ts +2 -2
  246. package/lib/components/ng-scroll-view/interfaces/scroll-to-params.d.ts +22 -19
  247. package/lib/components/ng-scroll-view/ng-scroll-view.component.d.ts +124 -66
  248. package/lib/components/ng-scroll-view/utils/calculate-direction.d.ts +7 -4
  249. package/lib/components/ng-scroll-view/utils/calculate-velocity.d.ts +7 -0
  250. package/lib/components/ng-scroll-view/utils/get-dir.d.ts +7 -0
  251. package/lib/components/ng-scroll-view/utils/index.d.ts +5 -3
  252. package/lib/components/ng-scroll-view/utils/matrix-3d.d.ts +7 -0
  253. package/lib/components/ng-scroll-view/utils/scroll-box.d.ts +39 -39
  254. package/lib/components/ng-scroller/enums/index.d.ts +4 -4
  255. package/lib/components/ng-scroller/enums/scroller-direction.d.ts +4 -4
  256. package/lib/components/ng-scroller/enums/scroller-directions.d.ts +3 -2
  257. package/lib/components/ng-scroller/ng-scroller.component.d.ts +164 -150
  258. package/lib/components/ng-scroller/ng-scroller.module.d.ts +11 -11
  259. package/lib/components/ng-scroller/utils/index.d.ts +2 -2
  260. package/lib/components/ng-scroller/utils/scroll-box.d.ts +40 -40
  261. package/lib/const/index.d.ts +153 -112
  262. package/lib/core/cache-map.d.ts +46 -56
  263. package/lib/core/const/index.d.ts +1 -0
  264. package/lib/core/enums/index.d.ts +2 -0
  265. package/lib/core/enums/item-display-methods.d.ts +12 -0
  266. package/lib/core/events/index.d.ts +2 -0
  267. package/lib/core/events/track-box-events.d.ts +10 -0
  268. package/lib/core/interfaces/get-item-position-options.d.ts +10 -0
  269. package/lib/core/interfaces/get-metrics-returns.d.ts +11 -0
  270. package/lib/core/interfaces/index.d.ts +8 -0
  271. package/lib/core/interfaces/item.d.ts +9 -0
  272. package/lib/core/interfaces/metrics.d.ts +51 -0
  273. package/lib/core/interfaces/recalculate-metrics-options.d.ts +32 -0
  274. package/lib/core/interfaces/update-collection-options.d.ts +10 -0
  275. package/lib/core/interfaces/update-collection-returns.d.ts +14 -0
  276. package/lib/core/track-box.d.ts +153 -223
  277. package/lib/core/tracker.d.ts +55 -55
  278. package/lib/core/types/cache-map-events.d.ts +8 -0
  279. package/lib/core/types/cache-map-listeners.d.ts +9 -0
  280. package/lib/core/types/cache.d.ts +12 -0
  281. package/lib/core/types/index.d.ts +6 -0
  282. package/lib/core/types/on-change-event-listener.d.ts +7 -0
  283. package/lib/core/types/on-tick-event-listener.d.ts +7 -0
  284. package/lib/core/utils/get-service-id-prop.d.ts +7 -0
  285. package/lib/core/utils/index.d.ts +2 -0
  286. package/lib/directives/index.d.ts +3 -3
  287. package/lib/directives/locale-sensitive/locale-sensitive.directive.d.ts +29 -29
  288. package/lib/directives/locale-sensitive/locale-sensitive.module.d.ts +8 -8
  289. package/lib/directives/{item-click/item-click.directive.d.ts → virtual-click/virtual-click.directive.d.ts} +22 -22
  290. package/lib/directives/virtual-click/virtual-click.module.d.ts +8 -0
  291. package/lib/enums/alignments.d.ts +10 -0
  292. package/lib/enums/collapsing-modes.d.ts +20 -0
  293. package/lib/enums/collection-modes.d.ts +16 -16
  294. package/lib/enums/directions.d.ts +16 -16
  295. package/lib/enums/focus-alignments.d.ts +12 -12
  296. package/lib/enums/index.d.ts +11 -13
  297. package/lib/enums/{method-for-selecting-types.d.ts → selecting-modes-types.d.ts} +20 -20
  298. package/lib/enums/{methods-for-selecting.d.ts → selecting-modes.d.ts} +20 -20
  299. package/lib/enums/snap-to-item-aligns.d.ts +20 -0
  300. package/lib/enums/snapping-methods.d.ts +16 -16
  301. package/lib/enums/spreading-modes.d.ts +16 -0
  302. package/lib/enums/text-directions.d.ts +12 -12
  303. package/lib/interfaces/animation-params.d.ts +14 -13
  304. package/lib/interfaces/base-virtual-list-item-component.d.ts +23 -23
  305. package/lib/interfaces/index.d.ts +11 -10
  306. package/lib/interfaces/item-transformation.d.ts +22 -0
  307. package/lib/interfaces/point.d.ts +16 -0
  308. package/lib/interfaces/rect.d.ts +17 -17
  309. package/lib/interfaces/render-stabilizer-options.d.ts +12 -12
  310. package/lib/interfaces/scroll-event.d.ts +58 -58
  311. package/lib/interfaces/scroll-options.d.ts +28 -24
  312. package/lib/interfaces/scroll-params.d.ts +17 -16
  313. package/lib/interfaces/scroll-to-params.d.ts +7 -7
  314. package/lib/interfaces/scrolling-settings.d.ts +38 -38
  315. package/lib/interfaces/size.d.ts +16 -16
  316. package/lib/models/collection.model.d.ts +9 -9
  317. package/lib/models/component.model.d.ts +3 -3
  318. package/lib/models/display-object-config.model.d.ts +21 -21
  319. package/lib/models/display-object-measures.model.d.ts +45 -45
  320. package/lib/models/index.d.ts +9 -9
  321. package/lib/models/item-config-map.model.d.ts +35 -30
  322. package/lib/models/item.model.d.ts +17 -10
  323. package/lib/models/render-collection.model.d.ts +9 -9
  324. package/lib/models/render-item-config.model.d.ts +119 -69
  325. package/lib/models/render-item-measures.model.d.ts +116 -45
  326. package/lib/models/render-item.model.d.ts +40 -40
  327. package/lib/ng-virtual-list-public.service.d.ts +92 -93
  328. package/lib/ng-virtual-list.component.d.ts +770 -572
  329. package/lib/ng-virtual-list.module.d.ts +12 -12
  330. package/lib/ng-virtual-list.service.d.ts +153 -135
  331. package/lib/transformations/deck-of-cards-3d.d.ts +54 -0
  332. package/lib/transformations/deck-of-cards.d.ts +50 -0
  333. package/lib/transformations/event-horizon.d.ts +26 -0
  334. package/lib/transformations/index.d.ts +7 -0
  335. package/lib/transformations/linear.d.ts +26 -0
  336. package/lib/transformations/swipe-3d.d.ts +38 -0
  337. package/lib/types/alignment.d.ts +8 -0
  338. package/lib/types/arithmetic-expression.d.ts +10 -0
  339. package/lib/types/collapsing-mode.d.ts +8 -0
  340. package/lib/{enums → types}/collection-mode.d.ts +8 -8
  341. package/lib/types/color.d.ts +4 -0
  342. package/lib/{enums → types}/direction.d.ts +8 -8
  343. package/lib/types/float-or-persentage-value.d.ts +7 -0
  344. package/lib/types/focus-alignment.d.ts +8 -8
  345. package/lib/types/focus-item-params.d.ts +13 -7
  346. package/lib/types/gradient-color-position.d.ts +7 -7
  347. package/lib/types/gradient-color-positions.d.ts +8 -8
  348. package/lib/types/id.d.ts +7 -7
  349. package/lib/types/index.d.ts +20 -6
  350. package/lib/types/item-transform.d.ts +9 -0
  351. package/lib/types/scroll-direction.d.ts +8 -6
  352. package/lib/types/selecting-mode.d.ts +8 -0
  353. package/lib/types/snap-to-item-align.d.ts +8 -0
  354. package/lib/types/snapping-distance.d.ts +8 -0
  355. package/lib/{enums → types}/snapping-method.d.ts +10 -10
  356. package/lib/types/spreading-mode.d.ts +8 -0
  357. package/lib/{enums → types}/text-direction.d.ts +10 -10
  358. package/lib/utils/animator/animator.d.ts +16 -23
  359. package/lib/utils/animator/const/index.d.ts +1 -0
  360. package/lib/utils/animator/ease.d.ts +2 -14
  361. package/lib/utils/animator/index.d.ts +6 -5
  362. package/lib/utils/animator/interfaces/animator-params.d.ts +18 -0
  363. package/lib/utils/animator/interfaces/animator-update-data.d.ts +13 -0
  364. package/lib/utils/animator/interfaces/index.d.ts +3 -0
  365. package/lib/utils/animator/types/easing.d.ts +7 -7
  366. package/lib/utils/animator/types/index.d.ts +2 -2
  367. package/lib/utils/buffer-interpolation.d.ts +5 -5
  368. package/lib/utils/cmap.d.ts +16 -16
  369. package/lib/utils/debounce.d.ts +25 -25
  370. package/lib/utils/disposable-component.d.ts +15 -15
  371. package/lib/utils/event-emitter/event-emitter.d.ts +42 -42
  372. package/lib/utils/event-emitter/index.d.ts +4 -4
  373. package/lib/utils/event-emitter/interfaces/event-emitter.d.ts +37 -37
  374. package/lib/utils/event-emitter/interfaces/index.d.ts +2 -2
  375. package/lib/utils/get-scroll-state-version.d.ts +1 -0
  376. package/lib/utils/get-selector-by-item-id.d.ts +2 -2
  377. package/lib/utils/index.d.ts +6 -6
  378. package/lib/utils/is-collapse-mode.d.ts +8 -0
  379. package/lib/utils/is-collection-mode.d.ts +8 -8
  380. package/lib/utils/is-direction.d.ts +8 -8
  381. package/lib/utils/is-persentage-value.d.ts +7 -0
  382. package/lib/utils/is-select-mode.d.ts +8 -0
  383. package/lib/utils/is-spreading-mode.d.ts +8 -0
  384. package/lib/utils/list-validators.d.ts +2 -2
  385. package/lib/utils/normalize-collection.d.ts +8 -0
  386. package/lib/utils/object.d.ts +4 -4
  387. package/lib/utils/parse-arithmetic-expression.d.ts +8 -0
  388. package/lib/utils/parse-float-or-persentage-value.d.ts +7 -0
  389. package/lib/utils/screen-reader-formatter.d.ts +4 -7
  390. package/lib/utils/scroll-event.d.ts +48 -48
  391. package/lib/utils/scrolling-direction.d.ts +17 -0
  392. package/lib/utils/snapping-method.d.ts +3 -3
  393. package/lib/utils/toggle-class-name.d.ts +7 -7
  394. package/lib/utils/validation.d.ts +35 -35
  395. package/package.json +5 -11
  396. package/public-api.d.ts +16 -13
  397. package/esm2020/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +0 -209
  398. package/esm2020/lib/components/ng-list-item/const/index.mjs +0 -30
  399. package/esm2020/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +0 -207
  400. package/esm2020/lib/components/ng-list-item/ng-virtual-list-item.module.mjs +0 -20
  401. package/esm2020/lib/components/ng-list-item/utils/create-display-id.mjs +0 -4
  402. package/esm2020/lib/components/ng-list-item/utils/get-element-by-index.mjs +0 -6
  403. package/esm2020/lib/components/ng-list-item/utils/index.mjs +0 -4
  404. package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +0 -268
  405. package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +0 -78
  406. package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.mjs +0 -20
  407. package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +0 -139
  408. package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.mjs +0 -20
  409. package/esm2020/lib/components/ng-prerender-container/core/prerender-track-box.mjs +0 -171
  410. package/esm2020/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +0 -89
  411. package/esm2020/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.mjs +0 -27
  412. package/esm2020/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +0 -282
  413. package/esm2020/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +0 -173
  414. package/esm2020/lib/components/ng-scroll-view/const/index.mjs +0 -7
  415. package/esm2020/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +0 -376
  416. package/esm2020/lib/components/ng-scroll-view/utils/calculate-direction.mjs +0 -11
  417. package/esm2020/lib/components/ng-scroll-view/utils/index.mjs +0 -4
  418. package/esm2020/lib/components/ng-scroll-view/utils/scroll-box.mjs +0 -45
  419. package/esm2020/lib/components/ng-scroller/const/index.mjs +0 -2
  420. package/esm2020/lib/components/ng-scroller/ng-scroller.component.mjs +0 -448
  421. package/esm2020/lib/components/ng-scroller/utils/scroll-box.mjs +0 -52
  422. package/esm2020/lib/const/index.mjs +0 -125
  423. package/esm2020/lib/core/cache-map.mjs +0 -153
  424. package/esm2020/lib/core/track-box.mjs +0 -937
  425. package/esm2020/lib/core/tracker.mjs +0 -200
  426. package/esm2020/lib/directives/index.mjs +0 -4
  427. package/esm2020/lib/directives/item-click/item-click.directive.mjs +0 -65
  428. package/esm2020/lib/directives/item-click/item-click.module.mjs +0 -19
  429. package/esm2020/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +0 -66
  430. package/esm2020/lib/enums/collection-mode.mjs +0 -2
  431. package/esm2020/lib/enums/direction.mjs +0 -2
  432. package/esm2020/lib/enums/index.mjs +0 -8
  433. package/esm2020/lib/enums/method-for-selecting-types.mjs +0 -22
  434. package/esm2020/lib/enums/method-for-selecting.mjs +0 -2
  435. package/esm2020/lib/enums/methods-for-selecting.mjs +0 -22
  436. package/esm2020/lib/enums/snapping-method.mjs +0 -2
  437. package/esm2020/lib/enums/text-direction.mjs +0 -2
  438. package/esm2020/lib/interfaces/base-virtual-list-item-component.mjs +0 -9
  439. package/esm2020/lib/interfaces/index.mjs +0 -2
  440. package/esm2020/lib/interfaces/scroll-params.mjs +0 -2
  441. package/esm2020/lib/models/render-item-config.model.mjs +0 -2
  442. package/esm2020/lib/models/render-item-measures.model.mjs +0 -3
  443. package/esm2020/lib/ng-virtual-list-public.service.mjs +0 -123
  444. package/esm2020/lib/ng-virtual-list.component.mjs +0 -2535
  445. package/esm2020/lib/ng-virtual-list.service.mjs +0 -375
  446. package/esm2020/lib/types/index.mjs +0 -2
  447. package/esm2020/lib/utils/animator/animator.mjs +0 -60
  448. package/esm2020/lib/utils/animator/ease.mjs +0 -19
  449. package/esm2020/lib/utils/animator/index.mjs +0 -4
  450. package/esm2020/lib/utils/animator/types/easing.mjs +0 -2
  451. package/esm2020/lib/utils/buffer-interpolation.mjs +0 -29
  452. package/esm2020/lib/utils/cmap.mjs +0 -34
  453. package/esm2020/lib/utils/debounce.mjs +0 -61
  454. package/esm2020/lib/utils/disposable-component.mjs +0 -29
  455. package/esm2020/lib/utils/event-emitter/event-emitter.mjs +0 -106
  456. package/esm2020/lib/utils/is-collection-mode.mjs +0 -15
  457. package/esm2020/lib/utils/is-direction.mjs +0 -15
  458. package/esm2020/lib/utils/is-method-for-selecting.mjs +0 -18
  459. package/esm2020/lib/utils/list-validators.mjs +0 -27
  460. package/esm2020/lib/utils/object.mjs +0 -28
  461. package/esm2020/lib/utils/screen-reader-formatter.mjs +0 -43
  462. package/esm2020/lib/utils/scroll-event.mjs +0 -46
  463. package/esm2020/lib/utils/snapping-method.mjs +0 -9
  464. package/esm2020/lib/utils/toggle-class-name.mjs +0 -15
  465. package/esm2020/public-api.mjs +0 -17
  466. package/fesm2015/ng-virtual-list.mjs +0 -8048
  467. package/fesm2015/ng-virtual-list.mjs.map +0 -1
  468. package/fesm2020/ng-virtual-list.mjs +0 -8011
  469. package/fesm2020/ng-virtual-list.mjs.map +0 -1
  470. package/lib/components/ng-scroller/const/index.d.ts +0 -1
  471. package/lib/directives/item-click/item-click.module.d.ts +0 -8
  472. package/lib/enums/method-for-selecting.d.ts +0 -8
  473. package/lib/utils/is-method-for-selecting.d.ts +0 -8
@@ -1,139 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
2
- import { BehaviorSubject, combineLatest, from, takeUntil, tap } from 'rxjs';
3
- import { TextDirections } from '../../../../enums';
4
- import { BaseScrollView } from '../../../ng-scroll-view/base/base-scroll-view.component';
5
- import { SCROLL_VIEW_INVERSION } from '../../../ng-scroll-view';
6
- import { BEHAVIOR_INSTANT, DEFAULT_SCROLLBAR_ENABLED, LEFT_PROP_NAME, TOP_PROP_NAME } from '../../../../const';
7
- import { NgScrollBarComponent } from '../../../ng-scroll-bar/ng-scroll-bar.component';
8
- import { ScrollBox } from '../../../ng-scroller/utils';
9
- import { SCROLL_VIEW_NORMALIZE_VALUE_FROM_ZERO } from '../../../ng-scroll-view/const';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/common";
12
- import * as i2 from "../../../../directives/locale-sensitive/locale-sensitive.directive";
13
- /**
14
- * NgPrerenderScrollerComponent.
15
- * Maximum performance for extremely large lists.
16
- * It is based on algorithms for virtualization of screen objects.
17
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-prerender-container/ng-prerender-scroller/ng-prerender-scroller.component.ts
18
- * @author Evgenii Alexandrovich Grebennikov
19
- * @email djonnyx@gmail.com
20
- */
21
- export class NgPrerenderScrollerComponent extends BaseScrollView {
22
- constructor() {
23
- super();
24
- this._$langTextDir = new BehaviorSubject(TextDirections.LTR);
25
- this.$langTextDir = this._$langTextDir.asObservable();
26
- this._$scrollbarEnabled = new BehaviorSubject(DEFAULT_SCROLLBAR_ENABLED);
27
- this.$scrollbarEnabled = this._$scrollbarEnabled.asObservable();
28
- this._$classes = new BehaviorSubject({});
29
- this.$classes = this._$classes.asObservable();
30
- this._$actualClasses = new BehaviorSubject({});
31
- this.$actualClasses = this._$actualClasses.asObservable();
32
- this._$containerClasses = new BehaviorSubject({});
33
- this.$containerClasses = this._$containerClasses.asObservable();
34
- this._$thumbSize = new BehaviorSubject(0);
35
- this.$thumbSize = this._$thumbSize.asObservable();
36
- this._$scrollbarShow = new BehaviorSubject(false);
37
- this.$scrollbarShow = this._$scrollbarShow.asObservable();
38
- this._scrollBox = new ScrollBox();
39
- const $classes = this.$classes, $direction = this.$direction;
40
- combineLatest(([$classes, $direction])).pipe(takeUntil(this._$unsubscribe), tap(([classes, direction]) => {
41
- this._$actualClasses.next({ ...classes, [direction]: true });
42
- })).subscribe();
43
- const $contentBounds = this.$contentBounds, $viewportBounds = this.$viewportBounds, $isVertical = this.$isVertical, $scrollbarEnabled = this.$scrollbarEnabled;
44
- combineLatest([$direction, $scrollbarEnabled, $isVertical, $contentBounds, $viewportBounds]).pipe(takeUntil(this._$unsubscribe), tap(([direction, scrollbarEnabled]) => {
45
- this._$containerClasses.next({ [direction]: true, enabled: scrollbarEnabled, scrollable: scrollbarEnabled });
46
- })).subscribe();
47
- const $startOffset = this.$startOffset, $endOffset = this.$endOffset, $thumbSize = this.$thumbSize;
48
- from([$endOffset, $startOffset, $thumbSize, $isVertical]).pipe(takeUntil(this._$unsubscribe), tap(() => {
49
- this.updateScrollBar();
50
- })).subscribe();
51
- const $updateScrollBar = this.$updateScrollBar;
52
- $updateScrollBar.pipe(takeUntil(this._$unsubscribe), tap(() => {
53
- this.updateScrollBarHandler(true);
54
- })).subscribe();
55
- }
56
- set scrollbarEnabled(v) {
57
- if (this._$scrollbarEnabled.getValue() !== v) {
58
- this._$scrollbarEnabled.next(v);
59
- }
60
- }
61
- get scrollbarEnabled() { return this._$scrollbarEnabled.getValue(); }
62
- set classes(v) {
63
- if (this._$classes.getValue() !== v) {
64
- this._$classes.next(v);
65
- }
66
- }
67
- get classes() { return this._$classes.getValue(); }
68
- set x(v) {
69
- if (v !== undefined && !Number.isNaN(v)) {
70
- this._x = this._actualX = v;
71
- this.updateScrollBar();
72
- }
73
- }
74
- get x() { return this._x; }
75
- set y(v) {
76
- if (v !== undefined && !Number.isNaN(v)) {
77
- this._y = this._actualY = v;
78
- this.updateScrollBar();
79
- }
80
- }
81
- get y() { return this._y; }
82
- onResizeViewport() {
83
- const viewport = this.scrollViewport?.nativeElement;
84
- if (viewport) {
85
- this._$viewportBounds.next({ width: viewport.offsetWidth, height: viewport.offsetHeight });
86
- this.updateScrollBar();
87
- }
88
- }
89
- onResizeContent() {
90
- const content = this.scrollContent?.nativeElement;
91
- if (content) {
92
- this._$contentBounds.next({ width: content.offsetWidth, height: content.offsetHeight });
93
- this.updateScrollBar();
94
- }
95
- }
96
- updateScrollBarHandler(update = false) {
97
- const direction = this._$direction.getValue(), isVertical = this._$isVertical.getValue(), startOffset = this._$startOffset.getValue(), endOffset = this._$endOffset.getValue(), scrollContent = this.scrollContent?.nativeElement, scrollViewport = this.scrollViewport?.nativeElement, { thumbSize, thumbPosition, } = this._scrollBox.calculateScroll({
98
- direction,
99
- viewportWidth: scrollViewport.offsetWidth, viewportHeight: scrollViewport.offsetHeight,
100
- contentWidth: scrollContent.offsetWidth, contentHeight: scrollContent.offsetHeight,
101
- startOffset,
102
- endOffset,
103
- positionX: this._x,
104
- positionY: this._y,
105
- minSize: 1,
106
- });
107
- this._$thumbSize.next(thumbSize);
108
- if (update) {
109
- this.scrollBar?.scroll({
110
- [isVertical ? TOP_PROP_NAME : LEFT_PROP_NAME]: thumbPosition, fireUpdate: false, behavior: BEHAVIOR_INSTANT,
111
- userAction: false, blending: true,
112
- });
113
- }
114
- this._$scrollbarShow.next(this.scrollable);
115
- }
116
- updateScrollBar() {
117
- this._$updateScrollBar.next();
118
- }
119
- }
120
- NgPrerenderScrollerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderScrollerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
121
- NgPrerenderScrollerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NgPrerenderScrollerComponent, selector: "ng-prerender-scroller", inputs: { scrollbarEnabled: "scrollbarEnabled", classes: "classes" }, providers: [
122
- { provide: SCROLL_VIEW_INVERSION, useValue: false },
123
- { provide: SCROLL_VIEW_NORMALIZE_VALUE_FROM_ZERO, useValue: true },
124
- ], viewQueries: [{ propertyName: "scrollBar", first: true, predicate: ["scrollBar"], descendants: true, read: NgScrollBarComponent }], usesInheritance: true, ngImport: i0, template: "<div localeSensitive [langTextDir]=\"($langTextDir | async)!\" [listDir]=\"($direction | async)\" class=\"ngvl__container\"\r\n [ngClass]=\"($containerClasses | async)!\">\r\n <div #scrollViewport part=\"scroller\" class=\"ngvl__scroller\">\r\n <div #scrollContent part=\"list\" class=\"ngvl__list\" [ngClass]=\"($actualClasses | async)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.ngvl__container{position:relative;overflow:hidden;display:grid;width:100%;height:100%;cursor:grab}.ngvl__container.grabbing{cursor:grabbing}.ngvl__container.horizontal{grid-template-rows:1fr 0;transition:grid-template-rows .1s ease-out}.ngvl__container.horizontal.scrollable.enabled{grid-template-rows:1fr auto}.ngvl__container.horizontal .ngvl__list{display:inline-flex}.ngvl__container.horizontal .ngvl__scroller{overflow:hidden}.ngvl__container.vertical{grid-template-columns:1fr 0;transition:grid-template-columns .1s ease-out}.ngvl__container.vertical.scrollable.enabled{grid-template-columns:1fr auto}.ngvl__container.vertical .ngvl__scroller{overflow:hidden}.ngvl__scroller{display:block;position:relative;overflow:hidden;width:100%;height:100%}.ngvl__list{position:absolute;list-style:none;padding:0;margin:0;width:100%;height:100%;opacity:0}.ngvl__list.prepared{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.LocaleSensitiveDirective, selector: "[localeSensitive]", inputs: ["langTextDir", "listDir"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderScrollerComponent, decorators: [{
126
- type: Component,
127
- args: [{ selector: 'ng-prerender-scroller', providers: [
128
- { provide: SCROLL_VIEW_INVERSION, useValue: false },
129
- { provide: SCROLL_VIEW_NORMALIZE_VALUE_FROM_ZERO, useValue: true },
130
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div localeSensitive [langTextDir]=\"($langTextDir | async)!\" [listDir]=\"($direction | async)\" class=\"ngvl__container\"\r\n [ngClass]=\"($containerClasses | async)!\">\r\n <div #scrollViewport part=\"scroller\" class=\"ngvl__scroller\">\r\n <div #scrollContent part=\"list\" class=\"ngvl__list\" [ngClass]=\"($actualClasses | async)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.ngvl__container{position:relative;overflow:hidden;display:grid;width:100%;height:100%;cursor:grab}.ngvl__container.grabbing{cursor:grabbing}.ngvl__container.horizontal{grid-template-rows:1fr 0;transition:grid-template-rows .1s ease-out}.ngvl__container.horizontal.scrollable.enabled{grid-template-rows:1fr auto}.ngvl__container.horizontal .ngvl__list{display:inline-flex}.ngvl__container.horizontal .ngvl__scroller{overflow:hidden}.ngvl__container.vertical{grid-template-columns:1fr 0;transition:grid-template-columns .1s ease-out}.ngvl__container.vertical.scrollable.enabled{grid-template-columns:1fr auto}.ngvl__container.vertical .ngvl__scroller{overflow:hidden}.ngvl__scroller{display:block;position:relative;overflow:hidden;width:100%;height:100%}.ngvl__list{position:absolute;list-style:none;padding:0;margin:0;width:100%;height:100%;opacity:0}.ngvl__list.prepared{opacity:1}\n"] }]
131
- }], ctorParameters: function () { return []; }, propDecorators: { scrollBar: [{
132
- type: ViewChild,
133
- args: ['scrollBar', { read: NgScrollBarComponent }]
134
- }], scrollbarEnabled: [{
135
- type: Input
136
- }], classes: [{
137
- type: Input
138
- }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcHJlcmVuZGVyLXNjcm9sbGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctcHJlcmVuZGVyLWNvbnRhaW5lci9jb21wb25lbnRzL25nLXByZXJlbmRlci1zY3JvbGxlci9uZy1wcmVyZW5kZXItc2Nyb2xsZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1wcmVyZW5kZXItY29udGFpbmVyL2NvbXBvbmVudHMvbmctcHJlcmVuZGVyLXNjcm9sbGVyL25nLXByZXJlbmRlci1zY3JvbGxlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFpQixjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seURBQXlELENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHlCQUF5QixFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFD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S0FBSyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzNHLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUk7YUFDcEMsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVTLGVBQWU7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7O3lIQTFKUSw0QkFBNEI7NkdBQTVCLDRCQUE0QixzSEFOMUI7UUFDUCxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1FBQ25ELEVBQUUsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7S0FDckUsNkdBSStCLG9CQUFvQixvREM3QnhELHFiQU9NOzJGRHFCTyw0QkFBNEI7a0JBVnhDLFNBQVM7K0JBQ0ksdUJBQXVCLGFBR3RCO3dCQUNQLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7d0JBQ25ELEVBQUUsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7cUJBQ3JFLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzBFQUkvQyxTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFO2dCQVNsRCxnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBV0YsT0FBTztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZyb20sIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRleHREaXJlY3Rpb24sIFRleHREaXJlY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bXMnO1xyXG5pbXBvcnQgeyBCYXNlU2Nyb2xsVmlldyB9IGZyb20gJy4uLy4uLy4uL25nLXNjcm9sbC12aWV3L2Jhc2UvYmFzZS1zY3JvbGwtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTQ1JPTExfVklFV19JTlZFUlNJT04gfSBmcm9tICcuLi8uLi8uLi9uZy1zY3JvbGwtdmlldyc7XHJcbmltcG9ydCB7IEJFSEFWSU9SX0lOU1RBTlQsIERFRkFVTFRfU0NST0xMQkFSX0VOQUJMRUQsIExFRlRfUFJPUF9OQU1FLCBUT1BfUFJPUF9OQU1FIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29uc3QnO1xyXG5pbXBvcnQgeyBOZ1Njcm9sbEJhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL25nLXNjcm9sbC1iYXIvbmctc2Nyb2xsLWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTY3JvbGxCb3ggfSBmcm9tICcuLi8uLi8uLi9uZy1zY3JvbGxlci91dGlscyc7XHJcbmltcG9ydCB7IFNDUk9MTF9WSUVXX05PUk1BTElaRV9WQUxVRV9GUk9NX1pFUk8gfSBmcm9tICcuLi8uLi8uLi9uZy1zY3JvbGwtdmlldy9jb25zdCc7XHJcblxyXG4vKipcclxuICogTmdQcmVyZW5kZXJTY3JvbGxlckNvbXBvbmVudC5cclxuICogTWF4aW11bSBwZXJmb3JtYW5jZSBmb3IgZXh0cmVtZWx5IGxhcmdlIGxpc3RzLlxyXG4gKiBJdCBpcyBiYXNlZCBvbiBhbGdvcml0aG1zIGZvciB2aXJ0dWFsaXphdGlvbiBvZiBzY3JlZW4gb2JqZWN0cy5cclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXByZXJlbmRlci1jb250YWluZXIvbmctcHJlcmVuZGVyLXNjcm9sbGVyL25nLXByZXJlbmRlci1zY3JvbGxlci5jb21wb25lbnQudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbmctcHJlcmVuZGVyLXNjcm9sbGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZy1wcmVyZW5kZXItc2Nyb2xsZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4uLy4uLy4uL25nLXNjcm9sbGVyL25nLXNjcm9sbGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IFNDUk9MTF9WSUVXX0lOVkVSU0lPTiwgdXNlVmFsdWU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBTQ1JPTExfVklFV19OT1JNQUxJWkVfVkFMVUVfRlJPTV9aRVJPLCB1c2VWYWx1ZTogdHJ1ZSB9LFxyXG4gICAgXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdQcmVyZW5kZXJTY3JvbGxlckNvbXBvbmVudCBleHRlbmRzIEJhc2VTY3JvbGxWaWV3IHtcclxuICAgIEBWaWV3Q2hpbGQoJ3Njcm9sbEJhcicsIHsgcmVhZDogTmdTY3JvbGxCYXJDb21wb25lbnQgfSlcclxuICAgIHNjcm9sbEJhcjogTmdTY3JvbGxCYXJDb21wb25lbnQgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kbGFuZ1RleHREaXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRleHREaXJlY3Rpb24+KFRleHREaXJlY3Rpb25zLkxUUik7XHJcbiAgICByZWFkb25seSAkbGFuZ1RleHREaXIgPSB0aGlzLl8kbGFuZ1RleHREaXIuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kc2Nyb2xsYmFyRW5hYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oREVGQVVMVF9TQ1JPTExCQVJfRU5BQkxFRCk7XHJcbiAgICByZWFkb25seSAkc2Nyb2xsYmFyRW5hYmxlZCA9IHRoaXMuXyRzY3JvbGxiYXJFbmFibGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBzY3JvbGxiYXJFbmFibGVkKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAodGhpcy5fJHNjcm9sbGJhckVuYWJsZWQuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kc2Nyb2xsYmFyRW5hYmxlZC5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBzY3JvbGxiYXJFbmFibGVkKCkgeyByZXR1cm4gdGhpcy5fJHNjcm9sbGJhckVuYWJsZWQuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGNsYXNzZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgW2NOYW1lOiBzdHJpbmddOiBib29sZWFuIH0+KHt9KTtcclxuICAgIHJlYWRvbmx5ICRjbGFzc2VzID0gdGhpcy5fJGNsYXNzZXMuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGNsYXNzZXModjogeyBbY05hbWU6IHN0cmluZ106IGJvb2xlYW4gfSkge1xyXG4gICAgICAgIGlmICh0aGlzLl8kY2xhc3Nlcy5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRjbGFzc2VzLm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGNsYXNzZXMoKSB7IHJldHVybiB0aGlzLl8kY2xhc3Nlcy5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kYWN0dWFsQ2xhc3NlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBbY05hbWU6IHN0cmluZ106IGJvb2xlYW4gfT4oe30pO1xyXG4gICAgcmVhZG9ubHkgJGFjdHVhbENsYXNzZXMgPSB0aGlzLl8kYWN0dWFsQ2xhc3Nlcy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRjb250YWluZXJDbGFzc2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IFtjTmFtZTogc3RyaW5nXTogYm9vbGVhbiB9Pih7fSk7XHJcbiAgICByZWFkb25seSAkY29udGFpbmVyQ2xhc3NlcyA9IHRoaXMuXyRjb250YWluZXJDbGFzc2VzLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByb3RlY3RlZCBfJHRodW1iU2l6ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcclxuICAgIHJlYWRvbmx5ICR0aHVtYlNpemUgPSB0aGlzLl8kdGh1bWJTaXplLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByb3RlY3RlZCBfJHNjcm9sbGJhclNob3cgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHJlYWRvbmx5ICRzY3JvbGxiYXJTaG93ID0gdGhpcy5fJHNjcm9sbGJhclNob3cuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgb3ZlcnJpZGUgc2V0IHgodjogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHYgIT09IHVuZGVmaW5lZCAmJiAhTnVtYmVyLmlzTmFOKHYpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ggPSB0aGlzLl9hY3R1YWxYID0gdjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2Nyb2xsQmFyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgZ2V0IHgoKSB7IHJldHVybiB0aGlzLl94OyB9XHJcblxyXG4gICAgb3ZlcnJpZGUgc2V0IHkodjogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHYgIT09IHVuZGVmaW5lZCAmJiAhTnVtYmVyLmlzTmFOKHYpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3kgPSB0aGlzLl9hY3R1YWxZID0gdjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2Nyb2xsQmFyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgZ2V0IHkoKSB7IHJldHVybiB0aGlzLl95OyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uUmVzaXplVmlld3BvcnQoKSB7XHJcbiAgICAgICAgY29uc3Qgdmlld3BvcnQgPSB0aGlzLnNjcm9sbFZpZXdwb3J0Py5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGlmICh2aWV3cG9ydCkge1xyXG4gICAgICAgICAgICB0aGlzLl8kdmlld3BvcnRCb3VuZHMubmV4dCh7IHdpZHRoOiB2aWV3cG9ydC5vZmZzZXRXaWR0aCwgaGVpZ2h0OiB2aWV3cG9ydC5vZmZzZXRIZWlnaHQgfSk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2Nyb2xsQmFyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBvblJlc2l6ZUNvbnRlbnQoKSB7XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuc2Nyb2xsQ29udGVudD8ubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBpZiAoY29udGVudCkge1xyXG4gICAgICAgICAgICB0aGlzLl8kY29udGVudEJvdW5kcy5uZXh0KHsgd2lkdGg6IGNvbnRlbnQub2Zmc2V0V2lkdGgsIGhlaWdodDogY29udGVudC5vZmZzZXRIZWlnaHQgfSk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2Nyb2xsQmFyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Njcm9sbEJveCA9IG5ldyBTY3JvbGxCb3goKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG5cclxuICAgICAgICBjb25zdCAkY2xhc3NlcyA9IHRoaXMuJGNsYXNzZXMsXHJcbiAgICAgICAgICAgICRkaXJlY3Rpb24gPSB0aGlzLiRkaXJlY3Rpb247XHJcblxyXG4gICAgICAgIGNvbWJpbmVMYXRlc3QoKFskY2xhc3NlcywgJGRpcmVjdGlvbl0pKS5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgICAgICAgdGFwKChbY2xhc3NlcywgZGlyZWN0aW9uXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fJGFjdHVhbENsYXNzZXMubmV4dCh7IC4uLmNsYXNzZXMsIFtkaXJlY3Rpb25dOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApLnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgICBjb25zdCAkY29udGVudEJvdW5kcyA9IHRoaXMuJGNvbnRlbnRCb3VuZHMsXHJcbiAgICAgICAgICAgICR2aWV3cG9ydEJvdW5kcyA9IHRoaXMuJHZpZXdwb3J0Qm91bmRzLFxyXG4gICAgICAgICAgICAkaXNWZXJ0aWNhbCA9IHRoaXMuJGlzVmVydGljYWwsXHJcbiAgICAgICAgICAgICRzY3JvbGxiYXJFbmFibGVkID0gdGhpcy4kc2Nyb2xsYmFyRW5hYmxlZDtcclxuXHJcbiAgICAgICAgY29tYmluZUxhdGVzdChbJGRpcmVjdGlvbiwgJHNjcm9sbGJhckVuYWJsZWQsICRpc1ZlcnRpY2FsLCAkY29udGVudEJvdW5kcywgJHZpZXdwb3J0Qm91bmRzXSkucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgIHRhcCgoW2RpcmVjdGlvbiwgc2Nyb2xsYmFyRW5hYmxlZF0pID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuXyRjb250YWluZXJDbGFzc2VzLm5leHQoeyBbZGlyZWN0aW9uXTogdHJ1ZSwgZW5hYmxlZDogc2Nyb2xsYmFyRW5hYmxlZCwgc2Nyb2xsYWJsZTogc2Nyb2xsYmFyRW5hYmxlZCB9KTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKTtcclxuXHJcbiAgICAgICAgY29uc3QgJHN0YXJ0T2Zmc2V0ID0gdGhpcy4kc3RhcnRPZmZzZXQsXHJcbiAgICAgICAgICAgICRlbmRPZmZzZXQgPSB0aGlzLiRlbmRPZmZzZXQsXHJcbiAgICAgICAgICAgICR0aHVtYlNpemUgPSB0aGlzLiR0aHVtYlNpemU7XHJcblxyXG4gICAgICAgIGZyb20oWyRlbmRPZmZzZXQsICRzdGFydE9mZnNldCwgJHRodW1iU2l6ZSwgJGlzVmVydGljYWxdKS5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU2Nyb2xsQmFyKCk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICkuc3Vic2NyaWJlKCk7XHJcblxyXG4gICAgICAgIGNvbnN0ICR1cGRhdGVTY3JvbGxCYXIgPSB0aGlzLiR1cGRhdGVTY3JvbGxCYXI7XHJcblxyXG4gICAgICAgICR1cGRhdGVTY3JvbGxCYXIucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNjcm9sbEJhckhhbmRsZXIodHJ1ZSk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVTY3JvbGxCYXJIYW5kbGVyKHVwZGF0ZTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uID0gdGhpcy5fJGRpcmVjdGlvbi5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICBpc1ZlcnRpY2FsID0gdGhpcy5fJGlzVmVydGljYWwuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgc3RhcnRPZmZzZXQgPSB0aGlzLl8kc3RhcnRPZmZzZXQuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgZW5kT2Zmc2V0ID0gdGhpcy5fJGVuZE9mZnNldC5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICBzY3JvbGxDb250ZW50ID0gdGhpcy5zY3JvbGxDb250ZW50Py5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50LFxyXG4gICAgICAgICAgICBzY3JvbGxWaWV3cG9ydCA9IHRoaXMuc2Nyb2xsVmlld3BvcnQ/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRodW1iU2l6ZSxcclxuICAgICAgICAgICAgICAgIHRodW1iUG9zaXRpb24sXHJcbiAgICAgICAgICAgIH0gPSB0aGlzLl9zY3JvbGxCb3guY2FsY3VsYXRlU2Nyb2xsKHtcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbixcclxuICAgICAgICAgICAgICAgIHZpZXdwb3J0V2lkdGg6IHNjcm9sbFZpZXdwb3J0Lm9mZnNldFdpZHRoLCB2aWV3cG9ydEhlaWdodDogc2Nyb2xsVmlld3BvcnQub2Zmc2V0SGVpZ2h0LFxyXG4gICAgICAgICAgICAgICAgY29udGVudFdpZHRoOiBzY3JvbGxDb250ZW50Lm9mZnNldFdpZHRoLCBjb250ZW50SGVpZ2h0OiBzY3JvbGxDb250ZW50Lm9mZnNldEhlaWdodCxcclxuICAgICAgICAgICAgICAgIHN0YXJ0T2Zmc2V0LFxyXG4gICAgICAgICAgICAgICAgZW5kT2Zmc2V0LFxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb25YOiB0aGlzLl94LFxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb25ZOiB0aGlzLl95LFxyXG4gICAgICAgICAgICAgICAgbWluU2l6ZTogMSxcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuXyR0aHVtYlNpemUubmV4dCh0aHVtYlNpemUpO1xyXG4gICAgICAgIGlmICh1cGRhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxCYXI/LnNjcm9sbCh7XHJcbiAgICAgICAgICAgICAgICBbaXNWZXJ0aWNhbCA/IFRPUF9QUk9QX05BTUUgOiBMRUZUX1BST1BfTkFNRV06IHRodW1iUG9zaXRpb24sIGZpcmVVcGRhdGU6IGZhbHNlLCBiZWhhdmlvcjogQkVIQVZJT1JfSU5TVEFOVCxcclxuICAgICAgICAgICAgICAgIHVzZXJBY3Rpb246IGZhbHNlLCBibGVuZGluZzogdHJ1ZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuXyRzY3JvbGxiYXJTaG93Lm5leHQodGhpcy5zY3JvbGxhYmxlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdXBkYXRlU2Nyb2xsQmFyKCkge1xyXG4gICAgICAgIHRoaXMuXyR1cGRhdGVTY3JvbGxCYXIubmV4dCgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgbG9jYWxlU2Vuc2l0aXZlIFtsYW5nVGV4dERpcl09XCIoJGxhbmdUZXh0RGlyIHwgYXN5bmMpIVwiIFtsaXN0RGlyXT1cIigkZGlyZWN0aW9uIHwgYXN5bmMpXCIgY2xhc3M9XCJuZ3ZsX19jb250YWluZXJcIlxyXG4gICAgW25nQ2xhc3NdPVwiKCRjb250YWluZXJDbGFzc2VzIHwgYXN5bmMpIVwiPlxyXG4gICAgPGRpdiAjc2Nyb2xsVmlld3BvcnQgcGFydD1cInNjcm9sbGVyXCIgY2xhc3M9XCJuZ3ZsX19zY3JvbGxlclwiPlxyXG4gICAgICAgIDxkaXYgI3Njcm9sbENvbnRlbnQgcGFydD1cImxpc3RcIiBjbGFzcz1cIm5ndmxfX2xpc3RcIiBbbmdDbGFzc109XCIoJGFjdHVhbENsYXNzZXMgfCBhc3luYylcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -1,20 +0,0 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { NgPrerenderScrollerComponent } from './ng-prerender-scroller.component';
4
- import { LocaleSensitiveModule } from '../../../../directives';
5
- import * as i0 from "@angular/core";
6
- export class NgPrerenderScrollerModule {
7
- }
8
- NgPrerenderScrollerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderScrollerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- NgPrerenderScrollerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderScrollerModule, declarations: [NgPrerenderScrollerComponent], imports: [CommonModule, LocaleSensitiveModule], exports: [NgPrerenderScrollerComponent] });
10
- NgPrerenderScrollerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderScrollerModule, imports: [CommonModule, LocaleSensitiveModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderScrollerModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- declarations: [NgPrerenderScrollerComponent],
15
- exports: [NgPrerenderScrollerComponent],
16
- imports: [CommonModule, LocaleSensitiveModule],
17
- schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcHJlcmVuZGVyLXNjcm9sbGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctcHJlcmVuZGVyLWNvbnRhaW5lci9jb21wb25lbnRzL25nLXByZXJlbmRlci1zY3JvbGxlci9uZy1wcmVyZW5kZXItc2Nyb2xsZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQVEvRCxNQUFNLE9BQU8seUJBQXlCOztzSEFBekIseUJBQXlCO3VIQUF6Qix5QkFBeUIsaUJBTG5CLDRCQUE0QixhQUVqQyxZQUFZLEVBQUUscUJBQXFCLGFBRG5DLDRCQUE0Qjt1SEFJN0IseUJBQXlCLFlBSHhCLFlBQVksRUFBRSxxQkFBcUI7MkZBR3BDLHlCQUF5QjtrQkFOckMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsNEJBQTRCLENBQUM7b0JBQ3ZDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQztvQkFDOUMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUM7aUJBQ3REIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdQcmVyZW5kZXJTY3JvbGxlckNvbXBvbmVudCB9IGZyb20gJy4vbmctcHJlcmVuZGVyLXNjcm9sbGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvY2FsZVNlbnNpdGl2ZU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW05nUHJlcmVuZGVyU2Nyb2xsZXJDb21wb25lbnRdLFxyXG4gICAgZXhwb3J0czogW05nUHJlcmVuZGVyU2Nyb2xsZXJDb21wb25lbnRdLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTG9jYWxlU2Vuc2l0aXZlTW9kdWxlXSxcclxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOT19FUlJPUlNfU0NIRU1BXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nUHJlcmVuZGVyU2Nyb2xsZXJNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -1,171 +0,0 @@
1
- import { CMap } from "../../../utils/cmap";
2
- import { DEFAULT_DYNAMIC_SIZE, DEFAULT_ITEM_SIZE, TRACK_BY_PROPERTY_NAME } from "../../../const";
3
- import { EventEmitter } from "../../../utils/event-emitter/event-emitter";
4
- import { PrerenderTrackBoxEvents } from "../events";
5
- const createItemData = (data, isVertical, bounds, boundsSize, dynamic, itemSize, id, index) => {
6
- return {
7
- index,
8
- id,
9
- measures: {
10
- position: 0,
11
- scrollSize: 0,
12
- size: itemSize,
13
- boundsSize,
14
- absoluteStartPosition: 0,
15
- absoluteStartPositionPercent: 0,
16
- absoluteEndPosition: 0,
17
- absoluteEndPositionPercent: 0,
18
- delta: 0,
19
- x: 0,
20
- y: 0,
21
- width: (isVertical ? bounds.width : itemSize),
22
- height: (isVertical ? itemSize : bounds.height),
23
- },
24
- data,
25
- previouseData: data,
26
- nextData: data,
27
- config: {
28
- new: false,
29
- odd: false,
30
- even: false,
31
- collapsable: false,
32
- sticky: 0,
33
- selectable: false,
34
- snap: false,
35
- snapped: false,
36
- snappedOut: false,
37
- isVertical,
38
- dynamic,
39
- isSnappingMethodAdvanced: false,
40
- tabIndex: 0,
41
- zIndex: "0",
42
- },
43
- };
44
- };
45
- /**
46
- * PrerenderTrackBox
47
- * Maximum performance for extremely large lists.
48
- * It is based on algorithms for virtualization of screen objects.
49
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/ng-prerender-container/core/prerender-track-box.ts
50
- * @author Evgenii Alexandrovich Grebennikov
51
- * @email djonnyx@gmail.com
52
- */
53
- export class PrerenderTrackBox extends EventEmitter {
54
- constructor() {
55
- super(...arguments);
56
- this._map = new CMap();
57
- this._items = new Array();
58
- this._container = null;
59
- this._componentClass = null;
60
- this._components = new Array();
61
- this._componentsResizeObserver = new ResizeObserver(() => {
62
- const components = this._components;
63
- if (!!components) {
64
- for (const comp of components) {
65
- const { width, height } = comp.instance.getBounds();
66
- this._map?.set(comp.instance.itemId, { width, height });
67
- }
68
- }
69
- this.dispatch(PrerenderTrackBoxEvents.RESIZE, (this._map?.toObject() || {}));
70
- });
71
- this._active = true;
72
- }
73
- get active() { return this._active; }
74
- refresh(componentClass, bounds, params) {
75
- const isVertical = params.isVertical ?? true, dynamic = params.dynamic ?? DEFAULT_DYNAMIC_SIZE, itemsSize = params.itemSize ?? DEFAULT_ITEM_SIZE, trackBy = params.trackBy ?? TRACK_BY_PROPERTY_NAME, itemRenderer = params.itemRenderer, boundsSize = isVertical ? bounds.height : bounds.width, items = this._items, components = this._components, resizeObserver = this._componentsResizeObserver;
76
- if (!items || !components || !this._container) {
77
- return;
78
- }
79
- let totalSize = 0, j = 0;
80
- for (let i = items.length - 1, l = 0; i >= l; i--) {
81
- if (totalSize > boundsSize) {
82
- break;
83
- }
84
- const item = items[i];
85
- if (!!item) {
86
- const id = item[trackBy], index = items.length - i - 1;
87
- let comp;
88
- if (components.length <= j) {
89
- comp = this._container.createComponent(componentClass);
90
- comp.instance.renderer = itemRenderer;
91
- if (!!resizeObserver) {
92
- resizeObserver.observe(comp.instance.element);
93
- }
94
- components.push(comp);
95
- }
96
- else {
97
- comp = components[j];
98
- }
99
- comp.instance.item = createItemData(item, isVertical, bounds, boundsSize, dynamic, itemsSize, id, index);
100
- comp.instance.show();
101
- const { width, height } = comp.instance.getBounds(), w = isVertical ? width : width < itemsSize ? itemsSize : width, h = isVertical ? height < itemsSize ? itemsSize : height : height;
102
- totalSize += isVertical ? h : w;
103
- j++;
104
- }
105
- }
106
- }
107
- create(container) {
108
- this._container = container;
109
- }
110
- reset(componentClass, items, bounds, params) {
111
- this._items = items;
112
- this._componentClass = componentClass;
113
- this.refresh(componentClass, bounds, params);
114
- }
115
- getCache() {
116
- return !!this._map ? this._map.toObject() : {};
117
- }
118
- clear() {
119
- if (!!this._map) {
120
- this._map.clear();
121
- }
122
- }
123
- on() {
124
- if (this._active) {
125
- return;
126
- }
127
- this._active = true;
128
- const components = this._components;
129
- if (!!components) {
130
- const observer = this._componentsResizeObserver;
131
- for (const comp of components) {
132
- if (!!comp && !!observer) {
133
- observer.observe(comp.instance.element);
134
- }
135
- }
136
- }
137
- }
138
- off() {
139
- if (!this._active) {
140
- return;
141
- }
142
- this._active = false;
143
- if (!!this._componentsResizeObserver) {
144
- this._componentsResizeObserver?.disconnect();
145
- }
146
- }
147
- dispose() {
148
- super.dispose();
149
- if (!!this._map) {
150
- this._map.clear();
151
- this._map = null;
152
- }
153
- if (!!this._items) {
154
- this._items = null;
155
- }
156
- if (!!this._componentClass) {
157
- this._componentClass = null;
158
- }
159
- if (!!this._container) {
160
- this._container = null;
161
- }
162
- if (!!this._components) {
163
- this._components = null;
164
- }
165
- if (!!this._componentsResizeObserver) {
166
- this._componentsResizeObserver.disconnect();
167
- this._componentsResizeObserver = null;
168
- }
169
- }
170
- }
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcmVuZGVyLXRyYWNrLWJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctcHJlcmVuZGVyLWNvbnRhaW5lci9jb3JlL3ByZXJlbmRlci10cmFjay1ib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQTZCLE1BQU0sV0FBVyxDQUFDO0FBRS9FLE1BQU0sY0FBYyxHQUFHLENBQUMsSUFBc0IsRUFBRSxVQUFtQixFQUFFLE1BQWEsRUFBRSxVQUFrQixFQUNsRyxPQUFnQixFQUFFLFFBQWdCLEVBQUUsRUFBTSxFQUFFLEtBQWEsRUFBMEIsRUFBRTtJQUNyRixPQUFPO1FBQ0gsS0FBSztRQUNMLEVBQUU7UUFDRixRQUFRLEVBQUU7WUFDTixRQUFRLEVBQUUsQ0FBQztZQUNYLFVBQVUsRUFBRSxDQUFDO1lBQ2IsSUFBSSxFQUFFLFFBQVE7WUFDZCxVQUFVO1lBQ1YscUJBQXFCLEVBQUUsQ0FBQztZQUN4Qiw0QkFBNEIsRUFBRSxDQUFDO1lBQy9CLG1CQUFtQixFQUFFLENBQUM7WUFDdEIsMEJBQTBCLEVBQUUsQ0FBQztZQUM3QixLQUFLLEVBQUUsQ0FBQztZQUNSLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBUTtZQUNwRCxNQUFNLEVBQUUsQ0FBQyxV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VSxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQzFCO1FBRUQsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUMzQjtRQUVELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtZQUNsQyxJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztTQUN6QztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IElSZW5kZXJWaXJ0dWFsTGlzdEl0ZW0sIElWaXJ0dWFsTGlzdENvbGxlY3Rpb24sIElWaXJ0dWFsTGlzdEl0ZW0gfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IElkIH0gZnJvbSBcIi4uLy4uLy4uL3R5cGVzXCI7XHJcbmltcG9ydCB7IElTaXplIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENNYXAgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvY21hcFwiO1xyXG5pbXBvcnQgeyBQcmVyZW5kZXJDYWNoZSB9IGZyb20gXCIuLi90eXBlcy9jYWNoZVwiO1xyXG5pbXBvcnQgeyBCYXNlVmlydHVhbExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL25nLWxpc3QtaXRlbS9iYXNlXCI7XHJcbmltcG9ydCB7IElQcmVyZW5kZXJUcmFja0JveFJlZnJlc2hQYXJhbXMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgeyBERUZBVUxUX0RZTkFNSUNfU0laRSwgREVGQVVMVF9JVEVNX1NJWkUsIFRSQUNLX0JZX1BST1BFUlRZX05BTUUgfSBmcm9tIFwiLi4vLi4vLi4vY29uc3RcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50JDEgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2NvbXBvbmVudC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvZXZlbnQtZW1pdHRlci9ldmVudC1lbWl0dGVyXCI7XHJcbmltcG9ydCB7IFByZXJlbmRlclRyYWNrQm94RXZlbnRzLCBQcmVyZW5kZXJUcmFja0JveEhhbmRsZXJzIH0gZnJvbSBcIi4uL2V2ZW50c1wiO1xyXG5cclxuY29uc3QgY3JlYXRlSXRlbURhdGEgPSAoZGF0YTogSVZpcnR1YWxMaXN0SXRlbSwgaXNWZXJ0aWNhbDogYm9vbGVhbiwgYm91bmRzOiBJU2l6ZSwgYm91bmRzU2l6ZTogbnVtYmVyLFxyXG4gICAgZHluYW1pYzogYm9vbGVhbiwgaXRlbVNpemU6IG51bWJlciwgaWQ6IElkLCBpbmRleDogbnVtYmVyKTogSVJlbmRlclZpcnR1YWxMaXN0SXRlbSA9PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGluZGV4LFxyXG4gICAgICAgIGlkLFxyXG4gICAgICAgIG1lYXN1cmVzOiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiAwLFxyXG4gICAgICAgICAgICBzY3JvbGxTaXplOiAwLFxyXG4gICAgICAgICAgICBzaXplOiBpdGVtU2l6ZSxcclxuICAgICAgICAgICAgYm91bmRzU2l6ZSxcclxuICAgICAgICAgICAgYWJzb2x1dGVTdGFydFBvc2l0aW9uOiAwLFxyXG4gICAgICAgICAgICBhYnNvbHV0ZVN0YXJ0UG9zaXRpb25QZXJjZW50OiAwLFxyXG4gICAgICAgICAgICBhYnNvbHV0ZUVuZFBvc2l0aW9uOiAwLFxyXG4gICAgICAgICAgICBhYnNvbHV0ZUVuZFBvc2l0aW9uUGVyY2VudDogMCxcclxuICAgICAgICAgICAgZGVsdGE6IDAsXHJcbiAgICAgICAgICAgIHg6IDAsXHJcbiAgICAgICAgICAgIHk6IDAsXHJcbiAgICAgICAgICAgIHdpZHRoOiAoaXNWZXJ0aWNhbCA/IGJvdW5kcy53aWR0aCA6IGl0ZW1TaXplKSBhcyBhbnksXHJcbiAgICAgICAgICAgIGhlaWdodDogKGlzVmVydGljYWwgPyBpdGVtU2l6ZSA6IGJvdW5kcy5oZWlnaHQpIGFzIGFueSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgcHJldmlvdXNlRGF0YTogZGF0YSxcclxuICAgICAgICBuZXh0RGF0YTogZGF0YSxcclxuICAgICAgICBjb25maWc6IHtcclxuICAgICAgICAgICAgbmV3OiBmYWxzZSxcclxuICAgICAgICAgICAgb2RkOiBmYWxzZSxcclxuICAgICAgICAgICAgZXZlbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGNvbGxhcHNhYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgc3RpY2t5OiAwLFxyXG4gICAgICAgICAgICBzZWxlY3RhYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgc25hcDogZmFsc2UsXHJcbiAgICAgICAgICAgIHNuYXBwZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBzbmFwcGVkT3V0OiBmYWxzZSxcclxuICAgICAgICAgICAgaXNWZXJ0aWNhbCxcclxuICAgICAgICAgICAgZHluYW1pYyxcclxuICAgICAgICAgICAgaXNTbmFwcGluZ01ldGhvZEFkdmFuY2VkOiBmYWxzZSxcclxuICAgICAgICAgICAgdGFiSW5kZXg6IDAsXHJcbiAgICAgICAgICAgIHpJbmRleDogXCIwXCIsXHJcbiAgICAgICAgfSxcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFByZXJlbmRlclRyYWNrQm94XHJcbiAqIE1heGltdW0gcGVyZm9ybWFuY2UgZm9yIGV4dHJlbWVseSBsYXJnZSBsaXN0cy5cclxuICogSXQgaXMgYmFzZWQgb24gYWxnb3JpdGhtcyBmb3IgdmlydHVhbGl6YXRpb24gb2Ygc2NyZWVuIG9iamVjdHMuXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE0LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvbmctcHJlcmVuZGVyLWNvbnRhaW5lci9jb3JlL3ByZXJlbmRlci10cmFjay1ib3gudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgUHJlcmVuZGVyVHJhY2tCb3ggZXh0ZW5kcyBFdmVudEVtaXR0ZXI8UHJlcmVuZGVyVHJhY2tCb3hFdmVudHMsIFByZXJlbmRlclRyYWNrQm94SGFuZGxlcnM+IHtcclxuICAgIHByaXZhdGUgX21hcDogQ01hcDxJZCwgSVNpemU+IHwgbnVsbCA9IG5ldyBDTWFwPElkLCBJU2l6ZT4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9pdGVtczogSVZpcnR1YWxMaXN0Q29sbGVjdGlvbiB8IG51bGwgPSBuZXcgQXJyYXk8SVZpcnR1YWxMaXN0SXRlbT4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9jb250YWluZXI6IFZpZXdDb250YWluZXJSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBwcml2YXRlIF9jb21wb25lbnRDbGFzczogQ29tcG9uZW50JDE8QmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBwcml2YXRlIF9jb21wb25lbnRzOiBBcnJheTxDb21wb25lbnRSZWY8QmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudD4+IHwgbnVsbCA9IG5ldyBBcnJheTxDb21wb25lbnRSZWY8QmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudD4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfY29tcG9uZW50c1Jlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlciB8IG51bGwgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSB0aGlzLl9jb21wb25lbnRzO1xyXG4gICAgICAgIGlmICghIWNvbXBvbmVudHMpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBjb21wIG9mIGNvbXBvbmVudHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gY29tcC5pbnN0YW5jZS5nZXRCb3VuZHMoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX21hcD8uc2V0KGNvbXAuaW5zdGFuY2UuaXRlbUlkISwgeyB3aWR0aCwgaGVpZ2h0IH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGlzcGF0Y2goUHJlcmVuZGVyVHJhY2tCb3hFdmVudHMuUkVTSVpFLCAodGhpcy5fbWFwPy50b09iamVjdCgpIHx8IHt9KSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBwcml2YXRlIF9hY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgZ2V0IGFjdGl2ZSgpIHsgcmV0dXJuIHRoaXMuX2FjdGl2ZTsgfVxyXG5cclxuICAgIHByaXZhdGUgcmVmcmVzaChjb21wb25lbnRDbGFzczogQ29tcG9uZW50JDE8QmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudD4sIGJvdW5kczogSVNpemUsIHBhcmFtczogSVByZXJlbmRlclRyYWNrQm94UmVmcmVzaFBhcmFtcykge1xyXG4gICAgICAgIGNvbnN0IGlzVmVydGljYWwgPSBwYXJhbXMuaXNWZXJ0aWNhbCA/PyB0cnVlLFxyXG4gICAgICAgICAgICBkeW5hbWljID0gcGFyYW1zLmR5bmFtaWMgPz8gREVGQVVMVF9EWU5BTUlDX1NJWkUsXHJcbiAgICAgICAgICAgIGl0ZW1zU2l6ZSA9IHBhcmFtcy5pdGVtU2l6ZSA/PyBERUZBVUxUX0lURU1fU0laRSxcclxuICAgICAgICAgICAgdHJhY2tCeSA9IHBhcmFtcy50cmFja0J5ID8/IFRSQUNLX0JZX1BST1BFUlRZX05BTUUsXHJcbiAgICAgICAgICAgIGl0ZW1SZW5kZXJlciA9IHBhcmFtcy5pdGVtUmVuZGVyZXIsXHJcbiAgICAgICAgICAgIGJvdW5kc1NpemUgPSBpc1ZlcnRpY2FsID8gYm91bmRzLmhlaWdodCA6IGJvdW5kcy53aWR0aCxcclxuICAgICAgICAgICAgaXRlbXMgPSB0aGlzLl9pdGVtcywgY29tcG9uZW50cyA9IHRoaXMuX2NvbXBvbmVudHMsXHJcbiAgICAgICAgICAgIHJlc2l6ZU9ic2VydmVyID0gdGhpcy5fY29tcG9uZW50c1Jlc2l6ZU9ic2VydmVyO1xyXG5cclxuICAgICAgICBpZiAoIWl0ZW1zIHx8ICFjb21wb25lbnRzIHx8ICF0aGlzLl9jb250YWluZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgdG90YWxTaXplID0gMCwgaiA9IDA7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IGl0ZW1zLmxlbmd0aCAtIDEsIGwgPSAwOyBpID49IGw7IGktLSkge1xyXG4gICAgICAgICAgICBpZiAodG90YWxTaXplID4gYm91bmRzU2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2ldO1xyXG4gICAgICAgICAgICBpZiAoISFpdGVtKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpZCA9IGl0ZW1bdHJhY2tCeV0sIGluZGV4ID0gaXRlbXMubGVuZ3RoIC0gaSAtIDE7XHJcbiAgICAgICAgICAgICAgICBsZXQgY29tcDogQ29tcG9uZW50UmVmPEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQ+O1xyXG4gICAgICAgICAgICAgICAgaWYgKGNvbXBvbmVudHMubGVuZ3RoIDw9IGopIHtcclxuICAgICAgICAgICAgICAgICAgICBjb21wID0gdGhpcy5fY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRDbGFzcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5yZW5kZXJlciA9IGl0ZW1SZW5kZXJlcjtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISFyZXNpemVPYnNlcnZlcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGNvbXAuaW5zdGFuY2UuZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaChjb21wKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcCA9IGNvbXBvbmVudHNbal07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLml0ZW0gPSBjcmVhdGVJdGVtRGF0YShpdGVtLCBpc1ZlcnRpY2FsLCBib3VuZHMsIGJvdW5kc1NpemUsIGR5bmFtaWMsIGl0ZW1zU2l6ZSwgaWQsIGluZGV4KTtcclxuICAgICAgICAgICAgICAgIGNvbXAuaW5zdGFuY2Uuc2hvdygpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBjb21wLmluc3RhbmNlLmdldEJvdW5kcygpLFxyXG4gICAgICAgICAgICAgICAgICAgIHcgPSBpc1ZlcnRpY2FsID8gd2lkdGggOiB3aWR0aCA8IGl0ZW1zU2l6ZSA/IGl0ZW1zU2l6ZSA6IHdpZHRoLFxyXG4gICAgICAgICAgICAgICAgICAgIGggPSBpc1ZlcnRpY2FsID8gaGVpZ2h0IDwgaXRlbXNTaXplID8gaXRlbXNTaXplIDogaGVpZ2h0IDogaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdG90YWxTaXplICs9IGlzVmVydGljYWwgPyBoIDogdztcclxuICAgICAgICAgICAgICAgIGorKztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGUoY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcbiAgICAgICAgdGhpcy5fY29udGFpbmVyID0gY29udGFpbmVyO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc2V0KGNvbXBvbmVudENsYXNzOiBDb21wb25lbnQkMTxCYXNlVmlydHVhbExpc3RJdGVtQ29tcG9uZW50PiwgaXRlbXM6IElWaXJ0dWFsTGlzdENvbGxlY3Rpb24sXHJcbiAgICAgICAgYm91bmRzOiBJU2l6ZSwgcGFyYW1zOiBJUHJlcmVuZGVyVHJhY2tCb3hSZWZyZXNoUGFyYW1zKSB7XHJcbiAgICAgICAgdGhpcy5faXRlbXMgPSBpdGVtcztcclxuICAgICAgICB0aGlzLl9jb21wb25lbnRDbGFzcyA9IGNvbXBvbmVudENsYXNzO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaChjb21wb25lbnRDbGFzcywgYm91bmRzLCBwYXJhbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldENhY2hlKCk6IFByZXJlbmRlckNhY2hlIHtcclxuICAgICAgICByZXR1cm4gISF0aGlzLl9tYXAgPyB0aGlzLl9tYXAudG9PYmplY3QoKSA6IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyKCkge1xyXG4gICAgICAgIGlmICghIXRoaXMuX21hcCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tYXAuY2xlYXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb24oKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSB0aGlzLl9jb21wb25lbnRzO1xyXG4gICAgICAgIGlmICghIWNvbXBvbmVudHMpIHtcclxuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSB0aGlzLl9jb21wb25lbnRzUmVzaXplT2JzZXJ2ZXI7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgY29tcCBvZiBjb21wb25lbnRzKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoISFjb21wICYmICEhb2JzZXJ2ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGNvbXAuaW5zdGFuY2UuZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb2ZmKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5fYWN0aXZlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2FjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGlmICghIXRoaXMuX2NvbXBvbmVudHNSZXNpemVPYnNlcnZlcikge1xyXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRzUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgZGlzcG9zZSgpIHtcclxuICAgICAgICBzdXBlci5kaXNwb3NlKCk7XHJcblxyXG4gICAgICAgIGlmICghIXRoaXMuX21hcCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tYXAuY2xlYXIoKTtcclxuICAgICAgICAgICAgdGhpcy5fbWFwID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghIXRoaXMuX2l0ZW1zKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghIXRoaXMuX2NvbXBvbmVudENsYXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudENsYXNzID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghIXRoaXMuX2NvbnRhaW5lcikge1xyXG4gICAgICAgICAgICB0aGlzLl9jb250YWluZXIgPSBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCEhdGhpcy5fY29tcG9uZW50cykge1xyXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRzID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghIXRoaXMuX2NvbXBvbmVudHNSZXNpemVPYnNlcnZlcikge1xyXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRzUmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRzUmVzaXplT2JzZXJ2ZXIgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,89 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation, } from "@angular/core";
2
- import { filter, of, switchMap, takeUntil } from "rxjs";
3
- import { DEFAULT_DIRECTION, DEFAULT_DYNAMIC_SIZE, DEFAULT_ITEM_SIZE, DEFAULT_SCROLLBAR_ENABLED, TRACK_BY_PROPERTY_NAME, } from "../../const";
4
- import { NgPrerenderList } from "./components/ng-prerender-list/ng-prerender-list.component";
5
- import { DisposableComponent } from "../../utils/disposable-component";
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./components/ng-prerender-list/ng-prerender-list.component";
8
- /**
9
- * Prerender container.
10
- * Maximum performance for extremely large lists.
11
- * It is based on algorithms for virtualization of screen objects.
12
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/ng-prerender-container/ng-prerender-container.component.ts
13
- * @author Evgenii Alexandrovich Grebennikov
14
- * @email djonnyx@gmail.com
15
- */
16
- export class NgPrerenderContainer extends DisposableComponent {
17
- constructor() {
18
- super();
19
- this._list = null;
20
- this.enabled = false;
21
- this.direction = DEFAULT_DIRECTION;
22
- this.isVertical = true;
23
- this.scrollbarEnabled = DEFAULT_SCROLLBAR_ENABLED;
24
- this.startOffset = 0;
25
- this.endOffset = 0;
26
- this.dynamic = DEFAULT_DYNAMIC_SIZE;
27
- this.itemSize = DEFAULT_ITEM_SIZE;
28
- this.trackBy = TRACK_BY_PROPERTY_NAME;
29
- }
30
- get active() {
31
- return this._list?.active ?? false;
32
- }
33
- ngAfterViewInit() {
34
- const $list = of(this._list);
35
- this.$render = $list.pipe(takeUntil(this._$unsubscribe), filter(v => !!v), switchMap(v => v.$render));
36
- }
37
- clear() {
38
- const list = this._list;
39
- if (!!list) {
40
- list.clear();
41
- }
42
- }
43
- on(items = null) {
44
- const list = this._list;
45
- if (!!list) {
46
- list.on(items);
47
- }
48
- }
49
- off() {
50
- const list = this._list;
51
- if (!!list) {
52
- list.off();
53
- }
54
- }
55
- }
56
- NgPrerenderContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
- NgPrerenderContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NgPrerenderContainer, selector: "ng-prerender-container", inputs: { enabled: "enabled", direction: "direction", isVertical: "isVertical", scrollbarEnabled: "scrollbarEnabled", startOffset: "startOffset", endOffset: "endOffset", bounds: "bounds", dynamic: "dynamic", itemSize: "itemSize", trackBy: "trackBy", itemRenderer: "itemRenderer" }, host: { styleAttribute: "position: relative;" }, viewQueries: [{ propertyName: "_list", first: true, predicate: ["list"], descendants: true, read: NgPrerenderList }], usesInheritance: true, ngImport: i0, template: "<ng-prerender-list #list [bounds]=\"bounds!\" [direction]=\"direction\" [dynamic]=\"dynamic\" [isVertical]=\"isVertical\"\r\n [itemSize]=\"itemSize\" [trackBy]=\"trackBy\" [itemRenderer]=\"itemRenderer\" [startOffset]=\"startOffset\"\r\n [endOffset]=\"endOffset\" [scrollbarEnabled]=\"scrollbarEnabled\" [enabled]=\"enabled\"></ng-prerender-list>", styles: [":host{position:relative;display:block;width:400px;overflow:hidden}:host(.horizontal){height:48px}:host(.vertical){height:320px}.ngvl__snapped-container{position:relative;width:100%;opacity:0}.ngvl__snapped-container.prepared{opacity:1}.ngvl__list-snapper{-webkit-tap-highlight-color:transparent;pointer-events:none;position:absolute;list-style:none;left:0;top:0;z-index:1}.ngvl__list-scroller{-webkit-tap-highlight-color:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:0}.ngvl__screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n", ":host{visibility:hidden;height:0!important;width:0!important;overflow:hidden}\n"], dependencies: [{ kind: "component", type: i1.NgPrerenderList, selector: "ng-prerender-list", inputs: ["enabled", "direction", "isVertical", "items", "scrollbarEnabled", "startOffset", "endOffset", "bounds", "dynamic", "itemSize", "trackBy", "itemRenderer", "itemComponentClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderContainer, decorators: [{
59
- type: Component,
60
- args: [{ selector: 'ng-prerender-container', host: {
61
- 'style': 'position: relative;'
62
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.ShadowDom, template: "<ng-prerender-list #list [bounds]=\"bounds!\" [direction]=\"direction\" [dynamic]=\"dynamic\" [isVertical]=\"isVertical\"\r\n [itemSize]=\"itemSize\" [trackBy]=\"trackBy\" [itemRenderer]=\"itemRenderer\" [startOffset]=\"startOffset\"\r\n [endOffset]=\"endOffset\" [scrollbarEnabled]=\"scrollbarEnabled\" [enabled]=\"enabled\"></ng-prerender-list>", styles: [":host{position:relative;display:block;width:400px;overflow:hidden}:host(.horizontal){height:48px}:host(.vertical){height:320px}.ngvl__snapped-container{position:relative;width:100%;opacity:0}.ngvl__snapped-container.prepared{opacity:1}.ngvl__list-snapper{-webkit-tap-highlight-color:transparent;pointer-events:none;position:absolute;list-style:none;left:0;top:0;z-index:1}.ngvl__list-scroller{-webkit-tap-highlight-color:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:0}.ngvl__screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n", ":host{visibility:hidden;height:0!important;width:0!important;overflow:hidden}\n"] }]
63
- }], ctorParameters: function () { return []; }, propDecorators: { _list: [{
64
- type: ViewChild,
65
- args: ['list', { read: NgPrerenderList }]
66
- }], enabled: [{
67
- type: Input
68
- }], direction: [{
69
- type: Input
70
- }], isVertical: [{
71
- type: Input
72
- }], scrollbarEnabled: [{
73
- type: Input
74
- }], startOffset: [{
75
- type: Input
76
- }], endOffset: [{
77
- type: Input
78
- }], bounds: [{
79
- type: Input
80
- }], dynamic: [{
81
- type: Input
82
- }], itemSize: [{
83
- type: Input
84
- }], trackBy: [{
85
- type: Input
86
- }], itemRenderer: [{
87
- type: Input
88
- }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcHJlcmVuZGVyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXByZXJlbmRlci1jb250YWluZXIvbmctcHJlcmVuZGVyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXByZXJlbmRlci1jb250YWluZXIvbmctcHJlcmVuZGVyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxTQUFTLEVBQUUsaUJBQWlCLEdBQ3ZGLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUNILGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLHlCQUF5QixFQUFFLHNCQUFzQixHQUNoSCxNQUFNLGFBQWEsQ0FBQztBQUlyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFFN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQUV2RTs7Ozs7OztHQU9HO0FBV0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQTJDekQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQTFDSixVQUFLLEdBQTJCLElBQUksQ0FBQztRQUc3QyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBR3pCLGNBQVMsR0FBYyxpQkFBaUIsQ0FBQztRQUd6QyxlQUFVLEdBQVksSUFBSSxDQUFDO1FBRzNCLHFCQUFnQixHQUFZLHlCQUF5QixDQUFDO1FBR3RELGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBR3hCLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFNdEIsWUFBTyxHQUFZLG9CQUFvQixDQUFDO1FBR3hDLGFBQVEsR0FBVyxpQkFBaUIsQ0FBQztRQUdyQyxZQUFPLEdBQVcsc0JBQXNCLENBQUM7SUFhekMsQ0FBQztJQU5ELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFNRCxlQUFlO1FBQ1gsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQ3JCLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQzdCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDaEIsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBRSxDQUFDLE9BQU8sQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUVELEtBQUs7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFFRCxFQUFFLENBQUMsUUFBdUMsSUFBSTtRQUMxQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEI7SUFDTCxDQUFDO0lBRUQsR0FBRztRQUNDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ2Q7SUFDTCxDQUFDOztpSEE1RVEsb0JBQW9CO3FHQUFwQixvQkFBb0IsbWRBQ0YsZUFBZSxvRENqQzlDLDhWQUV3RzsyRkQ4QjNGLG9CQUFvQjtrQkFWaEMsU0FBUzsrQkFDSSx3QkFBd0IsUUFHNUI7d0JBQ0YsT0FBTyxFQUFFLHFCQUFxQjtxQkFDakMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFNBQVM7MEVBSWxDLEtBQUs7c0JBRFosU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO2dCQUk1QyxPQUFPO3NCQUROLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtcclxuICAgIERFRkFVTFRfRElSRUNUSU9OLCBERUZBVUxUX0RZTkFNSUNfU0laRSwgREVGQVVMVF9JVEVNX1NJWkUsIERFRkFVTFRfU0NST0xMQkFSX0VOQUJMRUQsIFRSQUNLX0JZX1BST1BFUlRZX05BTUUsXHJcbn0gZnJvbSBcIi4uLy4uL2NvbnN0XCI7XHJcbmltcG9ydCB7IElTaXplIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IElWaXJ0dWFsTGlzdENvbGxlY3Rpb24gfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gXCIuLi8uLi9lbnVtc1wiO1xyXG5pbXBvcnQgeyBOZ1ByZXJlbmRlckxpc3QgfSBmcm9tIFwiLi9jb21wb25lbnRzL25nLXByZXJlbmRlci1saXN0L25nLXByZXJlbmRlci1saXN0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBQcmVyZW5kZXJDYWNoZSB9IGZyb20gXCIuL3R5cGVzXCI7XHJcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vdXRpbHMvZGlzcG9zYWJsZS1jb21wb25lbnRcIjtcclxuXHJcbi8qKlxyXG4gKiBQcmVyZW5kZXIgY29udGFpbmVyLlxyXG4gKiBNYXhpbXVtIHBlcmZvcm1hbmNlIGZvciBleHRyZW1lbHkgbGFyZ2UgbGlzdHMuXHJcbiAqIEl0IGlzIGJhc2VkIG9uIGFsZ29yaXRobXMgZm9yIHZpcnR1YWxpemF0aW9uIG9mIHNjcmVlbiBvYmplY3RzLlxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL25nLXByZXJlbmRlci1jb250YWluZXIvbmctcHJlcmVuZGVyLWNvbnRhaW5lci5jb21wb25lbnQudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbmctcHJlcmVuZGVyLWNvbnRhaW5lcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmctcHJlcmVuZGVyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi4vLi4vbmctdmlydHVhbC1saXN0LmNvbXBvbmVudC5zY3NzJywgJy4vbmctcHJlcmVuZGVyLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgaG9zdDoge1xyXG4gICAgICAgICdzdHlsZSc6ICdwb3NpdGlvbjogcmVsYXRpdmU7J1xyXG4gICAgfSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdQcmVyZW5kZXJDb250YWluZXIgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IHtcclxuICAgIEBWaWV3Q2hpbGQoJ2xpc3QnLCB7IHJlYWQ6IE5nUHJlcmVuZGVyTGlzdCB9KVxyXG4gICAgcHJpdmF0ZSBfbGlzdDogTmdQcmVyZW5kZXJMaXN0IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZGlyZWN0aW9uOiBEaXJlY3Rpb24gPSBERUZBVUxUX0RJUkVDVElPTjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgaXNWZXJ0aWNhbDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNjcm9sbGJhckVuYWJsZWQ6IGJvb2xlYW4gPSBERUZBVUxUX1NDUk9MTEJBUl9FTkFCTEVEO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzdGFydE9mZnNldDogbnVtYmVyID0gMDtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZW5kT2Zmc2V0OiBudW1iZXIgPSAwO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBib3VuZHMhOiBJU2l6ZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZHluYW1pYzogYm9vbGVhbiA9IERFRkFVTFRfRFlOQU1JQ19TSVpFO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBpdGVtU2l6ZTogbnVtYmVyID0gREVGQVVMVF9JVEVNX1NJWkU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHRyYWNrQnk6IHN0cmluZyA9IFRSQUNLX0JZX1BST1BFUlRZX05BTUU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGl0ZW1SZW5kZXJlciE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgJHJlbmRlciE6IE9ic2VydmFibGU8UHJlcmVuZGVyQ2FjaGU+O1xyXG5cclxuICAgIGdldCBhY3RpdmUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xpc3Q/LmFjdGl2ZSA/PyBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICBjb25zdCAkbGlzdCA9IG9mKHRoaXMuX2xpc3QpO1xyXG5cclxuICAgICAgICB0aGlzLiRyZW5kZXIgPSAkbGlzdC5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgICAgICAgZmlsdGVyKHYgPT4gISF2KSxcclxuICAgICAgICAgICAgc3dpdGNoTWFwKHYgPT4gdiEuJHJlbmRlciksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhcigpIHtcclxuICAgICAgICBjb25zdCBsaXN0ID0gdGhpcy5fbGlzdDtcclxuICAgICAgICBpZiAoISFsaXN0KSB7XHJcbiAgICAgICAgICAgIGxpc3QuY2xlYXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb24oaXRlbXM6IElWaXJ0dWFsTGlzdENvbGxlY3Rpb24gfCBudWxsID0gbnVsbCkge1xyXG4gICAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLl9saXN0O1xyXG4gICAgICAgIGlmICghIWxpc3QpIHtcclxuICAgICAgICAgICAgbGlzdC5vbihpdGVtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9mZigpIHtcclxuICAgICAgICBjb25zdCBsaXN0ID0gdGhpcy5fbGlzdDtcclxuICAgICAgICBpZiAoISFsaXN0KSB7XHJcbiAgICAgICAgICAgIGxpc3Qub2ZmKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPG5nLXByZXJlbmRlci1saXN0ICNsaXN0IFtib3VuZHNdPVwiYm91bmRzIVwiIFtkaXJlY3Rpb25dPVwiZGlyZWN0aW9uXCIgW2R5bmFtaWNdPVwiZHluYW1pY1wiIFtpc1ZlcnRpY2FsXT1cImlzVmVydGljYWxcIlxyXG4gIFtpdGVtU2l6ZV09XCJpdGVtU2l6ZVwiIFt0cmFja0J5XT1cInRyYWNrQnlcIiBbaXRlbVJlbmRlcmVyXT1cIml0ZW1SZW5kZXJlclwiIFtzdGFydE9mZnNldF09XCJzdGFydE9mZnNldFwiXHJcbiAgW2VuZE9mZnNldF09XCJlbmRPZmZzZXRcIiBbc2Nyb2xsYmFyRW5hYmxlZF09XCJzY3JvbGxiYXJFbmFibGVkXCIgW2VuYWJsZWRdPVwiZW5hYmxlZFwiPjwvbmctcHJlcmVuZGVyLWxpc3Q+Il19
@@ -1,27 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { NgScrollBarService } from './ng-scroll-bar.service';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * NgScrollBarService
6
- * Maximum performance for extremely large lists.
7
- * It is based on algorithms for virtualization of screen objects.
8
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.ts
9
- * @author Evgenii Alexandrovich Grebennikov
10
- * @email djonnyx@gmail.com
11
- */
12
- export class NgScrollBarPublicService {
13
- constructor() {
14
- this._internalService = inject(NgScrollBarService);
15
- }
16
- get $click() { return this._internalService.$click; }
17
- get $state() { return this._internalService.$state; }
18
- }
19
- NgScrollBarPublicService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgScrollBarPublicService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
20
- NgScrollBarPublicService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgScrollBarPublicService, providedIn: 'root' });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgScrollBarPublicService, decorators: [{
22
- type: Injectable,
23
- args: [{
24
- providedIn: 'root'
25
- }]
26
- }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2Nyb2xsLWJhci1wdWJsaWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctc2Nyb2xsLWJhci9uZy1zY3JvbGwtYmFyLXB1YmxpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUU3RDs7Ozs7OztHQU9HO0FBSUgsTUFBTSxPQUFPLHdCQUF3QjtJQUhyQztRQUlVLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBS3ZEO0lBSEMsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUVyRCxJQUFJLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDOztxSEFMMUMsd0JBQXdCO3lIQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTsyRkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nU2Nyb2xsQmFyU2VydmljZSB9IGZyb20gJy4vbmctc2Nyb2xsLWJhci5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBOZ1Njcm9sbEJhclNlcnZpY2VcclxuICogTWF4aW11bSBwZXJmb3JtYW5jZSBmb3IgZXh0cmVtZWx5IGxhcmdlIGxpc3RzLlxyXG4gKiBJdCBpcyBiYXNlZCBvbiBhbGdvcml0aG1zIGZvciB2aXJ0dWFsaXphdGlvbiBvZiBzY3JlZW4gb2JqZWN0cy5cclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXNjcm9sbC1iYXIvbmctc2Nyb2xsLWJhci1wdWJsaWMuc2VydmljZS50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nU2Nyb2xsQmFyUHVibGljU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBfaW50ZXJuYWxTZXJ2aWNlID0gaW5qZWN0KE5nU2Nyb2xsQmFyU2VydmljZSk7XHJcblxyXG4gIGdldCAkY2xpY2soKSB7IHJldHVybiB0aGlzLl9pbnRlcm5hbFNlcnZpY2UuJGNsaWNrOyB9XHJcblxyXG4gIGdldCAkc3RhdGUoKSB7IHJldHVybiB0aGlzLl9pbnRlcm5hbFNlcnZpY2UuJHN0YXRlOyB9XHJcbn1cclxuIl19