pro-gallery 4.0.15-beta.21 → 4.0.15-beta.210

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 (338) hide show
  1. package/README.md +6 -4
  2. package/dist/cjs/components/gallery/index.js +22 -25
  3. package/dist/cjs/components/gallery/index.js.map +1 -1
  4. package/dist/cjs/components/gallery/proGallery/galleryContainer.js +102 -66
  5. package/dist/cjs/components/gallery/proGallery/galleryContainer.js.map +1 -1
  6. package/dist/cjs/components/gallery/proGallery/galleryDebugMessage.js +1 -2
  7. package/dist/cjs/components/gallery/proGallery/galleryDebugMessage.js.map +1 -1
  8. package/dist/cjs/components/gallery/proGallery/galleryScrollIndicator.js +19 -24
  9. package/dist/cjs/components/gallery/proGallery/galleryScrollIndicator.js.map +1 -1
  10. package/dist/cjs/components/gallery/proGallery/galleryView.js +25 -23
  11. package/dist/cjs/components/gallery/proGallery/galleryView.js.map +1 -1
  12. package/dist/cjs/components/gallery/proGallery/proGallery.js +2 -3
  13. package/dist/cjs/components/gallery/proGallery/proGallery.js.map +1 -1
  14. package/dist/cjs/components/gallery/proGallery/propTypes.js +1 -1
  15. package/dist/cjs/components/gallery/proGallery/slideshowView.js +362 -402
  16. package/dist/cjs/components/gallery/proGallery/slideshowView.js.map +1 -1
  17. package/dist/cjs/components/gallery/rendererIndex.js +18 -26
  18. package/dist/cjs/components/gallery/rendererIndex.js.map +1 -1
  19. package/dist/cjs/components/gallery/typeValidator/typeErrorsUI.js +42 -8
  20. package/dist/cjs/components/gallery/typeValidator/typeErrorsUI.js.map +1 -1
  21. package/dist/cjs/components/gallery/typeValidator/validateTypes.js +2 -8
  22. package/dist/cjs/components/gallery/typeValidator/validateTypes.js.map +1 -1
  23. package/dist/cjs/components/group/groupView.js +2 -3
  24. package/dist/cjs/components/group/groupView.js.map +1 -1
  25. package/dist/cjs/components/helpers/cssScrollHelper.js +17 -17
  26. package/dist/cjs/components/helpers/cssScrollHelper.js.map +1 -1
  27. package/dist/cjs/components/helpers/navigationArrowUtils.js +153 -0
  28. package/dist/cjs/components/helpers/navigationArrowUtils.js.map +1 -0
  29. package/dist/cjs/components/helpers/scrollHelper.js +17 -28
  30. package/dist/cjs/components/helpers/scrollHelper.js.map +1 -1
  31. package/dist/cjs/components/helpers/videoScrollHelper.js +10 -2
  32. package/dist/cjs/components/helpers/videoScrollHelper.js.map +1 -1
  33. package/dist/cjs/components/hoc/withMagnified.js +185 -0
  34. package/dist/cjs/components/hoc/withMagnified.js.map +1 -0
  35. package/dist/cjs/components/item/imageItem.js +17 -17
  36. package/dist/cjs/components/item/imageItem.js.map +1 -1
  37. package/dist/cjs/components/item/imageRenderer.js +4 -1
  38. package/dist/cjs/components/item/imageRenderer.js.map +1 -1
  39. package/dist/cjs/components/item/imageWithMagnified.js +7 -0
  40. package/dist/cjs/components/item/imageWithMagnified.js.map +1 -0
  41. package/dist/cjs/components/item/itemHelper.js +11 -10
  42. package/dist/cjs/components/item/itemHelper.js.map +1 -1
  43. package/dist/cjs/components/item/itemHover.js +91 -11
  44. package/dist/cjs/components/item/itemHover.js.map +1 -1
  45. package/dist/cjs/components/item/itemView.js +108 -175
  46. package/dist/cjs/components/item/itemView.js.map +1 -1
  47. package/dist/cjs/components/item/itemViewStyleProvider.js +37 -35
  48. package/dist/cjs/components/item/itemViewStyleProvider.js.map +1 -1
  49. package/dist/cjs/components/item/printOnlySource.js +30 -0
  50. package/dist/cjs/components/item/printOnlySource.js.map +1 -0
  51. package/dist/cjs/components/item/pure.js +64 -0
  52. package/dist/cjs/components/item/pure.js.map +1 -0
  53. package/dist/cjs/components/item/textItem.js +7 -8
  54. package/dist/cjs/components/item/textItem.js.map +1 -1
  55. package/dist/cjs/components/item/videos/videoItem.js +11 -14
  56. package/dist/cjs/components/item/videos/videoItem.js.map +1 -1
  57. package/dist/cjs/components/item/videos/videoItemPlaceholder.js +3 -6
  58. package/dist/cjs/components/item/videos/videoItemPlaceholder.js.map +1 -1
  59. package/dist/cjs/components/item/videos/videoItemWrapper.js +18 -13
  60. package/dist/cjs/components/item/videos/videoItemWrapper.js.map +1 -1
  61. package/dist/cjs/components/svgs/arrowsIconsData.js +25 -0
  62. package/dist/cjs/components/svgs/arrowsIconsData.js.map +1 -0
  63. package/dist/cjs/components/svgs/components/arrow2.js +16 -0
  64. package/dist/cjs/components/svgs/components/arrow2.js.map +1 -0
  65. package/dist/cjs/components/svgs/components/arrow3.js +16 -0
  66. package/dist/cjs/components/svgs/components/arrow3.js.map +1 -0
  67. package/dist/cjs/components/svgs/components/defaultArrow.js +14 -0
  68. package/dist/cjs/components/svgs/components/defaultArrow.js.map +1 -0
  69. package/dist/cjs/components/svgs/index.js +3 -1
  70. package/dist/cjs/components/svgs/index.js.map +1 -1
  71. package/dist/cjs/index.js +5 -3
  72. package/dist/cjs/index.js.map +1 -1
  73. package/dist/esm/components/gallery/index.js +22 -25
  74. package/dist/esm/components/gallery/index.js.map +1 -1
  75. package/dist/esm/components/gallery/proGallery/galleryContainer.js +102 -66
  76. package/dist/esm/components/gallery/proGallery/galleryContainer.js.map +1 -1
  77. package/dist/esm/components/gallery/proGallery/galleryDebugMessage.js +1 -2
  78. package/dist/esm/components/gallery/proGallery/galleryDebugMessage.js.map +1 -1
  79. package/dist/esm/components/gallery/proGallery/galleryScrollIndicator.js +19 -24
  80. package/dist/esm/components/gallery/proGallery/galleryScrollIndicator.js.map +1 -1
  81. package/dist/esm/components/gallery/proGallery/galleryView.js +25 -23
  82. package/dist/esm/components/gallery/proGallery/galleryView.js.map +1 -1
  83. package/dist/esm/components/gallery/proGallery/proGallery.js +2 -3
  84. package/dist/esm/components/gallery/proGallery/proGallery.js.map +1 -1
  85. package/dist/esm/components/gallery/proGallery/propTypes.js +1 -1
  86. package/dist/esm/components/gallery/proGallery/slideshowView.js +362 -402
  87. package/dist/esm/components/gallery/proGallery/slideshowView.js.map +1 -1
  88. package/dist/esm/components/gallery/rendererIndex.js +19 -27
  89. package/dist/esm/components/gallery/rendererIndex.js.map +1 -1
  90. package/dist/esm/components/gallery/typeValidator/typeErrorsUI.js +43 -8
  91. package/dist/esm/components/gallery/typeValidator/typeErrorsUI.js.map +1 -1
  92. package/dist/esm/components/gallery/typeValidator/validateTypes.js +2 -8
  93. package/dist/esm/components/gallery/typeValidator/validateTypes.js.map +1 -1
  94. package/dist/esm/components/group/groupView.js +2 -3
  95. package/dist/esm/components/group/groupView.js.map +1 -1
  96. package/dist/esm/components/helpers/cssScrollHelper.js +17 -17
  97. package/dist/esm/components/helpers/cssScrollHelper.js.map +1 -1
  98. package/dist/esm/components/helpers/navigationArrowUtils.js +146 -0
  99. package/dist/esm/components/helpers/navigationArrowUtils.js.map +1 -0
  100. package/dist/esm/components/helpers/scrollHelper.js +17 -28
  101. package/dist/esm/components/helpers/scrollHelper.js.map +1 -1
  102. package/dist/esm/components/helpers/videoScrollHelper.js +11 -3
  103. package/dist/esm/components/helpers/videoScrollHelper.js.map +1 -1
  104. package/dist/esm/components/hoc/withMagnified.js +183 -0
  105. package/dist/esm/components/hoc/withMagnified.js.map +1 -0
  106. package/dist/esm/components/item/imageItem.js +18 -18
  107. package/dist/esm/components/item/imageItem.js.map +1 -1
  108. package/dist/esm/components/item/imageRenderer.js +4 -1
  109. package/dist/esm/components/item/imageRenderer.js.map +1 -1
  110. package/dist/esm/components/item/imageWithMagnified.js +4 -0
  111. package/dist/esm/components/item/imageWithMagnified.js.map +1 -0
  112. package/dist/esm/components/item/itemHelper.js +11 -10
  113. package/dist/esm/components/item/itemHelper.js.map +1 -1
  114. package/dist/esm/components/item/itemHover.js +91 -11
  115. package/dist/esm/components/item/itemHover.js.map +1 -1
  116. package/dist/esm/components/item/itemView.js +109 -176
  117. package/dist/esm/components/item/itemView.js.map +1 -1
  118. package/dist/esm/components/item/itemViewStyleProvider.js +37 -35
  119. package/dist/esm/components/item/itemViewStyleProvider.js.map +1 -1
  120. package/dist/esm/components/item/printOnlySource.js +27 -0
  121. package/dist/esm/components/item/printOnlySource.js.map +1 -0
  122. package/dist/esm/components/item/pure.js +59 -0
  123. package/dist/esm/components/item/pure.js.map +1 -0
  124. package/dist/esm/components/item/textItem.js +7 -8
  125. package/dist/esm/components/item/textItem.js.map +1 -1
  126. package/dist/esm/components/item/videos/videoItem.js +11 -14
  127. package/dist/esm/components/item/videos/videoItem.js.map +1 -1
  128. package/dist/esm/components/item/videos/videoItemPlaceholder.js +4 -7
  129. package/dist/esm/components/item/videos/videoItemPlaceholder.js.map +1 -1
  130. package/dist/esm/components/item/videos/videoItemWrapper.js +18 -13
  131. package/dist/esm/components/item/videos/videoItemWrapper.js.map +1 -1
  132. package/dist/esm/components/svgs/arrowsIconsData.js +22 -0
  133. package/dist/esm/components/svgs/arrowsIconsData.js.map +1 -0
  134. package/dist/esm/components/svgs/components/arrow2.js +13 -0
  135. package/dist/esm/components/svgs/components/arrow2.js.map +1 -0
  136. package/dist/esm/components/svgs/components/arrow3.js +13 -0
  137. package/dist/esm/components/svgs/components/arrow3.js.map +1 -0
  138. package/dist/esm/components/svgs/components/defaultArrow.js +11 -0
  139. package/dist/esm/components/svgs/components/defaultArrow.js.map +1 -0
  140. package/dist/esm/components/svgs/index.js +1 -0
  141. package/dist/esm/components/svgs/index.js.map +1 -1
  142. package/dist/esm/index.js +3 -2
  143. package/dist/esm/index.js.map +1 -1
  144. package/dist/esm-types/components/gallery/index.d.ts +2 -2
  145. package/dist/esm-types/components/gallery/index.d.ts.map +1 -1
  146. package/dist/esm-types/components/gallery/proGallery/galleryContainer.d.ts +65 -17
  147. package/dist/esm-types/components/gallery/proGallery/galleryContainer.d.ts.map +1 -1
  148. package/dist/esm-types/components/gallery/proGallery/galleryDebugMessage.d.ts +3 -2
  149. package/dist/esm-types/components/gallery/proGallery/galleryDebugMessage.d.ts.map +1 -1
  150. package/dist/esm-types/components/gallery/proGallery/galleryScrollIndicator.d.ts +2 -2
  151. package/dist/esm-types/components/gallery/proGallery/galleryScrollIndicator.d.ts.map +1 -1
  152. package/dist/esm-types/components/gallery/proGallery/galleryView.d.ts +3 -6
  153. package/dist/esm-types/components/gallery/proGallery/galleryView.d.ts.map +1 -1
  154. package/dist/esm-types/components/gallery/proGallery/proGallery.d.ts +1 -4
  155. package/dist/esm-types/components/gallery/proGallery/proGallery.d.ts.map +1 -1
  156. package/dist/esm-types/components/gallery/proGallery/propTypes.d.ts +1 -1
  157. package/dist/esm-types/components/gallery/proGallery/slideshowView.d.ts +60 -23
  158. package/dist/esm-types/components/gallery/proGallery/slideshowView.d.ts.map +1 -1
  159. package/dist/esm-types/components/gallery/rendererIndex.d.ts +4 -14
  160. package/dist/esm-types/components/gallery/rendererIndex.d.ts.map +1 -1
  161. package/dist/esm-types/components/gallery/typeValidator/typeErrorsUI.d.ts.map +1 -1
  162. package/dist/esm-types/components/gallery/typeValidator/validateTypes.d.ts +2 -2
  163. package/dist/esm-types/components/gallery/typeValidator/validateTypes.d.ts.map +1 -1
  164. package/dist/esm-types/components/group/groupView.d.ts +2 -2
  165. package/dist/esm-types/components/group/groupView.d.ts.map +1 -1
  166. package/dist/esm-types/components/helpers/cssScrollHelper.d.ts +8 -8
  167. package/dist/esm-types/components/helpers/navigationArrowUtils.d.ts +18 -0
  168. package/dist/esm-types/components/helpers/navigationArrowUtils.d.ts.map +1 -0
  169. package/dist/esm-types/components/helpers/scrollHelper.d.ts.map +1 -1
  170. package/dist/esm-types/components/helpers/videoScrollHelper.d.ts +2 -1
  171. package/dist/esm-types/components/helpers/videoScrollHelper.d.ts.map +1 -1
  172. package/dist/esm-types/components/hoc/withMagnified.d.ts +79 -0
  173. package/dist/esm-types/components/hoc/withMagnified.d.ts.map +1 -0
  174. package/dist/esm-types/components/item/imageItem.d.ts +3 -2
  175. package/dist/esm-types/components/item/imageItem.d.ts.map +1 -1
  176. package/dist/esm-types/components/item/imageRenderer.d.ts.map +1 -1
  177. package/dist/esm-types/components/item/imageWithMagnified.d.ts +78 -0
  178. package/dist/esm-types/components/item/imageWithMagnified.d.ts.map +1 -0
  179. package/dist/esm-types/components/item/itemHelper.d.ts +1 -1
  180. package/dist/esm-types/components/item/itemHelper.d.ts.map +1 -1
  181. package/dist/esm-types/components/item/itemHover.d.ts +24 -2
  182. package/dist/esm-types/components/item/itemHover.d.ts.map +1 -1
  183. package/dist/esm-types/components/item/itemView.d.ts +188 -20
  184. package/dist/esm-types/components/item/itemView.d.ts.map +1 -1
  185. package/dist/esm-types/components/item/itemViewStyleProvider.d.ts +20 -4
  186. package/dist/esm-types/components/item/itemViewStyleProvider.d.ts.map +1 -1
  187. package/dist/esm-types/components/item/printOnlySource.d.ts +11 -0
  188. package/dist/esm-types/components/item/printOnlySource.d.ts.map +1 -0
  189. package/dist/esm-types/components/item/pure.d.ts +14 -0
  190. package/dist/esm-types/components/item/pure.d.ts.map +1 -0
  191. package/dist/esm-types/components/item/textItem.d.ts +2 -2
  192. package/dist/esm-types/components/item/textItem.d.ts.map +1 -1
  193. package/dist/esm-types/components/item/videos/videoItem.d.ts +1 -2
  194. package/dist/esm-types/components/item/videos/videoItem.d.ts.map +1 -1
  195. package/dist/esm-types/components/item/videos/videoItemPlaceholder.d.ts +3 -2
  196. package/dist/esm-types/components/item/videos/videoItemPlaceholder.d.ts.map +1 -1
  197. package/dist/esm-types/components/item/videos/videoItemWrapper.d.ts +2 -2
  198. package/dist/esm-types/components/item/videos/videoItemWrapper.d.ts.map +1 -1
  199. package/dist/esm-types/components/svgs/arrowsIconsData.d.ts +26 -0
  200. package/dist/esm-types/components/svgs/arrowsIconsData.d.ts.map +1 -0
  201. package/dist/esm-types/components/svgs/components/arrow2.d.ts +5 -0
  202. package/dist/esm-types/components/svgs/components/arrow2.d.ts.map +1 -0
  203. package/dist/esm-types/components/svgs/components/arrow3.d.ts +5 -0
  204. package/dist/esm-types/components/svgs/components/arrow3.d.ts.map +1 -0
  205. package/dist/esm-types/components/svgs/components/defaultArrow.d.ts +5 -0
  206. package/dist/esm-types/components/svgs/components/defaultArrow.d.ts.map +1 -0
  207. package/dist/esm-types/components/svgs/index.d.ts +1 -0
  208. package/dist/esm-types/context/GalleryContext.d.ts.map +1 -1
  209. package/dist/esm-types/index.d.ts +11 -5
  210. package/dist/esm-types/index.d.ts.map +1 -1
  211. package/dist/statics/main.css +77 -13
  212. package/dist/statics/main.css.map +1 -1
  213. package/dist/tsconfig-esm.tsbuildinfo +1854 -1262
  214. package/dist/tsconfig.tsbuildinfo +1854 -1262
  215. package/dist/types/components/gallery/index.d.ts +2 -2
  216. package/dist/types/components/gallery/index.d.ts.map +1 -1
  217. package/dist/types/components/gallery/proGallery/galleryContainer.d.ts +65 -17
  218. package/dist/types/components/gallery/proGallery/galleryContainer.d.ts.map +1 -1
  219. package/dist/types/components/gallery/proGallery/galleryDebugMessage.d.ts +3 -2
  220. package/dist/types/components/gallery/proGallery/galleryDebugMessage.d.ts.map +1 -1
  221. package/dist/types/components/gallery/proGallery/galleryScrollIndicator.d.ts +2 -2
  222. package/dist/types/components/gallery/proGallery/galleryScrollIndicator.d.ts.map +1 -1
  223. package/dist/types/components/gallery/proGallery/galleryView.d.ts +3 -6
  224. package/dist/types/components/gallery/proGallery/galleryView.d.ts.map +1 -1
  225. package/dist/types/components/gallery/proGallery/proGallery.d.ts +1 -4
  226. package/dist/types/components/gallery/proGallery/proGallery.d.ts.map +1 -1
  227. package/dist/types/components/gallery/proGallery/propTypes.d.ts +1 -1
  228. package/dist/types/components/gallery/proGallery/slideshowView.d.ts +60 -23
  229. package/dist/types/components/gallery/proGallery/slideshowView.d.ts.map +1 -1
  230. package/dist/types/components/gallery/rendererIndex.d.ts +4 -14
  231. package/dist/types/components/gallery/rendererIndex.d.ts.map +1 -1
  232. package/dist/types/components/gallery/typeValidator/typeErrorsUI.d.ts.map +1 -1
  233. package/dist/types/components/gallery/typeValidator/validateTypes.d.ts +2 -2
  234. package/dist/types/components/gallery/typeValidator/validateTypes.d.ts.map +1 -1
  235. package/dist/types/components/group/groupView.d.ts +2 -2
  236. package/dist/types/components/group/groupView.d.ts.map +1 -1
  237. package/dist/types/components/helpers/cssScrollHelper.d.ts +8 -8
  238. package/dist/types/components/helpers/navigationArrowUtils.d.ts +18 -0
  239. package/dist/types/components/helpers/navigationArrowUtils.d.ts.map +1 -0
  240. package/dist/types/components/helpers/scrollHelper.d.ts.map +1 -1
  241. package/dist/types/components/helpers/videoScrollHelper.d.ts +2 -1
  242. package/dist/types/components/helpers/videoScrollHelper.d.ts.map +1 -1
  243. package/dist/types/components/hoc/withMagnified.d.ts +79 -0
  244. package/dist/types/components/hoc/withMagnified.d.ts.map +1 -0
  245. package/dist/types/components/item/imageItem.d.ts +3 -2
  246. package/dist/types/components/item/imageItem.d.ts.map +1 -1
  247. package/dist/types/components/item/imageRenderer.d.ts.map +1 -1
  248. package/dist/types/components/item/imageWithMagnified.d.ts +78 -0
  249. package/dist/types/components/item/imageWithMagnified.d.ts.map +1 -0
  250. package/dist/types/components/item/itemHelper.d.ts +1 -1
  251. package/dist/types/components/item/itemHelper.d.ts.map +1 -1
  252. package/dist/types/components/item/itemHover.d.ts +24 -2
  253. package/dist/types/components/item/itemHover.d.ts.map +1 -1
  254. package/dist/types/components/item/itemView.d.ts +188 -20
  255. package/dist/types/components/item/itemView.d.ts.map +1 -1
  256. package/dist/types/components/item/itemViewStyleProvider.d.ts +20 -4
  257. package/dist/types/components/item/itemViewStyleProvider.d.ts.map +1 -1
  258. package/dist/types/components/item/printOnlySource.d.ts +11 -0
  259. package/dist/types/components/item/printOnlySource.d.ts.map +1 -0
  260. package/dist/types/components/item/pure.d.ts +14 -0
  261. package/dist/types/components/item/pure.d.ts.map +1 -0
  262. package/dist/types/components/item/textItem.d.ts +2 -2
  263. package/dist/types/components/item/textItem.d.ts.map +1 -1
  264. package/dist/types/components/item/videos/videoItem.d.ts +1 -2
  265. package/dist/types/components/item/videos/videoItem.d.ts.map +1 -1
  266. package/dist/types/components/item/videos/videoItemPlaceholder.d.ts +3 -2
  267. package/dist/types/components/item/videos/videoItemPlaceholder.d.ts.map +1 -1
  268. package/dist/types/components/item/videos/videoItemWrapper.d.ts +2 -2
  269. package/dist/types/components/item/videos/videoItemWrapper.d.ts.map +1 -1
  270. package/dist/types/components/svgs/arrowsIconsData.d.ts +26 -0
  271. package/dist/types/components/svgs/arrowsIconsData.d.ts.map +1 -0
  272. package/dist/types/components/svgs/components/arrow2.d.ts +5 -0
  273. package/dist/types/components/svgs/components/arrow2.d.ts.map +1 -0
  274. package/dist/types/components/svgs/components/arrow3.d.ts +5 -0
  275. package/dist/types/components/svgs/components/arrow3.d.ts.map +1 -0
  276. package/dist/types/components/svgs/components/defaultArrow.d.ts +5 -0
  277. package/dist/types/components/svgs/components/defaultArrow.d.ts.map +1 -0
  278. package/dist/types/components/svgs/index.d.ts +1 -0
  279. package/dist/types/context/GalleryContext.d.ts.map +1 -1
  280. package/dist/types/index.d.ts +11 -5
  281. package/dist/types/index.d.ts.map +1 -1
  282. package/package.json +15 -15
  283. package/dist/cjs/common/interfaces/Container.js +0 -3
  284. package/dist/cjs/common/interfaces/Container.js.map +0 -1
  285. package/dist/cjs/common/interfaces/EventsListener.js +0 -3
  286. package/dist/cjs/common/interfaces/EventsListener.js.map +0 -1
  287. package/dist/cjs/common/interfaces/Item.js +0 -3
  288. package/dist/cjs/common/interfaces/Item.js.map +0 -1
  289. package/dist/cjs/components/gallery/galleryTypes.js +0 -3
  290. package/dist/cjs/components/gallery/galleryTypes.js.map +0 -1
  291. package/dist/cjs/components/gallery/typeValidator/schema.js +0 -47
  292. package/dist/cjs/components/gallery/typeValidator/schema.js.map +0 -1
  293. package/dist/cjs/components/galleryComponent.js +0 -23
  294. package/dist/cjs/components/galleryComponent.js.map +0 -1
  295. package/dist/cjs/components/helpers/isNew.js +0 -207
  296. package/dist/cjs/components/helpers/isNew.js.map +0 -1
  297. package/dist/esm/common/interfaces/Container.js +0 -2
  298. package/dist/esm/common/interfaces/Container.js.map +0 -1
  299. package/dist/esm/common/interfaces/EventsListener.js +0 -2
  300. package/dist/esm/common/interfaces/EventsListener.js.map +0 -1
  301. package/dist/esm/common/interfaces/Item.js +0 -2
  302. package/dist/esm/common/interfaces/Item.js.map +0 -1
  303. package/dist/esm/components/gallery/galleryTypes.js +0 -2
  304. package/dist/esm/components/gallery/galleryTypes.js.map +0 -1
  305. package/dist/esm/components/gallery/typeValidator/schema.js +0 -45
  306. package/dist/esm/components/gallery/typeValidator/schema.js.map +0 -1
  307. package/dist/esm/components/galleryComponent.js +0 -20
  308. package/dist/esm/components/galleryComponent.js.map +0 -1
  309. package/dist/esm/components/helpers/isNew.js +0 -205
  310. package/dist/esm/components/helpers/isNew.js.map +0 -1
  311. package/dist/esm-types/common/interfaces/Container.d.ts +0 -6
  312. package/dist/esm-types/common/interfaces/Container.d.ts.map +0 -1
  313. package/dist/esm-types/common/interfaces/EventsListener.d.ts +0 -8
  314. package/dist/esm-types/common/interfaces/EventsListener.d.ts.map +0 -1
  315. package/dist/esm-types/common/interfaces/Item.d.ts +0 -10
  316. package/dist/esm-types/common/interfaces/Item.d.ts.map +0 -1
  317. package/dist/esm-types/components/gallery/galleryTypes.d.ts +0 -23
  318. package/dist/esm-types/components/gallery/galleryTypes.d.ts.map +0 -1
  319. package/dist/esm-types/components/gallery/typeValidator/schema.d.ts +0 -46
  320. package/dist/esm-types/components/gallery/typeValidator/schema.d.ts.map +0 -1
  321. package/dist/esm-types/components/galleryComponent.d.ts +0 -6
  322. package/dist/esm-types/components/galleryComponent.d.ts.map +0 -1
  323. package/dist/esm-types/components/helpers/isNew.d.ts +0 -17
  324. package/dist/esm-types/components/helpers/isNew.d.ts.map +0 -1
  325. package/dist/types/common/interfaces/Container.d.ts +0 -6
  326. package/dist/types/common/interfaces/Container.d.ts.map +0 -1
  327. package/dist/types/common/interfaces/EventsListener.d.ts +0 -8
  328. package/dist/types/common/interfaces/EventsListener.d.ts.map +0 -1
  329. package/dist/types/common/interfaces/Item.d.ts +0 -10
  330. package/dist/types/common/interfaces/Item.d.ts.map +0 -1
  331. package/dist/types/components/gallery/galleryTypes.d.ts +0 -23
  332. package/dist/types/components/gallery/galleryTypes.d.ts.map +0 -1
  333. package/dist/types/components/gallery/typeValidator/schema.d.ts +0 -46
  334. package/dist/types/components/gallery/typeValidator/schema.d.ts.map +0 -1
  335. package/dist/types/components/galleryComponent.d.ts +0 -6
  336. package/dist/types/components/galleryComponent.d.ts.map +0 -1
  337. package/dist/types/components/helpers/isNew.d.ts +0 -17
  338. package/dist/types/components/helpers/isNew.d.ts.map +0 -1
@@ -9,8 +9,8 @@ var galleryDebugMessage_js_1 = tslib_1.__importDefault(require("./galleryDebugMe
9
9
  var galleryHelpers_js_1 = require("./galleryHelpers.js");
10
10
  var play_1 = tslib_1.__importDefault(require("../../svgs/components/play"));
11
11
  var pause_1 = tslib_1.__importDefault(require("../../svgs/components/pause"));
12
- var galleryComponent_1 = require("../../galleryComponent");
13
12
  var textItem_js_1 = tslib_1.__importDefault(require("../../item/textItem.js"));
13
+ var navigationArrowUtils_1 = require("../../helpers/navigationArrowUtils");
14
14
  var SKIP_SLIDES_MULTIPLIER = 1.5;
15
15
  function getDirection(code) {
16
16
  var reverse = [33, 37, 38];
@@ -28,12 +28,26 @@ var SlideshowView = /** @class */ (function (_super) {
28
28
  _this.autoScrollToNextItem = function () {
29
29
  if (!pro_gallery_lib_1.isEditMode() &&
30
30
  (galleryHelpers_js_1.isGalleryInViewport(_this.props.container) || pro_gallery_lib_1.isPreviewMode())) {
31
- var direction = _this.props.styleParams.isRTL ? -1 : 1;
32
- _this._next({ direction: direction, isAutoTrigger: true, scrollDuration: 800 });
31
+ var options = _this.props.options;
32
+ var direction = options.isRTL ? -1 : 1;
33
+ if (options.autoSlideshowType ===
34
+ pro_gallery_lib_1.GALLERY_CONSTS.autoSlideshowTypes.CONTINUOUS) {
35
+ _this._next({
36
+ direction: direction,
37
+ isAutoTrigger: true,
38
+ isContinuousScrolling: true,
39
+ });
40
+ }
41
+ else if (options.autoSlideshowType ===
42
+ pro_gallery_lib_1.GALLERY_CONSTS.autoSlideshowTypes.INTERVAL) {
43
+ _this._next({
44
+ direction: direction,
45
+ isAutoTrigger: true,
46
+ scrollDuration: 800,
47
+ });
48
+ }
33
49
  }
34
50
  };
35
- _this.navigationOutHandler = _this.navigationOutHandler.bind(_this);
36
- _this.navigationInHandler = _this.navigationInHandler.bind(_this);
37
51
  _this.scrollToThumbnail = _this.scrollToThumbnail.bind(_this);
38
52
  _this.clearAutoSlideshowInterval = _this.clearAutoSlideshowInterval.bind(_this);
39
53
  _this.onFocus = _this.onFocus.bind(_this);
@@ -42,8 +56,8 @@ var SlideshowView = /** @class */ (function (_super) {
42
56
  _this.onAutoSlideShowButtonClick.bind(_this);
43
57
  _this.startAutoSlideshowIfNeeded =
44
58
  _this.startAutoSlideshowIfNeeded.bind(_this);
45
- _this.blockAutoSlideshowIfNeeded =
46
- _this.blockAutoSlideshowIfNeeded.bind(_this);
59
+ _this.updateAutoSlideShowState =
60
+ _this.updateAutoSlideShowState.bind(_this);
47
61
  _this.canStartAutoSlideshow = _this.canStartAutoSlideshow.bind(_this);
48
62
  _this.handleSlideshowKeyPress = _this.handleSlideshowKeyPress.bind(_this);
49
63
  _this.onAutoSlideshowAutoPlayKeyPress =
@@ -64,7 +78,6 @@ var SlideshowView = /** @class */ (function (_super) {
64
78
  };
65
79
  _this.lastCurrentItem = undefined;
66
80
  _this.shouldCreateSlideShowPlayButton = false;
67
- _this.shouldCreateSlideShowNumbers = false;
68
81
  _this.skipFromSlide = Math.round(_this.props.totalItemsCount * SKIP_SLIDES_MULTIPLIER); // Used in infinite loop
69
82
  return _this;
70
83
  }
@@ -72,41 +85,47 @@ var SlideshowView = /** @class */ (function (_super) {
72
85
  return this.state.activeIndex === 0;
73
86
  };
74
87
  SlideshowView.prototype.isScrollStart = function () {
75
- var slideAnimation = this.props.styleParams.slideAnimation;
88
+ var slideAnimation = this.props.options.slideAnimation;
76
89
  if (slideAnimation !== pro_gallery_lib_1.GALLERY_CONSTS.slideAnimations.SCROLL || !this.scrollElement) {
77
90
  return false;
78
91
  }
79
92
  return this.scrollPosition() <= 1;
80
93
  };
81
94
  SlideshowView.prototype.isScrollEnd = function () {
82
- var _a = this.props, totalItemsCount = _a.totalItemsCount, getVisibleItems = _a.getVisibleItems, galleryStructure = _a.galleryStructure, container = _a.container;
83
- var _b = this.props.styleParams, slideshowLoop = _b.slideshowLoop, slideAnimation = _b.slideAnimation, imageMargin = _b.imageMargin;
95
+ var _a = this.props.options, slideshowLoop = _a.slideshowLoop, slideAnimation = _a.slideAnimation;
84
96
  if (slideshowLoop ||
85
97
  slideAnimation === pro_gallery_lib_1.GALLERY_CONSTS.slideAnimations.FADE ||
86
98
  slideAnimation === pro_gallery_lib_1.GALLERY_CONSTS.slideAnimations.DECK) {
87
99
  return false;
88
100
  }
89
- var galleryStructureWidth = galleryStructure.width;
101
+ return (this.isAllItemsLoaded() &&
102
+ this.scrollPositionAtTheAndOfTheGallery() >= Math.floor(this.getScrollElementWidth()));
103
+ };
104
+ SlideshowView.prototype.isAllItemsLoaded = function () {
105
+ var _a = this.props, totalItemsCount = _a.totalItemsCount, getVisibleItems = _a.getVisibleItems, galleryStructure = _a.galleryStructure, container = _a.container;
90
106
  var visibleItemsCount = getVisibleItems(galleryStructure.galleryItems, container).length;
91
- var allItemsLoaded = visibleItemsCount >= totalItemsCount;
92
- var scrollElementWidth = galleryStructureWidth - imageMargin / 2;
93
- return allItemsLoaded && this.scrollPositionAtTheAndOfTheGallery() >= scrollElementWidth;
107
+ return visibleItemsCount >= totalItemsCount;
108
+ };
109
+ SlideshowView.prototype.getScrollElementWidth = function () {
110
+ var galleryStructure = this.props.galleryStructure;
111
+ var imageMargin = this.props.options.imageMargin;
112
+ return galleryStructure.width - imageMargin / 2;
94
113
  };
95
114
  SlideshowView.prototype.isFirstItemFullyVisible = function () {
96
- return !this.props.styleParams.slideshowLoop && this.isScrollStart();
115
+ return !this.props.options.slideshowLoop && this.isScrollStart();
97
116
  };
98
117
  SlideshowView.prototype.isLastItemFullyVisible = function () {
99
- return !this.props.styleParams.slideshowLoop && this.isScrollEnd();
118
+ return !this.props.options.slideshowLoop && this.isScrollEnd();
100
119
  };
101
120
  SlideshowView.prototype.isLastItem = function () {
102
- return (!this.props.styleParams.slideshowLoop &&
121
+ return (!this.props.options.slideshowLoop &&
103
122
  this.state.activeIndex >= this.props.totalItemsCount - 1);
104
123
  };
105
124
  //__________________________________Slide show loop functions_____________________________________________
106
125
  SlideshowView.prototype.createNewItemsForSlideshowLoopThumbnails = function () {
107
126
  var items = this.props.items;
108
127
  var biasedItems = [];
109
- var numOfThumbnails = Math.ceil(this.props.container.galleryWidth / this.props.styleParams.thumbnailSize);
128
+ var numOfThumbnails = Math.ceil(this.props.container.galleryWidth / this.props.options.thumbnailSize);
110
129
  // need to create new item ! not just to copy the last once - the react view refferce one of them
111
130
  Object.keys(items).forEach(function (idx) {
112
131
  var _idx = Number(idx);
@@ -132,33 +151,46 @@ var SlideshowView = /** @class */ (function (_super) {
132
151
  this.numOfThumbnails = numOfThumbnails;
133
152
  };
134
153
  //__________________________________end of slide show loop functions__________________________
154
+ SlideshowView.prototype.shouldBlockNext = function (_a) {
155
+ var scrollingUpTheGallery = _a.scrollingUpTheGallery;
156
+ return ((scrollingUpTheGallery && this.isLastItem()) ||
157
+ (!scrollingUpTheGallery && this.isFirstItem()));
158
+ };
159
+ SlideshowView.prototype.shouldNotAllowScroll = function (_a) {
160
+ var scrollingUpTheGallery = _a.scrollingUpTheGallery;
161
+ return ((scrollingUpTheGallery && this.isLastItemFullyVisible()) ||
162
+ (!scrollingUpTheGallery && this.isFirstItemFullyVisible()));
163
+ };
135
164
  SlideshowView.prototype.next = function (_a) {
136
- var direction = _a.direction, isAutoTrigger = _a.isAutoTrigger, scrollDuration = _a.scrollDuration, _b = _a.isKeyboardNavigation, isKeyboardNavigation = _b === void 0 ? false : _b;
137
- direction *= this.props.styleParams.isRTL ? -1 : 1;
138
- if (this.isLastItem() &&
139
- this.state.activeIndex + direction >= this.props.totalItemsCount) {
165
+ var _b;
166
+ var direction = _a.direction, isAutoTrigger = _a.isAutoTrigger, scrollDuration = _a.scrollDuration, _c = _a.isKeyboardNavigation, isKeyboardNavigation = _c === void 0 ? false : _c, _d = _a.isContinuousScrolling, isContinuousScrolling = _d === void 0 ? false : _d;
167
+ var scrollingUpTheGallery = this.props.options.isRTL
168
+ ? direction <= -1
169
+ : direction >= 1;
170
+ if (this.shouldBlockNext({ scrollingUpTheGallery: scrollingUpTheGallery })) {
140
171
  this.clearAutoSlideshowInterval();
141
172
  return;
142
173
  }
174
+ direction *= this.props.options.isRTL ? -1 : 1;
143
175
  var activeElement = document.activeElement;
144
176
  var galleryItemIsFocused = activeElement.className &&
145
177
  activeElement.className.includes('gallery-item-container');
146
178
  var avoidIndividualNavigation = !isKeyboardNavigation ||
147
- !(this.props.styleParams.isAccessible && galleryItemIsFocused);
179
+ !(((_b = this.props.settings) === null || _b === void 0 ? void 0 : _b.isAccessible) && galleryItemIsFocused);
148
180
  var ignoreScrollPosition = false;
149
- if (this.props.styleParams.slideAnimation !==
181
+ if (this.props.options.slideAnimation !==
150
182
  pro_gallery_lib_1.GALLERY_CONSTS.slideAnimations.SCROLL) {
151
183
  scrollDuration = 0;
152
184
  ignoreScrollPosition = true;
153
185
  }
154
- if (avoidIndividualNavigation && this.props.styleParams.groupSize > 1) {
155
- this.nextGroup({ direction: direction, isAutoTrigger: isAutoTrigger, scrollDuration: scrollDuration }); //if its not in accessibility that requieres individual nav and we are in a horizontal(this file) collage(layout 0) - use group navigation
186
+ if (avoidIndividualNavigation && this.props.options.groupSize > 1) {
187
+ this.nextGroup({ direction: direction, scrollDuration: scrollDuration, isContinuousScrolling: isContinuousScrolling, scrollingUpTheGallery: scrollingUpTheGallery }); //if its not in accessibility that requieres individual nav and we are in a horizontal(this file) collage(layout 0) - use group navigation
156
188
  }
157
189
  else {
158
190
  if (avoidIndividualNavigation &&
159
- this.props.styleParams.isGrid &&
160
- this.props.styleParams.numberOfImagesPerCol) {
161
- direction *= this.props.styleParams.numberOfImagesPerCol;
191
+ pro_gallery_lib_1.GALLERY_CONSTS.isLayout('GRID')(this.props.options) &&
192
+ this.props.options.numberOfImagesPerCol) {
193
+ direction *= this.props.options.numberOfImagesPerCol;
162
194
  }
163
195
  this.nextItem({
164
196
  direction: direction,
@@ -166,168 +198,154 @@ var SlideshowView = /** @class */ (function (_super) {
166
198
  scrollDuration: scrollDuration,
167
199
  avoidIndividualNavigation: avoidIndividualNavigation,
168
200
  ignoreScrollPosition: ignoreScrollPosition,
201
+ isContinuousScrolling: isContinuousScrolling,
202
+ scrollingUpTheGallery: scrollingUpTheGallery,
169
203
  });
170
204
  }
171
205
  this.removeArrowsIfNeeded();
172
206
  };
207
+ SlideshowView.prototype.getNextItemOrGroupToScrollTo = function (initiator, direction, ignoreScrollPosition, avoidIndividualNavigation, isAutoTrigger) {
208
+ this.isSliding = true;
209
+ var nextIndex;
210
+ if (initiator === 'nextGroup' ||
211
+ (initiator === 'nextItem' &&
212
+ !ignoreScrollPosition &&
213
+ avoidIndividualNavigation &&
214
+ !(this.props.options.groupSize > 1))) {
215
+ var key = initiator === 'nextGroup' ? 'groups' : 'galleryItems';
216
+ nextIndex =
217
+ this.getCenteredItemOrGroupIdxByScroll(key) + direction;
218
+ }
219
+ else if (initiator === 'nextItem') {
220
+ if (ignoreScrollPosition || !isAutoTrigger) {
221
+ nextIndex = this.state.activeIndex;
222
+ }
223
+ else {
224
+ nextIndex = this.setCurrentItemByScroll();
225
+ }
226
+ nextIndex += direction;
227
+ if (!this.props.options.slideshowLoop) {
228
+ nextIndex = Math.min(this.props.galleryStructure.items.length - 1, nextIndex);
229
+ nextIndex = Math.max(0, nextIndex);
230
+ }
231
+ }
232
+ this.isAutoScrolling = true;
233
+ return nextIndex;
234
+ };
173
235
  SlideshowView.prototype.nextItem = function (_a) {
174
- var direction = _a.direction, isAutoTrigger = _a.isAutoTrigger, scrollDuration = _a.scrollDuration, avoidIndividualNavigation = _a.avoidIndividualNavigation, ignoreScrollPosition = _a.ignoreScrollPosition;
236
+ var direction = _a.direction, isAutoTrigger = _a.isAutoTrigger, scrollDuration = _a.scrollDuration, avoidIndividualNavigation = _a.avoidIndividualNavigation, ignoreScrollPosition = _a.ignoreScrollPosition, isContinuousScrolling = _a.isContinuousScrolling, scrollingUpTheGallery = _a.scrollingUpTheGallery;
175
237
  return tslib_1.__awaiter(this, void 0, void 0, function () {
176
- var activeIndex, nextItem, scrollToItem, scrollingPastLastItem, isScrollingPastEdge, scrollMarginCorrection, _scrollDuration, itemToScroll, _b, skipToSlide, e_1;
177
- var _this = this;
178
- return tslib_1.__generator(this, function (_c) {
179
- switch (_c.label) {
238
+ var nextItem, itemToScroll, skipToSlide, e_1;
239
+ return tslib_1.__generator(this, function (_b) {
240
+ switch (_b.label) {
180
241
  case 0:
181
242
  if (this.isSliding) {
182
243
  return [2 /*return*/];
183
244
  }
184
- this.isSliding = true;
185
- if (ignoreScrollPosition) {
186
- activeIndex = this.state.activeIndex;
187
- }
188
- else {
189
- if (avoidIndividualNavigation &&
190
- !(this.props.styleParams.groupSize > 1)) {
191
- activeIndex = this.getCenteredItemIdxByScroll();
192
- }
193
- else {
194
- activeIndex = isAutoTrigger
195
- ? this.setCurrentItemByScroll()
196
- : this.state.activeIndex;
197
- }
198
- }
199
- nextItem = activeIndex + direction;
200
- if (!this.props.styleParams.slideshowLoop) {
201
- nextItem = Math.min(this.props.galleryStructure.items.length - 1, nextItem);
202
- nextItem = Math.max(0, nextItem);
203
- }
204
- scrollToItem = this.props.actions.scrollToItem;
205
- this.isAutoScrolling = true;
206
- if (isAutoTrigger) {
207
- // ---- Called by the Auto Slideshow ---- //
208
- }
209
- else {
210
- // ---- Called by the user (arrows, keys etc.) ---- //
211
- this.startAutoSlideshowIfNeeded(this.props.styleParams);
212
- scrollingPastLastItem = (direction >= 1 && this.isLastItem()) ||
213
- (direction <= -1 && this.isFirstItem());
214
- if (scrollingPastLastItem) {
215
- this.isSliding = false;
216
- return [2 /*return*/];
217
- }
218
- }
219
- _c.label = 1;
245
+ nextItem = this.getNextItemOrGroupToScrollTo('nextItem', direction, ignoreScrollPosition, avoidIndividualNavigation, isAutoTrigger);
246
+ _b.label = 1;
220
247
  case 1:
221
- _c.trys.push([1, 6, , 7]);
222
- isScrollingPastEdge = !isAutoTrigger &&
223
- ((direction >= 1 && this.isLastItemFullyVisible()) ||
224
- (direction <= -1 && this.isFirstItemFullyVisible()));
225
- scrollMarginCorrection = this.getStyles().margin || 0;
226
- _scrollDuration = scrollDuration || this.props.styleParams.scrollDuration || 400;
248
+ _b.trys.push([1, 5, , 6]);
227
249
  itemToScroll = ignoreScrollPosition ? 0 : nextItem;
228
- _b = !isScrollingPastEdge;
229
- if (!_b) return [3 /*break*/, 3];
230
- return [4 /*yield*/, scrollToItem(itemToScroll, false, true, _scrollDuration, scrollMarginCorrection)];
250
+ return [4 /*yield*/, this.scrollToItemOrGroup(this.props.actions.scrollToItem, itemToScroll, isContinuousScrolling, scrollDuration, scrollingUpTheGallery)];
231
251
  case 2:
232
- _b = (_c.sent());
233
- _c.label = 3;
234
- case 3:
235
- _b;
236
- if (!(this.props.styleParams.groupSize === 1)) return [3 /*break*/, 5];
252
+ _b.sent();
253
+ if (!(this.props.options.groupSize === 1)) return [3 /*break*/, 4];
237
254
  skipToSlide = this.skipFromSlide - this.props.totalItemsCount;
238
- if (!(nextItem >= this.skipFromSlide)) return [3 /*break*/, 5];
255
+ if (!(nextItem >= this.skipFromSlide)) return [3 /*break*/, 4];
239
256
  nextItem = skipToSlide;
240
- return [4 /*yield*/, scrollToItem(nextItem)];
257
+ return [4 /*yield*/, this.props.actions.scrollToItem(nextItem)];
258
+ case 3:
259
+ _b.sent();
260
+ _b.label = 4;
241
261
  case 4:
242
- _c.sent();
243
- _c.label = 5;
244
- case 5:
245
- pro_gallery_lib_1.utils.setStateAndLog(this, 'Next Item', {
246
- activeIndex: nextItem,
247
- }, function () {
248
- _this.onCurrentItemChanged();
249
- _this.isSliding = false;
250
- });
262
+ this.onScrollToItemOrGroup(nextItem, isContinuousScrolling);
251
263
  if (ignoreScrollPosition) {
252
264
  this.props.getMoreItemsIfNeeded(this.props.galleryStructure.galleryItems[nextItem].offset.left);
253
265
  this.props.setGotFirstScrollIfNeeded();
254
266
  }
255
- return [3 /*break*/, 7];
256
- case 6:
257
- e_1 = _c.sent();
258
- console.error('Cannot proceed to the next Item', e_1);
259
- this.clearAutoSlideshowInterval();
260
- return [2 /*return*/];
261
- case 7: return [2 /*return*/];
267
+ return [3 /*break*/, 6];
268
+ case 5:
269
+ e_1 = _b.sent();
270
+ this.onThrowScrollError('Cannot proceed to the next Item', e_1);
271
+ return [3 /*break*/, 6];
272
+ case 6: return [2 /*return*/];
262
273
  }
263
274
  });
264
275
  });
265
276
  };
266
277
  SlideshowView.prototype.nextGroup = function (_a) {
267
- var direction = _a.direction, isAutoTrigger = _a.isAutoTrigger, scrollDuration = _a.scrollDuration;
278
+ var direction = _a.direction, scrollDuration = _a.scrollDuration, _b = _a.isContinuousScrolling, isContinuousScrolling = _b === void 0 ? false : _b, scrollingUpTheGallery = _a.scrollingUpTheGallery;
268
279
  return tslib_1.__awaiter(this, void 0, void 0, function () {
269
- var currentGroupIdx, currentGroup, scrollToGroup, scrollingPastLastItem, isScrollingPastEdge, scrollMarginCorrection, _scrollDuration, _b, e_2;
270
- var _this = this;
280
+ var nextGroup, nextItem, e_2;
271
281
  return tslib_1.__generator(this, function (_c) {
272
282
  switch (_c.label) {
273
283
  case 0:
274
284
  if (this.isSliding) {
275
285
  return [2 /*return*/];
276
286
  }
277
- this.isSliding = true;
278
- currentGroupIdx = this.getCenteredGroupIdxByScroll();
279
- currentGroup = currentGroupIdx + direction;
280
- scrollToGroup = this.props.actions.scrollToGroup;
281
- this.isAutoScrolling = true;
282
- if (isAutoTrigger) {
283
- // ---- Called by the Auto Slideshow ---- //
284
- if (this.isLastItem()) {
285
- // maybe this should be isLastItemFullyVisible now that we have both. product- do we allow autoSlideshow in other layouts ( those that could have more than one item displayed in the galleryWidth)
286
- currentGroup = 0;
287
- scrollDuration = 0;
288
- }
289
- }
290
- else {
291
- scrollingPastLastItem = (direction >= 1 && this.isLastItem()) ||
292
- (direction <= -1 && this.isFirstItem());
293
- if (scrollingPastLastItem) {
294
- this.isSliding = false;
295
- return [2 /*return*/];
296
- }
297
- }
287
+ nextGroup = this.getNextItemOrGroupToScrollTo('nextGroup', direction);
298
288
  _c.label = 1;
299
289
  case 1:
300
- _c.trys.push([1, 4, , 5]);
301
- isScrollingPastEdge = !isAutoTrigger &&
302
- ((direction >= 1 && this.isLastItemFullyVisible()) ||
303
- (direction <= -1 && this.isFirstItemFullyVisible()));
304
- scrollMarginCorrection = this.getStyles().margin || 0;
305
- _scrollDuration = scrollDuration || this.props.styleParams.scrollDuration || 400;
306
- _b = !isScrollingPastEdge;
307
- if (!_b) return [3 /*break*/, 3];
308
- return [4 /*yield*/, scrollToGroup(currentGroup, false, true, _scrollDuration, scrollMarginCorrection)];
290
+ _c.trys.push([1, 3, , 4]);
291
+ return [4 /*yield*/, this.scrollToItemOrGroup(this.props.actions.scrollToGroup, nextGroup, isContinuousScrolling, scrollDuration, scrollingUpTheGallery)];
309
292
  case 2:
310
- _b = (_c.sent());
311
- _c.label = 3;
293
+ _c.sent();
294
+ nextItem = this.getCenteredItemOrGroupIdxByScroll('galleryItems') + direction;
295
+ this.onScrollToItemOrGroup(nextItem, isContinuousScrolling);
296
+ return [3 /*break*/, 4];
312
297
  case 3:
313
- _b;
314
- pro_gallery_lib_1.utils.setStateAndLog(this, 'Next Item', {
315
- activeIndex: this.getCenteredItemIdxByScroll() + direction,
316
- }, function () {
317
- _this.onCurrentItemChanged();
318
- _this.isSliding = false;
319
- });
320
- return [3 /*break*/, 5];
321
- case 4:
322
298
  e_2 = _c.sent();
323
- console.error('Cannot proceed to the next Group', e_2);
324
- this.clearAutoSlideshowInterval();
299
+ this.onThrowScrollError('Cannot proceed to the next Group', e_2);
300
+ return [3 /*break*/, 4];
301
+ case 4: return [2 /*return*/];
302
+ }
303
+ });
304
+ });
305
+ };
306
+ SlideshowView.prototype.scrollToItemOrGroup = function (func, indexToScroll, isContinuousScrolling, scrollDuration, scrollingUpTheGallery) {
307
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
308
+ var shouldAllowScroll, _a, scrollMarginCorrection, _scrollDuration, _b;
309
+ return tslib_1.__generator(this, function (_c) {
310
+ switch (_c.label) {
311
+ case 0:
312
+ shouldAllowScroll = !this.shouldNotAllowScroll({ scrollingUpTheGallery: scrollingUpTheGallery });
313
+ _a = this.getScrollParameters(scrollDuration), scrollMarginCorrection = _a.scrollMarginCorrection, _scrollDuration = _a._scrollDuration;
314
+ _b = shouldAllowScroll;
315
+ if (!_b) return [3 /*break*/, 2];
316
+ return [4 /*yield*/, func(indexToScroll, false, true, _scrollDuration, scrollMarginCorrection, isContinuousScrolling)];
317
+ case 1:
318
+ _b = (_c.sent());
319
+ _c.label = 2;
320
+ case 2:
321
+ _b;
325
322
  return [2 /*return*/];
326
- case 5: return [2 /*return*/];
327
323
  }
328
324
  });
329
325
  });
330
326
  };
327
+ SlideshowView.prototype.onThrowScrollError = function (massage, e) {
328
+ console.error(massage, e);
329
+ this.clearAutoSlideshowInterval();
330
+ };
331
+ SlideshowView.prototype.onScrollToItemOrGroup = function (nextItem, isContinuousScrolling) {
332
+ var _this = this;
333
+ pro_gallery_lib_1.utils.setStateAndLog(this, 'Next Item', {
334
+ activeIndex: nextItem,
335
+ }, function () {
336
+ _this.onCurrentItemChanged();
337
+ _this.isSliding = false;
338
+ if (isContinuousScrolling) {
339
+ _this.startAutoSlideshowIfNeeded(_this.props.options);
340
+ }
341
+ });
342
+ };
343
+ SlideshowView.prototype.getScrollParameters = function (scrollDuration) {
344
+ return {
345
+ scrollMarginCorrection: this.getStyles().margin || 0,
346
+ _scrollDuration: scrollDuration || this.props.options.scrollDuration || 400,
347
+ };
348
+ };
331
349
  SlideshowView.prototype.onCurrentItemChanged = function () {
332
350
  if (this.lastCurrentItem !== this.state.activeIndex) {
333
351
  this.lastCurrentItem = this.state.activeIndex;
@@ -345,16 +363,23 @@ var SlideshowView = /** @class */ (function (_super) {
345
363
  SlideshowView.prototype.clearAutoSlideshowInterval = function () {
346
364
  clearInterval(this.autoSlideshowInterval);
347
365
  };
348
- SlideshowView.prototype.canStartAutoSlideshow = function (styleParams) {
349
- var isAutoSlideshow = styleParams.isAutoSlideshow, autoSlideshowInterval = styleParams.autoSlideshowInterval;
350
- return (isAutoSlideshow &&
351
- autoSlideshowInterval > 0 &&
366
+ SlideshowView.prototype.canStartAutoSlideshow = function (options) {
367
+ return (options.isAutoSlideshow &&
352
368
  !this.state.shouldBlockAutoSlideshow);
353
369
  };
354
- SlideshowView.prototype.startAutoSlideshowIfNeeded = function (styleParams) {
370
+ SlideshowView.prototype.startAutoSlideshowIfNeeded = function (options) {
355
371
  this.clearAutoSlideshowInterval();
356
- if (this.canStartAutoSlideshow(styleParams)) {
357
- this.autoSlideshowInterval = setInterval(this.autoScrollToNextItem.bind(this), styleParams.autoSlideshowInterval * 1000);
372
+ if (this.canStartAutoSlideshow(options)) {
373
+ if (options.autoSlideshowType ===
374
+ pro_gallery_lib_1.GALLERY_CONSTS.autoSlideshowTypes.CONTINUOUS &&
375
+ options.autoSlideshowContinuousSpeed > 0) {
376
+ this.autoScrollToNextItem();
377
+ }
378
+ else if (options.autoSlideshowType ===
379
+ pro_gallery_lib_1.GALLERY_CONSTS.autoSlideshowTypes.INTERVAL &&
380
+ options.autoSlideshowInterval > 0) {
381
+ this.autoSlideshowInterval = setInterval(this.autoScrollToNextItem, options.autoSlideshowInterval * 1000);
382
+ }
358
383
  }
359
384
  };
360
385
  SlideshowView.prototype.scrollToThumbnail = function (itemIdx, scrollDuration) {
@@ -395,9 +420,10 @@ var SlideshowView = /** @class */ (function (_super) {
395
420
  };
396
421
  SlideshowView.prototype.createThumbnails = function (thumbnailPosition) {
397
422
  var _this = this;
423
+ var _a;
398
424
  var items = this.props.items;
399
425
  var activeIndex = this.state.activeIndex;
400
- if (this.props.styleParams.slideshowLoop) {
426
+ if (this.props.options.slideshowLoop) {
401
427
  if (!this.ItemsForSlideshowLoopThumbnails) {
402
428
  this.createNewItemsForSlideshowLoopThumbnails();
403
429
  }
@@ -407,8 +433,8 @@ var SlideshowView = /** @class */ (function (_super) {
407
433
  if (pro_gallery_lib_1.utils.isVerbose()) {
408
434
  console.log('creating thumbnails for idx', activeIndex);
409
435
  }
410
- var width = this.props.styleParams.thumbnailSize;
411
- var height = this.props.styleParams.thumbnailSize;
436
+ var width = this.props.options.thumbnailSize;
437
+ var height = this.props.options.thumbnailSize;
412
438
  var horizontalThumbnails;
413
439
  var numOfThumbnails;
414
440
  var numOfWholeThumbnails;
@@ -417,29 +443,29 @@ var SlideshowView = /** @class */ (function (_super) {
417
443
  case 'bottom':
418
444
  width =
419
445
  this.props.container.galleryWidth +
420
- this.props.styleParams.thumbnailSpacings;
446
+ this.props.options.thumbnailSpacings;
421
447
  height =
422
- this.props.styleParams.thumbnailSize +
423
- this.props.styleParams.thumbnailSpacings;
448
+ this.props.options.thumbnailSize +
449
+ this.props.options.thumbnailSpacings;
424
450
  horizontalThumbnails = true;
425
- numOfThumbnails = Math.ceil(width / this.props.styleParams.thumbnailSize);
426
- numOfWholeThumbnails = Math.floor((width + this.props.styleParams.thumbnailSpacings) /
427
- (this.props.styleParams.thumbnailSize +
428
- this.props.styleParams.thumbnailSpacings * 2));
451
+ numOfThumbnails = Math.ceil(width / this.props.options.thumbnailSize);
452
+ numOfWholeThumbnails = Math.floor((width + this.props.options.thumbnailSpacings) /
453
+ (this.props.options.thumbnailSize +
454
+ this.props.options.thumbnailSpacings * 2));
429
455
  break;
430
456
  case 'left':
431
457
  case 'right':
432
458
  height =
433
459
  this.props.container.galleryHeight +
434
- 2 * this.props.styleParams.thumbnailSpacings;
460
+ 2 * this.props.options.thumbnailSpacings;
435
461
  width =
436
- this.props.styleParams.thumbnailSize +
437
- 2 * this.props.styleParams.thumbnailSpacings;
462
+ this.props.options.thumbnailSize +
463
+ 2 * this.props.options.thumbnailSpacings;
438
464
  horizontalThumbnails = false;
439
- numOfThumbnails = Math.ceil(height / this.props.styleParams.thumbnailSize);
465
+ numOfThumbnails = Math.ceil(height / this.props.options.thumbnailSize);
440
466
  numOfWholeThumbnails = Math.floor(height /
441
- (this.props.styleParams.thumbnailSize +
442
- this.props.styleParams.thumbnailSpacings * 2));
467
+ (this.props.options.thumbnailSize +
468
+ this.props.options.thumbnailSpacings * 2));
443
469
  break;
444
470
  }
445
471
  this.firstItemIdx = activeIndex - Math.floor(numOfThumbnails / 2) - 1;
@@ -463,9 +489,9 @@ var SlideshowView = /** @class */ (function (_super) {
463
489
  numOfThumbnails += 1;
464
490
  this.lastItemIdx += 1;
465
491
  }
466
- var thumbnailsContainerSize = numOfThumbnails * this.props.styleParams.thumbnailSize +
492
+ var thumbnailsContainerSize = numOfThumbnails * this.props.options.thumbnailSize +
467
493
  ((numOfThumbnails - 1) * 2 + 1) *
468
- this.props.styleParams.thumbnailSpacings;
494
+ this.props.options.thumbnailSpacings;
469
495
  var thumbnailsStyle = { width: width, height: height };
470
496
  if (items.length <= numOfWholeThumbnails ||
471
497
  activeIndex < numOfThumbnails / 2 - 1) {
@@ -515,13 +541,13 @@ var SlideshowView = /** @class */ (function (_super) {
515
541
  break;
516
542
  }
517
543
  }
518
- if (this.props.styleParams.isRTL) {
544
+ if (this.props.options.isRTL) {
519
545
  thumbnailsStyle.right = thumbnailsStyle.left;
520
546
  delete thumbnailsStyle.left;
521
547
  }
522
548
  var thumbnailsMargin;
523
- var thumbnailSpacings = this.props.styleParams.thumbnailSpacings;
524
- switch (this.props.styleParams.galleryThumbnailsAlignment) {
549
+ var thumbnailSpacings = this.props.options.thumbnailSpacings;
550
+ switch (this.props.options.galleryThumbnailsAlignment) {
525
551
  case 'bottom':
526
552
  thumbnailsMargin = thumbnailSpacings + "px -" + thumbnailSpacings + "px 0 -" + thumbnailSpacings + "px";
527
553
  break;
@@ -540,27 +566,27 @@ var SlideshowView = /** @class */ (function (_super) {
540
566
  };
541
567
  var highlighledIdxForSlideshowLoop = Math.floor(numOfThumbnails / 2);
542
568
  var thumbnailItems;
543
- if (this.props.styleParams.slideshowLoop) {
569
+ if (this.props.options.slideshowLoop) {
544
570
  thumbnailItems = items.slice(this.firstItemIdx, this.lastItemIdx + 1);
545
571
  }
546
572
  else {
547
573
  thumbnailItems = this.props.galleryStructure.galleryItems.slice(this.firstItemIdx, this.lastItemIdx + 1);
548
574
  }
549
- var thumbnailSize = this.props.styleParams.thumbnailSize;
575
+ var thumbnailSize = this.props.options.thumbnailSize;
550
576
  return (react_1.default.createElement("div", { className: 'pro-gallery inline-styles thumbnails-gallery ' +
551
577
  (horizontalThumbnails ? ' one-row hide-scrollbars ' : '') +
552
- (this.props.styleParams.isRTL ? ' rtl ' : ' ltr ') +
553
- (this.props.styleParams.isAccessible ? ' accessible ' : ''), style: {
578
+ (this.props.options.isRTL ? ' rtl ' : ' ltr ') +
579
+ (((_a = this.props.settings) === null || _a === void 0 ? void 0 : _a.isAccessible) ? ' accessible ' : ''), style: {
554
580
  width: width,
555
581
  height: height,
556
582
  margin: thumbnailsMargin,
557
583
  }, "data-hook": "gallery-thumbnails" },
558
584
  react_1.default.createElement("div", { "data-hook": "gallery-thumbnails-column", className: 'galleryColumn', key: 'thumbnails-column', style: Object.assign(thumbnailsStyle, { width: width, height: height }) }, thumbnailItems.map(function (item, idx) {
559
585
  var _a;
560
- var thumbnailItem = _this.props.styleParams.slideshowLoop
586
+ var thumbnailItem = _this.props.options.slideshowLoop
561
587
  ? getThumbnailItemForSlideshowLoop(item.itemId || item.photoId)
562
588
  : item;
563
- var highlighted = _this.props.styleParams.slideshowLoop
589
+ var highlighted = _this.props.options.slideshowLoop
564
590
  ? idx === highlighledIdxForSlideshowLoop
565
591
  : thumbnailItem.idx === activeIndex;
566
592
  var itemStyle = {
@@ -573,61 +599,39 @@ var SlideshowView = /** @class */ (function (_super) {
573
599
  };
574
600
  var thumbnailOffset = horizontalThumbnails
575
601
  ? (_a = {},
576
- _a[_this.props.styleParams.isRTL ? 'right' : 'left'] = thumbnailSize * idx + 2 * idx * thumbnailSpacings,
602
+ _a[_this.props.options.isRTL ? 'right' : 'left'] = thumbnailSize * idx + 2 * idx * thumbnailSpacings,
577
603
  _a) : { top: thumbnailSize * idx + 2 * idx * thumbnailSpacings };
578
604
  Object.assign(itemStyle, thumbnailOffset);
579
605
  return (react_1.default.createElement("div", { key: 'thumbnail-' +
580
606
  thumbnailItem.id +
581
607
  (Number.isInteger(item.loopIndex) ? '-' + item.loopIndex : ''), className: 'thumbnailItem' +
582
608
  (highlighted
583
- ? ' pro-gallery-thumbnails-highlighted gallery-item-container highlight' +
609
+ ? ' pro-gallery-thumbnails-highlighted highlight' +
584
610
  (pro_gallery_lib_1.utils.isMobile() ? ' pro-gallery-mobile-indicator' : '')
585
- : ''), "data-key": thumbnailItem.id, style: itemStyle, onClick: function () { return _this.scrollToThumbnail(thumbnailItem.idx); } }, item.type === 'text' ? (react_1.default.createElement(textItem_js_1.default, tslib_1.__assign({}, _this.props, thumbnailItem.renderProps(), { styleParams: tslib_1.__assign(tslib_1.__assign({}, _this.props.styleParams), { cubeType: 'fill', cubeImages: true }), actions: {}, imageDimensions: tslib_1.__assign(tslib_1.__assign({}, itemStyle), { marginTop: 0, marginLeft: 0 }), style: tslib_1.__assign(tslib_1.__assign({}, thumbnailItem.renderProps().style), itemStyle) }))) : null));
611
+ : ''), "data-key": thumbnailItem.id, style: itemStyle, onClick: function () { return _this.scrollToThumbnail(thumbnailItem.idx); } }, item.type === 'text' ? (react_1.default.createElement(textItem_js_1.default, tslib_1.__assign({}, _this.props, thumbnailItem.renderProps(), { options: tslib_1.__assign(tslib_1.__assign({}, _this.props.options), { cubeType: 'fill', cubeImages: true }), actions: {}, imageDimensions: tslib_1.__assign(tslib_1.__assign({}, itemStyle), { marginTop: 0, marginLeft: 0 }), style: tslib_1.__assign(tslib_1.__assign({}, thumbnailItem.renderProps().style), itemStyle) }))) : null));
586
612
  }))));
587
613
  };
588
- SlideshowView.prototype.getCenteredItemIdxByScroll = function () {
589
- // console.log('[RTL SCROLL] setCurrentItemByScroll: ', scrollLeft);
590
- var items = this.props.galleryStructure.galleryItems;
591
- var centeredIdx;
592
- // const scrollPos = this.props.styleParams.isRTL ?
593
- // this.props.galleryStructure.width - scrollLeft - this.props.container.galleryWidth / 2 :
614
+ SlideshowView.prototype.getCenteredItemOrGroupIdxByScroll = function (key) {
615
+ var itemsOrGroups = this.props.galleryStructure[key];
616
+ var centeredItemOrGroupIdx;
594
617
  var scrollPositionAtTheMiddleOfTheGallery = this.scrollPositionAtTheMiddleOfTheGallery();
595
618
  if (scrollPositionAtTheMiddleOfTheGallery === 0) {
596
- centeredIdx = 0;
619
+ centeredItemOrGroupIdx = 0;
597
620
  }
598
621
  else {
599
- for (var item = void 0, i = 0; (item = items[i]); i++) {
600
- if (item.offset.left > scrollPositionAtTheMiddleOfTheGallery) {
601
- centeredIdx = i - 1;
622
+ for (var itemOrGroup = void 0, i = 0; (itemOrGroup = itemsOrGroups[i]); i++) {
623
+ var itemOrGroupLeft = key === 'galleryItems' ?
624
+ itemOrGroup.offset.left : itemOrGroup.left;
625
+ if (itemOrGroupLeft > scrollPositionAtTheMiddleOfTheGallery) {
626
+ centeredItemOrGroupIdx = i - 1;
602
627
  break;
603
628
  }
604
629
  }
605
630
  }
606
- if (!(centeredIdx >= 0)) {
607
- centeredIdx = items.length - 1;
631
+ if (!(centeredItemOrGroupIdx >= 0)) {
632
+ centeredItemOrGroupIdx = itemsOrGroups.length - 1;
608
633
  }
609
- return centeredIdx;
610
- };
611
- SlideshowView.prototype.getCenteredGroupIdxByScroll = function () {
612
- // console.log('[RTL SCROLL] setCurrentItemByScroll: ', scrollLeft);
613
- var groups = this.props.galleryStructure.groups;
614
- var centeredGroupIdx;
615
- var scrollPositionAtTheMiddleOfTheGallery = this.scrollPositionAtTheMiddleOfTheGallery();
616
- if (scrollPositionAtTheMiddleOfTheGallery === 0) {
617
- centeredGroupIdx = 0;
618
- }
619
- else {
620
- for (var group = void 0, i = 0; (group = groups[i]); i++) {
621
- if (group.left > scrollPositionAtTheMiddleOfTheGallery) {
622
- centeredGroupIdx = i - 1;
623
- break;
624
- }
625
- }
626
- }
627
- if (!(centeredGroupIdx >= 0)) {
628
- centeredGroupIdx = groups.length - 1;
629
- }
630
- return centeredGroupIdx;
634
+ return centeredItemOrGroupIdx;
631
635
  };
632
636
  SlideshowView.prototype.setCurrentItemByScroll = function () {
633
637
  var _this = this;
@@ -646,8 +650,8 @@ var SlideshowView = /** @class */ (function (_super) {
646
650
  //while the scroll is animating, prevent the reaction to this event
647
651
  return;
648
652
  }
649
- this.startAutoSlideshowIfNeeded(this.props.styleParams);
650
- var activeIndex = this.getCenteredItemIdxByScroll();
653
+ this.startAutoSlideshowIfNeeded(this.props.options);
654
+ var activeIndex = this.getCenteredItemOrGroupIdxByScroll('galleryItems');
651
655
  if (!pro_gallery_lib_1.utils.isUndefined(activeIndex)) {
652
656
  pro_gallery_lib_1.utils.setStateAndLog(this, 'Set Current Item', {
653
657
  activeIndex: activeIndex,
@@ -660,77 +664,48 @@ var SlideshowView = /** @class */ (function (_super) {
660
664
  SlideshowView.prototype.createDebugMsg = function () {
661
665
  return react_1.default.createElement(galleryDebugMessage_js_1.default, tslib_1.__assign({}, this.props.debug));
662
666
  };
663
- SlideshowView.prototype.getArrowsRenderData = function () {
664
- var customNavArrowsRenderer = this.props.customNavArrowsRenderer;
665
- var arrowsSize = this.props.styleParams.arrowsSize;
666
- if (customNavArrowsRenderer) {
667
- return {
668
- arrowRenderer: customNavArrowsRenderer,
669
- navArrowsContainerWidth: arrowsSize,
670
- navArrowsContainerHeight: arrowsSize
671
- };
672
- }
673
- var arrowOrigWidth = 23; //arrow-right svg and arrow-left svg width
674
- var arrowOrigHeight = 39; //arrow-right svg and arrow-left svg height
675
- var scalePercentage = arrowsSize / arrowOrigWidth;
676
- var svgStyle = { transform: "scale(" + scalePercentage + ")" };
677
- var navArrowsContainerWidth = arrowsSize; // === arrowOrigWidth * scalePercentage
678
- var navArrowsContainerHeight = arrowOrigHeight * scalePercentage;
679
- var arrowsColor = this.props.styleParams.arrowsColor;
680
- var svgInternalStyle = pro_gallery_lib_1.utils.isMobile() && (arrowsColor === null || arrowsColor === void 0 ? void 0 : arrowsColor.value) ? { fill: arrowsColor.value } : {};
681
- var arrowRenderer = function (position) {
682
- var _a = position === 'right' ?
683
- {
684
- d: "M857.005,231.479L858.5,230l18.124,18-18.127,18-1.49-1.48L873.638,248Z",
685
- transform: "translate(-855 -230)"
686
- }
687
- :
688
- {
689
- d: "M154.994,259.522L153.477,261l-18.471-18,18.473-18,1.519,1.48L138.044,243Z",
690
- transform: "translate(-133 -225)"
691
- }, d = _a.d, transform = _a.transform;
692
- return (react_1.default.createElement("svg", { width: arrowOrigWidth, height: arrowOrigHeight, viewBox: "0 0 " + arrowOrigWidth + " " + arrowOrigHeight, style: svgStyle },
693
- react_1.default.createElement("path", { className: "slideshow-arrow", style: svgInternalStyle, d: d, transform: transform })));
694
- };
695
- return { arrowRenderer: arrowRenderer, navArrowsContainerWidth: navArrowsContainerWidth, navArrowsContainerHeight: navArrowsContainerHeight };
696
- };
697
667
  SlideshowView.prototype.createNavArrows = function () {
698
668
  var _a;
699
669
  var _this = this;
700
- var _b = this.props.styleParams, isRTL = _b.isRTL, scrollDirection = _b.scrollDirection, isSlideshow = _b.isSlideshow, slideshowInfoSize = _b.slideshowInfoSize, imageMargin = _b.imageMargin, arrowsPadding = _b.arrowsPadding, arrowsPosition = _b.arrowsPosition, arrowsVerticalPosition = _b.arrowsVerticalPosition, titlePlacement = _b.titlePlacement, textBoxHeight = _b.textBoxHeight, showArrows = _b.showArrows;
701
- var _c = this.state, hideLeftArrow = _c.hideLeftArrow, hideRightArrow = _c.hideRightArrow;
702
- var shouldNotRenderNavArrows = this.props.isPrerenderMode ||
703
- !showArrows ||
704
- this.props.galleryStructure.columns.some(function (column) {
705
- var allRenderedGroups = column.groups.filter(function (group) { return group.rendered; }) || [];
706
- var allGroupsWidth = allRenderedGroups.reduce(function (sum, group) { return sum + Math.max(0, group.width); }, 0);
707
- var isAllItemsFitsGalleryWidth = scrollDirection === pro_gallery_lib_1.GALLERY_CONSTS.scrollDirection.HORIZONTAL &&
708
- _this.props.container.galleryWidth >= allGroupsWidth;
709
- return isAllItemsFitsGalleryWidth;
710
- });
711
- //remove navBars if no scroll is needed and is column layout
712
- if (shouldNotRenderNavArrows) {
713
- return null;
714
- }
715
- var _d = this.getArrowsRenderData(), arrowRenderer = _d.arrowRenderer, navArrowsContainerWidth = _d.navArrowsContainerWidth, navArrowsContainerHeight = _d.navArrowsContainerHeight;
670
+ var _b = this.props.options, isRTL = _b.isRTL, scrollDirection = _b.scrollDirection, slideshowInfoSize = _b.slideshowInfoSize, imageMargin = _b.imageMargin, arrowsPadding = _b.arrowsPadding, arrowsPosition = _b.arrowsPosition, arrowsVerticalPosition = _b.arrowsVerticalPosition, layoutParams = _b.layoutParams, titlePlacement = _b.titlePlacement, textBoxHeight = _b.textBoxHeight;
671
+ var _c = layoutParams.navigationArrows.container, type = _c.type, backgroundColor = _c.backgroundColor, borderRadius = _c.borderRadius;
672
+ var isSlideshow = pro_gallery_lib_1.GALLERY_CONSTS.isLayout('SLIDESHOW')(this.props.options);
673
+ var _d = this.state, hideLeftArrow = _d.hideLeftArrow, hideRightArrow = _d.hideRightArrow;
674
+ var _e = navigationArrowUtils_1.getArrowsRenderData({
675
+ customNavArrowsRenderer: this.props.customComponents.customNavArrowsRenderer,
676
+ arrowsColor: this.props.options.arrowsColor,
677
+ arrowsSize: this.props.options.arrowsSize,
678
+ arrowsType: layoutParams.navigationArrows.type,
679
+ containerStyleType: type
680
+ }), arrowRenderer = _e.arrowRenderer, navArrowsContainerWidth = _e.navArrowsContainerWidth, navArrowsContainerHeight = _e.navArrowsContainerHeight;
716
681
  var galleryHeight = this.props.container.galleryHeight;
717
682
  var infoHeight = isSlideshow ? slideshowInfoSize : textBoxHeight;
718
683
  var imageHeight = isSlideshow
719
684
  ? galleryHeight
720
685
  : galleryHeight - infoHeight;
721
- var infoSpace = isSlideshow || pro_gallery_lib_1.GALLERY_CONSTS.hasVerticalPlacement(titlePlacement)
722
- ? (_a = {},
723
- _a[pro_gallery_lib_1.GALLERY_CONSTS.arrowsVerticalPosition.ITEM_CENTER] = 0,
724
- _a[pro_gallery_lib_1.GALLERY_CONSTS.arrowsVerticalPosition.IMAGE_CENTER] = infoHeight,
725
- _a[pro_gallery_lib_1.GALLERY_CONSTS.arrowsVerticalPosition.INFO_CENTER] = -imageHeight,
726
- _a)[arrowsVerticalPosition]
727
- : 0;
728
- var containerStyle = {
729
- width: navArrowsContainerWidth + "px",
730
- height: navArrowsContainerHeight + "px",
731
- padding: 0,
732
- top: "calc(50% - " + navArrowsContainerHeight / 2 + "px + " + imageMargin / 4 + "px - " + infoSpace / 2 + "px)",
733
- };
686
+ // the nav arrows parent container top edge is imageMargin/2 ABOVE the actual view, that calculates the middle point of gallery
687
+ var galleryVerticalCenter = "50% + " + imageMargin / 4 + "px";
688
+ // Determines the direction fix, the direction in which we move the nav arrows 'vertical position fix' pixels
689
+ var directionFix;
690
+ if (pro_gallery_lib_1.GALLERY_CONSTS.hasExternalAbovePlacement(titlePlacement)) {
691
+ directionFix = -1;
692
+ }
693
+ else if (isSlideshow || pro_gallery_lib_1.GALLERY_CONSTS.hasExternalBelowPlacement(titlePlacement)) {
694
+ directionFix = 1;
695
+ }
696
+ else {
697
+ // if we got here, we should be ITEM_CENTER, taken care of in layoutHelper.js
698
+ }
699
+ var verticalPositionFix = (_a = {},
700
+ _a[pro_gallery_lib_1.GALLERY_CONSTS.arrowsVerticalPosition.ITEM_CENTER] = 0,
701
+ _a[pro_gallery_lib_1.GALLERY_CONSTS.arrowsVerticalPosition.IMAGE_CENTER] = infoHeight * directionFix,
702
+ _a[pro_gallery_lib_1.GALLERY_CONSTS.arrowsVerticalPosition.INFO_CENTER] = -imageHeight * directionFix,
703
+ _a)[arrowsVerticalPosition];
704
+ var containerStyle = tslib_1.__assign({ width: navArrowsContainerWidth + "px", height: navArrowsContainerHeight + "px", padding: 0, top: "calc(" + galleryVerticalCenter + " - " + navArrowsContainerHeight / 2 + "px - \n " + verticalPositionFix / 2 + "px)" }, navigationArrowUtils_1.getArrowBoxStyle({
705
+ type: type,
706
+ backgroundColor: backgroundColor,
707
+ borderRadius: borderRadius,
708
+ }));
734
709
  var arrowsPos = scrollDirection === pro_gallery_lib_1.GALLERY_CONSTS.scrollDirection.HORIZONTAL &&
735
710
  arrowsPosition === pro_gallery_lib_1.GALLERY_CONSTS.arrowsPosition.OUTSIDE_GALLERY
736
711
  ? "-" + (20 + navArrowsContainerWidth) + "px"
@@ -743,27 +718,29 @@ var SlideshowView = /** @class */ (function (_super) {
743
718
  var nextContainerStyle = {
744
719
  right: arrowsPos,
745
720
  };
721
+ var useDropShadow = type === pro_gallery_lib_1.GALLERY_CONSTS.arrowsContainerStyleType.SHADOW;
722
+ var arrowsBaseClasses = [
723
+ 'nav-arrows-container',
724
+ useDropShadow ? 'drop-shadow' : ''
725
+ ];
746
726
  return [
747
- hideLeftArrow ? null : (react_1.default.createElement("button", { className: 'nav-arrows-container' +
727
+ hideLeftArrow ? null : (react_1.default.createElement("button", { className: arrowsBaseClasses.join(' ') +
748
728
  (pro_gallery_lib_1.utils.isMobile() ? ' pro-gallery-mobile-indicator' : ''), onClick: function () { return _this._next({ direction: -1 }); }, "aria-label": (isRTL ? 'Next' : 'Previous') + " Item", tabIndex: pro_gallery_lib_1.utils.getTabIndex('slideshowPrev'), key: "nav-arrow-back", "data-hook": "nav-arrow-back", style: tslib_1.__assign(tslib_1.__assign({}, containerStyle), prevContainerStyle) }, arrowRenderer('left'))),
749
- hideRightArrow ? null : (react_1.default.createElement("button", { className: 'nav-arrows-container', onClick: function () { return _this._next({ direction: 1 }); }, "aria-label": (!isRTL ? 'Next' : 'Previous') + " Item", tabIndex: pro_gallery_lib_1.utils.getTabIndex('slideshowNext'), key: "nav-arrow-next", "data-hook": "nav-arrow-next", style: tslib_1.__assign(tslib_1.__assign({}, containerStyle), nextContainerStyle) }, arrowRenderer('right'))),
729
+ hideRightArrow ? null : (react_1.default.createElement("button", { className: arrowsBaseClasses.join(' '), onClick: function () { return _this._next({ direction: 1 }); }, "aria-label": (!isRTL ? 'Next' : 'Previous') + " Item", tabIndex: pro_gallery_lib_1.utils.getTabIndex('slideshowNext'), key: "nav-arrow-next", "data-hook": "nav-arrow-next", style: tslib_1.__assign(tslib_1.__assign({}, containerStyle), nextContainerStyle) }, arrowRenderer('right'))),
750
730
  ];
751
731
  };
752
732
  SlideshowView.prototype.createLayout = function () {
753
733
  var _this = this;
754
- var _a = this.props, itemsLoveData = _a.itemsLoveData, getVisibleItems = _a.getVisibleItems, galleryStructure = _a.galleryStructure, container = _a.container;
734
+ var _a = this.props, getVisibleItems = _a.getVisibleItems, galleryStructure = _a.galleryStructure, container = _a.container;
755
735
  var galleryConfig = {
756
736
  scrollingElement: this.props.scrollingElement,
757
737
  totalItemsCount: this.props.totalItemsCount,
758
738
  scroll: this.props.scroll,
759
- styleParams: this.props.styleParams,
739
+ options: this.props.options,
760
740
  container: this.props.container,
761
- watermark: this.props.watermark,
762
741
  settings: this.props.settings,
763
742
  activeIndex: this.state.activeIndex,
764
- customHoverRenderer: this.props.customHoverRenderer,
765
- customInfoRenderer: this.props.customInfoRenderer,
766
- customSlideshowInfoRenderer: this.props.customSlideshowInfoRenderer,
743
+ customComponents: this.props.customComponents,
767
744
  noFollowForSEO: this.props.noFollowForSEO,
768
745
  galleryId: this.props.id,
769
746
  gotFirstScrollEvent: this.props.gotFirstScrollEvent,
@@ -782,60 +759,63 @@ var SlideshowView = /** @class */ (function (_super) {
782
759
  return (layoutGroupView &&
783
760
  layoutGroupView.map(function (group) {
784
761
  return group.rendered
785
- ? react_1.default.createElement(groupView_js_1.default, tslib_1.__assign(tslib_1.__assign({ allowLoop: _this.props.styleParams.slideshowLoop &&
762
+ ? react_1.default.createElement(groupView_js_1.default, tslib_1.__assign(tslib_1.__assign({ allowLoop: _this.props.options.slideshowLoop &&
786
763
  _this.props.galleryStructure.width >
787
- _this.props.container.width, itemsLoveData: itemsLoveData }, group.renderProps(galleryConfig)), { ariaHidden: group.idx > _this.skipFromSlide }))
764
+ _this.props.container.width }, group.renderProps(galleryConfig)), { ariaHidden: group.idx > _this.skipFromSlide }))
788
765
  : false;
789
766
  }));
790
767
  };
791
768
  return galleryStructure.columns.map(function (column, c) {
792
769
  var columnStyle = {
793
770
  width: _this.props.isPrerenderMode ? '100%' : column.width,
794
- height: container.galleryHeight,
771
+ height: _this.getDimensions().height
795
772
  };
796
- if (_this.props.styleParams.isSlideshow) {
797
- Object.assign(columnStyle, {
798
- paddingBottom: _this.props.styleParams.slideshowInfoSize,
799
- });
800
- }
801
- return (react_1.default.createElement("div", { "data-hook": "gallery-column", id: "gallery-horizontal-scroll", className: "gallery-horizontal-scroll gallery-column hide-scrollbars " + (_this.props.styleParams.isRTL ? ' rtl ' : ' ltr ') + " " + (_this.props.styleParams.scrollSnap ? ' scroll-snap ' : '') + " ", key: 'column' + c, style: columnStyle },
773
+ return (react_1.default.createElement("div", { "data-hook": "gallery-column", id: "gallery-horizontal-scroll", className: "gallery-horizontal-scroll gallery-column hide-scrollbars " + (_this.props.options.isRTL ? ' rtl ' : ' ltr ') + " " + (_this.props.options.scrollSnap ? ' scroll-snap ' : '') + " ", key: 'column' + c, style: columnStyle },
802
774
  react_1.default.createElement("div", { className: "gallery-horizontal-scroll-inner" }, renderGroups(column))));
803
775
  });
804
776
  };
777
+ SlideshowView.prototype.getDimensions = function () {
778
+ var isSlideshow = pro_gallery_lib_1.GALLERY_CONSTS.isLayout('SLIDESHOW')(this.props.options);
779
+ var addition = isSlideshow ? this.props.options.slideshowInfoSize : 0;
780
+ var height = this.props.container.galleryHeight + addition;
781
+ return this.props.isPrerenderMode
782
+ ? {
783
+ width: '100%',
784
+ height: height,
785
+ }
786
+ : {
787
+ height: height,
788
+ width: this.props.container.galleryWidth,
789
+ };
790
+ };
805
791
  SlideshowView.prototype.createGallery = function () {
792
+ var _a;
806
793
  // When arrows are set outside of the gallery, gallery is resized (in dimensionsHelper -> getGalleryWidth) and needs to be positioned accordingly
807
- var galleryStyleForExternalArrows = this.props.styleParams.scrollDirection ===
794
+ var galleryStyleForExternalArrows = this.props.options.scrollDirection ===
808
795
  pro_gallery_lib_1.GALLERY_CONSTS.scrollDirection.HORIZONTAL &&
809
- this.props.styleParams.arrowsPosition ===
796
+ this.props.options.arrowsPosition ===
810
797
  pro_gallery_lib_1.GALLERY_CONSTS.arrowsPosition.OUTSIDE_GALLERY
811
798
  ? {
812
799
  overflow: 'visible',
813
- left: this.props.styleParams.arrowsSize +
800
+ left: this.props.options.arrowsSize +
814
801
  40 +
815
- this.props.styleParams.imageMargin / 2,
802
+ this.props.options.imageMargin / 2,
816
803
  }
817
804
  : {};
818
- var galleryDimensions = this.props.isPrerenderMode
819
- ? {
820
- width: '100%',
821
- height: this.props.container.galleryHeight,
822
- }
823
- : {
824
- height: this.props.container.galleryHeight,
825
- width: this.props.container.galleryWidth,
826
- };
805
+ var galleryDimensions = this.getDimensions();
827
806
  var galleryStyle = tslib_1.__assign(tslib_1.__assign({}, galleryDimensions), galleryStyleForExternalArrows);
828
- if (this.props.styleParams.isSlideshow) {
829
- Object.assign(galleryStyle, {
830
- paddingBottom: this.props.styleParams.slideshowInfoSize,
831
- });
832
- }
833
- return (react_1.default.createElement("div", { id: "pro-gallery-container", className: 'pro-gallery inline-styles one-row hide-scrollbars ' +
834
- (this.props.styleParams.enableScroll ? ' slider ' : '') +
835
- (this.props.styleParams.isAccessible ? ' accessible ' : '') +
836
- (this.props.styleParams.isRTL ? ' rtl ' : ' ltr '), style: galleryStyle },
807
+ return (react_1.default.createElement("div", { id: this.props.galleryContainerId, className: 'pro-gallery inline-styles one-row hide-scrollbars ' +
808
+ (this.props.options.enableScroll ? ' slider ' : '') +
809
+ (((_a = this.props.settings) === null || _a === void 0 ? void 0 : _a.isAccessible) ? ' accessible ' : '') +
810
+ (this.props.options.isRTL ? ' rtl ' : ' ltr '), style: galleryStyle },
837
811
  this.createDebugMsg(),
838
- this.createNavArrows(),
812
+ navigationArrowUtils_1.shouldRenderNavArrows({
813
+ options: this.props.options,
814
+ container: this.props.container,
815
+ isPrerenderMode: this.props.isPrerenderMode,
816
+ galleryStructure: this.props.galleryStructure,
817
+ customNavArrowsRenderer: this.props.customComponents.customNavArrowsRenderer,
818
+ }) && this.createNavArrows(),
839
819
  this.createLayout(),
840
820
  this.createAutoSlideShowPlayButton(),
841
821
  this.createSlideShowNumbers()));
@@ -843,7 +823,7 @@ var SlideshowView = /** @class */ (function (_super) {
843
823
  SlideshowView.prototype.onAutoSlideShowButtonClick = function () {
844
824
  var _this = this;
845
825
  this.setState({ pauseAutoSlideshowClicked: !this.state.pauseAutoSlideshowClicked }, function () {
846
- _this.blockAutoSlideshowIfNeeded(_this.props);
826
+ _this.updateAutoSlideShowState(_this.props);
847
827
  });
848
828
  };
849
829
  SlideshowView.prototype.isFullWidthGallery = function () {
@@ -885,14 +865,14 @@ var SlideshowView = /** @class */ (function (_super) {
885
865
  if (!this.shouldCreateSlideShowPlayButton) {
886
866
  return false;
887
867
  }
888
- var _a = this.props.styleParams, galleryTextAlign = _a.galleryTextAlign, slideshowInfoSize = _a.slideshowInfoSize;
889
- var imageMargin = this.props.styleParams.imageMargin / 2 +
868
+ var _a = this.props.options, galleryTextAlign = _a.galleryTextAlign, slideshowInfoSize = _a.slideshowInfoSize;
869
+ var imageMargin = this.props.options.imageMargin / 2 +
890
870
  (this.isFullWidthGallery() ? 50 : 0);
891
871
  var side = galleryTextAlign === 'right'
892
872
  ? { left: imageMargin / 2 + "px" }
893
873
  : {
894
874
  right: imageMargin / 2 +
895
- (this.shouldCreateSlideShowNumbers
875
+ (this.props.options.allowSlideshowCounter
896
876
  ? this.calcSlideshowCounterWidth()
897
877
  : 0) + "px",
898
878
  };
@@ -901,11 +881,11 @@ var SlideshowView = /** @class */ (function (_super) {
901
881
  }, onKeyDown: this.onAutoSlideshowAutoPlayKeyPress, "data-hook": "auto-slideshow-button", title: 'slideshow auto play', "aria-pressed": this.state.pauseAutoSlideshowClicked, tabIndex: 0, style: tslib_1.__assign({ top: "calc(100% - " + slideshowInfoSize + "px + 3px)" }, side) }, this.state.pauseAutoSlideshowClicked ? (react_1.default.createElement(play_1.default, { width: "10px", height: "100%" })) : (react_1.default.createElement(pause_1.default, { width: "10px", height: "100%" }))));
902
882
  };
903
883
  SlideshowView.prototype.createSlideShowNumbers = function () {
904
- if (!this.shouldCreateSlideShowNumbers) {
884
+ if (!this.props.options.allowSlideshowCounter) {
905
885
  return false;
906
886
  }
907
- var _a = this.props, totalItemsCount = _a.totalItemsCount, _b = _a.styleParams, galleryTextAlign = _b.galleryTextAlign, slideshowInfoSize = _b.slideshowInfoSize;
908
- var imageMargin = this.props.styleParams.imageMargin / 2 +
887
+ var _a = this.props, totalItemsCount = _a.totalItemsCount, _b = _a.options, galleryTextAlign = _b.galleryTextAlign, slideshowInfoSize = _b.slideshowInfoSize;
888
+ var imageMargin = this.props.options.imageMargin / 2 +
909
889
  (this.isFullWidthGallery() ? 50 : 0);
910
890
  var leftMargin = this.shouldCreateSlideShowPlayButton
911
891
  ? imageMargin / 2 + 25
@@ -920,8 +900,8 @@ var SlideshowView = /** @class */ (function (_super) {
920
900
  totalItemsCount)));
921
901
  };
922
902
  SlideshowView.prototype.getThumbnails = function () {
923
- var hasThumbnails = this.props.styleParams.hasThumbnails;
924
- var thumbnailsPosition = this.props.styleParams.galleryThumbnailsAlignment;
903
+ var hasThumbnails = this.props.options.hasThumbnails;
904
+ var thumbnailsPosition = this.props.options.galleryThumbnailsAlignment;
925
905
  var thumbnailsGallery = hasThumbnails
926
906
  ? this.createThumbnails(thumbnailsPosition)
927
907
  : false;
@@ -941,17 +921,18 @@ var SlideshowView = /** @class */ (function (_super) {
941
921
  return thumbnails;
942
922
  };
943
923
  SlideshowView.prototype.getClassNames = function () {
924
+ pro_gallery_lib_1.GALLERY_CONSTS.isLayout('SLIDESHOW')(this.props.options);
944
925
  var classNames = 'pro-gallery-parent-container';
945
- if (this.props.styleParams.isSlideshow) {
926
+ if (pro_gallery_lib_1.GALLERY_CONSTS.isLayout('SLIDESHOW')(this.props.options)) {
946
927
  classNames += ' gallery-slideshow';
947
928
  }
948
- else if (this.props.styleParams.isSlider) {
929
+ else if (pro_gallery_lib_1.GALLERY_CONSTS.isLayout('SLIDER')(this.props.options)) {
949
930
  classNames += ' gallery-slider';
950
931
  }
951
- else if (this.props.styleParams.hasThumbnails) {
932
+ else if (this.props.options.hasThumbnails) {
952
933
  classNames += ' gallery-thumbnails';
953
934
  }
954
- else if (this.props.styleParams.isColumns) {
935
+ else if (pro_gallery_lib_1.GALLERY_CONSTS.isLayout('COLUMN')(this.props.options)) {
955
936
  classNames += ' gallery-columns';
956
937
  }
957
938
  if (this.isFullWidthGallery()) {
@@ -962,8 +943,8 @@ var SlideshowView = /** @class */ (function (_super) {
962
943
  SlideshowView.prototype.getStyles = function () {
963
944
  return {
964
945
  margin: -1 *
965
- (this.props.styleParams.imageMargin / 2 -
966
- this.props.styleParams.galleryMargin),
946
+ (this.props.options.imageMargin / 2 -
947
+ this.props.options.layoutParams.gallerySpacing),
967
948
  };
968
949
  };
969
950
  SlideshowView.prototype.getScrollPosition = function () {
@@ -978,59 +959,58 @@ var SlideshowView = /** @class */ (function (_super) {
978
959
  return this.getScrollPosition() + this.props.container.galleryWidth;
979
960
  };
980
961
  SlideshowView.prototype.scrollPosition = function () {
981
- return (this.props.styleParams.isRTL ? -1 : 1) * this.scrollElement.scrollLeft;
962
+ return (this.props.options.isRTL ? -1 : 1) * this.scrollElement.scrollLeft;
982
963
  };
983
964
  //-----------------------------------------| REACT |--------------------------------------------//
984
- SlideshowView.prototype.blockAutoSlideshowIfNeeded = function (props) {
965
+ SlideshowView.prototype.updateAutoSlideShowState = function (props) {
985
966
  var _this = this;
986
967
  if (props === void 0) { props = this.props; }
987
- var isGalleryInHover = props.isGalleryInHover, styleParams = props.styleParams;
968
+ var isGalleryInHover = props.isGalleryInHover, options = props.options, settings = props.settings;
988
969
  var _a = this.state, pauseAutoSlideshowClicked = _a.pauseAutoSlideshowClicked, shouldBlockAutoSlideshow = _a.shouldBlockAutoSlideshow, isInView = _a.isInView, isInFocus = _a.isInFocus;
989
- var should = false;
990
- if (!isInView || pauseAutoSlideshowClicked) {
991
- should = true;
992
- }
993
- else if (isGalleryInHover &&
994
- styleParams.pauseAutoSlideshowOnHover) {
995
- should = true;
996
- }
997
- else if (isInFocus &&
998
- styleParams.isAccessible) {
999
- should = true;
1000
- }
1001
- if (shouldBlockAutoSlideshow !== should) {
1002
- this.setState({ shouldBlockAutoSlideshow: should }, function () {
1003
- _this.startAutoSlideshowIfNeeded(styleParams);
970
+ var shouldPauseDueToHover = isGalleryInHover && options.pauseAutoSlideshowOnHover;
971
+ var shouldPauseDueToFocus = isInFocus && (settings === null || settings === void 0 ? void 0 : settings.isAccessible);
972
+ var shouldBlock = !isInView ||
973
+ pauseAutoSlideshowClicked ||
974
+ shouldPauseDueToFocus ||
975
+ shouldPauseDueToHover;
976
+ if (shouldBlockAutoSlideshow !== shouldBlock) {
977
+ this.setState({ shouldBlockAutoSlideshow: shouldBlock }, function () {
978
+ _this.startAutoSlideshowIfNeeded(options);
1004
979
  });
1005
980
  }
1006
- else {
1007
- return;
1008
- }
1009
981
  };
1010
982
  SlideshowView.prototype.onFocus = function () {
1011
983
  var _this = this;
1012
984
  this.setState({ isInFocus: true }, function () {
1013
- _this.blockAutoSlideshowIfNeeded(_this.props);
985
+ _this.updateAutoSlideShowState(_this.props);
1014
986
  });
1015
987
  };
1016
988
  SlideshowView.prototype.onBlur = function () {
1017
989
  var _this = this;
1018
990
  this.setState({ isInFocus: false }, function () {
1019
- _this.blockAutoSlideshowIfNeeded(_this.props);
991
+ _this.updateAutoSlideShowState(_this.props);
1020
992
  });
1021
993
  };
1022
994
  SlideshowView.prototype.UNSAFE_componentWillReceiveProps = function (props) {
1023
995
  var _this = this;
996
+ var _a, _b;
1024
997
  if (props.items) {
1025
998
  this.ItemsForSlideshowLoopThumbnails = false;
1026
999
  }
1027
- if (this.props.isInDisplay !== props.isInDisplay) {
1028
- this.setState({ isInView: props.isInDisplay }, function () {
1029
- return _this.blockAutoSlideshowIfNeeded(props);
1000
+ var isInView = props.isInViewport && ((_a = props.isInDisplay) !== null && _a !== void 0 ? _a : true);
1001
+ var oldIsInView = this.props.isInViewport && ((_b = this.props.isInDisplay) !== null && _b !== void 0 ? _b : true);
1002
+ if (isInView !== oldIsInView) {
1003
+ this.setState({ isInView: isInView }, function () {
1004
+ _this.updateAutoSlideShowState(props);
1030
1005
  });
1031
1006
  }
1032
- if (this.props.isGalleryInHover !== props.isGalleryInHover) {
1033
- this.blockAutoSlideshowIfNeeded(props);
1007
+ else if (this.props.isGalleryInHover !== props.isGalleryInHover) {
1008
+ this.updateAutoSlideShowState(props);
1009
+ }
1010
+ else if (this.props.container.scrollBase != props.container.scrollBase) {
1011
+ this.forceUpdate(function () {
1012
+ _this.startAutoSlideshowIfNeeded(props.options);
1013
+ });
1034
1014
  }
1035
1015
  if (this.props.activeIndex !== props.activeIndex) {
1036
1016
  pro_gallery_lib_1.utils.setStateAndLog(this, 'Next Item', {
@@ -1045,23 +1025,18 @@ var SlideshowView = /** @class */ (function (_super) {
1045
1025
  if (pro_gallery_lib_1.isEditMode() || pro_gallery_lib_1.isPreviewMode()) {
1046
1026
  if (
1047
1027
  //check that the change is related to the slideshow settings
1048
- this.props.styleParams.isAutoSlideshow !==
1049
- props.styleParams.isAutoSlideshow ||
1050
- this.props.styleParams.autoSlideshowInterval !==
1051
- props.styleParams.autoSlideshowInterval) {
1052
- this.startAutoSlideshowIfNeeded(props.styleParams);
1028
+ this.props.options.isAutoSlideshow !==
1029
+ props.options.isAutoSlideshow ||
1030
+ this.props.options.autoSlideshowInterval !==
1031
+ props.options.autoSlideshowInterval) {
1032
+ this.startAutoSlideshowIfNeeded(props.options);
1053
1033
  }
1054
1034
  }
1055
- var isAutoSlideShow = props.styleParams.galleryLayout === 5 &&
1056
- props.styleParams.isSlideshow &&
1057
- props.styleParams.isAutoSlideshow;
1058
1035
  this.shouldCreateSlideShowPlayButton =
1059
- isAutoSlideShow && props.styleParams.playButtonForAutoSlideShow;
1060
- this.shouldCreateSlideShowNumbers =
1061
- isAutoSlideShow && props.styleParams.allowSlideshowCounter;
1036
+ props.options.isAutoSlideshow && props.options.playButtonForAutoSlideShow;
1062
1037
  };
1063
1038
  SlideshowView.prototype.removeArrowsIfNeeded = function () {
1064
- var isRTL = this.props.styleParams.isRTL;
1039
+ var isRTL = this.props.options.isRTL;
1065
1040
  var _a = this.state, hideLeftArrow = _a.hideLeftArrow, hideRightArrow = _a.hideRightArrow;
1066
1041
  var isScrollStart = this.isScrollStart();
1067
1042
  var isFirstItem = this.isFirstItem();
@@ -1080,23 +1055,7 @@ var SlideshowView = /** @class */ (function (_super) {
1080
1055
  });
1081
1056
  }
1082
1057
  };
1083
- SlideshowView.prototype.navigationOutHandler = function () {
1084
- //TODO remove after full refactor release
1085
- pro_gallery_lib_1.utils.setStateAndLog(this, 'Next Item', {
1086
- isInView: false,
1087
- });
1088
- this.clearAutoSlideshowInterval();
1089
- };
1090
- SlideshowView.prototype.navigationInHandler = function () {
1091
- //TODO remove after full refactor release
1092
- pro_gallery_lib_1.utils.setStateAndLog(this, 'Next Item', {
1093
- isInView: true,
1094
- });
1095
- this.startAutoSlideshowIfNeeded(this.props.styleParams);
1096
- };
1097
1058
  SlideshowView.prototype.componentDidMount = function () {
1098
- pro_gallery_lib_1.window.addEventListener('gallery_navigation_out', this.navigationOutHandler);
1099
- pro_gallery_lib_1.window.addEventListener('gallery_navigation_in', this.navigationInHandler);
1100
1059
  this.scrollElement = pro_gallery_lib_1.window.document.querySelector("#pro-gallery-" + this.props.id + " #gallery-horizontal-scroll");
1101
1060
  if (this.scrollElement) {
1102
1061
  this.scrollElement.addEventListener('scroll', this._setCurrentItemByScroll);
@@ -1108,11 +1067,9 @@ var SlideshowView = /** @class */ (function (_super) {
1108
1067
  else {
1109
1068
  this.setCurrentItemByScroll();
1110
1069
  }
1111
- this.startAutoSlideshowIfNeeded(this.props.styleParams);
1070
+ this.startAutoSlideshowIfNeeded(this.props.options);
1112
1071
  };
1113
1072
  SlideshowView.prototype.componentWillUnmount = function () {
1114
- pro_gallery_lib_1.window.removeEventListener('gallery_navigation_out', this.navigationOutHandler);
1115
- pro_gallery_lib_1.window.removeEventListener('gallery_navigation_in', this.navigationInHandler);
1116
1073
  if (this.scrollElement) {
1117
1074
  this.scrollElement.removeEventListener('scroll', this._setCurrentItemByScroll);
1118
1075
  }
@@ -1129,13 +1086,16 @@ var SlideshowView = /** @class */ (function (_super) {
1129
1086
  if (pro_gallery_lib_1.utils.isVerbose()) {
1130
1087
  console.timeEnd('Rendering Gallery took ');
1131
1088
  }
1132
- return (react_1.default.createElement("div", tslib_1.__assign({ className: this.getClassNames(), style: this.getStyles(), onKeyDown: this.handleSlideshowKeyPress }, pro_gallery_lib_1.utils.getAriaAttributes(this.props), { onFocus: this.onFocus, onBlur: this.onBlur }),
1089
+ return (react_1.default.createElement("div", tslib_1.__assign({ className: this.getClassNames(), style: this.getStyles(), onKeyDown: this.handleSlideshowKeyPress }, pro_gallery_lib_1.utils.getAriaAttributes({
1090
+ proGalleryRole: this.props.proGalleryRole,
1091
+ proGalleryRegionLabel: this.props.proGalleryRegionLabel
1092
+ }), { onFocus: this.onFocus, onBlur: this.onBlur }),
1133
1093
  thumbnails[0],
1134
1094
  gallery,
1135
1095
  thumbnails[1]));
1136
1096
  };
1137
1097
  return SlideshowView;
1138
- }(galleryComponent_1.GalleryComponent));
1098
+ }(react_1.default.Component));
1139
1099
  exports.default = SlideshowView;
1140
1100
  /* eslint-enable prettier/prettier */
1141
1101
  //# sourceMappingURL=slideshowView.js.map