@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
@@ -4,25 +4,16 @@ require('core-js/modules/es.number.constructor.js');
4
4
  require('core-js/modules/es.number.is-nan.js');
5
5
  var React = require('react');
6
6
  var PropTypes = require('prop-types');
7
- var recharts = require('recharts');
8
- var ResponsiveContent = require('../../ResponsiveContent.js');
9
7
  var PageAdder = require('../../Builder/PageAdder.js');
10
8
  var functions = require('../../../utils/functions.js');
11
9
  var hooks = require('../../../utils/hooks.js');
10
+ var PropContext = require('../../../contexts/PropContext.js');
12
11
  var jsxRuntime = require('react/jsx-runtime');
13
12
 
14
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
14
 
16
15
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
17
16
 
18
- var _excluded = ["component", "onSortEnd", "pageCount", "reportSettings"];
19
-
20
- 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; }
21
-
22
- 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; }
23
-
24
- 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; }
25
-
26
17
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
27
18
 
28
19
  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."); }
@@ -35,29 +26,38 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
35
26
 
36
27
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
28
 
38
- 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; }
39
-
40
- 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; }
41
-
42
29
  var ListWrapper = function ListWrapper(_ref) {
43
- var Component = _ref.component,
44
- onSortEnd = _ref.onSortEnd,
45
- pageCount = _ref.pageCount,
46
- reportSettings = _ref.reportSettings,
47
- otherProps = _objectWithoutProperties(_ref, _excluded);
48
-
49
- var outerRef = React.useRef(null);
30
+ var _ref$component = _ref.component,
31
+ Component = _ref$component === void 0 ? null : _ref$component,
32
+ _ref$onSortEnd = _ref.onSortEnd,
33
+ onSortEnd = _ref$onSortEnd === void 0 ? function () {} : _ref$onSortEnd,
34
+ _ref$pageGetter = _ref.pageGetter,
35
+ pageGetter = _ref$pageGetter === void 0 ? function () {} : _ref$pageGetter;
36
+ var pages = PropContext.usePropStore(function (state) {
37
+ return state.pages;
38
+ });
39
+ var pageCount = React.useMemo(function () {
40
+ return pages.length;
41
+ }, [pages]);
42
+ var onPageAdd = PropContext.usePropStore(function (state) {
43
+ return state.onPageAdd;
44
+ });
45
+ var onPageDuplicate = PropContext.usePropStore(function (state) {
46
+ return state.onPageDuplicate;
47
+ });
48
+ var onPageRemove = PropContext.usePropStore(function (state) {
49
+ return state.onPageRemove;
50
+ });
51
+ var reportSettings = PropContext.usePropStore(function (state) {
52
+ return state.settings;
53
+ });
54
+ var listRef = React.useRef(null);
50
55
 
51
56
  var _useState = React.useState(-1),
52
57
  _useState2 = _slicedToArray(_useState, 2),
53
58
  selectedPageIndex = _useState2[0],
54
59
  setSelectedPageIndex = _useState2[1];
55
60
 
56
- var _useState3 = React.useState(true),
57
- _useState4 = _slicedToArray(_useState3, 2),
58
- scrollTracking = _useState4[0],
59
- setScrollTracking = _useState4[1];
60
-
61
61
  var reportBackgroundColor = reportSettings.reportBackgroundColor,
62
62
  _reportSettings$repor = reportSettings.reportLayoutHeight,
63
63
  reportLayoutHeight = _reportSettings$repor === void 0 ? 794 : _reportSettings$repor,
@@ -81,86 +81,107 @@ var ListWrapper = function ListWrapper(_ref) {
81
81
  transformOrigin: '0 0',
82
82
  width: width
83
83
  };
84
- }, [reportSettings]);
84
+ }, [height, left, scale, top, width, reportBackgroundColor]);
85
+
86
+ var _onSortEnd = React.useCallback(function (_ref2) {
87
+ var newIndex = _ref2.newIndex,
88
+ oldIndex = _ref2.oldIndex;
85
89
 
86
- var _onSortEnd = function _onSortEnd(sortEvent, nativeEvent) {
87
90
  if (onSortEnd) {
88
- onSortEnd(sortEvent, nativeEvent, outerRef.current);
91
+ onSortEnd({
92
+ newIndex: newIndex,
93
+ oldIndex: oldIndex
94
+ }, null, listRef.current);
89
95
  }
90
- };
96
+ }, [onSortEnd]);
91
97
 
92
- React.useEffect(function () {
93
- // for page thumbnails actions
94
- if (!scrollTracking) {
95
- functions.scrollToTarget("pageActions-id-".concat(selectedPageIndex), 0, {});
96
- setScrollTracking(true);
98
+ var refSetter = React.useCallback(function (outerRef) {
99
+ if (outerRef) {
100
+ listRef.current = outerRef;
97
101
  }
98
- }, [pageCount]);
102
+ }, []);
99
103
  hooks.usePageVisibility(function (index) {
100
- if (scrollTracking && index !== selectedPageIndex && !Number.isNaN(index)) {
101
- var instance = outerRef.current.getWrappedInstance();
102
- var list = instance.sortableOuterRef.current;
103
- setSelectedPageIndex(index);
104
-
105
- if (selectedPageIndex === -1 && index !== 1) {
106
- setTimeout(function () {
107
- list.scrollTo({
108
- behavior: 'smooth',
109
- top: (index - 1) * 120 + 7
110
- });
111
- }, 300);
112
- } else {
113
- list.scrollTo({
114
- behavior: 'smooth',
115
- top: (index - 1) * 120 + 7
116
- });
104
+ if (index && !Number.isNaN(index)) {
105
+ var _listRef$current;
106
+
107
+ if ((_listRef$current = listRef.current) !== null && _listRef$current !== void 0 && _listRef$current.scrollToIndex) {
108
+ listRef.current.scrollToIndex(index, 'center');
109
+ }
110
+
111
+ var prevSelectedThumbnail = document.querySelector('.thumbnailWrapper.isSelected');
112
+
113
+ if (prevSelectedThumbnail) {
114
+ prevSelectedThumbnail.classList.remove('isSelected');
115
+ }
116
+
117
+ var nextSelectedThumbnail = document.querySelector(".thumbnailWrapper[data-order=\"".concat(index, "\"]"));
118
+
119
+ if (nextSelectedThumbnail) {
120
+ nextSelectedThumbnail.classList.add('isSelected');
117
121
  }
118
- } else if (!scrollTracking && index === selectedPageIndex) {
119
- setScrollTracking(true);
120
122
  }
121
- }, scrollTracking, pageCount, selectedPageIndex);
123
+ }, pageCount, selectedPageIndex); // TODO: could be better than now. scrollend listener is a choice for some cases
124
+
125
+ var resetSelectedPageIndex = React.useCallback(function () {
126
+ setTimeout(function () {
127
+ setSelectedPageIndex(-1);
128
+ }, 1000);
129
+ }, []);
122
130
  var onPageClick = React.useCallback(function (e) {
123
131
  var order = e.target.getAttribute('data-order');
124
- setScrollTracking(false);
125
132
  setSelectedPageIndex(parseInt(order, 10));
126
133
 
127
134
  if (!e.target.classList.contains('controllerItem')) {
128
135
  // for page thumbnails actions
129
136
  functions.scrollToTarget("pageActions-id-".concat(order));
130
137
  }
131
- }, [selectedPageIndex]);
132
138
 
133
- var onPageAdd = function onPageAdd(index) {
134
- setScrollTracking(false);
139
+ resetSelectedPageIndex();
140
+ }, [resetSelectedPageIndex]);
141
+ var handlePageAdd = React.useCallback(function (index) {
135
142
  setSelectedPageIndex(index);
136
- otherProps.onPageAdd(index);
137
- };
138
-
143
+ onPageAdd(index);
144
+ }, [onPageAdd]);
145
+ var handlePageDuplicate = React.useCallback(function (index) {
146
+ setSelectedPageIndex(index);
147
+ onPageDuplicate(index);
148
+ }, [onPageDuplicate]);
149
+ var handlePageRemove = React.useCallback(function (index) {
150
+ setSelectedPageIndex(index);
151
+ onPageRemove(index);
152
+ }, [onPageRemove]);
153
+ React.useEffect(function () {
154
+ // after new page added
155
+ functions.scrollToTarget("pageActions-id-".concat(selectedPageIndex), 0, {
156
+ behavior: 'smooth'
157
+ });
158
+ resetSelectedPageIndex();
159
+ }, [resetSelectedPageIndex, selectedPageIndex]);
139
160
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
140
- children: [/*#__PURE__*/jsxRuntime.jsx(recharts.ResponsiveContainer, {
141
- children: /*#__PURE__*/jsxRuntime.jsx(ResponsiveContent, {
142
- children: function children(containerWidth, containerHeight) {
143
- return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({
144
- ref: outerRef,
145
- distance: 50,
146
- height: containerHeight,
147
- helperClass: "pageThumbnailHelper",
148
- lockAxis: "y",
149
- onPageClick: onPageClick,
150
- onSortEnd: _onSortEnd,
151
- pageContainerStyle: pageContainerStyles,
152
- pageCount: pageCount,
153
- selectedPageIndex: selectedPageIndex,
154
- width: containerWidth
155
- }, otherProps));
156
- }
161
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
162
+ style: {
163
+ height: '100%',
164
+ margin: '25px 10px',
165
+ position: 'relative',
166
+ width: '100%'
167
+ },
168
+ children: /*#__PURE__*/jsxRuntime.jsx(Component, {
169
+ ref: refSetter,
170
+ height: "100%",
171
+ onPageAdd: handlePageAdd,
172
+ onPageClick: onPageClick,
173
+ onPageDuplicate: handlePageDuplicate,
174
+ onPageRemove: handlePageRemove,
175
+ onSortEnd: _onSortEnd,
176
+ pageContainerStyle: pageContainerStyles,
177
+ pageCount: pageCount,
178
+ pageGetter: pageGetter,
179
+ width: "100%"
157
180
  })
158
181
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
159
182
  className: "jfReport-pane-footer",
160
183
  children: /*#__PURE__*/jsxRuntime.jsx(PageAdder, {
161
- additionalClass: "forOptions",
162
- onPageAdd: onPageAdd,
163
- pageCount: pageCount
184
+ additionalClass: "forOptions"
164
185
  })
165
186
  })]
166
187
  });
@@ -169,18 +190,7 @@ var ListWrapper = function ListWrapper(_ref) {
169
190
  ListWrapper.propTypes = {
170
191
  component: PropTypes__default['default'].any,
171
192
  onSortEnd: PropTypes__default['default'].func,
172
- pageCount: PropTypes__default['default'].number,
173
- reportSettings: PropTypes__default['default'].shape({
174
- reportBackgroundColor: PropTypes__default['default'].string,
175
- reportLayoutHeight: PropTypes__default['default'].string,
176
- reportLayoutWidth: PropTypes__default['default'].string
177
- })
178
- };
179
- ListWrapper.defaultProps = {
180
- component: null,
181
- onSortEnd: function onSortEnd() {},
182
- pageCount: 0,
183
- reportSettings: {}
193
+ pageGetter: PropTypes__default['default'].func
184
194
  };
185
195
  var ListWrapper$1 = /*#__PURE__*/React.memo(ListWrapper);
186
196
 
@@ -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","ResponsiveContainer","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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"}
@@ -3,6 +3,7 @@
3
3
  var React = require('react');
4
4
  var PropTypes = require('prop-types');
5
5
  var hooks = require('../../../utils/hooks.js');
6
+ var PropContext = require('../../../contexts/PropContext.js');
6
7
  var jsxRuntime = require('react/jsx-runtime');
7
8
  var duplicate = require('../../../assets/svg/duplicate.svg.js');
8
9
  var trash = require('../../../assets/svg/trash.svg.js');
@@ -13,14 +14,23 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
13
14
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
14
15
 
15
16
  var PageThumbnailActions = function PageThumbnailActions(_ref) {
16
- var disableInteraction = _ref.disableInteraction,
17
- onAnEventTrigger = _ref.onAnEventTrigger,
18
- onPageAdd = _ref.onPageAdd,
19
- onPageDuplicate = _ref.onPageDuplicate,
20
- onPageRemove = _ref.onPageRemove,
21
- order = _ref.order,
22
- page = _ref.page;
17
+ var _ref$onPageAdd = _ref.onPageAdd,
18
+ onPageAdd = _ref$onPageAdd === void 0 ? function () {} : _ref$onPageAdd,
19
+ _ref$onPageDuplicate = _ref.onPageDuplicate,
20
+ onPageDuplicate = _ref$onPageDuplicate === void 0 ? function () {} : _ref$onPageDuplicate,
21
+ _ref$onPageRemove = _ref.onPageRemove,
22
+ onPageRemove = _ref$onPageRemove === void 0 ? function () {} : _ref$onPageRemove,
23
+ _ref$order = _ref.order,
24
+ order = _ref$order === void 0 ? 0 : _ref$order,
25
+ _ref$page = _ref.page,
26
+ page = _ref$page === void 0 ? {} : _ref$page;
23
27
  var nextPageIndex = order + 1;
28
+ var disableInteraction = PropContext.usePropStore(function (state) {
29
+ return state.disableInteraction;
30
+ });
31
+ var onAnEventTrigger = PropContext.usePropStore(function (state) {
32
+ return state.onAnEventTrigger;
33
+ });
24
34
 
25
35
  var onPageDuplicateClick = function onPageDuplicateClick() {
26
36
  onPageDuplicate(page);
@@ -86,8 +96,6 @@ var PageThumbnailActions = function PageThumbnailActions(_ref) {
86
96
  };
87
97
 
88
98
  PageThumbnailActions.propTypes = {
89
- disableInteraction: PropTypes__default['default'].arrayOf(PropTypes__default['default'].string),
90
- onAnEventTrigger: PropTypes__default['default'].func,
91
99
  onPageAdd: PropTypes__default['default'].func,
92
100
  onPageDuplicate: PropTypes__default['default'].func,
93
101
  onPageRemove: PropTypes__default['default'].func,
@@ -96,15 +104,6 @@ PageThumbnailActions.propTypes = {
96
104
  id: PropTypes__default['default'].string
97
105
  })
98
106
  };
99
- PageThumbnailActions.defaultProps = {
100
- disableInteraction: [],
101
- onAnEventTrigger: function onAnEventTrigger() {},
102
- onPageAdd: function onPageAdd() {},
103
- onPageDuplicate: function onPageDuplicate() {},
104
- onPageRemove: function onPageRemove() {},
105
- order: 0,
106
- page: {}
107
- };
108
107
  var PageThumbnailActions$1 = /*#__PURE__*/React.memo(PageThumbnailActions);
109
108
 
110
109
  module.exports = 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,14 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var PropTypes = require('prop-types');
5
4
  var classNames = require('classnames');
6
- var reactWindow = require('react-window');
7
5
  var Panel = require('../../Builder/Panel.js');
8
6
  var SortablePageList = require('./SortablePageList.js');
9
7
  var Section = require('../../Builder/Section.js');
10
- var builderContext = require('../../../utils/builderContext.js');
11
- var propContext = require('../../../utils/propContext.js');
8
+ var BuilderContext = require('../../../contexts/BuilderContext.js');
9
+ var PropContext = require('../../../contexts/PropContext.js');
12
10
  var functions = require('../../../utils/functions.js');
13
11
  var SlidesPanelToggler = require('./SlidesPanelToggler.js');
14
12
  var ListWrapper = require('./ListWrapper.js');
@@ -18,7 +16,6 @@ var jsxRuntime = require('react/jsx-runtime');
18
16
 
19
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
18
 
21
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
22
19
  var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
23
20
 
24
21
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@@ -33,28 +30,31 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
33
30
 
34
31
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
35
32
 
36
- var SlidesPanel = function SlidesPanel(_ref) {
37
- var additionalPageItems = _ref.additionalPageItems,
38
- hashCode = _ref.hashCode,
39
- itemAccessor = _ref.itemAccessor,
40
- onPageAdd = _ref.onPageAdd,
41
- onPageDuplicate = _ref.onPageDuplicate,
42
- onPageOrdersChange = _ref.onPageOrdersChange,
43
- onPageRemove = _ref.onPageRemove,
44
- pages = _ref.pages;
45
-
46
- var _useBuilderContext = builderContext.useBuilderContext(),
47
- isRightPanelOpen = _useBuilderContext.isRightPanelOpen,
48
- isSlidesPanelOpen = _useBuilderContext.isSlidesPanelOpen,
49
- setIsAllSlidesPanelOpen = _useBuilderContext.setIsAllSlidesPanelOpen,
50
- setIsSlidesPanelOpen = _useBuilderContext.setIsSlidesPanelOpen;
51
-
52
- var _usePropContext = propContext.usePropContext(),
53
- acceptedItems = _usePropContext.acceptedItems,
54
- disableInteraction = _usePropContext.disableInteraction,
55
- onAnEventTrigger = _usePropContext.onAnEventTrigger,
56
- reportSettings = _usePropContext.settings,
57
- useExperimentalFeatures = _usePropContext.useExperimentalFeatures;
33
+ var SlidesPanel = function SlidesPanel() {
34
+ var isRightPanelOpen = BuilderContext.useBuilderStore(function (state) {
35
+ return state.isRightPanelOpen;
36
+ });
37
+ var setIsAllSlidesPanelOpen = BuilderContext.useBuilderStore(function (state) {
38
+ return state.setIsAllSlidesPanelOpen;
39
+ });
40
+ var isSlidesPanelOpen = BuilderContext.useBuilderStore(function (state) {
41
+ return state.isSlidesPanelOpen;
42
+ });
43
+ var setIsSlidesPanelOpen = BuilderContext.useBuilderStore(function (state) {
44
+ return state.setIsSlidesPanelOpen;
45
+ });
46
+ var pages = PropContext.usePropStore(function (state) {
47
+ return state.pages;
48
+ });
49
+ var onPageOrdersChange = PropContext.usePropStore(function (state) {
50
+ return state.onPageOrdersChange;
51
+ });
52
+ var onAnEventTrigger = PropContext.usePropStore(function (state) {
53
+ return state.onAnEventTrigger;
54
+ });
55
+ var useExperimentalFeatures = PropContext.usePropStore(function (state) {
56
+ return state.useExperimentalFeatures;
57
+ });
58
58
 
59
59
  var _useState = React.useState(true),
60
60
  _useState2 = _slicedToArray(_useState, 2),
@@ -64,11 +64,9 @@ var SlidesPanel = function SlidesPanel(_ref) {
64
64
  var pageGetter = React.useCallback(function (index) {
65
65
  return pages[index];
66
66
  }, [pages]);
67
- var onPageSort = React.useCallback(function (_ref2, nativeEvent, ref) {
68
- var newIndex = _ref2.newIndex,
69
- oldIndex = _ref2.oldIndex;
70
- var instance = ref.getWrappedInstance();
71
- var list = instance.sortablePageListRef.current;
67
+ var onPageSort = React.useCallback(function (_ref) {
68
+ var newIndex = _ref.newIndex,
69
+ oldIndex = _ref.oldIndex;
72
70
  var newPageOrders = functions.arrayMove(pages, oldIndex, newIndex).reduce(function (acc, page, index) {
73
71
  acc[page.id] = {
74
72
  order: index + 1
@@ -77,8 +75,7 @@ var SlidesPanel = function SlidesPanel(_ref) {
77
75
  }, {});
78
76
  onPageOrdersChange(newPageOrders);
79
77
  onAnEventTrigger('sortPageFromSlides');
80
- list.forceUpdate();
81
- }, [pages]); // Panel className
78
+ }, [pages, onPageOrdersChange, onAnEventTrigger]); // Panel className
82
79
 
83
80
  var panelAdditionalClassName = classNames__default['default']('jfReport-settings forSlides f-height', {
84
81
  isIdle: !isSlidesPanelOpen,
@@ -121,20 +118,9 @@ var SlidesPanel = function SlidesPanel(_ref) {
121
118
  children: /*#__PURE__*/jsxRuntime.jsx("div", {
122
119
  className: "toolItem-tabContent hasInnerScroll",
123
120
  children: /*#__PURE__*/jsxRuntime.jsx(ListWrapper, {
124
- acceptedItems: acceptedItems,
125
- additionalPageItems: additionalPageItems,
126
- component: SortablePageList(reactWindow.FixedSizeList),
127
- disableInteraction: disableInteraction,
128
- hashCode: hashCode,
129
- itemAccessor: itemAccessor,
130
- onAnEventTrigger: onAnEventTrigger,
131
- onPageAdd: onPageAdd,
132
- onPageDuplicate: onPageDuplicate,
133
- onPageRemove: onPageRemove,
121
+ component: SortablePageList(),
134
122
  onSortEnd: onPageSort,
135
- pageCount: pages.length,
136
- pageGetter: pageGetter,
137
- reportSettings: reportSettings
123
+ pageGetter: pageGetter
138
124
  })
139
125
  })
140
126
  })
@@ -142,26 +128,6 @@ var SlidesPanel = function SlidesPanel(_ref) {
142
128
  });
143
129
  };
144
130
 
145
- SlidesPanel.propTypes = {
146
- additionalPageItems: PropTypes__default['default'].arrayOf(PropTypes__default['default'].node),
147
- hashCode: PropTypes__default['default'].string,
148
- itemAccessor: PropTypes__default['default'].func,
149
- onPageAdd: PropTypes__default['default'].func,
150
- onPageDuplicate: PropTypes__default['default'].func,
151
- onPageOrdersChange: PropTypes__default['default'].func,
152
- onPageRemove: PropTypes__default['default'].func,
153
- pages: PropTypes__default['default'].arrayOf(PropTypes__default['default'].shape({}))
154
- };
155
- SlidesPanel.defaultProps = {
156
- additionalPageItems: [],
157
- hashCode: '',
158
- itemAccessor: function itemAccessor() {},
159
- onPageAdd: function onPageAdd() {},
160
- onPageDuplicate: function onPageDuplicate() {},
161
- onPageOrdersChange: function onPageOrdersChange() {},
162
- onPageRemove: function onPageRemove() {},
163
- pages: []
164
- };
165
131
  var SlidesPanel$1 = /*#__PURE__*/React.memo(SlidesPanel);
166
132
 
167
133
  module.exports = 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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"}