@jotforminc/dnd-builder 3.0.0-alpha.1 → 3.0.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 (454) hide show
  1. package/CHANGELOG.md +193 -0
  2. package/lib/cjs/components/AlignmentGuides.js +11 -12
  3. package/lib/cjs/components/AlignmentGuides.js.map +1 -1
  4. package/lib/cjs/components/Builder/Builder.js +21 -131
  5. package/lib/cjs/components/Builder/Builder.js.map +1 -1
  6. package/lib/cjs/components/Builder/BuilderWrapper.js +64 -0
  7. package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -0
  8. package/lib/cjs/components/Builder/ContextMenu.js +31 -30
  9. package/lib/cjs/components/Builder/ContextMenu.js.map +1 -1
  10. package/lib/cjs/components/Builder/DndWrapper.js +16 -19
  11. package/lib/cjs/components/Builder/DndWrapper.js.map +1 -1
  12. package/lib/cjs/components/Builder/Element.js +51 -44
  13. package/lib/cjs/components/Builder/Element.js.map +1 -1
  14. package/lib/cjs/components/Builder/Page.js +127 -82
  15. package/lib/cjs/components/Builder/Page.js.map +1 -1
  16. package/lib/cjs/components/Builder/PageActions.js +35 -37
  17. package/lib/cjs/components/Builder/PageActions.js.map +1 -1
  18. package/lib/cjs/components/Builder/PageAdder.js +10 -11
  19. package/lib/cjs/components/Builder/PageAdder.js.map +1 -1
  20. package/lib/cjs/components/Builder/Panel.js +8 -10
  21. package/lib/cjs/components/Builder/Panel.js.map +1 -1
  22. package/lib/cjs/components/Builder/ReportItemRenderer.js +7 -6
  23. package/lib/cjs/components/Builder/ReportItemRenderer.js.map +1 -1
  24. package/lib/cjs/components/Builder/Scene.js +75 -205
  25. package/lib/cjs/components/Builder/Scene.js.map +1 -1
  26. package/lib/cjs/components/Builder/SearchInput.js +27 -58
  27. package/lib/cjs/components/Builder/SearchInput.js.map +1 -1
  28. package/lib/cjs/components/Builder/Section.js +8 -10
  29. package/lib/cjs/components/Builder/Section.js.map +1 -1
  30. package/lib/cjs/components/Builder/Tabs.js +19 -16
  31. package/lib/cjs/components/Builder/Tabs.js.map +1 -1
  32. package/lib/cjs/components/Builder/ZoomControls.js +20 -34
  33. package/lib/cjs/components/Builder/ZoomControls.js.map +1 -1
  34. package/lib/cjs/components/DraggableItem/DraggableItem.js +165 -157
  35. package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
  36. package/lib/cjs/components/DraggableItem/DraggableItemActions.js +12 -14
  37. package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
  38. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +25 -22
  39. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  40. package/lib/cjs/components/Elements/Chart.js +3 -4
  41. package/lib/cjs/components/Elements/Chart.js.map +1 -1
  42. package/lib/cjs/components/Elements/Icon.js +3 -5
  43. package/lib/cjs/components/Elements/Icon.js.map +1 -1
  44. package/lib/cjs/components/Elements/Image.js +11 -12
  45. package/lib/cjs/components/Elements/Image.js.map +1 -1
  46. package/lib/cjs/components/Elements/RichText.js +16 -14
  47. package/lib/cjs/components/Elements/RichText.js.map +1 -1
  48. package/lib/cjs/components/Elements/Shapes.js +2 -4
  49. package/lib/cjs/components/Elements/Shapes.js.map +1 -1
  50. package/lib/cjs/components/ItemPositioner.js +6 -8
  51. package/lib/cjs/components/ItemPositioner.js.map +1 -1
  52. package/lib/cjs/components/PageItemResizer.js +3 -7
  53. package/lib/cjs/components/PageItemResizer.js.map +1 -1
  54. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js +25 -60
  55. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
  56. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +2 -4
  57. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +1 -1
  58. package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js +8 -15
  59. package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js.map +1 -1
  60. package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js +56 -21
  61. package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js.map +1 -1
  62. package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +54 -0
  63. package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +1 -0
  64. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js +143 -47
  65. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
  66. package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js +17 -18
  67. package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +1 -1
  68. package/lib/cjs/components/Panels/LeftPanel/Elements.js +48 -52
  69. package/lib/cjs/components/Panels/LeftPanel/Elements.js.map +1 -1
  70. package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js +6 -35
  71. package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
  72. package/lib/cjs/components/Panels/LeftPanel/LeftPanelCloser.js +4 -4
  73. package/lib/cjs/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
  74. package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js +4 -3
  75. package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
  76. package/lib/cjs/components/Panels/RightPanel/RightPanel.js +139 -144
  77. package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
  78. package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js +7 -4
  79. package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
  80. package/lib/cjs/components/Panels/RightPanel/Settings.js +21 -22
  81. package/lib/cjs/components/Panels/RightPanel/Settings.js.map +1 -1
  82. package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js +105 -95
  83. package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
  84. package/lib/cjs/components/Panels/SlidesPanel/PageThumbnailActions.js +17 -18
  85. package/lib/cjs/components/Panels/SlidesPanel/PageThumbnailActions.js.map +1 -1
  86. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +33 -67
  87. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  88. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js +9 -9
  89. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
  90. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js +62 -28
  91. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
  92. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js +54 -0
  93. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js.map +1 -0
  94. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js +8 -9
  95. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
  96. package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js +163 -109
  97. package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  98. package/lib/cjs/components/Presentation/Presentation.js +19 -70
  99. package/lib/cjs/components/Presentation/Presentation.js.map +1 -1
  100. package/lib/cjs/components/Presentation/PresentationBar/PageNavigation.js +8 -10
  101. package/lib/cjs/components/Presentation/PresentationBar/PageNavigation.js.map +1 -1
  102. package/lib/cjs/components/Presentation/PresentationBar/PresentationActions.js +45 -12
  103. package/lib/cjs/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
  104. package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js +44 -86
  105. package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
  106. package/lib/cjs/components/Presentation/PresentationBar/SelectZoom.js +8 -10
  107. package/lib/cjs/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
  108. package/lib/cjs/components/Presentation/PresentationWrapper.js +56 -59
  109. package/lib/cjs/components/Presentation/PresentationWrapper.js.map +1 -1
  110. package/lib/cjs/components/Presentation/ProgressBar.js +4 -6
  111. package/lib/cjs/components/Presentation/ProgressBar.js.map +1 -1
  112. package/lib/cjs/components/Preview/Preview.js +14 -69
  113. package/lib/cjs/components/Preview/Preview.js.map +1 -1
  114. package/lib/cjs/components/Preview/StaticItem.js +5 -16
  115. package/lib/cjs/components/Preview/StaticItem.js.map +1 -1
  116. package/lib/cjs/components/Preview/StaticPage.js +16 -22
  117. package/lib/cjs/components/Preview/StaticPage.js.map +1 -1
  118. package/lib/cjs/components/Preview/StaticScene.js +34 -56
  119. package/lib/cjs/components/Preview/StaticScene.js.map +1 -1
  120. package/lib/cjs/components/Print/Print.js +18 -62
  121. package/lib/cjs/components/Print/Print.js.map +1 -1
  122. package/lib/cjs/components/Print/PrintModal.js +55 -0
  123. package/lib/cjs/components/Print/PrintModal.js.map +1 -0
  124. package/lib/cjs/components/Print/{PrintModeWithoutContext.js → PrintWrapper.js} +11 -42
  125. package/lib/cjs/components/Print/PrintWrapper.js.map +1 -0
  126. package/lib/cjs/components/Report.js +28 -40
  127. package/lib/cjs/components/Report.js.map +1 -1
  128. package/lib/cjs/components/ReportItemsWrapper.js +22 -36
  129. package/lib/cjs/components/ReportItemsWrapper.js.map +1 -1
  130. package/lib/cjs/components/ReportWrapper.js +28 -57
  131. package/lib/cjs/components/ReportWrapper.js.map +1 -1
  132. package/lib/cjs/components/Settings/Button.js +8 -10
  133. package/lib/cjs/components/Settings/Button.js.map +1 -1
  134. package/lib/cjs/components/Settings/CheckboxGroup.js +8 -10
  135. package/lib/cjs/components/Settings/CheckboxGroup.js.map +1 -1
  136. package/lib/cjs/components/Settings/ColorPicker.js +18 -13
  137. package/lib/cjs/components/Settings/ColorPicker.js.map +1 -1
  138. package/lib/cjs/components/Settings/Dropdown.js +10 -12
  139. package/lib/cjs/components/Settings/Dropdown.js.map +1 -1
  140. package/lib/cjs/components/Settings/FieldSet.js +3 -4
  141. package/lib/cjs/components/Settings/FieldSet.js.map +1 -1
  142. package/lib/cjs/components/Settings/IconSelectBox.js +8 -10
  143. package/lib/cjs/components/Settings/IconSelectBox.js.map +1 -1
  144. package/lib/cjs/components/Settings/ImagePicker/EnterURL.js +4 -6
  145. package/lib/cjs/components/Settings/ImagePicker/EnterURL.js.map +1 -1
  146. package/lib/cjs/components/Settings/ImagePicker/ImageThumbnailWithDelete.js +6 -8
  147. package/lib/cjs/components/Settings/ImagePicker/ImageThumbnailWithDelete.js.map +1 -1
  148. package/lib/cjs/components/Settings/ImageUrl.js +8 -10
  149. package/lib/cjs/components/Settings/ImageUrl.js.map +1 -1
  150. package/lib/cjs/components/Settings/LayoutSizeSettings.js +4 -6
  151. package/lib/cjs/components/Settings/LayoutSizeSettings.js.map +1 -1
  152. package/lib/cjs/components/Settings/Orientation.js +8 -10
  153. package/lib/cjs/components/Settings/Orientation.js.map +1 -1
  154. package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js +128 -0
  155. package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -0
  156. package/lib/cjs/components/Settings/PageLayer/LayerItem.js +91 -32
  157. package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
  158. package/lib/cjs/components/Settings/PageLayer/PageLayer.js +115 -50
  159. package/lib/cjs/components/Settings/PageLayer/PageLayer.js.map +1 -1
  160. package/lib/cjs/components/Settings/SegmentControl.js +8 -10
  161. package/lib/cjs/components/Settings/SegmentControl.js.map +1 -1
  162. package/lib/cjs/components/Settings/SelectBox.js +8 -10
  163. package/lib/cjs/components/Settings/SelectBox.js.map +1 -1
  164. package/lib/cjs/components/Settings/SettingsItemRenderer.js +9 -11
  165. package/lib/cjs/components/Settings/SettingsItemRenderer.js.map +1 -1
  166. package/lib/cjs/components/Settings/SizeSettings.js +4 -6
  167. package/lib/cjs/components/Settings/SizeSettings.js.map +1 -1
  168. package/lib/cjs/components/Settings/Slider.js +8 -10
  169. package/lib/cjs/components/Settings/Slider.js.map +1 -1
  170. package/lib/cjs/components/Settings/Switch.js +8 -10
  171. package/lib/cjs/components/Settings/Switch.js.map +1 -1
  172. package/lib/cjs/components/Settings/Textbox.js +12 -14
  173. package/lib/cjs/components/Settings/Textbox.js.map +1 -1
  174. package/lib/cjs/components/Settings/Toggle.js +8 -10
  175. package/lib/cjs/components/Settings/Toggle.js.map +1 -1
  176. package/lib/cjs/components/StaticElements/StaticRichText.js +26 -30
  177. package/lib/cjs/components/StaticElements/StaticRichText.js.map +1 -1
  178. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbar.js +2 -4
  179. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
  180. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +4 -6
  181. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
  182. package/lib/cjs/components/TextEditor/QuillEditor.js +6 -11
  183. package/lib/cjs/components/TextEditor/QuillEditor.js.map +1 -1
  184. package/lib/cjs/components/TextEditor/TextEditor.js +17 -18
  185. package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
  186. package/lib/cjs/components/withClickOutside.js +10 -11
  187. package/lib/cjs/components/withClickOutside.js.map +1 -1
  188. package/lib/cjs/components/withZoomPanPinchHOC.js +10 -12
  189. package/lib/cjs/components/withZoomPanPinchHOC.js.map +1 -1
  190. package/lib/cjs/constants/eventIgnoredRoles.js +13 -0
  191. package/lib/cjs/constants/eventIgnoredRoles.js.map +1 -0
  192. package/lib/cjs/constants/texts.js +11 -0
  193. package/lib/cjs/constants/texts.js.map +1 -1
  194. package/lib/cjs/contexts/BuilderContext.js +208 -0
  195. package/lib/cjs/contexts/BuilderContext.js.map +1 -0
  196. package/lib/cjs/contexts/PresentationContext.js +140 -0
  197. package/lib/cjs/contexts/PresentationContext.js.map +1 -0
  198. package/lib/cjs/contexts/PropContext.js +144 -0
  199. package/lib/cjs/contexts/PropContext.js.map +1 -0
  200. package/lib/cjs/contexts/Providers.js +70 -0
  201. package/lib/cjs/contexts/Providers.js.map +1 -0
  202. package/lib/cjs/index.js +0 -2
  203. package/lib/cjs/index.js.map +1 -1
  204. package/lib/cjs/styles/_jfPrint.scss +17 -1
  205. package/lib/cjs/styles/_jfReportsModal.scss +9 -9
  206. package/lib/cjs/styles/_jfReportsPanels.scss +4 -1
  207. package/lib/cjs/styles/_jfReportsReportItem.scss +1 -1
  208. package/lib/cjs/styles/_jfReportsSVG.scss +0 -1
  209. package/lib/cjs/styles/_jfReportsTextEditor.scss +5 -0
  210. package/lib/cjs/styles/_jfSearchInput.scss +2 -2
  211. package/lib/cjs/utils/functions.js +20 -9
  212. package/lib/cjs/utils/functions.js.map +1 -1
  213. package/lib/cjs/utils/getDefaultPresentationActions.js +1 -1
  214. package/lib/cjs/utils/getDefaultPresentationActions.js.map +1 -1
  215. package/lib/cjs/utils/hooks.js +64 -47
  216. package/lib/cjs/utils/hooks.js.map +1 -1
  217. package/lib/esm/components/AlignmentGuides.js +11 -12
  218. package/lib/esm/components/AlignmentGuides.js.map +1 -1
  219. package/lib/esm/components/Builder/Builder.js +20 -129
  220. package/lib/esm/components/Builder/Builder.js.map +1 -1
  221. package/lib/esm/components/Builder/BuilderWrapper.js +58 -0
  222. package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -0
  223. package/lib/esm/components/Builder/ContextMenu.js +31 -30
  224. package/lib/esm/components/Builder/ContextMenu.js.map +1 -1
  225. package/lib/esm/components/Builder/DndWrapper.js +10 -10
  226. package/lib/esm/components/Builder/DndWrapper.js.map +1 -1
  227. package/lib/esm/components/Builder/Element.js +50 -43
  228. package/lib/esm/components/Builder/Element.js.map +1 -1
  229. package/lib/esm/components/Builder/Page.js +128 -83
  230. package/lib/esm/components/Builder/Page.js.map +1 -1
  231. package/lib/esm/components/Builder/PageActions.js +35 -37
  232. package/lib/esm/components/Builder/PageActions.js.map +1 -1
  233. package/lib/esm/components/Builder/PageAdder.js +11 -12
  234. package/lib/esm/components/Builder/PageAdder.js.map +1 -1
  235. package/lib/esm/components/Builder/Panel.js +8 -10
  236. package/lib/esm/components/Builder/Panel.js.map +1 -1
  237. package/lib/esm/components/Builder/ReportItemRenderer.js +7 -6
  238. package/lib/esm/components/Builder/ReportItemRenderer.js.map +1 -1
  239. package/lib/esm/components/Builder/Scene.js +77 -203
  240. package/lib/esm/components/Builder/Scene.js.map +1 -1
  241. package/lib/esm/components/Builder/SearchInput.js +28 -58
  242. package/lib/esm/components/Builder/SearchInput.js.map +1 -1
  243. package/lib/esm/components/Builder/Section.js +8 -10
  244. package/lib/esm/components/Builder/Section.js.map +1 -1
  245. package/lib/esm/components/Builder/Tabs.js +19 -16
  246. package/lib/esm/components/Builder/Tabs.js.map +1 -1
  247. package/lib/esm/components/Builder/ZoomControls.js +20 -30
  248. package/lib/esm/components/Builder/ZoomControls.js.map +1 -1
  249. package/lib/esm/components/DraggableItem/DraggableItem.js +165 -156
  250. package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
  251. package/lib/esm/components/DraggableItem/DraggableItemActions.js +12 -14
  252. package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
  253. package/lib/esm/components/DraggableItem/DraggableItemLayer.js +23 -20
  254. package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  255. package/lib/esm/components/Elements/Chart.js +3 -4
  256. package/lib/esm/components/Elements/Chart.js.map +1 -1
  257. package/lib/esm/components/Elements/Icon.js +3 -5
  258. package/lib/esm/components/Elements/Icon.js.map +1 -1
  259. package/lib/esm/components/Elements/Image.js +11 -12
  260. package/lib/esm/components/Elements/Image.js.map +1 -1
  261. package/lib/esm/components/Elements/RichText.js +16 -14
  262. package/lib/esm/components/Elements/RichText.js.map +1 -1
  263. package/lib/esm/components/Elements/Shapes.js +2 -4
  264. package/lib/esm/components/Elements/Shapes.js.map +1 -1
  265. package/lib/esm/components/ItemPositioner.js +6 -8
  266. package/lib/esm/components/ItemPositioner.js.map +1 -1
  267. package/lib/esm/components/PageItemResizer.js +3 -7
  268. package/lib/esm/components/PageItemResizer.js.map +1 -1
  269. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js +25 -59
  270. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
  271. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +2 -4
  272. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +1 -1
  273. package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js +8 -15
  274. package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js.map +1 -1
  275. package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js +56 -22
  276. package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js.map +1 -1
  277. package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +48 -0
  278. package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +1 -0
  279. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js +140 -48
  280. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
  281. package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js +17 -18
  282. package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +1 -1
  283. package/lib/esm/components/Panels/LeftPanel/Elements.js +49 -53
  284. package/lib/esm/components/Panels/LeftPanel/Elements.js.map +1 -1
  285. package/lib/esm/components/Panels/LeftPanel/LeftPanel.js +6 -34
  286. package/lib/esm/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
  287. package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js +4 -4
  288. package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
  289. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js +4 -3
  290. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
  291. package/lib/esm/components/Panels/RightPanel/RightPanel.js +141 -145
  292. package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
  293. package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js +7 -4
  294. package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
  295. package/lib/esm/components/Panels/RightPanel/Settings.js +21 -22
  296. package/lib/esm/components/Panels/RightPanel/Settings.js.map +1 -1
  297. package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js +106 -96
  298. package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
  299. package/lib/esm/components/Panels/SlidesPanel/PageThumbnailActions.js +17 -18
  300. package/lib/esm/components/Panels/SlidesPanel/PageThumbnailActions.js.map +1 -1
  301. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +33 -66
  302. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  303. package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js +9 -9
  304. package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
  305. package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js +62 -28
  306. package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
  307. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js +48 -0
  308. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js.map +1 -0
  309. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js +8 -9
  310. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
  311. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js +165 -111
  312. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  313. package/lib/esm/components/Presentation/Presentation.js +19 -69
  314. package/lib/esm/components/Presentation/Presentation.js.map +1 -1
  315. package/lib/esm/components/Presentation/PresentationBar/PageNavigation.js +8 -10
  316. package/lib/esm/components/Presentation/PresentationBar/PageNavigation.js.map +1 -1
  317. package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js +46 -13
  318. package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
  319. package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js +45 -87
  320. package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
  321. package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js +8 -10
  322. package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
  323. package/lib/esm/components/Presentation/PresentationWrapper.js +57 -60
  324. package/lib/esm/components/Presentation/PresentationWrapper.js.map +1 -1
  325. package/lib/esm/components/Presentation/ProgressBar.js +4 -6
  326. package/lib/esm/components/Presentation/ProgressBar.js.map +1 -1
  327. package/lib/esm/components/Preview/Preview.js +14 -68
  328. package/lib/esm/components/Preview/Preview.js.map +1 -1
  329. package/lib/esm/components/Preview/StaticItem.js +5 -15
  330. package/lib/esm/components/Preview/StaticItem.js.map +1 -1
  331. package/lib/esm/components/Preview/StaticPage.js +16 -22
  332. package/lib/esm/components/Preview/StaticPage.js.map +1 -1
  333. package/lib/esm/components/Preview/StaticScene.js +34 -56
  334. package/lib/esm/components/Preview/StaticScene.js.map +1 -1
  335. package/lib/esm/components/Print/Print.js +18 -57
  336. package/lib/esm/components/Print/Print.js.map +1 -1
  337. package/lib/esm/components/Print/PrintModal.js +49 -0
  338. package/lib/esm/components/Print/PrintModal.js.map +1 -0
  339. package/lib/esm/components/Print/{PrintModeWithoutContext.js → PrintWrapper.js} +11 -42
  340. package/lib/esm/components/Print/PrintWrapper.js.map +1 -0
  341. package/lib/esm/components/Report.js +29 -41
  342. package/lib/esm/components/Report.js.map +1 -1
  343. package/lib/esm/components/ReportItemsWrapper.js +20 -34
  344. package/lib/esm/components/ReportItemsWrapper.js.map +1 -1
  345. package/lib/esm/components/ReportWrapper.js +29 -58
  346. package/lib/esm/components/ReportWrapper.js.map +1 -1
  347. package/lib/esm/components/Settings/Button.js +8 -10
  348. package/lib/esm/components/Settings/Button.js.map +1 -1
  349. package/lib/esm/components/Settings/CheckboxGroup.js +8 -10
  350. package/lib/esm/components/Settings/CheckboxGroup.js.map +1 -1
  351. package/lib/esm/components/Settings/ColorPicker.js +18 -13
  352. package/lib/esm/components/Settings/ColorPicker.js.map +1 -1
  353. package/lib/esm/components/Settings/Dropdown.js +10 -12
  354. package/lib/esm/components/Settings/Dropdown.js.map +1 -1
  355. package/lib/esm/components/Settings/FieldSet.js +3 -4
  356. package/lib/esm/components/Settings/FieldSet.js.map +1 -1
  357. package/lib/esm/components/Settings/IconSelectBox.js +8 -10
  358. package/lib/esm/components/Settings/IconSelectBox.js.map +1 -1
  359. package/lib/esm/components/Settings/ImagePicker/EnterURL.js +4 -6
  360. package/lib/esm/components/Settings/ImagePicker/EnterURL.js.map +1 -1
  361. package/lib/esm/components/Settings/ImagePicker/ImageThumbnailWithDelete.js +6 -8
  362. package/lib/esm/components/Settings/ImagePicker/ImageThumbnailWithDelete.js.map +1 -1
  363. package/lib/esm/components/Settings/ImageUrl.js +8 -10
  364. package/lib/esm/components/Settings/ImageUrl.js.map +1 -1
  365. package/lib/esm/components/Settings/LayoutSizeSettings.js +4 -6
  366. package/lib/esm/components/Settings/LayoutSizeSettings.js.map +1 -1
  367. package/lib/esm/components/Settings/Orientation.js +8 -10
  368. package/lib/esm/components/Settings/Orientation.js.map +1 -1
  369. package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js +121 -0
  370. package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -0
  371. package/lib/esm/components/Settings/PageLayer/LayerItem.js +92 -34
  372. package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
  373. package/lib/esm/components/Settings/PageLayer/PageLayer.js +117 -52
  374. package/lib/esm/components/Settings/PageLayer/PageLayer.js.map +1 -1
  375. package/lib/esm/components/Settings/SegmentControl.js +8 -10
  376. package/lib/esm/components/Settings/SegmentControl.js.map +1 -1
  377. package/lib/esm/components/Settings/SelectBox.js +8 -10
  378. package/lib/esm/components/Settings/SelectBox.js.map +1 -1
  379. package/lib/esm/components/Settings/SettingsItemRenderer.js +9 -11
  380. package/lib/esm/components/Settings/SettingsItemRenderer.js.map +1 -1
  381. package/lib/esm/components/Settings/SizeSettings.js +4 -6
  382. package/lib/esm/components/Settings/SizeSettings.js.map +1 -1
  383. package/lib/esm/components/Settings/Slider.js +8 -10
  384. package/lib/esm/components/Settings/Slider.js.map +1 -1
  385. package/lib/esm/components/Settings/Switch.js +8 -10
  386. package/lib/esm/components/Settings/Switch.js.map +1 -1
  387. package/lib/esm/components/Settings/Textbox.js +12 -14
  388. package/lib/esm/components/Settings/Textbox.js.map +1 -1
  389. package/lib/esm/components/Settings/Toggle.js +8 -10
  390. package/lib/esm/components/Settings/Toggle.js.map +1 -1
  391. package/lib/esm/components/StaticElements/StaticRichText.js +26 -30
  392. package/lib/esm/components/StaticElements/StaticRichText.js.map +1 -1
  393. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js +2 -4
  394. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
  395. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +4 -6
  396. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
  397. package/lib/esm/components/TextEditor/QuillEditor.js +6 -11
  398. package/lib/esm/components/TextEditor/QuillEditor.js.map +1 -1
  399. package/lib/esm/components/TextEditor/TextEditor.js +17 -18
  400. package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
  401. package/lib/esm/components/withClickOutside.js +11 -12
  402. package/lib/esm/components/withClickOutside.js.map +1 -1
  403. package/lib/esm/components/withZoomPanPinchHOC.js +10 -12
  404. package/lib/esm/components/withZoomPanPinchHOC.js.map +1 -1
  405. package/lib/esm/constants/eventIgnoredRoles.js +9 -0
  406. package/lib/esm/constants/eventIgnoredRoles.js.map +1 -0
  407. package/lib/esm/constants/texts.js +11 -0
  408. package/lib/esm/constants/texts.js.map +1 -1
  409. package/lib/esm/contexts/BuilderContext.js +199 -0
  410. package/lib/esm/contexts/BuilderContext.js.map +1 -0
  411. package/lib/esm/contexts/PresentationContext.js +131 -0
  412. package/lib/esm/contexts/PresentationContext.js.map +1 -0
  413. package/lib/esm/contexts/PropContext.js +135 -0
  414. package/lib/esm/contexts/PropContext.js.map +1 -0
  415. package/lib/esm/contexts/Providers.js +64 -0
  416. package/lib/esm/contexts/Providers.js.map +1 -0
  417. package/lib/esm/index.js +0 -1
  418. package/lib/esm/index.js.map +1 -1
  419. package/lib/esm/styles/_jfPrint.scss +17 -1
  420. package/lib/esm/styles/_jfReportsModal.scss +9 -9
  421. package/lib/esm/styles/_jfReportsPanels.scss +4 -1
  422. package/lib/esm/styles/_jfReportsReportItem.scss +1 -1
  423. package/lib/esm/styles/_jfReportsSVG.scss +0 -1
  424. package/lib/esm/styles/_jfReportsTextEditor.scss +5 -0
  425. package/lib/esm/styles/_jfSearchInput.scss +2 -2
  426. package/lib/esm/utils/functions.js +16 -9
  427. package/lib/esm/utils/functions.js.map +1 -1
  428. package/lib/esm/utils/getDefaultPresentationActions.js +1 -1
  429. package/lib/esm/utils/getDefaultPresentationActions.js.map +1 -1
  430. package/lib/esm/utils/hooks.js +66 -49
  431. package/lib/esm/utils/hooks.js.map +1 -1
  432. package/package.json +18 -14
  433. package/lib/cjs/components/Print/PrintMode.js +0 -59
  434. package/lib/cjs/components/Print/PrintMode.js.map +0 -1
  435. package/lib/cjs/components/Print/PrintModeWithoutContext.js.map +0 -1
  436. package/lib/cjs/components/ResponsiveContent.js +0 -15
  437. package/lib/cjs/components/ResponsiveContent.js.map +0 -1
  438. package/lib/cjs/utils/builderContext.js +0 -308
  439. package/lib/cjs/utils/builderContext.js.map +0 -1
  440. package/lib/cjs/utils/presentationContext.js +0 -144
  441. package/lib/cjs/utils/presentationContext.js.map +0 -1
  442. package/lib/cjs/utils/propContext.js +0 -133
  443. package/lib/cjs/utils/propContext.js.map +0 -1
  444. package/lib/esm/components/Print/PrintMode.js +0 -52
  445. package/lib/esm/components/Print/PrintMode.js.map +0 -1
  446. package/lib/esm/components/Print/PrintModeWithoutContext.js.map +0 -1
  447. package/lib/esm/components/ResponsiveContent.js +0 -13
  448. package/lib/esm/components/ResponsiveContent.js.map +0 -1
  449. package/lib/esm/utils/builderContext.js +0 -297
  450. package/lib/esm/utils/builderContext.js.map +0 -1
  451. package/lib/esm/utils/presentationContext.js +0 -133
  452. package/lib/esm/utils/presentationContext.js.map +0 -1
  453. package/lib/esm/utils/propContext.js +0 -122
  454. package/lib/esm/utils/propContext.js.map +0 -1
@@ -1,22 +1,13 @@
1
1
  import 'core-js/modules/es.number.constructor.js';
2
2
  import 'core-js/modules/es.number.is-nan.js';
3
- import { memo, useRef, useState, useMemo, useEffect, useCallback } from 'react';
3
+ import { memo, useMemo, useRef, useState, useCallback, useEffect } from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { ResponsiveContainer } from 'recharts';
6
- import ResponsiveContent from '../../ResponsiveContent.js';
7
5
  import PageAdder from '../../Builder/PageAdder.js';
8
6
  import { scrollToTarget, getScaleForPageThumbnail } from '../../../utils/functions.js';
9
7
  import { usePageVisibility } from '../../../utils/hooks.js';
8
+ import { usePropStore } from '../../../contexts/PropContext.js';
10
9
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
11
10
 
12
- var _excluded = ["component", "onSortEnd", "pageCount", "reportSettings"];
13
-
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
15
-
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
17
-
18
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
-
20
11
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
21
12
 
22
13
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -29,29 +20,38 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
29
20
 
30
21
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
31
22
 
32
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
33
-
34
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
35
-
36
23
  var ListWrapper = function ListWrapper(_ref) {
37
- var Component = _ref.component,
38
- onSortEnd = _ref.onSortEnd,
39
- pageCount = _ref.pageCount,
40
- reportSettings = _ref.reportSettings,
41
- otherProps = _objectWithoutProperties(_ref, _excluded);
42
-
43
- var outerRef = useRef(null);
24
+ var _ref$component = _ref.component,
25
+ Component = _ref$component === void 0 ? null : _ref$component,
26
+ _ref$onSortEnd = _ref.onSortEnd,
27
+ onSortEnd = _ref$onSortEnd === void 0 ? function () {} : _ref$onSortEnd,
28
+ _ref$pageGetter = _ref.pageGetter,
29
+ pageGetter = _ref$pageGetter === void 0 ? function () {} : _ref$pageGetter;
30
+ var pages = usePropStore(function (state) {
31
+ return state.pages;
32
+ });
33
+ var pageCount = useMemo(function () {
34
+ return pages.length;
35
+ }, [pages]);
36
+ var onPageAdd = usePropStore(function (state) {
37
+ return state.onPageAdd;
38
+ });
39
+ var onPageDuplicate = usePropStore(function (state) {
40
+ return state.onPageDuplicate;
41
+ });
42
+ var onPageRemove = usePropStore(function (state) {
43
+ return state.onPageRemove;
44
+ });
45
+ var reportSettings = usePropStore(function (state) {
46
+ return state.settings;
47
+ });
48
+ var listRef = useRef(null);
44
49
 
45
50
  var _useState = useState(-1),
46
51
  _useState2 = _slicedToArray(_useState, 2),
47
52
  selectedPageIndex = _useState2[0],
48
53
  setSelectedPageIndex = _useState2[1];
49
54
 
50
- var _useState3 = useState(true),
51
- _useState4 = _slicedToArray(_useState3, 2),
52
- scrollTracking = _useState4[0],
53
- setScrollTracking = _useState4[1];
54
-
55
55
  var reportBackgroundColor = reportSettings.reportBackgroundColor,
56
56
  _reportSettings$repor = reportSettings.reportLayoutHeight,
57
57
  reportLayoutHeight = _reportSettings$repor === void 0 ? 794 : _reportSettings$repor,
@@ -75,86 +75,107 @@ var ListWrapper = function ListWrapper(_ref) {
75
75
  transformOrigin: '0 0',
76
76
  width: width
77
77
  };
78
- }, [reportSettings]);
78
+ }, [height, left, scale, top, width, reportBackgroundColor]);
79
+
80
+ var _onSortEnd = useCallback(function (_ref2) {
81
+ var newIndex = _ref2.newIndex,
82
+ oldIndex = _ref2.oldIndex;
79
83
 
80
- var _onSortEnd = function _onSortEnd(sortEvent, nativeEvent) {
81
84
  if (onSortEnd) {
82
- onSortEnd(sortEvent, nativeEvent, outerRef.current);
85
+ onSortEnd({
86
+ newIndex: newIndex,
87
+ oldIndex: oldIndex
88
+ }, null, listRef.current);
83
89
  }
84
- };
90
+ }, [onSortEnd]);
85
91
 
86
- useEffect(function () {
87
- // for page thumbnails actions
88
- if (!scrollTracking) {
89
- scrollToTarget("pageActions-id-".concat(selectedPageIndex), 0, {});
90
- setScrollTracking(true);
92
+ var refSetter = useCallback(function (outerRef) {
93
+ if (outerRef) {
94
+ listRef.current = outerRef;
91
95
  }
92
- }, [pageCount]);
96
+ }, []);
93
97
  usePageVisibility(function (index) {
94
- if (scrollTracking && index !== selectedPageIndex && !Number.isNaN(index)) {
95
- var instance = outerRef.current.getWrappedInstance();
96
- var list = instance.sortableOuterRef.current;
97
- setSelectedPageIndex(index);
98
-
99
- if (selectedPageIndex === -1 && index !== 1) {
100
- setTimeout(function () {
101
- list.scrollTo({
102
- behavior: 'smooth',
103
- top: (index - 1) * 120 + 7
104
- });
105
- }, 300);
106
- } else {
107
- list.scrollTo({
108
- behavior: 'smooth',
109
- top: (index - 1) * 120 + 7
110
- });
98
+ if (index && !Number.isNaN(index)) {
99
+ var _listRef$current;
100
+
101
+ if ((_listRef$current = listRef.current) !== null && _listRef$current !== void 0 && _listRef$current.scrollToIndex) {
102
+ listRef.current.scrollToIndex(index, 'center');
103
+ }
104
+
105
+ var prevSelectedThumbnail = document.querySelector('.thumbnailWrapper.isSelected');
106
+
107
+ if (prevSelectedThumbnail) {
108
+ prevSelectedThumbnail.classList.remove('isSelected');
109
+ }
110
+
111
+ var nextSelectedThumbnail = document.querySelector(".thumbnailWrapper[data-order=\"".concat(index, "\"]"));
112
+
113
+ if (nextSelectedThumbnail) {
114
+ nextSelectedThumbnail.classList.add('isSelected');
111
115
  }
112
- } else if (!scrollTracking && index === selectedPageIndex) {
113
- setScrollTracking(true);
114
116
  }
115
- }, scrollTracking, pageCount, selectedPageIndex);
117
+ }, pageCount, selectedPageIndex); // TODO: could be better than now. scrollend listener is a choice for some cases
118
+
119
+ var resetSelectedPageIndex = useCallback(function () {
120
+ setTimeout(function () {
121
+ setSelectedPageIndex(-1);
122
+ }, 1000);
123
+ }, []);
116
124
  var onPageClick = useCallback(function (e) {
117
125
  var order = e.target.getAttribute('data-order');
118
- setScrollTracking(false);
119
126
  setSelectedPageIndex(parseInt(order, 10));
120
127
 
121
128
  if (!e.target.classList.contains('controllerItem')) {
122
129
  // for page thumbnails actions
123
130
  scrollToTarget("pageActions-id-".concat(order));
124
131
  }
125
- }, [selectedPageIndex]);
126
132
 
127
- var onPageAdd = function onPageAdd(index) {
128
- setScrollTracking(false);
133
+ resetSelectedPageIndex();
134
+ }, [resetSelectedPageIndex]);
135
+ var handlePageAdd = useCallback(function (index) {
129
136
  setSelectedPageIndex(index);
130
- otherProps.onPageAdd(index);
131
- };
132
-
137
+ onPageAdd(index);
138
+ }, [onPageAdd]);
139
+ var handlePageDuplicate = useCallback(function (index) {
140
+ setSelectedPageIndex(index);
141
+ onPageDuplicate(index);
142
+ }, [onPageDuplicate]);
143
+ var handlePageRemove = useCallback(function (index) {
144
+ setSelectedPageIndex(index);
145
+ onPageRemove(index);
146
+ }, [onPageRemove]);
147
+ useEffect(function () {
148
+ // after new page added
149
+ scrollToTarget("pageActions-id-".concat(selectedPageIndex), 0, {
150
+ behavior: 'smooth'
151
+ });
152
+ resetSelectedPageIndex();
153
+ }, [resetSelectedPageIndex, selectedPageIndex]);
133
154
  return /*#__PURE__*/jsxs(Fragment, {
134
- children: [/*#__PURE__*/jsx(ResponsiveContainer, {
135
- children: /*#__PURE__*/jsx(ResponsiveContent, {
136
- children: function children(containerWidth, containerHeight) {
137
- return /*#__PURE__*/jsx(Component, _objectSpread({
138
- ref: outerRef,
139
- distance: 50,
140
- height: containerHeight,
141
- helperClass: "pageThumbnailHelper",
142
- lockAxis: "y",
143
- onPageClick: onPageClick,
144
- onSortEnd: _onSortEnd,
145
- pageContainerStyle: pageContainerStyles,
146
- pageCount: pageCount,
147
- selectedPageIndex: selectedPageIndex,
148
- width: containerWidth
149
- }, otherProps));
150
- }
155
+ children: [/*#__PURE__*/jsx("div", {
156
+ style: {
157
+ height: '100%',
158
+ margin: '25px 10px',
159
+ position: 'relative',
160
+ width: '100%'
161
+ },
162
+ children: /*#__PURE__*/jsx(Component, {
163
+ ref: refSetter,
164
+ height: "100%",
165
+ onPageAdd: handlePageAdd,
166
+ onPageClick: onPageClick,
167
+ onPageDuplicate: handlePageDuplicate,
168
+ onPageRemove: handlePageRemove,
169
+ onSortEnd: _onSortEnd,
170
+ pageContainerStyle: pageContainerStyles,
171
+ pageCount: pageCount,
172
+ pageGetter: pageGetter,
173
+ width: "100%"
151
174
  })
152
175
  }), /*#__PURE__*/jsx("div", {
153
176
  className: "jfReport-pane-footer",
154
177
  children: /*#__PURE__*/jsx(PageAdder, {
155
- additionalClass: "forOptions",
156
- onPageAdd: onPageAdd,
157
- pageCount: pageCount
178
+ additionalClass: "forOptions"
158
179
  })
159
180
  })]
160
181
  });
@@ -163,18 +184,7 @@ var ListWrapper = function ListWrapper(_ref) {
163
184
  ListWrapper.propTypes = {
164
185
  component: PropTypes.any,
165
186
  onSortEnd: PropTypes.func,
166
- pageCount: PropTypes.number,
167
- reportSettings: PropTypes.shape({
168
- reportBackgroundColor: PropTypes.string,
169
- reportLayoutHeight: PropTypes.string,
170
- reportLayoutWidth: PropTypes.string
171
- })
172
- };
173
- ListWrapper.defaultProps = {
174
- component: null,
175
- onSortEnd: function onSortEnd() {},
176
- pageCount: 0,
177
- reportSettings: {}
187
+ pageGetter: PropTypes.func
178
188
  };
179
189
  var ListWrapper$1 = /*#__PURE__*/memo(ListWrapper);
180
190
 
@@ -1 +1 @@
1
- {"version":3,"file":"ListWrapper.js","sources":["../../../../../src/components/Panels/SlidesPanel/ListWrapper.js"],"sourcesContent":["import {\n memo, useCallback, useRef, useState, useMemo, useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { ResponsiveContainer } from 'recharts';\nimport ResponsiveContent from '../../ResponsiveContent';\nimport PageAdder from '../../Builder/PageAdder';\nimport { getScaleForPageThumbnail, scrollToTarget } from '../../../utils/functions';\nimport { usePageVisibility } from '../../../utils/hooks';\n\nconst ListWrapper = ({\n component: Component,\n onSortEnd,\n pageCount,\n reportSettings,\n ...otherProps\n}) => {\n const outerRef = useRef(null);\n const [selectedPageIndex, setSelectedPageIndex] = useState(-1);\n const [scrollTracking, setScrollTracking] = useState(true);\n const {\n reportBackgroundColor,\n reportLayoutHeight = 794,\n reportLayoutWidth = 1123,\n } = reportSettings;\n const width = parseInt(reportLayoutWidth, 10);\n const height = parseInt(reportLayoutHeight, 10);\n const { left, scale, top } = getScaleForPageThumbnail(width, height);\n\n const pageContainerStyles = useMemo(() => ({\n backgroundColor: reportBackgroundColor || '#fff',\n height: height,\n left,\n top,\n transform: `scale(${scale})`,\n transformOrigin: '0 0',\n width: width,\n }), [reportSettings]);\n\n const _onSortEnd = (sortEvent, nativeEvent) => {\n if (onSortEnd) {\n onSortEnd(sortEvent, nativeEvent, outerRef.current);\n }\n };\n\n useEffect(() => { // for page thumbnails actions\n if (!scrollTracking) {\n scrollToTarget(`pageActions-id-${selectedPageIndex}`, 0, {});\n setScrollTracking(true);\n }\n }, [pageCount]);\n\n usePageVisibility(index => {\n if (scrollTracking && index !== selectedPageIndex && !Number.isNaN(index)) {\n const instance = outerRef.current.getWrappedInstance();\n const list = instance.sortableOuterRef.current;\n setSelectedPageIndex(index);\n if (selectedPageIndex === -1 && index !== 1) {\n setTimeout(() => {\n list.scrollTo({ behavior: 'smooth', top: ((index - 1) * 120) + 7 });\n }, 300);\n } else {\n list.scrollTo({ behavior: 'smooth', top: ((index - 1) * 120) + 7 });\n }\n } else if (!scrollTracking && index === selectedPageIndex) {\n setScrollTracking(true);\n }\n }, scrollTracking, pageCount, selectedPageIndex);\n\n const onPageClick = useCallback(e => {\n const order = e.target.getAttribute('data-order');\n setScrollTracking(false);\n setSelectedPageIndex(parseInt(order, 10));\n if (!e.target.classList.contains('controllerItem')) { // for page thumbnails actions\n scrollToTarget(`pageActions-id-${order}`);\n }\n }, [selectedPageIndex]);\n\n const onPageAdd = index => {\n setScrollTracking(false);\n setSelectedPageIndex(index);\n otherProps.onPageAdd(index);\n };\n\n return (\n <>\n <ResponsiveContainer>\n <ResponsiveContent>\n {(containerWidth, containerHeight) => (\n <Component\n ref={outerRef}\n distance={50}\n height={containerHeight}\n helperClass=\"pageThumbnailHelper\"\n lockAxis=\"y\"\n onPageClick={onPageClick}\n onSortEnd={_onSortEnd}\n pageContainerStyle={pageContainerStyles}\n pageCount={pageCount}\n selectedPageIndex={selectedPageIndex}\n width={containerWidth}\n {...otherProps}\n />\n )}\n </ResponsiveContent>\n </ResponsiveContainer>\n <div className=\"jfReport-pane-footer\">\n <PageAdder\n additionalClass=\"forOptions\"\n onPageAdd={onPageAdd}\n pageCount={pageCount}\n />\n </div>\n </>\n );\n};\n\nListWrapper.propTypes = {\n component: PropTypes.any,\n onSortEnd: PropTypes.func,\n pageCount: PropTypes.number,\n reportSettings: PropTypes.shape({\n reportBackgroundColor: PropTypes.string,\n reportLayoutHeight: PropTypes.string,\n reportLayoutWidth: PropTypes.string,\n }),\n};\n\nListWrapper.defaultProps = {\n component: null,\n onSortEnd: () => {},\n pageCount: 0,\n reportSettings: {},\n};\n\nexport default memo(ListWrapper);\n"],"names":["ListWrapper","Component","component","onSortEnd","pageCount","reportSettings","otherProps","outerRef","useRef","useState","selectedPageIndex","setSelectedPageIndex","scrollTracking","setScrollTracking","reportBackgroundColor","reportLayoutHeight","reportLayoutWidth","width","parseInt","height","getScaleForPageThumbnail","left","scale","top","pageContainerStyles","useMemo","backgroundColor","transform","transformOrigin","_onSortEnd","sortEvent","nativeEvent","current","useEffect","scrollToTarget","usePageVisibility","index","Number","isNaN","instance","getWrappedInstance","list","sortableOuterRef","setTimeout","scrollTo","behavior","onPageClick","useCallback","e","order","target","getAttribute","classList","contains","onPageAdd","_jsxs","_jsx","containerWidth","containerHeight","propTypes","PropTypes","any","func","number","shape","string","defaultProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"ListWrapper.js","sources":["../../../../../src/components/Panels/SlidesPanel/ListWrapper.js"],"sourcesContent":["import {\n memo, useCallback, useRef, useState, useMemo, useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport PageAdder from '../../Builder/PageAdder';\nimport { getScaleForPageThumbnail, scrollToTarget } from '../../../utils/functions';\nimport { usePageVisibility } from '../../../utils/hooks';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst ListWrapper = ({\n component: Component = null,\n onSortEnd = () => {},\n pageGetter = () => {},\n}) => {\n const pages = usePropStore(state => state.pages);\n const pageCount = useMemo(() => pages.length, [pages]);\n const onPageAdd = usePropStore(state => state.onPageAdd);\n const onPageDuplicate = usePropStore(state => state.onPageDuplicate);\n const onPageRemove = usePropStore(state => state.onPageRemove);\n const reportSettings = usePropStore(state => state.settings);\n\n const listRef = useRef(null);\n const [selectedPageIndex, setSelectedPageIndex] = useState(-1);\n const {\n reportBackgroundColor,\n reportLayoutHeight = 794,\n reportLayoutWidth = 1123,\n } = reportSettings;\n const width = parseInt(reportLayoutWidth, 10);\n const height = parseInt(reportLayoutHeight, 10);\n const { left, scale, top } = getScaleForPageThumbnail(width, height);\n\n const pageContainerStyles = useMemo(() => ({\n backgroundColor: reportBackgroundColor || '#fff',\n height: height,\n left,\n top,\n transform: `scale(${scale})`,\n transformOrigin: '0 0',\n width: width,\n }), [height, left, scale, top, width, reportBackgroundColor]);\n\n const _onSortEnd = useCallback(({ newIndex, oldIndex }) => {\n if (onSortEnd) {\n onSortEnd({ newIndex, oldIndex }, null, listRef.current);\n }\n }, [onSortEnd]);\n\n const refSetter = useCallback(outerRef => {\n if (outerRef) {\n listRef.current = outerRef;\n }\n }, []);\n\n usePageVisibility(index => {\n if (index && !Number.isNaN(index)) {\n if (listRef.current?.scrollToIndex) {\n listRef.current.scrollToIndex(index, 'center');\n }\n\n const prevSelectedThumbnail = document.querySelector('.thumbnailWrapper.isSelected');\n if (prevSelectedThumbnail) {\n prevSelectedThumbnail.classList.remove('isSelected');\n }\n\n const nextSelectedThumbnail = document\n .querySelector(`.thumbnailWrapper[data-order=\"${index}\"]`);\n if (nextSelectedThumbnail) {\n nextSelectedThumbnail.classList.add('isSelected');\n }\n }\n }, pageCount, selectedPageIndex);\n\n // TODO: could be better than now. scrollend listener is a choice for some cases\n const resetSelectedPageIndex = useCallback(() => {\n setTimeout(() => {\n setSelectedPageIndex(-1);\n }, 1000);\n }, []);\n\n const onPageClick = useCallback(e => {\n const order = e.target.getAttribute('data-order');\n setSelectedPageIndex(parseInt(order, 10));\n if (!e.target.classList.contains('controllerItem')) { // for page thumbnails actions\n scrollToTarget(`pageActions-id-${order}`);\n }\n resetSelectedPageIndex();\n }, [resetSelectedPageIndex]);\n\n const handlePageAdd = useCallback(index => {\n setSelectedPageIndex(index);\n onPageAdd(index);\n }, [onPageAdd]);\n\n const handlePageDuplicate = useCallback(index => {\n setSelectedPageIndex(index);\n onPageDuplicate(index);\n }, [onPageDuplicate]);\n\n const handlePageRemove = useCallback(index => {\n setSelectedPageIndex(index);\n onPageRemove(index);\n }, [onPageRemove]);\n\n useEffect(() => { // after new page added\n scrollToTarget(`pageActions-id-${selectedPageIndex}`, 0, { behavior: 'smooth' });\n resetSelectedPageIndex();\n }, [resetSelectedPageIndex, selectedPageIndex]);\n\n return (\n <>\n <div\n style={{\n height: '100%', margin: '25px 10px', position: 'relative', width: '100%',\n }}\n >\n <Component\n ref={refSetter}\n height=\"100%\"\n onPageAdd={handlePageAdd}\n onPageClick={onPageClick}\n onPageDuplicate={handlePageDuplicate}\n onPageRemove={handlePageRemove}\n onSortEnd={_onSortEnd}\n pageContainerStyle={pageContainerStyles}\n pageCount={pageCount}\n pageGetter={pageGetter}\n width=\"100%\"\n />\n </div>\n <div className=\"jfReport-pane-footer\">\n <PageAdder additionalClass=\"forOptions\" />\n </div>\n </>\n );\n};\n\nListWrapper.propTypes = {\n component: PropTypes.any,\n onSortEnd: PropTypes.func,\n pageGetter: PropTypes.func,\n};\n\nexport default memo(ListWrapper);\n"],"names":["ListWrapper","component","Component","onSortEnd","pageGetter","pages","usePropStore","state","pageCount","useMemo","length","onPageAdd","onPageDuplicate","onPageRemove","reportSettings","settings","listRef","useRef","useState","selectedPageIndex","setSelectedPageIndex","reportBackgroundColor","reportLayoutHeight","reportLayoutWidth","width","parseInt","height","getScaleForPageThumbnail","left","scale","top","pageContainerStyles","backgroundColor","transform","transformOrigin","_onSortEnd","useCallback","newIndex","oldIndex","current","refSetter","outerRef","usePageVisibility","index","Number","isNaN","scrollToIndex","prevSelectedThumbnail","document","querySelector","classList","remove","nextSelectedThumbnail","add","resetSelectedPageIndex","setTimeout","onPageClick","e","order","target","getAttribute","contains","scrollToTarget","handlePageAdd","handlePageDuplicate","handlePageRemove","useEffect","behavior","_jsxs","_jsx","margin","position","propTypes","PropTypes","any","func","memo"],"mappings":"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"}
@@ -1,20 +1,30 @@
1
1
  import { memo } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { useTranslatedTexts } from '../../../utils/hooks.js';
4
+ import { usePropStore } from '../../../contexts/PropContext.js';
4
5
  import { jsx, jsxs } from 'react/jsx-runtime';
5
6
  import SvgDuplicate from '../../../assets/svg/duplicate.svg.js';
6
7
  import SvgTrash from '../../../assets/svg/trash.svg.js';
7
8
  import SvgPlus from '../../../assets/svg/plus.svg.js';
8
9
 
9
10
  var PageThumbnailActions = function PageThumbnailActions(_ref) {
10
- var disableInteraction = _ref.disableInteraction,
11
- onAnEventTrigger = _ref.onAnEventTrigger,
12
- onPageAdd = _ref.onPageAdd,
13
- onPageDuplicate = _ref.onPageDuplicate,
14
- onPageRemove = _ref.onPageRemove,
15
- order = _ref.order,
16
- page = _ref.page;
11
+ var _ref$onPageAdd = _ref.onPageAdd,
12
+ onPageAdd = _ref$onPageAdd === void 0 ? function () {} : _ref$onPageAdd,
13
+ _ref$onPageDuplicate = _ref.onPageDuplicate,
14
+ onPageDuplicate = _ref$onPageDuplicate === void 0 ? function () {} : _ref$onPageDuplicate,
15
+ _ref$onPageRemove = _ref.onPageRemove,
16
+ onPageRemove = _ref$onPageRemove === void 0 ? function () {} : _ref$onPageRemove,
17
+ _ref$order = _ref.order,
18
+ order = _ref$order === void 0 ? 0 : _ref$order,
19
+ _ref$page = _ref.page,
20
+ page = _ref$page === void 0 ? {} : _ref$page;
17
21
  var nextPageIndex = order + 1;
22
+ var disableInteraction = usePropStore(function (state) {
23
+ return state.disableInteraction;
24
+ });
25
+ var onAnEventTrigger = usePropStore(function (state) {
26
+ return state.onAnEventTrigger;
27
+ });
18
28
 
19
29
  var onPageDuplicateClick = function onPageDuplicateClick() {
20
30
  onPageDuplicate(page);
@@ -80,8 +90,6 @@ var PageThumbnailActions = function PageThumbnailActions(_ref) {
80
90
  };
81
91
 
82
92
  PageThumbnailActions.propTypes = {
83
- disableInteraction: PropTypes.arrayOf(PropTypes.string),
84
- onAnEventTrigger: PropTypes.func,
85
93
  onPageAdd: PropTypes.func,
86
94
  onPageDuplicate: PropTypes.func,
87
95
  onPageRemove: PropTypes.func,
@@ -90,15 +98,6 @@ PageThumbnailActions.propTypes = {
90
98
  id: PropTypes.string
91
99
  })
92
100
  };
93
- PageThumbnailActions.defaultProps = {
94
- disableInteraction: [],
95
- onAnEventTrigger: function onAnEventTrigger() {},
96
- onPageAdd: function onPageAdd() {},
97
- onPageDuplicate: function onPageDuplicate() {},
98
- onPageRemove: function onPageRemove() {},
99
- order: 0,
100
- page: {}
101
- };
102
101
  var PageThumbnailActions$1 = /*#__PURE__*/memo(PageThumbnailActions);
103
102
 
104
103
  export default PageThumbnailActions$1;
@@ -1 +1 @@
1
- {"version":3,"file":"PageThumbnailActions.js","sources":["../../../../../src/components/Panels/SlidesPanel/PageThumbnailActions.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport * as icons from '../../../utils/icons';\nimport { useTranslatedTexts } from '../../../utils/hooks';\n\nconst PageThumbnailActions = ({\n disableInteraction,\n onAnEventTrigger,\n onPageAdd,\n onPageDuplicate,\n onPageRemove,\n order,\n page,\n}) => {\n const nextPageIndex = order + 1;\n\n const onPageDuplicateClick = () => {\n onPageDuplicate(page);\n onAnEventTrigger('duplicatePage', nextPageIndex);\n };\n\n const onPageRemoveClick = () => {\n onPageRemove(page.id);\n onAnEventTrigger('removePageFromSlides', page.id);\n };\n\n const onPageAddClick = () => {\n onPageAdd(nextPageIndex);\n onAnEventTrigger('addNewPageFromSlides', nextPageIndex);\n };\n\n const { ADD_NEW_PAGE, DUPLICATE_PAGE, REMOVE_PAGE } = useTranslatedTexts();\n return (\n <div\n className=\"thumbnailActions d-flex dir-col f-height j-center\"\n id={`pageActions-id-${order}`}\n >\n <div className=\"floatingController forPageAction forSlides\">\n <div className=\"floatingController-container\">\n <button\n key=\"Duplicate Page\"\n className=\"controllerItem\"\n data-order={nextPageIndex}\n disabled={disableInteraction.indexOf('duplicate') > -1}\n onClick={onPageDuplicateClick}\n title={DUPLICATE_PAGE}\n type=\"button\"\n >\n <icons.duplicate className=\"jfReportSVG icon-duplicateLine\" />\n </button>\n <button\n key=\"Remove Slide\"\n className=\"controllerItem isDanger\"\n data-order={order}\n disabled={disableInteraction.indexOf('remove') > -1}\n onClick={onPageRemoveClick}\n title={REMOVE_PAGE}\n type=\"button\"\n >\n <icons.trash className=\"jfReportSVG icon-trashLine\" />\n </button>\n <button\n key=\"Add Slide\"\n className=\"controllerItem\"\n data-order={nextPageIndex}\n disabled={disableInteraction.indexOf('add') > -1}\n onClick={onPageAddClick}\n title={ADD_NEW_PAGE}\n type=\"button\"\n >\n <icons.plus className=\"jfReportSVG icon-plus\" />\n </button>\n </div>\n </div>\n </div>\n );\n};\n\nPageThumbnailActions.propTypes = {\n disableInteraction: PropTypes.arrayOf(PropTypes.string),\n onAnEventTrigger: PropTypes.func,\n onPageAdd: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageRemove: PropTypes.func,\n order: PropTypes.number,\n page: PropTypes.shape({\n id: PropTypes.string,\n }),\n};\n\nPageThumbnailActions.defaultProps = {\n disableInteraction: [],\n onAnEventTrigger: () => {},\n onPageAdd: () => {},\n onPageDuplicate: () => {},\n onPageRemove: () => {},\n order: 0,\n page: {},\n};\n\nexport default memo(PageThumbnailActions);\n"],"names":["PageThumbnailActions","disableInteraction","onAnEventTrigger","onPageAdd","onPageDuplicate","onPageRemove","order","page","nextPageIndex","onPageDuplicateClick","onPageRemoveClick","id","onPageAddClick","useTranslatedTexts","ADD_NEW_PAGE","DUPLICATE_PAGE","REMOVE_PAGE","_jsx","_jsxs","indexOf","icons.duplicate","icons.trash","icons.plus","propTypes","PropTypes","arrayOf","string","func","number","shape","defaultProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"PageThumbnailActions.js","sources":["../../../../../src/components/Panels/SlidesPanel/PageThumbnailActions.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport * as icons from '../../../utils/icons';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst PageThumbnailActions = ({\n onPageAdd = () => {},\n onPageDuplicate = () => {},\n onPageRemove = () => {},\n order = 0,\n page = {},\n}) => {\n const nextPageIndex = order + 1;\n const disableInteraction = usePropStore(state => state.disableInteraction);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const onPageDuplicateClick = () => {\n onPageDuplicate(page);\n onAnEventTrigger('duplicatePage', nextPageIndex);\n };\n\n const onPageRemoveClick = () => {\n onPageRemove(page.id);\n onAnEventTrigger('removePageFromSlides', page.id);\n };\n\n const onPageAddClick = () => {\n onPageAdd(nextPageIndex);\n onAnEventTrigger('addNewPageFromSlides', nextPageIndex);\n };\n\n const { ADD_NEW_PAGE, DUPLICATE_PAGE, REMOVE_PAGE } = useTranslatedTexts();\n return (\n <div\n className=\"thumbnailActions d-flex dir-col f-height j-center\"\n id={`pageActions-id-${order}`}\n >\n <div className=\"floatingController forPageAction forSlides\">\n <div className=\"floatingController-container\">\n <button\n key=\"Duplicate Page\"\n className=\"controllerItem\"\n data-order={nextPageIndex}\n disabled={disableInteraction.indexOf('duplicate') > -1}\n onClick={onPageDuplicateClick}\n title={DUPLICATE_PAGE}\n type=\"button\"\n >\n <icons.duplicate className=\"jfReportSVG icon-duplicateLine\" />\n </button>\n <button\n key=\"Remove Slide\"\n className=\"controllerItem isDanger\"\n data-order={order}\n disabled={disableInteraction.indexOf('remove') > -1}\n onClick={onPageRemoveClick}\n title={REMOVE_PAGE}\n type=\"button\"\n >\n <icons.trash className=\"jfReportSVG icon-trashLine\" />\n </button>\n <button\n key=\"Add Slide\"\n className=\"controllerItem\"\n data-order={nextPageIndex}\n disabled={disableInteraction.indexOf('add') > -1}\n onClick={onPageAddClick}\n title={ADD_NEW_PAGE}\n type=\"button\"\n >\n <icons.plus className=\"jfReportSVG icon-plus\" />\n </button>\n </div>\n </div>\n </div>\n );\n};\n\nPageThumbnailActions.propTypes = {\n onPageAdd: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageRemove: PropTypes.func,\n order: PropTypes.number,\n page: PropTypes.shape({\n id: PropTypes.string,\n }),\n};\n\nexport default memo(PageThumbnailActions);\n"],"names":["PageThumbnailActions","onPageAdd","onPageDuplicate","onPageRemove","order","page","nextPageIndex","disableInteraction","usePropStore","state","onAnEventTrigger","onPageDuplicateClick","onPageRemoveClick","id","onPageAddClick","useTranslatedTexts","ADD_NEW_PAGE","DUPLICATE_PAGE","REMOVE_PAGE","_jsx","_jsxs","indexOf","icons.duplicate","icons.trash","icons.plus","propTypes","PropTypes","func","number","shape","string","memo"],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  import { memo, useState, useCallback } from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import classNames from 'classnames';
4
- import { FixedSizeList } from 'react-window';
5
3
  import Panel from '../../Builder/Panel.js';
6
4
  import SortablePageList from './SortablePageList.js';
7
5
  import Section from '../../Builder/Section.js';
8
- import { useBuilderContext } from '../../../utils/builderContext.js';
9
- import { usePropContext } from '../../../utils/propContext.js';
6
+ import { useBuilderStore } from '../../../contexts/BuilderContext.js';
7
+ import { usePropStore } from '../../../contexts/PropContext.js';
10
8
  import { arrayMove } from '../../../utils/functions.js';
11
9
  import SlidesPanelToggler from './SlidesPanelToggler.js';
12
10
  import ListWrapper from './ListWrapper.js';
@@ -26,28 +24,31 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
26
24
 
27
25
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
28
26
 
29
- var SlidesPanel = function SlidesPanel(_ref) {
30
- var additionalPageItems = _ref.additionalPageItems,
31
- hashCode = _ref.hashCode,
32
- itemAccessor = _ref.itemAccessor,
33
- onPageAdd = _ref.onPageAdd,
34
- onPageDuplicate = _ref.onPageDuplicate,
35
- onPageOrdersChange = _ref.onPageOrdersChange,
36
- onPageRemove = _ref.onPageRemove,
37
- pages = _ref.pages;
38
-
39
- var _useBuilderContext = useBuilderContext(),
40
- isRightPanelOpen = _useBuilderContext.isRightPanelOpen,
41
- isSlidesPanelOpen = _useBuilderContext.isSlidesPanelOpen,
42
- setIsAllSlidesPanelOpen = _useBuilderContext.setIsAllSlidesPanelOpen,
43
- setIsSlidesPanelOpen = _useBuilderContext.setIsSlidesPanelOpen;
44
-
45
- var _usePropContext = usePropContext(),
46
- acceptedItems = _usePropContext.acceptedItems,
47
- disableInteraction = _usePropContext.disableInteraction,
48
- onAnEventTrigger = _usePropContext.onAnEventTrigger,
49
- reportSettings = _usePropContext.settings,
50
- useExperimentalFeatures = _usePropContext.useExperimentalFeatures;
27
+ var SlidesPanel = function SlidesPanel() {
28
+ var isRightPanelOpen = useBuilderStore(function (state) {
29
+ return state.isRightPanelOpen;
30
+ });
31
+ var setIsAllSlidesPanelOpen = useBuilderStore(function (state) {
32
+ return state.setIsAllSlidesPanelOpen;
33
+ });
34
+ var isSlidesPanelOpen = useBuilderStore(function (state) {
35
+ return state.isSlidesPanelOpen;
36
+ });
37
+ var setIsSlidesPanelOpen = useBuilderStore(function (state) {
38
+ return state.setIsSlidesPanelOpen;
39
+ });
40
+ var pages = usePropStore(function (state) {
41
+ return state.pages;
42
+ });
43
+ var onPageOrdersChange = usePropStore(function (state) {
44
+ return state.onPageOrdersChange;
45
+ });
46
+ var onAnEventTrigger = usePropStore(function (state) {
47
+ return state.onAnEventTrigger;
48
+ });
49
+ var useExperimentalFeatures = usePropStore(function (state) {
50
+ return state.useExperimentalFeatures;
51
+ });
51
52
 
52
53
  var _useState = useState(true),
53
54
  _useState2 = _slicedToArray(_useState, 2),
@@ -57,11 +58,9 @@ var SlidesPanel = function SlidesPanel(_ref) {
57
58
  var pageGetter = useCallback(function (index) {
58
59
  return pages[index];
59
60
  }, [pages]);
60
- var onPageSort = useCallback(function (_ref2, nativeEvent, ref) {
61
- var newIndex = _ref2.newIndex,
62
- oldIndex = _ref2.oldIndex;
63
- var instance = ref.getWrappedInstance();
64
- var list = instance.sortablePageListRef.current;
61
+ var onPageSort = useCallback(function (_ref) {
62
+ var newIndex = _ref.newIndex,
63
+ oldIndex = _ref.oldIndex;
65
64
  var newPageOrders = arrayMove(pages, oldIndex, newIndex).reduce(function (acc, page, index) {
66
65
  acc[page.id] = {
67
66
  order: index + 1
@@ -70,8 +69,7 @@ var SlidesPanel = function SlidesPanel(_ref) {
70
69
  }, {});
71
70
  onPageOrdersChange(newPageOrders);
72
71
  onAnEventTrigger('sortPageFromSlides');
73
- list.forceUpdate();
74
- }, [pages]); // Panel className
72
+ }, [pages, onPageOrdersChange, onAnEventTrigger]); // Panel className
75
73
 
76
74
  var panelAdditionalClassName = classNames('jfReport-settings forSlides f-height', {
77
75
  isIdle: !isSlidesPanelOpen,
@@ -114,20 +112,9 @@ var SlidesPanel = function SlidesPanel(_ref) {
114
112
  children: /*#__PURE__*/jsx("div", {
115
113
  className: "toolItem-tabContent hasInnerScroll",
116
114
  children: /*#__PURE__*/jsx(ListWrapper, {
117
- acceptedItems: acceptedItems,
118
- additionalPageItems: additionalPageItems,
119
- component: SortablePageList(FixedSizeList),
120
- disableInteraction: disableInteraction,
121
- hashCode: hashCode,
122
- itemAccessor: itemAccessor,
123
- onAnEventTrigger: onAnEventTrigger,
124
- onPageAdd: onPageAdd,
125
- onPageDuplicate: onPageDuplicate,
126
- onPageRemove: onPageRemove,
115
+ component: SortablePageList(),
127
116
  onSortEnd: onPageSort,
128
- pageCount: pages.length,
129
- pageGetter: pageGetter,
130
- reportSettings: reportSettings
117
+ pageGetter: pageGetter
131
118
  })
132
119
  })
133
120
  })
@@ -135,26 +122,6 @@ var SlidesPanel = function SlidesPanel(_ref) {
135
122
  });
136
123
  };
137
124
 
138
- SlidesPanel.propTypes = {
139
- additionalPageItems: PropTypes.arrayOf(PropTypes.node),
140
- hashCode: PropTypes.string,
141
- itemAccessor: PropTypes.func,
142
- onPageAdd: PropTypes.func,
143
- onPageDuplicate: PropTypes.func,
144
- onPageOrdersChange: PropTypes.func,
145
- onPageRemove: PropTypes.func,
146
- pages: PropTypes.arrayOf(PropTypes.shape({}))
147
- };
148
- SlidesPanel.defaultProps = {
149
- additionalPageItems: [],
150
- hashCode: '',
151
- itemAccessor: function itemAccessor() {},
152
- onPageAdd: function onPageAdd() {},
153
- onPageDuplicate: function onPageDuplicate() {},
154
- onPageOrdersChange: function onPageOrdersChange() {},
155
- onPageRemove: function onPageRemove() {},
156
- pages: []
157
- };
158
125
  var SlidesPanel$1 = /*#__PURE__*/memo(SlidesPanel);
159
126
 
160
127
  export default SlidesPanel$1;
@@ -1 +1 @@
1
- {"version":3,"file":"SlidesPanel.js","sources":["../../../../../src/components/Panels/SlidesPanel/SlidesPanel.js"],"sourcesContent":["import { memo, useCallback, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FixedSizeList } from 'react-window';\nimport Panel from '../../Builder/Panel';\nimport SortablePageList from './SortablePageList';\nimport Section from '../../Builder/Section';\nimport { useBuilderContext } from '../../../utils/builderContext';\nimport { usePropContext } from '../../../utils/propContext';\nimport { arrayMove } from '../../../utils/functions';\nimport SlidesPanelToggler from './SlidesPanelToggler';\nimport ListWrapper from './ListWrapper';\nimport Button from '../../Settings/Button';\nimport { useClickOutsideListener, useTranslatedTexts } from '../../../utils/hooks';\n\nconst SlidesPanel = ({\n additionalPageItems,\n hashCode,\n itemAccessor,\n onPageAdd,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n pages,\n}) => {\n const {\n isRightPanelOpen,\n isSlidesPanelOpen,\n setIsAllSlidesPanelOpen,\n setIsSlidesPanelOpen,\n } = useBuilderContext();\n const {\n acceptedItems,\n disableInteraction,\n onAnEventTrigger,\n settings: reportSettings,\n useExperimentalFeatures,\n } = usePropContext();\n const [animationEnd, setAnimationEnd] = useState(true);\n\n const pageGetter = useCallback(index => {\n return pages[index];\n }, [pages]);\n\n const onPageSort = useCallback(({ newIndex, oldIndex }, nativeEvent, ref) => {\n const instance = ref.getWrappedInstance();\n const list = instance.sortablePageListRef.current;\n\n const newPageOrders = arrayMove(pages, oldIndex, newIndex).reduce((acc, page, index) => {\n acc[page.id] = { order: index + 1 };\n return acc;\n }, {});\n\n onPageOrdersChange(newPageOrders);\n onAnEventTrigger('sortPageFromSlides');\n\n list.forceUpdate();\n }, [pages]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSlides f-height',\n {\n isIdle: !isSlidesPanelOpen,\n otherOpened: isRightPanelOpen,\n },\n );\n\n const onClosePanel = () => {\n setAnimationEnd(false);\n setIsSlidesPanelOpen(false);\n };\n\n const onAnimationEnd = useCallback(() => {\n if (!isSlidesPanelOpen) {\n setAnimationEnd(true);\n }\n }, [isSlidesPanelOpen]);\n\n useClickOutsideListener(\n ['jfReport-canvas', 'jfReport-viewport', 'jfReport-pageInfo'],\n isSlidesPanelOpen,\n onClosePanel,\n );\n\n const { SLIDES } = useTranslatedTexts();\n\n return (\n <Panel\n additionalClassName={panelAdditionalClassName}\n onAnimationEnd={onAnimationEnd}\n >\n {isRightPanelOpen\n ? null\n : <SlidesPanelToggler onClosePanel={onClosePanel} />}\n {(isSlidesPanelOpen || (!isSlidesPanelOpen && !animationEnd)) && (\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section\n additionalComponent={useExperimentalFeatures ? (\n <Button\n classNames=\"jfReportButton isAccent showAll\"\n icon=\"allSlides\"\n onClick={() => setIsAllSlidesPanelOpen(true)}\n title=\"Show All\"\n />\n ) : null}\n icon=\"slides\"\n title={SLIDES}\n >\n <div className=\"toolItem-tabContent hasInnerScroll\">\n <ListWrapper\n acceptedItems={acceptedItems}\n additionalPageItems={additionalPageItems}\n component={SortablePageList(FixedSizeList)}\n disableInteraction={disableInteraction}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onAnEventTrigger={onAnEventTrigger}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageRemove={onPageRemove}\n onSortEnd={onPageSort}\n pageCount={pages.length}\n pageGetter={pageGetter}\n reportSettings={reportSettings}\n />\n </div>\n </Section>\n </div>\n )}\n </Panel>\n );\n};\n\nSlidesPanel.propTypes = {\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n hashCode: PropTypes.string,\n itemAccessor: PropTypes.func,\n onPageAdd: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageOrdersChange: PropTypes.func,\n onPageRemove: PropTypes.func,\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n};\n\nSlidesPanel.defaultProps = {\n additionalPageItems: [],\n hashCode: '',\n itemAccessor: () => { },\n onPageAdd: () => { },\n onPageDuplicate: () => { },\n onPageOrdersChange: () => { },\n onPageRemove: () => { },\n pages: [],\n};\n\nexport default memo(SlidesPanel);\n"],"names":["SlidesPanel","additionalPageItems","hashCode","itemAccessor","onPageAdd","onPageDuplicate","onPageOrdersChange","onPageRemove","pages","useBuilderContext","isRightPanelOpen","isSlidesPanelOpen","setIsAllSlidesPanelOpen","setIsSlidesPanelOpen","usePropContext","acceptedItems","disableInteraction","onAnEventTrigger","reportSettings","settings","useExperimentalFeatures","useState","animationEnd","setAnimationEnd","pageGetter","useCallback","index","onPageSort","nativeEvent","ref","newIndex","oldIndex","instance","getWrappedInstance","list","sortablePageListRef","current","newPageOrders","arrayMove","reduce","acc","page","id","order","forceUpdate","panelAdditionalClassName","classNames","isIdle","otherOpened","onClosePanel","onAnimationEnd","useClickOutsideListener","useTranslatedTexts","SLIDES","_jsxs","_jsx","SortablePageList","FixedSizeList","length","propTypes","PropTypes","arrayOf","node","string","func","shape","defaultProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"SlidesPanel.js","sources":["../../../../../src/components/Panels/SlidesPanel/SlidesPanel.js"],"sourcesContent":["import { memo, useCallback, useState } from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport SortablePageList from './SortablePageList';\nimport Section from '../../Builder/Section';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { arrayMove } from '../../../utils/functions';\nimport SlidesPanelToggler from './SlidesPanelToggler';\nimport ListWrapper from './ListWrapper';\nimport Button from '../../Settings/Button';\nimport { useClickOutsideListener, useTranslatedTexts } from '../../../utils/hooks';\n\nconst SlidesPanel = () => {\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const setIsAllSlidesPanelOpen = useBuilderStore(state => state.setIsAllSlidesPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const setIsSlidesPanelOpen = useBuilderStore(state => state.setIsSlidesPanelOpen);\n\n const pages = usePropStore(state => state.pages);\n const onPageOrdersChange = usePropStore(state => state.onPageOrdersChange);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const useExperimentalFeatures = usePropStore(state => state.useExperimentalFeatures);\n\n const [animationEnd, setAnimationEnd] = useState(true);\n\n const pageGetter = useCallback(index => {\n return pages[index];\n }, [pages]);\n\n const onPageSort = useCallback(({ newIndex, oldIndex }) => {\n const newPageOrders = arrayMove(pages, oldIndex, newIndex).reduce((acc, page, index) => {\n acc[page.id] = { order: index + 1 };\n return acc;\n }, {});\n\n onPageOrdersChange(newPageOrders);\n onAnEventTrigger('sortPageFromSlides');\n }, [pages, onPageOrdersChange, onAnEventTrigger]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSlides f-height',\n {\n isIdle: !isSlidesPanelOpen,\n otherOpened: isRightPanelOpen,\n },\n );\n\n const onClosePanel = () => {\n setAnimationEnd(false);\n setIsSlidesPanelOpen(false);\n };\n\n const onAnimationEnd = useCallback(() => {\n if (!isSlidesPanelOpen) {\n setAnimationEnd(true);\n }\n }, [isSlidesPanelOpen]);\n\n useClickOutsideListener(\n ['jfReport-canvas', 'jfReport-viewport', 'jfReport-pageInfo'],\n isSlidesPanelOpen,\n onClosePanel,\n );\n\n const { SLIDES } = useTranslatedTexts();\n\n return (\n <Panel\n additionalClassName={panelAdditionalClassName}\n onAnimationEnd={onAnimationEnd}\n >\n {isRightPanelOpen\n ? null\n : <SlidesPanelToggler onClosePanel={onClosePanel} />}\n {(isSlidesPanelOpen || (!isSlidesPanelOpen && !animationEnd)) && (\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section\n additionalComponent={useExperimentalFeatures ? (\n <Button\n classNames=\"jfReportButton isAccent showAll\"\n icon=\"allSlides\"\n onClick={() => setIsAllSlidesPanelOpen(true)}\n title=\"Show All\"\n />\n ) : null}\n icon=\"slides\"\n title={SLIDES}\n >\n <div className=\"toolItem-tabContent hasInnerScroll\">\n <ListWrapper\n component={SortablePageList()}\n onSortEnd={onPageSort}\n pageGetter={pageGetter}\n />\n </div>\n </Section>\n </div>\n )}\n </Panel>\n );\n};\n\nexport default memo(SlidesPanel);\n"],"names":["SlidesPanel","isRightPanelOpen","useBuilderStore","state","setIsAllSlidesPanelOpen","isSlidesPanelOpen","setIsSlidesPanelOpen","pages","usePropStore","onPageOrdersChange","onAnEventTrigger","useExperimentalFeatures","useState","animationEnd","setAnimationEnd","pageGetter","useCallback","index","onPageSort","newIndex","oldIndex","newPageOrders","arrayMove","reduce","acc","page","id","order","panelAdditionalClassName","classNames","isIdle","otherOpened","onClosePanel","onAnimationEnd","useClickOutsideListener","useTranslatedTexts","SLIDES","_jsxs","_jsx","SortablePageList","memo"],"mappings":"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"}