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,18 @@
1
+ import { SelectingModes } from "../enums";
2
+ const NONE_ALIASES = [SelectingModes.NONE, 'none'], SELECT_ALIASES = [SelectingModes.SELECT, 'select'], MULTI_SELECT_ALIASES = [SelectingModes.MULTI_SELECT, 'multi-select'];
3
+ /**
4
+ * Defines the mode for selecting list items.
5
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/is-select-mode.ts
6
+ * @author Evgenii Alexandrovich Grebennikov
7
+ * @email djonnyx@gmail.com
8
+ */
9
+ export const isSelectMode = (src, expected) => {
10
+ if (NONE_ALIASES.includes(expected)) {
11
+ return NONE_ALIASES.includes(src);
12
+ }
13
+ else if (SELECT_ALIASES.includes(expected)) {
14
+ return SELECT_ALIASES.includes(src);
15
+ }
16
+ return MULTI_SELECT_ALIASES.includes(src);
17
+ };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2VsZWN0LW1vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9pcy1zZWxlY3QtbW9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRzFDLE1BQU0sWUFBWSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFDOUMsY0FBYyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFDbEQsb0JBQW9CLEdBQUcsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBRXpFOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBa0IsRUFBRSxRQUF1QixFQUFXLEVBQUU7SUFDakYsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ2pDLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNyQztTQUFNLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUMxQyxPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDdkM7SUFDRCxPQUFPLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RpbmdNb2RlcyB9IGZyb20gXCIuLi9lbnVtc1wiO1xyXG5pbXBvcnQgeyBTZWxlY3RpbmdNb2RlIH0gZnJvbSBcIi4uL3R5cGVzXCI7XHJcblxyXG5jb25zdCBOT05FX0FMSUFTRVMgPSBbU2VsZWN0aW5nTW9kZXMuTk9ORSwgJ25vbmUnXSxcclxuICAgIFNFTEVDVF9BTElBU0VTID0gW1NlbGVjdGluZ01vZGVzLlNFTEVDVCwgJ3NlbGVjdCddLFxyXG4gICAgTVVMVElfU0VMRUNUX0FMSUFTRVMgPSBbU2VsZWN0aW5nTW9kZXMuTVVMVElfU0VMRUNULCAnbXVsdGktc2VsZWN0J107XHJcblxyXG4vKipcclxuICogRGVmaW5lcyB0aGUgbW9kZSBmb3Igc2VsZWN0aW5nIGxpc3QgaXRlbXMuXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE0LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvaXMtc2VsZWN0LW1vZGUudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNTZWxlY3RNb2RlID0gKHNyYzogU2VsZWN0aW5nTW9kZSwgZXhwZWN0ZWQ6IFNlbGVjdGluZ01vZGUpOiBib29sZWFuID0+IHtcclxuICAgIGlmIChOT05FX0FMSUFTRVMuaW5jbHVkZXMoZXhwZWN0ZWQpKSB7XHJcbiAgICAgICAgcmV0dXJuIE5PTkVfQUxJQVNFUy5pbmNsdWRlcyhzcmMpO1xyXG4gICAgfSBlbHNlIGlmIChTRUxFQ1RfQUxJQVNFUy5pbmNsdWRlcyhleHBlY3RlZCkpIHtcclxuICAgICAgICByZXR1cm4gU0VMRUNUX0FMSUFTRVMuaW5jbHVkZXMoc3JjKTtcclxuICAgIH1cclxuICAgIHJldHVybiBNVUxUSV9TRUxFQ1RfQUxJQVNFUy5pbmNsdWRlcyhzcmMpO1xyXG59XHJcbiJdfQ==
@@ -1,15 +1,15 @@
1
- import { SpreadingModes } from "../enums";
2
- const NORMAL_ALIASES = [SpreadingModes.NORMAL, 'normal'], INFINITY_ALIASES = [SpreadingModes.INFINITY, 'infinity'];
3
- /**
4
- * Determines the display mode of list items.
5
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/is-select-mode.ts
6
- * @author Evgenii Alexandrovich Grebennikov
7
- * @email djonnyx@gmail.com
8
- */
9
- export const isSpreadingMode = (src, expected) => {
10
- if (INFINITY_ALIASES.includes(expected)) {
11
- return INFINITY_ALIASES.includes(src);
12
- }
13
- return NORMAL_ALIASES.includes(src);
14
- };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc3ByZWFkaW5nLW1vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9pcy1zcHJlYWRpbmctbW9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRzFDLE1BQU0sY0FBYyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFDcEQsZ0JBQWdCLEdBQUcsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBRTdEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBa0IsRUFBRSxRQUF1QixFQUFXLEVBQUU7SUFDcEYsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUN0QyxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNwcmVhZGluZ01vZGVzIH0gZnJvbSBcIi4uL2VudW1zXCI7XHJcbmltcG9ydCB7IFNwcmVhZGluZ01vZGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmNvbnN0IE5PUk1BTF9BTElBU0VTID0gW1NwcmVhZGluZ01vZGVzLk5PUk1BTCwgJ25vcm1hbCddLFxyXG4gICAgSU5GSU5JVFlfQUxJQVNFUyA9IFtTcHJlYWRpbmdNb2Rlcy5JTkZJTklUWSwgJ2luZmluaXR5J107XHJcblxyXG4vKipcclxuICogRGV0ZXJtaW5lcyB0aGUgZGlzcGxheSBtb2RlIG9mIGxpc3QgaXRlbXMuXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE0LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvaXMtc2VsZWN0LW1vZGUudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNTcHJlYWRpbmdNb2RlID0gKHNyYzogU3ByZWFkaW5nTW9kZSwgZXhwZWN0ZWQ6IFNwcmVhZGluZ01vZGUpOiBib29sZWFuID0+IHtcclxuICAgIGlmIChJTkZJTklUWV9BTElBU0VTLmluY2x1ZGVzKGV4cGVjdGVkKSkge1xyXG4gICAgICAgIHJldHVybiBJTkZJTklUWV9BTElBU0VTLmluY2x1ZGVzKHNyYyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gTk9STUFMX0FMSUFTRVMuaW5jbHVkZXMoc3JjKTtcclxufVxyXG4iXX0=
1
+ import { SpreadingModes } from "../enums";
2
+ const NORMAL_ALIASES = [SpreadingModes.NORMAL, 'normal'], INFINITY_ALIASES = [SpreadingModes.INFINITY, 'infinity'];
3
+ /**
4
+ * Determines the display mode of list items.
5
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/is-select-mode.ts
6
+ * @author Evgenii Alexandrovich Grebennikov
7
+ * @email djonnyx@gmail.com
8
+ */
9
+ export const isSpreadingMode = (src, expected) => {
10
+ if (INFINITY_ALIASES.includes(expected)) {
11
+ return INFINITY_ALIASES.includes(src);
12
+ }
13
+ return NORMAL_ALIASES.includes(src);
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc3ByZWFkaW5nLW1vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9pcy1zcHJlYWRpbmctbW9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRzFDLE1BQU0sY0FBYyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFDcEQsZ0JBQWdCLEdBQUcsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBRTdEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBa0IsRUFBRSxRQUF1QixFQUFXLEVBQUU7SUFDcEYsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDckMsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDekM7SUFDRCxPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ByZWFkaW5nTW9kZXMgfSBmcm9tIFwiLi4vZW51bXNcIjtcclxuaW1wb3J0IHsgU3ByZWFkaW5nTW9kZSB9IGZyb20gXCIuLi90eXBlc1wiO1xyXG5cclxuY29uc3QgTk9STUFMX0FMSUFTRVMgPSBbU3ByZWFkaW5nTW9kZXMuTk9STUFMLCAnbm9ybWFsJ10sXHJcbiAgICBJTkZJTklUWV9BTElBU0VTID0gW1NwcmVhZGluZ01vZGVzLklORklOSVRZLCAnaW5maW5pdHknXTtcclxuXHJcbi8qKlxyXG4gKiBEZXRlcm1pbmVzIHRoZSBkaXNwbGF5IG1vZGUgb2YgbGlzdCBpdGVtcy5cclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9pcy1zZWxlY3QtbW9kZS50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjb25zdCBpc1NwcmVhZGluZ01vZGUgPSAoc3JjOiBTcHJlYWRpbmdNb2RlLCBleHBlY3RlZDogU3ByZWFkaW5nTW9kZSk6IGJvb2xlYW4gPT4ge1xyXG4gICAgaWYgKElORklOSVRZX0FMSUFTRVMuaW5jbHVkZXMoZXhwZWN0ZWQpKSB7XHJcbiAgICAgICAgcmV0dXJuIElORklOSVRZX0FMSUFTRVMuaW5jbHVkZXMoc3JjKTtcclxuICAgIH1cclxuICAgIHJldHVybiBOT1JNQUxfQUxJQVNFUy5pbmNsdWRlcyhzcmMpO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { MAX_SCROLL_TO_ITERATIONS } from "../const";
2
+ import { validateFloat, validateInt, validateString } from "./validation";
3
+ export const validateScrollIteration = (value) => {
4
+ const result = Number.isNaN(value) || (value < 0) ? 0 : value > MAX_SCROLL_TO_ITERATIONS ? MAX_SCROLL_TO_ITERATIONS : value;
5
+ return result;
6
+ }, validateId = (id) => {
7
+ const valid = validateString(id) || validateFloat(id);
8
+ if (!valid) {
9
+ throw Error('The "id" parameter must be of type `Id`.');
10
+ }
11
+ }, validateScrollBehavior = (behavior) => {
12
+ const valid = validateString(behavior) && (behavior === 'auto' || behavior === 'instant' || behavior === 'smooth');
13
+ if (!valid) {
14
+ throw Error('The "behavior" parameter must have the value `auto`, `instant` or `smooth`.');
15
+ }
16
+ }, validateIteration = (iteration) => {
17
+ const valid = validateInt(iteration, true);
18
+ if (!valid) {
19
+ throw Error('The "iteration" parameter must be of type `number`.');
20
+ }
21
+ }, validateFocusAlignment = (align) => {
22
+ const valid = validateString(align) && (align === 'none' || align === 'start' || align === 'center' || align === 'end');
23
+ if (!valid) {
24
+ throw Error('The "align" parameter must have the value `none`, `start`, `center` or `end`.');
25
+ }
26
+ };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12YWxpZGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvbGlzdC12YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUUsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtJQUNyRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM1SCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLEVBQ0csVUFBVSxHQUFHLENBQUMsRUFBTSxFQUFFLEVBQUU7SUFDcEIsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLEVBQVksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxFQUFZLENBQUMsQ0FBQztJQUMxRSxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1IsTUFBTSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztLQUMzRDtBQUNMLENBQUMsRUFDRCxzQkFBc0IsR0FBRyxDQUFDLFFBQXdELEVBQUUsRUFBRTtJQUNsRixNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsUUFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQztJQUM3SCxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1IsTUFBTSxLQUFLLENBQUMsNkVBQTZFLENBQUMsQ0FBQztLQUM5RjtBQUNMLENBQUMsRUFDRCxpQkFBaUIsR0FBRyxDQUFDLFNBQTZCLEVBQUUsRUFBRTtJQUNsRCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDUixNQUFNLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0tBQ3RFO0FBQ0wsQ0FBQyxFQUNELHNCQUFzQixHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFO0lBQy9DLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxLQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLElBQUksS0FBSyxLQUFLLE9BQU8sSUFBSSxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztJQUNsSSxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1IsTUFBTSxLQUFLLENBQUMsK0VBQStFLENBQUMsQ0FBQztLQUNoRztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1BWF9TQ1JPTExfVE9fSVRFUkFUSU9OUyB9IGZyb20gXCIuLi9jb25zdFwiO1xyXG5pbXBvcnQgeyBGb2N1c0FsaWdubWVudCwgSWQgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuaW1wb3J0IHsgdmFsaWRhdGVGbG9hdCwgdmFsaWRhdGVJbnQsIHZhbGlkYXRlU3RyaW5nIH0gZnJvbSBcIi4vdmFsaWRhdGlvblwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlU2Nyb2xsSXRlcmF0aW9uID0gKHZhbHVlOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IE51bWJlci5pc05hTih2YWx1ZSkgfHwgKHZhbHVlIDwgMCkgPyAwIDogdmFsdWUgPiBNQVhfU0NST0xMX1RPX0lURVJBVElPTlMgPyBNQVhfU0NST0xMX1RPX0lURVJBVElPTlMgOiB2YWx1ZTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn0sXHJcbiAgICB2YWxpZGF0ZUlkID0gKGlkOiBJZCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbGlkID0gdmFsaWRhdGVTdHJpbmcoaWQgYXMgc3RyaW5nKSB8fCB2YWxpZGF0ZUZsb2F0KGlkIGFzIG51bWJlcik7XHJcbiAgICAgICAgaWYgKCF2YWxpZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcignVGhlIFwiaWRcIiBwYXJhbWV0ZXIgbXVzdCBiZSBvZiB0eXBlIGBJZGAuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIHZhbGlkYXRlU2Nyb2xsQmVoYXZpb3IgPSAoYmVoYXZpb3I6IFNjcm9sbEJlaGF2aW9yIHwgJ2F1dG8nIHwgJ2luc3RhbnQnIHwgJ3Ntb290aCcpID0+IHtcclxuICAgICAgICBjb25zdCB2YWxpZCA9IHZhbGlkYXRlU3RyaW5nKGJlaGF2aW9yIGFzIHN0cmluZykgJiYgKGJlaGF2aW9yID09PSAnYXV0bycgfHwgYmVoYXZpb3IgPT09ICdpbnN0YW50JyB8fCBiZWhhdmlvciA9PT0gJ3Ntb290aCcpO1xyXG4gICAgICAgIGlmICghdmFsaWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1RoZSBcImJlaGF2aW9yXCIgcGFyYW1ldGVyIG11c3QgaGF2ZSB0aGUgdmFsdWUgYGF1dG9gLCBgaW5zdGFudGAgb3IgYHNtb290aGAuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIHZhbGlkYXRlSXRlcmF0aW9uID0gKGl0ZXJhdGlvbjogbnVtYmVyIHwgdW5kZWZpbmVkKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdmFsaWQgPSB2YWxpZGF0ZUludChpdGVyYXRpb24sIHRydWUpO1xyXG4gICAgICAgIGlmICghdmFsaWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1RoZSBcIml0ZXJhdGlvblwiIHBhcmFtZXRlciBtdXN0IGJlIG9mIHR5cGUgYG51bWJlcmAuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIHZhbGlkYXRlRm9jdXNBbGlnbm1lbnQgPSAoYWxpZ246IEZvY3VzQWxpZ25tZW50KSA9PiB7XHJcbiAgICAgICAgY29uc3QgdmFsaWQgPSB2YWxpZGF0ZVN0cmluZyhhbGlnbiBhcyBzdHJpbmcpICYmIChhbGlnbiA9PT0gJ25vbmUnIHx8IGFsaWduID09PSAnc3RhcnQnIHx8IGFsaWduID09PSAnY2VudGVyJyB8fCBhbGlnbiA9PT0gJ2VuZCcpO1xyXG4gICAgICAgIGlmICghdmFsaWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1RoZSBcImFsaWduXCIgcGFyYW1ldGVyIG11c3QgaGF2ZSB0aGUgdmFsdWUgYG5vbmVgLCBgc3RhcnRgLCBgY2VudGVyYCBvciBgZW5kYC4nKTtcclxuICAgICAgICB9XHJcbiAgICB9OyJdfQ==
@@ -0,0 +1,42 @@
1
+ import { SERVICE_PROP_DUMMY, SERVICE_PROP_DUMMY_ENABLED, SERVICE_PROP_DUMMY_ID, SERVICE_TYPE_DUMMY } from "../const";
2
+ /**
3
+ * normalizeCollection
4
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/normalize-collection.ts
5
+ * @author Evgenii Alexandrovich Grebennikov
6
+ * @email djonnyx@gmail.com
7
+ */
8
+ export const normalizeCollection = (items, itemConfigMap, trackBy, divides) => {
9
+ if (divides > 1) {
10
+ const normalizedItems = [];
11
+ let ci = -1, emptyId = Number.MIN_SAFE_INTEGER, offset = 0;
12
+ for (let i = 0, l = items.length; i < l; i++) {
13
+ const ii = i + offset, item = items[i], id = item[trackBy] ?? null, config = id !== null ? itemConfigMap[id] : null, fullSize = !!config ? ((!!config.sticky && config.sticky > 0) || (config.fullSize === true)) : false;
14
+ if ((ii % divides) === 0) {
15
+ ci = 0;
16
+ }
17
+ else {
18
+ ci++;
19
+ }
20
+ if (fullSize && ii > 0 && ci !== 0) {
21
+ for (let j = ci; j < divides; j++) {
22
+ const dummyId = `${SERVICE_PROP_DUMMY_ID}-${i},${j}`;
23
+ normalizedItems.push({ [trackBy]: dummyId, [SERVICE_PROP_DUMMY]: SERVICE_PROP_DUMMY_ENABLED, type: SERVICE_TYPE_DUMMY });
24
+ emptyId++;
25
+ offset++;
26
+ }
27
+ }
28
+ normalizedItems.push(item);
29
+ if (fullSize && (i < (l - 1))) {
30
+ for (let j = 1; j < divides; j++) {
31
+ const dummyId = `${SERVICE_PROP_DUMMY_ID}-${i},${j}`;
32
+ normalizedItems.push({ [trackBy]: dummyId, [SERVICE_PROP_DUMMY]: SERVICE_PROP_DUMMY_ENABLED, type: SERVICE_TYPE_DUMMY });
33
+ emptyId++;
34
+ offset++;
35
+ }
36
+ }
37
+ }
38
+ return normalizedItems;
39
+ }
40
+ return items;
41
+ };
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLWNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9ub3JtYWxpemUtY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsMEJBQTBCLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHckg7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQTZCLEVBQUUsYUFBd0MsRUFBRSxPQUFlLEVBQUUsT0FBZSxFQUFFLEVBQUU7SUFDN0ksSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFO1FBQ2IsTUFBTSxlQUFlLEdBQXVDLEVBQUUsQ0FBQztRQUMvRCxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDM0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsTUFBTSxFQUFFLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsTUFBTSxHQUFHLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUMvRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUV6RyxJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdEIsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUNWO2lCQUFNO2dCQUNILEVBQUUsRUFBRSxDQUFDO2FBQ1I7WUFFRCxJQUFJLFFBQVEsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQy9CLE1BQU0sT0FBTyxHQUFHLEdBQUcscUJBQXFCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNyRCxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLDBCQUEwQixFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7b0JBQ3pILE9BQU8sRUFBRSxDQUFDO29CQUNWLE1BQU0sRUFBRSxDQUFDO2lCQUNaO2FBQ0o7WUFDRCxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNCLElBQUksUUFBUSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQzlCLE1BQU0sT0FBTyxHQUFHLEdBQUcscUJBQXFCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNyRCxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLDBCQUEwQixFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7b0JBQ3pILE9BQU8sRUFBRSxDQUFDO29CQUNWLE1BQU0sRUFBRSxDQUFDO2lCQUNaO2FBQ0o7U0FDSjtRQUNELE9BQU8sZUFBZSxDQUFDO0tBQzFCO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0VSVklDRV9QUk9QX0RVTU1ZLCBTRVJWSUNFX1BST1BfRFVNTVlfRU5BQkxFRCwgU0VSVklDRV9QUk9QX0RVTU1ZX0lELCBTRVJWSUNFX1RZUEVfRFVNTVkgfSBmcm9tIFwiLi4vY29uc3RcIjtcclxuaW1wb3J0IHsgSVZpcnR1YWxMaXN0Q29sbGVjdGlvbiwgSVZpcnR1YWxMaXN0SXRlbUNvbmZpZ01hcCB9IGZyb20gXCIuLi9tb2RlbHNcIjtcclxuXHJcbi8qKlxyXG4gKiBub3JtYWxpemVDb2xsZWN0aW9uXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE0LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvbm9ybWFsaXplLWNvbGxlY3Rpb24udHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplQ29sbGVjdGlvbiA9IChpdGVtczogSVZpcnR1YWxMaXN0Q29sbGVjdGlvbiwgaXRlbUNvbmZpZ01hcDogSVZpcnR1YWxMaXN0SXRlbUNvbmZpZ01hcCwgdHJhY2tCeTogc3RyaW5nLCBkaXZpZGVzOiBudW1iZXIpID0+IHtcclxuICAgIGlmIChkaXZpZGVzID4gMSkge1xyXG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRJdGVtczogSVZpcnR1YWxMaXN0Q29sbGVjdGlvbjxhbnkgfCBudWxsPiA9IFtdO1xyXG4gICAgICAgIGxldCBjaSA9IC0xLCBlbXB0eUlkID0gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIsIG9mZnNldCA9IDA7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBpdGVtcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgaWkgPSBpICsgb2Zmc2V0LCBpdGVtID0gaXRlbXNbaV0sIGlkID0gaXRlbVt0cmFja0J5XSA/PyBudWxsLCBjb25maWcgPSBpZCAhPT0gbnVsbCA/IGl0ZW1Db25maWdNYXBbaWRdIDogbnVsbCxcclxuICAgICAgICAgICAgICAgIGZ1bGxTaXplID0gISFjb25maWcgPyAoKCEhY29uZmlnLnN0aWNreSAmJiBjb25maWcuc3RpY2t5ID4gMCkgfHwgKGNvbmZpZy5mdWxsU2l6ZSA9PT0gdHJ1ZSkpIDogZmFsc2U7XHJcblxyXG4gICAgICAgICAgICBpZiAoKGlpICUgZGl2aWRlcykgPT09IDApIHtcclxuICAgICAgICAgICAgICAgIGNpID0gMDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNpKys7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChmdWxsU2l6ZSAmJiBpaSA+IDAgJiYgY2kgIT09IDApIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGogPSBjaTsgaiA8IGRpdmlkZXM7IGorKykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGR1bW15SWQgPSBgJHtTRVJWSUNFX1BST1BfRFVNTVlfSUR9LSR7aX0sJHtqfWA7XHJcbiAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplZEl0ZW1zLnB1c2goeyBbdHJhY2tCeV06IGR1bW15SWQsIFtTRVJWSUNFX1BST1BfRFVNTVldOiBTRVJWSUNFX1BST1BfRFVNTVlfRU5BQkxFRCwgdHlwZTogU0VSVklDRV9UWVBFX0RVTU1ZIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGVtcHR5SWQrKztcclxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQrKztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBub3JtYWxpemVkSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgaWYgKGZ1bGxTaXplICYmIChpIDwgKGwgLSAxKSkpIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGogPSAxOyBqIDwgZGl2aWRlczsgaisrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZHVtbXlJZCA9IGAke1NFUlZJQ0VfUFJPUF9EVU1NWV9JRH0tJHtpfSwke2p9YDtcclxuICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkSXRlbXMucHVzaCh7IFt0cmFja0J5XTogZHVtbXlJZCwgW1NFUlZJQ0VfUFJPUF9EVU1NWV06IFNFUlZJQ0VfUFJPUF9EVU1NWV9FTkFCTEVELCB0eXBlOiBTRVJWSUNFX1RZUEVfRFVNTVkgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZW1wdHlJZCsrO1xyXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldCsrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBub3JtYWxpemVkSXRlbXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXRlbXM7XHJcbn1cclxuIl19
@@ -0,0 +1,28 @@
1
+ export const objectAsReadonly = (source) => {
2
+ if (!source) {
3
+ return source;
4
+ }
5
+ const result = {};
6
+ for (const prop in source) {
7
+ const value = source[prop];
8
+ Object.defineProperty(result, prop, {
9
+ value,
10
+ writable: false,
11
+ enumerable: true,
12
+ });
13
+ }
14
+ return result;
15
+ };
16
+ export const copyValueAsReadonly = (source) => {
17
+ if (!source) {
18
+ return source;
19
+ }
20
+ if (Array.isArray(source)) {
21
+ return Object.freeze([...source]);
22
+ }
23
+ if (typeof source === 'object') {
24
+ return objectAsReadonly(source);
25
+ }
26
+ return source;
27
+ };
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvb2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQThDLE1BQVMsRUFBRSxFQUFFO0lBQ3ZGLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDVCxPQUFPLE1BQU0sQ0FBQztLQUNqQjtJQUVELE1BQU0sTUFBTSxHQUFHLEVBQU8sQ0FBQztJQUN2QixLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sRUFBRTtRQUN2QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ2hDLEtBQUs7WUFDTCxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztLQUNOO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBVSxNQUFTLEVBQUUsRUFBRTtJQUN0RCxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1QsT0FBTyxNQUFNLENBQUM7S0FDakI7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdkIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBaUIsQ0FBQztLQUNyRDtJQUVELElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1FBQzVCLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDbkM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgb2JqZWN0QXNSZWFkb25seSA9IDxUID0geyBbeDogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkPihzb3VyY2U6IFQpID0+IHtcclxuICAgIGlmICghc291cmNlKSB7XHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCByZXN1bHQgPSB7fSBhcyBUO1xyXG4gICAgZm9yIChjb25zdCBwcm9wIGluIHNvdXJjZSkge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gc291cmNlW3Byb3BdO1xyXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXN1bHQsIHByb3AsIHtcclxuICAgICAgICAgICAgdmFsdWUsXHJcbiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvcHlWYWx1ZUFzUmVhZG9ubHkgPSA8VCA9IGFueT4oc291cmNlOiBUKSA9PiB7XHJcbiAgICBpZiAoIXNvdXJjZSkge1xyXG4gICAgICAgIHJldHVybiBzb3VyY2U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoc291cmNlKSkge1xyXG4gICAgICAgIHJldHVybiBPYmplY3QuZnJlZXplKFsuLi5zb3VyY2VdKSBhcyB1bmtub3duIGFzIFQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiBzb3VyY2UgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdEFzUmVhZG9ubHkoc291cmNlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc291cmNlO1xyXG59Il19
@@ -0,0 +1,53 @@
1
+ import { isPercentageValue } from "./is-persentage-value";
2
+ import { parseFloatOrPersentageValue } from "./parse-float-or-persentage-value";
3
+ const WHITESPACE = ' ', PLUS = '+', MINUS = '-', OPERATORS = [PLUS, MINUS];
4
+ const calculate = (exp, reference, operator = 1) => {
5
+ let result = 0;
6
+ const isPercentage = isPercentageValue(exp);
7
+ if (isPercentage) {
8
+ const v = parseFloatOrPersentageValue(exp);
9
+ result += (reference * v) * operator;
10
+ }
11
+ else {
12
+ result += (Number(exp) ?? 0) * operator;
13
+ }
14
+ return result;
15
+ };
16
+ /**
17
+ * parseArithmeticExpression
18
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/parse-arithmetic-expression.ts
19
+ * @author Evgenii Alexandrovich Grebennikov
20
+ * @email djonnyx@gmail.com
21
+ */
22
+ export const parseArithmeticExpression = (value, reference) => {
23
+ if (typeof value === 'number') {
24
+ return value;
25
+ }
26
+ let result = 0, operator = 1, exp = '';
27
+ for (let i = 0, l = value.length; i < l; i++) {
28
+ const char = value[i], isLast = i === l - 1;
29
+ if ((char === WHITESPACE) || isLast) {
30
+ if (isLast) {
31
+ exp = `${exp}${char}`;
32
+ }
33
+ if (exp.length > 0) {
34
+ result += calculate(exp, reference, operator);
35
+ }
36
+ exp = '';
37
+ continue;
38
+ }
39
+ else if (OPERATORS.indexOf(char) > -1) {
40
+ if (exp.length > 0) {
41
+ result += calculate(exp, reference, operator);
42
+ }
43
+ exp = '';
44
+ operator = char === PLUS ? 1 : -1;
45
+ continue;
46
+ }
47
+ else {
48
+ exp = `${exp}${char}`;
49
+ }
50
+ }
51
+ return result;
52
+ };
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtYXJpdGhtZXRpYy1leHByZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvcGFyc2UtYXJpdGhtZXRpYy1leHByZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWhGLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRSxJQUFJLEdBQUcsR0FBRyxFQUFFLEtBQUssR0FBRyxHQUFHLEVBQUUsU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRTNFLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBVyxFQUFFLFNBQWlCLEVBQUUsV0FBbUIsQ0FBQyxFQUFFLEVBQUU7SUFDdkUsSUFBSSxNQUFNLEdBQVcsQ0FBQyxDQUFDO0lBQ3ZCLE1BQU0sWUFBWSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLElBQUksWUFBWSxFQUFFO1FBQ2QsTUFBTSxDQUFDLEdBQUcsMkJBQTJCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsTUFBTSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztLQUN4QztTQUFNO1FBQ0gsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztLQUMzQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQTtBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxLQUEyQixFQUFFLFNBQWlCLEVBQVUsRUFBRTtJQUNoRyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUMzQixPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUVELElBQUksTUFBTSxHQUFXLENBQUMsRUFBRSxRQUFRLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxFQUFFLENBQUM7SUFDL0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMxQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLElBQUksTUFBTSxFQUFFO1lBQ2pDLElBQUksTUFBTSxFQUFFO2dCQUNSLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLEVBQUUsQ0FBQzthQUN6QjtZQUNELElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2hCLE1BQU0sSUFBSSxTQUFTLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQzthQUNqRDtZQUNELEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDVCxTQUFTO1NBQ1o7YUFDSSxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDbkMsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDaEIsTUFBTSxJQUFJLFNBQVMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ2pEO1lBQ0QsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNULFFBQVEsR0FBRyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLFNBQVM7U0FDWjthQUFNO1lBQ0gsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksRUFBRSxDQUFDO1NBQ3pCO0tBQ0o7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcml0aG1ldGljRXhwcmVzc2lvbiB9IGZyb20gXCIuLi90eXBlc1wiO1xyXG5pbXBvcnQgeyBpc1BlcmNlbnRhZ2VWYWx1ZSB9IGZyb20gXCIuL2lzLXBlcnNlbnRhZ2UtdmFsdWVcIjtcclxuaW1wb3J0IHsgcGFyc2VGbG9hdE9yUGVyc2VudGFnZVZhbHVlIH0gZnJvbSBcIi4vcGFyc2UtZmxvYXQtb3ItcGVyc2VudGFnZS12YWx1ZVwiO1xyXG5cclxuY29uc3QgV0hJVEVTUEFDRSA9ICcgJywgUExVUyA9ICcrJywgTUlOVVMgPSAnLScsIE9QRVJBVE9SUyA9IFtQTFVTLCBNSU5VU107XHJcblxyXG5jb25zdCBjYWxjdWxhdGUgPSAoZXhwOiBzdHJpbmcsIHJlZmVyZW5jZTogbnVtYmVyLCBvcGVyYXRvcjogLTEgfCAxID0gMSkgPT4ge1xyXG4gICAgbGV0IHJlc3VsdDogbnVtYmVyID0gMDtcclxuICAgIGNvbnN0IGlzUGVyY2VudGFnZSA9IGlzUGVyY2VudGFnZVZhbHVlKGV4cCk7XHJcbiAgICBpZiAoaXNQZXJjZW50YWdlKSB7XHJcbiAgICAgICAgY29uc3QgdiA9IHBhcnNlRmxvYXRPclBlcnNlbnRhZ2VWYWx1ZShleHApO1xyXG4gICAgICAgIHJlc3VsdCArPSAocmVmZXJlbmNlICogdikgKiBvcGVyYXRvcjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVzdWx0ICs9IChOdW1iZXIoZXhwKSA/PyAwKSAqIG9wZXJhdG9yO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIHBhcnNlQXJpdGhtZXRpY0V4cHJlc3Npb25cclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9wYXJzZS1hcml0aG1ldGljLWV4cHJlc3Npb24udHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgcGFyc2VBcml0aG1ldGljRXhwcmVzc2lvbiA9ICh2YWx1ZTogQXJpdGhtZXRpY0V4cHJlc3Npb24sIHJlZmVyZW5jZTogbnVtYmVyKTogbnVtYmVyID0+IHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCByZXN1bHQ6IG51bWJlciA9IDAsIG9wZXJhdG9yOiAxIHwgLTEgPSAxLCBleHA6IHN0cmluZyA9ICcnO1xyXG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSB2YWx1ZS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcclxuICAgICAgICBjb25zdCBjaGFyID0gdmFsdWVbaV0sIGlzTGFzdCA9IGkgPT09IGwgLSAxO1xyXG4gICAgICAgIGlmICgoY2hhciA9PT0gV0hJVEVTUEFDRSkgfHwgaXNMYXN0KSB7XHJcbiAgICAgICAgICAgIGlmIChpc0xhc3QpIHtcclxuICAgICAgICAgICAgICAgIGV4cCA9IGAke2V4cH0ke2NoYXJ9YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZXhwLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdCArPSBjYWxjdWxhdGUoZXhwLCByZWZlcmVuY2UsIG9wZXJhdG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBleHAgPSAnJztcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKE9QRVJBVE9SUy5pbmRleE9mKGNoYXIpID4gLTEpIHtcclxuICAgICAgICAgICAgaWYgKGV4cC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gY2FsY3VsYXRlKGV4cCwgcmVmZXJlbmNlLCBvcGVyYXRvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZXhwID0gJyc7XHJcbiAgICAgICAgICAgIG9wZXJhdG9yID0gY2hhciA9PT0gUExVUyA/IDEgOiAtMTtcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZXhwID0gYCR7ZXhwfSR7Y2hhcn1gO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuIl19
@@ -0,0 +1,17 @@
1
+ import { isPercentageValue } from "./is-persentage-value";
2
+ const PERSENTS_100 = 100, PERSENTS_1 = 1, SIZE_PERSENT = '%', CHAR_NONE = '';
3
+ /**
4
+ * parseFloatOrPersentageValue
5
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/parse-float-or-persentage-value.ts
6
+ * @author Evgenii Alexandrovich Grebennikov
7
+ * @email djonnyx@gmail.com
8
+ */
9
+ export const parseFloatOrPersentageValue = (value) => {
10
+ const isPercentage = isPercentageValue(value);
11
+ if (isPercentage) {
12
+ const v = parseFloat(String(value).replace(SIZE_PERSENT, CHAR_NONE));
13
+ return v / (isPercentage ? PERSENTS_100 : PERSENTS_1);
14
+ }
15
+ return value;
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZmxvYXQtb3ItcGVyc2VudGFnZS12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3BhcnNlLWZsb2F0LW9yLXBlcnNlbnRhZ2UtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUNwQixVQUFVLEdBQUcsQ0FBQyxFQUNkLFlBQVksR0FBRyxHQUFHLEVBQ2xCLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFFbkI7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLEtBQXFDLEVBQVUsRUFBRTtJQUN6RixNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxJQUFJLFlBQVksRUFBRTtRQUNkLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ3pEO0lBQ0QsT0FBTyxLQUFlLENBQUM7QUFDM0IsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQZXJjZW50YWdlVmFsdWUgfSBmcm9tIFwiLi9pcy1wZXJzZW50YWdlLXZhbHVlXCI7XHJcblxyXG5jb25zdCBQRVJTRU5UU18xMDAgPSAxMDAsXHJcbiAgICBQRVJTRU5UU18xID0gMSxcclxuICAgIFNJWkVfUEVSU0VOVCA9ICclJyxcclxuICAgIENIQVJfTk9ORSA9ICcnO1xyXG5cclxuLyoqXHJcbiAqIHBhcnNlRmxvYXRPclBlcnNlbnRhZ2VWYWx1ZVxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3BhcnNlLWZsb2F0LW9yLXBlcnNlbnRhZ2UtdmFsdWUudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgcGFyc2VGbG9hdE9yUGVyc2VudGFnZVZhbHVlID0gKHZhbHVlOiBudW1iZXIgfCBgJHtudW1iZXJ9JWAgfCBzdHJpbmcpOiBudW1iZXIgPT4ge1xyXG4gICAgY29uc3QgaXNQZXJjZW50YWdlID0gaXNQZXJjZW50YWdlVmFsdWUodmFsdWUpO1xyXG4gICAgaWYgKGlzUGVyY2VudGFnZSkge1xyXG4gICAgICAgIGNvbnN0IHYgPSBwYXJzZUZsb2F0KFN0cmluZyh2YWx1ZSkucmVwbGFjZShTSVpFX1BFUlNFTlQsIENIQVJfTk9ORSkpO1xyXG4gICAgICAgIHJldHVybiB2IC8gKGlzUGVyY2VudGFnZSA/IFBFUlNFTlRTXzEwMCA6IFBFUlNFTlRTXzEpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlIGFzIG51bWJlcjtcclxufVxyXG4iXX0=
@@ -0,0 +1,43 @@
1
+ import { RANGE_DISPLAY_ITEMS_END_OFFSET } from "../const";
2
+ export const formatScreenReaderMessage = (items, messagePattern, scrollSize, isVertical, bounds) => {
3
+ if (!messagePattern) {
4
+ return '';
5
+ }
6
+ const list = items ?? [], size = isVertical ? bounds.height : bounds.width;
7
+ let start = Number.NaN, end = Number.NaN, prevItem;
8
+ for (let i = 0, l = list.length; i < l; i++) {
9
+ const item = list[i], position = isVertical ? item.measures.y : item.measures.x, itemSize = isVertical ? item.measures.height : item.measures.width;
10
+ if (((position + itemSize) >= scrollSize) && Number.isNaN(start)) {
11
+ start = item.index + 1;
12
+ }
13
+ if ((position >= (scrollSize + size)) && Number.isNaN(end) && prevItem) {
14
+ end = prevItem.index + 1;
15
+ }
16
+ prevItem = item;
17
+ }
18
+ if (Number.isNaN(start) || Number.isNaN(end)) {
19
+ return '';
20
+ }
21
+ let formatted = messagePattern ?? '';
22
+ formatted = formatted.replace('$1', `${start}`);
23
+ formatted = formatted.replace('$2', `${end}`);
24
+ return formatted;
25
+ };
26
+ export const formatActualDisplayItems = (items, startOffset, endOffset, scrollSize, isVertical, bounds) => {
27
+ const list = items ?? [], size = isVertical ? bounds.height : bounds.width;
28
+ let start = Number.NaN, end = Number.NaN;
29
+ for (let i = 0, l = list.length; i < l; i++) {
30
+ const item = list[i], position = isVertical ? item.measures.y : item.measures.x, itemSize = isVertical ? item.measures.height : item.measures.width;
31
+ if ((position + itemSize <= scrollSize + startOffset)) {
32
+ start = item.index;
33
+ }
34
+ if (((position) <= (scrollSize + size - endOffset + RANGE_DISPLAY_ITEMS_END_OFFSET))) {
35
+ end = item.index;
36
+ }
37
+ }
38
+ if (Number.isNaN(start) || Number.isNaN(end)) {
39
+ return undefined;
40
+ }
41
+ return [start, end];
42
+ };
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXJlYWRlci1mb3JtYXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9zY3JlZW4tcmVhZGVyLWZvcm1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFLMUQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxLQUFtQyxFQUFFLGNBQWtDLEVBQUUsVUFBa0IsRUFDakksVUFBbUIsRUFBRSxNQUFhLEVBQUUsRUFBRTtJQUN0QyxJQUFJLENBQUMsY0FBYyxFQUFFO1FBQ2pCLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFDRCxNQUFNLElBQUksR0FBRyxLQUFLLElBQUksRUFBRSxFQUFFLElBQUksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0UsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRSxRQUE0QyxDQUFDO0lBQ3ZGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDekMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDM0UsUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlELEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztTQUMxQjtRQUNELElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFFBQVEsRUFBRTtZQUNwRSxHQUFHLEdBQUcsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7U0FDNUI7UUFDRCxRQUFRLEdBQUcsSUFBSSxDQUFDO0tBQ25CO0lBQ0QsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDMUMsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUNELElBQUksU0FBUyxHQUFHLGNBQWMsSUFBSSxFQUFFLENBQUM7SUFDckMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNoRCxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsS0FBbUMsRUFBRSxXQUFtQixFQUFFLFNBQWlCLEVBQUUsVUFBa0IsRUFDcEksVUFBbUIsRUFBRSxNQUFhLEVBQWdDLEVBQUU7SUFDcEUsTUFBTSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsRUFBRSxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzNFLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDekMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN6QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUMzRSxRQUFRLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDdkUsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxFQUFFO1lBQ25ELEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxHQUFHLFNBQVMsR0FBRyw4QkFBOEIsQ0FBQyxDQUFDLEVBQUU7WUFDbEYsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDcEI7S0FDSjtJQUNELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQzFDLE9BQU8sU0FBUyxDQUFDO0tBQ3BCO0lBQ0QsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztBQUN4QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSQU5HRV9ESVNQTEFZX0lURU1TX0VORF9PRkZTRVQgfSBmcm9tIFwiLi4vY29uc3RcIjtcclxuaW1wb3J0IHsgSVJlbmRlclZpcnR1YWxMaXN0SXRlbSB9IGZyb20gXCIuLi9tb2RlbHNcIjtcclxuaW1wb3J0IHsgSVJlbmRlclZpcnR1YWxMaXN0Q29sbGVjdGlvbiB9IGZyb20gXCIuLi9tb2RlbHMvcmVuZGVyLWNvbGxlY3Rpb24ubW9kZWxcIjtcclxuaW1wb3J0IHsgSVNpemUgfSBmcm9tIFwiLi4vaW50ZXJmYWNlc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGZvcm1hdFNjcmVlblJlYWRlck1lc3NhZ2UgPSAoaXRlbXM6IElSZW5kZXJWaXJ0dWFsTGlzdENvbGxlY3Rpb24sIG1lc3NhZ2VQYXR0ZXJuOiBzdHJpbmcgfCB1bmRlZmluZWQsIHNjcm9sbFNpemU6IG51bWJlcixcclxuICAgIGlzVmVydGljYWw6IGJvb2xlYW4sIGJvdW5kczogSVNpemUpID0+IHtcclxuICAgIGlmICghbWVzc2FnZVBhdHRlcm4pIHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICBjb25zdCBsaXN0ID0gaXRlbXMgPz8gW10sIHNpemUgPSBpc1ZlcnRpY2FsID8gYm91bmRzLmhlaWdodCA6IGJvdW5kcy53aWR0aDtcclxuICAgIGxldCBzdGFydCA9IE51bWJlci5OYU4sIGVuZCA9IE51bWJlci5OYU4sIHByZXZJdGVtOiBJUmVuZGVyVmlydHVhbExpc3RJdGVtIHwgdW5kZWZpbmVkO1xyXG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBsaXN0Lmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSBsaXN0W2ldLCBwb3NpdGlvbiA9IGlzVmVydGljYWwgPyBpdGVtLm1lYXN1cmVzLnkgOiBpdGVtLm1lYXN1cmVzLngsXHJcbiAgICAgICAgICAgIGl0ZW1TaXplID0gaXNWZXJ0aWNhbCA/IGl0ZW0ubWVhc3VyZXMuaGVpZ2h0IDogaXRlbS5tZWFzdXJlcy53aWR0aDtcclxuICAgICAgICBpZiAoKChwb3NpdGlvbiArIGl0ZW1TaXplKSA+PSBzY3JvbGxTaXplKSAmJiBOdW1iZXIuaXNOYU4oc3RhcnQpKSB7XHJcbiAgICAgICAgICAgIHN0YXJ0ID0gaXRlbS5pbmRleCArIDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICgocG9zaXRpb24gPj0gKHNjcm9sbFNpemUgKyBzaXplKSkgJiYgTnVtYmVyLmlzTmFOKGVuZCkgJiYgcHJldkl0ZW0pIHtcclxuICAgICAgICAgICAgZW5kID0gcHJldkl0ZW0uaW5kZXggKyAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwcmV2SXRlbSA9IGl0ZW07XHJcbiAgICB9XHJcbiAgICBpZiAoTnVtYmVyLmlzTmFOKHN0YXJ0KSB8fCBOdW1iZXIuaXNOYU4oZW5kKSkge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGxldCBmb3JtYXR0ZWQgPSBtZXNzYWdlUGF0dGVybiA/PyAnJztcclxuICAgIGZvcm1hdHRlZCA9IGZvcm1hdHRlZC5yZXBsYWNlKCckMScsIGAke3N0YXJ0fWApO1xyXG4gICAgZm9ybWF0dGVkID0gZm9ybWF0dGVkLnJlcGxhY2UoJyQyJywgYCR7ZW5kfWApO1xyXG4gICAgcmV0dXJuIGZvcm1hdHRlZDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBmb3JtYXRBY3R1YWxEaXNwbGF5SXRlbXMgPSAoaXRlbXM6IElSZW5kZXJWaXJ0dWFsTGlzdENvbGxlY3Rpb24sIHN0YXJ0T2Zmc2V0OiBudW1iZXIsIGVuZE9mZnNldDogbnVtYmVyLCBzY3JvbGxTaXplOiBudW1iZXIsXHJcbiAgICBpc1ZlcnRpY2FsOiBib29sZWFuLCBib3VuZHM6IElTaXplKTogW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZCA9PiB7XHJcbiAgICBjb25zdCBsaXN0ID0gaXRlbXMgPz8gW10sIHNpemUgPSBpc1ZlcnRpY2FsID8gYm91bmRzLmhlaWdodCA6IGJvdW5kcy53aWR0aDtcclxuICAgIGxldCBzdGFydCA9IE51bWJlci5OYU4sIGVuZCA9IE51bWJlci5OYU47XHJcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IGxpc3QubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbSA9IGxpc3RbaV0sIHBvc2l0aW9uID0gaXNWZXJ0aWNhbCA/IGl0ZW0ubWVhc3VyZXMueSA6IGl0ZW0ubWVhc3VyZXMueCxcclxuICAgICAgICAgICAgaXRlbVNpemUgPSBpc1ZlcnRpY2FsID8gaXRlbS5tZWFzdXJlcy5oZWlnaHQgOiBpdGVtLm1lYXN1cmVzLndpZHRoO1xyXG4gICAgICAgIGlmICgocG9zaXRpb24gKyBpdGVtU2l6ZSA8PSBzY3JvbGxTaXplICsgc3RhcnRPZmZzZXQpKSB7XHJcbiAgICAgICAgICAgIHN0YXJ0ID0gaXRlbS5pbmRleDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCgocG9zaXRpb24pIDw9IChzY3JvbGxTaXplICsgc2l6ZSAtIGVuZE9mZnNldCArIFJBTkdFX0RJU1BMQVlfSVRFTVNfRU5EX09GRlNFVCkpKSB7XHJcbiAgICAgICAgICAgIGVuZCA9IGl0ZW0uaW5kZXg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKE51bWJlci5pc05hTihzdGFydCkgfHwgTnVtYmVyLmlzTmFOKGVuZCkpIHtcclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFtzdGFydCwgZW5kXTtcclxufTtcclxuIl19
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Scroll event.
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/scroll-event.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export class ScrollEvent {
8
+ constructor(params) {
9
+ this._direction = 1;
10
+ this._scrollSize = 0;
11
+ this._scrollWeight = 0;
12
+ this._isVertical = true;
13
+ this._listSize = 0;
14
+ this._size = 0;
15
+ this._isStart = true;
16
+ this._isEnd = false;
17
+ this._delta = 0;
18
+ this._deltaOfNewItems = 0;
19
+ const { direction, container, list, scrollSize, delta, isVertical, deltaOfNewItems, itemsRange, isEnd, userAction } = params;
20
+ this._direction = direction;
21
+ this._isVertical = isVertical;
22
+ this._scrollSize = scrollSize;
23
+ this._scrollWeight = isVertical ? container.scrollHeight : container.scrollWidth;
24
+ this._listSize = isVertical ? list.offsetHeight : list.offsetWidth;
25
+ this._size = isVertical ? container.offsetHeight : container.offsetWidth;
26
+ this._isEnd = isEnd;
27
+ this._delta = delta;
28
+ this._deltaOfNewItems = deltaOfNewItems;
29
+ this._isStart = this._scrollSize === 0;
30
+ this._itemsRange = itemsRange;
31
+ this._userAction = userAction;
32
+ }
33
+ get direction() { return this._direction; }
34
+ get scrollSize() { return this._scrollSize; }
35
+ get scrollWeight() { return this._scrollWeight; }
36
+ get isVertical() { return this._isVertical; }
37
+ get listSize() { return this._listSize; }
38
+ get size() { return this._size; }
39
+ get isStart() { return this._isStart; }
40
+ get isEnd() { return this._isEnd; }
41
+ get delta() { return this._delta; }
42
+ get deltaOfNewItems() { return this._deltaOfNewItems; }
43
+ get itemsRange() { return this._itemsRange; }
44
+ get userAction() { return this._userAction; }
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvc2Nyb2xsLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdCQTs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBcUNwQixZQUFZLE1BQTBCO1FBcEM5QixlQUFVLEdBQW9CLENBQUMsQ0FBQztRQUdoQyxnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUd4QixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUcxQixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUc1QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBR3RCLFVBQUssR0FBVyxDQUFDLENBQUM7UUFHbEIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUd6QixXQUFNLEdBQVksS0FBSyxDQUFDO1FBR3hCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFHbkIscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBVWpDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFDN0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7UUFDakYsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDbkUsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7UUFDekUsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ2xDLENBQUM7SUFqREQsSUFBSSxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUczQyxJQUFJLFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBRzdDLElBQUksWUFBWSxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFHakQsSUFBSSxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUc3QyxJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBR3pDLElBQUksSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFHakMsSUFBSSxPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUd2QyxJQUFJLEtBQUssS0FBSyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBR25DLElBQUksS0FBSyxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFHbkMsSUFBSSxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBR3ZELElBQUksVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFHN0MsSUFBSSxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztDQWlCaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2Nyb2xsRXZlbnQgfSBmcm9tIFwiLi4vaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgeyBTY3JvbGxEaXJlY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XHJcblxyXG5pbnRlcmZhY2UgSVNjcm9sbEV2ZW50UGFyYW1zIHtcclxuICAgIGRpcmVjdGlvbjogU2Nyb2xsRGlyZWN0aW9uO1xyXG4gICAgY29udGFpbmVyOiBIVE1MRWxlbWVudDtcclxuICAgIGxpc3Q6IEhUTUxFbGVtZW50O1xyXG4gICAgZGVsdGE6IG51bWJlcjtcclxuICAgIGRlbHRhT2ZOZXdJdGVtczogbnVtYmVyO1xyXG4gICAgc2Nyb2xsU2l6ZTogbnVtYmVyO1xyXG4gICAgaXNWZXJ0aWNhbDogYm9vbGVhbjtcclxuICAgIGl0ZW1zUmFuZ2U6IFtudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWQ7XHJcbiAgICBpc0VuZDogYm9vbGVhbjtcclxuICAgIHVzZXJBY3Rpb246IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTY3JvbGwgZXZlbnQuXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE0LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvc2Nyb2xsLWV2ZW50LnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFNjcm9sbEV2ZW50IGltcGxlbWVudHMgSVNjcm9sbEV2ZW50IHtcclxuICAgIHByaXZhdGUgX2RpcmVjdGlvbjogU2Nyb2xsRGlyZWN0aW9uID0gMTtcclxuICAgIGdldCBkaXJlY3Rpb24oKSB7IHJldHVybiB0aGlzLl9kaXJlY3Rpb247IH1cclxuXHJcbiAgICBwcml2YXRlIF9zY3JvbGxTaXplOiBudW1iZXIgPSAwO1xyXG4gICAgZ2V0IHNjcm9sbFNpemUoKSB7IHJldHVybiB0aGlzLl9zY3JvbGxTaXplOyB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2Nyb2xsV2VpZ2h0OiBudW1iZXIgPSAwO1xyXG4gICAgZ2V0IHNjcm9sbFdlaWdodCgpIHsgcmV0dXJuIHRoaXMuX3Njcm9sbFdlaWdodDsgfVxyXG5cclxuICAgIHByaXZhdGUgX2lzVmVydGljYWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgZ2V0IGlzVmVydGljYWwoKSB7IHJldHVybiB0aGlzLl9pc1ZlcnRpY2FsOyB9XHJcblxyXG4gICAgcHJpdmF0ZSBfbGlzdFNpemU6IG51bWJlciA9IDA7XHJcbiAgICBnZXQgbGlzdFNpemUoKSB7IHJldHVybiB0aGlzLl9saXN0U2l6ZTsgfVxyXG5cclxuICAgIHByaXZhdGUgX3NpemU6IG51bWJlciA9IDA7XHJcbiAgICBnZXQgc2l6ZSgpIHsgcmV0dXJuIHRoaXMuX3NpemU7IH1cclxuXHJcbiAgICBwcml2YXRlIF9pc1N0YXJ0OiBib29sZWFuID0gdHJ1ZTtcclxuICAgIGdldCBpc1N0YXJ0KCkgeyByZXR1cm4gdGhpcy5faXNTdGFydDsgfVxyXG5cclxuICAgIHByaXZhdGUgX2lzRW5kOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBnZXQgaXNFbmQoKSB7IHJldHVybiB0aGlzLl9pc0VuZDsgfVxyXG5cclxuICAgIHByaXZhdGUgX2RlbHRhOiBudW1iZXIgPSAwO1xyXG4gICAgZ2V0IGRlbHRhKCkgeyByZXR1cm4gdGhpcy5fZGVsdGE7IH1cclxuXHJcbiAgICBwcml2YXRlIF9kZWx0YU9mTmV3SXRlbXM6IG51bWJlciA9IDA7XHJcbiAgICBnZXQgZGVsdGFPZk5ld0l0ZW1zKCkgeyByZXR1cm4gdGhpcy5fZGVsdGFPZk5ld0l0ZW1zOyB9XHJcblxyXG4gICAgcHJpdmF0ZSBfaXRlbXNSYW5nZTogW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZDtcclxuICAgIGdldCBpdGVtc1JhbmdlKCkgeyByZXR1cm4gdGhpcy5faXRlbXNSYW5nZTsgfVxyXG5cclxuICAgIHByaXZhdGUgX3VzZXJBY3Rpb246IGJvb2xlYW47XHJcbiAgICBnZXQgdXNlckFjdGlvbigpIHsgcmV0dXJuIHRoaXMuX3VzZXJBY3Rpb247IH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwYXJhbXM6IElTY3JvbGxFdmVudFBhcmFtcykge1xyXG4gICAgICAgIGNvbnN0IHsgZGlyZWN0aW9uLCBjb250YWluZXIsIGxpc3QsIHNjcm9sbFNpemUsIGRlbHRhLCBpc1ZlcnRpY2FsLCBkZWx0YU9mTmV3SXRlbXMsIGl0ZW1zUmFuZ2UsIGlzRW5kLCB1c2VyQWN0aW9uIH0gPSBwYXJhbXM7XHJcbiAgICAgICAgdGhpcy5fZGlyZWN0aW9uID0gZGlyZWN0aW9uO1xyXG4gICAgICAgIHRoaXMuX2lzVmVydGljYWwgPSBpc1ZlcnRpY2FsO1xyXG4gICAgICAgIHRoaXMuX3Njcm9sbFNpemUgPSBzY3JvbGxTaXplO1xyXG4gICAgICAgIHRoaXMuX3Njcm9sbFdlaWdodCA9IGlzVmVydGljYWwgPyBjb250YWluZXIuc2Nyb2xsSGVpZ2h0IDogY29udGFpbmVyLnNjcm9sbFdpZHRoO1xyXG4gICAgICAgIHRoaXMuX2xpc3RTaXplID0gaXNWZXJ0aWNhbCA/IGxpc3Qub2Zmc2V0SGVpZ2h0IDogbGlzdC5vZmZzZXRXaWR0aDtcclxuICAgICAgICB0aGlzLl9zaXplID0gaXNWZXJ0aWNhbCA/IGNvbnRhaW5lci5vZmZzZXRIZWlnaHQgOiBjb250YWluZXIub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgdGhpcy5faXNFbmQgPSBpc0VuZDtcclxuICAgICAgICB0aGlzLl9kZWx0YSA9IGRlbHRhO1xyXG4gICAgICAgIHRoaXMuX2RlbHRhT2ZOZXdJdGVtcyA9IGRlbHRhT2ZOZXdJdGVtcztcclxuICAgICAgICB0aGlzLl9pc1N0YXJ0ID0gdGhpcy5fc2Nyb2xsU2l6ZSA9PT0gMDtcclxuICAgICAgICB0aGlzLl9pdGVtc1JhbmdlID0gaXRlbXNSYW5nZTtcclxuICAgICAgICB0aGlzLl91c2VyQWN0aW9uID0gdXNlckFjdGlvbjtcclxuICAgIH1cclxufSJdfQ==
@@ -0,0 +1,28 @@
1
+ import { BehaviorSubject } from "rxjs";
2
+ /**
3
+ * ScrollingDirection
4
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/scrolling-direction.ts
5
+ * @author Evgenii Alexandrovich Grebennikov
6
+ * @email djonnyx@gmail.com
7
+ */
8
+ export class ScrollingDirection {
9
+ constructor(_length = 5) {
10
+ this._length = _length;
11
+ this._value = 0;
12
+ this._$direction = new BehaviorSubject(0);
13
+ this.$direction = this._$direction.asObservable();
14
+ }
15
+ add(v) {
16
+ this._value += v;
17
+ const dir = this._value < this._length ? -this._length : this._value > this._length ? this._length : this._value, result = dir === 0 ? 0 : Math.sign(dir);
18
+ this._$direction.next(result);
19
+ }
20
+ get() {
21
+ return this._$direction.getValue();
22
+ }
23
+ clear() {
24
+ this._value = 0;
25
+ this._$direction.next(0);
26
+ }
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsaW5nLWRpcmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3Njcm9sbGluZy1kaXJlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2Qzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFNM0IsWUFBb0IsVUFBa0IsQ0FBQztRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBTC9CLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFFbkIsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBa0IsQ0FBQyxDQUFDLENBQUM7UUFDckQsZUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFWCxDQUFDO0lBRTVDLEdBQUcsQ0FBQyxDQUFrQjtRQUNsQixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUNqQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUM1RyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBb0IsQ0FBQztRQUMvRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsR0FBRztRQUNDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFNjcm9sbERpcmVjdGlvbiB9IGZyb20gXCIuLi90eXBlc1wiO1xyXG5cclxuLyoqXHJcbiAqIFNjcm9sbGluZ0RpcmVjdGlvblxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3Njcm9sbGluZy1kaXJlY3Rpb24udHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU2Nyb2xsaW5nRGlyZWN0aW9uIHtcclxuICAgIHByaXZhdGUgX3ZhbHVlOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIHByaXZhdGUgXyRkaXJlY3Rpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNjcm9sbERpcmVjdGlvbj4oMCk7XHJcbiAgICByZWFkb25seSAkZGlyZWN0aW9uID0gdGhpcy5fJGRpcmVjdGlvbi5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9sZW5ndGg6IG51bWJlciA9IDUpIHsgfVxyXG5cclxuICAgIGFkZCh2OiBTY3JvbGxEaXJlY3Rpb24pIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSArPSB2O1xyXG4gICAgICAgIGNvbnN0IGRpciA9IHRoaXMuX3ZhbHVlIDwgdGhpcy5fbGVuZ3RoID8gLXRoaXMuX2xlbmd0aCA6IHRoaXMuX3ZhbHVlID4gdGhpcy5fbGVuZ3RoID8gdGhpcy5fbGVuZ3RoIDogdGhpcy5fdmFsdWUsXHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGRpciA9PT0gMCA/IDAgOiBNYXRoLnNpZ24oZGlyKSBhcyBTY3JvbGxEaXJlY3Rpb247XHJcbiAgICAgICAgdGhpcy5fJGRpcmVjdGlvbi5uZXh0KHJlc3VsdCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0KCk6IFNjcm9sbERpcmVjdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuXyRkaXJlY3Rpb24uZ2V0VmFsdWUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhcigpIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IDA7XHJcbiAgICAgICAgdGhpcy5fJGRpcmVjdGlvbi5uZXh0KDApO1xyXG4gICAgfVxyXG59Il19
@@ -1,9 +1,9 @@
1
- import { SnappingMethods } from "../enums";
2
- const ADVANCED_PATTERNS = [SnappingMethods.ADVANCED, SnappingMethods.STANDART, 'advanced', 'standart'], DEFAULT_PATTERN = [SnappingMethods.STANDART, 'standart'];
3
- export const isSnappingMethodAdvenced = (method) => {
4
- return ADVANCED_PATTERNS.includes(method);
5
- };
6
- export const isSnappingMethodDefault = (method) => {
7
- return DEFAULT_PATTERN.includes(method);
8
- };
1
+ import { SnappingMethods } from "../enums";
2
+ const ADVANCED_PATTERNS = [SnappingMethods.ADVANCED, SnappingMethods.STANDART, 'advanced', 'standart'], DEFAULT_PATTERN = [SnappingMethods.STANDART, 'standart'];
3
+ export const isSnappingMethodAdvenced = (method) => {
4
+ return ADVANCED_PATTERNS.includes(method);
5
+ };
6
+ export const isSnappingMethodDefault = (method) => {
7
+ return DEFAULT_PATTERN.includes(method);
8
+ };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcHBpbmctbWV0aG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvc25hcHBpbmctbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHM0MsTUFBTSxpQkFBaUIsR0FBMEIsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUN6SCxlQUFlLEdBQTBCLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVwRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE1BQXNCLEVBQVcsRUFBRTtJQUN4RSxPQUFPLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLE1BQXNCLEVBQVcsRUFBRTtJQUN2RSxPQUFPLGVBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU25hcHBpbmdNZXRob2RzIH0gZnJvbSBcIi4uL2VudW1zXCI7XHJcbmltcG9ydCB7IFNuYXBwaW5nTWV0aG9kIH0gZnJvbSBcIi4uL3R5cGVzXCI7XHJcblxyXG5jb25zdCBBRFZBTkNFRF9QQVRURVJOUzogQXJyYXk8U25hcHBpbmdNZXRob2Q+ID0gW1NuYXBwaW5nTWV0aG9kcy5BRFZBTkNFRCwgU25hcHBpbmdNZXRob2RzLlNUQU5EQVJULCAnYWR2YW5jZWQnLCAnc3RhbmRhcnQnXSxcclxuICAgIERFRkFVTFRfUEFUVEVSTjogQXJyYXk8U25hcHBpbmdNZXRob2Q+ID0gW1NuYXBwaW5nTWV0aG9kcy5TVEFOREFSVCwgJ3N0YW5kYXJ0J107XHJcblxyXG5leHBvcnQgY29uc3QgaXNTbmFwcGluZ01ldGhvZEFkdmVuY2VkID0gKG1ldGhvZDogU25hcHBpbmdNZXRob2QpOiBib29sZWFuID0+IHtcclxuICAgIHJldHVybiBBRFZBTkNFRF9QQVRURVJOUy5pbmNsdWRlcyhtZXRob2QpO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgaXNTbmFwcGluZ01ldGhvZERlZmF1bHQgPSAobWV0aG9kOiBTbmFwcGluZ01ldGhvZCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgcmV0dXJuIERFRkFVTFRfUEFUVEVSTi5pbmNsdWRlcyhtZXRob2QpO1xyXG59Il19
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Switch css classes
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/utils/toggle-class-name.ts
4
+ * @author Evgenii Alexandrovich Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export const toggleClassName = (el, className, removeClassName) => {
8
+ if (!el.classList.contains(className)) {
9
+ el.classList.add(className);
10
+ }
11
+ if (removeClassName) {
12
+ el.classList.remove(removeClassName);
13
+ }
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWNsYXNzLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy90b2dnbGUtY2xhc3MtbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEVBQWUsRUFBRSxTQUFpQixFQUFFLGVBQXdCLEVBQUUsRUFBRTtJQUM1RixJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDbkMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDL0I7SUFDRCxJQUFJLGVBQWUsRUFBRTtRQUNqQixFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUN4QztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBTd2l0Y2ggY3NzIGNsYXNzZXNcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy90b2dnbGUtY2xhc3MtbmFtZS50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjb25zdCB0b2dnbGVDbGFzc05hbWUgPSAoZWw6IEhUTUxFbGVtZW50LCBjbGFzc05hbWU6IHN0cmluZywgcmVtb3ZlQ2xhc3NOYW1lPzogc3RyaW5nKSA9PiB7XHJcbiAgICBpZiAoIWVsLmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpKSB7XHJcbiAgICAgICAgZWwuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xyXG4gICAgfVxyXG4gICAgaWYgKHJlbW92ZUNsYXNzTmFtZSkge1xyXG4gICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUocmVtb3ZlQ2xhc3NOYW1lKTtcclxuICAgIH1cclxufTtcclxuIl19
@@ -1,56 +1,56 @@
1
- const isUndefinable = (value) => {
2
- return value === undefined;
3
- };
4
- const isNullable = (value) => {
5
- return value === null;
6
- };
7
- /**
8
- * Int validator
9
- * @param value Int
10
- */
11
- export const validateInt = (value, undefinable = false) => {
12
- return (undefinable && isUndefinable(value)) || !Number.isNaN(Number.parseInt(`${value}`));
13
- };
14
- /**
15
- * Float validator
16
- * @param value Float
17
- */
18
- export const validateFloat = (value, undefinable = false) => {
19
- return (undefinable && isUndefinable(value)) || !Number.isNaN(Number.parseFloat(`${value}`));
20
- };
21
- /**
22
- * String validator
23
- * @param value String
24
- */
25
- export const validateString = (value, undefinable = false, nullable = false) => {
26
- return (undefinable && isUndefinable(value)) || (nullable && isNullable(value)) || typeof value === 'string';
27
- };
28
- /**
29
- * Boolean validator
30
- * @param value Boolean
31
- */
32
- export const validateBoolean = (value, undefinable = false) => {
33
- return (undefinable && isUndefinable(value)) || typeof value === 'boolean';
34
- };
35
- /**
36
- * Array validator
37
- * @param value Array
38
- */
39
- export const validateArray = (value, undefinable = false, nullable = false) => {
40
- return (undefinable && isUndefinable(value)) || (nullable && isNullable(value)) || Array.isArray(value);
41
- };
42
- /**
43
- * Object validator
44
- * @param value Object
45
- */
46
- export const validateObject = (value, undefinable = false, nullable = false) => {
47
- return (undefinable && isUndefinable(value)) || (nullable && isNullable(value)) || typeof value === 'object';
48
- };
49
- /**
50
- * Function validator
51
- * @param value Function
52
- */
53
- export const validateFunction = (value, undefinable = false, nullable = false) => {
54
- return (undefinable && isUndefinable(value)) || (nullable && isNullable(value)) || typeof value === 'function';
55
- };
1
+ const isUndefinable = (value) => {
2
+ return value === undefined;
3
+ };
4
+ const isNullable = (value) => {
5
+ return value === null;
6
+ };
7
+ /**
8
+ * Int validator
9
+ * @param value Int
10
+ */
11
+ export const validateInt = (value, undefinable = false) => {
12
+ return (undefinable && isUndefinable(value)) || !Number.isNaN(Number.parseInt(`${value}`));
13
+ };
14
+ /**
15
+ * Float validator
16
+ * @param value Float
17
+ */
18
+ export const validateFloat = (value, undefinable = false) => {
19
+ return (undefinable && isUndefinable(value)) || !Number.isNaN(Number.parseFloat(`${value}`));
20
+ };
21
+ /**
22
+ * String validator
23
+ * @param value String
24
+ */
25
+ export const validateString = (value, undefinable = false, nullable = false) => {
26
+ return (undefinable && isUndefinable(value)) || (nullable && isNullable(value)) || typeof value === 'string';
27
+ };
28
+ /**
29
+ * Boolean validator
30
+ * @param value Boolean
31
+ */
32
+ export const validateBoolean = (value, undefinable = false) => {
33
+ return (undefinable && isUndefinable(value)) || typeof value === 'boolean';
34
+ };
35
+ /**
36
+ * Array validator
37
+ * @param value Array
38
+ */
39
+ export const validateArray = (value, undefinable = false, nullable = false) => {
40
+ return (undefinable && isUndefinable(value)) || (nullable && isNullable(value)) || Array.isArray(value);
41
+ };
42
+ /**
43
+ * Object validator
44
+ * @param value Object
45
+ */
46
+ export const validateObject = (value, undefinable = false, nullable = false) => {
47
+ return (undefinable && isUndefinable(value)) || (nullable && isNullable(value)) || typeof value === 'object';
48
+ };
49
+ /**
50
+ * Function validator
51
+ * @param value Function
52
+ */
53
+ export const validateFunction = (value, undefinable = false, nullable = false) => {
54
+ return (undefinable && isUndefinable(value)) || (nullable && isNullable(value)) || typeof value === 'function';
55
+ };
56
56
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxhQUFhLEdBQUcsQ0FBVSxLQUFRLEVBQUUsRUFBRTtJQUN4QyxPQUFPLEtBQUssS0FBSyxTQUFTLENBQUM7QUFDL0IsQ0FBQyxDQUFBO0FBRUQsTUFBTSxVQUFVLEdBQUcsQ0FBVSxLQUFRLEVBQUUsRUFBRTtJQUNyQyxPQUFPLEtBQUssS0FBSyxJQUFJLENBQUM7QUFDMUIsQ0FBQyxDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBeUIsRUFBRSxXQUFXLEdBQUcsS0FBSyxFQUFFLEVBQUU7SUFDMUUsT0FBTyxDQUFDLFdBQVcsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMvRixDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUF5QixFQUFFLFdBQVcsR0FBRyxLQUFLLEVBQUUsRUFBRTtJQUM1RSxPQUFPLENBQUMsV0FBVyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2pHLENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWdDLEVBQUUsV0FBVyxHQUFHLEtBQUssRUFBRSxRQUFRLEdBQUcsS0FBSyxFQUFFLEVBQUU7SUFDdEcsT0FBTyxDQUFDLFdBQVcsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7QUFDakgsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBMEIsRUFBRSxXQUFXLEdBQUcsS0FBSyxFQUFFLEVBQUU7SUFDL0UsT0FBTyxDQUFDLFdBQVcsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxPQUFPLEtBQUssS0FBSyxTQUFTLENBQUM7QUFDL0UsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQVUsS0FBa0MsRUFBRSxXQUFXLEdBQUcsS0FBSyxFQUFFLFFBQVEsR0FBRyxLQUFLLEVBQUUsRUFBRTtJQUNoSCxPQUFPLENBQUMsV0FBVyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUcsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQVUsS0FBb0MsRUFBRSxXQUFXLEdBQUcsS0FBSyxFQUFFLFFBQVEsR0FBRyxLQUFLLEVBQUUsRUFBRTtJQUNuSCxPQUFPLENBQUMsV0FBVyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUNqSCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFVLEtBQW9DLEVBQUUsV0FBVyxHQUFHLEtBQUssRUFBRSxRQUFRLEdBQUcsS0FBSyxFQUFFLEVBQUU7SUFDckgsT0FBTyxDQUFDLFdBQVcsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLENBQUM7QUFDbkgsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaXNVbmRlZmluYWJsZSA9IDxUID0gYW55Pih2YWx1ZTogVCkgPT4ge1xyXG4gICAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbmNvbnN0IGlzTnVsbGFibGUgPSA8VCA9IGFueT4odmFsdWU6IFQpID0+IHtcclxuICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEludCB2YWxpZGF0b3JcclxuICogQHBhcmFtIHZhbHVlIEludFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlSW50ID0gKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQsIHVuZGVmaW5hYmxlID0gZmFsc2UpID0+IHtcclxuICAgIHJldHVybiAodW5kZWZpbmFibGUgJiYgaXNVbmRlZmluYWJsZSh2YWx1ZSkpIHx8ICFOdW1iZXIuaXNOYU4oTnVtYmVyLnBhcnNlSW50KGAke3ZhbHVlfWApKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBGbG9hdCB2YWxpZGF0b3JcclxuICogQHBhcmFtIHZhbHVlIEZsb2F0XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdmFsaWRhdGVGbG9hdCA9ICh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkLCB1bmRlZmluYWJsZSA9IGZhbHNlKSA9PiB7XHJcbiAgICByZXR1cm4gKHVuZGVmaW5hYmxlICYmIGlzVW5kZWZpbmFibGUodmFsdWUpKSB8fCAhTnVtYmVyLmlzTmFOKE51bWJlci5wYXJzZUZsb2F0KGAke3ZhbHVlfWApKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBTdHJpbmcgdmFsaWRhdG9yXHJcbiAqIEBwYXJhbSB2YWx1ZSBTdHJpbmdcclxuICovXHJcbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVN0cmluZyA9ICh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCwgdW5kZWZpbmFibGUgPSBmYWxzZSwgbnVsbGFibGUgPSBmYWxzZSkgPT4ge1xyXG4gICAgcmV0dXJuICh1bmRlZmluYWJsZSAmJiBpc1VuZGVmaW5hYmxlKHZhbHVlKSkgfHwgKG51bGxhYmxlICYmIGlzTnVsbGFibGUodmFsdWUpKSB8fCB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEJvb2xlYW4gdmFsaWRhdG9yXHJcbiAqIEBwYXJhbSB2YWx1ZSBCb29sZWFuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdmFsaWRhdGVCb29sZWFuID0gKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkLCB1bmRlZmluYWJsZSA9IGZhbHNlKSA9PiB7XHJcbiAgICByZXR1cm4gKHVuZGVmaW5hYmxlICYmIGlzVW5kZWZpbmFibGUodmFsdWUpKSB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJztcclxufTtcclxuXHJcbi8qKlxyXG4gKiBBcnJheSB2YWxpZGF0b3JcclxuICogQHBhcmFtIHZhbHVlIEFycmF5XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdmFsaWRhdGVBcnJheSA9IDxUID0gYW55Pih2YWx1ZTogQXJyYXk8VD4gfCB1bmRlZmluZWQgfCBudWxsLCB1bmRlZmluYWJsZSA9IGZhbHNlLCBudWxsYWJsZSA9IGZhbHNlKSA9PiB7XHJcbiAgICByZXR1cm4gKHVuZGVmaW5hYmxlICYmIGlzVW5kZWZpbmFibGUodmFsdWUpKSB8fCAobnVsbGFibGUgJiYgaXNOdWxsYWJsZSh2YWx1ZSkpIHx8IEFycmF5LmlzQXJyYXkodmFsdWUpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIE9iamVjdCB2YWxpZGF0b3JcclxuICogQHBhcmFtIHZhbHVlIE9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlT2JqZWN0ID0gPFQgPSBhbnk+KHZhbHVlOiBPYmplY3QgJiBUIHwgdW5kZWZpbmVkIHwgbnVsbCwgdW5kZWZpbmFibGUgPSBmYWxzZSwgbnVsbGFibGUgPSBmYWxzZSkgPT4ge1xyXG4gICAgcmV0dXJuICh1bmRlZmluYWJsZSAmJiBpc1VuZGVmaW5hYmxlKHZhbHVlKSkgfHwgKG51bGxhYmxlICYmIGlzTnVsbGFibGUodmFsdWUpKSB8fCB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHZhbGlkYXRvclxyXG4gKiBAcGFyYW0gdmFsdWUgRnVuY3Rpb25cclxuICovXHJcbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUZ1bmN0aW9uID0gPFQgPSBhbnk+KHZhbHVlOiBPYmplY3QgJiBUIHwgdW5kZWZpbmVkIHwgbnVsbCwgdW5kZWZpbmFibGUgPSBmYWxzZSwgbnVsbGFibGUgPSBmYWxzZSkgPT4ge1xyXG4gICAgcmV0dXJuICh1bmRlZmluYWJsZSAmJiBpc1VuZGVmaW5hYmxlKHZhbHVlKSkgfHwgKG51bGxhYmxlICYmIGlzTnVsbGFibGUodmFsdWUpKSB8fCB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbic7XHJcbn07XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlydHVhbC1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9uZy12aXJ0dWFsLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==