ng-virtual-list 14.12.0 → 14.12.1

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 (452) hide show
  1. package/README.md +1 -11
  2. package/esm2020/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +309 -0
  3. package/{esm2022 → esm2020}/lib/components/ng-list-item/base/index.mjs +2 -2
  4. package/{esm2022 → esm2020}/lib/components/ng-list-item/const/index.mjs +40 -40
  5. package/{esm2022 → esm2020}/lib/components/ng-list-item/interfaces/index.mjs +1 -1
  6. package/{esm2022 → esm2020}/lib/components/ng-list-item/interfaces/template-context.mjs +1 -1
  7. package/esm2020/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +200 -0
  8. package/{esm2022 → esm2020}/lib/components/ng-list-item/ng-virtual-list-item.module.mjs +20 -20
  9. package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/create-display-id.mjs +9 -9
  10. package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/get-element-by-index.mjs +19 -19
  11. package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/index.mjs +4 -4
  12. package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/matrix-3d.mjs +12 -12
  13. package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +278 -0
  14. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.mjs +21 -21
  15. package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +94 -0
  16. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.mjs +20 -20
  17. package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +141 -0
  18. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.mjs +20 -20
  19. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/core/index.mjs +2 -2
  20. package/esm2020/lib/components/ng-prerender-container/core/prerender-track-box.mjs +201 -0
  21. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/events/index.mjs +5 -5
  22. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/interfaces/index.mjs +1 -1
  23. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/interfaces/refresh-params.mjs +1 -1
  24. package/esm2020/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +90 -0
  25. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/ng-prerender-container.module.mjs +20 -20
  26. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/types/cache.mjs +1 -1
  27. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/types/index.mjs +1 -1
  28. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/const/index.mjs +8 -8
  29. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/enums/index.mjs +2 -2
  30. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/enums/scrollbar-states.mjs +6 -6
  31. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/index.mjs +1 -1
  32. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.mjs +1 -1
  33. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/scrollbar-drag-data.mjs +1 -1
  34. package/esm2020/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.mjs +27 -0
  35. package/esm2020/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +324 -0
  36. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/ng-scroll-bar.module.mjs +19 -19
  37. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/ng-scroll-bar.service.mjs +38 -36
  38. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/types/index.mjs +1 -1
  39. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/types/scrollbar-state.mjs +1 -1
  40. package/esm2020/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +260 -0
  41. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/const/index.mjs +8 -8
  42. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/index.mjs +2 -2
  43. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/scroller-direction.mjs +11 -11
  44. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/scroller-directions.mjs +1 -1
  45. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/index.mjs +3 -3
  46. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/interfaces/index.mjs +1 -1
  47. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/interfaces/scroll-to-params.mjs +1 -1
  48. package/esm2020/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +856 -0
  49. package/esm2020/lib/components/ng-scroll-view/utils/calculate-direction.mjs +17 -0
  50. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/calculate-velocity.mjs +11 -11
  51. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/get-dir.mjs +9 -9
  52. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/index.mjs +5 -5
  53. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/matrix-3d.mjs +9 -9
  54. package/esm2020/lib/components/ng-scroll-view/utils/scroll-box.mjs +45 -0
  55. package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/index.mjs +2 -2
  56. package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/scroller-direction.mjs +5 -5
  57. package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/scroller-directions.mjs +1 -1
  58. package/esm2020/lib/components/ng-scroller/ng-scroller.component.mjs +521 -0
  59. package/{esm2022 → esm2020}/lib/components/ng-scroller/ng-scroller.module.mjs +22 -22
  60. package/{esm2022 → esm2020}/lib/components/ng-scroller/utils/index.mjs +2 -2
  61. package/esm2020/lib/components/ng-scroller/utils/scroll-box.mjs +52 -0
  62. package/{esm2022 → esm2020}/lib/const/index.mjs +164 -164
  63. package/esm2020/lib/core/cache-map.mjs +100 -0
  64. package/{esm2022 → esm2020}/lib/core/const/index.mjs +2 -2
  65. package/{esm2022 → esm2020}/lib/core/enums/index.mjs +2 -2
  66. package/{esm2022 → esm2020}/lib/core/enums/item-display-methods.mjs +13 -13
  67. package/{esm2022 → esm2020}/lib/core/events/index.mjs +2 -2
  68. package/{esm2022 → esm2020}/lib/core/events/track-box-events.mjs +11 -11
  69. package/{esm2022 → esm2020}/lib/core/interfaces/get-item-position-options.mjs +1 -1
  70. package/{esm2022 → esm2020}/lib/core/interfaces/get-metrics-returns.mjs +1 -1
  71. package/{esm2022 → esm2020}/lib/core/interfaces/index.mjs +1 -1
  72. package/{esm2022 → esm2020}/lib/core/interfaces/item.mjs +1 -1
  73. package/{esm2022 → esm2020}/lib/core/interfaces/metrics.mjs +1 -1
  74. package/esm2020/lib/core/interfaces/recalculate-metrics-options.mjs +2 -0
  75. package/{esm2022 → esm2020}/lib/core/interfaces/update-collection-options.mjs +1 -1
  76. package/{esm2022 → esm2020}/lib/core/interfaces/update-collection-returns.mjs +1 -1
  77. package/esm2020/lib/core/track-box.mjs +1352 -0
  78. package/esm2020/lib/core/tracker.mjs +209 -0
  79. package/{esm2022 → esm2020}/lib/core/types/cache-map-events.mjs +1 -1
  80. package/{esm2022 → esm2020}/lib/core/types/cache-map-listeners.mjs +1 -1
  81. package/{esm2022 → esm2020}/lib/core/types/cache.mjs +1 -1
  82. package/{esm2022 → esm2020}/lib/core/types/index.mjs +1 -1
  83. package/{esm2022 → esm2020}/lib/core/types/on-change-event-listener.mjs +1 -1
  84. package/{esm2022 → esm2020}/lib/core/types/on-tick-event-listener.mjs +1 -1
  85. package/{esm2022 → esm2020}/lib/core/utils/get-service-id-prop.mjs +9 -9
  86. package/{esm2022 → esm2020}/lib/core/utils/index.mjs +2 -2
  87. package/{esm2022 → esm2020}/lib/directives/index.mjs +3 -3
  88. package/esm2020/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +67 -0
  89. package/{esm2022 → esm2020}/lib/directives/locale-sensitive/locale-sensitive.module.mjs +19 -19
  90. package/esm2020/lib/directives/virtual-click/virtual-click.directive.mjs +66 -0
  91. package/{esm2022 → esm2020}/lib/directives/virtual-click/virtual-click.module.mjs +19 -19
  92. package/{esm2022 → esm2020}/lib/enums/alignments.mjs +11 -11
  93. package/{esm2022 → esm2020}/lib/enums/collapsing-modes.mjs +21 -21
  94. package/{esm2022 → esm2020}/lib/enums/collection-modes.mjs +17 -17
  95. package/{esm2022 → esm2020}/lib/enums/directions.mjs +17 -17
  96. package/{esm2022 → esm2020}/lib/enums/focus-alignments.mjs +13 -13
  97. package/{esm2022 → esm2020}/lib/enums/index.mjs +11 -11
  98. package/{esm2022 → esm2020}/lib/enums/selecting-modes-types.mjs +21 -21
  99. package/{esm2022 → esm2020}/lib/enums/selecting-modes.mjs +21 -21
  100. package/{esm2022 → esm2020}/lib/enums/snap-to-item-aligns.mjs +21 -21
  101. package/{esm2022 → esm2020}/lib/enums/snapping-methods.mjs +17 -17
  102. package/{esm2022 → esm2020}/lib/enums/spreading-modes.mjs +17 -17
  103. package/{esm2022 → esm2020}/lib/enums/text-directions.mjs +13 -13
  104. package/{esm2022 → esm2020}/lib/interfaces/animation-params.mjs +1 -1
  105. package/{esm2022 → esm2020}/lib/interfaces/base-virtual-list-item-component.mjs +1 -1
  106. package/{esm2022 → esm2020}/lib/interfaces/index.mjs +1 -1
  107. package/{esm2022 → esm2020}/lib/interfaces/item-transformation.mjs +1 -1
  108. package/{esm2022 → esm2020}/lib/interfaces/point.mjs +1 -1
  109. package/{esm2022 → esm2020}/lib/interfaces/rect.mjs +1 -1
  110. package/{esm2022 → esm2020}/lib/interfaces/render-stabilizer-options.mjs +1 -1
  111. package/{esm2022 → esm2020}/lib/interfaces/scroll-event.mjs +1 -1
  112. package/{esm2022 → esm2020}/lib/interfaces/scroll-options.mjs +1 -1
  113. package/{esm2022 → esm2020}/lib/interfaces/scroll-params.mjs +1 -1
  114. package/{esm2022 → esm2020}/lib/interfaces/scroll-to-params.mjs +1 -1
  115. package/{esm2022 → esm2020}/lib/interfaces/scrolling-settings.mjs +1 -1
  116. package/{esm2022 → esm2020}/lib/interfaces/size.mjs +1 -1
  117. package/{esm2022 → esm2020}/lib/models/collection.model.mjs +2 -2
  118. package/{esm2022 → esm2020}/lib/models/component.model.mjs +1 -1
  119. package/{esm2022 → esm2020}/lib/models/display-object-config.model.mjs +1 -1
  120. package/{esm2022 → esm2020}/lib/models/display-object-measures.model.mjs +1 -1
  121. package/{esm2022 → esm2020}/lib/models/index.mjs +1 -1
  122. package/{esm2022 → esm2020}/lib/models/item-config-map.model.mjs +1 -1
  123. package/{esm2022 → esm2020}/lib/models/item.model.mjs +1 -1
  124. package/{esm2022 → esm2020}/lib/models/render-collection.model.mjs +2 -2
  125. package/{esm2022 → esm2020}/lib/models/render-item-config.model.mjs +1 -1
  126. package/{esm2022 → esm2020}/lib/models/render-item-measures.model.mjs +2 -2
  127. package/{esm2022 → esm2020}/lib/models/render-item.model.mjs +2 -2
  128. package/esm2020/lib/ng-virtual-list-public.service.mjs +122 -0
  129. package/esm2020/lib/ng-virtual-list.component.mjs +3255 -0
  130. package/{esm2022 → esm2020}/lib/ng-virtual-list.module.mjs +23 -23
  131. package/esm2020/lib/ng-virtual-list.service.mjs +430 -0
  132. package/esm2020/lib/transformations/deck-of-cards-3d.mjs +57 -0
  133. package/esm2020/lib/transformations/deck-of-cards.mjs +54 -0
  134. package/esm2020/lib/transformations/event-horizon.mjs +47 -0
  135. package/{esm2022 → esm2020}/lib/transformations/index.mjs +12 -12
  136. package/esm2020/lib/transformations/linear.mjs +47 -0
  137. package/esm2020/lib/transformations/swipe-3d.mjs +51 -0
  138. package/{esm2022 → esm2020}/lib/types/alignment.mjs +1 -1
  139. package/{esm2022 → esm2020}/lib/types/arithmetic-expression.mjs +1 -1
  140. package/{esm2022 → esm2020}/lib/types/collapsing-mode.mjs +1 -1
  141. package/{esm2022 → esm2020}/lib/types/collection-mode.mjs +1 -1
  142. package/{esm2022 → esm2020}/lib/types/color.mjs +1 -1
  143. package/{esm2022 → esm2020}/lib/types/direction.mjs +1 -1
  144. package/{esm2022 → esm2020}/lib/types/float-or-persentage-value.mjs +1 -1
  145. package/{esm2022 → esm2020}/lib/types/focus-alignment.mjs +1 -1
  146. package/{esm2022 → esm2020}/lib/types/focus-item-params.mjs +1 -1
  147. package/{esm2022 → esm2020}/lib/types/gradient-color-position.mjs +1 -1
  148. package/{esm2022 → esm2020}/lib/types/gradient-color-positions.mjs +1 -1
  149. package/{esm2022 → esm2020}/lib/types/id.mjs +1 -1
  150. package/{esm2022 → esm2020}/lib/types/index.mjs +1 -1
  151. package/{esm2022 → esm2020}/lib/types/item-transform.mjs +1 -1
  152. package/{esm2022 → esm2020}/lib/types/scroll-direction.mjs +1 -1
  153. package/{esm2022 → esm2020}/lib/types/selecting-mode.mjs +1 -1
  154. package/{esm2022 → esm2020}/lib/types/snap-to-item-align.mjs +1 -1
  155. package/{esm2022 → esm2020}/lib/types/snapping-distance.mjs +1 -1
  156. package/{esm2022 → esm2020}/lib/types/snapping-method.mjs +1 -1
  157. package/{esm2022 → esm2020}/lib/types/spreading-mode.mjs +1 -1
  158. package/{esm2022 → esm2020}/lib/types/text-direction.mjs +1 -1
  159. package/esm2020/lib/utils/animator/animator.mjs +80 -0
  160. package/{esm2022 → esm2020}/lib/utils/animator/const/index.mjs +1 -1
  161. package/{esm2022 → esm2020}/lib/utils/animator/ease.mjs +6 -6
  162. package/{esm2022 → esm2020}/lib/utils/animator/index.mjs +4 -4
  163. package/esm2020/lib/utils/animator/interfaces/animator-params.mjs +2 -0
  164. package/esm2020/lib/utils/animator/interfaces/animator-update-data.mjs +2 -0
  165. package/{esm2022 → esm2020}/lib/utils/animator/interfaces/index.mjs +1 -1
  166. package/esm2020/lib/utils/animator/types/easing.mjs +2 -0
  167. package/{esm2022 → esm2020}/lib/utils/animator/types/index.mjs +1 -1
  168. package/esm2020/lib/utils/buffer-interpolation.mjs +29 -0
  169. package/esm2020/lib/utils/cmap.mjs +34 -0
  170. package/esm2020/lib/utils/debounce.mjs +61 -0
  171. package/esm2020/lib/utils/disposable-component.mjs +29 -0
  172. package/esm2020/lib/utils/event-emitter/event-emitter.mjs +106 -0
  173. package/{esm2022 → esm2020}/lib/utils/event-emitter/index.mjs +2 -2
  174. package/esm2020/lib/utils/event-emitter/interfaces/event-emitter.mjs +2 -0
  175. package/{esm2022 → esm2020}/lib/utils/event-emitter/interfaces/index.mjs +1 -1
  176. package/esm2020/lib/utils/get-scroll-state-version.mjs +12 -0
  177. package/{esm2022 → esm2020}/lib/utils/get-selector-by-item-id.mjs +4 -4
  178. package/{esm2022 → esm2020}/lib/utils/index.mjs +4 -4
  179. package/esm2020/lib/utils/is-collapse-mode.mjs +18 -0
  180. package/{esm2022 → esm2020}/lib/utils/is-collection-mode.mjs +15 -15
  181. package/esm2020/lib/utils/is-direction.mjs +15 -0
  182. package/esm2020/lib/utils/is-persentage-value.mjs +14 -0
  183. package/esm2020/lib/utils/is-select-mode.mjs +18 -0
  184. package/{esm2022 → esm2020}/lib/utils/is-spreading-mode.mjs +15 -15
  185. package/esm2020/lib/utils/list-validators.mjs +27 -0
  186. package/esm2020/lib/utils/normalize-collection.mjs +42 -0
  187. package/esm2020/lib/utils/object.mjs +28 -0
  188. package/esm2020/lib/utils/parse-arithmetic-expression.mjs +53 -0
  189. package/esm2020/lib/utils/parse-float-or-persentage-value.mjs +17 -0
  190. package/esm2020/lib/utils/screen-reader-formatter.mjs +43 -0
  191. package/esm2020/lib/utils/scroll-event.mjs +46 -0
  192. package/esm2020/lib/utils/scrolling-direction.mjs +28 -0
  193. package/{esm2022 → esm2020}/lib/utils/snapping-method.mjs +8 -8
  194. package/esm2020/lib/utils/toggle-class-name.mjs +15 -0
  195. package/{esm2022 → esm2020}/lib/utils/validation.mjs +55 -55
  196. package/{esm2022 → esm2020}/ng-virtual-list.mjs +4 -4
  197. package/{esm2022 → esm2020}/public-api.mjs +19 -19
  198. package/fesm2015/ng-virtual-list.mjs +10731 -0
  199. package/fesm2015/ng-virtual-list.mjs.map +1 -0
  200. package/{fesm2022 → fesm2020}/ng-virtual-list.mjs +10451 -10455
  201. package/fesm2020/ng-virtual-list.mjs.map +1 -0
  202. package/index.d.ts +5 -5
  203. package/lib/components/ng-list-item/base/base-virtual-list-item-component.d.ts +83 -83
  204. package/lib/components/ng-list-item/base/index.d.ts +2 -2
  205. package/lib/components/ng-list-item/const/index.d.ts +3 -3
  206. package/lib/components/ng-list-item/interfaces/index.d.ts +2 -2
  207. package/lib/components/ng-list-item/interfaces/template-context.d.ts +42 -42
  208. package/lib/components/ng-list-item/ng-virtual-list-item.component.d.ts +30 -30
  209. package/lib/components/ng-list-item/ng-virtual-list-item.module.d.ts +9 -9
  210. package/lib/components/ng-list-item/utils/create-display-id.d.ts +7 -7
  211. package/lib/components/ng-list-item/utils/get-element-by-index.d.ts +15 -15
  212. package/lib/components/ng-list-item/utils/index.d.ts +4 -4
  213. package/lib/components/ng-list-item/utils/matrix-3d.d.ts +7 -7
  214. package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.d.ts +104 -104
  215. package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.d.ts +10 -10
  216. package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.d.ts +17 -17
  217. package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.d.ts +9 -9
  218. package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.d.ts +62 -62
  219. package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.d.ts +9 -9
  220. package/lib/components/ng-prerender-container/core/index.d.ts +2 -2
  221. package/lib/components/ng-prerender-container/core/prerender-track-box.d.ts +35 -35
  222. package/lib/components/ng-prerender-container/events/index.d.ts +6 -6
  223. package/lib/components/ng-prerender-container/interfaces/index.d.ts +2 -2
  224. package/lib/components/ng-prerender-container/interfaces/refresh-params.d.ts +17 -17
  225. package/lib/components/ng-prerender-container/ng-prerender-container.component.d.ts +40 -40
  226. package/lib/components/ng-prerender-container/ng-prerender-container.module.d.ts +9 -9
  227. package/lib/components/ng-prerender-container/types/cache.d.ts +13 -13
  228. package/lib/components/ng-prerender-container/types/index.d.ts +2 -2
  229. package/lib/components/ng-scroll-bar/const/index.d.ts +3 -3
  230. package/lib/components/ng-scroll-bar/enums/index.d.ts +2 -2
  231. package/lib/components/ng-scroll-bar/enums/scrollbar-states.d.ts +5 -5
  232. package/lib/components/ng-scroll-bar/interfaces/index.d.ts +3 -3
  233. package/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.d.ts +26 -26
  234. package/lib/components/ng-scroll-bar/interfaces/scrollbar-drag-data.d.ts +13 -13
  235. package/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.d.ts +16 -16
  236. package/lib/components/ng-scroll-bar/ng-scroll-bar.component.d.ts +102 -102
  237. package/lib/components/ng-scroll-bar/ng-scroll-bar.module.d.ts +8 -8
  238. package/lib/components/ng-scroll-bar/ng-scroll-bar.service.d.ts +22 -22
  239. package/lib/components/ng-scroll-bar/types/index.d.ts +2 -2
  240. package/lib/components/ng-scroll-bar/types/scrollbar-state.d.ts +2 -2
  241. package/lib/components/ng-scroll-view/base/base-scroll-view.component.d.ts +89 -89
  242. package/lib/components/ng-scroll-view/const/index.d.ts +7 -7
  243. package/lib/components/ng-scroll-view/enums/index.d.ts +4 -4
  244. package/lib/components/ng-scroll-view/enums/scroller-direction.d.ts +10 -10
  245. package/lib/components/ng-scroll-view/enums/scroller-directions.d.ts +8 -8
  246. package/lib/components/ng-scroll-view/index.d.ts +5 -5
  247. package/lib/components/ng-scroll-view/interfaces/index.d.ts +2 -2
  248. package/lib/components/ng-scroll-view/interfaces/scroll-to-params.d.ts +22 -22
  249. package/lib/components/ng-scroll-view/ng-scroll-view.component.d.ts +124 -124
  250. package/lib/components/ng-scroll-view/utils/calculate-direction.d.ts +10 -7
  251. package/lib/components/ng-scroll-view/utils/calculate-velocity.d.ts +7 -7
  252. package/lib/components/ng-scroll-view/utils/get-dir.d.ts +7 -7
  253. package/lib/components/ng-scroll-view/utils/index.d.ts +5 -5
  254. package/lib/components/ng-scroll-view/utils/matrix-3d.d.ts +7 -7
  255. package/lib/components/ng-scroll-view/utils/scroll-box.d.ts +39 -39
  256. package/lib/components/ng-scroller/enums/index.d.ts +4 -4
  257. package/lib/components/ng-scroller/enums/scroller-direction.d.ts +4 -4
  258. package/lib/components/ng-scroller/enums/scroller-directions.d.ts +3 -3
  259. package/lib/components/ng-scroller/ng-scroller.component.d.ts +164 -164
  260. package/lib/components/ng-scroller/ng-scroller.module.d.ts +11 -11
  261. package/lib/components/ng-scroller/utils/index.d.ts +2 -2
  262. package/lib/components/ng-scroller/utils/scroll-box.d.ts +40 -40
  263. package/lib/const/index.d.ts +153 -153
  264. package/lib/core/cache-map.d.ts +46 -46
  265. package/lib/core/const/index.d.ts +1 -1
  266. package/lib/core/enums/index.d.ts +2 -2
  267. package/lib/core/enums/item-display-methods.d.ts +12 -12
  268. package/lib/core/events/index.d.ts +2 -2
  269. package/lib/core/events/track-box-events.d.ts +10 -10
  270. package/lib/core/interfaces/get-item-position-options.d.ts +10 -10
  271. package/lib/core/interfaces/get-metrics-returns.d.ts +11 -11
  272. package/lib/core/interfaces/index.d.ts +8 -8
  273. package/lib/core/interfaces/item.d.ts +9 -9
  274. package/lib/core/interfaces/metrics.d.ts +51 -51
  275. package/lib/core/interfaces/recalculate-metrics-options.d.ts +33 -32
  276. package/lib/core/interfaces/update-collection-options.d.ts +10 -10
  277. package/lib/core/interfaces/update-collection-returns.d.ts +14 -14
  278. package/lib/core/track-box.d.ts +153 -153
  279. package/lib/core/tracker.d.ts +55 -55
  280. package/lib/core/types/cache-map-events.d.ts +8 -8
  281. package/lib/core/types/cache-map-listeners.d.ts +9 -9
  282. package/lib/core/types/cache.d.ts +12 -12
  283. package/lib/core/types/index.d.ts +6 -6
  284. package/lib/core/types/on-change-event-listener.d.ts +7 -7
  285. package/lib/core/types/on-tick-event-listener.d.ts +7 -7
  286. package/lib/core/utils/get-service-id-prop.d.ts +7 -7
  287. package/lib/core/utils/index.d.ts +2 -2
  288. package/lib/directives/index.d.ts +3 -3
  289. package/lib/directives/locale-sensitive/locale-sensitive.directive.d.ts +29 -29
  290. package/lib/directives/locale-sensitive/locale-sensitive.module.d.ts +8 -8
  291. package/lib/directives/virtual-click/virtual-click.directive.d.ts +22 -22
  292. package/lib/directives/virtual-click/virtual-click.module.d.ts +8 -8
  293. package/lib/enums/alignments.d.ts +10 -10
  294. package/lib/enums/collapsing-modes.d.ts +20 -20
  295. package/lib/enums/collection-modes.d.ts +16 -16
  296. package/lib/enums/directions.d.ts +16 -16
  297. package/lib/enums/focus-alignments.d.ts +12 -12
  298. package/lib/enums/index.d.ts +11 -11
  299. package/lib/enums/selecting-modes-types.d.ts +20 -20
  300. package/lib/enums/selecting-modes.d.ts +20 -20
  301. package/lib/enums/snap-to-item-aligns.d.ts +20 -20
  302. package/lib/enums/snapping-methods.d.ts +16 -16
  303. package/lib/enums/spreading-modes.d.ts +16 -16
  304. package/lib/enums/text-directions.d.ts +12 -12
  305. package/lib/interfaces/animation-params.d.ts +14 -14
  306. package/lib/interfaces/base-virtual-list-item-component.d.ts +23 -23
  307. package/lib/interfaces/index.d.ts +11 -11
  308. package/lib/interfaces/item-transformation.d.ts +22 -22
  309. package/lib/interfaces/point.d.ts +16 -16
  310. package/lib/interfaces/rect.d.ts +17 -17
  311. package/lib/interfaces/render-stabilizer-options.d.ts +12 -12
  312. package/lib/interfaces/scroll-event.d.ts +58 -58
  313. package/lib/interfaces/scroll-options.d.ts +28 -28
  314. package/lib/interfaces/scroll-params.d.ts +17 -17
  315. package/lib/interfaces/scroll-to-params.d.ts +7 -7
  316. package/lib/interfaces/scrolling-settings.d.ts +38 -38
  317. package/lib/interfaces/size.d.ts +16 -16
  318. package/lib/models/collection.model.d.ts +9 -9
  319. package/lib/models/component.model.d.ts +3 -3
  320. package/lib/models/display-object-config.model.d.ts +21 -21
  321. package/lib/models/display-object-measures.model.d.ts +45 -45
  322. package/lib/models/index.d.ts +9 -9
  323. package/lib/models/item-config-map.model.d.ts +35 -35
  324. package/lib/models/item.model.d.ts +17 -17
  325. package/lib/models/render-collection.model.d.ts +9 -9
  326. package/lib/models/render-item-config.model.d.ts +119 -119
  327. package/lib/models/render-item-measures.model.d.ts +116 -116
  328. package/lib/models/render-item.model.d.ts +40 -40
  329. package/lib/ng-virtual-list-public.service.d.ts +92 -92
  330. package/lib/ng-virtual-list.component.d.ts +771 -770
  331. package/lib/ng-virtual-list.module.d.ts +12 -12
  332. package/lib/ng-virtual-list.service.d.ts +153 -153
  333. package/lib/transformations/deck-of-cards-3d.d.ts +54 -54
  334. package/lib/transformations/deck-of-cards.d.ts +50 -50
  335. package/lib/transformations/event-horizon.d.ts +26 -26
  336. package/lib/transformations/index.d.ts +7 -7
  337. package/lib/transformations/linear.d.ts +26 -26
  338. package/lib/transformations/swipe-3d.d.ts +38 -38
  339. package/lib/types/alignment.d.ts +8 -8
  340. package/lib/types/arithmetic-expression.d.ts +10 -10
  341. package/lib/types/collapsing-mode.d.ts +8 -8
  342. package/lib/types/collection-mode.d.ts +8 -8
  343. package/lib/types/color.d.ts +4 -4
  344. package/lib/types/direction.d.ts +8 -8
  345. package/lib/types/float-or-persentage-value.d.ts +7 -7
  346. package/lib/types/focus-alignment.d.ts +8 -8
  347. package/lib/types/focus-item-params.d.ts +13 -13
  348. package/lib/types/gradient-color-position.d.ts +7 -7
  349. package/lib/types/gradient-color-positions.d.ts +8 -8
  350. package/lib/types/id.d.ts +7 -7
  351. package/lib/types/index.d.ts +20 -20
  352. package/lib/types/item-transform.d.ts +9 -9
  353. package/lib/types/scroll-direction.d.ts +8 -8
  354. package/lib/types/selecting-mode.d.ts +8 -8
  355. package/lib/types/snap-to-item-align.d.ts +8 -8
  356. package/lib/types/snapping-distance.d.ts +8 -8
  357. package/lib/types/snapping-method.d.ts +10 -10
  358. package/lib/types/spreading-mode.d.ts +8 -8
  359. package/lib/types/text-direction.d.ts +10 -10
  360. package/lib/utils/animator/animator.d.ts +16 -16
  361. package/lib/utils/animator/const/index.d.ts +1 -1
  362. package/lib/utils/animator/ease.d.ts +2 -2
  363. package/lib/utils/animator/index.d.ts +6 -6
  364. package/lib/utils/animator/interfaces/animator-params.d.ts +18 -18
  365. package/lib/utils/animator/interfaces/animator-update-data.d.ts +13 -13
  366. package/lib/utils/animator/interfaces/index.d.ts +3 -3
  367. package/lib/utils/animator/types/easing.d.ts +7 -7
  368. package/lib/utils/animator/types/index.d.ts +2 -2
  369. package/lib/utils/buffer-interpolation.d.ts +5 -5
  370. package/lib/utils/cmap.d.ts +16 -16
  371. package/lib/utils/debounce.d.ts +25 -25
  372. package/lib/utils/disposable-component.d.ts +15 -15
  373. package/lib/utils/event-emitter/event-emitter.d.ts +42 -42
  374. package/lib/utils/event-emitter/index.d.ts +4 -4
  375. package/lib/utils/event-emitter/interfaces/event-emitter.d.ts +37 -37
  376. package/lib/utils/event-emitter/interfaces/index.d.ts +2 -2
  377. package/lib/utils/get-scroll-state-version.d.ts +1 -1
  378. package/lib/utils/get-selector-by-item-id.d.ts +2 -2
  379. package/lib/utils/index.d.ts +6 -6
  380. package/lib/utils/is-collapse-mode.d.ts +8 -8
  381. package/lib/utils/is-collection-mode.d.ts +8 -8
  382. package/lib/utils/is-direction.d.ts +8 -8
  383. package/lib/utils/is-persentage-value.d.ts +7 -7
  384. package/lib/utils/is-select-mode.d.ts +8 -8
  385. package/lib/utils/is-spreading-mode.d.ts +8 -8
  386. package/lib/utils/list-validators.d.ts +2 -2
  387. package/lib/utils/normalize-collection.d.ts +8 -8
  388. package/lib/utils/object.d.ts +4 -4
  389. package/lib/utils/parse-arithmetic-expression.d.ts +8 -8
  390. package/lib/utils/parse-float-or-persentage-value.d.ts +7 -7
  391. package/lib/utils/screen-reader-formatter.d.ts +7 -4
  392. package/lib/utils/scroll-event.d.ts +48 -48
  393. package/lib/utils/scrolling-direction.d.ts +17 -17
  394. package/lib/utils/snapping-method.d.ts +3 -3
  395. package/lib/utils/toggle-class-name.d.ts +7 -7
  396. package/lib/utils/validation.d.ts +35 -35
  397. package/package.json +11 -5
  398. package/public-api.d.ts +16 -16
  399. package/esm2022/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +0 -315
  400. package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +0 -200
  401. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +0 -279
  402. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +0 -94
  403. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +0 -142
  404. package/esm2022/lib/components/ng-prerender-container/core/prerender-track-box.mjs +0 -198
  405. package/esm2022/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +0 -93
  406. package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.mjs +0 -25
  407. package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +0 -324
  408. package/esm2022/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +0 -262
  409. package/esm2022/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +0 -859
  410. package/esm2022/lib/components/ng-scroll-view/utils/calculate-direction.mjs +0 -17
  411. package/esm2022/lib/components/ng-scroll-view/utils/scroll-box.mjs +0 -45
  412. package/esm2022/lib/components/ng-scroller/ng-scroller.component.mjs +0 -525
  413. package/esm2022/lib/components/ng-scroller/utils/scroll-box.mjs +0 -52
  414. package/esm2022/lib/core/cache-map.mjs +0 -101
  415. package/esm2022/lib/core/interfaces/recalculate-metrics-options.mjs +0 -2
  416. package/esm2022/lib/core/track-box.mjs +0 -1353
  417. package/esm2022/lib/core/tracker.mjs +0 -207
  418. package/esm2022/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +0 -68
  419. package/esm2022/lib/directives/virtual-click/virtual-click.directive.mjs +0 -67
  420. package/esm2022/lib/ng-virtual-list-public.service.mjs +0 -120
  421. package/esm2022/lib/ng-virtual-list.component.mjs +0 -3246
  422. package/esm2022/lib/ng-virtual-list.service.mjs +0 -431
  423. package/esm2022/lib/transformations/deck-of-cards-3d.mjs +0 -57
  424. package/esm2022/lib/transformations/deck-of-cards.mjs +0 -54
  425. package/esm2022/lib/transformations/event-horizon.mjs +0 -47
  426. package/esm2022/lib/transformations/linear.mjs +0 -47
  427. package/esm2022/lib/transformations/swipe-3d.mjs +0 -51
  428. package/esm2022/lib/utils/animator/animator.mjs +0 -78
  429. package/esm2022/lib/utils/animator/interfaces/animator-params.mjs +0 -2
  430. package/esm2022/lib/utils/animator/interfaces/animator-update-data.mjs +0 -2
  431. package/esm2022/lib/utils/animator/types/easing.mjs +0 -2
  432. package/esm2022/lib/utils/buffer-interpolation.mjs +0 -29
  433. package/esm2022/lib/utils/cmap.mjs +0 -34
  434. package/esm2022/lib/utils/debounce.mjs +0 -61
  435. package/esm2022/lib/utils/disposable-component.mjs +0 -27
  436. package/esm2022/lib/utils/event-emitter/event-emitter.mjs +0 -105
  437. package/esm2022/lib/utils/event-emitter/interfaces/event-emitter.mjs +0 -2
  438. package/esm2022/lib/utils/get-scroll-state-version.mjs +0 -12
  439. package/esm2022/lib/utils/is-collapse-mode.mjs +0 -18
  440. package/esm2022/lib/utils/is-direction.mjs +0 -15
  441. package/esm2022/lib/utils/is-persentage-value.mjs +0 -14
  442. package/esm2022/lib/utils/is-select-mode.mjs +0 -18
  443. package/esm2022/lib/utils/list-validators.mjs +0 -27
  444. package/esm2022/lib/utils/normalize-collection.mjs +0 -42
  445. package/esm2022/lib/utils/object.mjs +0 -28
  446. package/esm2022/lib/utils/parse-arithmetic-expression.mjs +0 -53
  447. package/esm2022/lib/utils/parse-float-or-persentage-value.mjs +0 -17
  448. package/esm2022/lib/utils/screen-reader-formatter.mjs +0 -43
  449. package/esm2022/lib/utils/scroll-event.mjs +0 -48
  450. package/esm2022/lib/utils/scrolling-direction.mjs +0 -29
  451. package/esm2022/lib/utils/toggle-class-name.mjs +0 -15
  452. package/fesm2022/ng-virtual-list.mjs.map +0 -1
@@ -0,0 +1,200 @@
1
+ import { ChangeDetectionStrategy, Component, inject, Injector } from '@angular/core';
2
+ import { map, tap, combineLatest, fromEvent, switchMap, of, debounceTime, BehaviorSubject, takeUntil } from 'rxjs';
3
+ import { DEFAULT_CLICK_DISTANCE, NAVIGATION_BY_KEYBOARD_TIMER, VISIBILITY_HIDDEN, } from '../../const';
4
+ import { BaseVirtualListItemComponent } from './base';
5
+ import { SelectingModesTypes } from '../../enums/selecting-modes-types';
6
+ import { getListElementByIndex } from './utils';
7
+ import { ATTR_AREA_SELECTED, EVENT_FOCUS_IN, EVENT_FOCUS_OUT, EVENT_KEY_DOWN, KEY_ARR_DOWN, KEY_ARR_LEFT, KEY_ARR_RIGHT, KEY_ARR_UP, KEY_SPACE, NGVL_VISIBILITY, } from './const';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common";
10
+ import * as i2 from "../../directives/virtual-click/virtual-click.directive";
11
+ /**
12
+ * Virtual list component.
13
+ * Maximum performance for extremely large lists.
14
+ * It is based on algorithms for virtualization of screen objects.
15
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/ng-virtual-list-item.component.ts
16
+ * @author Evgenii Alexandrovich Grebennikov
17
+ * @email djonnyx@gmail.com
18
+ */
19
+ export class NgVirtualListItemComponent extends BaseVirtualListItemComponent {
20
+ constructor() {
21
+ super();
22
+ this._$maxClickDistance = new BehaviorSubject(DEFAULT_CLICK_DISTANCE);
23
+ this.$maxClickDistance = this._$maxClickDistance.asObservable();
24
+ this._injector = inject(Injector);
25
+ }
26
+ ngOnInit() {
27
+ this._service.$clickDistance.pipe(takeUntil(this._$unsubscribe), tap(v => {
28
+ this._$maxClickDistance.next(v);
29
+ })).subscribe();
30
+ this._service.$langTextDir.pipe(takeUntil(this._$unsubscribe), tap(v => {
31
+ this._langTextDir = v;
32
+ })).subscribe();
33
+ this._service.$scrollBarSize.pipe(takeUntil(this._$unsubscribe), tap(v => {
34
+ this._scrollBarSize = v;
35
+ })).subscribe();
36
+ const $data = this.$data, $focused = this.$focused;
37
+ fromEvent(this.element, EVENT_FOCUS_IN).pipe(takeUntil(this._$unsubscribe), tap(e => {
38
+ this._service.focusedId = this.itemId ?? null;
39
+ this._$focused.next(true);
40
+ this.updateConfig(this._data);
41
+ this.updatePartStr(this._data, this._isSelected, this._isCollapsed);
42
+ })).subscribe(),
43
+ fromEvent(this.element, EVENT_FOCUS_OUT).pipe(takeUntil(this._$unsubscribe), tap(e => {
44
+ this._$focused.next(false);
45
+ this.updateConfig(this._data);
46
+ this.updatePartStr(this._data, this._isSelected, this._isCollapsed);
47
+ })).subscribe();
48
+ $focused.pipe(takeUntil(this._$unsubscribe), debounceTime(this.getNavigationTimeout()), switchMap(v => {
49
+ if (v) {
50
+ return this.keyKode();
51
+ }
52
+ return of(false);
53
+ })).subscribe();
54
+ combineLatest([$data, this._service.$selectingMode, this._service.$selectedIds, this._service.$collapsedIds]).pipe(takeUntil(this._$unsubscribe), map(([, m, selectedIds, collapsedIds]) => ({ method: m, selectedIds, collapsedIds })), tap(({ method, selectedIds, collapsedIds }) => {
55
+ switch (method) {
56
+ case SelectingModesTypes.SELECT: {
57
+ const id = selectedIds, isSelected = id === this.itemId;
58
+ this.element.setAttribute(ATTR_AREA_SELECTED, String(isSelected));
59
+ this.isSelected = isSelected;
60
+ break;
61
+ }
62
+ case SelectingModesTypes.MULTI_SELECT: {
63
+ const actualIds = selectedIds, isSelected = this.itemId !== undefined && actualIds && actualIds.includes(this.itemId);
64
+ this.element.setAttribute(ATTR_AREA_SELECTED, String(isSelected));
65
+ this.isSelected = isSelected;
66
+ break;
67
+ }
68
+ case SelectingModesTypes.NONE:
69
+ default: {
70
+ this.element.removeAttribute(ATTR_AREA_SELECTED);
71
+ this.isSelected = false;
72
+ break;
73
+ }
74
+ }
75
+ const actualIds = collapsedIds, isCollapsed = this.itemId !== undefined && actualIds && actualIds.includes(this.itemId);
76
+ this._isCollapsed = isCollapsed;
77
+ this.updatePartStr(this._data, this._isSelected, isCollapsed);
78
+ this.updateConfig(this._data);
79
+ this.updateMeasures(this._data);
80
+ })).subscribe();
81
+ }
82
+ keyKode() {
83
+ return fromEvent(this.element, EVENT_KEY_DOWN).pipe(takeUntil(this._$unsubscribe), switchMap(e => {
84
+ switch (e.key) {
85
+ case KEY_SPACE: {
86
+ e.stopImmediatePropagation();
87
+ e.preventDefault();
88
+ if (!!this._data) {
89
+ this._service.select(this._data.id);
90
+ this._service.collapse(this._data.id);
91
+ }
92
+ break;
93
+ }
94
+ case KEY_ARR_LEFT:
95
+ if (!this._$config.getValue().isVertical) {
96
+ return this.toPrevItem(e);
97
+ }
98
+ break;
99
+ case KEY_ARR_UP:
100
+ if (this._$config.getValue().isVertical) {
101
+ return this.toPrevItem(e);
102
+ }
103
+ break;
104
+ case KEY_ARR_RIGHT:
105
+ if (!this._$config.getValue().isVertical) {
106
+ return this.toNextItem(e);
107
+ }
108
+ break;
109
+ case KEY_ARR_DOWN:
110
+ if (this._$config.getValue().isVertical) {
111
+ return this.toNextItem(e);
112
+ }
113
+ break;
114
+ }
115
+ return of(null);
116
+ }));
117
+ }
118
+ getNavigationTimeout() {
119
+ return this._service.snapToItem ?
120
+ Math.max(this._service.animationParams.snapToItem, this._service.animationParams.navigateByKeyboard ?? NAVIGATION_BY_KEYBOARD_TIMER) :
121
+ this._service.animationParams.navigateByKeyboard ?? NAVIGATION_BY_KEYBOARD_TIMER;
122
+ }
123
+ toNextItem(e) {
124
+ if (!!e && e.cancelable) {
125
+ e.stopImmediatePropagation();
126
+ e.preventDefault();
127
+ }
128
+ const index = this.focusNext();
129
+ if (index !== Number.MIN_SAFE_INTEGER) {
130
+ this._service.lastFocusedItemId = index;
131
+ }
132
+ return of(e).pipe(takeUntil(this._$unsubscribe), debounceTime(this.getNavigationTimeout()), switchMap(() => {
133
+ return this.keyKode();
134
+ }));
135
+ }
136
+ toPrevItem(e) {
137
+ if (!!e && e.cancelable) {
138
+ e.stopImmediatePropagation();
139
+ e.preventDefault();
140
+ }
141
+ const index = this.focusPrev();
142
+ if (index !== Number.MIN_SAFE_INTEGER) {
143
+ this._service.lastFocusedItemId = index;
144
+ }
145
+ return of(e).pipe(takeUntil(this._$unsubscribe), debounceTime(this.getNavigationTimeout()), switchMap(() => {
146
+ return this.keyKode();
147
+ }));
148
+ }
149
+ focusNext() {
150
+ if (this._service.listElement) {
151
+ const tabIndex = this._data?.config?.tabIndex ?? 0, length = this._data?.config.totalItems ?? 0, l = length > 0 ? (this._service.isInfinity ? (length + 1) : length) : 0;
152
+ let index = tabIndex;
153
+ while (index <= l) {
154
+ index++;
155
+ const element = this._service.listElement.querySelector(getListElementByIndex(index));
156
+ if (!!element && element.getAttribute(NGVL_VISIBILITY) !== VISIBILITY_HIDDEN) {
157
+ const focused = this._service.focus(element);
158
+ if (focused) {
159
+ return index;
160
+ }
161
+ }
162
+ }
163
+ }
164
+ return Number.MIN_SAFE_INTEGER;
165
+ }
166
+ focusPrev() {
167
+ if (this._service.listElement) {
168
+ const tabIndex = this._data?.config?.tabIndex ?? 0, min = -(this._data?.config?.layoutIndexOffset ?? 0);
169
+ let index = tabIndex;
170
+ while (index >= min) {
171
+ index--;
172
+ const element = this._service.listElement.querySelector(getListElementByIndex(index));
173
+ if (!!element && element.getAttribute(NGVL_VISIBILITY) !== VISIBILITY_HIDDEN) {
174
+ this._service.focus(element);
175
+ return index;
176
+ }
177
+ }
178
+ }
179
+ return Number.MIN_SAFE_INTEGER;
180
+ }
181
+ updateConfig(v) {
182
+ this._$config.next({
183
+ ...v?.config || {}, selected: this._isSelected, collapsed: this._isCollapsed, focused: this._$focused.getValue(),
184
+ });
185
+ this._cdr.markForCheck();
186
+ }
187
+ onClickHandler() {
188
+ this._service.virtualClick(this._data);
189
+ }
190
+ }
191
+ NgVirtualListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgVirtualListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
192
+ NgVirtualListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NgVirtualListItemComponent, selector: "ng-virtual-list-item", host: { attributes: { "role": "listitem" }, classAttribute: "ngvl__item" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"($data | async) as data\">\r\n <div #item class=\"ngvl-item\" [ngClass]=\"($classes | async)!\" [part]=\"($part | async)!\" [attr.ngvl-index]=\"($index | async)!\"\r\n [attr.ngvl-visibility]=\"visibility\" tabindex=\"-1\">\r\n <div *ngIf=\"_blendColor\" class=\"ngvl-item__blend-color\" [style.--blend-color]=\"_blendColor\"></div>\r\n <div #container virtualClick [part]=\"$fxPart | async\" [maxClickDistance]=\"$maxClickDistance | async\"\r\n class=\"ngvl-item__container\" [ngClass]=\"($classes | async)!\" (onVirtualClick)=\"onClickHandler()\">\r\n <ng-container [ngTemplateOutlet]=\"itemRenderer ?? null\"\r\n [ngTemplateOutletContext]=\"$templateContext | async\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-container>", styles: [":host{display:block;position:absolute;left:0;top:0;box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-moz-user-drag:none;text-rendering:optimizeSpeed;image-rendering:auto}.ngvl-item{position:relative;margin:0;padding:0;overflow:hidden;outline:none;width:inherit;height:inherit;box-sizing:border-box}.ngvl-item__blend-color{position:absolute;left:0;top:0;width:100%;height:100%;background-color:var(--blend-color);z-index:-1}.ngvl-item__container{margin:0;padding:0;width:100%;height:100%;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.VirtualClickDirective, selector: "[virtualClick]", inputs: ["maxClickDistance"], outputs: ["onVirtualClick"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgVirtualListItemComponent, decorators: [{
194
+ type: Component,
195
+ args: [{ selector: 'ng-virtual-list-item', host: {
196
+ 'class': 'ngvl__item',
197
+ 'role': 'listitem',
198
+ }, standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"($data | async) as data\">\r\n <div #item class=\"ngvl-item\" [ngClass]=\"($classes | async)!\" [part]=\"($part | async)!\" [attr.ngvl-index]=\"($index | async)!\"\r\n [attr.ngvl-visibility]=\"visibility\" tabindex=\"-1\">\r\n <div *ngIf=\"_blendColor\" class=\"ngvl-item__blend-color\" [style.--blend-color]=\"_blendColor\"></div>\r\n <div #container virtualClick [part]=\"$fxPart | async\" [maxClickDistance]=\"$maxClickDistance | async\"\r\n class=\"ngvl-item__container\" [ngClass]=\"($classes | async)!\" (onVirtualClick)=\"onClickHandler()\">\r\n <ng-container [ngTemplateOutlet]=\"itemRenderer ?? null\"\r\n [ngTemplateOutletContext]=\"$templateContext | async\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-container>", styles: [":host{display:block;position:absolute;left:0;top:0;box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-moz-user-drag:none;text-rendering:optimizeSpeed;image-rendering:auto}.ngvl-item{position:relative;margin:0;padding:0;overflow:hidden;outline:none;width:inherit;height:inherit;box-sizing:border-box}.ngvl-item__blend-color{position:absolute;left:0;top:0;width:100%;height:100%;background-color:var(--blend-color);z-index:-1}.ngvl-item__container{margin:0;padding:0;width:100%;height:100%;box-sizing:border-box}\n"] }]
199
+ }], ctorParameters: function () { return []; } });
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlydHVhbC1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1saXN0LWl0ZW0vbmctdmlydHVhbC1saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1saXN0LWl0ZW0vbmctdmlydHVhbC1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBYyxZQUFZLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvSCxPQUFPLEVBQ0wsc0JBQXNCLEVBQUUsNEJBQTRCLEVBQUUsaUJBQWlCLEdBQ3hFLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEQsT0FBTyxFQUNMLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQy9GLGFBQWEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGVBQWUsR0FDdEQsTUFBTSxTQUFTLENBQUM7Ozs7QUFFakI7Ozs7Ozs7R0FPRztBQVlILE1BQU0sT0FBTywwQkFBMkIs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MEIsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7U0FDekksQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDOzt1SEE1T1UsMEJBQTBCOzJHQUExQiwwQkFBMEIsK0pDbkN2QyxxekJBVWU7MkZEeUJGLDBCQUEwQjtrQkFYdEMsU0FBUzsrQkFDRSxzQkFBc0IsUUFHMUI7d0JBQ0osT0FBTyxFQUFFLFlBQVk7d0JBQ3JCLE1BQU0sRUFBRSxVQUFVO3FCQUNuQixjQUNXLEtBQUssbUJBQ0EsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtYXAsIHRhcCwgY29tYmluZUxhdGVzdCwgZnJvbUV2ZW50LCBzd2l0Y2hNYXAsIG9mLCBPYnNlcnZhYmxlLCBkZWJvdW5jZVRpbWUsIEJlaGF2aW9yU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IElSZW5kZXJWaXJ0dWFsTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvcmVuZGVyLWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBJZCB9IGZyb20gJy4uLy4uL3R5cGVzJztcclxuaW1wb3J0IHtcclxuICBERUZBVUxUX0NMSUNLX0RJU1RBTkNFLCBOQVZJR0FUSU9OX0JZX0tFWUJPQVJEX1RJTUVSLCBWSVNJQklMSVRZX0hJRERFTixcclxufSBmcm9tICcuLi8uLi9jb25zdCc7XHJcbmltcG9ydCB7IEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2Jhc2UnO1xyXG5pbXBvcnQgeyBTZWxlY3RpbmdNb2Rlc1R5cGVzIH0gZnJvbSAnLi4vLi4vZW51bXMvc2VsZWN0aW5nLW1vZGVzLXR5cGVzJztcclxuaW1wb3J0IHsgSURpc3BsYXlPYmplY3RDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBnZXRMaXN0RWxlbWVudEJ5SW5kZXggfSBmcm9tICcuL3V0aWxzJztcclxuaW1wb3J0IHtcclxuICBBVFRSX0FSRUFfU0VMRUNURUQsIEVWRU5UX0ZPQ1VTX0lOLCBFVkVOVF9GT0NVU19PVVQsIEVWRU5UX0tFWV9ET1dOLCBLRVlfQVJSX0RPV04sIEtFWV9BUlJfTEVGVCxcclxuICBLRVlfQVJSX1JJR0hULCBLRVlfQVJSX1VQLCBLRVlfU1BBQ0UsIE5HVkxfVklTSUJJTElUWSxcclxufSBmcm9tICcuL2NvbnN0JztcclxuXHJcbi8qKlxyXG4gKiBWaXJ0dWFsIGxpc3QgY29tcG9uZW50LlxyXG4gKiBNYXhpbXVtIHBlcmZvcm1hbmNlIGZvciBleHRyZW1lbHkgbGFyZ2UgbGlzdHMuXHJcbiAqIEl0IGlzIGJhc2VkIG9uIGFsZ29yaXRobXMgZm9yIHZpcnR1YWxpemF0aW9uIG9mIHNjcmVlbiBvYmplY3RzLlxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctbGlzdC1pdGVtL25nLXZpcnR1YWwtbGlzdC1pdGVtLmNvbXBvbmVudC50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmctdmlydHVhbC1saXN0LWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uZy12aXJ0dWFsLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbmctdmlydHVhbC1saXN0LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICAnY2xhc3MnOiAnbmd2bF9faXRlbScsXHJcbiAgICAncm9sZSc6ICdsaXN0aXRlbScsXHJcbiAgfSxcclxuICBzdGFuZGFsb25lOiBmYWxzZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nVmlydHVhbExpc3RJdGVtQ29tcG9uZW50IGV4dGVuZHMgQmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBfJG1heENsaWNrRGlzdGFuY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oREVGQVVMVF9DTElDS19ESVNUQU5DRSk7XHJcbiAgJG1heENsaWNrRGlzdGFuY2UgPSB0aGlzLl8kbWF4Q2xpY2tEaXN0YW5jZS5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgcHJvdGVjdGVkIF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2VydmljZS4kY2xpY2tEaXN0YW5jZS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgdGFwKHYgPT4ge1xyXG4gICAgICAgIHRoaXMuXyRtYXhDbGlja0Rpc3RhbmNlLm5leHQodik7XHJcbiAgICAgIH0pLFxyXG4gICAgKS5zdWJzY3JpYmUoKTtcclxuXHJcbiAgICB0aGlzLl9zZXJ2aWNlLiRsYW5nVGV4dERpci5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgdGFwKHYgPT4ge1xyXG4gICAgICAgIHRoaXMuX2xhbmdUZXh0RGlyID0gdjtcclxuICAgICAgfSksXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMuX3NlcnZpY2UuJHNjcm9sbEJhclNpemUucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICB0aGlzLl9zY3JvbGxCYXJTaXplID0gdjtcclxuICAgICAgfSksXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG5cclxuICAgIGNvbnN0ICRkYXRhID0gdGhpcy4kZGF0YSxcclxuICAgICAgJGZvY3VzZWQgPSB0aGlzLiRmb2N1c2VkO1xyXG5cclxuXHJcbiAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50LCBFVkVOVF9GT0NVU19JTikucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgIHRhcChlID0+IHtcclxuICAgICAgICB0aGlzLl9zZXJ2aWNlLmZvY3VzZWRJZCA9IHRoaXMuaXRlbUlkID8/IG51bGw7XHJcbiAgICAgICAgdGhpcy5fJGZvY3VzZWQubmV4dCh0cnVlKTtcclxuXHJcbiAgICAgICAgdGhpcy51cGRhdGVDb25maWcodGhpcy5fZGF0YSk7XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlUGFydFN0cih0aGlzLl9kYXRhLCB0aGlzLl9pc1NlbGVjdGVkLCB0aGlzLl9pc0NvbGxhcHNlZCk7XHJcbiAgICAgIH0pLFxyXG4gICAgKS5zdWJzY3JpYmUoKSxcclxuXHJcbiAgICAgIGZyb21FdmVudCh0aGlzLmVsZW1lbnQsIEVWRU5UX0ZPQ1VTX09VVCkucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgICB0YXAoZSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl8kZm9jdXNlZC5uZXh0KGZhbHNlKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNvbmZpZyh0aGlzLl9kYXRhKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZVBhcnRTdHIodGhpcy5fZGF0YSwgdGhpcy5faXNTZWxlY3RlZCwgdGhpcy5faXNDb2xsYXBzZWQpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICApLnN1YnNjcmliZSgpO1xyXG5cclxuICAgICRmb2N1c2VkLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLl8kdW5zdWJzY3JpYmUpLFxyXG4gICAgICBkZWJvdW5jZVRpbWUodGhpcy5nZXROYXZpZ2F0aW9uVGltZW91dCgpKSxcclxuICAgICAgc3dpdGNoTWFwKHYgPT4ge1xyXG4gICAgICAgIGlmICh2KSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5rZXlLb2RlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgKS5zdWJzY3JpYmUoKTtcclxuXHJcbiAgICBjb21iaW5lTGF0ZXN0KFskZGF0YSwgdGhpcy5fc2VydmljZS4kc2VsZWN0aW5nTW9kZSwgdGhpcy5fc2VydmljZS4kc2VsZWN0ZWRJZHMsIHRoaXMuX3NlcnZpY2UuJGNvbGxhcHNlZElkc10pLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLl8kdW5zdWJzY3JpYmUpLFxyXG4gICAgICBtYXAoKFssIG0sIHNlbGVjdGVkSWRzLCBjb2xsYXBzZWRJZHNdKSA9PiAoeyBtZXRob2Q6IG0sIHNlbGVjdGVkSWRzLCBjb2xsYXBzZWRJZHMgfSkpLFxyXG4gICAgICB0YXAoKHsgbWV0aG9kLCBzZWxlY3RlZElkcywgY29sbGFwc2VkSWRzIH0pID0+IHtcclxuICAgICAgICBzd2l0Y2ggKG1ldGhvZCkge1xyXG4gICAgICAgICAgY2FzZSBTZWxlY3RpbmdNb2Rlc1R5cGVzLlNFTEVDVDoge1xyXG4gICAgICAgICAgICBjb25zdCBpZCA9IHNlbGVjdGVkSWRzIGFzIElkIHwgdW5kZWZpbmVkLCBpc1NlbGVjdGVkID0gaWQgPT09IHRoaXMuaXRlbUlkO1xyXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKEFUVFJfQVJFQV9TRUxFQ1RFRCwgU3RyaW5nKGlzU2VsZWN0ZWQpKTtcclxuICAgICAgICAgICAgdGhpcy5pc1NlbGVjdGVkID0gaXNTZWxlY3RlZDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjYXNlIFNlbGVjdGluZ01vZGVzVHlwZXMuTVVMVElfU0VMRUNUOiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFjdHVhbElkcyA9IHNlbGVjdGVkSWRzIGFzIEFycmF5PElkPiwgaXNTZWxlY3RlZCA9IHRoaXMuaXRlbUlkICE9PSB1bmRlZmluZWQgJiYgYWN0dWFsSWRzICYmIGFjdHVhbElkcy5pbmNsdWRlcyh0aGlzLml0ZW1JZCk7XHJcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoQVRUUl9BUkVBX1NFTEVDVEVELCBTdHJpbmcoaXNTZWxlY3RlZCkpO1xyXG4gICAgICAgICAgICB0aGlzLmlzU2VsZWN0ZWQgPSBpc1NlbGVjdGVkO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNhc2UgU2VsZWN0aW5nTW9kZXNUeXBlcy5OT05FOlxyXG4gICAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKEFUVFJfQVJFQV9TRUxFQ1RFRCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGFjdHVhbElkcyA9IGNvbGxhcHNlZElkcywgaXNDb2xsYXBzZWQgPSB0aGlzLml0ZW1JZCAhPT0gdW5kZWZpbmVkICYmIGFjdHVhbElkcyAmJiBhY3R1YWxJZHMuaW5jbHVkZXModGhpcy5pdGVtSWQpO1xyXG4gICAgICAgIHRoaXMuX2lzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlUGFydFN0cih0aGlzLl9kYXRhLCB0aGlzLl9pc1NlbGVjdGVkLCBpc0NvbGxhcHNlZCk7XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlQ29uZmlnKHRoaXMuX2RhdGEpO1xyXG5cclxuICAgICAgICB0aGlzLnVwZGF0ZU1lYXN1cmVzKHRoaXMuX2RhdGEpO1xyXG4gICAgICB9KSxcclxuICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGtleUtvZGUoKSB7XHJcbiAgICByZXR1cm4gZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHRoaXMuZWxlbWVudCwgRVZFTlRfS0VZX0RPV04pLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLl8kdW5zdWJzY3JpYmUpLFxyXG4gICAgICBzd2l0Y2hNYXAoZSA9PiB7XHJcbiAgICAgICAgc3dpdGNoIChlLmtleSkge1xyXG4gICAgICAgICAgY2FzZSBLRVlfU1BBQ0U6IHtcclxuICAgICAgICAgICAgZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBpZiAoISF0aGlzLl9kYXRhKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fc2VydmljZS5zZWxlY3QodGhpcy5fZGF0YSEuaWQhKTtcclxuICAgICAgICAgICAgICB0aGlzLl9zZXJ2aWNlLmNvbGxhcHNlKHRoaXMuX2RhdGEhLmlkISk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjYXNlIEtFWV9BUlJfTEVGVDpcclxuICAgICAgICAgICAgaWYgKCF0aGlzLl8kY29uZmlnLmdldFZhbHVlKCkuaXNWZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnRvUHJldkl0ZW0oZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIEtFWV9BUlJfVVA6XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl8kY29uZmlnLmdldFZhbHVlKCkuaXNWZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnRvUHJldkl0ZW0oZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIEtFWV9BUlJfUklHSFQ6XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5fJGNvbmZpZy5nZXRWYWx1ZSgpLmlzVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy50b05leHRJdGVtKGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBLRVlfQVJSX0RPV046XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl8kY29uZmlnLmdldFZhbHVlKCkuaXNWZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnRvTmV4dEl0ZW0oZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZihudWxsKTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXROYXZpZ2F0aW9uVGltZW91dCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zZXJ2aWNlLnNuYXBUb0l0ZW0gP1xyXG4gICAgICBNYXRoLm1heCh0aGlzLl9zZXJ2aWNlLmFuaW1hdGlvblBhcmFtcy5zbmFwVG9JdGVtLCB0aGlzLl9zZXJ2aWNlLmFuaW1hdGlvblBhcmFtcy5uYXZpZ2F0ZUJ5S2V5Ym9hcmQgPz8gTkFWSUdBVElPTl9CWV9LRVlCT0FSRF9USU1FUikgOlxyXG4gICAgICB0aGlzLl9zZXJ2aWNlLmFuaW1hdGlvblBhcmFtcy5uYXZpZ2F0ZUJ5S2V5Ym9hcmQgPz8gTkFWSUdBVElPTl9CWV9LRVlCT0FSRF9USU1FUjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdG9OZXh0SXRlbShlOiBFdmVudCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAoISFlICYmIGUuY2FuY2VsYWJsZSkge1xyXG4gICAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZvY3VzTmV4dCgpO1xyXG4gICAgaWYgKGluZGV4ICE9PSBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUikge1xyXG4gICAgICB0aGlzLl9zZXJ2aWNlLmxhc3RGb2N1c2VkSXRlbUlkID0gaW5kZXg7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2YoZSkucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgIGRlYm91bmNlVGltZSh0aGlzLmdldE5hdmlnYXRpb25UaW1lb3V0KCkpLFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmtleUtvZGUoKTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b1ByZXZJdGVtKGU6IEV2ZW50KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmICghIWUgJiYgZS5jYW5jZWxhYmxlKSB7XHJcbiAgICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZm9jdXNQcmV2KCk7XHJcbiAgICBpZiAoaW5kZXggIT09IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSB7XHJcbiAgICAgIHRoaXMuX3NlcnZpY2UubGFzdEZvY3VzZWRJdGVtSWQgPSBpbmRleDtcclxuICAgIH1cclxuICAgIHJldHVybiBvZihlKS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZ2V0TmF2aWdhdGlvblRpbWVvdXQoKSksXHJcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMua2V5S29kZSgpO1xyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvY3VzTmV4dCgpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMuX3NlcnZpY2UubGlzdEVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgdGFiSW5kZXggPSB0aGlzLl9kYXRhPy5jb25maWc/LnRhYkluZGV4ID8/IDAsIGxlbmd0aCA9IHRoaXMuX2RhdGE/LmNvbmZpZy50b3RhbEl0ZW1zID8/IDAsXHJcbiAgICAgICAgbCA9IGxlbmd0aCA+IDAgPyAodGhpcy5fc2VydmljZS5pc0luZmluaXR5ID8gKGxlbmd0aCArIDEpIDogbGVuZ3RoKSA6IDA7XHJcbiAgICAgIGxldCBpbmRleCA9IHRhYkluZGV4O1xyXG4gICAgICB3aGlsZSAoaW5kZXggPD0gbCkge1xyXG4gICAgICAgIGluZGV4Kys7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX3NlcnZpY2UubGlzdEVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oZ2V0TGlzdEVsZW1lbnRCeUluZGV4KGluZGV4KSk7XHJcbiAgICAgICAgaWYgKCEhZWxlbWVudCAmJiBlbGVtZW50LmdldEF0dHJpYnV0ZShOR1ZMX1ZJU0lCSUxJVFkpICE9PSBWSVNJQklMSVRZX0hJRERFTikge1xyXG4gICAgICAgICAgY29uc3QgZm9jdXNlZCA9IHRoaXMuX3NlcnZpY2UuZm9jdXMoZWxlbWVudCk7XHJcbiAgICAgICAgICBpZiAoZm9jdXNlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gaW5kZXg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvY3VzUHJldigpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMuX3NlcnZpY2UubGlzdEVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgdGFiSW5kZXggPSB0aGlzLl9kYXRhPy5jb25maWc/LnRhYkluZGV4ID8/IDAsIG1pbiA9IC0odGhpcy5fZGF0YT8uY29uZmlnPy5sYXlvdXRJbmRleE9mZnNldCA/PyAwKTtcclxuICAgICAgbGV0IGluZGV4ID0gdGFiSW5kZXg7XHJcbiAgICAgIHdoaWxlIChpbmRleCA+PSBtaW4pIHtcclxuICAgICAgICBpbmRleC0tO1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9zZXJ2aWNlLmxpc3RFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KGdldExpc3RFbGVtZW50QnlJbmRleChpbmRleCkpO1xyXG4gICAgICAgIGlmICghIWVsZW1lbnQgJiYgZWxlbWVudC5nZXRBdHRyaWJ1dGUoTkdWTF9WSVNJQklMSVRZKSAhPT0gVklTSUJJTElUWV9ISURERU4pIHtcclxuICAgICAgICAgIHRoaXMuX3NlcnZpY2UuZm9jdXMoZWxlbWVudCk7XHJcbiAgICAgICAgICByZXR1cm4gaW5kZXg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVI7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlQ29uZmlnKHY6IElSZW5kZXJWaXJ0dWFsTGlzdEl0ZW08YW55PiB8IG51bGwpIHtcclxuICAgIHRoaXMuXyRjb25maWcubmV4dCh7XHJcbiAgICAgIC4uLnY/LmNvbmZpZyB8fCB7fSBhcyBJRGlzcGxheU9iamVjdENvbmZpZywgc2VsZWN0ZWQ6IHRoaXMuX2lzU2VsZWN0ZWQsIGNvbGxhcHNlZDogdGhpcy5faXNDb2xsYXBzZWQsIGZvY3VzZWQ6IHRoaXMuXyRmb2N1c2VkLmdldFZhbHVlKCksXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrSGFuZGxlcigpIHtcclxuICAgIHRoaXMuX3NlcnZpY2UudmlydHVhbENsaWNrKHRoaXMuX2RhdGEpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiKCRkYXRhIHwgYXN5bmMpIGFzIGRhdGFcIj5cclxuICAgIDxkaXYgI2l0ZW0gY2xhc3M9XCJuZ3ZsLWl0ZW1cIiBbbmdDbGFzc109XCIoJGNsYXNzZXMgfCBhc3luYykhXCIgW3BhcnRdPVwiKCRwYXJ0IHwgYXN5bmMpIVwiIFthdHRyLm5ndmwtaW5kZXhdPVwiKCRpbmRleCB8IGFzeW5jKSFcIlxyXG4gICAgICAgIFthdHRyLm5ndmwtdmlzaWJpbGl0eV09XCJ2aXNpYmlsaXR5XCIgdGFiaW5kZXg9XCItMVwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJfYmxlbmRDb2xvclwiIGNsYXNzPVwibmd2bC1pdGVtX19ibGVuZC1jb2xvclwiIFtzdHlsZS4tLWJsZW5kLWNvbG9yXT1cIl9ibGVuZENvbG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiAjY29udGFpbmVyIHZpcnR1YWxDbGljayBbcGFydF09XCIkZnhQYXJ0IHwgYXN5bmNcIiBbbWF4Q2xpY2tEaXN0YW5jZV09XCIkbWF4Q2xpY2tEaXN0YW5jZSB8IGFzeW5jXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJuZ3ZsLWl0ZW1fX2NvbnRhaW5lclwiIFtuZ0NsYXNzXT1cIigkY2xhc3NlcyB8IGFzeW5jKSFcIiAob25WaXJ0dWFsQ2xpY2spPVwib25DbGlja0hhbmRsZXIoKVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1SZW5kZXJlciA/PyBudWxsXCJcclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCIkdGVtcGxhdGVDb250ZXh0IHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj4iXX0=
@@ -1,20 +1,20 @@
1
- import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { NgVirtualListItemComponent } from './ng-virtual-list-item.component';
4
- import { VirtualClickModule } from '../../directives';
5
- import * as i0 from "@angular/core";
6
- export class NgVirtualListItemModule {
7
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgVirtualListItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: NgVirtualListItemModule, declarations: [NgVirtualListItemComponent], imports: [CommonModule, VirtualClickModule], exports: [NgVirtualListItemComponent] });
9
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgVirtualListItemModule, imports: [CommonModule, VirtualClickModule] });
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgVirtualListItemModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- declarations: [NgVirtualListItemComponent],
15
- exports: [NgVirtualListItemComponent],
16
- imports: [CommonModule, VirtualClickModule],
17
- schemas: [NO_ERRORS_SCHEMA],
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlydHVhbC1saXN0LWl0ZW0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1saXN0LWl0ZW0vbmctdmlydHVhbC1saXN0LWl0ZW0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQVF0RCxNQUFNLE9BQU8sdUJBQXVCO3dHQUF2Qix1QkFBdUI7eUdBQXZCLHVCQUF1QixpQkFMbkIsMEJBQTBCLGFBRS9CLFlBQVksRUFBRSxrQkFBa0IsYUFEaEMsMEJBQTBCO3lHQUl6Qix1QkFBdUIsWUFIeEIsWUFBWSxFQUFFLGtCQUFrQjs7NEZBRy9CLHVCQUF1QjtrQkFObkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDMUMsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQztvQkFDM0MsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL25nLXZpcnR1YWwtbGlzdC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZpcnR1YWxDbGlja01vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtOZ1ZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW05nVmlydHVhbExpc3RJdGVtQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBWaXJ0dWFsQ2xpY2tNb2R1bGVdLFxyXG4gIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nVmlydHVhbExpc3RJdGVtTW9kdWxlIHsgfVxyXG4iXX0=
1
+ import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NgVirtualListItemComponent } from './ng-virtual-list-item.component';
4
+ import { VirtualClickModule } from '../../directives';
5
+ import * as i0 from "@angular/core";
6
+ export class NgVirtualListItemModule {
7
+ }
8
+ NgVirtualListItemModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgVirtualListItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ NgVirtualListItemModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NgVirtualListItemModule, declarations: [NgVirtualListItemComponent], imports: [CommonModule, VirtualClickModule], exports: [NgVirtualListItemComponent] });
10
+ NgVirtualListItemModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgVirtualListItemModule, imports: [CommonModule, VirtualClickModule] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgVirtualListItemModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [NgVirtualListItemComponent],
15
+ exports: [NgVirtualListItemComponent],
16
+ imports: [CommonModule, VirtualClickModule],
17
+ schemas: [NO_ERRORS_SCHEMA],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlydHVhbC1saXN0LWl0ZW0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1saXN0LWl0ZW0vbmctdmlydHVhbC1saXN0LWl0ZW0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQVF0RCxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3FIQUF2Qix1QkFBdUIsaUJBTG5CLDBCQUEwQixhQUUvQixZQUFZLEVBQUUsa0JBQWtCLGFBRGhDLDBCQUEwQjtxSEFJekIsdUJBQXVCLFlBSHhCLFlBQVksRUFBRSxrQkFBa0I7MkZBRy9CLHVCQUF1QjtrQkFObkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDMUMsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQztvQkFDM0MsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL25nLXZpcnR1YWwtbGlzdC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZpcnR1YWxDbGlja01vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtOZ1ZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW05nVmlydHVhbExpc3RJdGVtQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBWaXJ0dWFsQ2xpY2tNb2R1bGVdLFxyXG4gIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nVmlydHVhbExpc3RJdGVtTW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,10 +1,10 @@
1
- /**
2
- * createDisplayId
3
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/create-display-id.ts
4
- * @author Evgenii Alexandrovich Grebennikov
5
- * @email djonnyx@gmail.com
6
- */
7
- export const createDisplayId = (listId, id) => {
8
- return `${listId}-${id}`;
9
- };
1
+ /**
2
+ * createDisplayId
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/create-display-id.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export const createDisplayId = (listId, id) => {
8
+ return `${listId}-${id}`;
9
+ };
10
10
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRpc3BsYXktaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9jcmVhdGUtZGlzcGxheS1pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFVLEVBQUUsRUFBRTtJQUMxRCxPQUFPLEdBQUcsTUFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDO0FBQzdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBjcmVhdGVEaXNwbGF5SWRcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9jcmVhdGUtZGlzcGxheS1pZC50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVEaXNwbGF5SWQgPSAobGlzdElkOiBudW1iZXIsIGlkOiBudW1iZXIpID0+IHtcclxuICAgIHJldHVybiBgJHtsaXN0SWR9LSR7aWR9YDtcclxufTtcclxuIl19
@@ -1,20 +1,20 @@
1
- export const NGVL_INDEX = 'ngvl-index',
2
- /**
3
- * getListElementByIndex
4
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/get-element-by-index.ts
5
- * @author Evgenii Alexandrovich Grebennikov
6
- * @email djonnyx@gmail.com
7
- */
8
- getListElementByIndex = (index) => {
9
- return `[${NGVL_INDEX}="${index}"]`;
10
- },
11
- /**
12
- * getListElements
13
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/get-element-by-index.ts
14
- * @author Evgenii Alexandrovich Grebennikov
15
- * @email djonnyx@gmail.com
16
- */
17
- getListElements = () => {
18
- return `[${NGVL_INDEX}]`;
19
- };
1
+ export const NGVL_INDEX = 'ngvl-index',
2
+ /**
3
+ * getListElementByIndex
4
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/get-element-by-index.ts
5
+ * @author Evgenii Alexandrovich Grebennikov
6
+ * @email djonnyx@gmail.com
7
+ */
8
+ getListElementByIndex = (index) => {
9
+ return `[${NGVL_INDEX}="${index}"]`;
10
+ },
11
+ /**
12
+ * getListElements
13
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/get-element-by-index.ts
14
+ * @author Evgenii Alexandrovich Grebennikov
15
+ * @email djonnyx@gmail.com
16
+ */
17
+ getListElements = () => {
18
+ return `[${NGVL_INDEX}]`;
19
+ };
20
20
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVsZW1lbnQtYnktaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9nZXQtZWxlbWVudC1ieS1pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsWUFBWTtBQUNsQzs7Ozs7R0FLRztBQUNILHFCQUFxQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxJQUFJLFVBQVUsS0FBSyxLQUFLLElBQUksQ0FBQztBQUN4QyxDQUFDO0FBQ0Q7Ozs7O0dBS0c7QUFDSCxlQUFlLEdBQUcsR0FBRyxFQUFFO0lBQ25CLE9BQU8sSUFBSSxVQUFVLEdBQUcsQ0FBQztBQUM3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTkdWTF9JTkRFWCA9ICduZ3ZsLWluZGV4JyxcclxuICAgIC8qKlxyXG4gICAgICogZ2V0TGlzdEVsZW1lbnRCeUluZGV4XHJcbiAgICAgKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctbGlzdC1pdGVtL3V0aWxzL2dldC1lbGVtZW50LWJ5LWluZGV4LnRzXHJcbiAgICAgKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gICAgICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAgICAgKi9cclxuICAgIGdldExpc3RFbGVtZW50QnlJbmRleCA9IChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGBbJHtOR1ZMX0lOREVYfT1cIiR7aW5kZXh9XCJdYDtcclxuICAgIH0sXHJcbiAgICAvKipcclxuICAgICAqIGdldExpc3RFbGVtZW50c1xyXG4gICAgICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9nZXQtZWxlbWVudC1ieS1pbmRleC50c1xyXG4gICAgICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICAgICAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gICAgICovXHJcbiAgICBnZXRMaXN0RWxlbWVudHMgPSAoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGBbJHtOR1ZMX0lOREVYfV1gO1xyXG4gICAgfTtcclxuIl19
@@ -1,5 +1,5 @@
1
- import { getListElementByIndex, getListElements, NGVL_INDEX } from './get-element-by-index';
2
- import { createDisplayId } from './create-display-id';
3
- import { matrix3d } from './matrix-3d';
4
- export { createDisplayId, getListElementByIndex, getListElements, matrix3d, NGVL_INDEX, };
1
+ import { getListElementByIndex, getListElements, NGVL_INDEX } from './get-element-by-index';
2
+ import { createDisplayId } from './create-display-id';
3
+ import { matrix3d } from './matrix-3d';
4
+ export { createDisplayId, getListElementByIndex, getListElements, matrix3d, NGVL_INDEX, };
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXZDLE9BQU8sRUFDSCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZixRQUFRLEVBQ1IsVUFBVSxHQUNiLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRMaXN0RWxlbWVudEJ5SW5kZXgsIGdldExpc3RFbGVtZW50cywgTkdWTF9JTkRFWCB9IGZyb20gJy4vZ2V0LWVsZW1lbnQtYnktaW5kZXgnO1xyXG5pbXBvcnQgeyBjcmVhdGVEaXNwbGF5SWQgfSBmcm9tICcuL2NyZWF0ZS1kaXNwbGF5LWlkJztcclxuaW1wb3J0IHsgbWF0cml4M2QgfSBmcm9tICcuL21hdHJpeC0zZCc7XHJcblxyXG5leHBvcnQge1xyXG4gICAgY3JlYXRlRGlzcGxheUlkLFxyXG4gICAgZ2V0TGlzdEVsZW1lbnRCeUluZGV4LFxyXG4gICAgZ2V0TGlzdEVsZW1lbnRzLFxyXG4gICAgbWF0cml4M2QsXHJcbiAgICBOR1ZMX0lOREVYLFxyXG59Il19
@@ -1,18 +1,18 @@
1
- /**
2
- * matrix3d
3
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/matrix-3d.ts
4
- * @author Evgenii Alexandrovich Grebennikov
5
- * @email djonnyx@gmail.com
6
- */
7
- export const matrix3d = (x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY, rotationZ) => {
8
- return rotationZ !== 0 ? `${__matrix3d__(x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY)} rotateZ(${rotationZ}deg)` : __matrix3d__(x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY);
9
- };
10
- const __matrix3d__ = (x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY) => {
1
+ /**
2
+ * matrix3d
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/matrix-3d.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export const matrix3d = (x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY, rotationZ) => {
8
+ return rotationZ !== 0 ? `${__matrix3d__(x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY)} rotateZ(${rotationZ}deg)` : __matrix3d__(x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY);
9
+ };
10
+ const __matrix3d__ = (x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY) => {
11
11
  return `matrix3d(
12
12
  ${scaleX}, 0, ${rotationX}, 0,
13
13
  0, ${scaleY}, ${rotationY}, 0,
14
14
  0, 0, 1, 0,
15
15
  ${x}, ${y}, ${z}, ${scaleZ}
16
- )`;
17
- };
16
+ )`;
17
+ };
18
18
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LTNkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1saXN0LWl0ZW0vdXRpbHMvbWF0cml4LTNkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsTUFBYyxFQUFFLE1BQWMsRUFBRSxNQUFjLEVBQUUsU0FBaUIsRUFBRSxTQUFpQixFQUFFLFNBQWlCLEVBQUUsRUFBRTtJQUNuSyxPQUFPLFNBQVMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsWUFBWSxTQUFTLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNuTSxDQUFDLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLE1BQWMsRUFBRSxNQUFjLEVBQUUsTUFBYyxFQUFFLFNBQWlCLEVBQUUsU0FBaUIsRUFBRSxFQUFFO0lBQzdJLE9BQU87WUFDRyxNQUFNLDRCQUE0QixTQUFTOzhCQUN6QixNQUFNLFVBQVUsU0FBUzs7WUFFM0MsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsZUFBZSxNQUFNO1VBQzFELENBQUM7QUFDWCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogbWF0cml4M2RcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9tYXRyaXgtM2QudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgbWF0cml4M2QgPSAoeDogbnVtYmVyLCB5OiBudW1iZXIsIHo6IG51bWJlciwgc2NhbGVYOiBudW1iZXIsIHNjYWxlWTogbnVtYmVyLCBzY2FsZVo6IG51bWJlciwgcm90YXRpb25YOiBudW1iZXIsIHJvdGF0aW9uWTogbnVtYmVyLCByb3RhdGlvblo6IG51bWJlcikgPT4ge1xyXG4gIHJldHVybiByb3RhdGlvblogIT09IDAgPyBgJHtfX21hdHJpeDNkX18oeCwgeSwgeiwgc2NhbGVYLCBzY2FsZVksIHNjYWxlWiwgcm90YXRpb25YLCByb3RhdGlvblkpfSByb3RhdGVaKCR7cm90YXRpb25afWRlZylgIDogX19tYXRyaXgzZF9fKHgsIHksIHosIHNjYWxlWCwgc2NhbGVZLCBzY2FsZVosIHJvdGF0aW9uWCwgcm90YXRpb25ZKTtcclxufTtcclxuXHJcbmNvbnN0IF9fbWF0cml4M2RfXyA9ICh4OiBudW1iZXIsIHk6IG51bWJlciwgejogbnVtYmVyLCBzY2FsZVg6IG51bWJlciwgc2NhbGVZOiBudW1iZXIsIHNjYWxlWjogbnVtYmVyLCByb3RhdGlvblg6IG51bWJlciwgcm90YXRpb25ZOiBudW1iZXIpID0+IHtcclxuICByZXR1cm4gYG1hdHJpeDNkKFxyXG4gICAgICAgICAgJHtzY2FsZVh9LCAgICAgICAgMCwgICAgICAgICAgICAgICR7cm90YXRpb25YfSwgICAwLFxyXG4gICAgICAgICAgMCwgICAgICAgICAgICAgICAgJHtzY2FsZVl9LCAgICAgICR7cm90YXRpb25ZfSwgICAwLFxyXG4gICAgICAgICAgMCwgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgIDEsICAgICAgICAgICAgICAwLFxyXG4gICAgICAgICAgJHt4fSwgICAgICAgICAgICAgJHt5fSwgICAgICAgICAgICR7en0sICAgICAgICAgICAke3NjYWxlWn1cclxuICAgICAgICApYDtcclxufTtcclxuIl19