@jotforminc/dnd-builder 3.0.0-alpha.2 → 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 (462) 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 +7 -28
  115. package/lib/cjs/components/Preview/StaticItem.js.map +1 -1
  116. package/lib/cjs/components/Preview/StaticPage.js +19 -33
  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 +29 -47
  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/_jfPresentation.scss +0 -18
  205. package/lib/cjs/styles/_jfPrint.scss +17 -1
  206. package/lib/cjs/styles/_jfReportsModal.scss +9 -9
  207. package/lib/cjs/styles/_jfReportsPanels.scss +4 -1
  208. package/lib/cjs/styles/_jfReportsReportItem.scss +1 -1
  209. package/lib/cjs/styles/_jfReportsSVG.scss +0 -1
  210. package/lib/cjs/styles/_jfReportsTextEditor.scss +5 -0
  211. package/lib/cjs/styles/_jfReportsViewModes.scss +2 -5
  212. package/lib/cjs/styles/_jfSearchInput.scss +2 -2
  213. package/lib/cjs/utils/functions.js +19 -23
  214. package/lib/cjs/utils/functions.js.map +1 -1
  215. package/lib/cjs/utils/getDefaultPresentationActions.js +1 -1
  216. package/lib/cjs/utils/getDefaultPresentationActions.js.map +1 -1
  217. package/lib/cjs/utils/hooks.js +64 -47
  218. package/lib/cjs/utils/hooks.js.map +1 -1
  219. package/lib/esm/components/AlignmentGuides.js +11 -12
  220. package/lib/esm/components/AlignmentGuides.js.map +1 -1
  221. package/lib/esm/components/Builder/Builder.js +20 -129
  222. package/lib/esm/components/Builder/Builder.js.map +1 -1
  223. package/lib/esm/components/Builder/BuilderWrapper.js +58 -0
  224. package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -0
  225. package/lib/esm/components/Builder/ContextMenu.js +31 -30
  226. package/lib/esm/components/Builder/ContextMenu.js.map +1 -1
  227. package/lib/esm/components/Builder/DndWrapper.js +10 -10
  228. package/lib/esm/components/Builder/DndWrapper.js.map +1 -1
  229. package/lib/esm/components/Builder/Element.js +50 -43
  230. package/lib/esm/components/Builder/Element.js.map +1 -1
  231. package/lib/esm/components/Builder/Page.js +128 -83
  232. package/lib/esm/components/Builder/Page.js.map +1 -1
  233. package/lib/esm/components/Builder/PageActions.js +35 -37
  234. package/lib/esm/components/Builder/PageActions.js.map +1 -1
  235. package/lib/esm/components/Builder/PageAdder.js +11 -12
  236. package/lib/esm/components/Builder/PageAdder.js.map +1 -1
  237. package/lib/esm/components/Builder/Panel.js +8 -10
  238. package/lib/esm/components/Builder/Panel.js.map +1 -1
  239. package/lib/esm/components/Builder/ReportItemRenderer.js +7 -6
  240. package/lib/esm/components/Builder/ReportItemRenderer.js.map +1 -1
  241. package/lib/esm/components/Builder/Scene.js +77 -203
  242. package/lib/esm/components/Builder/Scene.js.map +1 -1
  243. package/lib/esm/components/Builder/SearchInput.js +28 -58
  244. package/lib/esm/components/Builder/SearchInput.js.map +1 -1
  245. package/lib/esm/components/Builder/Section.js +8 -10
  246. package/lib/esm/components/Builder/Section.js.map +1 -1
  247. package/lib/esm/components/Builder/Tabs.js +19 -16
  248. package/lib/esm/components/Builder/Tabs.js.map +1 -1
  249. package/lib/esm/components/Builder/ZoomControls.js +20 -30
  250. package/lib/esm/components/Builder/ZoomControls.js.map +1 -1
  251. package/lib/esm/components/DraggableItem/DraggableItem.js +165 -156
  252. package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
  253. package/lib/esm/components/DraggableItem/DraggableItemActions.js +12 -14
  254. package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
  255. package/lib/esm/components/DraggableItem/DraggableItemLayer.js +23 -20
  256. package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  257. package/lib/esm/components/Elements/Chart.js +3 -4
  258. package/lib/esm/components/Elements/Chart.js.map +1 -1
  259. package/lib/esm/components/Elements/Icon.js +3 -5
  260. package/lib/esm/components/Elements/Icon.js.map +1 -1
  261. package/lib/esm/components/Elements/Image.js +11 -12
  262. package/lib/esm/components/Elements/Image.js.map +1 -1
  263. package/lib/esm/components/Elements/RichText.js +16 -14
  264. package/lib/esm/components/Elements/RichText.js.map +1 -1
  265. package/lib/esm/components/Elements/Shapes.js +2 -4
  266. package/lib/esm/components/Elements/Shapes.js.map +1 -1
  267. package/lib/esm/components/ItemPositioner.js +6 -8
  268. package/lib/esm/components/ItemPositioner.js.map +1 -1
  269. package/lib/esm/components/PageItemResizer.js +3 -7
  270. package/lib/esm/components/PageItemResizer.js.map +1 -1
  271. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js +25 -59
  272. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
  273. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +2 -4
  274. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +1 -1
  275. package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js +8 -15
  276. package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js.map +1 -1
  277. package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js +56 -22
  278. package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js.map +1 -1
  279. package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +48 -0
  280. package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +1 -0
  281. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js +140 -48
  282. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
  283. package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js +17 -18
  284. package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +1 -1
  285. package/lib/esm/components/Panels/LeftPanel/Elements.js +49 -53
  286. package/lib/esm/components/Panels/LeftPanel/Elements.js.map +1 -1
  287. package/lib/esm/components/Panels/LeftPanel/LeftPanel.js +6 -34
  288. package/lib/esm/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
  289. package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js +4 -4
  290. package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
  291. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js +4 -3
  292. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
  293. package/lib/esm/components/Panels/RightPanel/RightPanel.js +141 -145
  294. package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
  295. package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js +7 -4
  296. package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
  297. package/lib/esm/components/Panels/RightPanel/Settings.js +21 -22
  298. package/lib/esm/components/Panels/RightPanel/Settings.js.map +1 -1
  299. package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js +106 -96
  300. package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
  301. package/lib/esm/components/Panels/SlidesPanel/PageThumbnailActions.js +17 -18
  302. package/lib/esm/components/Panels/SlidesPanel/PageThumbnailActions.js.map +1 -1
  303. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +33 -66
  304. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  305. package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js +9 -9
  306. package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
  307. package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js +62 -28
  308. package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
  309. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js +48 -0
  310. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js.map +1 -0
  311. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js +8 -9
  312. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
  313. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js +165 -111
  314. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  315. package/lib/esm/components/Presentation/Presentation.js +19 -69
  316. package/lib/esm/components/Presentation/Presentation.js.map +1 -1
  317. package/lib/esm/components/Presentation/PresentationBar/PageNavigation.js +8 -10
  318. package/lib/esm/components/Presentation/PresentationBar/PageNavigation.js.map +1 -1
  319. package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js +46 -13
  320. package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
  321. package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js +45 -87
  322. package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
  323. package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js +8 -10
  324. package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
  325. package/lib/esm/components/Presentation/PresentationWrapper.js +57 -60
  326. package/lib/esm/components/Presentation/PresentationWrapper.js.map +1 -1
  327. package/lib/esm/components/Presentation/ProgressBar.js +4 -6
  328. package/lib/esm/components/Presentation/ProgressBar.js.map +1 -1
  329. package/lib/esm/components/Preview/Preview.js +14 -68
  330. package/lib/esm/components/Preview/Preview.js.map +1 -1
  331. package/lib/esm/components/Preview/StaticItem.js +8 -28
  332. package/lib/esm/components/Preview/StaticItem.js.map +1 -1
  333. package/lib/esm/components/Preview/StaticPage.js +17 -30
  334. package/lib/esm/components/Preview/StaticPage.js.map +1 -1
  335. package/lib/esm/components/Preview/StaticScene.js +34 -56
  336. package/lib/esm/components/Preview/StaticScene.js.map +1 -1
  337. package/lib/esm/components/Print/Print.js +18 -57
  338. package/lib/esm/components/Print/Print.js.map +1 -1
  339. package/lib/esm/components/Print/PrintModal.js +49 -0
  340. package/lib/esm/components/Print/PrintModal.js.map +1 -0
  341. package/lib/esm/components/Print/{PrintModeWithoutContext.js → PrintWrapper.js} +11 -42
  342. package/lib/esm/components/Print/PrintWrapper.js.map +1 -0
  343. package/lib/esm/components/Report.js +30 -48
  344. package/lib/esm/components/Report.js.map +1 -1
  345. package/lib/esm/components/ReportItemsWrapper.js +20 -34
  346. package/lib/esm/components/ReportItemsWrapper.js.map +1 -1
  347. package/lib/esm/components/ReportWrapper.js +29 -58
  348. package/lib/esm/components/ReportWrapper.js.map +1 -1
  349. package/lib/esm/components/Settings/Button.js +8 -10
  350. package/lib/esm/components/Settings/Button.js.map +1 -1
  351. package/lib/esm/components/Settings/CheckboxGroup.js +8 -10
  352. package/lib/esm/components/Settings/CheckboxGroup.js.map +1 -1
  353. package/lib/esm/components/Settings/ColorPicker.js +18 -13
  354. package/lib/esm/components/Settings/ColorPicker.js.map +1 -1
  355. package/lib/esm/components/Settings/Dropdown.js +10 -12
  356. package/lib/esm/components/Settings/Dropdown.js.map +1 -1
  357. package/lib/esm/components/Settings/FieldSet.js +3 -4
  358. package/lib/esm/components/Settings/FieldSet.js.map +1 -1
  359. package/lib/esm/components/Settings/IconSelectBox.js +8 -10
  360. package/lib/esm/components/Settings/IconSelectBox.js.map +1 -1
  361. package/lib/esm/components/Settings/ImagePicker/EnterURL.js +4 -6
  362. package/lib/esm/components/Settings/ImagePicker/EnterURL.js.map +1 -1
  363. package/lib/esm/components/Settings/ImagePicker/ImageThumbnailWithDelete.js +6 -8
  364. package/lib/esm/components/Settings/ImagePicker/ImageThumbnailWithDelete.js.map +1 -1
  365. package/lib/esm/components/Settings/ImageUrl.js +8 -10
  366. package/lib/esm/components/Settings/ImageUrl.js.map +1 -1
  367. package/lib/esm/components/Settings/LayoutSizeSettings.js +4 -6
  368. package/lib/esm/components/Settings/LayoutSizeSettings.js.map +1 -1
  369. package/lib/esm/components/Settings/Orientation.js +8 -10
  370. package/lib/esm/components/Settings/Orientation.js.map +1 -1
  371. package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js +121 -0
  372. package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -0
  373. package/lib/esm/components/Settings/PageLayer/LayerItem.js +92 -34
  374. package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
  375. package/lib/esm/components/Settings/PageLayer/PageLayer.js +117 -52
  376. package/lib/esm/components/Settings/PageLayer/PageLayer.js.map +1 -1
  377. package/lib/esm/components/Settings/SegmentControl.js +8 -10
  378. package/lib/esm/components/Settings/SegmentControl.js.map +1 -1
  379. package/lib/esm/components/Settings/SelectBox.js +8 -10
  380. package/lib/esm/components/Settings/SelectBox.js.map +1 -1
  381. package/lib/esm/components/Settings/SettingsItemRenderer.js +9 -11
  382. package/lib/esm/components/Settings/SettingsItemRenderer.js.map +1 -1
  383. package/lib/esm/components/Settings/SizeSettings.js +4 -6
  384. package/lib/esm/components/Settings/SizeSettings.js.map +1 -1
  385. package/lib/esm/components/Settings/Slider.js +8 -10
  386. package/lib/esm/components/Settings/Slider.js.map +1 -1
  387. package/lib/esm/components/Settings/Switch.js +8 -10
  388. package/lib/esm/components/Settings/Switch.js.map +1 -1
  389. package/lib/esm/components/Settings/Textbox.js +12 -14
  390. package/lib/esm/components/Settings/Textbox.js.map +1 -1
  391. package/lib/esm/components/Settings/Toggle.js +8 -10
  392. package/lib/esm/components/Settings/Toggle.js.map +1 -1
  393. package/lib/esm/components/StaticElements/StaticRichText.js +26 -30
  394. package/lib/esm/components/StaticElements/StaticRichText.js.map +1 -1
  395. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js +2 -4
  396. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
  397. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +4 -6
  398. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
  399. package/lib/esm/components/TextEditor/QuillEditor.js +6 -11
  400. package/lib/esm/components/TextEditor/QuillEditor.js.map +1 -1
  401. package/lib/esm/components/TextEditor/TextEditor.js +17 -18
  402. package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
  403. package/lib/esm/components/withClickOutside.js +11 -12
  404. package/lib/esm/components/withClickOutside.js.map +1 -1
  405. package/lib/esm/components/withZoomPanPinchHOC.js +10 -12
  406. package/lib/esm/components/withZoomPanPinchHOC.js.map +1 -1
  407. package/lib/esm/constants/eventIgnoredRoles.js +9 -0
  408. package/lib/esm/constants/eventIgnoredRoles.js.map +1 -0
  409. package/lib/esm/constants/texts.js +11 -0
  410. package/lib/esm/constants/texts.js.map +1 -1
  411. package/lib/esm/contexts/BuilderContext.js +199 -0
  412. package/lib/esm/contexts/BuilderContext.js.map +1 -0
  413. package/lib/esm/contexts/PresentationContext.js +131 -0
  414. package/lib/esm/contexts/PresentationContext.js.map +1 -0
  415. package/lib/esm/contexts/PropContext.js +135 -0
  416. package/lib/esm/contexts/PropContext.js.map +1 -0
  417. package/lib/esm/contexts/Providers.js +64 -0
  418. package/lib/esm/contexts/Providers.js.map +1 -0
  419. package/lib/esm/index.js +0 -1
  420. package/lib/esm/index.js.map +1 -1
  421. package/lib/esm/styles/_jfPresentation.scss +0 -18
  422. package/lib/esm/styles/_jfPrint.scss +17 -1
  423. package/lib/esm/styles/_jfReportsModal.scss +9 -9
  424. package/lib/esm/styles/_jfReportsPanels.scss +4 -1
  425. package/lib/esm/styles/_jfReportsReportItem.scss +1 -1
  426. package/lib/esm/styles/_jfReportsSVG.scss +0 -1
  427. package/lib/esm/styles/_jfReportsTextEditor.scss +5 -0
  428. package/lib/esm/styles/_jfReportsViewModes.scss +2 -5
  429. package/lib/esm/styles/_jfSearchInput.scss +2 -2
  430. package/lib/esm/utils/functions.js +15 -22
  431. package/lib/esm/utils/functions.js.map +1 -1
  432. package/lib/esm/utils/getDefaultPresentationActions.js +1 -1
  433. package/lib/esm/utils/getDefaultPresentationActions.js.map +1 -1
  434. package/lib/esm/utils/hooks.js +66 -49
  435. package/lib/esm/utils/hooks.js.map +1 -1
  436. package/package.json +18 -14
  437. package/lib/cjs/components/Print/PrintMode.js +0 -59
  438. package/lib/cjs/components/Print/PrintMode.js.map +0 -1
  439. package/lib/cjs/components/Print/PrintModeWithoutContext.js.map +0 -1
  440. package/lib/cjs/components/Responsive/index.js +0 -107
  441. package/lib/cjs/components/Responsive/index.js.map +0 -1
  442. package/lib/cjs/components/ResponsiveContent.js +0 -15
  443. package/lib/cjs/components/ResponsiveContent.js.map +0 -1
  444. package/lib/cjs/utils/builderContext.js +0 -308
  445. package/lib/cjs/utils/builderContext.js.map +0 -1
  446. package/lib/cjs/utils/presentationContext.js +0 -144
  447. package/lib/cjs/utils/presentationContext.js.map +0 -1
  448. package/lib/cjs/utils/propContext.js +0 -133
  449. package/lib/cjs/utils/propContext.js.map +0 -1
  450. package/lib/esm/components/Print/PrintMode.js +0 -52
  451. package/lib/esm/components/Print/PrintMode.js.map +0 -1
  452. package/lib/esm/components/Print/PrintModeWithoutContext.js.map +0 -1
  453. package/lib/esm/components/Responsive/index.js +0 -100
  454. package/lib/esm/components/Responsive/index.js.map +0 -1
  455. package/lib/esm/components/ResponsiveContent.js +0 -13
  456. package/lib/esm/components/ResponsiveContent.js.map +0 -1
  457. package/lib/esm/utils/builderContext.js +0 -297
  458. package/lib/esm/utils/builderContext.js.map +0 -1
  459. package/lib/esm/utils/presentationContext.js +0 -133
  460. package/lib/esm/utils/presentationContext.js.map +0 -1
  461. package/lib/esm/utils/propContext.js +0 -122
  462. package/lib/esm/utils/propContext.js.map +0 -1
@@ -1,15 +1,17 @@
1
1
  import { memo, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { useDrag } from 'react-dnd-cjs';
4
- import { getEmptyImage } from 'react-dnd-html5-backend-cjs';
3
+ import { useDrag } from 'react-dnd';
4
+ import { getEmptyImage } from 'react-dnd-html5-backend';
5
5
  import { DROPPABLE_ITEM_TYPE } from '../../constants/itemTypes.js';
6
6
  import { getExactIconType, getMostVisiblePage, getAvailableCoordinate } from '../../utils/functions.js';
7
7
  import generateId from '../../utils/generateId.js';
8
8
  import * as icons from '../../utils/icons.js';
9
+ import { useBuilderStore } from '../../contexts/BuilderContext.js';
10
+ import { usePropStore } from '../../contexts/PropContext.js';
9
11
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
10
12
  import SvgLabel from '../../assets/svg/toolbox/label.svg.js';
11
13
 
12
- var _excluded = ["acceptedItems", "icon", "iconType", "itemType", "onAnEventTrigger", "onItemAdd", "setActiveElement", "setIsRightPanelOpen", "title", "zoom"];
14
+ var _excluded = ["icon", "iconType", "itemType", "title"];
13
15
 
14
16
  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
17
 
@@ -34,29 +36,51 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
34
36
  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
37
 
36
38
  var Element = function Element(_ref) {
37
- var acceptedItems = _ref.acceptedItems,
38
- icon = _ref.icon,
39
- iconType = _ref.iconType,
40
- itemType = _ref.itemType,
41
- onAnEventTrigger = _ref.onAnEventTrigger,
42
- onItemAdd = _ref.onItemAdd,
43
- setActiveElement = _ref.setActiveElement,
44
- setIsRightPanelOpen = _ref.setIsRightPanelOpen,
45
- title = _ref.title,
46
- zoom = _ref.zoom,
39
+ var _ref$icon = _ref.icon,
40
+ icon = _ref$icon === void 0 ? null : _ref$icon,
41
+ _ref$iconType = _ref.iconType,
42
+ iconType = _ref$iconType === void 0 ? '' : _ref$iconType,
43
+ _ref$itemType = _ref.itemType,
44
+ itemType = _ref$itemType === void 0 ? '' : _ref$itemType,
45
+ _ref$title = _ref.title,
46
+ title = _ref$title === void 0 ? '' : _ref$title,
47
47
  additionalData = _objectWithoutProperties(_ref, _excluded);
48
48
 
49
- var _useDrag = useDrag({
50
- collect: function collect(monitor) {
51
- return {
52
- isDragging: monitor.isDragging()
53
- };
54
- },
55
- item: _objectSpread({
56
- itemType: itemType,
49
+ var acceptedItems = usePropStore(function (state) {
50
+ return state.acceptedItems;
51
+ });
52
+ var onAnEventTrigger = usePropStore(function (state) {
53
+ return state.onAnEventTrigger;
54
+ });
55
+ var onItemAdd = usePropStore(function (state) {
56
+ return state.onItemAdd;
57
+ });
58
+ var setActiveElement = useBuilderStore(function (state) {
59
+ return state.setActiveElement;
60
+ });
61
+ var setIsRightPanelOpen = useBuilderStore(function (state) {
62
+ return state.setIsRightPanelOpen;
63
+ });
64
+ var zoom = useBuilderStore(function (state) {
65
+ return state.zoom;
66
+ });
67
+
68
+ var _useDrag = useDrag(function () {
69
+ return {
70
+ collect: function collect(monitor) {
71
+ return {
72
+ isDragging: monitor.isDragging()
73
+ };
74
+ },
75
+ item: function item() {
76
+ return _objectSpread({
77
+ itemType: itemType,
78
+ type: DROPPABLE_ITEM_TYPE
79
+ }, additionalData);
80
+ },
57
81
  type: DROPPABLE_ITEM_TYPE
58
- }, additionalData)
59
- }),
82
+ };
83
+ }, [itemType, additionalData]),
60
84
  _useDrag2 = _slicedToArray(_useDrag, 3),
61
85
  isDragging = _useDrag2[0].isDragging,
62
86
  drag = _useDrag2[1],
@@ -66,7 +90,7 @@ var Element = function Element(_ref) {
66
90
  preview(getEmptyImage(), {
67
91
  captureDraggingState: true
68
92
  });
69
- });
93
+ }, [preview]);
70
94
 
71
95
  var onElementClick = function onElementClick() {
72
96
  var itemID = generateId();
@@ -106,6 +130,7 @@ var Element = function Element(_ref) {
106
130
  onClick: onElementClick,
107
131
  onKeyDown: onElementOtherActions,
108
132
  style: {
133
+ cursor: isDragging ? 'grabbing' : 'pointer',
109
134
  opacity: isDragging ? 0.5 : 1
110
135
  },
111
136
  title: title,
@@ -123,28 +148,10 @@ var Element = function Element(_ref) {
123
148
  };
124
149
 
125
150
  Element.propTypes = {
126
- acceptedItems: PropTypes.shape({}),
127
151
  icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),
128
152
  iconType: PropTypes.string,
129
153
  itemType: PropTypes.string,
130
- onAnEventTrigger: PropTypes.func,
131
- onItemAdd: PropTypes.func,
132
- setActiveElement: PropTypes.func,
133
- setIsRightPanelOpen: PropTypes.func,
134
- title: PropTypes.string,
135
- zoom: PropTypes.number
136
- };
137
- Element.defaultProps = {
138
- acceptedItems: {},
139
- icon: null,
140
- iconType: '',
141
- itemType: '',
142
- onAnEventTrigger: function onAnEventTrigger() {},
143
- onItemAdd: function onItemAdd() {},
144
- setActiveElement: function setActiveElement() {},
145
- setIsRightPanelOpen: function setIsRightPanelOpen() {},
146
- title: '',
147
- zoom: 1
154
+ title: PropTypes.string
148
155
  };
149
156
  var Element$1 = /*#__PURE__*/memo(Element);
150
157
 
@@ -1 +1 @@
1
- {"version":3,"file":"Element.js","sources":["../../../../src/components/Builder/Element.js"],"sourcesContent":["import { useEffect, memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrag } from 'react-dnd-cjs';\nimport { getEmptyImage } from 'react-dnd-html5-backend-cjs';\nimport { DROPPABLE_ITEM_TYPE } from '../../constants/itemTypes';\nimport {\n getMostVisiblePage, getExactIconType, getAvailableCoordinate,\n} from '../../utils/functions';\nimport generateId from '../../utils/generateId';\nimport * as icons from '../../utils/icons';\n\nconst Element = ({\n acceptedItems,\n icon,\n iconType,\n itemType,\n onAnEventTrigger,\n onItemAdd,\n setActiveElement,\n setIsRightPanelOpen,\n title,\n zoom,\n ...additionalData\n}) => {\n const [{ isDragging }, drag, preview] = useDrag({\n collect: monitor => ({\n isDragging: monitor.isDragging(),\n }),\n item: {\n itemType,\n type: DROPPABLE_ITEM_TYPE,\n ...additionalData,\n },\n });\n\n useEffect(() => {\n preview(getEmptyImage(), { captureDraggingState: true });\n });\n\n const onElementClick = () => {\n const itemID = generateId();\n const page = getMostVisiblePage();\n let left = 0;\n let top = 0;\n if (page) { // for test\n [left, top] = getAvailableCoordinate(page, zoom);\n }\n onItemAdd({\n ...acceptedItems[itemType].details,\n ...additionalData,\n id: itemID,\n left,\n pageID: page.id,\n top,\n });\n onAnEventTrigger('reportItemAdd', itemType);\n setActiveElement(itemID);\n setIsRightPanelOpen(true);\n };\n\n const onElementOtherActions = () => {};\n\n const exactIconType = getExactIconType(iconType);\n const Icon = icons[exactIconType] ? icons[exactIconType] : icons.label;\n return (\n <>\n <div\n ref={drag}\n className=\"toolItem d-flex a-center js-toolItem\"\n onClick={onElementClick}\n onKeyDown={onElementOtherActions}\n style={{ opacity: isDragging ? 0.5 : 1 }}\n title={title}\n >\n <span className=\"toolItem-icon d-flex j-center a-center\">\n {icon ? icon : (\n <Icon className={`jfReportSVG icon-question icon-${iconType}`} />\n )}\n </span>\n <span className=\"js-toolItemName toolItem-name d-flex a-center\">\n { title }\n </span>\n </div>\n </>\n );\n};\n\nElement.propTypes = {\n acceptedItems: PropTypes.shape({}),\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n iconType: PropTypes.string,\n itemType: PropTypes.string,\n onAnEventTrigger: PropTypes.func,\n onItemAdd: PropTypes.func,\n setActiveElement: PropTypes.func,\n setIsRightPanelOpen: PropTypes.func,\n title: PropTypes.string,\n zoom: PropTypes.number,\n};\n\nElement.defaultProps = {\n acceptedItems: {},\n icon: null,\n iconType: '',\n itemType: '',\n onAnEventTrigger: () => {},\n onItemAdd: () => {},\n setActiveElement: () => {},\n setIsRightPanelOpen: () => {},\n title: '',\n zoom: 1,\n};\n\nexport default memo(Element);\n"],"names":["Element","acceptedItems","icon","iconType","itemType","onAnEventTrigger","onItemAdd","setActiveElement","setIsRightPanelOpen","title","zoom","additionalData","useDrag","collect","monitor","isDragging","item","type","DROPPABLE_ITEM_TYPE","drag","preview","useEffect","getEmptyImage","captureDraggingState","onElementClick","itemID","generateId","page","getMostVisiblePage","left","top","getAvailableCoordinate","details","id","pageID","onElementOtherActions","exactIconType","getExactIconType","Icon","icons","_jsx","_jsxs","opacity","propTypes","PropTypes","shape","oneOfType","element","func","string","number","defaultProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"Element.js","sources":["../../../../src/components/Builder/Element.js"],"sourcesContent":["import { useEffect, memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrag } from 'react-dnd';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { DROPPABLE_ITEM_TYPE } from '../../constants/itemTypes';\nimport {\n getMostVisiblePage, getExactIconType, getAvailableCoordinate,\n} from '../../utils/functions';\nimport generateId from '../../utils/generateId';\nimport * as icons from '../../utils/icons';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst Element = ({\n icon = null,\n iconType = '',\n itemType = '',\n title = '',\n ...additionalData\n}) => {\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n const setActiveElement = useBuilderStore(state => state.setActiveElement);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const zoom = useBuilderStore(state => state.zoom);\n\n const [{ isDragging }, drag, preview] = useDrag(() => ({\n collect: monitor => ({\n isDragging: monitor.isDragging(),\n }),\n\n item: () => ({\n itemType,\n type: DROPPABLE_ITEM_TYPE,\n ...additionalData,\n }),\n\n type: DROPPABLE_ITEM_TYPE,\n }), [itemType, additionalData]);\n\n useEffect(() => {\n preview(getEmptyImage(), { captureDraggingState: true });\n }, [preview]);\n\n const onElementClick = () => {\n const itemID = generateId();\n const page = getMostVisiblePage();\n let left = 0;\n let top = 0;\n if (page) { // for test\n [left, top] = getAvailableCoordinate(page, zoom);\n }\n onItemAdd({\n ...acceptedItems[itemType].details,\n ...additionalData,\n id: itemID,\n left,\n pageID: page.id,\n top,\n });\n onAnEventTrigger('reportItemAdd', itemType);\n setActiveElement(itemID);\n setIsRightPanelOpen(true);\n };\n\n const onElementOtherActions = () => {};\n\n const exactIconType = getExactIconType(iconType);\n const Icon = icons[exactIconType] ? icons[exactIconType] : icons.label;\n return (\n <>\n <div\n ref={drag}\n className=\"toolItem d-flex a-center js-toolItem\"\n onClick={onElementClick}\n onKeyDown={onElementOtherActions}\n style={{ cursor: isDragging ? 'grabbing' : 'pointer', opacity: isDragging ? 0.5 : 1 }}\n title={title}\n >\n <span className=\"toolItem-icon d-flex j-center a-center\">\n {icon ? icon : (\n <Icon className={`jfReportSVG icon-question icon-${iconType}`} />\n )}\n </span>\n <span className=\"js-toolItemName toolItem-name d-flex a-center\">\n { title }\n </span>\n </div>\n </>\n );\n};\n\nElement.propTypes = {\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n iconType: PropTypes.string,\n itemType: PropTypes.string,\n title: PropTypes.string,\n};\n\nexport default memo(Element);\n"],"names":["Element","icon","iconType","itemType","title","additionalData","acceptedItems","usePropStore","state","onAnEventTrigger","onItemAdd","setActiveElement","useBuilderStore","setIsRightPanelOpen","zoom","useDrag","collect","monitor","isDragging","item","type","DROPPABLE_ITEM_TYPE","drag","preview","useEffect","getEmptyImage","captureDraggingState","onElementClick","itemID","generateId","page","getMostVisiblePage","left","top","getAvailableCoordinate","details","id","pageID","onElementOtherActions","exactIconType","getExactIconType","Icon","icons","_jsx","_jsxs","cursor","opacity","propTypes","PropTypes","oneOfType","element","func","string","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAMV;AAAA,uBALJC,IAKI;AAAA,MALJA,IAKI,0BALG,IAKH;AAAA,2BAJJC,QAII;AAAA,MAJJA,QAII,8BAJO,EAIP;AAAA,2BAHJC,QAGI;AAAA,MAHJA,QAGI,8BAHO,EAGP;AAAA,wBAFJC,KAEI;AAAA,MAFJA,KAEI,2BAFI,EAEJ;AAAA,MADDC,cACC;;AACJ,MAAMC,aAAa,GAAGC,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,aAAV;AAAA,GAAN,CAAlC;AACA,MAAMG,gBAAgB,GAAGF,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,gBAAV;AAAA,GAAN,CAArC;AACA,MAAMC,SAAS,GAAGH,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACE,SAAV;AAAA,GAAN,CAA9B;AACA,MAAMC,gBAAgB,GAAGC,eAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACG,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAME,mBAAmB,GAAGD,eAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACK,mBAAV;AAAA,GAAN,CAA3C;AACA,MAAMC,IAAI,GAAGF,eAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACM,IAAV;AAAA,GAAN,CAA5B;;AAEA,iBAAwCC,OAAO,CAAC;AAAA,WAAO;AACrDC,MAAAA,OAAO,EAAE,iBAAAC,OAAO;AAAA,eAAK;AACnBC,UAAAA,UAAU,EAAED,OAAO,CAACC,UAAR;AADO,SAAL;AAAA,OADqC;AAKrDC,MAAAA,IAAI,EAAE;AAAA;AACJhB,UAAAA,QAAQ,EAARA,QADI;AAEJiB,UAAAA,IAAI,EAAEC;AAFF,WAGDhB,cAHC;AAAA,OAL+C;AAWrDe,MAAAA,IAAI,EAAEC;AAX+C,KAAP;AAAA,GAAD,EAY3C,CAAClB,QAAD,EAAWE,cAAX,CAZ2C,CAA/C;AAAA;AAAA,MAASa,UAAT,gBAASA,UAAT;AAAA,MAAuBI,IAAvB;AAAA,MAA6BC,OAA7B;;AAcAC,EAAAA,SAAS,CAAC,YAAM;AACdD,IAAAA,OAAO,CAACE,aAAa,EAAd,EAAkB;AAAEC,MAAAA,oBAAoB,EAAE;AAAxB,KAAlB,CAAP;AACD,GAFQ,EAEN,CAACH,OAAD,CAFM,CAAT;;AAIA,MAAMI,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,QAAMC,MAAM,GAAGC,UAAU,EAAzB;AACA,QAAMC,IAAI,GAAGC,kBAAkB,EAA/B;AACA,QAAIC,IAAI,GAAG,CAAX;AACA,QAAIC,GAAG,GAAG,CAAV;;AACA,QAAIH,IAAJ,EAAU;AAAE;AAAF,kCACMI,sBAAsB,CAACJ,IAAD,EAAOhB,IAAP,CAD5B;;AAAA;;AACPkB,MAAAA,IADO;AACDC,MAAAA,GADC;AAET;;AACDvB,IAAAA,SAAS,+CACJJ,aAAa,CAACH,QAAD,CAAb,CAAwBgC,OADpB,GAEJ9B,cAFI;AAGP+B,MAAAA,EAAE,EAAER,MAHG;AAIPI,MAAAA,IAAI,EAAJA,IAJO;AAKPK,MAAAA,MAAM,EAAEP,IAAI,CAACM,EALN;AAMPH,MAAAA,GAAG,EAAHA;AANO,OAAT;AAQAxB,IAAAA,gBAAgB,CAAC,eAAD,EAAkBN,QAAlB,CAAhB;AACAQ,IAAAA,gBAAgB,CAACiB,MAAD,CAAhB;AACAf,IAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD,GAnBD;;AAqBA,MAAMyB,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM,EAApC;;AAEA,MAAMC,aAAa,GAAGC,gBAAgB,CAACtC,QAAD,CAAtC;AACA,MAAMuC,IAAI,GAAGC,KAAK,CAACH,aAAD,CAAL,GAAuBG,KAAK,CAACH,aAAD,CAA5B,GAA8CG,QAA3D;AACA,sBACEC;AAAA,2BACEC;AACE,MAAA,GAAG,EAAEtB,IADP;AAEE,MAAA,SAAS,EAAC,sCAFZ;AAGE,MAAA,OAAO,EAAEK,cAHX;AAIE,MAAA,SAAS,EAAEW,qBAJb;AAKE,MAAA,KAAK,EAAE;AAAEO,QAAAA,MAAM,EAAE3B,UAAU,GAAG,UAAH,GAAgB,SAApC;AAA+C4B,QAAAA,OAAO,EAAE5B,UAAU,GAAG,GAAH,GAAS;AAA3E,OALT;AAME,MAAA,KAAK,EAAEd,KANT;AAAA,8BAQEuC;AAAM,QAAA,SAAS,EAAC,wCAAhB;AAAA,kBACG1C,IAAI,GAAGA,IAAH,gBACH0C,IAAC,IAAD;AAAM,UAAA,SAAS,2CAAoCzC,QAApC;AAAf;AAFJ,QARF,eAaEyC;AAAM,QAAA,SAAS,EAAC,+CAAhB;AAAA,kBACIvC;AADJ,QAbF;AAAA;AADF,IADF;AAqBD,CA9ED;;AAgFAJ,OAAO,CAAC+C,SAAR,GAAoB;AAClB9C,EAAAA,IAAI,EAAE+C,SAAS,CAACC,SAAV,CAAoB,CAACD,SAAS,CAACE,OAAX,EAAoBF,SAAS,CAACG,IAA9B,CAApB,CADY;AAElBjD,EAAAA,QAAQ,EAAE8C,SAAS,CAACI,MAFF;AAGlBjD,EAAAA,QAAQ,EAAE6C,SAAS,CAACI,MAHF;AAIlBhD,EAAAA,KAAK,EAAE4C,SAAS,CAACI;AAJC,CAApB;AAOA,6BAAeC,IAAI,CAACrD,OAAD,CAAnB;;;;"}
@@ -1,15 +1,22 @@
1
1
  import { memo, useState, useRef } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { useDrop } from 'react-dnd-cjs';
4
- import { ACCEPTED_TYPES } from '../../constants/itemTypes.js';
3
+ import { useDrop } from 'react-dnd';
4
+ import { ACCEPTED_TYPES, DROPPABLE_ITEM_TYPE, DRAGGABLE_ITEM_TYPE } from '../../constants/itemTypes.js';
5
5
  import AlignmentGuides from '../AlignmentGuides.js';
6
6
  import ReportItemsWrapper from '../ReportItemsWrapper.js';
7
- import { useBuilderContext } from '../../utils/builderContext.js';
8
- import { usePropContext } from '../../utils/propContext.js';
9
- import { getCorrectDroppedOffsetValue, calculateGuidePositions, proximityListener } from '../../utils/functions.js';
7
+ import { useBuilderStore } from '../../contexts/BuilderContext.js';
8
+ import { usePropStore } from '../../contexts/PropContext.js';
9
+ import { getCorrectDroppedOffsetValue, getCorrectDroppedOffsetValueBySnap, findItemById, calculateGuidePositions, proximityListener } from '../../utils/functions.js';
10
10
  import { pageContainer } from '../../constants/classNames.js';
11
+ import generateId from '../../utils/generateId.js';
11
12
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
12
13
 
14
+ var _excluded = ["id", "itemType", "pageID"];
15
+
16
+ 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; }
17
+
18
+ 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; }
19
+
13
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; }
14
21
 
15
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; }
@@ -30,33 +37,52 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
30
37
  var emptyObject = {};
31
38
 
32
39
  var Page = function Page(_ref) {
33
- var activeElement = _ref.activeElement,
34
- additionalPageItems = _ref.additionalPageItems,
35
- guides = _ref.guides,
36
- hashCode = _ref.hashCode,
37
- itemAccessor = _ref.itemAccessor,
38
- items = _ref.items,
39
- onDrop = _ref.onDrop,
40
- onItemAdd = _ref.onItemAdd,
41
- onItemChange = _ref.onItemChange,
42
- onItemRemove = _ref.onItemRemove,
43
- onItemResize = _ref.onItemResize,
44
- page = _ref.page,
45
- pageRef = _ref.pageRef,
46
- style = _ref.style;
47
-
48
- var _useBuilderContext = useBuilderContext(),
49
- isRightPanelOpen = _useBuilderContext.isRightPanelOpen,
50
- isTextEditorOpen = _useBuilderContext.isTextEditorOpen,
51
- setActiveElement = _useBuilderContext.setActiveElement,
52
- setContextMenuProps = _useBuilderContext.setContextMenuProps,
53
- setIsRightPanelOpen = _useBuilderContext.setIsRightPanelOpen,
54
- zoom = _useBuilderContext.zoom;
55
-
56
- var _usePropContext = usePropContext(),
57
- acceptedItems = _usePropContext.acceptedItems,
58
- onAnEventTrigger = _usePropContext.onAnEventTrigger,
59
- settings = _usePropContext.settings;
40
+ var _ref$guides = _ref.guides,
41
+ guides = _ref$guides === void 0 ? {} : _ref$guides,
42
+ _ref$items = _ref.items,
43
+ items = _ref$items === void 0 ? [] : _ref$items,
44
+ _ref$page = _ref.page,
45
+ page = _ref$page === void 0 ? {} : _ref$page,
46
+ _ref$pageRef = _ref.pageRef,
47
+ pageRef = _ref$pageRef === void 0 ? {} : _ref$pageRef,
48
+ _ref$style = _ref.style,
49
+ style = _ref$style === void 0 ? {} : _ref$style;
50
+ var activeElement = useBuilderStore(function (state) {
51
+ return state.activeElement;
52
+ });
53
+ var setActiveElement = useBuilderStore(function (state) {
54
+ return state.setActiveElement;
55
+ });
56
+ var setIsRightPanelOpen = useBuilderStore(function (state) {
57
+ return state.setIsRightPanelOpen;
58
+ });
59
+ var zoom = useBuilderStore(function (state) {
60
+ return state.zoom;
61
+ });
62
+ var onItemAdd = usePropStore(function (state) {
63
+ return state.onItemAdd;
64
+ });
65
+ var onItemMove = usePropStore(function (state) {
66
+ return state.onItemMove;
67
+ });
68
+ var onItemsMove = usePropStore(function (state) {
69
+ return state.onItemsMove;
70
+ });
71
+ var additionalPageItems = usePropStore(function (state) {
72
+ return state.additionalPageItems;
73
+ });
74
+ var onAnEventTrigger = usePropStore(function (state) {
75
+ return state.onAnEventTrigger;
76
+ });
77
+ var settings = usePropStore(function (state) {
78
+ return state.settings;
79
+ });
80
+ var acceptedItems = usePropStore(function (state) {
81
+ return state.acceptedItems;
82
+ });
83
+ var pages = usePropStore(function (state) {
84
+ return state.pages;
85
+ });
60
86
 
61
87
  var _useState = useState({}),
62
88
  _useState2 = _slicedToArray(_useState, 2),
@@ -82,7 +108,7 @@ var Page = function Page(_ref) {
82
108
 
83
109
  var activeItem = _objectSpread(_objectSpread({}, item), coords);
84
110
 
85
- var _guides = _objectSpread(_objectSpread({}, guides), {}, _defineProperty({}, item.id, _objectSpread(_objectSpread({}, guides[item.id]), {}, {
111
+ var _guides = _objectSpread(_objectSpread({}, guides[item.pageID]), {}, _defineProperty({}, item.id, _objectSpread(_objectSpread({}, guides[item.pageID][item.id]), {}, {
86
112
  x: calculateGuidePositions(activeItem, 'x', zoom),
87
113
  y: calculateGuidePositions(activeItem, 'y', zoom)
88
114
  })));
@@ -96,6 +122,8 @@ var Page = function Page(_ref) {
96
122
  };
97
123
  };
98
124
 
125
+ var isMultipleItemSelected = activeElement !== null && activeElement.length > 1;
126
+
99
127
  var onHover = function onHover(item, monitor) {
100
128
  if (!requestRef.current) {
101
129
  requestRef.current = global.requestAnimationFrame(drawAlignmentGuides(item, monitor));
@@ -109,7 +137,66 @@ var Page = function Page(_ref) {
109
137
  isOver: monitor.isOver()
110
138
  };
111
139
  },
112
- drop: onDrop,
140
+ drop: function drop(item, monitor) {
141
+ var _pageRef$current;
142
+
143
+ var pageClient = (_pageRef$current = pageRef.current) === null || _pageRef$current === void 0 ? void 0 : _pageRef$current.getBoundingClientRect();
144
+ var coords = getCorrectDroppedOffsetValue(monitor, pageClient, zoom);
145
+ var type = monitor.getItemType();
146
+
147
+ var id = item.id,
148
+ itemType = item.itemType;
149
+ item.pageID;
150
+ var additionalData = _objectWithoutProperties(item, _excluded);
151
+
152
+ var newCoords = {};
153
+
154
+ if (type === DROPPABLE_ITEM_TYPE) {
155
+ var itemID = generateId();
156
+ onItemAdd(_objectSpread(_objectSpread(_objectSpread({}, acceptedItems[itemType].details), {}, {
157
+ id: itemID,
158
+ pageID: page.id
159
+ }, coords), additionalData));
160
+ onAnEventTrigger('reportItemAdd', itemType);
161
+ setActiveElement(itemID);
162
+ setIsRightPanelOpen(true);
163
+ newCoords[itemID] = coords;
164
+ } else if (type === DRAGGABLE_ITEM_TYPE) {
165
+ var dragCoords = getCorrectDroppedOffsetValueBySnap(coords, guides, id, pages, zoom);
166
+
167
+ if (isMultipleItemSelected) {
168
+ var leftDifference = additionalData.left - dragCoords.left;
169
+ var topDifference = additionalData.top - dragCoords.top;
170
+
171
+ var _items = activeElement.reduce(function (acc, curr) {
172
+ var tempItem = findItemById(curr, pages);
173
+ acc[curr] = {
174
+ id: curr,
175
+ left: tempItem.left - leftDifference,
176
+ pageID: page.id,
177
+ top: tempItem.top - topDifference
178
+ };
179
+ newCoords[curr] = {
180
+ left: tempItem.left - leftDifference,
181
+ top: tempItem.top - topDifference
182
+ };
183
+ return acc;
184
+ }, {});
185
+
186
+ onItemsMove({
187
+ items: _items
188
+ });
189
+ } else {
190
+ onItemMove(_objectSpread({
191
+ id: id,
192
+ pageID: page.id
193
+ }, dragCoords));
194
+ newCoords[id] = dragCoords;
195
+ }
196
+ }
197
+
198
+ return newCoords;
199
+ },
113
200
  hover: onHover
114
201
  }),
115
202
  _useDrop2 = _slicedToArray(_useDrop, 2),
@@ -129,40 +216,23 @@ var Page = function Page(_ref) {
129
216
  children: /*#__PURE__*/jsxs("div", {
130
217
  className: "jfReport-hider o-hidden f-all p-relative",
131
218
  children: [/*#__PURE__*/jsx(ReportItemsWrapper, {
132
- acceptedItems: acceptedItems,
133
- activeElement: activeElement,
134
- guides: guides,
135
- hashCode: hashCode,
136
- isResize: isResize,
137
- isRightPanelOpen: isRightPanelOpen,
138
- isTextEditorOpen: isTextEditorOpen,
139
- itemAccessor: itemAccessor // if we send matches all the time, DraggableItems are also rendered on dragging
219
+ guides: guides[page.id],
220
+ isResize: isResize // if we send matches all the time, DraggableItems are also rendered on dragging
140
221
  ,
141
222
  items: items,
142
223
  matches: isResize ? matches : emptyObject,
143
- onAnEventTrigger: onAnEventTrigger,
144
- onItemAdd: onItemAdd,
145
- onItemChange: onItemChange,
146
- onItemRemove: onItemRemove,
147
- onItemResize: onItemResize,
148
- setActiveElement: setActiveElement,
149
- setContextMenuProps: setContextMenuProps,
150
224
  setIsResize: setIsResize,
151
- setIsRightPanelOpen: setIsRightPanelOpen,
152
- setMatches: setMatches,
153
- zoom: zoom
225
+ setMatches: setMatches
154
226
  }), additionalPageItems, /*#__PURE__*/jsx(AlignmentGuides, {
155
227
  axis: "x",
156
- guides: guides,
228
+ guides: guides[page.id],
157
229
  matches: matches,
158
- show: isOver || isResize,
159
- zoom: zoom
230
+ show: isOver || isResize
160
231
  }), /*#__PURE__*/jsx(AlignmentGuides, {
161
232
  axis: "y",
162
- guides: guides,
233
+ guides: guides[page.id],
163
234
  matches: matches,
164
- show: isOver || isResize,
165
- zoom: zoom
235
+ show: isOver || isResize
166
236
  })]
167
237
  })
168
238
  })
@@ -170,17 +240,8 @@ var Page = function Page(_ref) {
170
240
  };
171
241
 
172
242
  Page.propTypes = {
173
- activeElement: PropTypes.arrayOf(PropTypes.string),
174
- additionalPageItems: PropTypes.arrayOf(PropTypes.node),
175
243
  guides: PropTypes.shape({}),
176
- hashCode: PropTypes.string,
177
- itemAccessor: PropTypes.func,
178
244
  items: PropTypes.arrayOf(PropTypes.shape({})),
179
- onDrop: PropTypes.func,
180
- onItemAdd: PropTypes.func,
181
- onItemChange: PropTypes.func,
182
- onItemRemove: PropTypes.func,
183
- onItemResize: PropTypes.func,
184
245
  page: PropTypes.shape({
185
246
  backgroundColor: PropTypes.string
186
247
  }),
@@ -189,22 +250,6 @@ Page.propTypes = {
189
250
  }),
190
251
  style: PropTypes.shape({})
191
252
  };
192
- Page.defaultProps = {
193
- activeElement: null,
194
- additionalPageItems: [],
195
- guides: {},
196
- hashCode: '',
197
- itemAccessor: function itemAccessor() {},
198
- items: [],
199
- onDrop: function onDrop() {},
200
- onItemAdd: function onItemAdd() {},
201
- onItemChange: function onItemChange() {},
202
- onItemRemove: function onItemRemove() {},
203
- onItemResize: function onItemResize() {},
204
- page: {},
205
- pageRef: {},
206
- style: {}
207
- };
208
253
  var Page$1 = /*#__PURE__*/memo(Page);
209
254
 
210
255
  export default Page$1;
@@ -1 +1 @@
1
- {"version":3,"file":"Page.js","sources":["../../../../src/components/Builder/Page.js"],"sourcesContent":["import {\n useState,\n useRef,\n memo,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrop } from 'react-dnd-cjs';\nimport { ACCEPTED_TYPES } from '../../constants/itemTypes';\nimport AlignmentGuides from '../AlignmentGuides';\nimport ReportItemsWrapper from '../ReportItemsWrapper';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { usePropContext } from '../../utils/propContext';\nimport {\n proximityListener,\n calculateGuidePositions,\n getCorrectDroppedOffsetValue,\n} from '../../utils/functions';\nimport * as classNames from '../../constants/classNames';\n\nconst emptyObject = {};\n\nconst Page = ({\n activeElement,\n additionalPageItems,\n guides,\n hashCode,\n itemAccessor,\n items,\n onDrop,\n onItemAdd,\n onItemChange,\n onItemRemove,\n onItemResize,\n page,\n pageRef,\n style,\n}) => {\n const {\n isRightPanelOpen,\n isTextEditorOpen,\n setActiveElement,\n setContextMenuProps,\n setIsRightPanelOpen,\n zoom,\n } = useBuilderContext();\n const { acceptedItems, onAnEventTrigger, settings } = usePropContext();\n const [matches, setMatches] = useState({});\n const [isResize, setIsResize] = useState(false);\n const requestRef = useRef();\n\n const drawAlignmentGuides = (item, monitor) => {\n return () => {\n try {\n if (!monitor || monitor.getSourceClientOffset() === null) {\n requestRef.current = undefined;\n return;\n }\n const coords = getCorrectDroppedOffsetValue(\n monitor,\n pageRef.current.getBoundingClientRect(),\n zoom,\n );\n const activeItem = {\n ...item, ...coords,\n };\n const _guides = {\n ...guides,\n [item.id]: {\n ...guides[item.id],\n x: calculateGuidePositions(activeItem, 'x', zoom),\n y: calculateGuidePositions(activeItem, 'y', zoom),\n },\n };\n const match = proximityListener(item.id, _guides);\n setMatches(match);\n requestRef.current = undefined;\n } catch (error) {\n setMatches({});\n }\n };\n };\n\n const onHover = (item, monitor) => {\n if (!requestRef.current) {\n requestRef.current = global.requestAnimationFrame(drawAlignmentGuides(item, monitor));\n }\n };\n\n const [{ isOver }, drop] = useDrop({\n accept: ACCEPTED_TYPES,\n collect: monitor => {\n return {\n isOver: monitor.isOver(),\n };\n },\n drop: onDrop,\n hover: onHover,\n });\n\n const { reportBackgroundColor } = settings;\n const { backgroundColor } = page;\n const bgColor = backgroundColor ? backgroundColor : reportBackgroundColor || '#fff';\n\n return (\n <>\n <div\n ref={drop}\n className={classNames.pageContainer}\n style={{\n backgroundColor: bgColor,\n ...style,\n }}\n >\n <div className=\"jfReport-hider o-hidden f-all p-relative\">\n <ReportItemsWrapper\n acceptedItems={acceptedItems}\n activeElement={activeElement}\n guides={guides}\n hashCode={hashCode}\n isResize={isResize}\n isRightPanelOpen={isRightPanelOpen}\n isTextEditorOpen={isTextEditorOpen}\n itemAccessor={itemAccessor}\n // if we send matches all the time, DraggableItems are also rendered on dragging\n items={items}\n matches={isResize ? matches : emptyObject}\n onAnEventTrigger={onAnEventTrigger}\n onItemAdd={onItemAdd}\n onItemChange={onItemChange}\n onItemRemove={onItemRemove}\n onItemResize={onItemResize}\n setActiveElement={setActiveElement}\n setContextMenuProps={setContextMenuProps}\n setIsResize={setIsResize}\n setIsRightPanelOpen={setIsRightPanelOpen}\n setMatches={setMatches}\n zoom={zoom}\n />\n {additionalPageItems}\n <AlignmentGuides\n axis=\"x\"\n guides={guides}\n matches={matches}\n show={(isOver || isResize)}\n zoom={zoom}\n />\n <AlignmentGuides\n axis=\"y\"\n guides={guides}\n matches={matches}\n show={(isOver || isResize)}\n zoom={zoom}\n />\n </div>\n </div>\n </>\n );\n};\n\nPage.propTypes = {\n activeElement: PropTypes.arrayOf(PropTypes.string),\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n guides: PropTypes.shape({}),\n hashCode: PropTypes.string,\n itemAccessor: PropTypes.func,\n items: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n onDrop: PropTypes.func,\n onItemAdd: PropTypes.func,\n onItemChange: PropTypes.func,\n onItemRemove: PropTypes.func,\n onItemResize: PropTypes.func,\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n }),\n pageRef: PropTypes.shape({\n current: PropTypes.any,\n }),\n style: PropTypes.shape({}),\n};\n\nPage.defaultProps = {\n activeElement: null,\n additionalPageItems: [],\n guides: {},\n hashCode: '',\n itemAccessor: () => {},\n items: [],\n onDrop: () => {},\n onItemAdd: () => {},\n onItemChange: () => {},\n onItemRemove: () => {},\n onItemResize: () => {},\n page: {},\n pageRef: {},\n style: {},\n};\n\nexport default memo(Page);\n"],"names":["emptyObject","Page","activeElement","additionalPageItems","guides","hashCode","itemAccessor","items","onDrop","onItemAdd","onItemChange","onItemRemove","onItemResize","page","pageRef","style","useBuilderContext","isRightPanelOpen","isTextEditorOpen","setActiveElement","setContextMenuProps","setIsRightPanelOpen","zoom","usePropContext","acceptedItems","onAnEventTrigger","settings","useState","matches","setMatches","isResize","setIsResize","requestRef","useRef","drawAlignmentGuides","item","monitor","getSourceClientOffset","current","undefined","coords","getCorrectDroppedOffsetValue","getBoundingClientRect","activeItem","_guides","id","x","calculateGuidePositions","y","match","proximityListener","error","onHover","global","requestAnimationFrame","useDrop","accept","ACCEPTED_TYPES","collect","isOver","drop","hover","reportBackgroundColor","backgroundColor","bgColor","_jsx","classNames","_jsxs","propTypes","PropTypes","arrayOf","string","node","shape","func","any","defaultProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"Page.js","sources":["../../../../src/components/Builder/Page.js"],"sourcesContent":["import {\n useState,\n useRef,\n memo,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrop } from 'react-dnd';\nimport {\n ACCEPTED_TYPES,\n DRAGGABLE_ITEM_TYPE,\n DROPPABLE_ITEM_TYPE,\n} from '../../constants/itemTypes';\nimport AlignmentGuides from '../AlignmentGuides';\nimport ReportItemsWrapper from '../ReportItemsWrapper';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport {\n proximityListener,\n calculateGuidePositions,\n getCorrectDroppedOffsetValue,\n getCorrectDroppedOffsetValueBySnap,\n findItemById,\n} from '../../utils/functions';\nimport * as classNames from '../../constants/classNames';\nimport generateId from '../../utils/generateId';\n\nconst emptyObject = {};\n\nconst Page = ({\n guides = {},\n items = [],\n page = {},\n pageRef = {},\n style = {},\n}) => {\n const activeElement = useBuilderStore(state => state.activeElement);\n const setActiveElement = useBuilderStore(state => state.setActiveElement);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const zoom = useBuilderStore(state => state.zoom);\n\n const onItemAdd = usePropStore(state => state.onItemAdd);\n const onItemMove = usePropStore(state => state.onItemMove);\n const onItemsMove = usePropStore(state => state.onItemsMove);\n const additionalPageItems = usePropStore(state => state.additionalPageItems);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const settings = usePropStore(state => state.settings);\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const pages = usePropStore(state => state.pages);\n\n const [matches, setMatches] = useState({});\n const [isResize, setIsResize] = useState(false);\n const requestRef = useRef();\n\n const drawAlignmentGuides = (item, monitor) => {\n return () => {\n try {\n if (!monitor || monitor.getSourceClientOffset() === null) {\n requestRef.current = undefined;\n return;\n }\n const coords = getCorrectDroppedOffsetValue(\n monitor,\n pageRef.current.getBoundingClientRect(),\n zoom,\n );\n const activeItem = {\n ...item, ...coords,\n };\n const _guides = {\n ...guides[item.pageID],\n [item.id]: {\n ...guides[item.pageID][item.id],\n x: calculateGuidePositions(activeItem, 'x', zoom),\n y: calculateGuidePositions(activeItem, 'y', zoom),\n },\n };\n const match = proximityListener(item.id, _guides);\n setMatches(match);\n requestRef.current = undefined;\n } catch (error) {\n setMatches({});\n }\n };\n };\n\n const isMultipleItemSelected = activeElement !== null && activeElement.length > 1;\n\n const onHover = (item, monitor) => {\n if (!requestRef.current) {\n requestRef.current = global.requestAnimationFrame(drawAlignmentGuides(item, monitor));\n }\n };\n\n const [{ isOver }, drop] = useDrop({\n accept: ACCEPTED_TYPES,\n collect: monitor => {\n return {\n isOver: monitor.isOver(),\n };\n },\n drop: (item, monitor) => {\n const pageClient = pageRef.current?.getBoundingClientRect();\n const coords = getCorrectDroppedOffsetValue(\n monitor,\n pageClient,\n zoom,\n );\n const type = monitor.getItemType();\n const {\n id, itemType, pageID, ...additionalData\n } = item;\n const newCoords = {};\n if (type === DROPPABLE_ITEM_TYPE) {\n const itemID = generateId();\n onItemAdd({\n ...acceptedItems[itemType].details,\n id: itemID,\n pageID: page.id,\n ...coords,\n ...additionalData,\n });\n onAnEventTrigger('reportItemAdd', itemType);\n setActiveElement(itemID);\n setIsRightPanelOpen(true);\n newCoords[itemID] = coords;\n } else if (type === DRAGGABLE_ITEM_TYPE) {\n const dragCoords = getCorrectDroppedOffsetValueBySnap(coords, guides, id, pages, zoom);\n if (isMultipleItemSelected) {\n const leftDifference = additionalData.left - dragCoords.left;\n const topDifference = additionalData.top - dragCoords.top;\n const _items = activeElement.reduce((acc, curr) => {\n const tempItem = findItemById(curr, pages);\n acc[curr] = {\n id: curr,\n left: tempItem.left - leftDifference,\n pageID: page.id,\n top: tempItem.top - topDifference,\n };\n newCoords[curr] = {\n left: tempItem.left - leftDifference,\n top: tempItem.top - topDifference,\n };\n return acc;\n }, {});\n onItemsMove({ items: _items });\n } else {\n onItemMove({\n id,\n pageID: page.id,\n ...dragCoords,\n });\n newCoords[id] = dragCoords;\n }\n }\n\n return newCoords;\n },\n hover: onHover,\n });\n\n const { reportBackgroundColor } = settings;\n const { backgroundColor } = page;\n const bgColor = backgroundColor ? backgroundColor : reportBackgroundColor || '#fff';\n\n return (\n <>\n <div\n ref={drop}\n className={classNames.pageContainer}\n style={{\n backgroundColor: bgColor,\n ...style,\n }}\n >\n <div className=\"jfReport-hider o-hidden f-all p-relative\">\n <ReportItemsWrapper\n guides={guides[page.id]}\n isResize={isResize}\n // if we send matches all the time, DraggableItems are also rendered on dragging\n items={items}\n matches={isResize ? matches : emptyObject}\n setIsResize={setIsResize}\n setMatches={setMatches}\n />\n {additionalPageItems}\n <AlignmentGuides\n axis=\"x\"\n guides={guides[page.id]}\n matches={matches}\n show={(isOver || isResize)}\n />\n <AlignmentGuides\n axis=\"y\"\n guides={guides[page.id]}\n matches={matches}\n show={(isOver || isResize)}\n />\n </div>\n </div>\n </>\n );\n};\n\nPage.propTypes = {\n guides: PropTypes.shape({}),\n items: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n }),\n pageRef: PropTypes.shape({\n current: PropTypes.any,\n }),\n style: PropTypes.shape({}),\n};\n\nexport default memo(Page);\n"],"names":["emptyObject","Page","guides","items","page","pageRef","style","activeElement","useBuilderStore","state","setActiveElement","setIsRightPanelOpen","zoom","onItemAdd","usePropStore","onItemMove","onItemsMove","additionalPageItems","onAnEventTrigger","settings","acceptedItems","pages","useState","matches","setMatches","isResize","setIsResize","requestRef","useRef","drawAlignmentGuides","item","monitor","getSourceClientOffset","current","undefined","coords","getCorrectDroppedOffsetValue","getBoundingClientRect","activeItem","_guides","pageID","id","x","calculateGuidePositions","y","match","proximityListener","error","isMultipleItemSelected","length","onHover","global","requestAnimationFrame","useDrop","accept","ACCEPTED_TYPES","collect","isOver","drop","pageClient","type","getItemType","itemType","additionalData","newCoords","DROPPABLE_ITEM_TYPE","itemID","generateId","details","DRAGGABLE_ITEM_TYPE","dragCoords","getCorrectDroppedOffsetValueBySnap","leftDifference","left","topDifference","top","_items","reduce","acc","curr","tempItem","findItemById","hover","reportBackgroundColor","backgroundColor","bgColor","_jsx","classNames","_jsxs","propTypes","PropTypes","shape","arrayOf","string","any","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,IAAMA,WAAW,GAAG,EAApB;;AAEA,IAAMC,IAAI,GAAG,SAAPA,IAAO,OAMP;AAAA,yBALJC,MAKI;AAAA,MALJA,MAKI,4BALK,EAKL;AAAA,wBAJJC,KAII;AAAA,MAJJA,KAII,2BAJI,EAIJ;AAAA,uBAHJC,IAGI;AAAA,MAHJA,IAGI,0BAHG,EAGH;AAAA,0BAFJC,OAEI;AAAA,MAFJA,OAEI,6BAFM,EAEN;AAAA,wBADJC,KACI;AAAA,MADJA,KACI,2BADI,EACJ;AACJ,MAAMC,aAAa,GAAGC,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,aAAV;AAAA,GAAN,CAArC;AACA,MAAMG,gBAAgB,GAAGF,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAMC,mBAAmB,GAAGH,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACE,mBAAV;AAAA,GAAN,CAA3C;AACA,MAAMC,IAAI,GAAGJ,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACG,IAAV;AAAA,GAAN,CAA5B;AAEA,MAAMC,SAAS,GAAGC,YAAY,CAAC,UAAAL,KAAK;AAAA,WAAIA,KAAK,CAACI,SAAV;AAAA,GAAN,CAA9B;AACA,MAAME,UAAU,GAAGD,YAAY,CAAC,UAAAL,KAAK;AAAA,WAAIA,KAAK,CAACM,UAAV;AAAA,GAAN,CAA/B;AACA,MAAMC,WAAW,GAAGF,YAAY,CAAC,UAAAL,KAAK;AAAA,WAAIA,KAAK,CAACO,WAAV;AAAA,GAAN,CAAhC;AACA,MAAMC,mBAAmB,GAAGH,YAAY,CAAC,UAAAL,KAAK;AAAA,WAAIA,KAAK,CAACQ,mBAAV;AAAA,GAAN,CAAxC;AACA,MAAMC,gBAAgB,GAAGJ,YAAY,CAAC,UAAAL,KAAK;AAAA,WAAIA,KAAK,CAACS,gBAAV;AAAA,GAAN,CAArC;AACA,MAAMC,QAAQ,GAAGL,YAAY,CAAC,UAAAL,KAAK;AAAA,WAAIA,KAAK,CAACU,QAAV;AAAA,GAAN,CAA7B;AACA,MAAMC,aAAa,GAAGN,YAAY,CAAC,UAAAL,KAAK;AAAA,WAAIA,KAAK,CAACW,aAAV;AAAA,GAAN,CAAlC;AACA,MAAMC,KAAK,GAAGP,YAAY,CAAC,UAAAL,KAAK;AAAA,WAAIA,KAAK,CAACY,KAAV;AAAA,GAAN,CAA1B;;AAEA,kBAA8BC,QAAQ,CAAC,EAAD,CAAtC;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AACA,mBAAgCF,QAAQ,CAAC,KAAD,CAAxC;AAAA;AAAA,MAAOG,QAAP;AAAA,MAAiBC,WAAjB;;AACA,MAAMC,UAAU,GAAGC,MAAM,EAAzB;;AAEA,MAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,IAAD,EAAOC,OAAP,EAAmB;AAC7C,WAAO,YAAM;AACX,UAAI;AACF,YAAI,CAACA,OAAD,IAAYA,OAAO,CAACC,qBAAR,OAAoC,IAApD,EAA0D;AACxDL,UAAAA,UAAU,CAACM,OAAX,GAAqBC,SAArB;AACA;AACD;;AACD,YAAMC,MAAM,GAAGC,4BAA4B,CACzCL,OADyC,EAEzC1B,OAAO,CAAC4B,OAAR,CAAgBI,qBAAhB,EAFyC,EAGzCzB,IAHyC,CAA3C;;AAKA,YAAM0B,UAAU,mCACXR,IADW,GACFK,MADE,CAAhB;;AAGA,YAAMI,OAAO,mCACRrC,MAAM,CAAC4B,IAAI,CAACU,MAAN,CADE,2BAEVV,IAAI,CAACW,EAFK,kCAGNvC,MAAM,CAAC4B,IAAI,CAACU,MAAN,CAAN,CAAoBV,IAAI,CAACW,EAAzB,CAHM;AAITC,UAAAA,CAAC,EAAEC,uBAAuB,CAACL,UAAD,EAAa,GAAb,EAAkB1B,IAAlB,CAJjB;AAKTgC,UAAAA,CAAC,EAAED,uBAAuB,CAACL,UAAD,EAAa,GAAb,EAAkB1B,IAAlB;AALjB,YAAb;;AAQA,YAAMiC,KAAK,GAAGC,iBAAiB,CAAChB,IAAI,CAACW,EAAN,EAAUF,OAAV,CAA/B;AACAf,QAAAA,UAAU,CAACqB,KAAD,CAAV;AACAlB,QAAAA,UAAU,CAACM,OAAX,GAAqBC,SAArB;AACD,OAxBD,CAwBE,OAAOa,KAAP,EAAc;AACdvB,QAAAA,UAAU,CAAC,EAAD,CAAV;AACD;AACF,KA5BD;AA6BD,GA9BD;;AAgCA,MAAMwB,sBAAsB,GAAGzC,aAAa,KAAK,IAAlB,IAA0BA,aAAa,CAAC0C,MAAd,GAAuB,CAAhF;;AAEA,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACpB,IAAD,EAAOC,OAAP,EAAmB;AACjC,QAAI,CAACJ,UAAU,CAACM,OAAhB,EAAyB;AACvBN,MAAAA,UAAU,CAACM,OAAX,GAAqBkB,MAAM,CAACC,qBAAP,CAA6BvB,mBAAmB,CAACC,IAAD,EAAOC,OAAP,CAAhD,CAArB;AACD;AACF,GAJD;;AAMA,iBAA2BsB,OAAO,CAAC;AACjCC,IAAAA,MAAM,EAAEC,cADyB;AAEjCC,IAAAA,OAAO,EAAE,iBAAAzB,OAAO,EAAI;AAClB,aAAO;AACL0B,QAAAA,MAAM,EAAE1B,OAAO,CAAC0B,MAAR;AADH,OAAP;AAGD,KANgC;AAOjCC,IAAAA,IAAI,EAAE,cAAC5B,IAAD,EAAOC,OAAP,EAAmB;AAAA;;AACvB,UAAM4B,UAAU,uBAAGtD,OAAO,CAAC4B,OAAX,qDAAG,iBAAiBI,qBAAjB,EAAnB;AACA,UAAMF,MAAM,GAAGC,4BAA4B,CACzCL,OADyC,EAEzC4B,UAFyC,EAGzC/C,IAHyC,CAA3C;AAKA,UAAMgD,IAAI,GAAG7B,OAAO,CAAC8B,WAAR,EAAb;;AACA,UACEpB,EADF,GAEIX,IAFJ,CACEW,EADF;AAAA,UACMqB,QADN,GAEIhC,IAFJ,CACMgC,QADN;AAAA,UAEIhC,IAFJ,CACgBU,MADhB;AAAA,cAC2BuB,cAD3B,4BAEIjC,IAFJ;;AAGA,UAAMkC,SAAS,GAAG,EAAlB;;AACA,UAAIJ,IAAI,KAAKK,mBAAb,EAAkC;AAChC,YAAMC,MAAM,GAAGC,UAAU,EAAzB;AACAtD,QAAAA,SAAS,+CACJO,aAAa,CAAC0C,QAAD,CAAb,CAAwBM,OADpB;AAEP3B,UAAAA,EAAE,EAAEyB,MAFG;AAGP1B,UAAAA,MAAM,EAAEpC,IAAI,CAACqC;AAHN,WAIJN,MAJI,GAKJ4B,cALI,EAAT;AAOA7C,QAAAA,gBAAgB,CAAC,eAAD,EAAkB4C,QAAlB,CAAhB;AACApD,QAAAA,gBAAgB,CAACwD,MAAD,CAAhB;AACAvD,QAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACAqD,QAAAA,SAAS,CAACE,MAAD,CAAT,GAAoB/B,MAApB;AACD,OAbD,MAaO,IAAIyB,IAAI,KAAKS,mBAAb,EAAkC;AACvC,YAAMC,UAAU,GAAGC,kCAAkC,CAACpC,MAAD,EAASjC,MAAT,EAAiBuC,EAAjB,EAAqBpB,KAArB,EAA4BT,IAA5B,CAArD;;AACA,YAAIoC,sBAAJ,EAA4B;AAC1B,cAAMwB,cAAc,GAAGT,cAAc,CAACU,IAAf,GAAsBH,UAAU,CAACG,IAAxD;AACA,cAAMC,aAAa,GAAGX,cAAc,CAACY,GAAf,GAAqBL,UAAU,CAACK,GAAtD;;AACA,cAAMC,MAAM,GAAGrE,aAAa,CAACsE,MAAd,CAAqB,UAACC,GAAD,EAAMC,IAAN,EAAe;AACjD,gBAAMC,QAAQ,GAAGC,YAAY,CAACF,IAAD,EAAO1D,KAAP,CAA7B;AACAyD,YAAAA,GAAG,CAACC,IAAD,CAAH,GAAY;AACVtC,cAAAA,EAAE,EAAEsC,IADM;AAEVN,cAAAA,IAAI,EAAEO,QAAQ,CAACP,IAAT,GAAgBD,cAFZ;AAGVhC,cAAAA,MAAM,EAAEpC,IAAI,CAACqC,EAHH;AAIVkC,cAAAA,GAAG,EAAEK,QAAQ,CAACL,GAAT,GAAeD;AAJV,aAAZ;AAMAV,YAAAA,SAAS,CAACe,IAAD,CAAT,GAAkB;AAChBN,cAAAA,IAAI,EAAEO,QAAQ,CAACP,IAAT,GAAgBD,cADN;AAEhBG,cAAAA,GAAG,EAAEK,QAAQ,CAACL,GAAT,GAAeD;AAFJ,aAAlB;AAIA,mBAAOI,GAAP;AACD,WAbc,EAaZ,EAbY,CAAf;;AAcA9D,UAAAA,WAAW,CAAC;AAAEb,YAAAA,KAAK,EAAEyE;AAAT,WAAD,CAAX;AACD,SAlBD,MAkBO;AACL7D,UAAAA,UAAU;AACR0B,YAAAA,EAAE,EAAFA,EADQ;AAERD,YAAAA,MAAM,EAAEpC,IAAI,CAACqC;AAFL,aAGL6B,UAHK,EAAV;AAKAN,UAAAA,SAAS,CAACvB,EAAD,CAAT,GAAgB6B,UAAhB;AACD;AACF;;AAED,aAAON,SAAP;AACD,KA/DgC;AAgEjCkB,IAAAA,KAAK,EAAEhC;AAhE0B,GAAD,CAAlC;AAAA;AAAA,MAASO,MAAT,gBAASA,MAAT;AAAA,MAAmBC,IAAnB;;AAmEA,MAAQyB,qBAAR,GAAkChE,QAAlC,CAAQgE,qBAAR;AACA,MAAQC,eAAR,GAA4BhF,IAA5B,CAAQgF,eAAR;AACA,MAAMC,OAAO,GAAGD,eAAe,GAAGA,eAAH,GAAqBD,qBAAqB,IAAI,MAA7E;AAEA,sBACEG;AAAA,2BACEA;AACE,MAAA,GAAG,EAAE5B,IADP;AAEE,MAAA,SAAS,EAAE6B,aAFb;AAGE,MAAA,KAAK;AACHH,QAAAA,eAAe,EAAEC;AADd,SAEA/E,KAFA,CAHP;AAAA,6BAQEkF;AAAK,QAAA,SAAS,EAAC,0CAAf;AAAA,gCACEF,IAAC,kBAAD;AACE,UAAA,MAAM,EAAEpF,MAAM,CAACE,IAAI,CAACqC,EAAN,CADhB;AAEE,UAAA,QAAQ,EAAEhB,QAFZ;AAAA;AAIE,UAAA,KAAK,EAAEtB,KAJT;AAKE,UAAA,OAAO,EAAEsB,QAAQ,GAAGF,OAAH,GAAavB,WALhC;AAME,UAAA,WAAW,EAAE0B,WANf;AAOE,UAAA,UAAU,EAAEF;AAPd,UADF,EAUGP,mBAVH,eAWEqE,IAAC,eAAD;AACE,UAAA,IAAI,EAAC,GADP;AAEE,UAAA,MAAM,EAAEpF,MAAM,CAACE,IAAI,CAACqC,EAAN,CAFhB;AAGE,UAAA,OAAO,EAAElB,OAHX;AAIE,UAAA,IAAI,EAAGkC,MAAM,IAAIhC;AAJnB,UAXF,eAiBE6D,IAAC,eAAD;AACE,UAAA,IAAI,EAAC,GADP;AAEE,UAAA,MAAM,EAAEpF,MAAM,CAACE,IAAI,CAACqC,EAAN,CAFhB;AAGE,UAAA,OAAO,EAAElB,OAHX;AAIE,UAAA,IAAI,EAAGkC,MAAM,IAAIhC;AAJnB,UAjBF;AAAA;AARF;AADF,IADF;AAqCD,CA7KD;;AA+KAxB,IAAI,CAACwF,SAAL,GAAiB;AACfvF,EAAAA,MAAM,EAAEwF,SAAS,CAACC,KAAV,CAAgB,EAAhB,CADO;AAEfxF,EAAAA,KAAK,EAAEuF,SAAS,CAACE,OAAV,CACLF,SAAS,CAACC,KAAV,CAAgB,EAAhB,CADK,CAFQ;AAKfvF,EAAAA,IAAI,EAAEsF,SAAS,CAACC,KAAV,CAAgB;AACpBP,IAAAA,eAAe,EAAEM,SAAS,CAACG;AADP,GAAhB,CALS;AAQfxF,EAAAA,OAAO,EAAEqF,SAAS,CAACC,KAAV,CAAgB;AACvB1D,IAAAA,OAAO,EAAEyD,SAAS,CAACI;AADI,GAAhB,CARM;AAWfxF,EAAAA,KAAK,EAAEoF,SAAS,CAACC,KAAV,CAAgB,EAAhB;AAXQ,CAAjB;AAcA,0BAAeI,IAAI,CAAC9F,IAAD,CAAnB;;;;"}
@@ -3,6 +3,8 @@ import 'core-js/modules/es.array.find-index.js';
3
3
  import PropTypes from 'prop-types';
4
4
  import { moveItemInArrayFromIndexToIndex, scrollToTarget } from '../../utils/functions.js';
5
5
  import { useTranslatedTexts } from '../../utils/hooks.js';
6
+ import { useBuilderStore } from '../../contexts/BuilderContext.js';
7
+ import { usePropStore } from '../../contexts/PropContext.js';
6
8
  import { jsxs, jsx } from 'react/jsx-runtime';
7
9
  import SvgPageSettings from '../../assets/svg/page_settings.svg.js';
8
10
  import SvgDuplicate from '../../assets/svg/duplicate.svg.js';
@@ -12,18 +14,38 @@ import SvgArrowDown from '../../assets/svg/arrow_down.svg.js';
12
14
  import SvgPlus from '../../assets/svg/plus.svg.js';
13
15
 
14
16
  var PageActions = function PageActions(_ref) {
15
- var disableInteraction = _ref.disableInteraction,
16
- onAnEventTrigger = _ref.onAnEventTrigger,
17
- onPageAdd = _ref.onPageAdd,
18
- onPageDuplicate = _ref.onPageDuplicate,
19
- onPageOrdersChange = _ref.onPageOrdersChange,
20
- onPageRemove = _ref.onPageRemove,
21
- order = _ref.order,
22
- pageCount = _ref.pageCount,
23
- pageID = _ref.pageID,
24
- pages = _ref.pages,
25
- setEditedElement = _ref.setEditedElement,
26
- setIsRightPanelOpen = _ref.setIsRightPanelOpen;
17
+ var _ref$order = _ref.order,
18
+ order = _ref$order === void 0 ? 0 : _ref$order,
19
+ _ref$pageID = _ref.pageID,
20
+ pageID = _ref$pageID === void 0 ? '' : _ref$pageID;
21
+ var pages = usePropStore(function (state) {
22
+ return state.pages;
23
+ });
24
+ var pageCount = pages.length;
25
+ var onAnEventTrigger = usePropStore(function (state) {
26
+ return state.onAnEventTrigger;
27
+ });
28
+ var onPageAdd = usePropStore(function (state) {
29
+ return state.onPageAdd;
30
+ });
31
+ var onPageDuplicate = usePropStore(function (state) {
32
+ return state.onPageDuplicate;
33
+ });
34
+ var onPageOrdersChange = usePropStore(function (state) {
35
+ return state.onPageOrdersChange;
36
+ });
37
+ var onPageRemove = usePropStore(function (state) {
38
+ return state.onPageRemove;
39
+ });
40
+ var disableInteraction = usePropStore(function (state) {
41
+ return state.disableInteraction;
42
+ });
43
+ var setIsRightPanelOpen = useBuilderStore(function (state) {
44
+ return state.setIsRightPanelOpen;
45
+ });
46
+ var setEditedElement = useBuilderStore(function (state) {
47
+ return state.setEditedElement;
48
+ });
27
49
 
28
50
  var pageSettings = function pageSettings() {
29
51
  setEditedElement("p_".concat(pageID));
@@ -152,32 +174,8 @@ var PageActions = function PageActions(_ref) {
152
174
  };
153
175
 
154
176
  PageActions.propTypes = {
155
- disableInteraction: PropTypes.arrayOf(PropTypes.string),
156
- onAnEventTrigger: PropTypes.func,
157
- onPageAdd: PropTypes.func,
158
- onPageDuplicate: PropTypes.func,
159
- onPageOrdersChange: PropTypes.func,
160
- onPageRemove: PropTypes.func,
161
177
  order: PropTypes.number,
162
- pageCount: PropTypes.number,
163
- pageID: PropTypes.string,
164
- pages: PropTypes.arrayOf(PropTypes.shape({})),
165
- setEditedElement: PropTypes.func,
166
- setIsRightPanelOpen: PropTypes.func
167
- };
168
- PageActions.defaultProps = {
169
- disableInteraction: [],
170
- onAnEventTrigger: function onAnEventTrigger() {},
171
- onPageAdd: function onPageAdd() {},
172
- onPageDuplicate: function onPageDuplicate() {},
173
- onPageOrdersChange: function onPageOrdersChange() {},
174
- onPageRemove: function onPageRemove() {},
175
- order: 0,
176
- pageCount: 1,
177
- pageID: '',
178
- pages: [],
179
- setEditedElement: function setEditedElement() {},
180
- setIsRightPanelOpen: function setIsRightPanelOpen() {}
178
+ pageID: PropTypes.string
181
179
  };
182
180
 
183
181
  export default PageActions;