@jotforminc/dnd-builder 2.9.16 → 2.9.19

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 (360) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/lib/cjs/components/AlignmentGuides.js +8 -10
  3. package/lib/cjs/components/AlignmentGuides.js.map +1 -1
  4. package/lib/cjs/components/Builder/ContextMenu.js +20 -22
  5. package/lib/cjs/components/Builder/ContextMenu.js.map +1 -1
  6. package/lib/cjs/components/Builder/DndWrapper.js +2 -4
  7. package/lib/cjs/components/Builder/DndWrapper.js.map +1 -1
  8. package/lib/cjs/components/Builder/Element.js +24 -24
  9. package/lib/cjs/components/Builder/Element.js.map +1 -1
  10. package/lib/cjs/components/Builder/Page.js +116 -48
  11. package/lib/cjs/components/Builder/Page.js.map +1 -1
  12. package/lib/cjs/components/Builder/PageActions.js +24 -26
  13. package/lib/cjs/components/Builder/PageActions.js.map +1 -1
  14. package/lib/cjs/components/Builder/PageAdder.js +6 -8
  15. package/lib/cjs/components/Builder/PageAdder.js.map +1 -1
  16. package/lib/cjs/components/Builder/Panel.js +8 -10
  17. package/lib/cjs/components/Builder/Panel.js.map +1 -1
  18. package/lib/cjs/components/Builder/Scene.js +37 -109
  19. package/lib/cjs/components/Builder/Scene.js.map +1 -1
  20. package/lib/cjs/components/Builder/SearchInput.js +6 -10
  21. package/lib/cjs/components/Builder/SearchInput.js.map +1 -1
  22. package/lib/cjs/components/Builder/Section.js +8 -10
  23. package/lib/cjs/components/Builder/Section.js.map +1 -1
  24. package/lib/cjs/components/Builder/Tabs.js +2 -4
  25. package/lib/cjs/components/Builder/Tabs.js.map +1 -1
  26. package/lib/cjs/components/Builder/ZoomControls.js +4 -6
  27. package/lib/cjs/components/Builder/ZoomControls.js.map +1 -1
  28. package/lib/cjs/components/DraggableItem/DraggableItem.js +126 -116
  29. package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
  30. package/lib/cjs/components/DraggableItem/DraggableItemActions.js +12 -14
  31. package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
  32. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +10 -10
  33. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  34. package/lib/cjs/components/Elements/Chart.js +3 -4
  35. package/lib/cjs/components/Elements/Chart.js.map +1 -1
  36. package/lib/cjs/components/Elements/Icon.js +3 -5
  37. package/lib/cjs/components/Elements/Icon.js.map +1 -1
  38. package/lib/cjs/components/Elements/Image.js +6 -8
  39. package/lib/cjs/components/Elements/Image.js.map +1 -1
  40. package/lib/cjs/components/Elements/RichText.js +7 -9
  41. package/lib/cjs/components/Elements/RichText.js.map +1 -1
  42. package/lib/cjs/components/Elements/Shapes.js +2 -4
  43. package/lib/cjs/components/Elements/Shapes.js.map +1 -1
  44. package/lib/cjs/components/ItemPositioner.js +6 -8
  45. package/lib/cjs/components/ItemPositioner.js.map +1 -1
  46. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js +16 -20
  47. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
  48. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +2 -4
  49. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +1 -1
  50. package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js +8 -15
  51. package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js.map +1 -1
  52. package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js +64 -5
  53. package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js.map +1 -1
  54. package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +66 -0
  55. package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +1 -0
  56. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js +158 -36
  57. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
  58. package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js +12 -14
  59. package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +1 -1
  60. package/lib/cjs/components/Panels/LeftPanel/Elements.js +8 -10
  61. package/lib/cjs/components/Panels/LeftPanel/Elements.js.map +1 -1
  62. package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js +4 -6
  63. package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
  64. package/lib/cjs/components/Panels/RightPanel/RightPanel.js +10 -12
  65. package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
  66. package/lib/cjs/components/Panels/RightPanel/Settings.js +13 -13
  67. package/lib/cjs/components/Panels/RightPanel/Settings.js.map +1 -1
  68. package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js +40 -40
  69. package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
  70. package/lib/cjs/components/Panels/SlidesPanel/PageThumbnailActions.js +14 -16
  71. package/lib/cjs/components/Panels/SlidesPanel/PageThumbnailActions.js.map +1 -1
  72. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +19 -22
  73. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  74. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js +2 -4
  75. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
  76. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js +69 -10
  77. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
  78. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js +66 -0
  79. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js.map +1 -0
  80. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js +7 -6
  81. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
  82. package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js +172 -89
  83. package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  84. package/lib/cjs/components/Presentation/Presentation.js +18 -20
  85. package/lib/cjs/components/Presentation/Presentation.js.map +1 -1
  86. package/lib/cjs/components/Presentation/PresentationBar/PageNavigation.js +8 -10
  87. package/lib/cjs/components/Presentation/PresentationBar/PageNavigation.js.map +1 -1
  88. package/lib/cjs/components/Presentation/PresentationBar/PresentationActions.js +6 -10
  89. package/lib/cjs/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
  90. package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js +26 -38
  91. package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
  92. package/lib/cjs/components/Presentation/PresentationBar/SelectZoom.js +8 -10
  93. package/lib/cjs/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
  94. package/lib/cjs/components/Presentation/PresentationWrapper.js +6 -8
  95. package/lib/cjs/components/Presentation/PresentationWrapper.js.map +1 -1
  96. package/lib/cjs/components/Presentation/ProgressBar.js +4 -6
  97. package/lib/cjs/components/Presentation/ProgressBar.js.map +1 -1
  98. package/lib/cjs/components/Preview/Preview.js +16 -18
  99. package/lib/cjs/components/Preview/Preview.js.map +1 -1
  100. package/lib/cjs/components/Preview/StaticItem.js +4 -6
  101. package/lib/cjs/components/Preview/StaticItem.js.map +1 -1
  102. package/lib/cjs/components/Preview/StaticPage.js +14 -16
  103. package/lib/cjs/components/Preview/StaticPage.js.map +1 -1
  104. package/lib/cjs/components/Preview/StaticScene.js +18 -19
  105. package/lib/cjs/components/Preview/StaticScene.js.map +1 -1
  106. package/lib/cjs/components/Print/Print.js +0 -7
  107. package/lib/cjs/components/Print/Print.js.map +1 -1
  108. package/lib/cjs/components/Print/PrintMode.js +10 -12
  109. package/lib/cjs/components/Print/PrintMode.js.map +1 -1
  110. package/lib/cjs/components/Print/PrintModeWithoutContext.js +12 -14
  111. package/lib/cjs/components/Print/PrintModeWithoutContext.js.map +1 -1
  112. package/lib/cjs/components/Settings/Button.js +8 -10
  113. package/lib/cjs/components/Settings/Button.js.map +1 -1
  114. package/lib/cjs/components/Settings/CheckboxGroup.js +8 -10
  115. package/lib/cjs/components/Settings/CheckboxGroup.js.map +1 -1
  116. package/lib/cjs/components/Settings/ColorPicker.js +8 -10
  117. package/lib/cjs/components/Settings/ColorPicker.js.map +1 -1
  118. package/lib/cjs/components/Settings/Dropdown.js +10 -12
  119. package/lib/cjs/components/Settings/Dropdown.js.map +1 -1
  120. package/lib/cjs/components/Settings/FieldSet.js +3 -4
  121. package/lib/cjs/components/Settings/FieldSet.js.map +1 -1
  122. package/lib/cjs/components/Settings/IconSelectBox.js +8 -10
  123. package/lib/cjs/components/Settings/IconSelectBox.js.map +1 -1
  124. package/lib/cjs/components/Settings/ImagePicker/EnterURL.js +4 -6
  125. package/lib/cjs/components/Settings/ImagePicker/EnterURL.js.map +1 -1
  126. package/lib/cjs/components/Settings/ImagePicker/ImageThumbnailWithDelete.js +6 -8
  127. package/lib/cjs/components/Settings/ImagePicker/ImageThumbnailWithDelete.js.map +1 -1
  128. package/lib/cjs/components/Settings/ImageUrl.js +8 -10
  129. package/lib/cjs/components/Settings/ImageUrl.js.map +1 -1
  130. package/lib/cjs/components/Settings/LayoutSizeSettings.js +4 -6
  131. package/lib/cjs/components/Settings/LayoutSizeSettings.js.map +1 -1
  132. package/lib/cjs/components/Settings/Orientation.js +8 -10
  133. package/lib/cjs/components/Settings/Orientation.js.map +1 -1
  134. package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js +130 -0
  135. package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -0
  136. package/lib/cjs/components/Settings/PageLayer/LayerItem.js +82 -32
  137. package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
  138. package/lib/cjs/components/Settings/PageLayer/PageLayer.js +115 -50
  139. package/lib/cjs/components/Settings/PageLayer/PageLayer.js.map +1 -1
  140. package/lib/cjs/components/Settings/SegmentControl.js +8 -10
  141. package/lib/cjs/components/Settings/SegmentControl.js.map +1 -1
  142. package/lib/cjs/components/Settings/SelectBox.js +8 -10
  143. package/lib/cjs/components/Settings/SelectBox.js.map +1 -1
  144. package/lib/cjs/components/Settings/SettingsItemRenderer.js +9 -11
  145. package/lib/cjs/components/Settings/SettingsItemRenderer.js.map +1 -1
  146. package/lib/cjs/components/Settings/SizeSettings.js +4 -6
  147. package/lib/cjs/components/Settings/SizeSettings.js.map +1 -1
  148. package/lib/cjs/components/Settings/Slider.js +8 -10
  149. package/lib/cjs/components/Settings/Slider.js.map +1 -1
  150. package/lib/cjs/components/Settings/Switch.js +8 -10
  151. package/lib/cjs/components/Settings/Switch.js.map +1 -1
  152. package/lib/cjs/components/Settings/Textbox.js +12 -14
  153. package/lib/cjs/components/Settings/Textbox.js.map +1 -1
  154. package/lib/cjs/components/Settings/Toggle.js +8 -10
  155. package/lib/cjs/components/Settings/Toggle.js.map +1 -1
  156. package/lib/cjs/components/StaticElements/StaticRichText.js +26 -30
  157. package/lib/cjs/components/StaticElements/StaticRichText.js.map +1 -1
  158. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbar.js +2 -4
  159. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
  160. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +4 -6
  161. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
  162. package/lib/cjs/components/TextEditor/QuillEditor.js +0 -6
  163. package/lib/cjs/components/TextEditor/QuillEditor.js.map +1 -1
  164. package/lib/cjs/components/TextEditor/TextEditor.js +8 -10
  165. package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
  166. package/lib/cjs/components/withClickOutside.js +4 -6
  167. package/lib/cjs/components/withClickOutside.js.map +1 -1
  168. package/lib/cjs/components/withZoomPanPinchHOC.js +2 -4
  169. package/lib/cjs/components/withZoomPanPinchHOC.js.map +1 -1
  170. package/lib/cjs/styles/_jfReportsReportItem.scss +1 -1
  171. package/lib/cjs/utils/builderContext.js +12 -24
  172. package/lib/cjs/utils/builderContext.js.map +1 -1
  173. package/lib/cjs/utils/functions.js +4 -0
  174. package/lib/cjs/utils/functions.js.map +1 -1
  175. package/lib/cjs/utils/presentationContext.js +5 -10
  176. package/lib/cjs/utils/presentationContext.js.map +1 -1
  177. package/lib/cjs/utils/propContext.js +7 -14
  178. package/lib/cjs/utils/propContext.js.map +1 -1
  179. package/lib/esm/components/AlignmentGuides.js +8 -10
  180. package/lib/esm/components/AlignmentGuides.js.map +1 -1
  181. package/lib/esm/components/Builder/ContextMenu.js +20 -22
  182. package/lib/esm/components/Builder/ContextMenu.js.map +1 -1
  183. package/lib/esm/components/Builder/DndWrapper.js +2 -4
  184. package/lib/esm/components/Builder/DndWrapper.js.map +1 -1
  185. package/lib/esm/components/Builder/Element.js +24 -24
  186. package/lib/esm/components/Builder/Element.js.map +1 -1
  187. package/lib/esm/components/Builder/Page.js +119 -51
  188. package/lib/esm/components/Builder/Page.js.map +1 -1
  189. package/lib/esm/components/Builder/PageActions.js +24 -26
  190. package/lib/esm/components/Builder/PageActions.js.map +1 -1
  191. package/lib/esm/components/Builder/PageAdder.js +6 -8
  192. package/lib/esm/components/Builder/PageAdder.js.map +1 -1
  193. package/lib/esm/components/Builder/Panel.js +8 -10
  194. package/lib/esm/components/Builder/Panel.js.map +1 -1
  195. package/lib/esm/components/Builder/Scene.js +39 -111
  196. package/lib/esm/components/Builder/Scene.js.map +1 -1
  197. package/lib/esm/components/Builder/SearchInput.js +6 -10
  198. package/lib/esm/components/Builder/SearchInput.js.map +1 -1
  199. package/lib/esm/components/Builder/Section.js +8 -10
  200. package/lib/esm/components/Builder/Section.js.map +1 -1
  201. package/lib/esm/components/Builder/Tabs.js +2 -4
  202. package/lib/esm/components/Builder/Tabs.js.map +1 -1
  203. package/lib/esm/components/Builder/ZoomControls.js +4 -6
  204. package/lib/esm/components/Builder/ZoomControls.js.map +1 -1
  205. package/lib/esm/components/DraggableItem/DraggableItem.js +126 -116
  206. package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
  207. package/lib/esm/components/DraggableItem/DraggableItemActions.js +12 -14
  208. package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
  209. package/lib/esm/components/DraggableItem/DraggableItemLayer.js +10 -10
  210. package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  211. package/lib/esm/components/Elements/Chart.js +3 -4
  212. package/lib/esm/components/Elements/Chart.js.map +1 -1
  213. package/lib/esm/components/Elements/Icon.js +3 -5
  214. package/lib/esm/components/Elements/Icon.js.map +1 -1
  215. package/lib/esm/components/Elements/Image.js +6 -8
  216. package/lib/esm/components/Elements/Image.js.map +1 -1
  217. package/lib/esm/components/Elements/RichText.js +7 -9
  218. package/lib/esm/components/Elements/RichText.js.map +1 -1
  219. package/lib/esm/components/Elements/Shapes.js +2 -4
  220. package/lib/esm/components/Elements/Shapes.js.map +1 -1
  221. package/lib/esm/components/ItemPositioner.js +6 -8
  222. package/lib/esm/components/ItemPositioner.js.map +1 -1
  223. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js +16 -20
  224. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
  225. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +2 -4
  226. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +1 -1
  227. package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js +8 -15
  228. package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js.map +1 -1
  229. package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js +64 -6
  230. package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js.map +1 -1
  231. package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +60 -0
  232. package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +1 -0
  233. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js +155 -37
  234. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
  235. package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js +12 -14
  236. package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +1 -1
  237. package/lib/esm/components/Panels/LeftPanel/Elements.js +8 -10
  238. package/lib/esm/components/Panels/LeftPanel/Elements.js.map +1 -1
  239. package/lib/esm/components/Panels/LeftPanel/LeftPanel.js +4 -6
  240. package/lib/esm/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
  241. package/lib/esm/components/Panels/RightPanel/RightPanel.js +10 -12
  242. package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
  243. package/lib/esm/components/Panels/RightPanel/Settings.js +13 -13
  244. package/lib/esm/components/Panels/RightPanel/Settings.js.map +1 -1
  245. package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js +40 -40
  246. package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
  247. package/lib/esm/components/Panels/SlidesPanel/PageThumbnailActions.js +14 -16
  248. package/lib/esm/components/Panels/SlidesPanel/PageThumbnailActions.js.map +1 -1
  249. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +19 -22
  250. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  251. package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js +2 -4
  252. package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
  253. package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js +66 -11
  254. package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
  255. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js +60 -0
  256. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js.map +1 -0
  257. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js +7 -6
  258. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
  259. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js +174 -91
  260. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  261. package/lib/esm/components/Presentation/Presentation.js +18 -20
  262. package/lib/esm/components/Presentation/Presentation.js.map +1 -1
  263. package/lib/esm/components/Presentation/PresentationBar/PageNavigation.js +8 -10
  264. package/lib/esm/components/Presentation/PresentationBar/PageNavigation.js.map +1 -1
  265. package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js +6 -10
  266. package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
  267. package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js +26 -38
  268. package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
  269. package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js +8 -10
  270. package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
  271. package/lib/esm/components/Presentation/PresentationWrapper.js +6 -8
  272. package/lib/esm/components/Presentation/PresentationWrapper.js.map +1 -1
  273. package/lib/esm/components/Presentation/ProgressBar.js +4 -6
  274. package/lib/esm/components/Presentation/ProgressBar.js.map +1 -1
  275. package/lib/esm/components/Preview/Preview.js +16 -18
  276. package/lib/esm/components/Preview/Preview.js.map +1 -1
  277. package/lib/esm/components/Preview/StaticItem.js +4 -6
  278. package/lib/esm/components/Preview/StaticItem.js.map +1 -1
  279. package/lib/esm/components/Preview/StaticPage.js +14 -16
  280. package/lib/esm/components/Preview/StaticPage.js.map +1 -1
  281. package/lib/esm/components/Preview/StaticScene.js +18 -19
  282. package/lib/esm/components/Preview/StaticScene.js.map +1 -1
  283. package/lib/esm/components/Print/Print.js +0 -7
  284. package/lib/esm/components/Print/Print.js.map +1 -1
  285. package/lib/esm/components/Print/PrintMode.js +10 -12
  286. package/lib/esm/components/Print/PrintMode.js.map +1 -1
  287. package/lib/esm/components/Print/PrintModeWithoutContext.js +12 -14
  288. package/lib/esm/components/Print/PrintModeWithoutContext.js.map +1 -1
  289. package/lib/esm/components/Settings/Button.js +8 -10
  290. package/lib/esm/components/Settings/Button.js.map +1 -1
  291. package/lib/esm/components/Settings/CheckboxGroup.js +8 -10
  292. package/lib/esm/components/Settings/CheckboxGroup.js.map +1 -1
  293. package/lib/esm/components/Settings/ColorPicker.js +8 -10
  294. package/lib/esm/components/Settings/ColorPicker.js.map +1 -1
  295. package/lib/esm/components/Settings/Dropdown.js +10 -12
  296. package/lib/esm/components/Settings/Dropdown.js.map +1 -1
  297. package/lib/esm/components/Settings/FieldSet.js +3 -4
  298. package/lib/esm/components/Settings/FieldSet.js.map +1 -1
  299. package/lib/esm/components/Settings/IconSelectBox.js +8 -10
  300. package/lib/esm/components/Settings/IconSelectBox.js.map +1 -1
  301. package/lib/esm/components/Settings/ImagePicker/EnterURL.js +4 -6
  302. package/lib/esm/components/Settings/ImagePicker/EnterURL.js.map +1 -1
  303. package/lib/esm/components/Settings/ImagePicker/ImageThumbnailWithDelete.js +6 -8
  304. package/lib/esm/components/Settings/ImagePicker/ImageThumbnailWithDelete.js.map +1 -1
  305. package/lib/esm/components/Settings/ImageUrl.js +8 -10
  306. package/lib/esm/components/Settings/ImageUrl.js.map +1 -1
  307. package/lib/esm/components/Settings/LayoutSizeSettings.js +4 -6
  308. package/lib/esm/components/Settings/LayoutSizeSettings.js.map +1 -1
  309. package/lib/esm/components/Settings/Orientation.js +8 -10
  310. package/lib/esm/components/Settings/Orientation.js.map +1 -1
  311. package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js +123 -0
  312. package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -0
  313. package/lib/esm/components/Settings/PageLayer/LayerItem.js +83 -34
  314. package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
  315. package/lib/esm/components/Settings/PageLayer/PageLayer.js +117 -52
  316. package/lib/esm/components/Settings/PageLayer/PageLayer.js.map +1 -1
  317. package/lib/esm/components/Settings/SegmentControl.js +8 -10
  318. package/lib/esm/components/Settings/SegmentControl.js.map +1 -1
  319. package/lib/esm/components/Settings/SelectBox.js +8 -10
  320. package/lib/esm/components/Settings/SelectBox.js.map +1 -1
  321. package/lib/esm/components/Settings/SettingsItemRenderer.js +9 -11
  322. package/lib/esm/components/Settings/SettingsItemRenderer.js.map +1 -1
  323. package/lib/esm/components/Settings/SizeSettings.js +4 -6
  324. package/lib/esm/components/Settings/SizeSettings.js.map +1 -1
  325. package/lib/esm/components/Settings/Slider.js +8 -10
  326. package/lib/esm/components/Settings/Slider.js.map +1 -1
  327. package/lib/esm/components/Settings/Switch.js +8 -10
  328. package/lib/esm/components/Settings/Switch.js.map +1 -1
  329. package/lib/esm/components/Settings/Textbox.js +12 -14
  330. package/lib/esm/components/Settings/Textbox.js.map +1 -1
  331. package/lib/esm/components/Settings/Toggle.js +8 -10
  332. package/lib/esm/components/Settings/Toggle.js.map +1 -1
  333. package/lib/esm/components/StaticElements/StaticRichText.js +26 -30
  334. package/lib/esm/components/StaticElements/StaticRichText.js.map +1 -1
  335. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js +2 -4
  336. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
  337. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +4 -6
  338. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
  339. package/lib/esm/components/TextEditor/QuillEditor.js +0 -6
  340. package/lib/esm/components/TextEditor/QuillEditor.js.map +1 -1
  341. package/lib/esm/components/TextEditor/TextEditor.js +8 -10
  342. package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
  343. package/lib/esm/components/withClickOutside.js +4 -6
  344. package/lib/esm/components/withClickOutside.js.map +1 -1
  345. package/lib/esm/components/withZoomPanPinchHOC.js +2 -4
  346. package/lib/esm/components/withZoomPanPinchHOC.js.map +1 -1
  347. package/lib/esm/styles/_jfReportsReportItem.scss +1 -1
  348. package/lib/esm/utils/builderContext.js +12 -24
  349. package/lib/esm/utils/builderContext.js.map +1 -1
  350. package/lib/esm/utils/functions.js +4 -1
  351. package/lib/esm/utils/functions.js.map +1 -1
  352. package/lib/esm/utils/presentationContext.js +5 -10
  353. package/lib/esm/utils/presentationContext.js.map +1 -1
  354. package/lib/esm/utils/propContext.js +7 -14
  355. package/lib/esm/utils/propContext.js.map +1 -1
  356. package/package.json +10 -8
  357. package/lib/cjs/components/ResponsiveContent.js +0 -15
  358. package/lib/cjs/components/ResponsiveContent.js.map +0 -1
  359. package/lib/esm/components/ResponsiveContent.js +0 -13
  360. package/lib/esm/components/ResponsiveContent.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PageActions.js","sources":["../../../../src/components/Builder/PageActions.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport * as icons from '../../utils/icons';\nimport { moveItemInArrayFromIndexToIndex, scrollToTarget } from '../../utils/functions';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst PageActions = ({\n disableInteraction,\n onAnEventTrigger,\n onPageAdd,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n order,\n pageCount,\n pageID,\n pages,\n setEditedElement,\n setIsRightPanelOpen,\n}) => {\n const pageSettings = () => {\n setEditedElement(`p_${pageID}`);\n setIsRightPanelOpen(true);\n };\n\n const onPageAddClick = () => {\n const newPageIndex = order + 1;\n onPageAdd(newPageIndex);\n scrollToTarget(`pageActions-id-${newPageIndex}`, 350);\n onAnEventTrigger('addNewPage', newPageIndex);\n };\n\n const onPageRemoveClick = () => {\n onPageRemove(pageID);\n onAnEventTrigger('removePage', pageID);\n };\n\n const changeOrder = direction => {\n return () => {\n const pageIndex = pages.findIndex(page => page.id === pageID);\n const editedPages = moveItemInArrayFromIndexToIndex(\n pages,\n pageIndex,\n pageIndex + direction,\n );\n const pageOrders = editedPages.reduce((acc, page, index) => {\n const newOrder = index + 1;\n acc[page.id] = {\n order: newOrder,\n };\n return acc;\n }, {});\n onPageOrdersChange(pageOrders);\n scrollToTarget(`pageActions-id-${order + direction}`);\n onAnEventTrigger('changePageOrder', direction);\n };\n };\n\n const onPageDuplicateClick = () => {\n const foundPage = pages.find(page => page.id === pageID);\n onPageDuplicate(foundPage);\n scrollToTarget(`pageActions-id-${order + 1}`, 350);\n onAnEventTrigger('duplicatePage', order + 1);\n };\n\n const {\n ADD_NEW_PAGE, DUPLICATE_PAGE, MOVE_PAGE_DOWNWARDS,\n MOVE_PAGE_UPWARDS, PAGE_SETTINGS, REMOVE_PAGE,\n } = useTranslatedTexts();\n return (\n <div\n className=\"jfReport-pageInfo d-flex j-center\"\n id={`pageActions-id-${order}`}\n >\n <div className=\"pageCounter p-relative d-flex\">\n {`${order}`}\n </div>\n <div className=\"floatingController forPageAction\">\n <div className=\"floatingController-container hasGroup\">\n <button\n key=\"Slide Settings\"\n className=\"controllerItem pageSettingSideBtn js-pageSetting\"\n onClick={pageSettings}\n title={PAGE_SETTINGS}\n type=\"button\"\n >\n <icons.pageSettings className=\"jfReportSVG icon-pageSettings\" />\n </button>\n <button\n key=\"Duplicate Page\"\n className=\"controllerItem js-duplicatePage\"\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 js-removePage\"\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 </div>\n <div className=\"floatingController-container hasGroup\">\n <button\n key=\"Move Page Upwards\"\n className={`js-changeOrderUp controllerItem${order === 1 ? ' disabled' : ''}`}\n onClick={changeOrder(-1)}\n title={MOVE_PAGE_UPWARDS}\n type=\"button\"\n >\n <icons.arrowUp className=\"jfReportSVG icon-arrow isTick\" />\n </button>\n <button\n key=\"Move Page Downwards\"\n className={`js-changeOrderDown controllerItem${order === pageCount ? ' disabled' : ''}`}\n onClick={changeOrder(1)}\n title={MOVE_PAGE_DOWNWARDS}\n type=\"button\"\n >\n <icons.arrowDown className=\"jfReportSVG icon-arrow isTick\" />\n </button>\n </div>\n <div className=\"floatingController-container\">\n <button\n key=\"Add Slide\"\n className=\"js-addNewPage controllerItem\"\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\nPageActions.propTypes = {\n disableInteraction: PropTypes.arrayOf(PropTypes.string),\n onAnEventTrigger: PropTypes.func,\n onPageAdd: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageOrdersChange: PropTypes.func,\n onPageRemove: PropTypes.func,\n order: PropTypes.number,\n pageCount: PropTypes.number,\n pageID: PropTypes.string,\n pages: PropTypes.arrayOf(PropTypes.shape({})),\n setEditedElement: PropTypes.func,\n setIsRightPanelOpen: PropTypes.func,\n};\n\nPageActions.defaultProps = {\n disableInteraction: [],\n onAnEventTrigger: () => {},\n onPageAdd: () => {},\n onPageDuplicate: () => {},\n onPageOrdersChange: () => {},\n onPageRemove: () => {},\n order: 0,\n pageCount: 1,\n pageID: '',\n pages: [],\n setEditedElement: () => {},\n setIsRightPanelOpen: () => {},\n};\n\nexport default PageActions;\n"],"names":["PageActions","disableInteraction","onAnEventTrigger","onPageAdd","onPageDuplicate","onPageOrdersChange","onPageRemove","order","pageCount","pageID","pages","setEditedElement","setIsRightPanelOpen","pageSettings","onPageAddClick","newPageIndex","scrollToTarget","onPageRemoveClick","changeOrder","direction","pageIndex","findIndex","page","id","editedPages","moveItemInArrayFromIndexToIndex","pageOrders","reduce","acc","index","newOrder","onPageDuplicateClick","foundPage","find","useTranslatedTexts","ADD_NEW_PAGE","DUPLICATE_PAGE","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","PAGE_SETTINGS","REMOVE_PAGE","_jsxs","_jsx","icons.pageSettings","indexOf","icons.duplicate","icons.trash","icons.arrowUp","icons.arrowDown","icons.plus","propTypes","PropTypes","arrayOf","string","func","number","shape","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"PageActions.js","sources":["../../../../src/components/Builder/PageActions.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport * as icons from '../../utils/icons';\nimport { moveItemInArrayFromIndexToIndex, scrollToTarget } from '../../utils/functions';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst PageActions = ({\n disableInteraction = [],\n onAnEventTrigger = () => {},\n onPageAdd = () => {},\n onPageDuplicate = () => {},\n onPageOrdersChange = () => {},\n onPageRemove = () => {},\n order = 0,\n pageCount = 1,\n pageID = '',\n pages = [],\n setEditedElement = () => {},\n setIsRightPanelOpen = () => {},\n}) => {\n const pageSettings = () => {\n setEditedElement(`p_${pageID}`);\n setIsRightPanelOpen(true);\n };\n\n const onPageAddClick = () => {\n const newPageIndex = order + 1;\n onPageAdd(newPageIndex);\n scrollToTarget(`pageActions-id-${newPageIndex}`, 350);\n onAnEventTrigger('addNewPage', newPageIndex);\n };\n\n const onPageRemoveClick = () => {\n onPageRemove(pageID);\n onAnEventTrigger('removePage', pageID);\n };\n\n const changeOrder = direction => {\n return () => {\n const pageIndex = pages.findIndex(page => page.id === pageID);\n const editedPages = moveItemInArrayFromIndexToIndex(\n pages,\n pageIndex,\n pageIndex + direction,\n );\n const pageOrders = editedPages.reduce((acc, page, index) => {\n const newOrder = index + 1;\n acc[page.id] = {\n order: newOrder,\n };\n return acc;\n }, {});\n onPageOrdersChange(pageOrders);\n scrollToTarget(`pageActions-id-${order + direction}`);\n onAnEventTrigger('changePageOrder', direction);\n };\n };\n\n const onPageDuplicateClick = () => {\n const foundPage = pages.find(page => page.id === pageID);\n onPageDuplicate(foundPage);\n scrollToTarget(`pageActions-id-${order + 1}`, 350);\n onAnEventTrigger('duplicatePage', order + 1);\n };\n\n const {\n ADD_NEW_PAGE, DUPLICATE_PAGE, MOVE_PAGE_DOWNWARDS,\n MOVE_PAGE_UPWARDS, PAGE_SETTINGS, REMOVE_PAGE,\n } = useTranslatedTexts();\n return (\n <div\n className=\"jfReport-pageInfo d-flex j-center\"\n id={`pageActions-id-${order}`}\n >\n <div className=\"pageCounter p-relative d-flex\">\n {`${order}`}\n </div>\n <div className=\"floatingController forPageAction\">\n <div className=\"floatingController-container hasGroup\">\n <button\n key=\"Slide Settings\"\n className=\"controllerItem pageSettingSideBtn js-pageSetting\"\n onClick={pageSettings}\n title={PAGE_SETTINGS}\n type=\"button\"\n >\n <icons.pageSettings className=\"jfReportSVG icon-pageSettings\" />\n </button>\n <button\n key=\"Duplicate Page\"\n className=\"controllerItem js-duplicatePage\"\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 js-removePage\"\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 </div>\n <div className=\"floatingController-container hasGroup\">\n <button\n key=\"Move Page Upwards\"\n className={`js-changeOrderUp controllerItem${order === 1 ? ' disabled' : ''}`}\n onClick={changeOrder(-1)}\n title={MOVE_PAGE_UPWARDS}\n type=\"button\"\n >\n <icons.arrowUp className=\"jfReportSVG icon-arrow isTick\" />\n </button>\n <button\n key=\"Move Page Downwards\"\n className={`js-changeOrderDown controllerItem${order === pageCount ? ' disabled' : ''}`}\n onClick={changeOrder(1)}\n title={MOVE_PAGE_DOWNWARDS}\n type=\"button\"\n >\n <icons.arrowDown className=\"jfReportSVG icon-arrow isTick\" />\n </button>\n </div>\n <div className=\"floatingController-container\">\n <button\n key=\"Add Slide\"\n className=\"js-addNewPage controllerItem\"\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\nPageActions.propTypes = {\n disableInteraction: PropTypes.arrayOf(PropTypes.string),\n onAnEventTrigger: PropTypes.func,\n onPageAdd: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageOrdersChange: PropTypes.func,\n onPageRemove: PropTypes.func,\n order: PropTypes.number,\n pageCount: PropTypes.number,\n pageID: PropTypes.string,\n pages: PropTypes.arrayOf(PropTypes.shape({})),\n setEditedElement: PropTypes.func,\n setIsRightPanelOpen: PropTypes.func,\n};\n\nexport default PageActions;\n"],"names":["PageActions","disableInteraction","onAnEventTrigger","onPageAdd","onPageDuplicate","onPageOrdersChange","onPageRemove","order","pageCount","pageID","pages","setEditedElement","setIsRightPanelOpen","pageSettings","onPageAddClick","newPageIndex","scrollToTarget","onPageRemoveClick","changeOrder","direction","pageIndex","findIndex","page","id","editedPages","moveItemInArrayFromIndexToIndex","pageOrders","reduce","acc","index","newOrder","onPageDuplicateClick","foundPage","find","useTranslatedTexts","ADD_NEW_PAGE","DUPLICATE_PAGE","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","PAGE_SETTINGS","REMOVE_PAGE","_jsxs","_jsx","icons.pageSettings","indexOf","icons.duplicate","icons.trash","icons.arrowUp","icons.arrowDown","icons.plus","propTypes","PropTypes","arrayOf","string","func","number","shape"],"mappings":"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"}
@@ -6,9 +6,12 @@ import { jsxs, jsx } from 'react/jsx-runtime';
6
6
  import SvgPlus from '../../assets/svg/plus.svg.js';
7
7
 
8
8
  var PageAdder = function PageAdder(_ref) {
9
- var additionalClass = _ref.additionalClass,
10
- onPageAdd = _ref.onPageAdd,
11
- pageCount = _ref.pageCount;
9
+ var _ref$additionalClass = _ref.additionalClass,
10
+ additionalClass = _ref$additionalClass === void 0 ? '' : _ref$additionalClass,
11
+ _ref$onPageAdd = _ref.onPageAdd,
12
+ onPageAdd = _ref$onPageAdd === void 0 ? function () {} : _ref$onPageAdd,
13
+ _ref$pageCount = _ref.pageCount,
14
+ pageCount = _ref$pageCount === void 0 ? 1 : _ref$pageCount;
12
15
 
13
16
  var onPageAddClick = function onPageAddClick() {
14
17
  var newPageIndex = pageCount + 1;
@@ -36,11 +39,6 @@ PageAdder.propTypes = {
36
39
  onPageAdd: func,
37
40
  pageCount: number
38
41
  };
39
- PageAdder.defaultProps = {
40
- additionalClass: '',
41
- onPageAdd: function onPageAdd() {},
42
- pageCount: 1
43
- };
44
42
 
45
43
  export default PageAdder;
46
44
  //# sourceMappingURL=PageAdder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageAdder.js","sources":["../../../../src/components/Builder/PageAdder.js"],"sourcesContent":["import { func, number, string } from 'prop-types';\nimport classNames from 'classnames';\nimport { scrollToTarget } from '../../utils/functions';\nimport * as icons from '../../utils/icons';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst PageAdder = ({\n additionalClass,\n onPageAdd,\n pageCount,\n}) => {\n const onPageAddClick = () => {\n const newPageIndex = pageCount + 1;\n onPageAdd(newPageIndex);\n scrollToTarget(`pageActions-id-${newPageIndex}`, 350);\n };\n\n const { ADD_NEW_PAGE } = useTranslatedTexts();\n return (\n <button\n className={classNames('pageAdder', additionalClass)}\n onClick={onPageAddClick}\n type=\"button\"\n >\n <icons.plus className=\"jfReportSVG icon-plus\" />\n <span>{ADD_NEW_PAGE}</span>\n </button>\n );\n};\n\nPageAdder.propTypes = {\n additionalClass: string,\n onPageAdd: func,\n pageCount: number,\n};\n\nPageAdder.defaultProps = {\n additionalClass: '',\n onPageAdd: () => {},\n pageCount: 1,\n};\n\nexport default PageAdder;\n"],"names":["PageAdder","additionalClass","onPageAdd","pageCount","onPageAddClick","newPageIndex","scrollToTarget","useTranslatedTexts","ADD_NEW_PAGE","_jsxs","classNames","_jsx","icons.plus","propTypes","string","func","number","defaultProps"],"mappings":";;;;;;;IAMMA,SAAS,GAAG,SAAZA,SAAY,OAIZ;AAAA,MAHJC,eAGI,QAHJA,eAGI;AAAA,MAFJC,SAEI,QAFJA,SAEI;AAAA,MADJC,SACI,QADJA,SACI;;AACJ,MAAMC,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,QAAMC,YAAY,GAAGF,SAAS,GAAG,CAAjC;AACAD,IAAAA,SAAS,CAACG,YAAD,CAAT;AACAC,IAAAA,cAAc,0BAAmBD,YAAnB,GAAmC,GAAnC,CAAd;AACD,GAJD;;AAMA,4BAAyBE,kBAAkB,EAA3C;AAAA,MAAQC,YAAR,uBAAQA,YAAR;;AACA,sBACEC;AACE,IAAA,SAAS,EAAEC,UAAU,CAAC,WAAD,EAAcT,eAAd,CADvB;AAEE,IAAA,OAAO,EAAEG,cAFX;AAGE,IAAA,IAAI,EAAC,QAHP;AAAA,4BAKEO,IAACC,OAAD;AAAY,MAAA,SAAS,EAAC;AAAtB,MALF,eAMED;AAAA,gBAAOH;AAAP,MANF;AAAA,IADF;AAUD;;AAEDR,SAAS,CAACa,SAAV,GAAsB;AACpBZ,EAAAA,eAAe,EAAEa,MADG;AAEpBZ,EAAAA,SAAS,EAAEa,IAFS;AAGpBZ,EAAAA,SAAS,EAAEa;AAHS,CAAtB;AAMAhB,SAAS,CAACiB,YAAV,GAAyB;AACvBhB,EAAAA,eAAe,EAAE,EADM;AAEvBC,EAAAA,SAAS,EAAE,qBAAM,EAFM;AAGvBC,EAAAA,SAAS,EAAE;AAHY,CAAzB;;;;"}
1
+ {"version":3,"file":"PageAdder.js","sources":["../../../../src/components/Builder/PageAdder.js"],"sourcesContent":["import { func, number, string } from 'prop-types';\nimport classNames from 'classnames';\nimport { scrollToTarget } from '../../utils/functions';\nimport * as icons from '../../utils/icons';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst PageAdder = ({\n additionalClass = '',\n onPageAdd = () => {},\n pageCount = 1,\n}) => {\n const onPageAddClick = () => {\n const newPageIndex = pageCount + 1;\n onPageAdd(newPageIndex);\n scrollToTarget(`pageActions-id-${newPageIndex}`, 350);\n };\n\n const { ADD_NEW_PAGE } = useTranslatedTexts();\n return (\n <button\n className={classNames('pageAdder', additionalClass)}\n onClick={onPageAddClick}\n type=\"button\"\n >\n <icons.plus className=\"jfReportSVG icon-plus\" />\n <span>{ADD_NEW_PAGE}</span>\n </button>\n );\n};\n\nPageAdder.propTypes = {\n additionalClass: string,\n onPageAdd: func,\n pageCount: number,\n};\n\nexport default PageAdder;\n"],"names":["PageAdder","additionalClass","onPageAdd","pageCount","onPageAddClick","newPageIndex","scrollToTarget","useTranslatedTexts","ADD_NEW_PAGE","_jsxs","classNames","_jsx","icons.plus","propTypes","string","func","number"],"mappings":";;;;;;;IAMMA,SAAS,GAAG,SAAZA,SAAY,OAIZ;AAAA,kCAHJC,eAGI;AAAA,MAHJA,eAGI,qCAHc,EAGd;AAAA,4BAFJC,SAEI;AAAA,MAFJA,SAEI,+BAFQ,YAAM,EAEd;AAAA,4BADJC,SACI;AAAA,MADJA,SACI,+BADQ,CACR;;AACJ,MAAMC,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,QAAMC,YAAY,GAAGF,SAAS,GAAG,CAAjC;AACAD,IAAAA,SAAS,CAACG,YAAD,CAAT;AACAC,IAAAA,cAAc,0BAAmBD,YAAnB,GAAmC,GAAnC,CAAd;AACD,GAJD;;AAMA,4BAAyBE,kBAAkB,EAA3C;AAAA,MAAQC,YAAR,uBAAQA,YAAR;;AACA,sBACEC;AACE,IAAA,SAAS,EAAEC,UAAU,CAAC,WAAD,EAAcT,eAAd,CADvB;AAEE,IAAA,OAAO,EAAEG,cAFX;AAGE,IAAA,IAAI,EAAC,QAHP;AAAA,4BAKEO,IAACC,OAAD;AAAY,MAAA,SAAS,EAAC;AAAtB,MALF,eAMED;AAAA,gBAAOH;AAAP,MANF;AAAA,IADF;AAUD;;AAEDR,SAAS,CAACa,SAAV,GAAsB;AACpBZ,EAAAA,eAAe,EAAEa,MADG;AAEpBZ,EAAAA,SAAS,EAAEa,IAFS;AAGpBZ,EAAAA,SAAS,EAAEa;AAHS,CAAtB;;;;"}
@@ -9,10 +9,14 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
9
9
  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; }
10
10
 
11
11
  var Panel = function Panel(_ref) {
12
- var additionalClassName = _ref.additionalClassName,
13
- children = _ref.children,
14
- innerRef = _ref.innerRef,
15
- onAnimationEnd = _ref.onAnimationEnd;
12
+ var _ref$additionalClassN = _ref.additionalClassName,
13
+ additionalClassName = _ref$additionalClassN === void 0 ? '' : _ref$additionalClassN,
14
+ _ref$children = _ref.children,
15
+ children = _ref$children === void 0 ? null : _ref$children,
16
+ _ref$innerRef = _ref.innerRef,
17
+ innerRef = _ref$innerRef === void 0 ? null : _ref$innerRef,
18
+ _ref$onAnimationEnd = _ref.onAnimationEnd,
19
+ onAnimationEnd = _ref$onAnimationEnd === void 0 ? function () {} : _ref$onAnimationEnd;
16
20
  return /*#__PURE__*/jsx("aside", {
17
21
  ref: innerRef,
18
22
  className: "jfReport-col jfReport-pane ".concat(additionalClassName),
@@ -29,12 +33,6 @@ Panel.propTypes = {
29
33
  })]),
30
34
  onAnimationEnd: PropTypes.func
31
35
  };
32
- Panel.defaultProps = {
33
- additionalClassName: '',
34
- children: null,
35
- innerRef: null,
36
- onAnimationEnd: function onAnimationEnd() {}
37
- };
38
36
  var MemoizedPanel = /*#__PURE__*/memo(Panel);
39
37
  var Panel$1 = /*#__PURE__*/forwardRef(function (props, ref) {
40
38
  return /*#__PURE__*/jsx(MemoizedPanel, _objectSpread({
@@ -1 +1 @@
1
- {"version":3,"file":"Panel.js","sources":["../../../../src/components/Builder/Panel.js"],"sourcesContent":["/* global Element */\nimport { forwardRef, memo } from 'react';\nimport PropTypes from 'prop-types';\n\nconst Panel = ({\n additionalClassName, children, innerRef, onAnimationEnd,\n}) => {\n return (\n <aside\n ref={innerRef}\n className={`jfReport-col jfReport-pane ${additionalClassName}`}\n onAnimationEnd={onAnimationEnd}\n >\n {children}\n </aside>\n );\n};\n\nPanel.propTypes = {\n additionalClassName: PropTypes.string,\n children: PropTypes.any,\n innerRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]),\n onAnimationEnd: PropTypes.func,\n};\n\nPanel.defaultProps = {\n additionalClassName: '',\n children: null,\n innerRef: null,\n onAnimationEnd: () => {},\n};\n\nconst MemoizedPanel = memo(Panel);\n\nexport default forwardRef((props, ref) => (\n <MemoizedPanel\n innerRef={ref}\n {...props}\n />\n));\n"],"names":["Panel","additionalClassName","children","innerRef","onAnimationEnd","_jsx","propTypes","PropTypes","string","any","oneOfType","func","shape","current","instanceOf","Element","defaultProps","MemoizedPanel","memo","forwardRef","props","ref"],"mappings":";;;;;;;;;;AAIA,IAAMA,KAAK,GAAG,SAARA,KAAQ,OAER;AAAA,MADJC,mBACI,QADJA,mBACI;AAAA,MADiBC,QACjB,QADiBA,QACjB;AAAA,MAD2BC,QAC3B,QAD2BA,QAC3B;AAAA,MADqCC,cACrC,QADqCA,cACrC;AACJ,sBACEC;AACE,IAAA,GAAG,EAAEF,QADP;AAEE,IAAA,SAAS,uCAAgCF,mBAAhC,CAFX;AAGE,IAAA,cAAc,EAAEG,cAHlB;AAAA,cAKGF;AALH,IADF;AASD,CAZD;;AAcAF,KAAK,CAACM,SAAN,GAAkB;AAChBL,EAAAA,mBAAmB,EAAEM,SAAS,CAACC,MADf;AAEhBN,EAAAA,QAAQ,EAAEK,SAAS,CAACE,GAFJ;AAGhBN,EAAAA,QAAQ,EAAEI,SAAS,CAACG,SAAV,CAAoB,CAC5BH,SAAS,CAACI,IADkB,EAE5BJ,SAAS,CAACK,KAAV,CAAgB;AAAEC,IAAAA,OAAO,EAAEN,SAAS,CAACO,UAAV,CAAqBC,OAArB;AAAX,GAAhB,CAF4B,CAApB,CAHM;AAOhBX,EAAAA,cAAc,EAAEG,SAAS,CAACI;AAPV,CAAlB;AAUAX,KAAK,CAACgB,YAAN,GAAqB;AACnBf,EAAAA,mBAAmB,EAAE,EADF;AAEnBC,EAAAA,QAAQ,EAAE,IAFS;AAGnBC,EAAAA,QAAQ,EAAE,IAHS;AAInBC,EAAAA,cAAc,EAAE,0BAAM;AAJH,CAArB;AAOA,IAAMa,aAAa,gBAAGC,IAAI,CAAClB,KAAD,CAA1B;AAEA,2BAAemB,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR;AAAA,sBACxBhB,IAAC,aAAD;AACE,IAAA,QAAQ,EAAEgB;AADZ,KAEMD,KAFN,EADwB;AAAA,CAAD,CAAzB;;;;"}
1
+ {"version":3,"file":"Panel.js","sources":["../../../../src/components/Builder/Panel.js"],"sourcesContent":["/* global Element */\nimport { forwardRef, memo } from 'react';\nimport PropTypes from 'prop-types';\n\nconst Panel = ({\n additionalClassName = '',\n children = null,\n innerRef = null,\n onAnimationEnd = () => {},\n}) => {\n return (\n <aside\n ref={innerRef}\n className={`jfReport-col jfReport-pane ${additionalClassName}`}\n onAnimationEnd={onAnimationEnd}\n >\n {children}\n </aside>\n );\n};\n\nPanel.propTypes = {\n additionalClassName: PropTypes.string,\n children: PropTypes.any,\n innerRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]),\n onAnimationEnd: PropTypes.func,\n};\n\nconst MemoizedPanel = memo(Panel);\n\nexport default forwardRef((props, ref) => (\n <MemoizedPanel\n innerRef={ref}\n {...props}\n />\n));\n"],"names":["Panel","additionalClassName","children","innerRef","onAnimationEnd","_jsx","propTypes","PropTypes","string","any","oneOfType","func","shape","current","instanceOf","Element","MemoizedPanel","memo","forwardRef","props","ref"],"mappings":";;;;;;;;;;AAIA,IAAMA,KAAK,GAAG,SAARA,KAAQ,OAKR;AAAA,mCAJJC,mBAII;AAAA,MAJJA,mBAII,sCAJkB,EAIlB;AAAA,2BAHJC,QAGI;AAAA,MAHJA,QAGI,8BAHO,IAGP;AAAA,2BAFJC,QAEI;AAAA,MAFJA,QAEI,8BAFO,IAEP;AAAA,iCADJC,cACI;AAAA,MADJA,cACI,oCADa,YAAM,EACnB;AACJ,sBACEC;AACE,IAAA,GAAG,EAAEF,QADP;AAEE,IAAA,SAAS,uCAAgCF,mBAAhC,CAFX;AAGE,IAAA,cAAc,EAAEG,cAHlB;AAAA,cAKGF;AALH,IADF;AASD,CAfD;;AAiBAF,KAAK,CAACM,SAAN,GAAkB;AAChBL,EAAAA,mBAAmB,EAAEM,SAAS,CAACC,MADf;AAEhBN,EAAAA,QAAQ,EAAEK,SAAS,CAACE,GAFJ;AAGhBN,EAAAA,QAAQ,EAAEI,SAAS,CAACG,SAAV,CAAoB,CAC5BH,SAAS,CAACI,IADkB,EAE5BJ,SAAS,CAACK,KAAV,CAAgB;AAAEC,IAAAA,OAAO,EAAEN,SAAS,CAACO,UAAV,CAAqBC,OAArB;AAAX,GAAhB,CAF4B,CAApB,CAHM;AAOhBX,EAAAA,cAAc,EAAEG,SAAS,CAACI;AAPV,CAAlB;AAUA,IAAMK,aAAa,gBAAGC,IAAI,CAACjB,KAAD,CAA1B;AAEA,2BAAekB,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR;AAAA,sBACxBf,IAAC,aAAD;AACE,IAAA,QAAQ,EAAEe;AADZ,KAEMD,KAFN,EADwB;AAAA,CAAD,CAAzB;;;;"}
@@ -8,7 +8,7 @@ import 'core-js/modules/es.number.to-fixed.js';
8
8
  import 'core-js/modules/es.object.to-string.js';
9
9
  import 'core-js/modules/es.regexp.to-string.js';
10
10
  import 'core-js/modules/web.dom-collections.for-each.js';
11
- import { memo, useState, useRef, createRef, useEffect, useCallback, Fragment } from 'react';
11
+ import { memo, useState, useRef, createRef, useEffect, Fragment } from 'react';
12
12
  import PropTypes from 'prop-types';
13
13
  import { mainWrapper, viewport, canvas, page } from '../../constants/classNames.js';
14
14
  import ContextMenu from './ContextMenu.js';
@@ -17,27 +17,20 @@ import PageAdder from './PageAdder.js';
17
17
  import ZoomControls from './ZoomControls.js';
18
18
  import { useBuilderContext } from '../../utils/builderContext.js';
19
19
  import { usePropContext } from '../../utils/propContext.js';
20
- import { DRAGGABLE_ITEM_TYPE, DROPPABLE_ITEM_TYPE } from '../../constants/itemTypes.js';
21
20
  import Page from './Page.js';
22
- import { calculateGuidePositions, getCorrectDroppedOffsetValue, getCorrectDroppedOffsetValueBySnap, findItemById, getSelectedItems, findItemsOnPage, getMostVisiblePage } from '../../utils/functions.js';
21
+ import { calculateGuidePositions, findItemById, getSelectedItems, findItemsOnPage, getMostVisiblePage } from '../../utils/functions.js';
23
22
  import { useEventListener } from '../../utils/hooks.js';
24
23
  import DraggableItemLayer from '../DraggableItem/DraggableItemLayer.js';
25
24
  import generateId from '../../utils/generateId.js';
26
25
  import { EVENT_IGNORED_ROLES } from '../../constants/eventIgnoredRoles.js';
27
26
  import { jsxs, jsx } from 'react/jsx-runtime';
28
27
 
29
- var _excluded = ["id", "itemType"];
30
-
31
28
  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; }
32
29
 
33
30
  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; }
34
31
 
35
32
  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; }
36
33
 
37
- 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; }
38
-
39
- 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; }
40
-
41
34
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
42
35
 
43
36
  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."); }
@@ -51,22 +44,38 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
51
44
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
52
45
 
53
46
  var Scene = function Scene(_ref) {
54
- var additionalPageItems = _ref.additionalPageItems,
55
- hashCode = _ref.hashCode,
56
- itemAccessor = _ref.itemAccessor,
57
- lastScrollPosition = _ref.lastScrollPosition,
58
- onItemAdd = _ref.onItemAdd,
59
- onItemChange = _ref.onItemChange,
60
- onItemMove = _ref.onItemMove,
61
- onItemRemove = _ref.onItemRemove,
62
- onItemResize = _ref.onItemResize,
63
- onItemsMove = _ref.onItemsMove,
64
- onPageAdd = _ref.onPageAdd,
65
- onPageChange = _ref.onPageChange,
66
- onPageDuplicate = _ref.onPageDuplicate,
67
- onPageOrdersChange = _ref.onPageOrdersChange,
68
- onPageRemove = _ref.onPageRemove,
69
- pages = _ref.pages;
47
+ var _ref$additionalPageIt = _ref.additionalPageItems,
48
+ additionalPageItems = _ref$additionalPageIt === void 0 ? [] : _ref$additionalPageIt,
49
+ _ref$hashCode = _ref.hashCode,
50
+ hashCode = _ref$hashCode === void 0 ? '' : _ref$hashCode,
51
+ _ref$itemAccessor = _ref.itemAccessor,
52
+ itemAccessor = _ref$itemAccessor === void 0 ? function () {} : _ref$itemAccessor,
53
+ _ref$lastScrollPositi = _ref.lastScrollPosition,
54
+ lastScrollPosition = _ref$lastScrollPositi === void 0 ? 0 : _ref$lastScrollPositi,
55
+ _ref$onItemAdd = _ref.onItemAdd,
56
+ onItemAdd = _ref$onItemAdd === void 0 ? function () {} : _ref$onItemAdd,
57
+ _ref$onItemChange = _ref.onItemChange,
58
+ onItemChange = _ref$onItemChange === void 0 ? function () {} : _ref$onItemChange,
59
+ _ref$onItemMove = _ref.onItemMove,
60
+ onItemMove = _ref$onItemMove === void 0 ? function () {} : _ref$onItemMove,
61
+ _ref$onItemRemove = _ref.onItemRemove,
62
+ onItemRemove = _ref$onItemRemove === void 0 ? function () {} : _ref$onItemRemove,
63
+ _ref$onItemResize = _ref.onItemResize,
64
+ onItemResize = _ref$onItemResize === void 0 ? function () {} : _ref$onItemResize,
65
+ _ref$onItemsMove = _ref.onItemsMove,
66
+ onItemsMove = _ref$onItemsMove === void 0 ? function () {} : _ref$onItemsMove,
67
+ _ref$onPageAdd = _ref.onPageAdd,
68
+ onPageAdd = _ref$onPageAdd === void 0 ? function () {} : _ref$onPageAdd,
69
+ _ref$onPageChange = _ref.onPageChange,
70
+ onPageChange = _ref$onPageChange === void 0 ? function () {} : _ref$onPageChange,
71
+ _ref$onPageDuplicate = _ref.onPageDuplicate,
72
+ onPageDuplicate = _ref$onPageDuplicate === void 0 ? function () {} : _ref$onPageDuplicate,
73
+ _ref$onPageOrdersChan = _ref.onPageOrdersChange,
74
+ onPageOrdersChange = _ref$onPageOrdersChan === void 0 ? function () {} : _ref$onPageOrdersChan,
75
+ _ref$onPageRemove = _ref.onPageRemove,
76
+ onPageRemove = _ref$onPageRemove === void 0 ? function () {} : _ref$onPageRemove,
77
+ _ref$pages = _ref.pages,
78
+ pages = _ref$pages === void 0 ? [] : _ref$pages;
70
79
  var pageCount = pages.length;
71
80
  /* Builder Context */
72
81
 
@@ -81,7 +90,6 @@ var Scene = function Scene(_ref) {
81
90
  zoom = _useBuilderContext.zoom;
82
91
 
83
92
  var _usePropContext = usePropContext(),
84
- acceptedItems = _usePropContext.acceptedItems,
85
93
  disableInteraction = _usePropContext.disableInteraction,
86
94
  onAnEventTrigger = _usePropContext.onAnEventTrigger,
87
95
  settings = _usePropContext.settings;
@@ -151,67 +159,6 @@ var Scene = function Scene(_ref) {
151
159
 
152
160
  setGuides(_guides);
153
161
  }, [pages, zoom]);
154
- /* When an item dropped */
155
-
156
- var dropped = useCallback(function (pageID, _ref2, monitor, ref) {
157
- var id = _ref2.id,
158
- itemType = _ref2.itemType,
159
- additionalData = _objectWithoutProperties(_ref2, _excluded);
160
-
161
- var pageClient = ref.current.getBoundingClientRect();
162
- var coords = getCorrectDroppedOffsetValue(monitor, pageClient, zoom);
163
- var type = monitor.getItemType();
164
-
165
- switch (type) {
166
- case DROPPABLE_ITEM_TYPE:
167
- {
168
- var itemID = generateId();
169
- onItemAdd(_objectSpread(_objectSpread(_objectSpread({}, acceptedItems[itemType].details), {}, {
170
- id: itemID,
171
- pageID: pageID
172
- }, coords), additionalData));
173
- onAnEventTrigger('reportItemAdd', itemType);
174
- setActiveElement(itemID);
175
- setIsRightPanelOpen(true);
176
- break;
177
- }
178
-
179
- case DRAGGABLE_ITEM_TYPE:
180
- {
181
- var dragCoords = getCorrectDroppedOffsetValueBySnap(coords, guides, id, pages, zoom);
182
-
183
- if (isMultipleItemSelected) {
184
- var leftDifference = additionalData.left - dragCoords.left;
185
- var topDifference = additionalData.top - dragCoords.top;
186
- var items = activeElement.reduce(function (acc, curr) {
187
- var tempItem = findItemById(curr, pages);
188
- acc[curr] = {
189
- id: curr,
190
- left: tempItem.left - leftDifference,
191
- pageID: pageID,
192
- top: tempItem.top - topDifference
193
- };
194
- return acc;
195
- }, {});
196
- onItemsMove({
197
- items: items
198
- });
199
- } else {
200
- onItemMove(_objectSpread({
201
- id: id,
202
- pageID: pageID
203
- }, dragCoords));
204
- }
205
-
206
- break;
207
- }
208
-
209
- default:
210
- {
211
- throw new Error('You have to be specify item type');
212
- }
213
- }
214
- }, [pages, guides, zoom, activeElement]);
215
162
  useEffect(function () {
216
163
  if (viewPortRef.current) {
217
164
  viewPortRef.current.scrollTop = lastScrollPosition;
@@ -488,21 +435,20 @@ var Scene = function Scene(_ref) {
488
435
  children: /*#__PURE__*/jsx(Page, {
489
436
  activeElement: activeElement,
490
437
  additionalPageItems: additionalPageItems,
491
- guides: guides[page$1.id],
438
+ guides: guides,
492
439
  hashCode: hashCode,
493
440
  itemAccessor: itemAccessor,
494
- items: page$1.items // TODO: dont use inline functions
495
- ,
496
- onDrop: function onDrop(item, monitor) {
497
- return dropped(page$1.id, item, monitor, refs[page$1.id]);
498
- },
441
+ items: page$1.items,
499
442
  onItemAdd: onItemAdd,
500
443
  onItemChange: onItemChange,
444
+ onItemMove: onItemMove,
501
445
  onItemRemove: onItemRemove,
502
446
  onItemResize: onItemResize,
447
+ onItemsMove: onItemsMove,
503
448
  page: page$1,
504
449
  pageIndex: index,
505
450
  pageRef: refs[page$1.id],
451
+ pages: pages,
506
452
  style: pageContainerStyles.current
507
453
  })
508
454
  }, "page_".concat(page$1.id))]
@@ -552,24 +498,6 @@ Scene.propTypes = {
552
498
  onPageRemove: PropTypes.func,
553
499
  pages: PropTypes.arrayOf(PropTypes.shape({}))
554
500
  };
555
- Scene.defaultProps = {
556
- additionalPageItems: [],
557
- hashCode: '',
558
- itemAccessor: function itemAccessor() {},
559
- lastScrollPosition: 0,
560
- onItemAdd: function onItemAdd() {},
561
- onItemChange: function onItemChange() {},
562
- onItemMove: function onItemMove() {},
563
- onItemRemove: function onItemRemove() {},
564
- onItemResize: function onItemResize() {},
565
- onItemsMove: function onItemsMove() {},
566
- onPageAdd: function onPageAdd() {},
567
- onPageChange: function onPageChange() {},
568
- onPageDuplicate: function onPageDuplicate() {},
569
- onPageOrdersChange: function onPageOrdersChange() {},
570
- onPageRemove: function onPageRemove() {},
571
- pages: []
572
- };
573
501
  var Scene$1 = /*#__PURE__*/memo(Scene);
574
502
 
575
503
  export default Scene$1;
@@ -1 +1 @@
1
- {"version":3,"file":"Scene.js","sources":["../../../../src/components/Builder/Scene.js"],"sourcesContent":["/* eslint-disable complexity */\nimport {\n useCallback,\n createRef,\n Fragment,\n useEffect,\n useRef,\n useState,\n memo,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport * as classNames from '../../constants/classNames';\nimport ContextMenu from './ContextMenu';\nimport PageActions from './PageActions';\nimport PageAdder from './PageAdder';\nimport ZoomControls from './ZoomControls';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { usePropContext } from '../../utils/propContext';\nimport {\n DRAGGABLE_ITEM_TYPE,\n DROPPABLE_ITEM_TYPE,\n} from '../../constants/itemTypes';\nimport Page from './Page';\nimport {\n calculateGuidePositions,\n findItemById,\n findItemsOnPage,\n getCorrectDroppedOffsetValue,\n getCorrectDroppedOffsetValueBySnap,\n getMostVisiblePage,\n getSelectedItems,\n} from '../../utils/functions';\nimport { useEventListener } from '../../utils/hooks';\nimport DraggableItemLayer from '../DraggableItem/DraggableItemLayer';\nimport generateId from '../../utils/generateId';\nimport { EVENT_IGNORED_ROLES } from '../../constants/eventIgnoredRoles';\n\nconst Scene = ({\n additionalPageItems,\n hashCode,\n itemAccessor,\n lastScrollPosition,\n onItemAdd,\n onItemChange,\n onItemMove,\n onItemRemove,\n onItemResize,\n onItemsMove,\n onPageAdd,\n onPageChange,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n pages,\n}) => {\n const pageCount = pages.length;\n /* Builder Context */\n const {\n activeElement,\n contextMenuProps,\n isRightPanelOpen,\n setActiveElement,\n setContextMenuProps,\n setEditedElement,\n setIsRightPanelOpen,\n zoom,\n } = useBuilderContext();\n const {\n acceptedItems,\n disableInteraction,\n onAnEventTrigger,\n settings,\n } = usePropContext();\n const [itemToPaste, setItemToPaste] = useState(null);\n const isHeaderHidden = useRef(false);\n\n const pageStyles = useRef({});\n const pageContainerStyles = useRef({});\n const viewPortRef = useRef({});\n\n /* Page Refs */\n const refs = pages.reduce((acc, curr) => {\n acc[curr.id] = createRef(null);\n return acc;\n }, {});\n\n const isMultipleItemSelected = activeElement !== null && activeElement.length > 1;\n\n /* Calculate snap guides */\n const [guides, setGuides] = useState({});\n const keyDownCount = useRef(null);\n useEffect(() => {\n const _guides = pages.reduce((acc, page) => {\n const _pageGuides = {};\n if (refs[page.id]) {\n const pageRef = refs[page.id];\n const {\n height, left, top, width,\n } = pageRef.current.getBoundingClientRect();\n const boundingBox = {\n height, left, top, width,\n };\n _pageGuides.boundingBox = {\n x: calculateGuidePositions(boundingBox, 'x').map(value => value - boundingBox.left),\n y: calculateGuidePositions(boundingBox, 'y').map(value => value - boundingBox.top),\n };\n page.items.forEach(item => {\n _pageGuides[item.id] = {\n x: calculateGuidePositions(item, 'x', zoom),\n y: calculateGuidePositions(item, 'y', zoom),\n };\n });\n }\n acc[page.id] = _pageGuides;\n return acc;\n }, {});\n setGuides(_guides);\n }, [pages, zoom]);\n /* When an item dropped */\n const dropped = useCallback(\n (pageID, {\n id, itemType, ...additionalData\n }, monitor, ref) => {\n const pageClient = ref.current.getBoundingClientRect();\n const coords = getCorrectDroppedOffsetValue(\n monitor,\n pageClient,\n zoom,\n );\n const type = monitor.getItemType();\n switch (type) {\n case DROPPABLE_ITEM_TYPE: {\n const itemID = generateId();\n onItemAdd({\n ...acceptedItems[itemType].details,\n id: itemID,\n pageID,\n ...coords,\n ...additionalData,\n });\n onAnEventTrigger('reportItemAdd', itemType);\n setActiveElement(itemID);\n setIsRightPanelOpen(true);\n break;\n }\n case 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,\n top: tempItem.top - topDifference,\n };\n return acc;\n }, {});\n onItemsMove({\n items,\n });\n } else {\n onItemMove({\n id,\n pageID,\n ...dragCoords,\n });\n }\n break;\n }\n default: {\n throw new Error('You have to be specify item type');\n }\n }\n },\n [pages, guides, zoom, activeElement],\n );\n\n useEffect(() => {\n if (viewPortRef.current) {\n viewPortRef.current.scrollTop = lastScrollPosition;\n }\n }, []); // set last scroll position after changing mode\n\n useEffect(() => {\n if (document.body.classList.contains('hideHeader') && isHeaderHidden) {\n document.body.classList.remove('hideHeader');\n }\n }, []); // reset hideHeader\n\n const foundItem = findItemById(activeElement === null ? null : activeElement[0], pages);\n\n const selectedItems = getSelectedItems(activeElement, pages);\n const moveItemWithKeyboard = (event, direction, value) => {\n event.preventDefault();\n selectedItems.forEach(item => {\n if (item.isLocked) {\n return false;\n }\n onItemChange(\n { id: item.id },\n {\n ...item,\n [direction]: item[direction] + value,\n },\n );\n });\n };\n\n const selectNextOrPrevElement = (event, deletedItem) => {\n if (event.preventDefault) event.preventDefault();\n const referenceItem = deletedItem ? deletedItem : foundItem;\n\n const page = pages.find(_page => _page.id === referenceItem.pageID);\n if (!page || (page && !page.items.length)) return setActiveElement(null);\n const { items } = page;\n\n const currentIndex = items.findIndex(item => item.id === referenceItem.id);\n\n // Pages are not updated in time so here is an unnecessary check\n if (items.length === 1 && deletedItem) {\n return setActiveElement(null);\n }\n\n if (event.shiftKey) {\n if (items[currentIndex - 1]) setActiveElement(items[currentIndex - 1].id);\n else setActiveElement(items[items.length - 1].id);\n } else if (items[currentIndex + 1]) {\n setActiveElement(items[currentIndex + 1].id);\n } else setActiveElement(items[0].id);\n };\n\n const onItemRemoveFromPage = e => {\n // Firefox updates browser history on backspace\n e.preventDefault();\n if (isMultipleItemSelected) return;\n if (foundItem.isLocked) {\n return false;\n }\n setActiveElement(null);\n onItemRemove(foundItem);\n selectNextOrPrevElement({ shiftKey: false }, foundItem);\n onAnEventTrigger('removeItem', foundItem.itemType);\n };\n\n const handlePaste = () => {\n if (isMultipleItemSelected) return;\n const itemID = generateId();\n const pageID = getMostVisiblePage(true);\n const offset = itemToPaste.pageID === pageID ? 50 : 0;\n\n const item = {\n ...itemToPaste,\n id: itemID,\n left: itemToPaste.left + offset,\n pageID,\n top: itemToPaste.top + offset,\n };\n\n onItemAdd(item);\n\n onAnEventTrigger('pasteItem', itemToPaste.itemType);\n setActiveElement(itemID);\n // set as last reference to paste\n setItemToPaste(item);\n };\n\n const keyboardActions = event => {\n const {\n key,\n metaKey,\n shiftKey,\n } = event;\n\n if (metaKey) {\n if (key === 'l') {\n // Lock\n if (isMultipleItemSelected) return;\n event.preventDefault(); // Dont focus to URL bar\n onAnEventTrigger(\n foundItem.isLocked ? 'unlockReportItem' : 'lockReportItem',\n foundItem.itemType,\n );\n onItemChange(\n { id: foundItem.id },\n { isLocked: foundItem.isLocked ? false : true },\n );\n return;\n }\n\n if (key === 'c' || key === 'x') {\n if (isMultipleItemSelected) return;\n // Copy or Cut\n if (key === 'x') {\n onItemRemoveFromPage(event);\n onAnEventTrigger('cutItem', foundItem.itemType);\n } else {\n onAnEventTrigger('copyItem', foundItem.itemType);\n }\n\n setItemToPaste(foundItem);\n return;\n }\n\n if (foundItem && key === 'd') {\n if (isMultipleItemSelected) return;\n // Duplicate\n event.preventDefault();\n const itemID = generateId();\n onItemAdd({\n ...foundItem,\n id: itemID,\n left: foundItem.left + 50,\n top: foundItem.top + 50,\n });\n onAnEventTrigger('duplicateItem', foundItem.itemType);\n setActiveElement(itemID);\n if (!isRightPanelOpen) {\n setIsRightPanelOpen(true);\n }\n return;\n }\n }\n\n keyDownCount.current++;\n const movementValue = shiftKey ? 10 : 1 + keyDownCount.current;\n\n // Others\n switch (key) {\n case 'Backspace': return onItemRemoveFromPage(event);\n case 'Delete': return onItemRemoveFromPage(event);\n case 'Escape': return setActiveElement(null);\n case 'ArrowLeft': return moveItemWithKeyboard(event, 'left', -movementValue);\n case 'ArrowUp': return moveItemWithKeyboard(event, 'top', -movementValue);\n case 'ArrowRight': return moveItemWithKeyboard(event, 'left', movementValue);\n case 'ArrowDown': return moveItemWithKeyboard(event, 'top', movementValue);\n case 'Tab': return selectNextOrPrevElement(event);\n default:\n }\n };\n\n const onScroll = e => {\n const { scrollTop } = e.currentTarget;\n const hiddenHeaderHeight = 70;\n const headerHidingLimit = isHeaderHidden ? 230 : 300;\n if (scrollTop > headerHidingLimit + hiddenHeaderHeight && !isHeaderHidden.current) {\n isHeaderHidden.current = true;\n document.body.classList.add('hideHeader');\n } else if (scrollTop < headerHidingLimit && isHeaderHidden.current) {\n isHeaderHidden.current = false;\n document.body.classList.remove('hideHeader');\n }\n };\n\n const shouldSuppressKeyboardEvent = e => (\n EVENT_IGNORED_ROLES.some(role => e.target.closest(`[role=${role}]`))\n );\n\n const handleKeyboardEvent = e => {\n const shouldPaste = itemToPaste && e.key === 'v' && e.metaKey;\n\n if (shouldSuppressKeyboardEvent(e)) {\n return;\n }\n\n if (activeElement && !shouldPaste) {\n const arrowKeyCodes = ['ArrowLeft', 'ArrowUp', 'ArrowDown', 'ArrowBottom'];\n if (arrowKeyCodes.includes(e.key)) e.preventDefault();\n keyboardActions(e);\n } else if (shouldPaste) {\n handlePaste();\n }\n };\n\n useEventListener('keydown', handleKeyboardEvent);\n useEventListener('keyup', () => { keyDownCount.current = 0; });\n\n const { reportLayoutHeight = 794, reportLayoutWidth = 1123 } = settings;\n\n // TODO: Some strange shit is going on here on first render\n let width = parseInt(reportLayoutWidth, 10);\n let height = parseInt(reportLayoutHeight, 10);\n width = Number.isNaN(width) ? 1 : width;\n height = Number.isNaN(height) ? 1 : height;\n const zoomToUse = Number.isNaN(zoom) ? 1 : zoom;\n\n pageStyles.current = {\n height: parseFloat((height * zoomToUse).toFixed(1)),\n width: parseFloat((width * zoomToUse).toFixed(1)),\n };\n pageContainerStyles.current = {\n height,\n transform: `scale(${zoomToUse})`,\n transformOrigin: '0 0',\n width,\n };\n\n return (\n <main // Builder.js\n className={classNames.mainWrapper}\n >\n <DraggableItemLayer\n guides={guides}\n itemAccessor={itemAccessor}\n pageRefs={refs}\n pages={pages}\n />\n\n <div\n ref={viewPortRef}\n className={classNames.viewport}\n data-zoom={zoom}\n onScroll={onScroll}\n >\n <div\n className={classNames.canvas}\n >\n {pages.map((page, index) => (\n // TODO: This part can be moved into a different component\n <Fragment key={page.id}>\n <PageActions\n disableInteraction={disableInteraction}\n onAnEventTrigger={onAnEventTrigger}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n order={page.order}\n pageCount={pageCount}\n pageID={page.id}\n pages={pages}\n setEditedElement={setEditedElement}\n setIsRightPanelOpen={setIsRightPanelOpen}\n />\n <div\n key={`page_${page.id}`}\n ref={refs[page.id]}\n className={classNames.page}\n data-id={page.id}\n data-order={page.order}\n id={`presentation-page-${page.id.toString()}`}\n style={pageStyles.current}\n >\n <Page\n activeElement={activeElement}\n additionalPageItems={additionalPageItems}\n guides={guides[page.id]}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n items={page.items}\n // TODO: dont use inline functions\n onDrop={(item, monitor) => dropped(page.id, item, monitor, refs[page.id])}\n onItemAdd={onItemAdd}\n onItemChange={onItemChange}\n onItemRemove={onItemRemove}\n onItemResize={onItemResize}\n page={page}\n pageIndex={index}\n pageRef={refs[page.id]}\n style={pageContainerStyles.current}\n />\n </div>\n </Fragment>\n ))}\n <PageAdder\n onPageAdd={onPageAdd}\n pageCount={pageCount}\n />\n </div>\n </div>\n <ZoomControls\n mode=\"customize\"\n pages={pages}\n />\n {contextMenuProps\n && (\n <ContextMenu\n exceptionalClasses={['contextMenu-button']}\n height={height}\n item={findItemById(contextMenuProps.id, pages)}\n items={findItemsOnPage(contextMenuProps.pageID, pages)}\n onAnEventTrigger={onAnEventTrigger}\n onClickOutside={() => setContextMenuProps(null)}\n onItemChange={onItemChange}\n onItemRemove={onItemRemove}\n onPageChange={onPageChange}\n position={contextMenuProps.position}\n width={width}\n />\n )}\n </main>\n );\n};\n\nScene.propTypes = {\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n hashCode: PropTypes.string,\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n onItemAdd: PropTypes.func,\n onItemChange: PropTypes.func,\n onItemMove: PropTypes.func,\n onItemRemove: PropTypes.func,\n onItemResize: PropTypes.func,\n onItemsMove: PropTypes.func,\n onPageAdd: PropTypes.func,\n onPageChange: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageOrdersChange: PropTypes.func,\n onPageRemove: PropTypes.func,\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n};\n\nScene.defaultProps = {\n additionalPageItems: [],\n hashCode: '',\n itemAccessor: () => {},\n lastScrollPosition: 0,\n onItemAdd: () => {},\n onItemChange: () => {},\n onItemMove: () => {},\n onItemRemove: () => {},\n onItemResize: () => {},\n onItemsMove: () => {},\n onPageAdd: () => {},\n onPageChange: () => {},\n onPageDuplicate: () => {},\n onPageOrdersChange: () => {},\n onPageRemove: () => {},\n pages: [],\n};\n\nexport default memo(Scene);\n"],"names":["Scene","additionalPageItems","hashCode","itemAccessor","lastScrollPosition","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","pages","pageCount","length","useBuilderContext","activeElement","contextMenuProps","isRightPanelOpen","setActiveElement","setContextMenuProps","setEditedElement","setIsRightPanelOpen","zoom","usePropContext","acceptedItems","disableInteraction","onAnEventTrigger","settings","useState","itemToPaste","setItemToPaste","isHeaderHidden","useRef","pageStyles","pageContainerStyles","viewPortRef","refs","reduce","acc","curr","id","createRef","isMultipleItemSelected","guides","setGuides","keyDownCount","useEffect","_guides","page","_pageGuides","pageRef","current","getBoundingClientRect","height","left","top","width","boundingBox","x","calculateGuidePositions","map","value","y","items","forEach","item","dropped","useCallback","pageID","monitor","ref","itemType","additionalData","pageClient","coords","getCorrectDroppedOffsetValue","type","getItemType","DROPPABLE_ITEM_TYPE","itemID","generateId","details","DRAGGABLE_ITEM_TYPE","dragCoords","getCorrectDroppedOffsetValueBySnap","leftDifference","topDifference","tempItem","findItemById","Error","scrollTop","document","body","classList","contains","remove","foundItem","selectedItems","getSelectedItems","moveItemWithKeyboard","event","direction","preventDefault","isLocked","selectNextOrPrevElement","deletedItem","referenceItem","find","_page","currentIndex","findIndex","shiftKey","onItemRemoveFromPage","e","handlePaste","getMostVisiblePage","offset","keyboardActions","key","metaKey","movementValue","onScroll","currentTarget","hiddenHeaderHeight","headerHidingLimit","add","shouldSuppressKeyboardEvent","EVENT_IGNORED_ROLES","some","role","target","closest","handleKeyboardEvent","shouldPaste","arrowKeyCodes","includes","useEventListener","reportLayoutHeight","reportLayoutWidth","parseInt","Number","isNaN","zoomToUse","parseFloat","toFixed","transform","transformOrigin","_jsxs","classNames","_jsx","index","order","toString","findItemsOnPage","position","propTypes","PropTypes","arrayOf","node","string","func","number","shape","defaultProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"Scene.js","sources":["../../../../src/components/Builder/Scene.js"],"sourcesContent":["/* eslint-disable complexity */\nimport {\n createRef,\n Fragment,\n useEffect,\n useRef,\n useState,\n memo,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport * as classNames from '../../constants/classNames';\nimport ContextMenu from './ContextMenu';\nimport PageActions from './PageActions';\nimport PageAdder from './PageAdder';\nimport ZoomControls from './ZoomControls';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { usePropContext } from '../../utils/propContext';\nimport Page from './Page';\nimport {\n calculateGuidePositions,\n findItemById,\n findItemsOnPage,\n getMostVisiblePage,\n getSelectedItems,\n} from '../../utils/functions';\nimport { useEventListener } from '../../utils/hooks';\nimport DraggableItemLayer from '../DraggableItem/DraggableItemLayer';\nimport generateId from '../../utils/generateId';\nimport { EVENT_IGNORED_ROLES } from '../../constants/eventIgnoredRoles';\n\nconst Scene = ({\n additionalPageItems = [],\n hashCode = '',\n itemAccessor = () => {},\n lastScrollPosition = 0,\n onItemAdd = () => {},\n onItemChange = () => {},\n onItemMove = () => {},\n onItemRemove = () => {},\n onItemResize = () => {},\n onItemsMove = () => {},\n onPageAdd = () => {},\n onPageChange = () => {},\n onPageDuplicate = () => {},\n onPageOrdersChange = () => {},\n onPageRemove = () => {},\n pages = [],\n}) => {\n const pageCount = pages.length;\n /* Builder Context */\n const {\n activeElement,\n contextMenuProps,\n isRightPanelOpen,\n setActiveElement,\n setContextMenuProps,\n setEditedElement,\n setIsRightPanelOpen,\n zoom,\n } = useBuilderContext();\n const {\n disableInteraction,\n onAnEventTrigger,\n settings,\n } = usePropContext();\n const [itemToPaste, setItemToPaste] = useState(null);\n const isHeaderHidden = useRef(false);\n\n const pageStyles = useRef({});\n const pageContainerStyles = useRef({});\n const viewPortRef = useRef({});\n\n /* Page Refs */\n const refs = pages.reduce((acc, curr) => {\n acc[curr.id] = createRef(null);\n return acc;\n }, {});\n\n const isMultipleItemSelected = activeElement !== null && activeElement.length > 1;\n\n /* Calculate snap guides */\n const [guides, setGuides] = useState({});\n const keyDownCount = useRef(null);\n useEffect(() => {\n const _guides = pages.reduce((acc, page) => {\n const _pageGuides = {};\n if (refs[page.id]) {\n const pageRef = refs[page.id];\n const {\n height, left, top, width,\n } = pageRef.current.getBoundingClientRect();\n const boundingBox = {\n height, left, top, width,\n };\n _pageGuides.boundingBox = {\n x: calculateGuidePositions(boundingBox, 'x').map(value => value - boundingBox.left),\n y: calculateGuidePositions(boundingBox, 'y').map(value => value - boundingBox.top),\n };\n page.items.forEach(item => {\n _pageGuides[item.id] = {\n x: calculateGuidePositions(item, 'x', zoom),\n y: calculateGuidePositions(item, 'y', zoom),\n };\n });\n }\n acc[page.id] = _pageGuides;\n return acc;\n }, {});\n setGuides(_guides);\n }, [pages, zoom]);\n\n useEffect(() => {\n if (viewPortRef.current) {\n viewPortRef.current.scrollTop = lastScrollPosition;\n }\n }, []); // set last scroll position after changing mode\n\n useEffect(() => {\n if (document.body.classList.contains('hideHeader') && isHeaderHidden) {\n document.body.classList.remove('hideHeader');\n }\n }, []); // reset hideHeader\n\n const foundItem = findItemById(activeElement === null ? null : activeElement[0], pages);\n\n const selectedItems = getSelectedItems(activeElement, pages);\n const moveItemWithKeyboard = (event, direction, value) => {\n event.preventDefault();\n selectedItems.forEach(item => {\n if (item.isLocked) {\n return false;\n }\n onItemChange(\n { id: item.id },\n {\n ...item,\n [direction]: item[direction] + value,\n },\n );\n });\n };\n\n const selectNextOrPrevElement = (event, deletedItem) => {\n if (event.preventDefault) event.preventDefault();\n const referenceItem = deletedItem ? deletedItem : foundItem;\n\n const page = pages.find(_page => _page.id === referenceItem.pageID);\n if (!page || (page && !page.items.length)) return setActiveElement(null);\n const { items } = page;\n\n const currentIndex = items.findIndex(item => item.id === referenceItem.id);\n\n // Pages are not updated in time so here is an unnecessary check\n if (items.length === 1 && deletedItem) {\n return setActiveElement(null);\n }\n\n if (event.shiftKey) {\n if (items[currentIndex - 1]) setActiveElement(items[currentIndex - 1].id);\n else setActiveElement(items[items.length - 1].id);\n } else if (items[currentIndex + 1]) {\n setActiveElement(items[currentIndex + 1].id);\n } else setActiveElement(items[0].id);\n };\n\n const onItemRemoveFromPage = e => {\n // Firefox updates browser history on backspace\n e.preventDefault();\n if (isMultipleItemSelected) return;\n if (foundItem.isLocked) {\n return false;\n }\n setActiveElement(null);\n onItemRemove(foundItem);\n selectNextOrPrevElement({ shiftKey: false }, foundItem);\n onAnEventTrigger('removeItem', foundItem.itemType);\n };\n\n const handlePaste = () => {\n if (isMultipleItemSelected) return;\n const itemID = generateId();\n const pageID = getMostVisiblePage(true);\n const offset = itemToPaste.pageID === pageID ? 50 : 0;\n\n const item = {\n ...itemToPaste,\n id: itemID,\n left: itemToPaste.left + offset,\n pageID,\n top: itemToPaste.top + offset,\n };\n\n onItemAdd(item);\n\n onAnEventTrigger('pasteItem', itemToPaste.itemType);\n setActiveElement(itemID);\n // set as last reference to paste\n setItemToPaste(item);\n };\n\n const keyboardActions = event => {\n const {\n key,\n metaKey,\n shiftKey,\n } = event;\n\n if (metaKey) {\n if (key === 'l') {\n // Lock\n if (isMultipleItemSelected) return;\n event.preventDefault(); // Dont focus to URL bar\n onAnEventTrigger(\n foundItem.isLocked ? 'unlockReportItem' : 'lockReportItem',\n foundItem.itemType,\n );\n onItemChange(\n { id: foundItem.id },\n { isLocked: foundItem.isLocked ? false : true },\n );\n return;\n }\n\n if (key === 'c' || key === 'x') {\n if (isMultipleItemSelected) return;\n // Copy or Cut\n if (key === 'x') {\n onItemRemoveFromPage(event);\n onAnEventTrigger('cutItem', foundItem.itemType);\n } else {\n onAnEventTrigger('copyItem', foundItem.itemType);\n }\n\n setItemToPaste(foundItem);\n return;\n }\n\n if (foundItem && key === 'd') {\n if (isMultipleItemSelected) return;\n // Duplicate\n event.preventDefault();\n const itemID = generateId();\n onItemAdd({\n ...foundItem,\n id: itemID,\n left: foundItem.left + 50,\n top: foundItem.top + 50,\n });\n onAnEventTrigger('duplicateItem', foundItem.itemType);\n setActiveElement(itemID);\n if (!isRightPanelOpen) {\n setIsRightPanelOpen(true);\n }\n return;\n }\n }\n\n keyDownCount.current++;\n const movementValue = shiftKey ? 10 : 1 + keyDownCount.current;\n\n // Others\n switch (key) {\n case 'Backspace': return onItemRemoveFromPage(event);\n case 'Delete': return onItemRemoveFromPage(event);\n case 'Escape': return setActiveElement(null);\n case 'ArrowLeft': return moveItemWithKeyboard(event, 'left', -movementValue);\n case 'ArrowUp': return moveItemWithKeyboard(event, 'top', -movementValue);\n case 'ArrowRight': return moveItemWithKeyboard(event, 'left', movementValue);\n case 'ArrowDown': return moveItemWithKeyboard(event, 'top', movementValue);\n case 'Tab': return selectNextOrPrevElement(event);\n default:\n }\n };\n\n const onScroll = e => {\n const { scrollTop } = e.currentTarget;\n const hiddenHeaderHeight = 70;\n const headerHidingLimit = isHeaderHidden ? 230 : 300;\n if (scrollTop > headerHidingLimit + hiddenHeaderHeight && !isHeaderHidden.current) {\n isHeaderHidden.current = true;\n document.body.classList.add('hideHeader');\n } else if (scrollTop < headerHidingLimit && isHeaderHidden.current) {\n isHeaderHidden.current = false;\n document.body.classList.remove('hideHeader');\n }\n };\n\n const shouldSuppressKeyboardEvent = e => (\n EVENT_IGNORED_ROLES.some(role => e.target.closest(`[role=${role}]`))\n );\n\n const handleKeyboardEvent = e => {\n const shouldPaste = itemToPaste && e.key === 'v' && e.metaKey;\n\n if (shouldSuppressKeyboardEvent(e)) {\n return;\n }\n\n if (activeElement && !shouldPaste) {\n const arrowKeyCodes = ['ArrowLeft', 'ArrowUp', 'ArrowDown', 'ArrowBottom'];\n if (arrowKeyCodes.includes(e.key)) e.preventDefault();\n keyboardActions(e);\n } else if (shouldPaste) {\n handlePaste();\n }\n };\n\n useEventListener('keydown', handleKeyboardEvent);\n useEventListener('keyup', () => { keyDownCount.current = 0; });\n\n const { reportLayoutHeight = 794, reportLayoutWidth = 1123 } = settings;\n\n // TODO: Some strange shit is going on here on first render\n let width = parseInt(reportLayoutWidth, 10);\n let height = parseInt(reportLayoutHeight, 10);\n width = Number.isNaN(width) ? 1 : width;\n height = Number.isNaN(height) ? 1 : height;\n const zoomToUse = Number.isNaN(zoom) ? 1 : zoom;\n\n pageStyles.current = {\n height: parseFloat((height * zoomToUse).toFixed(1)),\n width: parseFloat((width * zoomToUse).toFixed(1)),\n };\n pageContainerStyles.current = {\n height,\n transform: `scale(${zoomToUse})`,\n transformOrigin: '0 0',\n width,\n };\n\n return (\n <main // Builder.js\n className={classNames.mainWrapper}\n >\n <DraggableItemLayer\n guides={guides}\n itemAccessor={itemAccessor}\n pageRefs={refs}\n pages={pages}\n />\n\n <div\n ref={viewPortRef}\n className={classNames.viewport}\n data-zoom={zoom}\n onScroll={onScroll}\n >\n <div\n className={classNames.canvas}\n >\n {pages.map((page, index) => (\n // TODO: This part can be moved into a different component\n <Fragment key={page.id}>\n <PageActions\n disableInteraction={disableInteraction}\n onAnEventTrigger={onAnEventTrigger}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n order={page.order}\n pageCount={pageCount}\n pageID={page.id}\n pages={pages}\n setEditedElement={setEditedElement}\n setIsRightPanelOpen={setIsRightPanelOpen}\n />\n <div\n key={`page_${page.id}`}\n ref={refs[page.id]}\n className={classNames.page}\n data-id={page.id}\n data-order={page.order}\n id={`presentation-page-${page.id.toString()}`}\n style={pageStyles.current}\n >\n <Page\n activeElement={activeElement}\n additionalPageItems={additionalPageItems}\n guides={guides}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n items={page.items}\n onItemAdd={onItemAdd}\n onItemChange={onItemChange}\n onItemMove={onItemMove}\n onItemRemove={onItemRemove}\n onItemResize={onItemResize}\n onItemsMove={onItemsMove}\n page={page}\n pageIndex={index}\n pageRef={refs[page.id]}\n pages={pages}\n style={pageContainerStyles.current}\n />\n </div>\n </Fragment>\n ))}\n <PageAdder\n onPageAdd={onPageAdd}\n pageCount={pageCount}\n />\n </div>\n </div>\n <ZoomControls\n mode=\"customize\"\n pages={pages}\n />\n {contextMenuProps\n && (\n <ContextMenu\n exceptionalClasses={['contextMenu-button']}\n height={height}\n item={findItemById(contextMenuProps.id, pages)}\n items={findItemsOnPage(contextMenuProps.pageID, pages)}\n onAnEventTrigger={onAnEventTrigger}\n onClickOutside={() => setContextMenuProps(null)}\n onItemChange={onItemChange}\n onItemRemove={onItemRemove}\n onPageChange={onPageChange}\n position={contextMenuProps.position}\n width={width}\n />\n )}\n </main>\n );\n};\n\nScene.propTypes = {\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n hashCode: PropTypes.string,\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n onItemAdd: PropTypes.func,\n onItemChange: PropTypes.func,\n onItemMove: PropTypes.func,\n onItemRemove: PropTypes.func,\n onItemResize: PropTypes.func,\n onItemsMove: PropTypes.func,\n onPageAdd: PropTypes.func,\n onPageChange: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageOrdersChange: PropTypes.func,\n onPageRemove: PropTypes.func,\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n};\n\nexport default memo(Scene);\n"],"names":["Scene","additionalPageItems","hashCode","itemAccessor","lastScrollPosition","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","pages","pageCount","length","useBuilderContext","activeElement","contextMenuProps","isRightPanelOpen","setActiveElement","setContextMenuProps","setEditedElement","setIsRightPanelOpen","zoom","usePropContext","disableInteraction","onAnEventTrigger","settings","useState","itemToPaste","setItemToPaste","isHeaderHidden","useRef","pageStyles","pageContainerStyles","viewPortRef","refs","reduce","acc","curr","id","createRef","isMultipleItemSelected","guides","setGuides","keyDownCount","useEffect","_guides","page","_pageGuides","pageRef","current","getBoundingClientRect","height","left","top","width","boundingBox","x","calculateGuidePositions","map","value","y","items","forEach","item","scrollTop","document","body","classList","contains","remove","foundItem","findItemById","selectedItems","getSelectedItems","moveItemWithKeyboard","event","direction","preventDefault","isLocked","selectNextOrPrevElement","deletedItem","referenceItem","find","_page","pageID","currentIndex","findIndex","shiftKey","onItemRemoveFromPage","e","itemType","handlePaste","itemID","generateId","getMostVisiblePage","offset","keyboardActions","key","metaKey","movementValue","onScroll","currentTarget","hiddenHeaderHeight","headerHidingLimit","add","shouldSuppressKeyboardEvent","EVENT_IGNORED_ROLES","some","role","target","closest","handleKeyboardEvent","shouldPaste","arrowKeyCodes","includes","useEventListener","reportLayoutHeight","reportLayoutWidth","parseInt","Number","isNaN","zoomToUse","parseFloat","toFixed","transform","transformOrigin","_jsxs","classNames","_jsx","index","order","toString","findItemsOnPage","position","propTypes","PropTypes","arrayOf","node","string","func","number","shape","memo"],"mappings":"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"}
@@ -22,9 +22,12 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
22
22
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
23
 
24
24
  var SearchInput = function SearchInput(_ref) {
25
- var elements = _ref.elements,
26
- searchKeys = _ref.searchKeys,
27
- setElements = _ref.setElements;
25
+ var _ref$elements = _ref.elements,
26
+ elements = _ref$elements === void 0 ? [] : _ref$elements,
27
+ _ref$searchKeys = _ref.searchKeys,
28
+ searchKeys = _ref$searchKeys === void 0 ? [] : _ref$searchKeys,
29
+ _ref$setElements = _ref.setElements,
30
+ setElements = _ref$setElements === void 0 ? function () {} : _ref$setElements;
28
31
 
29
32
  var _useTranslatedTexts = useTranslatedTexts(),
30
33
  SEARCH = _useTranslatedTexts.SEARCH;
@@ -117,13 +120,6 @@ SearchInput.propTypes = {
117
120
  })),
118
121
  setElements: PropTypes.func
119
122
  };
120
- SearchInput.defaultProps = {
121
- elements: [],
122
- searchKeys: [],
123
- setElements: function setElements(f) {
124
- return f;
125
- }
126
- };
127
123
 
128
124
  export default SearchInput;
129
125
  //# sourceMappingURL=SearchInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","sources":["../../../../src/components/Builder/SearchInput.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n useState,\n useMemo,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport Fuse from 'fuse.js/dist/fuse.common';\nimport SearchIcon from '../../assets/search.svg';\nimport CrossIcon from '../../assets/svg/close.svg';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst SearchInput = ({\n elements,\n searchKeys,\n setElements,\n}) => {\n const { SEARCH } = useTranslatedTexts();\n const searchInputRef = useRef(null);\n const [searchValue, setSearchValue] = useState('');\n\n const searchEngine = useMemo(() => {\n return new Fuse(elements, { keys: searchKeys, threshold: 0.4 });\n }, [elements, searchKeys]);\n\n useEffect(() => {\n setElements(elements);\n setSearchValue('');\n }, [elements]);\n\n const onSearchButtonClick = useCallback(() => {\n if (searchValue) {\n setSearchValue('');\n setElements(elements);\n }\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n }\n }, [searchValue]);\n\n const onSearchChange = useCallback(e => {\n const _searchValue = e.target.value;\n setSearchValue(_searchValue);\n\n if (!_searchValue || !searchKeys) {\n return setElements(elements);\n }\n\n const filteredElements = searchEngine.search(_searchValue).map(i => i.item);\n\n setElements(filteredElements.length ? filteredElements : 'noResult');\n }, [elements, searchKeys]);\n\n const handleKeyDown = useCallback(e => {\n e.stopPropagation();\n if (e.key === 'Escape' && searchInputRef.current) {\n setSearchValue('');\n setElements(elements);\n searchInputRef.current.blur();\n }\n }, [elements]);\n\n return (\n <div className=\"jfReport-searchContainer\">\n <div className=\"jfReport-search p-relative\">\n <input\n ref={searchInputRef}\n className=\"js-searchInput section-search-input\"\n onChange={onSearchChange}\n onKeyDown={handleKeyDown}\n placeholder={SEARCH}\n type=\"text\"\n value={searchValue}\n />\n <button\n className=\"section-search-button search-icon\"\n onClick={onSearchButtonClick}\n type=\"button\"\n >\n <SearchIcon className=\"section-search-icon\" />\n </button>\n {searchValue && (\n <button\n className=\"section-search-button search-delete\"\n onClick={onSearchButtonClick}\n type=\"button\"\n >\n <CrossIcon className=\"section-search-icon delete\" />\n </button>\n )}\n </div>\n </div>\n );\n};\n\nSearchInput.propTypes = {\n elements: PropTypes.arrayOf(PropTypes.shape({})),\n searchKeys: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string,\n weight: PropTypes.number,\n })),\n setElements: PropTypes.func,\n};\n\nSearchInput.defaultProps = {\n elements: [],\n searchKeys: [],\n setElements: f => f,\n};\n\nexport default SearchInput;\n"],"names":["SearchInput","elements","searchKeys","setElements","useTranslatedTexts","SEARCH","searchInputRef","useRef","useState","searchValue","setSearchValue","searchEngine","useMemo","Fuse","keys","threshold","useEffect","onSearchButtonClick","useCallback","current","focus","onSearchChange","e","_searchValue","target","value","filteredElements","search","map","i","item","length","handleKeyDown","stopPropagation","key","blur","_jsx","_jsxs","SearchIcon","CrossIcon","propTypes","PropTypes","arrayOf","shape","name","string","weight","number","func","defaultProps","f"],"mappings":"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"}
1
+ {"version":3,"file":"SearchInput.js","sources":["../../../../src/components/Builder/SearchInput.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n useState,\n useMemo,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport Fuse from 'fuse.js/dist/fuse.common';\nimport SearchIcon from '../../assets/search.svg';\nimport CrossIcon from '../../assets/svg/close.svg';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst SearchInput = ({\n elements = [],\n searchKeys = [],\n setElements = () => {},\n}) => {\n const { SEARCH } = useTranslatedTexts();\n const searchInputRef = useRef(null);\n const [searchValue, setSearchValue] = useState('');\n\n const searchEngine = useMemo(() => {\n return new Fuse(elements, { keys: searchKeys, threshold: 0.4 });\n }, [elements, searchKeys]);\n\n useEffect(() => {\n setElements(elements);\n setSearchValue('');\n }, [elements]);\n\n const onSearchButtonClick = useCallback(() => {\n if (searchValue) {\n setSearchValue('');\n setElements(elements);\n }\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n }\n }, [searchValue]);\n\n const onSearchChange = useCallback(e => {\n const _searchValue = e.target.value;\n setSearchValue(_searchValue);\n\n if (!_searchValue || !searchKeys) {\n return setElements(elements);\n }\n\n const filteredElements = searchEngine.search(_searchValue).map(i => i.item);\n\n setElements(filteredElements.length ? filteredElements : 'noResult');\n }, [elements, searchKeys]);\n\n const handleKeyDown = useCallback(e => {\n e.stopPropagation();\n if (e.key === 'Escape' && searchInputRef.current) {\n setSearchValue('');\n setElements(elements);\n searchInputRef.current.blur();\n }\n }, [elements]);\n\n return (\n <div className=\"jfReport-searchContainer\">\n <div className=\"jfReport-search p-relative\">\n <input\n ref={searchInputRef}\n className=\"js-searchInput section-search-input\"\n onChange={onSearchChange}\n onKeyDown={handleKeyDown}\n placeholder={SEARCH}\n type=\"text\"\n value={searchValue}\n />\n <button\n className=\"section-search-button search-icon\"\n onClick={onSearchButtonClick}\n type=\"button\"\n >\n <SearchIcon className=\"section-search-icon\" />\n </button>\n {searchValue && (\n <button\n className=\"section-search-button search-delete\"\n onClick={onSearchButtonClick}\n type=\"button\"\n >\n <CrossIcon className=\"section-search-icon delete\" />\n </button>\n )}\n </div>\n </div>\n );\n};\n\nSearchInput.propTypes = {\n elements: PropTypes.arrayOf(PropTypes.shape({})),\n searchKeys: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string,\n weight: PropTypes.number,\n })),\n setElements: PropTypes.func,\n};\n\nexport default SearchInput;\n"],"names":["SearchInput","elements","searchKeys","setElements","useTranslatedTexts","SEARCH","searchInputRef","useRef","useState","searchValue","setSearchValue","searchEngine","useMemo","Fuse","keys","threshold","useEffect","onSearchButtonClick","useCallback","current","focus","onSearchChange","e","_searchValue","target","value","filteredElements","search","map","i","item","length","handleKeyDown","stopPropagation","key","blur","_jsx","_jsxs","SearchIcon","CrossIcon","propTypes","PropTypes","arrayOf","shape","name","string","weight","number","func"],"mappings":"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"}