ng-virtual-list 14.12.0 → 14.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/README.md +1 -11
  2. package/esm2020/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +309 -0
  3. package/{esm2022 → esm2020}/lib/components/ng-list-item/base/index.mjs +2 -2
  4. package/{esm2022 → esm2020}/lib/components/ng-list-item/const/index.mjs +40 -40
  5. package/{esm2022 → esm2020}/lib/components/ng-list-item/interfaces/index.mjs +1 -1
  6. package/{esm2022 → esm2020}/lib/components/ng-list-item/interfaces/template-context.mjs +1 -1
  7. package/esm2020/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +200 -0
  8. package/{esm2022 → esm2020}/lib/components/ng-list-item/ng-virtual-list-item.module.mjs +20 -20
  9. package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/create-display-id.mjs +9 -9
  10. package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/get-element-by-index.mjs +19 -19
  11. package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/index.mjs +4 -4
  12. package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/matrix-3d.mjs +12 -12
  13. package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +278 -0
  14. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.mjs +21 -21
  15. package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +94 -0
  16. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.mjs +20 -20
  17. package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +141 -0
  18. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.mjs +20 -20
  19. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/core/index.mjs +2 -2
  20. package/esm2020/lib/components/ng-prerender-container/core/prerender-track-box.mjs +201 -0
  21. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/events/index.mjs +5 -5
  22. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/interfaces/index.mjs +1 -1
  23. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/interfaces/refresh-params.mjs +1 -1
  24. package/esm2020/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +90 -0
  25. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/ng-prerender-container.module.mjs +20 -20
  26. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/types/cache.mjs +1 -1
  27. package/{esm2022 → esm2020}/lib/components/ng-prerender-container/types/index.mjs +1 -1
  28. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/const/index.mjs +8 -8
  29. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/enums/index.mjs +2 -2
  30. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/enums/scrollbar-states.mjs +6 -6
  31. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/index.mjs +1 -1
  32. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.mjs +1 -1
  33. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/scrollbar-drag-data.mjs +1 -1
  34. package/esm2020/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.mjs +27 -0
  35. package/esm2020/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +324 -0
  36. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/ng-scroll-bar.module.mjs +19 -19
  37. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/ng-scroll-bar.service.mjs +38 -36
  38. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/types/index.mjs +1 -1
  39. package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/types/scrollbar-state.mjs +1 -1
  40. package/esm2020/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +260 -0
  41. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/const/index.mjs +9 -9
  42. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/index.mjs +2 -2
  43. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/scroller-direction.mjs +11 -11
  44. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/scroller-directions.mjs +1 -1
  45. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/index.mjs +3 -3
  46. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/interfaces/index.mjs +1 -1
  47. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/interfaces/scroll-to-params.mjs +1 -1
  48. package/esm2020/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +856 -0
  49. package/esm2020/lib/components/ng-scroll-view/utils/calculate-direction.mjs +17 -0
  50. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/calculate-velocity.mjs +11 -11
  51. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/get-dir.mjs +9 -9
  52. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/index.mjs +5 -5
  53. package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/matrix-3d.mjs +9 -9
  54. package/esm2020/lib/components/ng-scroll-view/utils/scroll-box.mjs +45 -0
  55. package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/index.mjs +2 -2
  56. package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/scroller-direction.mjs +5 -5
  57. package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/scroller-directions.mjs +1 -1
  58. package/esm2020/lib/components/ng-scroller/ng-scroller.component.mjs +521 -0
  59. package/{esm2022 → esm2020}/lib/components/ng-scroller/ng-scroller.module.mjs +22 -22
  60. package/{esm2022 → esm2020}/lib/components/ng-scroller/utils/index.mjs +2 -2
  61. package/esm2020/lib/components/ng-scroller/utils/interfaces/calculate-scroll-metrics.mjs +2 -0
  62. package/esm2020/lib/components/ng-scroller/utils/interfaces/calculate-scroll-params.mjs +2 -0
  63. package/esm2020/lib/components/ng-scroller/utils/interfaces/calculate-scroll-position-params.mjs +2 -0
  64. package/esm2020/lib/components/ng-scroller/utils/interfaces/index.mjs +2 -0
  65. package/esm2020/lib/components/ng-scroller/utils/scroll-box.mjs +52 -0
  66. package/{esm2022 → esm2020}/lib/const/index.mjs +164 -164
  67. package/esm2020/lib/core/cache-map.mjs +100 -0
  68. package/{esm2022 → esm2020}/lib/core/const/index.mjs +2 -2
  69. package/{esm2022 → esm2020}/lib/core/enums/index.mjs +2 -2
  70. package/{esm2022 → esm2020}/lib/core/enums/item-display-methods.mjs +13 -13
  71. package/{esm2022 → esm2020}/lib/core/events/index.mjs +2 -2
  72. package/{esm2022 → esm2020}/lib/core/events/track-box-events.mjs +11 -11
  73. package/{esm2022 → esm2020}/lib/core/interfaces/get-item-position-options.mjs +1 -1
  74. package/{esm2022 → esm2020}/lib/core/interfaces/get-metrics-returns.mjs +1 -1
  75. package/{esm2022 → esm2020}/lib/core/interfaces/index.mjs +1 -1
  76. package/{esm2022 → esm2020}/lib/core/interfaces/item.mjs +1 -1
  77. package/{esm2022 → esm2020}/lib/core/interfaces/metrics.mjs +1 -1
  78. package/esm2020/lib/core/interfaces/recalculate-metrics-options.mjs +2 -0
  79. package/{esm2022 → esm2020}/lib/core/interfaces/update-collection-options.mjs +1 -1
  80. package/{esm2022 → esm2020}/lib/core/interfaces/update-collection-returns.mjs +1 -1
  81. package/esm2020/lib/core/track-box.mjs +1352 -0
  82. package/esm2020/lib/core/tracker.mjs +209 -0
  83. package/{esm2022 → esm2020}/lib/core/types/cache-map-events.mjs +1 -1
  84. package/{esm2022 → esm2020}/lib/core/types/cache-map-listeners.mjs +1 -1
  85. package/{esm2022 → esm2020}/lib/core/types/cache.mjs +1 -1
  86. package/{esm2022 → esm2020}/lib/core/types/index.mjs +1 -1
  87. package/{esm2022 → esm2020}/lib/core/types/on-change-event-listener.mjs +1 -1
  88. package/{esm2022 → esm2020}/lib/core/types/on-tick-event-listener.mjs +1 -1
  89. package/{esm2022 → esm2020}/lib/core/utils/get-service-id-prop.mjs +9 -9
  90. package/{esm2022 → esm2020}/lib/core/utils/index.mjs +2 -2
  91. package/{esm2022 → esm2020}/lib/directives/index.mjs +3 -3
  92. package/esm2020/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +67 -0
  93. package/{esm2022 → esm2020}/lib/directives/locale-sensitive/locale-sensitive.module.mjs +19 -19
  94. package/esm2020/lib/directives/virtual-click/virtual-click.directive.mjs +66 -0
  95. package/{esm2022 → esm2020}/lib/directives/virtual-click/virtual-click.module.mjs +19 -19
  96. package/{esm2022 → esm2020}/lib/enums/alignments.mjs +11 -11
  97. package/{esm2022 → esm2020}/lib/enums/collapsing-modes.mjs +21 -21
  98. package/{esm2022 → esm2020}/lib/enums/collection-modes.mjs +17 -17
  99. package/{esm2022 → esm2020}/lib/enums/directions.mjs +17 -17
  100. package/{esm2022 → esm2020}/lib/enums/focus-alignments.mjs +13 -13
  101. package/{esm2022 → esm2020}/lib/enums/index.mjs +11 -11
  102. package/{esm2022 → esm2020}/lib/enums/selecting-modes-types.mjs +21 -21
  103. package/{esm2022 → esm2020}/lib/enums/selecting-modes.mjs +21 -21
  104. package/{esm2022 → esm2020}/lib/enums/snap-to-item-aligns.mjs +21 -21
  105. package/{esm2022 → esm2020}/lib/enums/snapping-methods.mjs +17 -17
  106. package/{esm2022 → esm2020}/lib/enums/spreading-modes.mjs +17 -17
  107. package/{esm2022 → esm2020}/lib/enums/text-directions.mjs +13 -13
  108. package/{esm2022 → esm2020}/lib/interfaces/animation-params.mjs +1 -1
  109. package/{esm2022 → esm2020}/lib/interfaces/base-virtual-list-item-component.mjs +1 -1
  110. package/{esm2022 → esm2020}/lib/interfaces/index.mjs +1 -1
  111. package/{esm2022 → esm2020}/lib/interfaces/item-transformation.mjs +1 -1
  112. package/{esm2022 → esm2020}/lib/interfaces/point.mjs +1 -1
  113. package/{esm2022 → esm2020}/lib/interfaces/rect.mjs +1 -1
  114. package/{esm2022 → esm2020}/lib/interfaces/render-stabilizer-options.mjs +1 -1
  115. package/{esm2022 → esm2020}/lib/interfaces/scroll-event.mjs +1 -1
  116. package/{esm2022 → esm2020}/lib/interfaces/scroll-options.mjs +1 -1
  117. package/{esm2022 → esm2020}/lib/interfaces/scroll-params.mjs +1 -1
  118. package/{esm2022 → esm2020}/lib/interfaces/scroll-to-params.mjs +1 -1
  119. package/{esm2022 → esm2020}/lib/interfaces/scrolling-settings.mjs +1 -1
  120. package/{esm2022 → esm2020}/lib/interfaces/size.mjs +1 -1
  121. package/{esm2022 → esm2020}/lib/models/collection.model.mjs +2 -2
  122. package/{esm2022 → esm2020}/lib/models/component.model.mjs +1 -1
  123. package/{esm2022 → esm2020}/lib/models/display-object-config.model.mjs +1 -1
  124. package/{esm2022 → esm2020}/lib/models/display-object-measures.model.mjs +1 -1
  125. package/{esm2022 → esm2020}/lib/models/index.mjs +1 -1
  126. package/{esm2022 → esm2020}/lib/models/item-config-map.model.mjs +1 -1
  127. package/{esm2022 → esm2020}/lib/models/item.model.mjs +1 -1
  128. package/{esm2022 → esm2020}/lib/models/render-collection.model.mjs +2 -2
  129. package/{esm2022 → esm2020}/lib/models/render-item-config.model.mjs +1 -1
  130. package/{esm2022 → esm2020}/lib/models/render-item-measures.model.mjs +2 -2
  131. package/{esm2022 → esm2020}/lib/models/render-item.model.mjs +2 -2
  132. package/esm2020/lib/ng-virtual-list-public.service.mjs +122 -0
  133. package/esm2020/lib/ng-virtual-list.component.mjs +3255 -0
  134. package/{esm2022 → esm2020}/lib/ng-virtual-list.module.mjs +23 -23
  135. package/esm2020/lib/ng-virtual-list.service.mjs +430 -0
  136. package/esm2020/lib/transformations/deck-of-cards-3d.mjs +57 -0
  137. package/esm2020/lib/transformations/deck-of-cards.mjs +54 -0
  138. package/esm2020/lib/transformations/event-horizon.mjs +47 -0
  139. package/{esm2022 → esm2020}/lib/transformations/index.mjs +12 -12
  140. package/esm2020/lib/transformations/linear.mjs +47 -0
  141. package/esm2020/lib/transformations/swipe-3d.mjs +51 -0
  142. package/{esm2022 → esm2020}/lib/types/alignment.mjs +1 -1
  143. package/{esm2022 → esm2020}/lib/types/arithmetic-expression.mjs +1 -1
  144. package/{esm2022 → esm2020}/lib/types/collapsing-mode.mjs +1 -1
  145. package/{esm2022 → esm2020}/lib/types/collection-mode.mjs +1 -1
  146. package/{esm2022 → esm2020}/lib/types/color.mjs +1 -1
  147. package/{esm2022 → esm2020}/lib/types/direction.mjs +1 -1
  148. package/{esm2022 → esm2020}/lib/types/float-or-persentage-value.mjs +1 -1
  149. package/{esm2022 → esm2020}/lib/types/focus-alignment.mjs +1 -1
  150. package/{esm2022 → esm2020}/lib/types/focus-item-params.mjs +1 -1
  151. package/{esm2022 → esm2020}/lib/types/gradient-color-position.mjs +1 -1
  152. package/{esm2022 → esm2020}/lib/types/gradient-color-positions.mjs +1 -1
  153. package/{esm2022 → esm2020}/lib/types/id.mjs +1 -1
  154. package/{esm2022 → esm2020}/lib/types/index.mjs +1 -1
  155. package/{esm2022 → esm2020}/lib/types/item-transform.mjs +1 -1
  156. package/{esm2022 → esm2020}/lib/types/scroll-direction.mjs +1 -1
  157. package/{esm2022 → esm2020}/lib/types/selecting-mode.mjs +1 -1
  158. package/{esm2022 → esm2020}/lib/types/snap-to-item-align.mjs +1 -1
  159. package/{esm2022 → esm2020}/lib/types/snapping-distance.mjs +1 -1
  160. package/{esm2022 → esm2020}/lib/types/snapping-method.mjs +1 -1
  161. package/{esm2022 → esm2020}/lib/types/spreading-mode.mjs +1 -1
  162. package/{esm2022 → esm2020}/lib/types/text-direction.mjs +1 -1
  163. package/esm2020/lib/utils/animator/animator.mjs +80 -0
  164. package/{esm2022 → esm2020}/lib/utils/animator/const/index.mjs +1 -1
  165. package/{esm2022 → esm2020}/lib/utils/animator/ease.mjs +6 -6
  166. package/{esm2022 → esm2020}/lib/utils/animator/index.mjs +4 -4
  167. package/esm2020/lib/utils/animator/interfaces/animator-params.mjs +2 -0
  168. package/esm2020/lib/utils/animator/interfaces/animator-update-data.mjs +2 -0
  169. package/{esm2022 → esm2020}/lib/utils/animator/interfaces/index.mjs +1 -1
  170. package/esm2020/lib/utils/animator/types/easing.mjs +2 -0
  171. package/{esm2022 → esm2020}/lib/utils/animator/types/index.mjs +1 -1
  172. package/esm2020/lib/utils/buffer-interpolation.mjs +29 -0
  173. package/esm2020/lib/utils/cmap.mjs +34 -0
  174. package/esm2020/lib/utils/debounce.mjs +61 -0
  175. package/esm2020/lib/utils/disposable-component.mjs +29 -0
  176. package/esm2020/lib/utils/event-emitter/event-emitter.mjs +106 -0
  177. package/{esm2022 → esm2020}/lib/utils/event-emitter/index.mjs +2 -2
  178. package/esm2020/lib/utils/event-emitter/interfaces/event-emitter.mjs +2 -0
  179. package/{esm2022 → esm2020}/lib/utils/event-emitter/interfaces/index.mjs +1 -1
  180. package/esm2020/lib/utils/get-scroll-state-version.mjs +12 -0
  181. package/{esm2022 → esm2020}/lib/utils/get-selector-by-item-id.mjs +4 -4
  182. package/{esm2022 → esm2020}/lib/utils/index.mjs +4 -4
  183. package/esm2020/lib/utils/is-collapse-mode.mjs +18 -0
  184. package/{esm2022 → esm2020}/lib/utils/is-collection-mode.mjs +15 -15
  185. package/esm2020/lib/utils/is-direction.mjs +15 -0
  186. package/esm2020/lib/utils/is-persentage-value.mjs +14 -0
  187. package/esm2020/lib/utils/is-select-mode.mjs +18 -0
  188. package/{esm2022 → esm2020}/lib/utils/is-spreading-mode.mjs +15 -15
  189. package/esm2020/lib/utils/list-validators.mjs +27 -0
  190. package/esm2020/lib/utils/normalize-collection.mjs +42 -0
  191. package/esm2020/lib/utils/object.mjs +28 -0
  192. package/esm2020/lib/utils/parse-arithmetic-expression.mjs +53 -0
  193. package/esm2020/lib/utils/parse-float-or-persentage-value.mjs +17 -0
  194. package/esm2020/lib/utils/screen-reader-formatter.mjs +43 -0
  195. package/esm2020/lib/utils/scroll-event.mjs +46 -0
  196. package/esm2020/lib/utils/scrolling-direction.mjs +28 -0
  197. package/{esm2022 → esm2020}/lib/utils/snapping-method.mjs +8 -8
  198. package/esm2020/lib/utils/toggle-class-name.mjs +15 -0
  199. package/{esm2022 → esm2020}/lib/utils/validation.mjs +55 -55
  200. package/{esm2022 → esm2020}/ng-virtual-list.mjs +4 -4
  201. package/{esm2022 → esm2020}/public-api.mjs +19 -19
  202. package/fesm2015/ng-virtual-list.mjs +10731 -0
  203. package/fesm2015/ng-virtual-list.mjs.map +1 -0
  204. package/{fesm2022 → fesm2020}/ng-virtual-list.mjs +10451 -10455
  205. package/fesm2020/ng-virtual-list.mjs.map +1 -0
  206. package/index.d.ts +5 -5
  207. package/lib/components/ng-list-item/base/base-virtual-list-item-component.d.ts +83 -83
  208. package/lib/components/ng-list-item/base/index.d.ts +2 -2
  209. package/lib/components/ng-list-item/const/index.d.ts +3 -3
  210. package/lib/components/ng-list-item/interfaces/index.d.ts +2 -2
  211. package/lib/components/ng-list-item/interfaces/template-context.d.ts +42 -42
  212. package/lib/components/ng-list-item/ng-virtual-list-item.component.d.ts +30 -30
  213. package/lib/components/ng-list-item/ng-virtual-list-item.module.d.ts +9 -9
  214. package/lib/components/ng-list-item/utils/create-display-id.d.ts +7 -7
  215. package/lib/components/ng-list-item/utils/get-element-by-index.d.ts +15 -15
  216. package/lib/components/ng-list-item/utils/index.d.ts +4 -4
  217. package/lib/components/ng-list-item/utils/matrix-3d.d.ts +7 -7
  218. package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.d.ts +104 -104
  219. package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.d.ts +10 -10
  220. package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.d.ts +17 -17
  221. package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.d.ts +9 -9
  222. package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.d.ts +62 -62
  223. package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.d.ts +9 -9
  224. package/lib/components/ng-prerender-container/core/index.d.ts +2 -2
  225. package/lib/components/ng-prerender-container/core/prerender-track-box.d.ts +35 -35
  226. package/lib/components/ng-prerender-container/events/index.d.ts +6 -6
  227. package/lib/components/ng-prerender-container/interfaces/index.d.ts +2 -2
  228. package/lib/components/ng-prerender-container/interfaces/refresh-params.d.ts +17 -17
  229. package/lib/components/ng-prerender-container/ng-prerender-container.component.d.ts +40 -40
  230. package/lib/components/ng-prerender-container/ng-prerender-container.module.d.ts +9 -9
  231. package/lib/components/ng-prerender-container/types/cache.d.ts +13 -13
  232. package/lib/components/ng-prerender-container/types/index.d.ts +2 -2
  233. package/lib/components/ng-scroll-bar/const/index.d.ts +3 -3
  234. package/lib/components/ng-scroll-bar/enums/index.d.ts +2 -2
  235. package/lib/components/ng-scroll-bar/enums/scrollbar-states.d.ts +5 -5
  236. package/lib/components/ng-scroll-bar/interfaces/index.d.ts +3 -3
  237. package/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.d.ts +26 -26
  238. package/lib/components/ng-scroll-bar/interfaces/scrollbar-drag-data.d.ts +13 -13
  239. package/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.d.ts +16 -16
  240. package/lib/components/ng-scroll-bar/ng-scroll-bar.component.d.ts +102 -102
  241. package/lib/components/ng-scroll-bar/ng-scroll-bar.module.d.ts +8 -8
  242. package/lib/components/ng-scroll-bar/ng-scroll-bar.service.d.ts +22 -22
  243. package/lib/components/ng-scroll-bar/types/index.d.ts +2 -2
  244. package/lib/components/ng-scroll-bar/types/scrollbar-state.d.ts +2 -2
  245. package/lib/components/ng-scroll-view/base/base-scroll-view.component.d.ts +89 -89
  246. package/lib/components/ng-scroll-view/const/index.d.ts +7 -7
  247. package/lib/components/ng-scroll-view/enums/index.d.ts +4 -4
  248. package/lib/components/ng-scroll-view/enums/scroller-direction.d.ts +10 -10
  249. package/lib/components/ng-scroll-view/enums/scroller-directions.d.ts +8 -8
  250. package/lib/components/ng-scroll-view/index.d.ts +5 -5
  251. package/lib/components/ng-scroll-view/interfaces/index.d.ts +2 -2
  252. package/lib/components/ng-scroll-view/interfaces/scroll-to-params.d.ts +22 -22
  253. package/lib/components/ng-scroll-view/ng-scroll-view.component.d.ts +124 -124
  254. package/lib/components/ng-scroll-view/utils/calculate-direction.d.ts +10 -7
  255. package/lib/components/ng-scroll-view/utils/calculate-velocity.d.ts +7 -7
  256. package/lib/components/ng-scroll-view/utils/get-dir.d.ts +7 -7
  257. package/lib/components/ng-scroll-view/utils/index.d.ts +5 -5
  258. package/lib/components/ng-scroll-view/utils/matrix-3d.d.ts +7 -7
  259. package/lib/components/ng-scroll-view/utils/scroll-box.d.ts +39 -39
  260. package/lib/components/ng-scroller/enums/index.d.ts +4 -4
  261. package/lib/components/ng-scroller/enums/scroller-direction.d.ts +4 -4
  262. package/lib/components/ng-scroller/enums/scroller-directions.d.ts +3 -3
  263. package/lib/components/ng-scroller/ng-scroller.component.d.ts +164 -164
  264. package/lib/components/ng-scroller/ng-scroller.module.d.ts +11 -11
  265. package/lib/components/ng-scroller/utils/index.d.ts +2 -2
  266. package/lib/components/ng-scroller/utils/interfaces/calculate-scroll-metrics.d.ts +11 -0
  267. package/lib/components/ng-scroller/utils/interfaces/calculate-scroll-params.d.ts +19 -0
  268. package/lib/components/ng-scroller/utils/interfaces/calculate-scroll-position-params.d.ts +10 -0
  269. package/lib/components/ng-scroller/utils/interfaces/index.d.ts +4 -0
  270. package/lib/components/ng-scroller/utils/scroll-box.d.ts +23 -40
  271. package/lib/const/index.d.ts +153 -153
  272. package/lib/core/cache-map.d.ts +46 -46
  273. package/lib/core/const/index.d.ts +1 -1
  274. package/lib/core/enums/index.d.ts +2 -2
  275. package/lib/core/enums/item-display-methods.d.ts +12 -12
  276. package/lib/core/events/index.d.ts +2 -2
  277. package/lib/core/events/track-box-events.d.ts +10 -10
  278. package/lib/core/interfaces/get-item-position-options.d.ts +10 -10
  279. package/lib/core/interfaces/get-metrics-returns.d.ts +11 -11
  280. package/lib/core/interfaces/index.d.ts +8 -8
  281. package/lib/core/interfaces/item.d.ts +9 -9
  282. package/lib/core/interfaces/metrics.d.ts +51 -51
  283. package/lib/core/interfaces/recalculate-metrics-options.d.ts +33 -32
  284. package/lib/core/interfaces/update-collection-options.d.ts +10 -10
  285. package/lib/core/interfaces/update-collection-returns.d.ts +14 -14
  286. package/lib/core/track-box.d.ts +153 -153
  287. package/lib/core/tracker.d.ts +55 -55
  288. package/lib/core/types/cache-map-events.d.ts +8 -8
  289. package/lib/core/types/cache-map-listeners.d.ts +9 -9
  290. package/lib/core/types/cache.d.ts +12 -12
  291. package/lib/core/types/index.d.ts +6 -6
  292. package/lib/core/types/on-change-event-listener.d.ts +7 -7
  293. package/lib/core/types/on-tick-event-listener.d.ts +7 -7
  294. package/lib/core/utils/get-service-id-prop.d.ts +7 -7
  295. package/lib/core/utils/index.d.ts +2 -2
  296. package/lib/directives/index.d.ts +3 -3
  297. package/lib/directives/locale-sensitive/locale-sensitive.directive.d.ts +29 -29
  298. package/lib/directives/locale-sensitive/locale-sensitive.module.d.ts +8 -8
  299. package/lib/directives/virtual-click/virtual-click.directive.d.ts +22 -22
  300. package/lib/directives/virtual-click/virtual-click.module.d.ts +8 -8
  301. package/lib/enums/alignments.d.ts +10 -10
  302. package/lib/enums/collapsing-modes.d.ts +20 -20
  303. package/lib/enums/collection-modes.d.ts +16 -16
  304. package/lib/enums/directions.d.ts +16 -16
  305. package/lib/enums/focus-alignments.d.ts +12 -12
  306. package/lib/enums/index.d.ts +11 -11
  307. package/lib/enums/selecting-modes-types.d.ts +20 -20
  308. package/lib/enums/selecting-modes.d.ts +20 -20
  309. package/lib/enums/snap-to-item-aligns.d.ts +20 -20
  310. package/lib/enums/snapping-methods.d.ts +16 -16
  311. package/lib/enums/spreading-modes.d.ts +16 -16
  312. package/lib/enums/text-directions.d.ts +12 -12
  313. package/lib/interfaces/animation-params.d.ts +14 -14
  314. package/lib/interfaces/base-virtual-list-item-component.d.ts +23 -23
  315. package/lib/interfaces/index.d.ts +11 -11
  316. package/lib/interfaces/item-transformation.d.ts +22 -22
  317. package/lib/interfaces/point.d.ts +16 -16
  318. package/lib/interfaces/rect.d.ts +17 -17
  319. package/lib/interfaces/render-stabilizer-options.d.ts +12 -12
  320. package/lib/interfaces/scroll-event.d.ts +58 -58
  321. package/lib/interfaces/scroll-options.d.ts +28 -28
  322. package/lib/interfaces/scroll-params.d.ts +17 -17
  323. package/lib/interfaces/scroll-to-params.d.ts +7 -7
  324. package/lib/interfaces/scrolling-settings.d.ts +38 -38
  325. package/lib/interfaces/size.d.ts +16 -16
  326. package/lib/models/collection.model.d.ts +9 -9
  327. package/lib/models/component.model.d.ts +3 -3
  328. package/lib/models/display-object-config.model.d.ts +21 -21
  329. package/lib/models/display-object-measures.model.d.ts +45 -45
  330. package/lib/models/index.d.ts +9 -9
  331. package/lib/models/item-config-map.model.d.ts +35 -35
  332. package/lib/models/item.model.d.ts +17 -17
  333. package/lib/models/render-collection.model.d.ts +9 -9
  334. package/lib/models/render-item-config.model.d.ts +119 -119
  335. package/lib/models/render-item-measures.model.d.ts +116 -116
  336. package/lib/models/render-item.model.d.ts +40 -40
  337. package/lib/ng-virtual-list-public.service.d.ts +92 -92
  338. package/lib/ng-virtual-list.component.d.ts +771 -770
  339. package/lib/ng-virtual-list.module.d.ts +12 -12
  340. package/lib/ng-virtual-list.service.d.ts +153 -153
  341. package/lib/transformations/deck-of-cards-3d.d.ts +54 -54
  342. package/lib/transformations/deck-of-cards.d.ts +50 -50
  343. package/lib/transformations/event-horizon.d.ts +26 -26
  344. package/lib/transformations/index.d.ts +7 -7
  345. package/lib/transformations/linear.d.ts +26 -26
  346. package/lib/transformations/swipe-3d.d.ts +38 -38
  347. package/lib/types/alignment.d.ts +8 -8
  348. package/lib/types/arithmetic-expression.d.ts +10 -10
  349. package/lib/types/collapsing-mode.d.ts +8 -8
  350. package/lib/types/collection-mode.d.ts +8 -8
  351. package/lib/types/color.d.ts +4 -4
  352. package/lib/types/direction.d.ts +8 -8
  353. package/lib/types/float-or-persentage-value.d.ts +7 -7
  354. package/lib/types/focus-alignment.d.ts +8 -8
  355. package/lib/types/focus-item-params.d.ts +13 -13
  356. package/lib/types/gradient-color-position.d.ts +7 -7
  357. package/lib/types/gradient-color-positions.d.ts +8 -8
  358. package/lib/types/id.d.ts +7 -7
  359. package/lib/types/index.d.ts +20 -20
  360. package/lib/types/item-transform.d.ts +9 -9
  361. package/lib/types/scroll-direction.d.ts +8 -8
  362. package/lib/types/selecting-mode.d.ts +8 -8
  363. package/lib/types/snap-to-item-align.d.ts +8 -8
  364. package/lib/types/snapping-distance.d.ts +8 -8
  365. package/lib/types/snapping-method.d.ts +10 -10
  366. package/lib/types/spreading-mode.d.ts +8 -8
  367. package/lib/types/text-direction.d.ts +10 -10
  368. package/lib/utils/animator/animator.d.ts +16 -16
  369. package/lib/utils/animator/const/index.d.ts +1 -1
  370. package/lib/utils/animator/ease.d.ts +2 -2
  371. package/lib/utils/animator/index.d.ts +6 -6
  372. package/lib/utils/animator/interfaces/animator-params.d.ts +18 -18
  373. package/lib/utils/animator/interfaces/animator-update-data.d.ts +13 -13
  374. package/lib/utils/animator/interfaces/index.d.ts +3 -3
  375. package/lib/utils/animator/types/easing.d.ts +7 -7
  376. package/lib/utils/animator/types/index.d.ts +2 -2
  377. package/lib/utils/buffer-interpolation.d.ts +5 -5
  378. package/lib/utils/cmap.d.ts +16 -16
  379. package/lib/utils/debounce.d.ts +25 -25
  380. package/lib/utils/disposable-component.d.ts +15 -15
  381. package/lib/utils/event-emitter/event-emitter.d.ts +42 -42
  382. package/lib/utils/event-emitter/index.d.ts +4 -4
  383. package/lib/utils/event-emitter/interfaces/event-emitter.d.ts +37 -37
  384. package/lib/utils/event-emitter/interfaces/index.d.ts +2 -2
  385. package/lib/utils/get-scroll-state-version.d.ts +1 -1
  386. package/lib/utils/get-selector-by-item-id.d.ts +2 -2
  387. package/lib/utils/index.d.ts +6 -6
  388. package/lib/utils/is-collapse-mode.d.ts +8 -8
  389. package/lib/utils/is-collection-mode.d.ts +8 -8
  390. package/lib/utils/is-direction.d.ts +8 -8
  391. package/lib/utils/is-persentage-value.d.ts +7 -7
  392. package/lib/utils/is-select-mode.d.ts +8 -8
  393. package/lib/utils/is-spreading-mode.d.ts +8 -8
  394. package/lib/utils/list-validators.d.ts +2 -2
  395. package/lib/utils/normalize-collection.d.ts +8 -8
  396. package/lib/utils/object.d.ts +4 -4
  397. package/lib/utils/parse-arithmetic-expression.d.ts +8 -8
  398. package/lib/utils/parse-float-or-persentage-value.d.ts +7 -7
  399. package/lib/utils/screen-reader-formatter.d.ts +7 -4
  400. package/lib/utils/scroll-event.d.ts +48 -48
  401. package/lib/utils/scrolling-direction.d.ts +17 -17
  402. package/lib/utils/snapping-method.d.ts +3 -3
  403. package/lib/utils/toggle-class-name.d.ts +7 -7
  404. package/lib/utils/validation.d.ts +35 -35
  405. package/package.json +11 -5
  406. package/public-api.d.ts +16 -16
  407. package/esm2022/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +0 -315
  408. package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +0 -200
  409. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +0 -279
  410. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +0 -94
  411. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +0 -142
  412. package/esm2022/lib/components/ng-prerender-container/core/prerender-track-box.mjs +0 -198
  413. package/esm2022/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +0 -93
  414. package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.mjs +0 -25
  415. package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +0 -324
  416. package/esm2022/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +0 -262
  417. package/esm2022/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +0 -859
  418. package/esm2022/lib/components/ng-scroll-view/utils/calculate-direction.mjs +0 -17
  419. package/esm2022/lib/components/ng-scroll-view/utils/scroll-box.mjs +0 -45
  420. package/esm2022/lib/components/ng-scroller/ng-scroller.component.mjs +0 -525
  421. package/esm2022/lib/components/ng-scroller/utils/scroll-box.mjs +0 -52
  422. package/esm2022/lib/core/cache-map.mjs +0 -101
  423. package/esm2022/lib/core/interfaces/recalculate-metrics-options.mjs +0 -2
  424. package/esm2022/lib/core/track-box.mjs +0 -1353
  425. package/esm2022/lib/core/tracker.mjs +0 -207
  426. package/esm2022/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +0 -68
  427. package/esm2022/lib/directives/virtual-click/virtual-click.directive.mjs +0 -67
  428. package/esm2022/lib/ng-virtual-list-public.service.mjs +0 -120
  429. package/esm2022/lib/ng-virtual-list.component.mjs +0 -3246
  430. package/esm2022/lib/ng-virtual-list.service.mjs +0 -431
  431. package/esm2022/lib/transformations/deck-of-cards-3d.mjs +0 -57
  432. package/esm2022/lib/transformations/deck-of-cards.mjs +0 -54
  433. package/esm2022/lib/transformations/event-horizon.mjs +0 -47
  434. package/esm2022/lib/transformations/linear.mjs +0 -47
  435. package/esm2022/lib/transformations/swipe-3d.mjs +0 -51
  436. package/esm2022/lib/utils/animator/animator.mjs +0 -78
  437. package/esm2022/lib/utils/animator/interfaces/animator-params.mjs +0 -2
  438. package/esm2022/lib/utils/animator/interfaces/animator-update-data.mjs +0 -2
  439. package/esm2022/lib/utils/animator/types/easing.mjs +0 -2
  440. package/esm2022/lib/utils/buffer-interpolation.mjs +0 -29
  441. package/esm2022/lib/utils/cmap.mjs +0 -34
  442. package/esm2022/lib/utils/debounce.mjs +0 -61
  443. package/esm2022/lib/utils/disposable-component.mjs +0 -27
  444. package/esm2022/lib/utils/event-emitter/event-emitter.mjs +0 -105
  445. package/esm2022/lib/utils/event-emitter/interfaces/event-emitter.mjs +0 -2
  446. package/esm2022/lib/utils/get-scroll-state-version.mjs +0 -12
  447. package/esm2022/lib/utils/is-collapse-mode.mjs +0 -18
  448. package/esm2022/lib/utils/is-direction.mjs +0 -15
  449. package/esm2022/lib/utils/is-persentage-value.mjs +0 -14
  450. package/esm2022/lib/utils/is-select-mode.mjs +0 -18
  451. package/esm2022/lib/utils/list-validators.mjs +0 -27
  452. package/esm2022/lib/utils/normalize-collection.mjs +0 -42
  453. package/esm2022/lib/utils/object.mjs +0 -28
  454. package/esm2022/lib/utils/parse-arithmetic-expression.mjs +0 -53
  455. package/esm2022/lib/utils/parse-float-or-persentage-value.mjs +0 -17
  456. package/esm2022/lib/utils/screen-reader-formatter.mjs +0 -43
  457. package/esm2022/lib/utils/scroll-event.mjs +0 -48
  458. package/esm2022/lib/utils/scrolling-direction.mjs +0 -29
  459. package/esm2022/lib/utils/toggle-class-name.mjs +0 -15
  460. package/fesm2022/ng-virtual-list.mjs.map +0 -1
@@ -0,0 +1,80 @@
1
+ import { ANIMATOR_MIN_TIMESTAMP, DEFAULT_ANIMATION_DURATION, DEFAULT_WITH_DELTA } from './const';
2
+ import { easeLinear } from './ease';
3
+ /**
4
+ * Animator
5
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/main/library/src/utils/animator/animator.ts
6
+ * @author Evgenii Alexandrovich Grebennikov
7
+ * @email djonnyx@gmail.com
8
+ */
9
+ export class Animator {
10
+ constructor() {
11
+ this._animationId = 0;
12
+ this._currentId = Animator._nextId;
13
+ }
14
+ generateId() {
15
+ return Animator._nextId = Animator._nextId === Number.MAX_SAFE_INTEGER
16
+ ? 0 : Animator._nextId + 1;
17
+ }
18
+ animate(params) {
19
+ this.stop();
20
+ const id = this.generateId();
21
+ this._currentId = id;
22
+ const { withDelta = DEFAULT_WITH_DELTA, startValue, endValue, duration = DEFAULT_ANIMATION_DURATION, getPropValue, easingFunction = easeLinear, onUpdate, onComplete, } = params;
23
+ const startTime = performance.now();
24
+ let isCanceled = false, prevPos = startValue, start = startValue, startPosDelta = 0, delta = 0, prevTime = startTime, diff = endValue - start, isFinished = false;
25
+ const step = (currentTime) => {
26
+ if (id !== this._currentId) {
27
+ isCanceled = true;
28
+ }
29
+ if (!!isCanceled) {
30
+ return;
31
+ }
32
+ const cPos = getPropValue?.() || 0;
33
+ let startDelta = 0;
34
+ if (cPos !== prevPos) {
35
+ startDelta = cPos - prevPos;
36
+ startPosDelta += startDelta;
37
+ }
38
+ const elapsed = currentTime - startTime, progress = start === endValue ? 1 : Math.min(duration > 0 ? elapsed / duration : 0, 1), easedProgress = easingFunction(progress), val = (withDelta ? startPosDelta : 0) + start + diff * easedProgress, currentValue = val, t = performance.now();
39
+ isFinished = progress === 1;
40
+ delta = currentValue - startDelta - prevPos;
41
+ const ts = t - prevTime, timestamp = ts < ANIMATOR_MIN_TIMESTAMP ? ANIMATOR_MIN_TIMESTAMP : ts;
42
+ prevTime = t;
43
+ prevPos = currentValue;
44
+ if (onUpdate !== undefined) {
45
+ const data = {
46
+ id,
47
+ delta,
48
+ elapsed,
49
+ value: !withDelta && isFinished ? endValue : currentValue,
50
+ timestamp,
51
+ };
52
+ onUpdate(data);
53
+ }
54
+ if (isFinished) {
55
+ if (onComplete !== undefined) {
56
+ const data = {
57
+ id,
58
+ delta,
59
+ elapsed,
60
+ value: withDelta ? currentValue : endValue,
61
+ timestamp,
62
+ };
63
+ onComplete(data);
64
+ }
65
+ }
66
+ else {
67
+ this._animationId = requestAnimationFrame(step);
68
+ }
69
+ };
70
+ this._animationId = requestAnimationFrame(step);
71
+ }
72
+ stop() {
73
+ cancelAnimationFrame(this._animationId);
74
+ }
75
+ dispose() {
76
+ this.stop();
77
+ }
78
+ }
79
+ Animator._nextId = 0;
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9hbmltYXRvci9hbmltYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUdwQzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBR1UsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFFekIsZUFBVSxHQUFXLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUEyRmhELENBQUM7SUF6RlMsVUFBVTtRQUNoQixPQUFPLFFBQVEsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsZ0JBQWdCO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBdUI7UUFDN0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRVosTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXJCLE1BQU0sRUFDSixTQUFTLEdBQUcsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEdBQUcsMEJBQTBCLEVBQzNGLFlBQVksRUFBRSxjQUFjLEdBQUcsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEdBQ2hFLEdBQUcsTUFBTSxDQUFDO1FBRVgsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLElBQUksVUFBVSxHQUFHLEtBQUssRUFBRSxP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MUMsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDOztBQTlGYyxnQkFBTyxHQUFXLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFOSU1BVE9SX01JTl9USU1FU1RBTVAsIERFRkFVTFRfQU5JTUFUSU9OX0RVUkFUSU9OLCBERUZBVUxUX1dJVEhfREVMVEEgfSBmcm9tICcuL2NvbnN0JztcclxuaW1wb3J0IHsgZWFzZUxpbmVhciB9IGZyb20gJy4vZWFzZSc7XHJcbmltcG9ydCB7IElBbmltYXRvclBhcmFtcywgSUFuaW1hdG9yVXBkYXRlRGF0YSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XHJcblxyXG4vKipcclxuICogQW5pbWF0b3JcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvbWFpbi9saWJyYXJ5L3NyYy91dGlscy9hbmltYXRvci9hbmltYXRvci50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjbGFzcyBBbmltYXRvciB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX25leHRJZDogbnVtYmVyID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBfYW5pbWF0aW9uSWQ6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgX2N1cnJlbnRJZDogbnVtYmVyID0gQW5pbWF0b3IuX25leHRJZDtcclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZUlkKCkge1xyXG4gICAgcmV0dXJuIEFuaW1hdG9yLl9uZXh0SWQgPSBBbmltYXRvci5fbmV4dElkID09PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxyXG4gICAgICA/IDAgOiBBbmltYXRvci5fbmV4dElkICsgMTtcclxuICB9XHJcblxyXG4gIGFuaW1hdGUocGFyYW1zOiBJQW5pbWF0b3JQYXJhbXMpIHtcclxuICAgIHRoaXMuc3RvcCgpO1xyXG5cclxuICAgIGNvbnN0IGlkID0gdGhpcy5nZW5lcmF0ZUlkKCk7XHJcbiAgICB0aGlzLl9jdXJyZW50SWQgPSBpZDtcclxuXHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHdpdGhEZWx0YSA9IERFRkFVTFRfV0lUSF9ERUxUQSwgc3RhcnRWYWx1ZSwgZW5kVmFsdWUsIGR1cmF0aW9uID0gREVGQVVMVF9BTklNQVRJT05fRFVSQVRJT04sXHJcbiAgICAgIGdldFByb3BWYWx1ZSwgZWFzaW5nRnVuY3Rpb24gPSBlYXNlTGluZWFyLCBvblVwZGF0ZSwgb25Db21wbGV0ZSxcclxuICAgIH0gPSBwYXJhbXM7XHJcblxyXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XHJcbiAgICBsZXQgaXNDYW5jZWxlZCA9IGZhbHNlLCBwcmV2UG9zID0gc3RhcnRWYWx1ZSwgc3RhcnQgPSBzdGFydFZhbHVlLCBzdGFydFBvc0RlbHRhID0gMCwgZGVsdGEgPSAwLCBwcmV2VGltZSA9IHN0YXJ0VGltZSxcclxuICAgICAgZGlmZiA9IGVuZFZhbHVlIC0gc3RhcnQsIGlzRmluaXNoZWQgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdCBzdGVwID0gKGN1cnJlbnRUaW1lOiBudW1iZXIpID0+IHtcclxuICAgICAgaWYgKGlkICE9PSB0aGlzLl9jdXJyZW50SWQpIHtcclxuICAgICAgICBpc0NhbmNlbGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCEhaXNDYW5jZWxlZCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgY1BvcyA9IGdldFByb3BWYWx1ZT8uKCkgfHwgMDtcclxuICAgICAgbGV0IHN0YXJ0RGVsdGEgPSAwO1xyXG4gICAgICBpZiAoY1BvcyAhPT0gcHJldlBvcykge1xyXG4gICAgICAgIHN0YXJ0RGVsdGEgPSBjUG9zIC0gcHJldlBvcztcclxuICAgICAgICBzdGFydFBvc0RlbHRhICs9IHN0YXJ0RGVsdGE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGVsYXBzZWQgPSBjdXJyZW50VGltZSAtIHN0YXJ0VGltZSxcclxuICAgICAgICBwcm9ncmVzcyA9IHN0YXJ0ID09PSBlbmRWYWx1ZSA/IDEgOiBNYXRoLm1pbihkdXJhdGlvbiA+IDAgPyBlbGFwc2VkIC8gZHVyYXRpb24gOiAwLCAxKSxcclxuICAgICAgICBlYXNlZFByb2dyZXNzID0gZWFzaW5nRnVuY3Rpb24ocHJvZ3Jlc3MpLFxyXG4gICAgICAgIHZhbCA9ICh3aXRoRGVsdGEgPyBzdGFydFBvc0RlbHRhIDogMCkgKyBzdGFydCArIGRpZmYgKiBlYXNlZFByb2dyZXNzLFxyXG4gICAgICAgIGN1cnJlbnRWYWx1ZSA9IHZhbCxcclxuICAgICAgICB0ID0gcGVyZm9ybWFuY2Uubm93KCk7XHJcblxyXG4gICAgICBpc0ZpbmlzaGVkID0gcHJvZ3Jlc3MgPT09IDE7XHJcblxyXG4gICAgICBkZWx0YSA9IGN1cnJlbnRWYWx1ZSAtIHN0YXJ0RGVsdGEgLSBwcmV2UG9zO1xyXG5cclxuICAgICAgY29uc3QgdHMgPSB0IC0gcHJldlRpbWUsIHRpbWVzdGFtcCA9IHRzIDwgQU5JTUFUT1JfTUlOX1RJTUVTVEFNUCA/IEFOSU1BVE9SX01JTl9USU1FU1RBTVAgOiB0cztcclxuXHJcbiAgICAgIHByZXZUaW1lID0gdDtcclxuICAgICAgcHJldlBvcyA9IGN1cnJlbnRWYWx1ZTtcclxuXHJcbiAgICAgIGlmIChvblVwZGF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YTogSUFuaW1hdG9yVXBkYXRlRGF0YSA9IHtcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgZGVsdGEsXHJcbiAgICAgICAgICBlbGFwc2VkLFxyXG4gICAgICAgICAgdmFsdWU6ICF3aXRoRGVsdGEgJiYgaXNGaW5pc2hlZCA/IGVuZFZhbHVlIDogY3VycmVudFZhbHVlLFxyXG4gICAgICAgICAgdGltZXN0YW1wLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgb25VcGRhdGUoZGF0YSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpc0ZpbmlzaGVkKSB7XHJcbiAgICAgICAgaWYgKG9uQ29tcGxldGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgY29uc3QgZGF0YTogSUFuaW1hdG9yVXBkYXRlRGF0YSA9IHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIGRlbHRhLFxyXG4gICAgICAgICAgICBlbGFwc2VkLFxyXG4gICAgICAgICAgICB2YWx1ZTogd2l0aERlbHRhID8gY3VycmVudFZhbHVlIDogZW5kVmFsdWUsXHJcbiAgICAgICAgICAgIHRpbWVzdGFtcCxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBvbkNvbXBsZXRlKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9hbmltYXRpb25JZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2FuaW1hdGlvbklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHN0ZXApO1xyXG4gIH1cclxuXHJcbiAgc3RvcCgpIHtcclxuICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2FuaW1hdGlvbklkKTtcclxuICB9XHJcblxyXG4gIGRpc3Bvc2UoKSB7XHJcbiAgICB0aGlzLnN0b3AoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
- export const DEFAULT_WITH_DELTA = false, DEFAULT_ANIMATION_DURATION = 500, ANIMATOR_MIN_TIMESTAMP = 1000 / 30, MIN_ANIMATED_VALUE = 10;
1
+ export const DEFAULT_WITH_DELTA = false, DEFAULT_ANIMATION_DURATION = 500, ANIMATOR_MIN_TIMESTAMP = 1000 / 30, MIN_ANIMATED_VALUE = 10;
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9hbmltYXRvci9jb25zdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLEVBQ25DLDBCQUEwQixHQUFHLEdBQUcsRUFDaEMsc0JBQXNCLEdBQUcsSUFBSSxHQUFHLEVBQUUsRUFDbEMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERFRkFVTFRfV0lUSF9ERUxUQSA9IGZhbHNlLFxyXG4gICAgREVGQVVMVF9BTklNQVRJT05fRFVSQVRJT04gPSA1MDAsXHJcbiAgICBBTklNQVRPUl9NSU5fVElNRVNUQU1QID0gMTAwMCAvIDMwLFxyXG4gICAgTUlOX0FOSU1BVEVEX1ZBTFVFID0gMTA7XHJcbiJdfQ==
@@ -1,7 +1,7 @@
1
- export const easeOutQuad = (t) => {
2
- return t * (2 - t);
3
- };
4
- export const easeLinear = (t) => {
5
- return t + t;
6
- };
1
+ export const easeOutQuad = (t) => {
2
+ return t * (2 - t);
3
+ };
4
+ export const easeLinear = (t) => {
5
+ return t + t;
6
+ };
7
7
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2FuaW1hdG9yL2Vhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUU7SUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUU7SUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlYXNlT3V0UXVhZCA9ICh0OiBudW1iZXIpID0+IHtcclxuICAgIHJldHVybiB0ICogKDIgLSB0KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBlYXNlTGluZWFyID0gKHQ6IG51bWJlcikgPT4ge1xyXG4gICAgcmV0dXJuIHQgKyB0O1xyXG59O1xyXG4iXX0=
@@ -1,5 +1,5 @@
1
- import { Animator } from "./animator";
2
- import { ANIMATOR_MIN_TIMESTAMP } from './const';
3
- import { easeLinear, easeOutQuad } from './ease';
4
- export { Animator, easeLinear, easeOutQuad, ANIMATOR_MIN_TIMESTAMP, };
1
+ import { Animator } from "./animator";
2
+ import { ANIMATOR_MIN_TIMESTAMP } from './const';
3
+ import { easeLinear, easeOutQuad } from './ease';
4
+ export { Animator, easeLinear, easeOutQuad, ANIMATOR_MIN_TIMESTAMP, };
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9hbmltYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUdqRCxPQUFPLEVBQ0gsUUFBUSxFQUNSLFVBQVUsRUFDVixXQUFXLEVBQ1gsc0JBQXNCLEdBQ3pCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmltYXRvciB9IGZyb20gXCIuL2FuaW1hdG9yXCI7XHJcbmltcG9ydCB7IEFOSU1BVE9SX01JTl9USU1FU1RBTVAgfSBmcm9tICcuL2NvbnN0JztcclxuaW1wb3J0IHsgZWFzZUxpbmVhciwgZWFzZU91dFF1YWQgfSBmcm9tICcuL2Vhc2UnO1xyXG5pbXBvcnQgeyBFYXNpbmcgfSBmcm9tICcuL3R5cGVzJztcclxuXHJcbmV4cG9ydCB7XHJcbiAgICBBbmltYXRvcixcclxuICAgIGVhc2VMaW5lYXIsXHJcbiAgICBlYXNlT3V0UXVhZCxcclxuICAgIEFOSU1BVE9SX01JTl9USU1FU1RBTVAsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIHtcclxuICAgIEVhc2luZyxcclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0b3ItcGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvYW5pbWF0b3IvaW50ZXJmYWNlcy9hbmltYXRvci1wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVhc2luZyB9IGZyb20gXCIuLi90eXBlc1wiO1xyXG5pbXBvcnQgeyBJQW5pbWF0b3JVcGRhdGVEYXRhIH0gZnJvbSBcIi4vYW5pbWF0b3ItdXBkYXRlLWRhdGFcIjtcclxuXHJcbi8qKlxyXG4gKiBJQW5pbWF0b3JQYXJhbXNcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvbWFpbi9saWJyYXJ5L3NyYy91dGlscy9hbmltYXRvci9pbnRlcmZhY2VzL2FuaW1hdG9yLXBhcmFtcy50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFuaW1hdG9yUGFyYW1zIHtcclxuICAgIHN0YXJ0VmFsdWU6IG51bWJlcjtcclxuICAgIGVuZFZhbHVlOiBudW1iZXI7XHJcbiAgICBkdXJhdGlvbj86IG51bWJlcjtcclxuICAgIHdpdGhEZWx0YT86IGJvb2xlYW47XHJcbiAgICBnZXRQcm9wVmFsdWU/OiAoKSA9PiBudW1iZXI7XHJcbiAgICBlYXNpbmdGdW5jdGlvbj86IEVhc2luZztcclxuICAgIG9uVXBkYXRlPzogKGRhdGE6IElBbmltYXRvclVwZGF0ZURhdGEpID0+IHZvaWQ7XHJcbiAgICBvbkNvbXBsZXRlPzogKGRhdGE6IElBbmltYXRvclVwZGF0ZURhdGEpID0+IHZvaWQ7XHJcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0b3ItdXBkYXRlLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9hbmltYXRvci9pbnRlcmZhY2VzL2FuaW1hdG9yLXVwZGF0ZS1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogSUFuaW1hdG9yVXBkYXRlRGF0YVxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi9tYWluL2xpYnJhcnkvc3JjL3V0aWxzL2FuaW1hdG9yL2ludGVyZmFjZXMvYW5pbWF0b3ItdXBkYXRlLWRhdGEudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElBbmltYXRvclVwZGF0ZURhdGEge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIHRpbWVzdGFtcDogbnVtYmVyO1xyXG4gICAgZWxhcHNlZDogbnVtYmVyO1xyXG4gICAgZGVsdGE6IG51bWJlcjtcclxuICAgIHZhbHVlOiBudW1iZXI7XHJcbn0iXX0=
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9hbmltYXRvci9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQW5pbWF0b3JQYXJhbXMgfSBmcm9tICcuL2FuaW1hdG9yLXBhcmFtcyc7XHJcbmltcG9ydCB7IElBbmltYXRvclVwZGF0ZURhdGEgfSBmcm9tICcuL2FuaW1hdG9yLXVwZGF0ZS1kYXRhJztcclxuXHJcbmV4cG9ydCB0eXBlIHtcclxuICAgIElBbmltYXRvclBhcmFtcyxcclxuICAgIElBbmltYXRvclVwZGF0ZURhdGEsXHJcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFzaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvYW5pbWF0b3IvdHlwZXMvZWFzaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogRWFzaW5nXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iL21haW4vbGlicmFyeS9zcmMvdXRpbHMvYW5pbWF0b3IvdHlwZXMvZWFzaW5nLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgRWFzaW5nID0gKHY6IG51bWJlcikgPT4gbnVtYmVyO1xyXG4iXX0=
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9hbmltYXRvci90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWFzaW5nIH0gZnJvbSBcIi4vZWFzaW5nXCI7XHJcblxyXG5leHBvcnQgdHlwZSB7XHJcbiAgICBFYXNpbmcsXHJcbn0iXX0=
@@ -0,0 +1,29 @@
1
+ const DEFAULT_EXTRA = {
2
+ extremumThreshold: 2,
3
+ bufferSize: 10,
4
+ };
5
+ export const bufferInterpolation = (currentBufferValue, array, value, extra) => {
6
+ const { extremumThreshold = DEFAULT_EXTRA.extremumThreshold, bufferSize = DEFAULT_EXTRA.bufferSize, } = extra ?? DEFAULT_EXTRA;
7
+ if (currentBufferValue < value) {
8
+ let i = 0;
9
+ while (i < extremumThreshold) {
10
+ array.push(value);
11
+ i++;
12
+ }
13
+ }
14
+ else {
15
+ array.push(value);
16
+ }
17
+ if (array.length > bufferSize) {
18
+ while (array.length > bufferSize) {
19
+ array.shift();
20
+ }
21
+ }
22
+ const l = array.length;
23
+ let buffer = 0;
24
+ for (let i = 0; i < l; i++) {
25
+ buffer += array[i];
26
+ }
27
+ return l !== 0 ? Math.ceil(buffer / l) : 0;
28
+ };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyLWludGVycG9sYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9idWZmZXItaW50ZXJwb2xhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLGFBQWEsR0FBRztJQUNsQixpQkFBaUIsRUFBRSxDQUFDO0lBQ3BCLFVBQVUsRUFBRSxFQUFFO0NBQ2pCLENBQUM7QUFPRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLGtCQUEwQixFQUFFLEtBQW9CLEVBQUUsS0FBYSxFQUFFLEtBQXFCLEVBQUUsRUFBRTtJQUMxSCxNQUFNLEVBQ0YsaUJBQWlCLEdBQUcsYUFBYSxDQUFDLGlCQUFpQixFQUNuRCxVQUFVLEdBQUcsYUFBYSxDQUFDLFVBQVUsR0FDeEMsR0FBRyxLQUFLLElBQUksYUFBYSxDQUFDO0lBRTNCLElBQUksa0JBQWtCLEdBQUcsS0FBSyxFQUFFO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLE9BQU8sQ0FBQyxHQUFHLGlCQUFpQixFQUFFO1lBQzFCLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEIsQ0FBQyxFQUFFLENBQUM7U0FDUDtLQUNKO1NBQU07UUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3JCO0lBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLFVBQVUsRUFBRTtRQUMzQixPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsVUFBVSxFQUFFO1lBQzlCLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNqQjtLQUNKO0lBRUQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUN2QixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFZixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDdEI7SUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgREVGQVVMVF9FWFRSQSA9IHtcclxuICAgIGV4dHJlbXVtVGhyZXNob2xkOiAyLFxyXG4gICAgYnVmZmVyU2l6ZTogMTAsXHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElFeHRyYU9wdGlvbnMge1xyXG4gICAgZXh0cmVtdW1UaHJlc2hvbGQ/OiBudW1iZXI7XHJcbiAgICBidWZmZXJTaXplPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgYnVmZmVySW50ZXJwb2xhdGlvbiA9IChjdXJyZW50QnVmZmVyVmFsdWU6IG51bWJlciwgYXJyYXk6IEFycmF5PG51bWJlcj4sIHZhbHVlOiBudW1iZXIsIGV4dHJhPzogSUV4dHJhT3B0aW9ucykgPT4ge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICAgIGV4dHJlbXVtVGhyZXNob2xkID0gREVGQVVMVF9FWFRSQS5leHRyZW11bVRocmVzaG9sZCxcclxuICAgICAgICBidWZmZXJTaXplID0gREVGQVVMVF9FWFRSQS5idWZmZXJTaXplLFxyXG4gICAgfSA9IGV4dHJhID8/IERFRkFVTFRfRVhUUkE7XHJcblxyXG4gICAgaWYgKGN1cnJlbnRCdWZmZXJWYWx1ZSA8IHZhbHVlKSB7XHJcbiAgICAgICAgbGV0IGkgPSAwO1xyXG4gICAgICAgIHdoaWxlIChpIDwgZXh0cmVtdW1UaHJlc2hvbGQpIHtcclxuICAgICAgICAgICAgYXJyYXkucHVzaCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIGkrKztcclxuICAgICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGFycmF5LnB1c2godmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChhcnJheS5sZW5ndGggPiBidWZmZXJTaXplKSB7XHJcbiAgICAgICAgd2hpbGUgKGFycmF5Lmxlbmd0aCA+IGJ1ZmZlclNpemUpIHtcclxuICAgICAgICAgICAgYXJyYXkuc2hpZnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbCA9IGFycmF5Lmxlbmd0aDtcclxuICAgIGxldCBidWZmZXIgPSAwO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgYnVmZmVyICs9IGFycmF5W2ldO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBsICE9PSAwID8gTWF0aC5jZWlsKGJ1ZmZlciAvIGwpIDogMDtcclxufTtcclxuIl19
@@ -0,0 +1,34 @@
1
+ export class CMap {
2
+ constructor(dict) {
3
+ this._dict = {};
4
+ this.from(dict);
5
+ }
6
+ from(dict) {
7
+ if (dict) {
8
+ this._dict = { ...dict._dict };
9
+ }
10
+ }
11
+ get(key) {
12
+ const k = String(key);
13
+ return this._dict[k];
14
+ }
15
+ set(key, value) {
16
+ const k = String(key);
17
+ this._dict[k] = value;
18
+ return this;
19
+ }
20
+ has(key) {
21
+ return this._dict.hasOwnProperty(String(key));
22
+ }
23
+ delete(key) {
24
+ const k = String(key);
25
+ delete this._dict[k];
26
+ }
27
+ clear() {
28
+ this._dict = {};
29
+ }
30
+ toObject() {
31
+ return this._dict;
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2NtYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLElBQUk7SUFHYixZQUFZLElBQWlCO1FBRm5CLFVBQUssR0FBZ0MsRUFBRSxDQUFDO1FBRzlDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFpQjtRQUNsQixJQUFJLElBQUksRUFBRTtZQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNsQztJQUNMLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBTTtRQUNOLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELEdBQUcsQ0FBQyxHQUFNLEVBQUUsS0FBUTtRQUNoQixNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELEdBQUcsQ0FBQyxHQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQU07UUFDVCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUNELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIENNYXA8SyA9IHN0cmluZywgViA9IGFueT4ge1xyXG4gICAgcHJvdGVjdGVkIF9kaWN0OiB7IFtrOiBzdHJpbmcgfCBudW1iZXJdOiBWIH0gPSB7fTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihkaWN0PzogQ01hcDxLLCBWPikge1xyXG4gICAgICAgIHRoaXMuZnJvbShkaWN0KTtcclxuICAgIH1cclxuXHJcbiAgICBmcm9tKGRpY3Q/OiBDTWFwPEssIFY+KSB7XHJcbiAgICAgICAgaWYgKGRpY3QpIHtcclxuICAgICAgICAgICAgdGhpcy5fZGljdCA9IHsgLi4uZGljdC5fZGljdCB9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXQoa2V5OiBLKSB7XHJcbiAgICAgICAgY29uc3QgayA9IFN0cmluZyhrZXkpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kaWN0W2tdO1xyXG4gICAgfVxyXG4gICAgc2V0KGtleTogSywgdmFsdWU6IFYpIHtcclxuICAgICAgICBjb25zdCBrID0gU3RyaW5nKGtleSk7XHJcbiAgICAgICAgdGhpcy5fZGljdFtrXSA9IHZhbHVlO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG4gICAgaGFzKGtleTogSykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kaWN0Lmhhc093blByb3BlcnR5KFN0cmluZyhrZXkpKTtcclxuICAgIH1cclxuICAgIGRlbGV0ZShrZXk6IEspIHtcclxuICAgICAgICBjb25zdCBrID0gU3RyaW5nKGtleSk7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMuX2RpY3Rba107XHJcbiAgICB9XHJcbiAgICBjbGVhcigpIHtcclxuICAgICAgICB0aGlzLl9kaWN0ID0ge307XHJcbiAgICB9XHJcbiAgICB0b09iamVjdCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGljdDtcclxuICAgIH1cclxufSJdfQ==
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Simple debounce function.
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/debounce.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ * @param cb - Callback.
7
+ * @param debounceTime - Debounce trigger time.
8
+ * @param maxSkips - Maximum numbers of skips.
9
+ * @returns
10
+ */
11
+ export const debounce = (cb, debounceTime = 0, maxSkips = 0) => {
12
+ let timeout = null, throws = 0;
13
+ const dispose = () => {
14
+ if (timeout !== null) {
15
+ clearTimeout(timeout);
16
+ timeout = null;
17
+ }
18
+ };
19
+ const execute = (...args) => {
20
+ if (maxSkips > 0) {
21
+ if (timeout !== null) {
22
+ throws++;
23
+ }
24
+ else {
25
+ throws = 0;
26
+ }
27
+ }
28
+ dispose();
29
+ let called = false;
30
+ if (maxSkips > 0) {
31
+ if (throws === maxSkips) {
32
+ throws = 0;
33
+ called = true;
34
+ cb(...args);
35
+ }
36
+ }
37
+ if (!called) {
38
+ timeout = setTimeout(() => {
39
+ cb(...args);
40
+ }, debounceTime);
41
+ }
42
+ };
43
+ const getIsDisposed = () => {
44
+ return timeout === null;
45
+ };
46
+ return {
47
+ /**
48
+ * Call handling method
49
+ */
50
+ execute,
51
+ /**
52
+ * Method of destroying handlers
53
+ */
54
+ dispose,
55
+ /**
56
+ * Indicates whether the handler has been removed (true) or not (false)
57
+ */
58
+ getIsDisposed,
59
+ };
60
+ };
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9kZWJvdW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxFQUFpQyxFQUFFLGVBQXVCLENBQUMsRUFBRSxXQUFtQixDQUFDLEVBQWEsRUFBRTtJQUNySCxJQUFJLE9BQU8sR0FBUSxJQUFJLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNwQyxNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUU7UUFDakIsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO1lBQ2xCLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPLEdBQUcsSUFBSSxDQUFBO1NBQ2pCO0lBQ0wsQ0FBQyxDQUFBO0lBQ0QsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLElBQWdCLEVBQUUsRUFBRTtRQUNwQyxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUU7WUFDZCxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7Z0JBQ2xCLE1BQU0sRUFBRSxDQUFDO2FBQ1o7aUJBQU07Z0JBQ0gsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUNkO1NBQ0o7UUFFRCxPQUFPLEVBQUUsQ0FBQztRQUVWLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUU7WUFDZCxJQUFJLE1BQU0sS0FBSyxRQUFRLEVBQUU7Z0JBQ3JCLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ1gsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDZCxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQzthQUNmO1NBQ0o7UUFFRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RCLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ2hCLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztTQUNwQjtJQUNMLENBQUMsQ0FBQztJQUNGLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRTtRQUN2QixPQUFPLE9BQU8sS0FBSyxJQUFJLENBQUM7SUFDNUIsQ0FBQyxDQUFDO0lBQ0YsT0FBTztRQUNIOztXQUVHO1FBQ0gsT0FBTztRQUNQOztXQUVHO1FBQ0gsT0FBTztRQUNQOztXQUVHO1FBQ0gsYUFBYTtLQUNoQixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJRGVib3VuY2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiAgQ2FsbCBoYW5kbGluZyBtZXRob2RcclxuICAgICAqL1xyXG4gICAgZXhlY3V0ZTogKC4uLmFyZ3M6IEFycmF5PGFueT4pID0+IHZvaWQ7XHJcbiAgICAvKipcclxuICAgICAqIE1ldGhvZCBvZiBkZXN0cm95aW5nIGhhbmRsZXJzXHJcbiAgICAgKi9cclxuICAgIGRpc3Bvc2U6ICgpID0+IHZvaWQ7XHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBoYW5kbGVyIGhhcyBiZWVuIHJlbW92ZWQgKHRydWUpIG9yIG5vdCAoZmFsc2UpXHJcbiAgICAgKi9cclxuICAgIGdldElzRGlzcG9zZWQ6ICgpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTaW1wbGUgZGVib3VuY2UgZnVuY3Rpb24uXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE0LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvZGVib3VuY2UudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqIEBwYXJhbSBjYiAtIENhbGxiYWNrLlxyXG4gKiBAcGFyYW0gZGVib3VuY2VUaW1lIC0gRGVib3VuY2UgdHJpZ2dlciB0aW1lLiBcclxuICogQHBhcmFtIG1heFNraXBzIC0gTWF4aW11bSBudW1iZXJzIG9mIHNraXBzLlxyXG4gKiBAcmV0dXJucyBcclxuICovXHJcbmV4cG9ydCBjb25zdCBkZWJvdW5jZSA9IChjYjogKC4uLmFyZ3M6IEFycmF5PGFueT4pID0+IHZvaWQsIGRlYm91bmNlVGltZTogbnVtYmVyID0gMCwgbWF4U2tpcHM6IG51bWJlciA9IDApOiBJRGVib3VuY2UgPT4ge1xyXG4gICAgbGV0IHRpbWVvdXQ6IGFueSA9IG51bGwsIHRocm93cyA9IDA7XHJcbiAgICBjb25zdCBkaXNwb3NlID0gKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aW1lb3V0ICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcclxuICAgICAgICAgICAgdGltZW91dCA9IG51bGxcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBleGVjdXRlID0gKC4uLmFyZ3M6IEFycmF5PGFueT4pID0+IHtcclxuICAgICAgICBpZiAobWF4U2tpcHMgPiAwKSB7XHJcbiAgICAgICAgICAgIGlmICh0aW1lb3V0ICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvd3MrKztcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRocm93cyA9IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRpc3Bvc2UoKTtcclxuXHJcbiAgICAgICAgbGV0IGNhbGxlZCA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChtYXhTa2lwcyA+IDApIHtcclxuICAgICAgICAgICAgaWYgKHRocm93cyA9PT0gbWF4U2tpcHMpIHtcclxuICAgICAgICAgICAgICAgIHRocm93cyA9IDA7XHJcbiAgICAgICAgICAgICAgICBjYWxsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgY2IoLi4uYXJncyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghY2FsbGVkKSB7XHJcbiAgICAgICAgICAgIHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNiKC4uLmFyZ3MpO1xyXG4gICAgICAgICAgICB9LCBkZWJvdW5jZVRpbWUpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICBjb25zdCBnZXRJc0Rpc3Bvc2VkID0gKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aW1lb3V0ID09PSBudWxsO1xyXG4gICAgfTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogIENhbGwgaGFuZGxpbmcgbWV0aG9kXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgZXhlY3V0ZSxcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBNZXRob2Qgb2YgZGVzdHJveWluZyBoYW5kbGVyc1xyXG4gICAgICAgICAqL1xyXG4gICAgICAgIGRpc3Bvc2UsXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGhhbmRsZXIgaGFzIGJlZW4gcmVtb3ZlZCAodHJ1ZSkgb3Igbm90IChmYWxzZSlcclxuICAgICAgICAgKi9cclxuICAgICAgICBnZXRJc0Rpc3Bvc2VkLFxyXG4gICAgfTtcclxufTtcclxuIl19
@@ -0,0 +1,29 @@
1
+ import { Component } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Base disposable component
6
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/disposable-component.ts
7
+ * @author Evgenii Grebennikov
8
+ * @email djonnyx@gmail.com
9
+ */
10
+ export class DisposableComponent {
11
+ constructor() {
12
+ this._$unsubscribe = new Subject();
13
+ }
14
+ ngOnDestroy() {
15
+ if (this._$unsubscribe) {
16
+ this._$unsubscribe.next();
17
+ this._$unsubscribe.complete();
18
+ }
19
+ }
20
+ }
21
+ DisposableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DisposableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
+ DisposableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DisposableComponent, selector: "ng-component", ngImport: i0, template: ``, isInline: true });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DisposableComponent, decorators: [{
24
+ type: Component,
25
+ args: [{
26
+ template: ``,
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcG9zYWJsZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9kaXNwb3NhYmxlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRS9COzs7OztHQUtHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQUljLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztLQVFqRDtJQU5HLFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQzs7Z0hBUlEsbUJBQW1CO29HQUFuQixtQkFBbUIsb0RBRmxCLEVBQUU7MkZBRUgsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxFQUFFO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgZGlzcG9zYWJsZSBjb21wb25lbnRcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9kaXNwb3NhYmxlLWNvbXBvbmVudC50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHRlbXBsYXRlOiBgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcHJvdGVjdGVkIF8kdW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl8kdW5zdWJzY3JpYmUpIHtcclxuICAgICAgICAgICAgdGhpcy5fJHVuc3Vic2NyaWJlLm5leHQoKTtcclxuICAgICAgICAgICAgdGhpcy5fJHVuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Event emitter
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/main/library/src/utils/event-emitter/event-emitter.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export class EventEmitter {
8
+ constructor() {
9
+ this._listeners = {};
10
+ this._disposed = false;
11
+ }
12
+ /**
13
+ * Emits the event
14
+ */
15
+ dispatch(event, ...args) {
16
+ const ctx = this;
17
+ const listeners = this._listeners[event];
18
+ if (Array.isArray(listeners)) {
19
+ for (let i = 0, l = listeners.length; i < l; i++) {
20
+ const listener = listeners[i];
21
+ if (listener) {
22
+ listener.apply(ctx, args);
23
+ }
24
+ }
25
+ }
26
+ }
27
+ /**
28
+ * Emits the event async
29
+ */
30
+ dispatchAsync(event, ...args) {
31
+ queueMicrotask(() => {
32
+ if (this._disposed) {
33
+ return;
34
+ }
35
+ this.dispatch(event, ...args);
36
+ });
37
+ }
38
+ /**
39
+ * Returns true if the event listener is already subscribed.
40
+ */
41
+ hasEventListener(eventName, handler) {
42
+ const event = eventName;
43
+ if (this._listeners[event] !== undefined) {
44
+ const listeners = this._listeners[event];
45
+ const index = listeners.findIndex(v => v === handler);
46
+ if (index > -1) {
47
+ return true;
48
+ }
49
+ }
50
+ return false;
51
+ }
52
+ /**
53
+ * Add event listener
54
+ */
55
+ addEventListener(eventName, handler) {
56
+ const event = eventName;
57
+ if (!this._listeners.hasOwnProperty(event)) {
58
+ this._listeners[event] = [];
59
+ }
60
+ this._listeners[event].push(handler);
61
+ }
62
+ /**
63
+ * Remove event listener
64
+ */
65
+ removeEventListener(eventName, handler) {
66
+ const event = eventName;
67
+ if (!this._listeners.hasOwnProperty(event)) {
68
+ return;
69
+ }
70
+ const listeners = this._listeners[event], index = listeners.findIndex(v => v === handler);
71
+ if (index > -1) {
72
+ listeners.splice(index, 1);
73
+ if (listeners.length === 0) {
74
+ delete this._listeners[event];
75
+ }
76
+ }
77
+ }
78
+ /**
79
+ * Remove all listeners
80
+ */
81
+ removeAllListeners() {
82
+ const events = Object.keys(this._listeners);
83
+ while (events.length > 0) {
84
+ const event = events.pop();
85
+ if (event) {
86
+ const listeners = this._listeners[event];
87
+ if (Array.isArray(listeners)) {
88
+ while (listeners.length > 0) {
89
+ const listener = listeners.pop();
90
+ if (listener) {
91
+ this.removeEventListener(event, listener);
92
+ }
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ /**
99
+ * Method of destroying handlers
100
+ */
101
+ dispose() {
102
+ this._disposed = true;
103
+ this.removeAllListeners();
104
+ }
105
+ }
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2V2ZW50LWVtaXR0ZXIvZXZlbnQtZW1pdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBT3JCO1FBTlUsZUFBVSxHQUVoQixFQUFFLENBQUM7UUFFRyxjQUFTLEdBQVksS0FBSyxDQUFDO0lBRXJCLENBQUM7SUFFakI7O09BRUc7SUFDSCxRQUFRLENBQUMsS0FBUSxFQUFFLEdBQUcsSUFBZ0I7UUFDbEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBMEIsQ0FBQyxDQUFDO1FBQzlELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMxQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM5QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLElBQUksUUFBUSxFQUFFO29CQUNWLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUM3QjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhLENBQUMsS0FBUSxFQUFFLEdBQUcsSUFBZ0I7UUFDdkMsY0FBYyxDQUFDLEdBQUcsRUFBRTtZQUNoQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2hCLE9BQU87YUFDVjtZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxD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Z3M6IEFycmF5PGFueT4pID0+IHZvaWQ7XHJcblxyXG4vKipcclxuICogRXZlbnQgZW1pdHRlclxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi9tYWluL2xpYnJhcnkvc3JjL3V0aWxzL2V2ZW50LWVtaXR0ZXIvZXZlbnQtZW1pdHRlci50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjbGFzcyBFdmVudEVtaXR0ZXI8RSA9IHN0cmluZywgSCA9IFRFdmVudEhhbmRsZXI+IHtcclxuICAgIHByb3RlY3RlZCBfbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgW2V2ZW50TmFtZTogc3RyaW5nXTogQXJyYXk8VEV2ZW50SGFuZGxlcj4sXHJcbiAgICB9ID0ge307XHJcblxyXG4gICAgcHJvdGVjdGVkIF9kaXNwb3NlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFbWl0cyB0aGUgZXZlbnRcclxuICAgICAqL1xyXG4gICAgZGlzcGF0Y2goZXZlbnQ6IEUsIC4uLmFyZ3M6IEFycmF5PGFueT4pOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjdHggPSB0aGlzO1xyXG4gICAgICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuX2xpc3RlbmVyc1tldmVudCBhcyB1bmtub3duIGFzIHN0cmluZ107XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobGlzdGVuZXJzKSkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IGxpc3RlbmVycy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gbGlzdGVuZXJzW2ldO1xyXG4gICAgICAgICAgICAgICAgaWYgKGxpc3RlbmVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGlzdGVuZXIuYXBwbHkoY3R4LCBhcmdzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEVtaXRzIHRoZSBldmVudCBhc3luY1xyXG4gICAgICovXHJcbiAgICBkaXNwYXRjaEFzeW5jKGV2ZW50OiBFLCAuLi5hcmdzOiBBcnJheTxhbnk+KTogdm9pZCB7XHJcbiAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fZGlzcG9zZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmRpc3BhdGNoKGV2ZW50LCAuLi5hcmdzKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgZXZlbnQgbGlzdGVuZXIgaXMgYWxyZWFkeSBzdWJzY3JpYmVkLlxyXG4gICAgICovXHJcbiAgICBoYXNFdmVudExpc3RlbmVyKGV2ZW50TmFtZTogRSwgaGFuZGxlcjogSCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50ID0gZXZlbnROYW1lIGFzIHVua25vd24gYXMgc3RyaW5nO1xyXG4gICAgICAgIGlmICh0aGlzLl9saXN0ZW5lcnNbZXZlbnRdICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gdGhpcy5fbGlzdGVuZXJzW2V2ZW50XTtcclxuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBsaXN0ZW5lcnMuZmluZEluZGV4KHYgPT4gdiA9PT0gKGhhbmRsZXIgYXMgYW55KSk7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCBldmVudCBsaXN0ZW5lclxyXG4gICAgICovXHJcbiAgICBhZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZTogRSwgaGFuZGxlcjogSCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50ID0gZXZlbnROYW1lIGFzIHVua25vd24gYXMgc3RyaW5nO1xyXG4gICAgICAgIGlmICghdGhpcy5fbGlzdGVuZXJzLmhhc093blByb3BlcnR5KGV2ZW50KSkge1xyXG4gICAgICAgICAgICB0aGlzLl9saXN0ZW5lcnNbZXZlbnRdID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2xpc3RlbmVyc1tldmVudF0ucHVzaChoYW5kbGVyIGFzIHVua25vd24gYXMgVEV2ZW50SGFuZGxlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmUgZXZlbnQgbGlzdGVuZXJcclxuICAgICAqL1xyXG4gICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWU6IEUsIGhhbmRsZXI6IEgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBldmVudCA9IGV2ZW50TmFtZSBhcyB1bmtub3duIGFzIHN0cmluZztcclxuICAgICAgICBpZiAoIXRoaXMuX2xpc3RlbmVycy5oYXNPd25Qcm9wZXJ0eShldmVudCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBsaXN0ZW5lcnMgPSB0aGlzLl9saXN0ZW5lcnNbZXZlbnRdLCBpbmRleCA9IGxpc3RlbmVycy5maW5kSW5kZXgodiA9PiB2ID09PSBoYW5kbGVyIGFzIGFueSk7XHJcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAgICAgbGlzdGVuZXJzLnNwbGljZShpbmRleCwgMSk7XHJcblxyXG4gICAgICAgICAgICBpZiAobGlzdGVuZXJzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2xpc3RlbmVyc1tldmVudF07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmUgYWxsIGxpc3RlbmVyc1xyXG4gICAgICovXHJcbiAgICByZW1vdmVBbGxMaXN0ZW5lcnMoKSB7XHJcbiAgICAgICAgY29uc3QgZXZlbnRzID0gT2JqZWN0LmtleXModGhpcy5fbGlzdGVuZXJzKTtcclxuICAgICAgICB3aGlsZSAoZXZlbnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBldmVudHMucG9wKCk7XHJcbiAgICAgICAgICAgIGlmIChldmVudCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gdGhpcy5fbGlzdGVuZXJzW2V2ZW50XTtcclxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxpc3RlbmVycykpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aGlsZSAobGlzdGVuZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlzdGVuZXIgPSBsaXN0ZW5lcnMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0ZW5lcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50IGFzIHVua25vd24gYXMgRSwgbGlzdGVuZXIgYXMgdW5rbm93biBhcyBIKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1ldGhvZCBvZiBkZXN0cm95aW5nIGhhbmRsZXJzXHJcbiAgICAgKi9cclxuICAgIGRpc3Bvc2UoKSB7XHJcbiAgICAgICAgdGhpcy5fZGlzcG9zZWQgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLnJlbW92ZUFsbExpc3RlbmVycygpO1xyXG4gICAgfVxyXG59Il19
@@ -1,3 +1,3 @@
1
- import { EventEmitter } from "./event-emitter";
2
- export { EventEmitter, };
1
+ import { EventEmitter } from "./event-emitter";
2
+ export { EventEmitter, };
3
3
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9ldmVudC1lbWl0dGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQ0gsWUFBWSxHQUNmLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiLi9ldmVudC1lbWl0dGVyXCI7XHJcbmltcG9ydCB7IElFdmVudEVtaXR0ZXIgfSBmcm9tIFwiLi9pbnRlcmZhY2VzXCI7XHJcblxyXG5leHBvcnQge1xyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSB7XHJcbiAgICBJRXZlbnRFbWl0dGVyLFxyXG59Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2V2ZW50LWVtaXR0ZXIvaW50ZXJmYWNlcy9ldmVudC1lbWl0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBURXZlbnRIYW5kbGVyID0gKC4uLmFyZ3M6IEFycmF5PGFueT4pID0+IHZvaWQ7XHJcblxyXG4vKipcclxuICogRXZlbnQgZW1pdHRlciBpbnRlcmZhY2VcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvbWFpbi9saWJyYXJ5L3NyYy91dGlscy9ldmVudC1lbWl0dGVyL2ludGVyZmFjZXMvSUV2ZW50RW1pdHRlci50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUV2ZW50RW1pdHRlcjxFID0gc3RyaW5nLCBIID0gVEV2ZW50SGFuZGxlcj4ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBFbWl0cyB0aGUgZXZlbnRcclxuICAgICAqL1xyXG4gICAgZGlzcGF0Y2g6IChldmVudDogRSwgLi4uYXJnczogQXJyYXk8YW55PikgPT4gdm9pZDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEVtaXRzIHRoZSBldmVudCBhc3luY1xyXG4gICAgICovXHJcbiAgICBkaXNwYXRjaEFzeW5jOiAoZXZlbnQ6IEUsIC4uLmFyZ3M6IEFycmF5PGFueT4pID0+IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGV2ZW50IGxpc3RlbmVyIGlzIGFscmVhZHkgc3Vic2NyaWJlZC5cclxuICAgICAqL1xyXG4gICAgaGFzRXZlbnRMaXN0ZW5lcjogKGV2ZW50TmFtZTogRSwgaGFuZGxlcjogSCkgPT4gYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCBldmVudCBsaXN0ZW5lclxyXG4gICAgICovXHJcbiAgICBhZGRFdmVudExpc3RlbmVyOiAoZXZlbnROYW1lOiBFLCBoYW5kbGVyOiBIKSA9PiB2b2lkO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlIGV2ZW50IGxpc3RlbmVyXHJcbiAgICAgKi9cclxuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXI6IChldmVudE5hbWU6IEUsIGhhbmRsZXI6IEgpID0+IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmUgYWxsIGxpc3RlbmVyc1xyXG4gICAgICovXHJcbiAgICByZW1vdmVBbGxMaXN0ZW5lcnM6ICgpID0+IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNZXRob2Qgb2YgZGVzdHJveWluZyBoYW5kbGVyc1xyXG4gICAgICovXHJcbiAgICBkaXNwb3NlOiAoKSA9PiB2b2lkO1xyXG59Il19
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9ldmVudC1lbWl0dGVyL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFdmVudEVtaXR0ZXIgfSBmcm9tICcuL2V2ZW50LWVtaXR0ZXInO1xyXG5cclxuZXhwb3J0IHR5cGUge1xyXG4gICAgSUV2ZW50RW1pdHRlcixcclxufSJdfQ==
@@ -0,0 +1,12 @@
1
+ import { EMPTY_SCROLL_STATE_VERSION } from "../const";
2
+ export const getScrollStateVersion = (totalSize, scrollSize) => {
3
+ if (totalSize === -1) {
4
+ return EMPTY_SCROLL_STATE_VERSION;
5
+ }
6
+ let scrollStateUpdateIndex = 0;
7
+ if (totalSize < scrollSize) {
8
+ scrollStateUpdateIndex = scrollStateUpdateIndex === Number.MAX_SAFE_INTEGER ? 0 : scrollStateUpdateIndex + 1;
9
+ }
10
+ return `${scrollStateUpdateIndex}_${totalSize}_${scrollSize}`;
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNjcm9sbC1zdGF0ZS12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvZ2V0LXNjcm9sbC1zdGF0ZS12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLFNBQWlCLEVBQUUsVUFBa0IsRUFBVSxFQUFFO0lBQ25GLElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQ2xCLE9BQU8sMEJBQTBCLENBQUM7S0FDckM7SUFDRCxJQUFJLHNCQUFzQixHQUFHLENBQUMsQ0FBQztJQUMvQixJQUFJLFNBQVMsR0FBRyxVQUFVLEVBQUU7UUFDeEIsc0JBQXNCLEdBQUcsc0JBQXNCLEtBQUssTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQztLQUNoSDtJQUNELE9BQU8sR0FBRyxzQkFBc0IsSUFBSSxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7QUFDbEUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRU1QVFlfU0NST0xMX1NUQVRFX1ZFUlNJT04gfSBmcm9tIFwiLi4vY29uc3RcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRTY3JvbGxTdGF0ZVZlcnNpb24gPSAodG90YWxTaXplOiBudW1iZXIsIHNjcm9sbFNpemU6IG51bWJlcik6IHN0cmluZyA9PiB7XHJcbiAgICBpZiAodG90YWxTaXplID09PSAtMSkge1xyXG4gICAgICAgIHJldHVybiBFTVBUWV9TQ1JPTExfU1RBVEVfVkVSU0lPTjtcclxuICAgIH1cclxuICAgIGxldCBzY3JvbGxTdGF0ZVVwZGF0ZUluZGV4ID0gMDtcclxuICAgIGlmICh0b3RhbFNpemUgPCBzY3JvbGxTaXplKSB7XHJcbiAgICAgICAgc2Nyb2xsU3RhdGVVcGRhdGVJbmRleCA9IHNjcm9sbFN0YXRlVXBkYXRlSW5kZXggPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSID8gMCA6IHNjcm9sbFN0YXRlVXBkYXRlSW5kZXggKyAxO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3Njcm9sbFN0YXRlVXBkYXRlSW5kZXh9XyR7dG90YWxTaXplfV8ke3Njcm9sbFNpemV9YDtcclxufTtcclxuIl19
@@ -1,5 +1,5 @@
1
- import { ITEM_ID } from "../const";
2
- export const getSelectorByItemId = (id) => {
3
- return `[${ITEM_ID}="${id}"]`;
4
- };
1
+ import { ITEM_ID } from "../const";
2
+ export const getSelectorByItemId = (id) => {
3
+ return `[${ITEM_ID}="${id}"]`;
4
+ };
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlbGVjdG9yLWJ5LWl0ZW0taWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9nZXQtc2VsZWN0b3ItYnktaXRlbS1pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR25DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsRUFBTSxFQUFFLEVBQUU7SUFDMUMsT0FBTyxJQUFJLE9BQU8sS0FBSyxFQUFFLElBQUksQ0FBQztBQUNsQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVEVNX0lEIH0gZnJvbSBcIi4uL2NvbnN0XCI7XHJcbmltcG9ydCB7IElkIH0gZnJvbSBcIi4uL3R5cGVzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0b3JCeUl0ZW1JZCA9IChpZDogSWQpID0+IHtcclxuICAgIHJldHVybiBgWyR7SVRFTV9JRH09XCIke2lkfVwiXWA7XHJcbn07XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
- import { debounce } from "./debounce";
2
- import { toggleClassName } from './toggle-class-name';
3
- import { ScrollEvent } from "./scroll-event";
4
- export { debounce, toggleClassName, ScrollEvent, };
1
+ import { debounce } from "./debounce";
2
+ import { toggleClassName } from './toggle-class-name';
3
+ import { ScrollEvent } from "./scroll-event";
4
+ export { debounce, toggleClassName, ScrollEvent, };
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUNILFFBQVEsRUFDUixlQUFlLEVBQ2YsV0FBVyxHQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gXCIuL2RlYm91bmNlXCI7XHJcbmltcG9ydCB7IHRvZ2dsZUNsYXNzTmFtZSB9IGZyb20gJy4vdG9nZ2xlLWNsYXNzLW5hbWUnO1xyXG5pbXBvcnQgeyBJRGVib3VuY2UgfSBmcm9tIFwiLi9kZWJvdW5jZVwiO1xyXG5pbXBvcnQgeyBTY3JvbGxFdmVudCB9IGZyb20gXCIuL3Njcm9sbC1ldmVudFwiO1xyXG5cclxuZXhwb3J0IHtcclxuICAgIGRlYm91bmNlLFxyXG4gICAgdG9nZ2xlQ2xhc3NOYW1lLFxyXG4gICAgU2Nyb2xsRXZlbnQsXHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSB7XHJcbiAgICBJRGVib3VuY2UsXHJcbn07XHJcblxyXG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { CollapsingModes } from "../enums";
2
+ const NONE_ALIASES = [CollapsingModes.NONE, 'none'], MULTIMPLE_ALIASES = [CollapsingModes.MULTI_COLLAPSE, 'multi-collapse'], ACCORDION_ALIASES = [CollapsingModes.ACCORDION, 'accordion'];
3
+ /**
4
+ * Defines the mode for collapsing list items.
5
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/is-collapse-mode.ts
6
+ * @author Evgenii Alexandrovich Grebennikov
7
+ * @email djonnyx@gmail.com
8
+ */
9
+ export const isCollapseMode = (src, expected) => {
10
+ if (NONE_ALIASES.includes(expected)) {
11
+ return NONE_ALIASES.includes(src);
12
+ }
13
+ else if (MULTIMPLE_ALIASES.includes(expected)) {
14
+ return MULTIMPLE_ALIASES.includes(src);
15
+ }
16
+ return ACCORDION_ALIASES.includes(src);
17
+ };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29sbGFwc2UtbW9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2lzLWNvbGxhcHNlLW1vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUczQyxNQUFNLFlBQVksR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQy9DLGlCQUFpQixHQUFHLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxFQUN0RSxpQkFBaUIsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFFakU7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxHQUFtQixFQUFFLFFBQXdCLEVBQVcsRUFBRTtJQUNyRixJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDakMsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3JDO1NBQU0sSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDN0MsT0FBTyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDMUM7SUFDRCxPQUFPLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsYXBzaW5nTW9kZXMgfSBmcm9tIFwiLi4vZW51bXNcIjtcclxuaW1wb3J0IHsgQ29sbGFwc2luZ01vZGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmNvbnN0IE5PTkVfQUxJQVNFUyA9IFtDb2xsYXBzaW5nTW9kZXMuTk9ORSwgJ25vbmUnXSxcclxuICAgIE1VTFRJTVBMRV9BTElBU0VTID0gW0NvbGxhcHNpbmdNb2Rlcy5NVUxUSV9DT0xMQVBTRSwgJ211bHRpLWNvbGxhcHNlJ10sXHJcbiAgICBBQ0NPUkRJT05fQUxJQVNFUyA9IFtDb2xsYXBzaW5nTW9kZXMuQUNDT1JESU9OLCAnYWNjb3JkaW9uJ107XHJcblxyXG4vKipcclxuICogRGVmaW5lcyB0aGUgbW9kZSBmb3IgY29sbGFwc2luZyBsaXN0IGl0ZW1zLlxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2lzLWNvbGxhcHNlLW1vZGUudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNDb2xsYXBzZU1vZGUgPSAoc3JjOiBDb2xsYXBzaW5nTW9kZSwgZXhwZWN0ZWQ6IENvbGxhcHNpbmdNb2RlKTogYm9vbGVhbiA9PiB7XHJcbiAgICBpZiAoTk9ORV9BTElBU0VTLmluY2x1ZGVzKGV4cGVjdGVkKSkge1xyXG4gICAgICAgIHJldHVybiBOT05FX0FMSUFTRVMuaW5jbHVkZXMoc3JjKTtcclxuICAgIH0gZWxzZSBpZiAoTVVMVElNUExFX0FMSUFTRVMuaW5jbHVkZXMoZXhwZWN0ZWQpKSB7XHJcbiAgICAgICAgcmV0dXJuIE1VTFRJTVBMRV9BTElBU0VTLmluY2x1ZGVzKHNyYyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gQUNDT1JESU9OX0FMSUFTRVMuaW5jbHVkZXMoc3JjKTtcclxufVxyXG4iXX0=
@@ -1,15 +1,15 @@
1
- import { CollectionModes } from "../enums";
2
- const NORMAL_ALIASES = [CollectionModes.NORMAL, 'normal'], LAZY_ALIASES = [CollectionModes.LAZY, 'lazy'];
3
- /**
4
- * Determines the axis membership of a virtual list
5
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/is-collection-mode.ts
6
- * @author Evgenii Alexandrovich Grebennikov
7
- * @email djonnyx@gmail.com
8
- */
9
- export const isCollectionMode = (src, expected) => {
10
- if (LAZY_ALIASES.includes(expected)) {
11
- return LAZY_ALIASES.includes(src);
12
- }
13
- return NORMAL_ALIASES.includes(src);
14
- };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29sbGVjdGlvbi1tb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvaXMtY29sbGVjdGlvbi1tb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHM0MsTUFBTSxjQUFjLEdBQUcsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUNyRCxZQUFZLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRWxEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxHQUFtQixFQUFFLFFBQXdCLEVBQVcsRUFBRTtJQUN2RixJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uTW9kZXMgfSBmcm9tIFwiLi4vZW51bXNcIjtcclxuaW1wb3J0IHsgQ29sbGVjdGlvbk1vZGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmNvbnN0IE5PUk1BTF9BTElBU0VTID0gW0NvbGxlY3Rpb25Nb2Rlcy5OT1JNQUwsICdub3JtYWwnXSxcclxuICAgIExBWllfQUxJQVNFUyA9IFtDb2xsZWN0aW9uTW9kZXMuTEFaWSwgJ2xhenknXTtcclxuXHJcbi8qKlxyXG4gKiBEZXRlcm1pbmVzIHRoZSBheGlzIG1lbWJlcnNoaXAgb2YgYSB2aXJ0dWFsIGxpc3RcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9pcy1jb2xsZWN0aW9uLW1vZGUudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNDb2xsZWN0aW9uTW9kZSA9IChzcmM6IENvbGxlY3Rpb25Nb2RlLCBleHBlY3RlZDogQ29sbGVjdGlvbk1vZGUpOiBib29sZWFuID0+IHtcclxuICAgIGlmIChMQVpZX0FMSUFTRVMuaW5jbHVkZXMoZXhwZWN0ZWQpKSB7XHJcbiAgICAgICAgcmV0dXJuIExBWllfQUxJQVNFUy5pbmNsdWRlcyhzcmMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE5PUk1BTF9BTElBU0VTLmluY2x1ZGVzKHNyYyk7XHJcbn0iXX0=
1
+ import { CollectionModes } from "../enums";
2
+ const NORMAL_ALIASES = [CollectionModes.NORMAL, 'normal'], LAZY_ALIASES = [CollectionModes.LAZY, 'lazy'];
3
+ /**
4
+ * Determines the axis membership of a virtual list
5
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/is-collection-mode.ts
6
+ * @author Evgenii Alexandrovich Grebennikov
7
+ * @email djonnyx@gmail.com
8
+ */
9
+ export const isCollectionMode = (src, expected) => {
10
+ if (LAZY_ALIASES.includes(expected)) {
11
+ return LAZY_ALIASES.includes(src);
12
+ }
13
+ return NORMAL_ALIASES.includes(src);
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29sbGVjdGlvbi1tb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvaXMtY29sbGVjdGlvbi1tb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHM0MsTUFBTSxjQUFjLEdBQUcsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUNyRCxZQUFZLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRWxEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxHQUFtQixFQUFFLFFBQXdCLEVBQVcsRUFBRTtJQUN2RixJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDakMsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3JDO0lBQ0QsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25Nb2RlcyB9IGZyb20gXCIuLi9lbnVtc1wiO1xyXG5pbXBvcnQgeyBDb2xsZWN0aW9uTW9kZSB9IGZyb20gXCIuLi90eXBlc1wiO1xyXG5cclxuY29uc3QgTk9STUFMX0FMSUFTRVMgPSBbQ29sbGVjdGlvbk1vZGVzLk5PUk1BTCwgJ25vcm1hbCddLFxyXG4gICAgTEFaWV9BTElBU0VTID0gW0NvbGxlY3Rpb25Nb2Rlcy5MQVpZLCAnbGF6eSddO1xyXG5cclxuLyoqXHJcbiAqIERldGVybWluZXMgdGhlIGF4aXMgbWVtYmVyc2hpcCBvZiBhIHZpcnR1YWwgbGlzdFxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2lzLWNvbGxlY3Rpb24tbW9kZS50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjb25zdCBpc0NvbGxlY3Rpb25Nb2RlID0gKHNyYzogQ29sbGVjdGlvbk1vZGUsIGV4cGVjdGVkOiBDb2xsZWN0aW9uTW9kZSk6IGJvb2xlYW4gPT4ge1xyXG4gICAgaWYgKExBWllfQUxJQVNFUy5pbmNsdWRlcyhleHBlY3RlZCkpIHtcclxuICAgICAgICByZXR1cm4gTEFaWV9BTElBU0VTLmluY2x1ZGVzKHNyYyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gTk9STUFMX0FMSUFTRVMuaW5jbHVkZXMoc3JjKTtcclxufSJdfQ==
@@ -0,0 +1,15 @@
1
+ import { Directions } from "../enums";
2
+ const HORIZONTAL_ALIASES = [Directions.HORIZONTAL, 'horizontal'], VERTICAL_ALIASES = [Directions.VERTICAL, 'vertical'];
3
+ /**
4
+ * Determines the axis membership of a virtual list
5
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/is-direction.ts
6
+ * @author Evgenii Alexandrovich Grebennikov
7
+ * @email djonnyx@gmail.com
8
+ */
9
+ export const isDirection = (src, expected) => {
10
+ if (HORIZONTAL_ALIASES.includes(expected)) {
11
+ return HORIZONTAL_ALIASES.includes(src);
12
+ }
13
+ return VERTICAL_ALIASES.includes(src);
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZGlyZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvaXMtZGlyZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdEMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLEVBQzVELGdCQUFnQixHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUV6RDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQWMsRUFBRSxRQUFtQixFQUFXLEVBQUU7SUFDeEUsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDdkMsT0FBTyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDM0M7SUFDRCxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb25zIH0gZnJvbSBcIi4uL2VudW1zXCI7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gXCIuLi90eXBlc1wiO1xyXG5cclxuY29uc3QgSE9SSVpPTlRBTF9BTElBU0VTID0gW0RpcmVjdGlvbnMuSE9SSVpPTlRBTCwgJ2hvcml6b250YWwnXSxcclxuICAgIFZFUlRJQ0FMX0FMSUFTRVMgPSBbRGlyZWN0aW9ucy5WRVJUSUNBTCwgJ3ZlcnRpY2FsJ107XHJcblxyXG4vKipcclxuICogRGV0ZXJtaW5lcyB0aGUgYXhpcyBtZW1iZXJzaGlwIG9mIGEgdmlydHVhbCBsaXN0XHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE0LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvaXMtZGlyZWN0aW9uLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGlzRGlyZWN0aW9uID0gKHNyYzogRGlyZWN0aW9uLCBleHBlY3RlZDogRGlyZWN0aW9uKTogYm9vbGVhbiA9PiB7XHJcbiAgICBpZiAoSE9SSVpPTlRBTF9BTElBU0VTLmluY2x1ZGVzKGV4cGVjdGVkKSkge1xyXG4gICAgICAgIHJldHVybiBIT1JJWk9OVEFMX0FMSUFTRVMuaW5jbHVkZXMoc3JjKTtcclxuICAgIH1cclxuICAgIHJldHVybiBWRVJUSUNBTF9BTElBU0VTLmluY2x1ZGVzKHNyYyk7XHJcbn0iXX0=
@@ -0,0 +1,14 @@
1
+ import { PERCENTAGE_VALUE_PATTERN } from "../const";
2
+ /**
3
+ * isPercentageValue
4
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/is-persentage-value.ts
5
+ * @author Evgenii Alexandrovich Grebennikov
6
+ * @email djonnyx@gmail.com
7
+ */
8
+ export const isPercentageValue = (value) => {
9
+ if (value === undefined || typeof value === 'number') {
10
+ return false;
11
+ }
12
+ return PERCENTAGE_VALUE_PATTERN.test(value);
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtcGVyc2VudGFnZS12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2lzLXBlcnNlbnRhZ2UtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXBEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFxQyxFQUFFLEVBQUU7SUFDdkUsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUNsRCxPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUNELE9BQU8sd0JBQXdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBFUkNFTlRBR0VfVkFMVUVfUEFUVEVSTiB9IGZyb20gXCIuLi9jb25zdFwiO1xyXG5cclxuLyoqXHJcbiAqIGlzUGVyY2VudGFnZVZhbHVlXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE0LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvaXMtcGVyc2VudGFnZS12YWx1ZS50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjb25zdCBpc1BlcmNlbnRhZ2VWYWx1ZSA9ICh2YWx1ZTogbnVtYmVyIHwgYCR7bnVtYmVyfSVgIHwgc3RyaW5nKSA9PiB7XHJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFBFUkNFTlRBR0VfVkFMVUVfUEFUVEVSTi50ZXN0KHZhbHVlKTtcclxufTsiXX0=