vscroll 1.6.3 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/dist/bundles/vscroll.esm5.js +5854 -5705
  2. package/dist/bundles/vscroll.esm5.js.map +1 -1
  3. package/dist/bundles/vscroll.esm5.min.js +2 -2
  4. package/dist/bundles/vscroll.esm5.min.js.map +1 -1
  5. package/dist/bundles/vscroll.esm6.js +5341 -5194
  6. package/dist/bundles/vscroll.esm6.js.map +1 -1
  7. package/dist/bundles/vscroll.esm6.min.js +2 -2
  8. package/dist/bundles/vscroll.esm6.min.js.map +1 -1
  9. package/dist/bundles/vscroll.umd.js +5858 -5710
  10. package/dist/bundles/vscroll.umd.js.map +1 -1
  11. package/dist/bundles/vscroll.umd.min.js +2 -2
  12. package/dist/bundles/vscroll.umd.min.js.map +1 -1
  13. package/dist/esm2015/classes/adapter/context.js +44 -43
  14. package/dist/esm2015/classes/adapter/context.js.map +1 -1
  15. package/dist/esm2015/classes/adapter/props.js +300 -300
  16. package/dist/esm2015/classes/adapter/props.js.map +1 -1
  17. package/dist/esm2015/classes/adapter/wanted.js +28 -28
  18. package/dist/esm2015/classes/adapter/wanted.js.map +1 -1
  19. package/dist/esm2015/classes/adapter.js +486 -487
  20. package/dist/esm2015/classes/adapter.js.map +1 -1
  21. package/dist/esm2015/classes/buffer/cache.js +249 -246
  22. package/dist/esm2015/classes/buffer/cache.js.map +1 -1
  23. package/dist/esm2015/classes/buffer/checkCall.js +47 -48
  24. package/dist/esm2015/classes/buffer/checkCall.js.map +1 -1
  25. package/dist/esm2015/classes/buffer/defaultSize.js +128 -127
  26. package/dist/esm2015/classes/buffer/defaultSize.js.map +1 -1
  27. package/dist/esm2015/classes/buffer.js +343 -342
  28. package/dist/esm2015/classes/buffer.js.map +1 -1
  29. package/dist/esm2015/classes/datasource.js +36 -24
  30. package/dist/esm2015/classes/datasource.js.map +1 -1
  31. package/dist/esm2015/classes/domRoutines.js +160 -160
  32. package/dist/esm2015/classes/domRoutines.js.map +1 -1
  33. package/dist/esm2015/classes/item.js +61 -61
  34. package/dist/esm2015/classes/item.js.map +1 -1
  35. package/dist/esm2015/classes/logger.js +229 -186
  36. package/dist/esm2015/classes/logger.js.map +1 -1
  37. package/dist/esm2015/classes/paddings.js +76 -72
  38. package/dist/esm2015/classes/paddings.js.map +1 -1
  39. package/dist/esm2015/classes/reactive.js +54 -54
  40. package/dist/esm2015/classes/reactive.js.map +1 -1
  41. package/dist/esm2015/classes/settings.js +39 -39
  42. package/dist/esm2015/classes/settings.js.map +1 -1
  43. package/dist/esm2015/classes/state/clip.js +16 -16
  44. package/dist/esm2015/classes/state/clip.js.map +1 -1
  45. package/dist/esm2015/classes/state/cycle.js +60 -60
  46. package/dist/esm2015/classes/state/cycle.js.map +1 -1
  47. package/dist/esm2015/classes/state/fetch.js +124 -122
  48. package/dist/esm2015/classes/state/fetch.js.map +1 -1
  49. package/dist/esm2015/classes/state/render.js +14 -14
  50. package/dist/esm2015/classes/state/render.js.map +1 -1
  51. package/dist/esm2015/classes/state/scroll.js +30 -30
  52. package/dist/esm2015/classes/state/scroll.js.map +1 -1
  53. package/dist/esm2015/classes/state.js +64 -62
  54. package/dist/esm2015/classes/state.js.map +1 -1
  55. package/dist/esm2015/classes/viewport.js +74 -72
  56. package/dist/esm2015/classes/viewport.js.map +1 -1
  57. package/dist/esm2015/index.js +9 -9
  58. package/dist/esm2015/index.js.map +1 -1
  59. package/dist/esm2015/inputs/adapter.js +262 -242
  60. package/dist/esm2015/inputs/adapter.js.map +1 -1
  61. package/dist/esm2015/inputs/common.js +11 -11
  62. package/dist/esm2015/inputs/common.js.map +1 -1
  63. package/dist/esm2015/inputs/datasource.js +20 -20
  64. package/dist/esm2015/inputs/datasource.js.map +1 -1
  65. package/dist/esm2015/inputs/index.js +7 -7
  66. package/dist/esm2015/inputs/index.js.map +1 -1
  67. package/dist/esm2015/inputs/settings.js +151 -146
  68. package/dist/esm2015/inputs/settings.js.map +1 -1
  69. package/dist/esm2015/inputs/validation.js +365 -374
  70. package/dist/esm2015/inputs/validation.js.map +1 -1
  71. package/dist/esm2015/inputs/workflow.js +30 -30
  72. package/dist/esm2015/inputs/workflow.js.map +1 -1
  73. package/dist/esm2015/interfaces/adapter.js +1 -1
  74. package/dist/esm2015/interfaces/adapter.js.map +1 -1
  75. package/dist/esm2015/interfaces/datasource.js +1 -1
  76. package/dist/esm2015/interfaces/datasource.js.map +1 -1
  77. package/dist/esm2015/interfaces/index.js +1 -1
  78. package/dist/esm2015/interfaces/index.js.map +1 -1
  79. package/dist/esm2015/interfaces/item.js +1 -1
  80. package/dist/esm2015/interfaces/item.js.map +1 -1
  81. package/dist/esm2015/interfaces/process.js +1 -1
  82. package/dist/esm2015/interfaces/process.js.map +1 -1
  83. package/dist/esm2015/interfaces/routines.js +1 -1
  84. package/dist/esm2015/interfaces/routines.js.map +1 -1
  85. package/dist/esm2015/interfaces/settings.js +1 -1
  86. package/dist/esm2015/interfaces/settings.js.map +1 -1
  87. package/dist/esm2015/interfaces/state.js +1 -1
  88. package/dist/esm2015/interfaces/state.js.map +1 -1
  89. package/dist/esm2015/interfaces/validation.js +1 -1
  90. package/dist/esm2015/interfaces/validation.js.map +1 -1
  91. package/dist/esm2015/interfaces/workflow.js +1 -1
  92. package/dist/esm2015/interfaces/workflow.js.map +1 -1
  93. package/dist/esm2015/processes/adapter/append.js +37 -36
  94. package/dist/esm2015/processes/adapter/append.js.map +1 -1
  95. package/dist/esm2015/processes/adapter/check.js +33 -32
  96. package/dist/esm2015/processes/adapter/check.js.map +1 -1
  97. package/dist/esm2015/processes/adapter/clip.js +12 -12
  98. package/dist/esm2015/processes/adapter/clip.js.map +1 -1
  99. package/dist/esm2015/processes/adapter/fix.js +79 -77
  100. package/dist/esm2015/processes/adapter/fix.js.map +1 -1
  101. package/dist/esm2015/processes/adapter/insert.js +74 -73
  102. package/dist/esm2015/processes/adapter/insert.js.map +1 -1
  103. package/dist/esm2015/processes/adapter/pause.js +22 -22
  104. package/dist/esm2015/processes/adapter/pause.js.map +1 -1
  105. package/dist/esm2015/processes/adapter/reload.js +19 -19
  106. package/dist/esm2015/processes/adapter/reload.js.map +1 -1
  107. package/dist/esm2015/processes/adapter/remove.js +105 -102
  108. package/dist/esm2015/processes/adapter/remove.js.map +1 -1
  109. package/dist/esm2015/processes/adapter/replace.js +39 -39
  110. package/dist/esm2015/processes/adapter/replace.js.map +1 -1
  111. package/dist/esm2015/processes/adapter/reset.js +35 -35
  112. package/dist/esm2015/processes/adapter/reset.js.map +1 -1
  113. package/dist/esm2015/processes/adapter/update.js +44 -43
  114. package/dist/esm2015/processes/adapter/update.js.map +1 -1
  115. package/dist/esm2015/processes/adjust.js +146 -141
  116. package/dist/esm2015/processes/adjust.js.map +1 -1
  117. package/dist/esm2015/processes/clip.js +49 -49
  118. package/dist/esm2015/processes/clip.js.map +1 -1
  119. package/dist/esm2015/processes/end.js +53 -52
  120. package/dist/esm2015/processes/end.js.map +1 -1
  121. package/dist/esm2015/processes/fetch.js +93 -91
  122. package/dist/esm2015/processes/fetch.js.map +1 -1
  123. package/dist/esm2015/processes/index.js +24 -24
  124. package/dist/esm2015/processes/index.js.map +1 -1
  125. package/dist/esm2015/processes/init.js +14 -14
  126. package/dist/esm2015/processes/init.js.map +1 -1
  127. package/dist/esm2015/processes/misc/base.js +29 -30
  128. package/dist/esm2015/processes/misc/base.js.map +1 -1
  129. package/dist/esm2015/processes/misc/enums.js +36 -36
  130. package/dist/esm2015/processes/misc/enums.js.map +1 -1
  131. package/dist/esm2015/processes/misc/index.js +2 -2
  132. package/dist/esm2015/processes/misc/index.js.map +1 -1
  133. package/dist/esm2015/processes/postFetch.js +66 -65
  134. package/dist/esm2015/processes/postFetch.js.map +1 -1
  135. package/dist/esm2015/processes/preClip.js +86 -85
  136. package/dist/esm2015/processes/preClip.js.map +1 -1
  137. package/dist/esm2015/processes/preFetch.js +253 -240
  138. package/dist/esm2015/processes/preFetch.js.map +1 -1
  139. package/dist/esm2015/processes/render.js +56 -54
  140. package/dist/esm2015/processes/render.js.map +1 -1
  141. package/dist/esm2015/processes/scroll.js +106 -97
  142. package/dist/esm2015/processes/scroll.js.map +1 -1
  143. package/dist/esm2015/processes/start.js +11 -11
  144. package/dist/esm2015/processes/start.js.map +1 -1
  145. package/dist/esm2015/scroller.js +91 -86
  146. package/dist/esm2015/scroller.js.map +1 -1
  147. package/dist/esm2015/version.js +4 -4
  148. package/dist/esm2015/version.js.map +1 -1
  149. package/dist/esm2015/workflow-transducer.js +219 -218
  150. package/dist/esm2015/workflow-transducer.js.map +1 -1
  151. package/dist/esm2015/workflow.js +185 -174
  152. package/dist/esm2015/workflow.js.map +1 -1
  153. package/dist/esm5/classes/adapter/context.js +51 -50
  154. package/dist/esm5/classes/adapter/context.js.map +1 -1
  155. package/dist/esm5/classes/adapter/props.js +300 -300
  156. package/dist/esm5/classes/adapter/props.js.map +1 -1
  157. package/dist/esm5/classes/adapter/wanted.js +29 -29
  158. package/dist/esm5/classes/adapter/wanted.js.map +1 -1
  159. package/dist/esm5/classes/adapter.js +538 -535
  160. package/dist/esm5/classes/adapter.js.map +1 -1
  161. package/dist/esm5/classes/buffer/cache.js +262 -260
  162. package/dist/esm5/classes/buffer/cache.js.map +1 -1
  163. package/dist/esm5/classes/buffer/checkCall.js +53 -56
  164. package/dist/esm5/classes/buffer/checkCall.js.map +1 -1
  165. package/dist/esm5/classes/buffer/defaultSize.js +146 -145
  166. package/dist/esm5/classes/buffer/defaultSize.js.map +1 -1
  167. package/dist/esm5/classes/buffer.js +410 -409
  168. package/dist/esm5/classes/buffer.js.map +1 -1
  169. package/dist/esm5/classes/datasource.js +47 -31
  170. package/dist/esm5/classes/datasource.js.map +1 -1
  171. package/dist/esm5/classes/domRoutines.js +165 -165
  172. package/dist/esm5/classes/domRoutines.js.map +1 -1
  173. package/dist/esm5/classes/item.js +76 -76
  174. package/dist/esm5/classes/item.js.map +1 -1
  175. package/dist/esm5/classes/logger.js +251 -210
  176. package/dist/esm5/classes/logger.js.map +1 -1
  177. package/dist/esm5/classes/paddings.js +84 -80
  178. package/dist/esm5/classes/paddings.js.map +1 -1
  179. package/dist/esm5/classes/reactive.js +69 -69
  180. package/dist/esm5/classes/reactive.js.map +1 -1
  181. package/dist/esm5/classes/settings.js +47 -47
  182. package/dist/esm5/classes/settings.js.map +1 -1
  183. package/dist/esm5/classes/state/clip.js +22 -22
  184. package/dist/esm5/classes/state/clip.js.map +1 -1
  185. package/dist/esm5/classes/state/cycle.js +75 -75
  186. package/dist/esm5/classes/state/cycle.js.map +1 -1
  187. package/dist/esm5/classes/state/fetch.js +150 -148
  188. package/dist/esm5/classes/state/fetch.js.map +1 -1
  189. package/dist/esm5/classes/state/render.js +20 -20
  190. package/dist/esm5/classes/state/render.js.map +1 -1
  191. package/dist/esm5/classes/state/scroll.js +32 -32
  192. package/dist/esm5/classes/state/scroll.js.map +1 -1
  193. package/dist/esm5/classes/state.js +71 -69
  194. package/dist/esm5/classes/state.js.map +1 -1
  195. package/dist/esm5/classes/viewport.js +80 -79
  196. package/dist/esm5/classes/viewport.js.map +1 -1
  197. package/dist/esm5/index.js +9 -9
  198. package/dist/esm5/index.js.map +1 -1
  199. package/dist/esm5/inputs/adapter.js +263 -243
  200. package/dist/esm5/inputs/adapter.js.map +1 -1
  201. package/dist/esm5/inputs/common.js +11 -11
  202. package/dist/esm5/inputs/common.js.map +1 -1
  203. package/dist/esm5/inputs/datasource.js +21 -21
  204. package/dist/esm5/inputs/datasource.js.map +1 -1
  205. package/dist/esm5/inputs/index.js +7 -7
  206. package/dist/esm5/inputs/index.js.map +1 -1
  207. package/dist/esm5/inputs/settings.js +152 -147
  208. package/dist/esm5/inputs/settings.js.map +1 -1
  209. package/dist/esm5/inputs/validation.js +399 -396
  210. package/dist/esm5/inputs/validation.js.map +1 -1
  211. package/dist/esm5/inputs/workflow.js +31 -31
  212. package/dist/esm5/inputs/workflow.js.map +1 -1
  213. package/dist/esm5/interfaces/adapter.js +1 -1
  214. package/dist/esm5/interfaces/adapter.js.map +1 -1
  215. package/dist/esm5/interfaces/datasource.js +1 -1
  216. package/dist/esm5/interfaces/datasource.js.map +1 -1
  217. package/dist/esm5/interfaces/index.js +1 -1
  218. package/dist/esm5/interfaces/index.js.map +1 -1
  219. package/dist/esm5/interfaces/item.js +1 -1
  220. package/dist/esm5/interfaces/item.js.map +1 -1
  221. package/dist/esm5/interfaces/process.js +1 -1
  222. package/dist/esm5/interfaces/process.js.map +1 -1
  223. package/dist/esm5/interfaces/routines.js +1 -1
  224. package/dist/esm5/interfaces/routines.js.map +1 -1
  225. package/dist/esm5/interfaces/settings.js +1 -1
  226. package/dist/esm5/interfaces/settings.js.map +1 -1
  227. package/dist/esm5/interfaces/state.js +1 -1
  228. package/dist/esm5/interfaces/state.js.map +1 -1
  229. package/dist/esm5/interfaces/validation.js +1 -1
  230. package/dist/esm5/interfaces/validation.js.map +1 -1
  231. package/dist/esm5/interfaces/workflow.js +1 -1
  232. package/dist/esm5/interfaces/workflow.js.map +1 -1
  233. package/dist/esm5/processes/adapter/append.js +45 -44
  234. package/dist/esm5/processes/adapter/append.js.map +1 -1
  235. package/dist/esm5/processes/adapter/check.js +40 -39
  236. package/dist/esm5/processes/adapter/check.js.map +1 -1
  237. package/dist/esm5/processes/adapter/clip.js +19 -19
  238. package/dist/esm5/processes/adapter/clip.js.map +1 -1
  239. package/dist/esm5/processes/adapter/fix.js +91 -89
  240. package/dist/esm5/processes/adapter/fix.js.map +1 -1
  241. package/dist/esm5/processes/adapter/insert.js +82 -81
  242. package/dist/esm5/processes/adapter/insert.js.map +1 -1
  243. package/dist/esm5/processes/adapter/pause.js +29 -29
  244. package/dist/esm5/processes/adapter/pause.js.map +1 -1
  245. package/dist/esm5/processes/adapter/reload.js +26 -26
  246. package/dist/esm5/processes/adapter/reload.js.map +1 -1
  247. package/dist/esm5/processes/adapter/remove.js +116 -115
  248. package/dist/esm5/processes/adapter/remove.js.map +1 -1
  249. package/dist/esm5/processes/adapter/replace.js +47 -47
  250. package/dist/esm5/processes/adapter/replace.js.map +1 -1
  251. package/dist/esm5/processes/adapter/reset.js +42 -42
  252. package/dist/esm5/processes/adapter/reset.js.map +1 -1
  253. package/dist/esm5/processes/adapter/update.js +64 -59
  254. package/dist/esm5/processes/adapter/update.js.map +1 -1
  255. package/dist/esm5/processes/adjust.js +157 -152
  256. package/dist/esm5/processes/adjust.js.map +1 -1
  257. package/dist/esm5/processes/clip.js +60 -60
  258. package/dist/esm5/processes/clip.js.map +1 -1
  259. package/dist/esm5/processes/end.js +64 -63
  260. package/dist/esm5/processes/end.js.map +1 -1
  261. package/dist/esm5/processes/fetch.js +104 -102
  262. package/dist/esm5/processes/fetch.js.map +1 -1
  263. package/dist/esm5/processes/index.js +24 -24
  264. package/dist/esm5/processes/index.js.map +1 -1
  265. package/dist/esm5/processes/init.js +21 -21
  266. package/dist/esm5/processes/init.js.map +1 -1
  267. package/dist/esm5/processes/misc/base.js +43 -44
  268. package/dist/esm5/processes/misc/base.js.map +1 -1
  269. package/dist/esm5/processes/misc/enums.js +36 -36
  270. package/dist/esm5/processes/misc/enums.js.map +1 -1
  271. package/dist/esm5/processes/misc/index.js +2 -2
  272. package/dist/esm5/processes/misc/index.js.map +1 -1
  273. package/dist/esm5/processes/postFetch.js +73 -74
  274. package/dist/esm5/processes/postFetch.js.map +1 -1
  275. package/dist/esm5/processes/preClip.js +95 -94
  276. package/dist/esm5/processes/preClip.js.map +1 -1
  277. package/dist/esm5/processes/preFetch.js +259 -247
  278. package/dist/esm5/processes/preFetch.js.map +1 -1
  279. package/dist/esm5/processes/render.js +63 -63
  280. package/dist/esm5/processes/render.js.map +1 -1
  281. package/dist/esm5/processes/scroll.js +113 -107
  282. package/dist/esm5/processes/scroll.js.map +1 -1
  283. package/dist/esm5/processes/start.js +18 -18
  284. package/dist/esm5/processes/start.js.map +1 -1
  285. package/dist/esm5/scroller.js +104 -100
  286. package/dist/esm5/scroller.js.map +1 -1
  287. package/dist/esm5/version.js +4 -4
  288. package/dist/esm5/version.js.map +1 -1
  289. package/dist/esm5/workflow-transducer.js +221 -220
  290. package/dist/esm5/workflow-transducer.js.map +1 -1
  291. package/dist/esm5/workflow.js +204 -198
  292. package/dist/esm5/workflow.js.map +1 -1
  293. package/dist/typings/classes/adapter/context.d.ts +4 -4
  294. package/dist/typings/classes/adapter/props.d.ts +52 -52
  295. package/dist/typings/classes/adapter/wanted.d.ts +14 -14
  296. package/dist/typings/classes/adapter.d.ts +79 -79
  297. package/dist/typings/classes/buffer/cache.d.ts +94 -95
  298. package/dist/typings/classes/buffer/checkCall.d.ts +12 -12
  299. package/dist/typings/classes/buffer/defaultSize.d.ts +32 -32
  300. package/dist/typings/classes/buffer.d.ts +64 -64
  301. package/dist/typings/classes/datasource.d.ts +11 -11
  302. package/dist/typings/classes/domRoutines.d.ts +36 -36
  303. package/dist/typings/classes/item.d.ts +28 -28
  304. package/dist/typings/classes/logger.d.ts +32 -28
  305. package/dist/typings/classes/paddings.d.ts +22 -22
  306. package/dist/typings/classes/reactive.d.ts +21 -21
  307. package/dist/typings/classes/settings.d.ts +126 -119
  308. package/dist/typings/classes/state/clip.d.ts +9 -9
  309. package/dist/typings/classes/state/cycle.d.ts +29 -29
  310. package/dist/typings/classes/state/fetch.d.ts +62 -62
  311. package/dist/typings/classes/state/render.d.ts +9 -9
  312. package/dist/typings/classes/state/scroll.d.ts +16 -16
  313. package/dist/typings/classes/state.d.ts +29 -29
  314. package/dist/typings/classes/viewport.d.ts +32 -32
  315. package/dist/typings/index.d.ts +10 -10
  316. package/dist/typings/inputs/adapter.d.ts +5 -5
  317. package/dist/typings/inputs/common.d.ts +9 -9
  318. package/dist/typings/inputs/datasource.d.ts +7 -7
  319. package/dist/typings/inputs/index.d.ts +7 -7
  320. package/dist/typings/inputs/settings.d.ts +42 -41
  321. package/dist/typings/inputs/validation.d.ts +82 -83
  322. package/dist/typings/inputs/workflow.d.ts +9 -9
  323. package/dist/typings/interfaces/adapter.d.ts +164 -164
  324. package/dist/typings/interfaces/datasource.d.ts +28 -28
  325. package/dist/typings/interfaces/index.d.ts +10 -10
  326. package/dist/typings/interfaces/item.d.ts +8 -8
  327. package/dist/typings/interfaces/process.d.ts +35 -35
  328. package/dist/typings/interfaces/routines.d.ts +166 -166
  329. package/dist/typings/interfaces/settings.d.ts +32 -31
  330. package/dist/typings/interfaces/state.d.ts +24 -24
  331. package/dist/typings/interfaces/validation.d.ts +33 -33
  332. package/dist/typings/interfaces/workflow.d.ts +53 -53
  333. package/dist/typings/processes/adapter/append.d.ts +14 -14
  334. package/dist/typings/processes/adapter/check.d.ts +6 -6
  335. package/dist/typings/processes/adapter/clip.d.ts +7 -7
  336. package/dist/typings/processes/adapter/fix.d.ts +13 -13
  337. package/dist/typings/processes/adapter/insert.d.ts +11 -11
  338. package/dist/typings/processes/adapter/pause.d.ts +8 -8
  339. package/dist/typings/processes/adapter/reload.d.ts +6 -6
  340. package/dist/typings/processes/adapter/remove.d.ts +11 -11
  341. package/dist/typings/processes/adapter/replace.d.ts +8 -8
  342. package/dist/typings/processes/adapter/reset.d.ts +7 -7
  343. package/dist/typings/processes/adapter/update.d.ts +8 -8
  344. package/dist/typings/processes/adjust.d.ts +10 -10
  345. package/dist/typings/processes/clip.d.ts +7 -7
  346. package/dist/typings/processes/end.d.ts +10 -10
  347. package/dist/typings/processes/fetch.d.ts +18 -18
  348. package/dist/typings/processes/index.d.ts +24 -24
  349. package/dist/typings/processes/init.d.ts +7 -7
  350. package/dist/typings/processes/misc/base.d.ts +4 -4
  351. package/dist/typings/processes/misc/enums.d.ts +33 -33
  352. package/dist/typings/processes/misc/index.d.ts +2 -2
  353. package/dist/typings/processes/postFetch.d.ts +8 -8
  354. package/dist/typings/processes/preClip.d.ts +12 -12
  355. package/dist/typings/processes/preFetch.d.ts +17 -17
  356. package/dist/typings/processes/render.d.ts +9 -9
  357. package/dist/typings/processes/scroll.d.ts +13 -13
  358. package/dist/typings/processes/start.d.ts +6 -6
  359. package/dist/typings/scroller.d.ts +26 -26
  360. package/dist/typings/version.d.ts +5 -5
  361. package/dist/typings/workflow-transducer.d.ts +2 -2
  362. package/dist/typings/workflow.d.ts +30 -29
  363. package/package.json +72 -69
@@ -1,81 +1,85 @@
1
- import { Direction } from '../inputs/index';
2
- var Padding = /** @class */ (function () {
3
- function Padding(direction, routines) {
4
- var found = routines.findPaddingElement(direction);
5
- routines.checkElement(found);
6
- this.element = found;
7
- this.direction = direction;
8
- this.routines = routines;
9
- }
10
- Padding.prototype.reset = function (size) {
11
- this.size = size || 0;
12
- };
13
- Object.defineProperty(Padding.prototype, "size", {
14
- get: function () {
15
- return this.routines.getSizeStyle(this.element);
16
- },
17
- set: function (value) {
18
- this.routines.setSizeStyle(this.element, value);
19
- },
20
- enumerable: false,
21
- configurable: true
22
- });
23
- return Padding;
24
- }());
25
- export { Padding };
26
- var Paddings = /** @class */ (function () {
27
- function Paddings(routines, settings) {
28
- this.settings = settings;
29
- this.forward = new Padding(Direction.forward, routines);
30
- this.backward = new Padding(Direction.backward, routines);
31
- }
32
- Paddings.prototype.byDirection = function (direction, opposite) {
33
- return direction === Direction.backward
34
- ? (opposite ? this.forward : this.backward)
35
- : (opposite ? this.backward : this.forward);
36
- };
37
- Paddings.prototype.reset = function (viewportSize, startIndex, offset) {
38
- var positive = this.getPositiveSize(startIndex, viewportSize, offset);
39
- var negative = this.getNegativeSize(startIndex);
40
- if (this.settings.inverse) {
41
- this.forward.reset(negative);
42
- this.backward.reset(positive);
43
- var diff = viewportSize - this.backward.size - offset;
44
- if (diff > 0) {
45
- this.backward.size += diff;
46
- this.forward.size -= diff;
47
- }
48
- }
49
- else {
50
- this.forward.reset(positive);
51
- this.backward.reset(negative);
52
- var diff = viewportSize - this.forward.size - offset;
53
- if (diff > 0) {
54
- this.backward.size -= diff;
55
- this.forward.size += diff;
56
- }
57
- }
58
- };
59
- Paddings.prototype.getPositiveSize = function (startIndex, viewportSize, offset) {
60
- var settings = this.settings;
61
- var positiveSize = viewportSize;
62
- if (isFinite(settings.maxIndex)) {
63
- positiveSize = (settings.maxIndex - startIndex + 1) * settings.itemSize;
64
- }
65
- if (offset) {
66
- positiveSize = Math.max(positiveSize - offset, 0);
67
- }
68
- return positiveSize;
69
- };
70
- Paddings.prototype.getNegativeSize = function (startIndex) {
71
- var settings = this.settings;
72
- var negativeSize = 0;
73
- if (isFinite(settings.minIndex)) {
74
- negativeSize = (startIndex - settings.minIndex) * settings.itemSize;
75
- }
76
- return negativeSize;
77
- };
78
- return Paddings;
79
- }());
80
- export { Paddings };
1
+ import { Direction } from '../inputs/index';
2
+ var Padding = /** @class */ (function () {
3
+ function Padding(direction, routines) {
4
+ var found = routines.findPaddingElement(direction);
5
+ routines.checkElement(found);
6
+ this.element = found;
7
+ this.direction = direction;
8
+ this.routines = routines;
9
+ }
10
+ Padding.prototype.reset = function (size) {
11
+ this.size = size || 0;
12
+ };
13
+ Object.defineProperty(Padding.prototype, "size", {
14
+ get: function () {
15
+ return this.routines.getSizeStyle(this.element);
16
+ },
17
+ set: function (value) {
18
+ this.routines.setSizeStyle(this.element, value);
19
+ },
20
+ enumerable: false,
21
+ configurable: true
22
+ });
23
+ return Padding;
24
+ }());
25
+ export { Padding };
26
+ var Paddings = /** @class */ (function () {
27
+ function Paddings(routines, settings) {
28
+ this.settings = settings;
29
+ this.forward = new Padding(Direction.forward, routines);
30
+ this.backward = new Padding(Direction.backward, routines);
31
+ }
32
+ Paddings.prototype.byDirection = function (direction, opposite) {
33
+ return direction === Direction.backward
34
+ ? opposite
35
+ ? this.forward
36
+ : this.backward
37
+ : opposite
38
+ ? this.backward
39
+ : this.forward;
40
+ };
41
+ Paddings.prototype.reset = function (viewportSize, startIndex, offset) {
42
+ var positive = this.getPositiveSize(startIndex, viewportSize, offset);
43
+ var negative = this.getNegativeSize(startIndex);
44
+ if (this.settings.inverse) {
45
+ this.forward.reset(negative);
46
+ this.backward.reset(positive);
47
+ var diff = viewportSize - this.backward.size - offset;
48
+ if (diff > 0) {
49
+ this.backward.size += diff;
50
+ this.forward.size -= diff;
51
+ }
52
+ }
53
+ else {
54
+ this.forward.reset(positive);
55
+ this.backward.reset(negative);
56
+ var diff = viewportSize - this.forward.size - offset;
57
+ if (diff > 0) {
58
+ this.backward.size -= diff;
59
+ this.forward.size += diff;
60
+ }
61
+ }
62
+ };
63
+ Paddings.prototype.getPositiveSize = function (startIndex, viewportSize, offset) {
64
+ var settings = this.settings;
65
+ var positiveSize = viewportSize;
66
+ if (isFinite(settings.maxIndex)) {
67
+ positiveSize = (settings.maxIndex - startIndex + 1) * settings.itemSize;
68
+ }
69
+ if (offset) {
70
+ positiveSize = Math.max(positiveSize - offset, 0);
71
+ }
72
+ return positiveSize;
73
+ };
74
+ Paddings.prototype.getNegativeSize = function (startIndex) {
75
+ var settings = this.settings;
76
+ var negativeSize = 0;
77
+ if (isFinite(settings.minIndex)) {
78
+ negativeSize = (startIndex - settings.minIndex) * settings.itemSize;
79
+ }
80
+ return negativeSize;
81
+ };
82
+ return Paddings;
83
+ }());
84
+ export { Paddings };
81
85
  //# sourceMappingURL=paddings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paddings.js","sourceRoot":"","sources":["../../../src/classes/paddings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;IAME,iBAAY,SAAoB,EAAE,QAAkB;QAClD,IAAM,KAAK,GAAG,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACrD,QAAQ,CAAC,YAAY,CAAC,KAAoB,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,KAAoB,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,uBAAK,GAAL,UAAM,IAAa;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,sBAAI,yBAAI;aAAR;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;aAED,UAAS,KAAa;YACpB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;;;OAJA;IAMH,cAAC;AAAD,CAAC,AA1BD,IA0BC;;AAED;IAKE,kBAAY,QAAkB,EAAE,QAAkB;QAChD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,8BAAW,GAAX,UAAY,SAAoB,EAAE,QAAkB;QAClD,OAAO,SAAS,KAAK,SAAS,CAAC,QAAQ;YACrC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3C,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,wBAAK,GAAL,UAAM,YAAoB,EAAE,UAAkB,EAAE,MAAc;QAC5D,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACxE,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAM,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;YACxD,IAAI,IAAI,GAAG,CAAC,EAAE;gBACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;aAC3B;SACF;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAM,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;YACvD,IAAI,IAAI,GAAG,CAAC,EAAE;gBACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;aAC3B;SACF;IAEH,CAAC;IAED,kCAAe,GAAf,UAAgB,UAAkB,EAAE,YAAoB,EAAE,MAAc;QAC9D,IAAA,QAAQ,GAAK,IAAI,SAAT,CAAU;QAC1B,IAAI,YAAY,GAAG,YAAY,CAAC;QAChC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC/B,YAAY,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;SACzE;QACD,IAAI,MAAM,EAAE;YACV,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;SACnD;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,kCAAe,GAAf,UAAgB,UAAkB;QACxB,IAAA,QAAQ,GAAK,IAAI,SAAT,CAAU;QAC1B,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC/B,YAAY,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;SACrE;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACH,eAAC;AAAD,CAAC,AA5DD,IA4DC","sourcesContent":["import { Routines } from './domRoutines';\r\nimport { Settings } from './settings';\r\nimport { Direction } from '../inputs/index';\r\n\r\nexport class Padding {\r\n\r\n element: HTMLElement;\r\n direction: Direction;\r\n routines: Routines;\r\n\r\n constructor(direction: Direction, routines: Routines) {\r\n const found = routines.findPaddingElement(direction);\r\n routines.checkElement(found as HTMLElement);\r\n this.element = found as HTMLElement;\r\n this.direction = direction;\r\n this.routines = routines;\r\n }\r\n\r\n reset(size?: number): void {\r\n this.size = size || 0;\r\n }\r\n\r\n get size(): number {\r\n return this.routines.getSizeStyle(this.element);\r\n }\r\n\r\n set size(value: number) {\r\n this.routines.setSizeStyle(this.element, value);\r\n }\r\n\r\n}\r\n\r\nexport class Paddings {\r\n settings: Settings;\r\n forward: Padding;\r\n backward: Padding;\r\n\r\n constructor(routines: Routines, settings: Settings) {\r\n this.settings = settings;\r\n this.forward = new Padding(Direction.forward, routines);\r\n this.backward = new Padding(Direction.backward, routines);\r\n }\r\n\r\n byDirection(direction: Direction, opposite?: boolean): Padding {\r\n return direction === Direction.backward\r\n ? (opposite ? this.forward : this.backward)\r\n : (opposite ? this.backward : this.forward);\r\n }\r\n\r\n reset(viewportSize: number, startIndex: number, offset: number): void {\r\n const positive = this.getPositiveSize(startIndex, viewportSize, offset);\r\n const negative = this.getNegativeSize(startIndex);\r\n if (this.settings.inverse) {\r\n this.forward.reset(negative);\r\n this.backward.reset(positive);\r\n const diff = viewportSize - this.backward.size - offset;\r\n if (diff > 0) {\r\n this.backward.size += diff;\r\n this.forward.size -= diff;\r\n }\r\n } else {\r\n this.forward.reset(positive);\r\n this.backward.reset(negative);\r\n const diff = viewportSize - this.forward.size - offset;\r\n if (diff > 0) {\r\n this.backward.size -= diff;\r\n this.forward.size += diff;\r\n }\r\n }\r\n\r\n }\r\n\r\n getPositiveSize(startIndex: number, viewportSize: number, offset: number): number {\r\n const { settings } = this;\r\n let positiveSize = viewportSize;\r\n if (isFinite(settings.maxIndex)) {\r\n positiveSize = (settings.maxIndex - startIndex + 1) * settings.itemSize;\r\n }\r\n if (offset) {\r\n positiveSize = Math.max(positiveSize - offset, 0);\r\n }\r\n return positiveSize;\r\n }\r\n\r\n getNegativeSize(startIndex: number): number {\r\n const { settings } = this;\r\n let negativeSize = 0;\r\n if (isFinite(settings.minIndex)) {\r\n negativeSize = (startIndex - settings.minIndex) * settings.itemSize;\r\n }\r\n return negativeSize;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"paddings.js","sourceRoot":"","sources":["../../../src/classes/paddings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;IAKE,iBAAY,SAAoB,EAAE,QAAkB;QAClD,IAAM,KAAK,GAAG,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACrD,QAAQ,CAAC,YAAY,CAAC,KAAoB,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,KAAoB,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,uBAAK,GAAL,UAAM,IAAa;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,sBAAI,yBAAI;aAAR;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;aAED,UAAS,KAAa;YACpB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;;;OAJA;IAKH,cAAC;AAAD,CAAC,AAxBD,IAwBC;;AAED;IAKE,kBAAY,QAAkB,EAAE,QAAkB;QAChD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,8BAAW,GAAX,UAAY,SAAoB,EAAE,QAAkB;QAClD,OAAO,SAAS,KAAK,SAAS,CAAC,QAAQ;YACrC,CAAC,CAAC,QAAQ;gBACR,CAAC,CAAC,IAAI,CAAC,OAAO;gBACd,CAAC,CAAC,IAAI,CAAC,QAAQ;YACjB,CAAC,CAAC,QAAQ;gBACR,CAAC,CAAC,IAAI,CAAC,QAAQ;gBACf,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,wBAAK,GAAL,UAAM,YAAoB,EAAE,UAAkB,EAAE,MAAc;QAC5D,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACxE,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAM,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;YACxD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAM,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;YACvD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,kCAAe,GAAf,UAAgB,UAAkB,EAAE,YAAoB,EAAE,MAAc;QAC9D,IAAA,QAAQ,GAAK,IAAI,SAAT,CAAU;QAC1B,IAAI,YAAY,GAAG,YAAY,CAAC;QAChC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,YAAY,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC1E,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,kCAAe,GAAf,UAAgB,UAAkB;QACxB,IAAA,QAAQ,GAAK,IAAI,SAAT,CAAU;QAC1B,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,YAAY,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACtE,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACH,eAAC;AAAD,CAAC,AA/DD,IA+DC","sourcesContent":["import { Routines } from './domRoutines';\nimport { Settings } from './settings';\nimport { Direction } from '../inputs/index';\n\nexport class Padding {\n element: HTMLElement;\n direction: Direction;\n routines: Routines;\n\n constructor(direction: Direction, routines: Routines) {\n const found = routines.findPaddingElement(direction);\n routines.checkElement(found as HTMLElement);\n this.element = found as HTMLElement;\n this.direction = direction;\n this.routines = routines;\n }\n\n reset(size?: number): void {\n this.size = size || 0;\n }\n\n get size(): number {\n return this.routines.getSizeStyle(this.element);\n }\n\n set size(value: number) {\n this.routines.setSizeStyle(this.element, value);\n }\n}\n\nexport class Paddings {\n settings: Settings;\n forward: Padding;\n backward: Padding;\n\n constructor(routines: Routines, settings: Settings) {\n this.settings = settings;\n this.forward = new Padding(Direction.forward, routines);\n this.backward = new Padding(Direction.backward, routines);\n }\n\n byDirection(direction: Direction, opposite?: boolean): Padding {\n return direction === Direction.backward\n ? opposite\n ? this.forward\n : this.backward\n : opposite\n ? this.backward\n : this.forward;\n }\n\n reset(viewportSize: number, startIndex: number, offset: number): void {\n const positive = this.getPositiveSize(startIndex, viewportSize, offset);\n const negative = this.getNegativeSize(startIndex);\n if (this.settings.inverse) {\n this.forward.reset(negative);\n this.backward.reset(positive);\n const diff = viewportSize - this.backward.size - offset;\n if (diff > 0) {\n this.backward.size += diff;\n this.forward.size -= diff;\n }\n } else {\n this.forward.reset(positive);\n this.backward.reset(negative);\n const diff = viewportSize - this.forward.size - offset;\n if (diff > 0) {\n this.backward.size -= diff;\n this.forward.size += diff;\n }\n }\n }\n\n getPositiveSize(startIndex: number, viewportSize: number, offset: number): number {\n const { settings } = this;\n let positiveSize = viewportSize;\n if (isFinite(settings.maxIndex)) {\n positiveSize = (settings.maxIndex - startIndex + 1) * settings.itemSize;\n }\n if (offset) {\n positiveSize = Math.max(positiveSize - offset, 0);\n }\n return positiveSize;\n }\n\n getNegativeSize(startIndex: number): number {\n const { settings } = this;\n let negativeSize = 0;\n if (isFinite(settings.minIndex)) {\n negativeSize = (startIndex - settings.minIndex) * settings.itemSize;\n }\n return negativeSize;\n }\n}\n"]}
@@ -1,70 +1,70 @@
1
- import { __read, __values } from "tslib";
2
- var Reactive = /** @class */ (function () {
3
- function Reactive(value, options) {
4
- this.id = 0;
5
- if (value !== void 0) {
6
- this.value = value;
7
- this.initialValue = value;
8
- }
9
- this.options = options || {};
10
- this.subscriptions = new Map();
11
- }
12
- Reactive.prototype.set = function (value) {
13
- var e_1, _a;
14
- if (this.value === value && !this.options.emitEqual) {
15
- return;
16
- }
17
- this.value = value;
18
- try {
19
- for (var _b = __values(this.subscriptions), _c = _b.next(); !_c.done; _c = _b.next()) {
20
- var _d = __read(_c.value, 2), sub = _d[1];
21
- sub.emit(value);
22
- if (this.value !== value) {
23
- break;
24
- }
25
- }
26
- }
27
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
28
- finally {
29
- try {
30
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
31
- }
32
- finally { if (e_1) throw e_1.error; }
33
- }
34
- };
35
- Reactive.prototype.get = function () {
36
- return this.value;
37
- };
38
- Reactive.prototype.on = function (func) {
39
- var _this = this;
40
- var id = this.id++;
41
- var subscription = {
42
- emit: func,
43
- off: function () {
44
- subscription.emit = function () { return null; };
45
- _this.subscriptions.delete(id);
46
- }
47
- };
48
- this.subscriptions.set(id, subscription);
49
- if (this.options.emitOnSubscribe) {
50
- subscription.emit(this.value);
51
- }
52
- return function () { return subscription.off(); };
53
- };
54
- Reactive.prototype.once = function (func) {
55
- var off = this.on(function (v) {
56
- off();
57
- func(v);
58
- });
59
- return off;
60
- };
61
- Reactive.prototype.reset = function () {
62
- this.set(this.initialValue);
63
- };
64
- Reactive.prototype.dispose = function () {
65
- this.subscriptions.forEach(function (sub) { return sub.off(); });
66
- };
67
- return Reactive;
68
- }());
69
- export { Reactive };
1
+ import { __read, __values } from "tslib";
2
+ var Reactive = /** @class */ (function () {
3
+ function Reactive(value, options) {
4
+ this.id = 0;
5
+ if (value !== void 0) {
6
+ this.value = value;
7
+ this.initialValue = value;
8
+ }
9
+ this.options = options || {};
10
+ this.subscriptions = new Map();
11
+ }
12
+ Reactive.prototype.set = function (value) {
13
+ var e_1, _a;
14
+ if (this.value === value && !this.options.emitEqual) {
15
+ return;
16
+ }
17
+ this.value = value;
18
+ try {
19
+ for (var _b = __values(this.subscriptions), _c = _b.next(); !_c.done; _c = _b.next()) {
20
+ var _d = __read(_c.value, 2), sub = _d[1];
21
+ sub.emit(value);
22
+ if (this.value !== value) {
23
+ break;
24
+ }
25
+ }
26
+ }
27
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
28
+ finally {
29
+ try {
30
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
31
+ }
32
+ finally { if (e_1) throw e_1.error; }
33
+ }
34
+ };
35
+ Reactive.prototype.get = function () {
36
+ return this.value;
37
+ };
38
+ Reactive.prototype.on = function (func) {
39
+ var _this = this;
40
+ var id = this.id++;
41
+ var subscription = {
42
+ emit: func,
43
+ off: function () {
44
+ subscription.emit = function () { return null; };
45
+ _this.subscriptions.delete(id);
46
+ }
47
+ };
48
+ this.subscriptions.set(id, subscription);
49
+ if (this.options.emitOnSubscribe) {
50
+ subscription.emit(this.value);
51
+ }
52
+ return function () { return subscription.off(); };
53
+ };
54
+ Reactive.prototype.once = function (func) {
55
+ var off = this.on(function (v) {
56
+ off();
57
+ func(v);
58
+ });
59
+ return off;
60
+ };
61
+ Reactive.prototype.reset = function () {
62
+ this.set(this.initialValue);
63
+ };
64
+ Reactive.prototype.dispose = function () {
65
+ this.subscriptions.forEach(function (sub) { return sub.off(); });
66
+ };
67
+ return Reactive;
68
+ }());
69
+ export { Reactive };
70
70
  //# sourceMappingURL=reactive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactive.js","sourceRoot":"","sources":["../../../src/classes/reactive.ts"],"names":[],"mappings":";AAaA;IAQE,kBAAY,KAAS,EAAE,OAAiB;QACtC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACZ,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;YACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,sBAAG,GAAH,UAAI,KAAQ;;QACV,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YACnD,OAAO;SACR;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;;YACnB,KAAsB,IAAA,KAAA,SAAA,IAAI,CAAC,aAAa,CAAA,gBAAA,4BAAE;gBAA/B,IAAA,KAAA,mBAAO,EAAJ,GAAG,QAAA;gBACf,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;oBACxB,MAAM;iBACP;aACF;;;;;;;;;IACH,CAAC;IAED,sBAAG,GAAH;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,qBAAE,GAAF,UAAG,IAAW;QAAd,iBAcC;QAbC,IAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrB,IAAM,YAAY,GAAoB;YACpC,IAAI,EAAE,IAAI;YACV,GAAG,EAAE;gBACH,YAAY,CAAC,IAAI,GAAG,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;gBAC/B,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;SACF,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAChC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;QACD,OAAO,cAAM,OAAA,YAAY,CAAC,GAAG,EAAE,EAAlB,CAAkB,CAAC;IAClC,CAAC;IAED,uBAAI,GAAJ,UAAK,IAAW;QACd,IAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,UAAA,CAAC;YACnB,GAAG,EAAE,CAAC;YACN,IAAI,CAAC,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,wBAAK,GAAL;QACE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IAED,0BAAO,GAAP;QACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,GAAG,EAAE,EAAT,CAAS,CAAC,CAAC;IAC/C,CAAC;IACH,eAAC;AAAD,CAAC,AAlED,IAkEC","sourcesContent":["type On<T> = (value: T) => void;\r\ntype Off = () => void;\r\n\r\ninterface Subscription<T> {\r\n emit: On<T>;\r\n off: Off;\r\n}\r\n\r\ninterface Options {\r\n emitOnSubscribe?: boolean; // if set, emit right on subscribe (like rxjs BehaviorSubject)\r\n emitEqual?: boolean; // if set, emit when new value is equal to the old one\r\n}\r\n\r\nexport class Reactive<T> {\r\n\r\n private initialValue: T;\r\n private value: T;\r\n private id: number;\r\n private options: Options;\r\n private subscriptions: Map<number, Subscription<T>>;\r\n\r\n constructor(value?: T, options?: Options) {\r\n this.id = 0;\r\n if (value !== void 0) {\r\n this.value = value;\r\n this.initialValue = value;\r\n }\r\n this.options = options || {};\r\n this.subscriptions = new Map();\r\n }\r\n\r\n set(value: T): void {\r\n if (this.value === value && !this.options.emitEqual) {\r\n return;\r\n }\r\n this.value = value;\r\n for (const [, sub] of this.subscriptions) {\r\n sub.emit(value);\r\n if (this.value !== value) {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n get(): T {\r\n return this.value;\r\n }\r\n\r\n on(func: On<T>): Off {\r\n const id = this.id++;\r\n const subscription: Subscription<T> = {\r\n emit: func,\r\n off: () => {\r\n subscription.emit = () => null;\r\n this.subscriptions.delete(id);\r\n }\r\n };\r\n this.subscriptions.set(id, subscription);\r\n if (this.options.emitOnSubscribe) {\r\n subscription.emit(this.value);\r\n }\r\n return () => subscription.off();\r\n }\r\n\r\n once(func: On<T>): Off {\r\n const off = this.on(v => {\r\n off();\r\n func(v);\r\n });\r\n return off;\r\n }\r\n\r\n reset(): void {\r\n this.set(this.initialValue);\r\n }\r\n\r\n dispose(): void {\r\n this.subscriptions.forEach(sub => sub.off());\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"reactive.js","sourceRoot":"","sources":["../../../src/classes/reactive.ts"],"names":[],"mappings":";AAaA;IAOE,kBAAY,KAAS,EAAE,OAAiB;QACtC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACZ,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,sBAAG,GAAH,UAAI,KAAQ;;QACV,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;;YACnB,KAAsB,IAAA,KAAA,SAAA,IAAI,CAAC,aAAa,CAAA,gBAAA,4BAAE,CAAC;gBAAhC,IAAA,KAAA,mBAAO,EAAJ,GAAG,QAAA;gBACf,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;oBACzB,MAAM;gBACR,CAAC;YACH,CAAC;;;;;;;;;IACH,CAAC;IAED,sBAAG,GAAH;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,qBAAE,GAAF,UAAG,IAAW;QAAd,iBAcC;QAbC,IAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrB,IAAM,YAAY,GAAoB;YACpC,IAAI,EAAE,IAAI;YACV,GAAG,EAAE;gBACH,YAAY,CAAC,IAAI,GAAG,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;gBAC/B,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;SACF,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,cAAM,OAAA,YAAY,CAAC,GAAG,EAAE,EAAlB,CAAkB,CAAC;IAClC,CAAC;IAED,uBAAI,GAAJ,UAAK,IAAW;QACd,IAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,UAAA,CAAC;YACnB,GAAG,EAAE,CAAC;YACN,IAAI,CAAC,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,wBAAK,GAAL;QACE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IAED,0BAAO,GAAP;QACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,GAAG,EAAE,EAAT,CAAS,CAAC,CAAC;IAC/C,CAAC;IACH,eAAC;AAAD,CAAC,AAjED,IAiEC","sourcesContent":["type On<T> = (value: T) => void;\ntype Off = () => void;\n\ninterface Subscription<T> {\n emit: On<T>;\n off: Off;\n}\n\ninterface Options {\n emitOnSubscribe?: boolean; // if set, emit right on subscribe (like rxjs BehaviorSubject)\n emitEqual?: boolean; // if set, emit when new value is equal to the old one\n}\n\nexport class Reactive<T> {\n private initialValue: T;\n private value: T;\n private id: number;\n private options: Options;\n private subscriptions: Map<number, Subscription<T>>;\n\n constructor(value?: T, options?: Options) {\n this.id = 0;\n if (value !== void 0) {\n this.value = value;\n this.initialValue = value;\n }\n this.options = options || {};\n this.subscriptions = new Map();\n }\n\n set(value: T): void {\n if (this.value === value && !this.options.emitEqual) {\n return;\n }\n this.value = value;\n for (const [, sub] of this.subscriptions) {\n sub.emit(value);\n if (this.value !== value) {\n break;\n }\n }\n }\n\n get(): T {\n return this.value;\n }\n\n on(func: On<T>): Off {\n const id = this.id++;\n const subscription: Subscription<T> = {\n emit: func,\n off: () => {\n subscription.emit = () => null;\n this.subscriptions.delete(id);\n }\n };\n this.subscriptions.set(id, subscription);\n if (this.options.emitOnSubscribe) {\n subscription.emit(this.value);\n }\n return () => subscription.off();\n }\n\n once(func: On<T>): Off {\n const off = this.on(v => {\n off();\n func(v);\n });\n return off;\n }\n\n reset(): void {\n this.set(this.initialValue);\n }\n\n dispose(): void {\n this.subscriptions.forEach(sub => sub.off());\n }\n}\n"]}
@@ -1,48 +1,48 @@
1
- import { __read } from "tslib";
2
- import { SETTINGS, DEV_SETTINGS, validate, validateOne, VALIDATORS } from '../inputs/index';
3
- var Settings = /** @class */ (function () {
4
- function Settings(settings, devSettings, instanceIndex) {
5
- this.parseInput(settings, SETTINGS);
6
- this.parseInput(devSettings, DEV_SETTINGS);
7
- this.instanceIndex = instanceIndex;
8
- this.initializeDelay = this.getInitializeDelay();
9
- this.viewport = this.getViewport();
10
- // todo: min/max indexes must be ignored if infinite mode is enabled ??
11
- }
12
- Settings.prototype.parseInput = function (input, props) {
13
- var _this = this;
14
- var result = validate(input, props);
15
- if (!result.isValid) {
16
- throw new Error('Invalid settings');
17
- }
18
- Object.entries(result.params).forEach(function (_a) {
19
- var _b;
20
- var _c = __read(_a, 2), key = _c[0], par = _c[1];
21
- return Object.assign(_this, (_b = {}, _b[key] = par.value, _b));
22
- });
23
- };
24
- Settings.prototype.getInitializeDelay = function () {
25
- var result = 0;
26
- if (this.windowViewport && this.initWindowDelay && !('scrollRestoration' in history)) {
27
- result = this.initWindowDelay;
28
- }
29
- if (this.initDelay > 0) {
30
- result = Math.max(result, this.initDelay);
31
- }
32
- return result;
33
- };
34
- Settings.prototype.getViewport = function () {
35
- if (typeof this.viewportElement !== 'function') {
36
- return this.viewportElement;
37
- }
38
- var value = this.viewportElement();
39
- var result = validateOne({ value: value }, 'value', { validators: [VALIDATORS.ELEMENT] });
40
- if (!result.isValid) {
41
- return null; // fallback to default (null) if Function didn't return HTML element synchronously
42
- }
43
- return result.value;
44
- };
45
- return Settings;
46
- }());
47
- export { Settings };
1
+ import { __read } from "tslib";
2
+ import { SETTINGS, DEV_SETTINGS, validate, validateOne, VALIDATORS } from '../inputs/index';
3
+ var Settings = /** @class */ (function () {
4
+ function Settings(settings, devSettings, instanceIndex) {
5
+ this.parseInput(settings, SETTINGS);
6
+ this.parseInput(devSettings, DEV_SETTINGS);
7
+ this.instanceIndex = instanceIndex;
8
+ this.initializeDelay = this.getInitializeDelay();
9
+ this.viewport = this.getViewport();
10
+ // todo: min/max indexes must be ignored if infinite mode is enabled ??
11
+ }
12
+ Settings.prototype.parseInput = function (input, props) {
13
+ var _this = this;
14
+ var result = validate(input, props);
15
+ if (!result.isValid) {
16
+ throw new Error('Invalid settings');
17
+ }
18
+ Object.entries(result.params).forEach(function (_a) {
19
+ var _b;
20
+ var _c = __read(_a, 2), key = _c[0], par = _c[1];
21
+ return Object.assign(_this, (_b = {}, _b[key] = par.value, _b));
22
+ });
23
+ };
24
+ Settings.prototype.getInitializeDelay = function () {
25
+ var result = 0;
26
+ if (this.windowViewport && this.initWindowDelay && !('scrollRestoration' in history)) {
27
+ result = this.initWindowDelay;
28
+ }
29
+ if (this.initDelay > 0) {
30
+ result = Math.max(result, this.initDelay);
31
+ }
32
+ return result;
33
+ };
34
+ Settings.prototype.getViewport = function () {
35
+ if (typeof this.viewportElement !== 'function') {
36
+ return this.viewportElement;
37
+ }
38
+ var value = this.viewportElement();
39
+ var result = validateOne({ value: value }, 'value', { validators: [VALIDATORS.ELEMENT] });
40
+ if (!result.isValid) {
41
+ return null; // fallback to default (null) if Function didn't return HTML element synchronously
42
+ }
43
+ return result.value;
44
+ };
45
+ return Settings;
46
+ }());
47
+ export { Settings };
48
48
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/classes/settings.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAA2B,MAAM,iBAAiB,CAAC;AAGrH;IAiIE,kBACE,QAAqC,EAAE,WAAqC,EAAE,aAAqB;QAEnG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,uEAAuE;IACzE,CAAC;IAED,6BAAU,GAAV,UAAW,KAAiD,EAAE,KAAgC;QAA9F,iBAQC;QAPC,IAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QACD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,EAAU;;gBAAV,KAAA,aAAU,EAAT,GAAG,QAAA,EAAE,GAAG,QAAA;YAC9C,OAAA,MAAM,CAAC,MAAM,CAAC,KAAI,YAAI,GAAC,GAAG,IAAG,GAAG,CAAC,KAAK,MAAG;QAAzC,CAAyC,CAC1C,CAAC;IACJ,CAAC;IAED,qCAAkB,GAAlB;QACE,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,mBAAmB,IAAI,OAAO,CAAC,EAAE;YACpF,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;SAC/B;QACD,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE;YACtB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,8BAAW,GAAX;QACE,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,UAAU,EAAE;YAC9C,OAAO,IAAI,CAAC,eAAe,CAAC;SAC7B;QACD,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,IAAM,MAAM,GAAG,WAAW,CAAC,EAAE,KAAK,OAAA,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACnB,OAAO,IAAI,CAAC,CAAC,kFAAkF;SAChG;QACD,OAAO,MAAM,CAAC,KAAoB,CAAC;IACrC,CAAC;IACH,eAAC;AAAD,CAAC,AA5KD,IA4KC","sourcesContent":["import { SETTINGS, DEV_SETTINGS, validate, validateOne, VALIDATORS, SizeStrategy, Direction } from '../inputs/index';\r\nimport { Settings as ISettings, DevSettings as IDevSettings, ICommonProps, ItemsProcessor } from '../interfaces/index';\r\n\r\nexport class Settings<Data = unknown> implements ISettings, IDevSettings {\r\n\r\n // user settings\r\n adapter: boolean;\r\n startIndex: number;\r\n minIndex: number;\r\n maxIndex: number;\r\n itemSize: number;\r\n bufferSize: number;\r\n padding: number;\r\n infinite: boolean;\r\n horizontal: boolean;\r\n windowViewport: boolean;\r\n viewportElement: HTMLElement | (() => void) | null;\r\n inverse: boolean; // if true, bwd padding element will have a priority when filling the viewport (if lack of items)\r\n onBeforeClip: ItemsProcessor | null; // if set, it will be run before clipping items from Buffer after they are hidden\r\n sizeStrategy: SizeStrategy; // \"average\" | \"frequent\", determines behavior of unknown items\r\n\r\n /**\r\n * Development setting.\r\n * If true, logging is enabled.\r\n * Default value: false.\r\n * @type {boolean}\r\n */\r\n debug: boolean; // if true, \r\n\r\n /**\r\n * Development setting.\r\n * If false, in-memory logging is enabled, Adapter.showLog() method should be called to print the log.\r\n * Default value: true.\r\n * @type {boolean}\r\n */\r\n immediateLog: boolean;\r\n\r\n /**\r\n * Development setting.\r\n * If true, time differences will be logged.\r\n * Default value: false.\r\n * @type {boolean}\r\n */\r\n logTime: boolean;\r\n\r\n /**\r\n * Development setting.\r\n * If true, process fire/run info will be logged.\r\n * Default value: false.\r\n * @type {boolean}\r\n */\r\n logProcessRun: boolean;\r\n\r\n /**\r\n * Development setting.\r\n * If set, scroll event handling is throttled (ms).\r\n * Default value: 40. Minimal value: 0.\r\n * @type {number} ms\r\n */\r\n throttle: number;\r\n\r\n /**\r\n * Development setting.\r\n * If set, the Workflow initialization will be postponed (ms).\r\n * Default value: 1. Minimal value: 0.\r\n * @type {number} ms\r\n */\r\n initDelay: number;\r\n\r\n /**\r\n * Development setting.\r\n * If set and the entire window is scrollable, the Workflow initialization will be postponed (ms).\r\n * Default value: 40. Minimal value: 0.\r\n * @type {number} ms\r\n */\r\n initWindowDelay: number;\r\n\r\n /**\r\n * Development setting.\r\n * If true, item's data will be cached along with item's size and index.\r\n * Default value: false.\r\n * @type {boolean}\r\n */\r\n cacheData: boolean;\r\n\r\n /**\r\n * Development setting.\r\n * If true, cache will not be flushed on reload.\r\n * Default value: false.\r\n * @type {boolean}\r\n */\r\n cacheOnReload: boolean;\r\n\r\n /**\r\n * Development setting.\r\n * If true, the viewport will receive \"overflowAnchor: none\" css property.\r\n * Default value: false.\r\n * @type {boolean}\r\n */\r\n dismissOverflowAnchor: boolean;\r\n\r\n /**\r\n * Development setting.\r\n * Determines the strategy of fixing the difference between estimated and real (rendered) sizes\r\n * on scroll position adjustments. If set to 'backward', the difference is always resolved in favour of the\r\n * backward direction: top/left content is fixed and appears in accordance with pre-render expectations.\r\n * If set to 'forward', both directions could be used, and there is a case when bottom/right content is fixed:\r\n * new items are to the left of the previously rendered\r\n * and at least one previously rendered item remains.\r\n * Default value: 'backward'. Allowed values: 'backward', 'forward'.\r\n * @type {string}\r\n */\r\n directionPriority: Direction;\r\n\r\n /**\r\n * Internal setting. Stores the index of the Scroller instance.\r\n * @type {number}\r\n */\r\n instanceIndex: number;\r\n\r\n /**\r\n * Internal setting. Stores the Workflow initialization delay based on initDelay and initWindowDelay settings.\r\n * @type {number}\r\n */\r\n initializeDelay: number;\r\n\r\n /**\r\n * Internal setting. Stores the viewport based on viewportElement setting (which can be element or function).\r\n * @type {HTMLElement|null}\r\n */\r\n viewport: HTMLElement | null;\r\n\r\n constructor(\r\n settings: ISettings<Data> | undefined, devSettings: IDevSettings | undefined, instanceIndex: number\r\n ) {\r\n this.parseInput(settings, SETTINGS);\r\n this.parseInput(devSettings, DEV_SETTINGS);\r\n this.instanceIndex = instanceIndex;\r\n this.initializeDelay = this.getInitializeDelay();\r\n this.viewport = this.getViewport();\r\n // todo: min/max indexes must be ignored if infinite mode is enabled ??\r\n }\r\n\r\n parseInput(input: ISettings<Data> | IDevSettings | undefined, props: ICommonProps<PropertyKey>): void {\r\n const result = validate(input, props);\r\n if (!result.isValid) {\r\n throw new Error('Invalid settings');\r\n }\r\n Object.entries(result.params).forEach(([key, par]) =>\r\n Object.assign(this, { [key]: par.value })\r\n );\r\n }\r\n\r\n getInitializeDelay(): number {\r\n let result = 0;\r\n if (this.windowViewport && this.initWindowDelay && !('scrollRestoration' in history)) {\r\n result = this.initWindowDelay;\r\n }\r\n if (this.initDelay > 0) {\r\n result = Math.max(result, this.initDelay);\r\n }\r\n return result;\r\n }\r\n\r\n getViewport(): HTMLElement | null {\r\n if (typeof this.viewportElement !== 'function') {\r\n return this.viewportElement;\r\n }\r\n const value = this.viewportElement();\r\n const result = validateOne({ value }, 'value', { validators: [VALIDATORS.ELEMENT] });\r\n if (!result.isValid) {\r\n return null; // fallback to default (null) if Function didn't return HTML element synchronously\r\n }\r\n return result.value as HTMLElement;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/classes/settings.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,UAAU,EAGX,MAAM,iBAAiB,CAAC;AAQzB;IAwIE,kBACE,QAAqC,EACrC,WAAqC,EACrC,aAAqB;QAErB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,uEAAuE;IACzE,CAAC;IAED,6BAAU,GAAV,UACE,KAAiD,EACjD,KAAgC;QAFlC,iBAWC;QAPC,IAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,EAAU;;gBAAV,KAAA,aAAU,EAAT,GAAG,QAAA,EAAE,GAAG,QAAA;YAC9C,OAAA,MAAM,CAAC,MAAM,CAAC,KAAI,YAAI,GAAC,GAAG,IAAG,GAAG,CAAC,KAAK,MAAG;QAAzC,CAAyC,CAC1C,CAAC;IACJ,CAAC;IAED,qCAAkB,GAAlB;QACE,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,mBAAmB,IAAI,OAAO,CAAC,EAAE,CAAC;YACrF,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,8BAAW,GAAX;QACE,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;QACD,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,IAAM,MAAM,GAAG,WAAW,CAAC,EAAE,KAAK,OAAA,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,CAAC,kFAAkF;QACjG,CAAC;QACD,OAAO,MAAM,CAAC,KAAoB,CAAC;IACrC,CAAC;IACH,eAAC;AAAD,CAAC,AAxLD,IAwLC","sourcesContent":["import {\n SETTINGS,\n DEV_SETTINGS,\n validate,\n validateOne,\n VALIDATORS,\n SizeStrategy,\n Direction\n} from '../inputs/index';\nimport {\n Settings as ISettings,\n DevSettings as IDevSettings,\n ICommonProps,\n ItemsProcessor\n} from '../interfaces/index';\n\nexport class Settings<Data = unknown> implements ISettings, IDevSettings {\n // user settings\n adapter: boolean;\n startIndex: number;\n minIndex: number;\n maxIndex: number;\n itemSize: number;\n bufferSize: number;\n padding: number;\n infinite: boolean;\n horizontal: boolean;\n windowViewport: boolean;\n viewportElement: HTMLElement | (() => void) | null;\n inverse: boolean; // if true, bwd padding element will have a priority when filling the viewport (if lack of items)\n onBeforeClip: ItemsProcessor | null; // if set, it will be run before clipping items from Buffer after they are hidden\n sizeStrategy: SizeStrategy; // \"average\" | \"frequent\", determines behavior of unknown items\n\n /**\n * Development setting.\n * If true, logging is enabled.\n * Default value: false.\n * @type {boolean}\n */\n debug: boolean; // if true,\n\n /**\n * Development setting.\n * If false, in-memory logging is enabled, Adapter.showLog() method should be called to print the log.\n * Default value: true.\n * @type {boolean}\n */\n immediateLog: boolean;\n\n /**\n * Development setting.\n * If true, time differences will be logged.\n * Default value: false.\n * @type {boolean}\n */\n logTime: boolean;\n\n /**\n * Development setting.\n * If true, process fire/run info will be logged.\n * Default value: false.\n * @type {boolean}\n */\n logProcessRun: boolean;\n\n /**\n * Development setting.\n * If true, console color formatting will be used in logs.\n * Default value: true.\n * @type {boolean}\n */\n logColor: boolean;\n\n /**\n * Development setting.\n * If set, scroll event handling is throttled (ms).\n * Default value: 40. Minimal value: 0.\n * @type {number} ms\n */\n throttle: number;\n\n /**\n * Development setting.\n * If set, the Workflow initialization will be postponed (ms).\n * Default value: 1. Minimal value: 0.\n * @type {number} ms\n */\n initDelay: number;\n\n /**\n * Development setting.\n * If set and the entire window is scrollable, the Workflow initialization will be postponed (ms).\n * Default value: 40. Minimal value: 0.\n * @type {number} ms\n */\n initWindowDelay: number;\n\n /**\n * Development setting.\n * If true, item's data will be cached along with item's size and index.\n * Default value: false.\n * @type {boolean}\n */\n cacheData: boolean;\n\n /**\n * Development setting.\n * If true, cache will not be flushed on reload.\n * Default value: false.\n * @type {boolean}\n */\n cacheOnReload: boolean;\n\n /**\n * Development setting.\n * If true, the viewport will receive \"overflowAnchor: none\" css property.\n * Default value: false.\n * @type {boolean}\n */\n dismissOverflowAnchor: boolean;\n\n /**\n * Development setting.\n * Determines the strategy of fixing the difference between estimated and real (rendered) sizes\n * on scroll position adjustments. If set to 'backward', the difference is always resolved in favour of the\n * backward direction: top/left content is fixed and appears in accordance with pre-render expectations.\n * If set to 'forward', both directions could be used, and there is a case when bottom/right content is fixed:\n * new items are to the left of the previously rendered\n * and at least one previously rendered item remains.\n * Default value: 'backward'. Allowed values: 'backward', 'forward'.\n * @type {string}\n */\n directionPriority: Direction;\n\n /**\n * Internal setting. Stores the index of the Scroller instance.\n * @type {number}\n */\n instanceIndex: number;\n\n /**\n * Internal setting. Stores the Workflow initialization delay based on initDelay and initWindowDelay settings.\n * @type {number}\n */\n initializeDelay: number;\n\n /**\n * Internal setting. Stores the viewport based on viewportElement setting (which can be element or function).\n * @type {HTMLElement|null}\n */\n viewport: HTMLElement | null;\n\n constructor(\n settings: ISettings<Data> | undefined,\n devSettings: IDevSettings | undefined,\n instanceIndex: number\n ) {\n this.parseInput(settings, SETTINGS);\n this.parseInput(devSettings, DEV_SETTINGS);\n this.instanceIndex = instanceIndex;\n this.initializeDelay = this.getInitializeDelay();\n this.viewport = this.getViewport();\n // todo: min/max indexes must be ignored if infinite mode is enabled ??\n }\n\n parseInput(\n input: ISettings<Data> | IDevSettings | undefined,\n props: ICommonProps<PropertyKey>\n ): void {\n const result = validate(input, props);\n if (!result.isValid) {\n throw new Error('Invalid settings');\n }\n Object.entries(result.params).forEach(([key, par]) =>\n Object.assign(this, { [key]: par.value })\n );\n }\n\n getInitializeDelay(): number {\n let result = 0;\n if (this.windowViewport && this.initWindowDelay && !('scrollRestoration' in history)) {\n result = this.initWindowDelay;\n }\n if (this.initDelay > 0) {\n result = Math.max(result, this.initDelay);\n }\n return result;\n }\n\n getViewport(): HTMLElement | null {\n if (typeof this.viewportElement !== 'function') {\n return this.viewportElement;\n }\n const value = this.viewportElement();\n const result = validateOne({ value }, 'value', { validators: [VALIDATORS.ELEMENT] });\n if (!result.isValid) {\n return null; // fallback to default (null) if Function didn't return HTML element synchronously\n }\n return result.value as HTMLElement;\n }\n}\n"]}
@@ -1,23 +1,23 @@
1
- var ClipModel = /** @class */ (function () {
2
- function ClipModel() {
3
- this.callCount = 0;
4
- this.reset();
5
- }
6
- Object.defineProperty(ClipModel.prototype, "force", {
7
- get: function () {
8
- return this.forceForward || this.forceBackward;
9
- },
10
- enumerable: false,
11
- configurable: true
12
- });
13
- ClipModel.prototype.reset = function (force) {
14
- this.doClip = false;
15
- if (!force) {
16
- this.forceForward = false;
17
- this.forceBackward = false;
18
- }
19
- };
20
- return ClipModel;
21
- }());
22
- export { ClipModel };
1
+ var ClipModel = /** @class */ (function () {
2
+ function ClipModel() {
3
+ this.callCount = 0;
4
+ this.reset();
5
+ }
6
+ Object.defineProperty(ClipModel.prototype, "force", {
7
+ get: function () {
8
+ return this.forceForward || this.forceBackward;
9
+ },
10
+ enumerable: false,
11
+ configurable: true
12
+ });
13
+ ClipModel.prototype.reset = function (force) {
14
+ this.doClip = false;
15
+ if (!force) {
16
+ this.forceForward = false;
17
+ this.forceBackward = false;
18
+ }
19
+ };
20
+ return ClipModel;
21
+ }());
22
+ export { ClipModel };
23
23
  //# sourceMappingURL=clip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clip.js","sourceRoot":"","sources":["../../../../src/classes/state/clip.ts"],"names":[],"mappings":"AAAA;IAUE;QACE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAPD,sBAAI,4BAAK;aAAT;YACE,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC;QACjD,CAAC;;;OAAA;IAOD,yBAAK,GAAL,UAAM,KAAe;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;IACH,CAAC;IAEH,gBAAC;AAAD,CAAC,AAvBD,IAuBC","sourcesContent":["export class ClipModel {\r\n doClip: boolean;\r\n callCount: number;\r\n forceForward: boolean;\r\n forceBackward: boolean;\r\n\r\n get force(): boolean {\r\n return this.forceForward || this.forceBackward;\r\n }\r\n\r\n constructor() {\r\n this.callCount = 0;\r\n this.reset();\r\n }\r\n\r\n reset(force?: boolean): void {\r\n this.doClip = false;\r\n if (!force) {\r\n this.forceForward = false;\r\n this.forceBackward = false;\r\n }\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"clip.js","sourceRoot":"","sources":["../../../../src/classes/state/clip.ts"],"names":[],"mappings":"AAAA;IAUE;QACE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAPD,sBAAI,4BAAK;aAAT;YACE,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC;QACjD,CAAC;;;OAAA;IAOD,yBAAK,GAAL,UAAM,KAAe;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IACH,gBAAC;AAAD,CAAC,AAtBD,IAsBC","sourcesContent":["export class ClipModel {\n doClip: boolean;\n callCount: number;\n forceForward: boolean;\n forceBackward: boolean;\n\n get force(): boolean {\n return this.forceForward || this.forceBackward;\n }\n\n constructor() {\n this.callCount = 0;\n this.reset();\n }\n\n reset(force?: boolean): void {\n this.doClip = false;\n if (!force) {\n this.forceForward = false;\n this.forceBackward = false;\n }\n }\n}\n"]}