@jotforminc/dnd-builder 3.0.0-alpha.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/CHANGELOG.md +193 -0
  2. package/lib/cjs/components/AlignmentGuides.js +11 -12
  3. package/lib/cjs/components/AlignmentGuides.js.map +1 -1
  4. package/lib/cjs/components/Builder/Builder.js +21 -131
  5. package/lib/cjs/components/Builder/Builder.js.map +1 -1
  6. package/lib/cjs/components/Builder/BuilderWrapper.js +64 -0
  7. package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -0
  8. package/lib/cjs/components/Builder/ContextMenu.js +31 -30
  9. package/lib/cjs/components/Builder/ContextMenu.js.map +1 -1
  10. package/lib/cjs/components/Builder/DndWrapper.js +16 -19
  11. package/lib/cjs/components/Builder/DndWrapper.js.map +1 -1
  12. package/lib/cjs/components/Builder/Element.js +51 -44
  13. package/lib/cjs/components/Builder/Element.js.map +1 -1
  14. package/lib/cjs/components/Builder/Page.js +127 -82
  15. package/lib/cjs/components/Builder/Page.js.map +1 -1
  16. package/lib/cjs/components/Builder/PageActions.js +35 -37
  17. package/lib/cjs/components/Builder/PageActions.js.map +1 -1
  18. package/lib/cjs/components/Builder/PageAdder.js +10 -11
  19. package/lib/cjs/components/Builder/PageAdder.js.map +1 -1
  20. package/lib/cjs/components/Builder/Panel.js +8 -10
  21. package/lib/cjs/components/Builder/Panel.js.map +1 -1
  22. package/lib/cjs/components/Builder/ReportItemRenderer.js +7 -6
  23. package/lib/cjs/components/Builder/ReportItemRenderer.js.map +1 -1
  24. package/lib/cjs/components/Builder/Scene.js +75 -205
  25. package/lib/cjs/components/Builder/Scene.js.map +1 -1
  26. package/lib/cjs/components/Builder/SearchInput.js +27 -58
  27. package/lib/cjs/components/Builder/SearchInput.js.map +1 -1
  28. package/lib/cjs/components/Builder/Section.js +8 -10
  29. package/lib/cjs/components/Builder/Section.js.map +1 -1
  30. package/lib/cjs/components/Builder/Tabs.js +19 -16
  31. package/lib/cjs/components/Builder/Tabs.js.map +1 -1
  32. package/lib/cjs/components/Builder/ZoomControls.js +20 -34
  33. package/lib/cjs/components/Builder/ZoomControls.js.map +1 -1
  34. package/lib/cjs/components/DraggableItem/DraggableItem.js +165 -157
  35. package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
  36. package/lib/cjs/components/DraggableItem/DraggableItemActions.js +12 -14
  37. package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
  38. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +25 -22
  39. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  40. package/lib/cjs/components/Elements/Chart.js +3 -4
  41. package/lib/cjs/components/Elements/Chart.js.map +1 -1
  42. package/lib/cjs/components/Elements/Icon.js +3 -5
  43. package/lib/cjs/components/Elements/Icon.js.map +1 -1
  44. package/lib/cjs/components/Elements/Image.js +11 -12
  45. package/lib/cjs/components/Elements/Image.js.map +1 -1
  46. package/lib/cjs/components/Elements/RichText.js +16 -14
  47. package/lib/cjs/components/Elements/RichText.js.map +1 -1
  48. package/lib/cjs/components/Elements/Shapes.js +2 -4
  49. package/lib/cjs/components/Elements/Shapes.js.map +1 -1
  50. package/lib/cjs/components/ItemPositioner.js +6 -8
  51. package/lib/cjs/components/ItemPositioner.js.map +1 -1
  52. package/lib/cjs/components/PageItemResizer.js +3 -7
  53. package/lib/cjs/components/PageItemResizer.js.map +1 -1
  54. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js +25 -60
  55. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
  56. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +2 -4
  57. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +1 -1
  58. package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js +8 -15
  59. package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js.map +1 -1
  60. package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js +56 -21
  61. package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js.map +1 -1
  62. package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +54 -0
  63. package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +1 -0
  64. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js +143 -47
  65. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
  66. package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js +17 -18
  67. package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +1 -1
  68. package/lib/cjs/components/Panels/LeftPanel/Elements.js +48 -52
  69. package/lib/cjs/components/Panels/LeftPanel/Elements.js.map +1 -1
  70. package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js +6 -35
  71. package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
  72. package/lib/cjs/components/Panels/LeftPanel/LeftPanelCloser.js +4 -4
  73. package/lib/cjs/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
  74. package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js +4 -3
  75. package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
  76. package/lib/cjs/components/Panels/RightPanel/RightPanel.js +139 -144
  77. package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
  78. package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js +7 -4
  79. package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
  80. package/lib/cjs/components/Panels/RightPanel/Settings.js +21 -22
  81. package/lib/cjs/components/Panels/RightPanel/Settings.js.map +1 -1
  82. package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js +105 -95
  83. package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
  84. package/lib/cjs/components/Panels/SlidesPanel/PageThumbnailActions.js +17 -18
  85. package/lib/cjs/components/Panels/SlidesPanel/PageThumbnailActions.js.map +1 -1
  86. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +33 -67
  87. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  88. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js +9 -9
  89. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
  90. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js +62 -28
  91. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
  92. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js +54 -0
  93. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js.map +1 -0
  94. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js +8 -9
  95. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
  96. package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js +163 -109
  97. package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  98. package/lib/cjs/components/Presentation/Presentation.js +19 -70
  99. package/lib/cjs/components/Presentation/Presentation.js.map +1 -1
  100. package/lib/cjs/components/Presentation/PresentationBar/PageNavigation.js +8 -10
  101. package/lib/cjs/components/Presentation/PresentationBar/PageNavigation.js.map +1 -1
  102. package/lib/cjs/components/Presentation/PresentationBar/PresentationActions.js +45 -12
  103. package/lib/cjs/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
  104. package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js +44 -86
  105. package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
  106. package/lib/cjs/components/Presentation/PresentationBar/SelectZoom.js +8 -10
  107. package/lib/cjs/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
  108. package/lib/cjs/components/Presentation/PresentationWrapper.js +56 -59
  109. package/lib/cjs/components/Presentation/PresentationWrapper.js.map +1 -1
  110. package/lib/cjs/components/Presentation/ProgressBar.js +4 -6
  111. package/lib/cjs/components/Presentation/ProgressBar.js.map +1 -1
  112. package/lib/cjs/components/Preview/Preview.js +14 -69
  113. package/lib/cjs/components/Preview/Preview.js.map +1 -1
  114. package/lib/cjs/components/Preview/StaticItem.js +5 -16
  115. package/lib/cjs/components/Preview/StaticItem.js.map +1 -1
  116. package/lib/cjs/components/Preview/StaticPage.js +16 -22
  117. package/lib/cjs/components/Preview/StaticPage.js.map +1 -1
  118. package/lib/cjs/components/Preview/StaticScene.js +34 -56
  119. package/lib/cjs/components/Preview/StaticScene.js.map +1 -1
  120. package/lib/cjs/components/Print/Print.js +18 -62
  121. package/lib/cjs/components/Print/Print.js.map +1 -1
  122. package/lib/cjs/components/Print/PrintModal.js +55 -0
  123. package/lib/cjs/components/Print/PrintModal.js.map +1 -0
  124. package/lib/cjs/components/Print/{PrintModeWithoutContext.js → PrintWrapper.js} +11 -42
  125. package/lib/cjs/components/Print/PrintWrapper.js.map +1 -0
  126. package/lib/cjs/components/Report.js +28 -40
  127. package/lib/cjs/components/Report.js.map +1 -1
  128. package/lib/cjs/components/ReportItemsWrapper.js +22 -36
  129. package/lib/cjs/components/ReportItemsWrapper.js.map +1 -1
  130. package/lib/cjs/components/ReportWrapper.js +28 -57
  131. package/lib/cjs/components/ReportWrapper.js.map +1 -1
  132. package/lib/cjs/components/Settings/Button.js +8 -10
  133. package/lib/cjs/components/Settings/Button.js.map +1 -1
  134. package/lib/cjs/components/Settings/CheckboxGroup.js +8 -10
  135. package/lib/cjs/components/Settings/CheckboxGroup.js.map +1 -1
  136. package/lib/cjs/components/Settings/ColorPicker.js +18 -13
  137. package/lib/cjs/components/Settings/ColorPicker.js.map +1 -1
  138. package/lib/cjs/components/Settings/Dropdown.js +10 -12
  139. package/lib/cjs/components/Settings/Dropdown.js.map +1 -1
  140. package/lib/cjs/components/Settings/FieldSet.js +3 -4
  141. package/lib/cjs/components/Settings/FieldSet.js.map +1 -1
  142. package/lib/cjs/components/Settings/IconSelectBox.js +8 -10
  143. package/lib/cjs/components/Settings/IconSelectBox.js.map +1 -1
  144. package/lib/cjs/components/Settings/ImagePicker/EnterURL.js +4 -6
  145. package/lib/cjs/components/Settings/ImagePicker/EnterURL.js.map +1 -1
  146. package/lib/cjs/components/Settings/ImagePicker/ImageThumbnailWithDelete.js +6 -8
  147. package/lib/cjs/components/Settings/ImagePicker/ImageThumbnailWithDelete.js.map +1 -1
  148. package/lib/cjs/components/Settings/ImageUrl.js +8 -10
  149. package/lib/cjs/components/Settings/ImageUrl.js.map +1 -1
  150. package/lib/cjs/components/Settings/LayoutSizeSettings.js +4 -6
  151. package/lib/cjs/components/Settings/LayoutSizeSettings.js.map +1 -1
  152. package/lib/cjs/components/Settings/Orientation.js +8 -10
  153. package/lib/cjs/components/Settings/Orientation.js.map +1 -1
  154. package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js +128 -0
  155. package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -0
  156. package/lib/cjs/components/Settings/PageLayer/LayerItem.js +91 -32
  157. package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
  158. package/lib/cjs/components/Settings/PageLayer/PageLayer.js +115 -50
  159. package/lib/cjs/components/Settings/PageLayer/PageLayer.js.map +1 -1
  160. package/lib/cjs/components/Settings/SegmentControl.js +8 -10
  161. package/lib/cjs/components/Settings/SegmentControl.js.map +1 -1
  162. package/lib/cjs/components/Settings/SelectBox.js +8 -10
  163. package/lib/cjs/components/Settings/SelectBox.js.map +1 -1
  164. package/lib/cjs/components/Settings/SettingsItemRenderer.js +9 -11
  165. package/lib/cjs/components/Settings/SettingsItemRenderer.js.map +1 -1
  166. package/lib/cjs/components/Settings/SizeSettings.js +4 -6
  167. package/lib/cjs/components/Settings/SizeSettings.js.map +1 -1
  168. package/lib/cjs/components/Settings/Slider.js +8 -10
  169. package/lib/cjs/components/Settings/Slider.js.map +1 -1
  170. package/lib/cjs/components/Settings/Switch.js +8 -10
  171. package/lib/cjs/components/Settings/Switch.js.map +1 -1
  172. package/lib/cjs/components/Settings/Textbox.js +12 -14
  173. package/lib/cjs/components/Settings/Textbox.js.map +1 -1
  174. package/lib/cjs/components/Settings/Toggle.js +8 -10
  175. package/lib/cjs/components/Settings/Toggle.js.map +1 -1
  176. package/lib/cjs/components/StaticElements/StaticRichText.js +26 -30
  177. package/lib/cjs/components/StaticElements/StaticRichText.js.map +1 -1
  178. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbar.js +2 -4
  179. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
  180. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +4 -6
  181. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
  182. package/lib/cjs/components/TextEditor/QuillEditor.js +6 -11
  183. package/lib/cjs/components/TextEditor/QuillEditor.js.map +1 -1
  184. package/lib/cjs/components/TextEditor/TextEditor.js +17 -18
  185. package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
  186. package/lib/cjs/components/withClickOutside.js +10 -11
  187. package/lib/cjs/components/withClickOutside.js.map +1 -1
  188. package/lib/cjs/components/withZoomPanPinchHOC.js +10 -12
  189. package/lib/cjs/components/withZoomPanPinchHOC.js.map +1 -1
  190. package/lib/cjs/constants/eventIgnoredRoles.js +13 -0
  191. package/lib/cjs/constants/eventIgnoredRoles.js.map +1 -0
  192. package/lib/cjs/constants/texts.js +11 -0
  193. package/lib/cjs/constants/texts.js.map +1 -1
  194. package/lib/cjs/contexts/BuilderContext.js +208 -0
  195. package/lib/cjs/contexts/BuilderContext.js.map +1 -0
  196. package/lib/cjs/contexts/PresentationContext.js +140 -0
  197. package/lib/cjs/contexts/PresentationContext.js.map +1 -0
  198. package/lib/cjs/contexts/PropContext.js +144 -0
  199. package/lib/cjs/contexts/PropContext.js.map +1 -0
  200. package/lib/cjs/contexts/Providers.js +70 -0
  201. package/lib/cjs/contexts/Providers.js.map +1 -0
  202. package/lib/cjs/index.js +0 -2
  203. package/lib/cjs/index.js.map +1 -1
  204. package/lib/cjs/styles/_jfPrint.scss +17 -1
  205. package/lib/cjs/styles/_jfReportsModal.scss +9 -9
  206. package/lib/cjs/styles/_jfReportsPanels.scss +4 -1
  207. package/lib/cjs/styles/_jfReportsReportItem.scss +1 -1
  208. package/lib/cjs/styles/_jfReportsSVG.scss +0 -1
  209. package/lib/cjs/styles/_jfReportsTextEditor.scss +5 -0
  210. package/lib/cjs/styles/_jfSearchInput.scss +2 -2
  211. package/lib/cjs/utils/functions.js +20 -9
  212. package/lib/cjs/utils/functions.js.map +1 -1
  213. package/lib/cjs/utils/getDefaultPresentationActions.js +1 -1
  214. package/lib/cjs/utils/getDefaultPresentationActions.js.map +1 -1
  215. package/lib/cjs/utils/hooks.js +64 -47
  216. package/lib/cjs/utils/hooks.js.map +1 -1
  217. package/lib/esm/components/AlignmentGuides.js +11 -12
  218. package/lib/esm/components/AlignmentGuides.js.map +1 -1
  219. package/lib/esm/components/Builder/Builder.js +20 -129
  220. package/lib/esm/components/Builder/Builder.js.map +1 -1
  221. package/lib/esm/components/Builder/BuilderWrapper.js +58 -0
  222. package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -0
  223. package/lib/esm/components/Builder/ContextMenu.js +31 -30
  224. package/lib/esm/components/Builder/ContextMenu.js.map +1 -1
  225. package/lib/esm/components/Builder/DndWrapper.js +10 -10
  226. package/lib/esm/components/Builder/DndWrapper.js.map +1 -1
  227. package/lib/esm/components/Builder/Element.js +50 -43
  228. package/lib/esm/components/Builder/Element.js.map +1 -1
  229. package/lib/esm/components/Builder/Page.js +128 -83
  230. package/lib/esm/components/Builder/Page.js.map +1 -1
  231. package/lib/esm/components/Builder/PageActions.js +35 -37
  232. package/lib/esm/components/Builder/PageActions.js.map +1 -1
  233. package/lib/esm/components/Builder/PageAdder.js +11 -12
  234. package/lib/esm/components/Builder/PageAdder.js.map +1 -1
  235. package/lib/esm/components/Builder/Panel.js +8 -10
  236. package/lib/esm/components/Builder/Panel.js.map +1 -1
  237. package/lib/esm/components/Builder/ReportItemRenderer.js +7 -6
  238. package/lib/esm/components/Builder/ReportItemRenderer.js.map +1 -1
  239. package/lib/esm/components/Builder/Scene.js +77 -203
  240. package/lib/esm/components/Builder/Scene.js.map +1 -1
  241. package/lib/esm/components/Builder/SearchInput.js +28 -58
  242. package/lib/esm/components/Builder/SearchInput.js.map +1 -1
  243. package/lib/esm/components/Builder/Section.js +8 -10
  244. package/lib/esm/components/Builder/Section.js.map +1 -1
  245. package/lib/esm/components/Builder/Tabs.js +19 -16
  246. package/lib/esm/components/Builder/Tabs.js.map +1 -1
  247. package/lib/esm/components/Builder/ZoomControls.js +20 -30
  248. package/lib/esm/components/Builder/ZoomControls.js.map +1 -1
  249. package/lib/esm/components/DraggableItem/DraggableItem.js +165 -156
  250. package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
  251. package/lib/esm/components/DraggableItem/DraggableItemActions.js +12 -14
  252. package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
  253. package/lib/esm/components/DraggableItem/DraggableItemLayer.js +23 -20
  254. package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  255. package/lib/esm/components/Elements/Chart.js +3 -4
  256. package/lib/esm/components/Elements/Chart.js.map +1 -1
  257. package/lib/esm/components/Elements/Icon.js +3 -5
  258. package/lib/esm/components/Elements/Icon.js.map +1 -1
  259. package/lib/esm/components/Elements/Image.js +11 -12
  260. package/lib/esm/components/Elements/Image.js.map +1 -1
  261. package/lib/esm/components/Elements/RichText.js +16 -14
  262. package/lib/esm/components/Elements/RichText.js.map +1 -1
  263. package/lib/esm/components/Elements/Shapes.js +2 -4
  264. package/lib/esm/components/Elements/Shapes.js.map +1 -1
  265. package/lib/esm/components/ItemPositioner.js +6 -8
  266. package/lib/esm/components/ItemPositioner.js.map +1 -1
  267. package/lib/esm/components/PageItemResizer.js +3 -7
  268. package/lib/esm/components/PageItemResizer.js.map +1 -1
  269. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js +25 -59
  270. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
  271. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +2 -4
  272. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +1 -1
  273. package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js +8 -15
  274. package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js.map +1 -1
  275. package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js +56 -22
  276. package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js.map +1 -1
  277. package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +48 -0
  278. package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +1 -0
  279. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js +140 -48
  280. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
  281. package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js +17 -18
  282. package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +1 -1
  283. package/lib/esm/components/Panels/LeftPanel/Elements.js +49 -53
  284. package/lib/esm/components/Panels/LeftPanel/Elements.js.map +1 -1
  285. package/lib/esm/components/Panels/LeftPanel/LeftPanel.js +6 -34
  286. package/lib/esm/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
  287. package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js +4 -4
  288. package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
  289. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js +4 -3
  290. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
  291. package/lib/esm/components/Panels/RightPanel/RightPanel.js +141 -145
  292. package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
  293. package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js +7 -4
  294. package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
  295. package/lib/esm/components/Panels/RightPanel/Settings.js +21 -22
  296. package/lib/esm/components/Panels/RightPanel/Settings.js.map +1 -1
  297. package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js +106 -96
  298. package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
  299. package/lib/esm/components/Panels/SlidesPanel/PageThumbnailActions.js +17 -18
  300. package/lib/esm/components/Panels/SlidesPanel/PageThumbnailActions.js.map +1 -1
  301. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +33 -66
  302. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  303. package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js +9 -9
  304. package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
  305. package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js +62 -28
  306. package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
  307. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js +48 -0
  308. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js.map +1 -0
  309. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js +8 -9
  310. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
  311. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js +165 -111
  312. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  313. package/lib/esm/components/Presentation/Presentation.js +19 -69
  314. package/lib/esm/components/Presentation/Presentation.js.map +1 -1
  315. package/lib/esm/components/Presentation/PresentationBar/PageNavigation.js +8 -10
  316. package/lib/esm/components/Presentation/PresentationBar/PageNavigation.js.map +1 -1
  317. package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js +46 -13
  318. package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
  319. package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js +45 -87
  320. package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
  321. package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js +8 -10
  322. package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
  323. package/lib/esm/components/Presentation/PresentationWrapper.js +57 -60
  324. package/lib/esm/components/Presentation/PresentationWrapper.js.map +1 -1
  325. package/lib/esm/components/Presentation/ProgressBar.js +4 -6
  326. package/lib/esm/components/Presentation/ProgressBar.js.map +1 -1
  327. package/lib/esm/components/Preview/Preview.js +14 -68
  328. package/lib/esm/components/Preview/Preview.js.map +1 -1
  329. package/lib/esm/components/Preview/StaticItem.js +5 -15
  330. package/lib/esm/components/Preview/StaticItem.js.map +1 -1
  331. package/lib/esm/components/Preview/StaticPage.js +16 -22
  332. package/lib/esm/components/Preview/StaticPage.js.map +1 -1
  333. package/lib/esm/components/Preview/StaticScene.js +34 -56
  334. package/lib/esm/components/Preview/StaticScene.js.map +1 -1
  335. package/lib/esm/components/Print/Print.js +18 -57
  336. package/lib/esm/components/Print/Print.js.map +1 -1
  337. package/lib/esm/components/Print/PrintModal.js +49 -0
  338. package/lib/esm/components/Print/PrintModal.js.map +1 -0
  339. package/lib/esm/components/Print/{PrintModeWithoutContext.js → PrintWrapper.js} +11 -42
  340. package/lib/esm/components/Print/PrintWrapper.js.map +1 -0
  341. package/lib/esm/components/Report.js +29 -41
  342. package/lib/esm/components/Report.js.map +1 -1
  343. package/lib/esm/components/ReportItemsWrapper.js +20 -34
  344. package/lib/esm/components/ReportItemsWrapper.js.map +1 -1
  345. package/lib/esm/components/ReportWrapper.js +29 -58
  346. package/lib/esm/components/ReportWrapper.js.map +1 -1
  347. package/lib/esm/components/Settings/Button.js +8 -10
  348. package/lib/esm/components/Settings/Button.js.map +1 -1
  349. package/lib/esm/components/Settings/CheckboxGroup.js +8 -10
  350. package/lib/esm/components/Settings/CheckboxGroup.js.map +1 -1
  351. package/lib/esm/components/Settings/ColorPicker.js +18 -13
  352. package/lib/esm/components/Settings/ColorPicker.js.map +1 -1
  353. package/lib/esm/components/Settings/Dropdown.js +10 -12
  354. package/lib/esm/components/Settings/Dropdown.js.map +1 -1
  355. package/lib/esm/components/Settings/FieldSet.js +3 -4
  356. package/lib/esm/components/Settings/FieldSet.js.map +1 -1
  357. package/lib/esm/components/Settings/IconSelectBox.js +8 -10
  358. package/lib/esm/components/Settings/IconSelectBox.js.map +1 -1
  359. package/lib/esm/components/Settings/ImagePicker/EnterURL.js +4 -6
  360. package/lib/esm/components/Settings/ImagePicker/EnterURL.js.map +1 -1
  361. package/lib/esm/components/Settings/ImagePicker/ImageThumbnailWithDelete.js +6 -8
  362. package/lib/esm/components/Settings/ImagePicker/ImageThumbnailWithDelete.js.map +1 -1
  363. package/lib/esm/components/Settings/ImageUrl.js +8 -10
  364. package/lib/esm/components/Settings/ImageUrl.js.map +1 -1
  365. package/lib/esm/components/Settings/LayoutSizeSettings.js +4 -6
  366. package/lib/esm/components/Settings/LayoutSizeSettings.js.map +1 -1
  367. package/lib/esm/components/Settings/Orientation.js +8 -10
  368. package/lib/esm/components/Settings/Orientation.js.map +1 -1
  369. package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js +121 -0
  370. package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -0
  371. package/lib/esm/components/Settings/PageLayer/LayerItem.js +92 -34
  372. package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
  373. package/lib/esm/components/Settings/PageLayer/PageLayer.js +117 -52
  374. package/lib/esm/components/Settings/PageLayer/PageLayer.js.map +1 -1
  375. package/lib/esm/components/Settings/SegmentControl.js +8 -10
  376. package/lib/esm/components/Settings/SegmentControl.js.map +1 -1
  377. package/lib/esm/components/Settings/SelectBox.js +8 -10
  378. package/lib/esm/components/Settings/SelectBox.js.map +1 -1
  379. package/lib/esm/components/Settings/SettingsItemRenderer.js +9 -11
  380. package/lib/esm/components/Settings/SettingsItemRenderer.js.map +1 -1
  381. package/lib/esm/components/Settings/SizeSettings.js +4 -6
  382. package/lib/esm/components/Settings/SizeSettings.js.map +1 -1
  383. package/lib/esm/components/Settings/Slider.js +8 -10
  384. package/lib/esm/components/Settings/Slider.js.map +1 -1
  385. package/lib/esm/components/Settings/Switch.js +8 -10
  386. package/lib/esm/components/Settings/Switch.js.map +1 -1
  387. package/lib/esm/components/Settings/Textbox.js +12 -14
  388. package/lib/esm/components/Settings/Textbox.js.map +1 -1
  389. package/lib/esm/components/Settings/Toggle.js +8 -10
  390. package/lib/esm/components/Settings/Toggle.js.map +1 -1
  391. package/lib/esm/components/StaticElements/StaticRichText.js +26 -30
  392. package/lib/esm/components/StaticElements/StaticRichText.js.map +1 -1
  393. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js +2 -4
  394. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
  395. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +4 -6
  396. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
  397. package/lib/esm/components/TextEditor/QuillEditor.js +6 -11
  398. package/lib/esm/components/TextEditor/QuillEditor.js.map +1 -1
  399. package/lib/esm/components/TextEditor/TextEditor.js +17 -18
  400. package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
  401. package/lib/esm/components/withClickOutside.js +11 -12
  402. package/lib/esm/components/withClickOutside.js.map +1 -1
  403. package/lib/esm/components/withZoomPanPinchHOC.js +10 -12
  404. package/lib/esm/components/withZoomPanPinchHOC.js.map +1 -1
  405. package/lib/esm/constants/eventIgnoredRoles.js +9 -0
  406. package/lib/esm/constants/eventIgnoredRoles.js.map +1 -0
  407. package/lib/esm/constants/texts.js +11 -0
  408. package/lib/esm/constants/texts.js.map +1 -1
  409. package/lib/esm/contexts/BuilderContext.js +199 -0
  410. package/lib/esm/contexts/BuilderContext.js.map +1 -0
  411. package/lib/esm/contexts/PresentationContext.js +131 -0
  412. package/lib/esm/contexts/PresentationContext.js.map +1 -0
  413. package/lib/esm/contexts/PropContext.js +135 -0
  414. package/lib/esm/contexts/PropContext.js.map +1 -0
  415. package/lib/esm/contexts/Providers.js +64 -0
  416. package/lib/esm/contexts/Providers.js.map +1 -0
  417. package/lib/esm/index.js +0 -1
  418. package/lib/esm/index.js.map +1 -1
  419. package/lib/esm/styles/_jfPrint.scss +17 -1
  420. package/lib/esm/styles/_jfReportsModal.scss +9 -9
  421. package/lib/esm/styles/_jfReportsPanels.scss +4 -1
  422. package/lib/esm/styles/_jfReportsReportItem.scss +1 -1
  423. package/lib/esm/styles/_jfReportsSVG.scss +0 -1
  424. package/lib/esm/styles/_jfReportsTextEditor.scss +5 -0
  425. package/lib/esm/styles/_jfSearchInput.scss +2 -2
  426. package/lib/esm/utils/functions.js +16 -9
  427. package/lib/esm/utils/functions.js.map +1 -1
  428. package/lib/esm/utils/getDefaultPresentationActions.js +1 -1
  429. package/lib/esm/utils/getDefaultPresentationActions.js.map +1 -1
  430. package/lib/esm/utils/hooks.js +66 -49
  431. package/lib/esm/utils/hooks.js.map +1 -1
  432. package/package.json +18 -14
  433. package/lib/cjs/components/Print/PrintMode.js +0 -59
  434. package/lib/cjs/components/Print/PrintMode.js.map +0 -1
  435. package/lib/cjs/components/Print/PrintModeWithoutContext.js.map +0 -1
  436. package/lib/cjs/components/ResponsiveContent.js +0 -15
  437. package/lib/cjs/components/ResponsiveContent.js.map +0 -1
  438. package/lib/cjs/utils/builderContext.js +0 -308
  439. package/lib/cjs/utils/builderContext.js.map +0 -1
  440. package/lib/cjs/utils/presentationContext.js +0 -144
  441. package/lib/cjs/utils/presentationContext.js.map +0 -1
  442. package/lib/cjs/utils/propContext.js +0 -133
  443. package/lib/cjs/utils/propContext.js.map +0 -1
  444. package/lib/esm/components/Print/PrintMode.js +0 -52
  445. package/lib/esm/components/Print/PrintMode.js.map +0 -1
  446. package/lib/esm/components/Print/PrintModeWithoutContext.js.map +0 -1
  447. package/lib/esm/components/ResponsiveContent.js +0 -13
  448. package/lib/esm/components/ResponsiveContent.js.map +0 -1
  449. package/lib/esm/utils/builderContext.js +0 -297
  450. package/lib/esm/utils/builderContext.js.map +0 -1
  451. package/lib/esm/utils/presentationContext.js +0 -133
  452. package/lib/esm/utils/presentationContext.js.map +0 -1
  453. package/lib/esm/utils/propContext.js +0 -122
  454. package/lib/esm/utils/propContext.js.map +0 -1
@@ -0,0 +1,121 @@
1
+ import { memo } from 'react';
2
+ import { DragOverlay } from '@dnd-kit/core';
3
+ import PropTypes from 'prop-types';
4
+ import classNames from 'classnames';
5
+ import { capitalize, stripHTML } from '../../../utils/string.js';
6
+ import { useTranslatedTexts } from '../../../utils/hooks.js';
7
+ import { jsxs, jsx } from 'react/jsx-runtime';
8
+ import SvgDrag from '../../../assets/svg/settings/drag.svg.js';
9
+
10
+ var DragHandle = function DragHandle() {
11
+ return /*#__PURE__*/jsx("span", {
12
+ className: "jfReportSelectOption-drag",
13
+ children: /*#__PURE__*/jsx(SvgDrag, {
14
+ className: "jfReportSVG icon-drag"
15
+ })
16
+ });
17
+ };
18
+
19
+ var LayerDragOverlay = function LayerDragOverlay(_ref) {
20
+ var _ref$activeItemData = _ref.activeItemData,
21
+ activeItemData = _ref$activeItemData === void 0 ? null : _ref$activeItemData;
22
+
23
+ var _useTranslatedTexts = useTranslatedTexts(),
24
+ CHART_ELEMENT = _useTranslatedTexts.CHART_ELEMENT,
25
+ CLICK_TO_EDIT_TEXT = _useTranslatedTexts.CLICK_TO_EDIT_TEXT,
26
+ CLIK_TO_EDIT_HEADER = _useTranslatedTexts.CLIK_TO_EDIT_HEADER,
27
+ PAGE_ELEMENT = _useTranslatedTexts.PAGE_ELEMENT,
28
+ RECTANGLE = _useTranslatedTexts.RECTANGLE;
29
+
30
+ if (!activeItemData) return null;
31
+ var Icon = activeItemData.icon,
32
+ item = activeItemData.item;
33
+ var id = item.id,
34
+ isVisible = item.isVisible;
35
+ var isVisib = isVisible !== undefined ? isVisible : true;
36
+
37
+ var itemText = function itemText(passedItem) {
38
+ if (passedItem.itemType === 'shapes') {
39
+ return capitalize(passedItem.shapeType || RECTANGLE);
40
+ }
41
+
42
+ if (passedItem.itemType === 'chart') {
43
+ return passedItem.text || CHART_ELEMENT;
44
+ }
45
+
46
+ if (passedItem.itemType === 'header') {
47
+ return passedItem.headerText || CLIK_TO_EDIT_HEADER;
48
+ }
49
+
50
+ if (passedItem.itemType === 'text') {
51
+ return passedItem.value ? stripHTML(passedItem.value) : CLICK_TO_EDIT_TEXT;
52
+ }
53
+
54
+ return capitalize(passedItem.itemType || PAGE_ELEMENT);
55
+ };
56
+
57
+ var content = /*#__PURE__*/jsxs("div", {
58
+ className: "jfReportSelectOption",
59
+ children: [/*#__PURE__*/jsx("div", {
60
+ className: "jfReportSelectOption-icon",
61
+ children: /*#__PURE__*/jsx(Icon, {})
62
+ }), /*#__PURE__*/jsx("div", {
63
+ className: "jfReportSelectOption-text",
64
+ children: itemText(item)
65
+ })]
66
+ });
67
+
68
+ return /*#__PURE__*/jsx(DragOverlay, {
69
+ adjustScale: false,
70
+ dropAnimation: null,
71
+ style: {
72
+ cursor: 'grabbing'
73
+ },
74
+ children: /*#__PURE__*/jsxs("div", {
75
+ className: classNames('jfReportSelectOption forHelper withDnd', {
76
+ isSelected: isVisib
77
+ }),
78
+ style: {
79
+ opacity: 0.9,
80
+ transform: 'rotate(2deg)'
81
+ },
82
+ children: [/*#__PURE__*/jsx("div", {
83
+ className: "jfReportSelectOption-visibility",
84
+ children: /*#__PURE__*/jsxs("label", {
85
+ className: "jfReportChoice isLight hasNotText",
86
+ htmlFor: "overlay-".concat(id),
87
+ children: [/*#__PURE__*/jsx("input", {
88
+ checked: isVisib,
89
+ className: "jfReportChoice-input",
90
+ id: "overlay-".concat(id),
91
+ readOnly: true,
92
+ type: "checkbox"
93
+ }), /*#__PURE__*/jsx("div", {
94
+ className: "jfReportChoice-labelIcon",
95
+ children: /*#__PURE__*/jsx("div", {
96
+ className: "jfReportChoice-label checkbox"
97
+ })
98
+ })]
99
+ })
100
+ }), /*#__PURE__*/jsxs("div", {
101
+ className: "jfReportSelectOption-name",
102
+ children: [/*#__PURE__*/jsx(DragHandle, {}), content]
103
+ })]
104
+ })
105
+ });
106
+ };
107
+
108
+ LayerDragOverlay.propTypes = {
109
+ activeItemData: PropTypes.shape({
110
+ icon: PropTypes.elementType,
111
+ item: PropTypes.shape({
112
+ id: PropTypes.string.isRequired,
113
+ isVisible: PropTypes.bool,
114
+ itemType: PropTypes.string
115
+ })
116
+ })
117
+ };
118
+ var LayerDragOverlay$1 = /*#__PURE__*/memo(LayerDragOverlay);
119
+
120
+ export default LayerDragOverlay$1;
121
+ //# sourceMappingURL=LayerDragOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayerDragOverlay.js","sources":["../../../../../src/components/Settings/PageLayer/LayerDragOverlay.js"],"sourcesContent":["import { memo } from 'react';\nimport { DragOverlay } from '@dnd-kit/core';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { capitalize, stripHTML } from '../../../utils/string';\nimport * as icons from '../../../utils/icons';\nimport { useTranslatedTexts } from '../../../utils/hooks';\n\nconst DragHandle = () => (\n <span className=\"jfReportSelectOption-drag\">\n <icons.drag className=\"jfReportSVG icon-drag\" />\n </span>\n);\n\nconst LayerDragOverlay = ({\n activeItemData = null,\n}) => {\n const {\n CHART_ELEMENT,\n CLICK_TO_EDIT_TEXT,\n CLIK_TO_EDIT_HEADER,\n PAGE_ELEMENT,\n RECTANGLE,\n } = useTranslatedTexts();\n\n if (!activeItemData) return null;\n\n const { icon: Icon, item } = activeItemData;\n const { id, isVisible } = item;\n const isVisib = isVisible !== undefined ? isVisible : true;\n\n const itemText = passedItem => {\n if (passedItem.itemType === 'shapes') {\n return capitalize(passedItem.shapeType || RECTANGLE);\n }\n if (passedItem.itemType === 'chart') {\n return passedItem.text || CHART_ELEMENT;\n }\n if (passedItem.itemType === 'header') {\n return passedItem.headerText || CLIK_TO_EDIT_HEADER;\n }\n if (passedItem.itemType === 'text') {\n return passedItem.value ? stripHTML(passedItem.value) : CLICK_TO_EDIT_TEXT;\n }\n return capitalize(passedItem.itemType || PAGE_ELEMENT);\n };\n\n const content = (\n <div className=\"jfReportSelectOption\">\n <div className=\"jfReportSelectOption-icon\">\n <Icon />\n </div>\n <div className=\"jfReportSelectOption-text\">\n {itemText(item)}\n </div>\n </div>\n );\n\n return (\n <DragOverlay\n adjustScale={false}\n dropAnimation={null}\n style={{ cursor: 'grabbing' }}\n >\n <div\n className={classNames('jfReportSelectOption forHelper withDnd', {\n isSelected: isVisib,\n })}\n style={{ opacity: 0.9, transform: 'rotate(2deg)' }}\n >\n <div className=\"jfReportSelectOption-visibility\">\n <label\n className=\"jfReportChoice isLight hasNotText\"\n htmlFor={`overlay-${id}`}\n >\n <input\n checked={isVisib}\n className=\"jfReportChoice-input\"\n id={`overlay-${id}`}\n readOnly\n type=\"checkbox\"\n />\n <div className=\"jfReportChoice-labelIcon\">\n <div className=\"jfReportChoice-label checkbox\" />\n </div>\n </label>\n </div>\n <div className=\"jfReportSelectOption-name\">\n <DragHandle />\n {content}\n </div>\n </div>\n </DragOverlay>\n );\n};\n\nLayerDragOverlay.propTypes = {\n activeItemData: PropTypes.shape({\n icon: PropTypes.elementType,\n item: PropTypes.shape({\n id: PropTypes.string.isRequired,\n isVisible: PropTypes.bool,\n itemType: PropTypes.string,\n }),\n }),\n};\n\nexport default memo(LayerDragOverlay);\n"],"names":["DragHandle","_jsx","icons.drag","LayerDragOverlay","activeItemData","useTranslatedTexts","CHART_ELEMENT","CLICK_TO_EDIT_TEXT","CLIK_TO_EDIT_HEADER","PAGE_ELEMENT","RECTANGLE","Icon","icon","item","id","isVisible","isVisib","undefined","itemText","passedItem","itemType","capitalize","shapeType","text","headerText","value","stripHTML","content","_jsxs","cursor","classNames","isSelected","opacity","transform","propTypes","PropTypes","shape","elementType","string","isRequired","bool","memo"],"mappings":"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"}
@@ -1,27 +1,66 @@
1
- import { memo, useCallback } from 'react';
2
- import { sortableHandle, sortableElement } from 'react-sortable-hoc';
1
+ import 'core-js/modules/es.object.to-string.js';
2
+ import 'core-js/modules/es.regexp.to-string.js';
3
+ import { memo, useMemo, useCallback } from 'react';
4
+ import { useSortable } from '@dnd-kit/sortable';
5
+ import { CSS } from '@dnd-kit/utilities';
3
6
  import classNames from 'classnames';
7
+ import PropTypes from 'prop-types';
4
8
  import { capitalize, stripHTML } from '../../../utils/string.js';
5
- import { jsx, jsxs } from 'react/jsx-runtime';
9
+ import { useTranslatedTexts } from '../../../utils/hooks.js';
10
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
11
  import SvgDrag from '../../../assets/svg/settings/drag.svg.js';
7
12
 
8
- var DragHandle = sortableHandle(function () {
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
14
+
15
+ 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; }
16
+
17
+ 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; }
18
+
19
+ var DragHandle = function DragHandle() {
9
20
  return /*#__PURE__*/jsx("span", {
10
21
  className: "jfReportSelectOption-drag",
11
22
  children: /*#__PURE__*/jsx(SvgDrag, {
12
23
  className: "jfReportSVG icon-drag"
13
24
  })
14
25
  });
15
- });
16
- var LayerItem = sortableElement(function (_ref) {
26
+ };
27
+
28
+ var LayerItem = function LayerItem(_ref) {
17
29
  var Icon = _ref.icon,
30
+ itemId = _ref.id,
18
31
  item = _ref.item,
19
32
  onItemChange = _ref.onItemChange,
20
33
  optionKey = _ref.optionKey,
21
34
  setActiveElement = _ref.setActiveElement;
35
+
36
+ var _useSortable = useSortable({
37
+ id: itemId
38
+ }),
39
+ attributes = _useSortable.attributes,
40
+ isDragging = _useSortable.isDragging,
41
+ listeners = _useSortable.listeners,
42
+ setNodeRef = _useSortable.setNodeRef,
43
+ transform = _useSortable.transform,
44
+ transition = _useSortable.transition;
45
+
46
+ var dragStyle = useMemo(function () {
47
+ return {
48
+ opacity: isDragging ? 0.5 : 1,
49
+ transform: CSS.Transform.toString(transform),
50
+ transition: transition
51
+ };
52
+ }, [transform, transition, isDragging]);
22
53
  var id = item.id,
23
54
  isVisible = item.isVisible;
24
55
  var isVisib = isVisible !== undefined ? isVisible : true;
56
+
57
+ var _useTranslatedTexts = useTranslatedTexts(),
58
+ CHART_ELEMENT = _useTranslatedTexts.CHART_ELEMENT,
59
+ CLICK_TO_EDIT_TEXT = _useTranslatedTexts.CLICK_TO_EDIT_TEXT,
60
+ CLIK_TO_EDIT_HEADER = _useTranslatedTexts.CLIK_TO_EDIT_HEADER,
61
+ PAGE_ELEMENT = _useTranslatedTexts.PAGE_ELEMENT,
62
+ RECTANGLE = _useTranslatedTexts.RECTANGLE;
63
+
25
64
  var handleItemLock = useCallback(function (_ref2) {
26
65
  var target = _ref2.target;
27
66
  onItemChange({
@@ -29,40 +68,40 @@ var LayerItem = sortableElement(function (_ref) {
29
68
  }, {
30
69
  isVisible: target.checked
31
70
  });
32
- }, [id]);
33
-
34
- var itemText = function itemText(passedItem) {
35
- if (passedItem.itemType === 'shapes') {
36
- return capitalize(passedItem.shapeType || 'Rectangle');
71
+ }, [id, onItemChange]);
72
+ var itemText = useMemo(function () {
73
+ if (item.itemType === 'shapes') {
74
+ return capitalize(item.shapeType || RECTANGLE);
37
75
  }
38
76
 
39
- if (passedItem.itemType === 'chart') {
40
- return passedItem.text || 'Chart Element';
77
+ if (item.itemType === 'chart') {
78
+ return item.text || CHART_ELEMENT;
41
79
  }
42
80
 
43
- if (passedItem.itemType === 'header') {
44
- return passedItem.headerText || 'Click to edit header';
81
+ if (item.itemType === 'header') {
82
+ return item.headerText || CLIK_TO_EDIT_HEADER;
45
83
  }
46
84
 
47
- if (passedItem.itemType === 'text') {
48
- return passedItem.value ? stripHTML(passedItem.value) : 'Click to edit text';
85
+ if (item.itemType === 'text') {
86
+ return item.value ? stripHTML(item.value) : CLICK_TO_EDIT_TEXT;
49
87
  }
50
88
 
51
- return capitalize(passedItem.itemType || 'Page Element');
52
- };
53
-
54
- var content = /*#__PURE__*/jsxs("div", {
55
- className: "jfReportSelectOption",
56
- children: [/*#__PURE__*/jsx("div", {
57
- className: "jfReportSelectOption-icon",
58
- children: /*#__PURE__*/jsx(Icon, {})
59
- }), /*#__PURE__*/jsx("div", {
60
- className: "jfReportSelectOption-text",
61
- children: itemText(item)
62
- })]
63
- });
64
-
65
- return /*#__PURE__*/jsxs("div", {
89
+ return capitalize(item.itemType || PAGE_ELEMENT);
90
+ }, [item]);
91
+ var content = useMemo(function () {
92
+ return /*#__PURE__*/jsxs("div", {
93
+ className: "jfReportSelectOption",
94
+ children: [/*#__PURE__*/jsx("div", {
95
+ className: "jfReportSelectOption-icon",
96
+ children: /*#__PURE__*/jsx(Icon, {})
97
+ }), /*#__PURE__*/jsx("div", {
98
+ className: "jfReportSelectOption-text",
99
+ children: itemText
100
+ })]
101
+ });
102
+ }, [itemText]);
103
+ return /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread(_objectSpread({
104
+ ref: setNodeRef,
66
105
  className: classNames('jfReportSelectOption', {
67
106
  isSelected: isVisib
68
107
  }),
@@ -70,6 +109,8 @@ var LayerItem = sortableElement(function (_ref) {
70
109
  return setActiveElement(id, false);
71
110
  },
72
111
  onKeyDown: function onKeyDown() {},
112
+ style: dragStyle
113
+ }, attributes), listeners), {}, {
73
114
  children: [/*#__PURE__*/jsx("div", {
74
115
  className: "jfReportSelectOption-visibility",
75
116
  children: /*#__PURE__*/jsxs("label", {
@@ -94,8 +135,25 @@ var LayerItem = sortableElement(function (_ref) {
94
135
  ,
95
136
  children: [/*#__PURE__*/jsx(DragHandle, {}), content]
96
137
  })]
97
- });
98
- });
138
+ }));
139
+ };
140
+
141
+ LayerItem.propTypes = {
142
+ icon: PropTypes.elementType,
143
+ id: PropTypes.string,
144
+ item: PropTypes.shape({
145
+ headerText: PropTypes.string,
146
+ id: PropTypes.string,
147
+ isVisible: PropTypes.bool,
148
+ itemType: PropTypes.string,
149
+ shapeType: PropTypes.string,
150
+ text: PropTypes.string,
151
+ value: PropTypes.string
152
+ }),
153
+ onItemChange: PropTypes.func,
154
+ optionKey: PropTypes.string,
155
+ setActiveElement: PropTypes.func
156
+ };
99
157
  var LayerItem$1 = /*#__PURE__*/memo(LayerItem);
100
158
 
101
159
  export default LayerItem$1;
@@ -1 +1 @@
1
- {"version":3,"file":"LayerItem.js","sources":["../../../../../src/components/Settings/PageLayer/LayerItem.js"],"sourcesContent":["import { memo, useCallback } from 'react';\nimport { sortableElement, sortableHandle } from 'react-sortable-hoc';\nimport classNames from 'classnames';\nimport { capitalize, stripHTML } from '../../../utils/string';\nimport * as icons from '../../../utils/icons';\n\nconst DragHandle = sortableHandle(() => (\n <span className=\"jfReportSelectOption-drag\">\n <icons.drag className=\"jfReportSVG icon-drag\" />\n </span>\n));\n\nconst LayerItem = sortableElement(({\n icon: Icon,\n item,\n onItemChange,\n optionKey,\n setActiveElement,\n}) => {\n const { id, isVisible } = item;\n const isVisib = isVisible !== undefined ? isVisible : true;\n const handleItemLock = useCallback(({ target }) => {\n onItemChange({ id }, { isVisible: target.checked });\n }, [id]);\n\n const itemText = passedItem => {\n if (passedItem.itemType === 'shapes') {\n return capitalize(passedItem.shapeType || 'Rectangle');\n }\n if (passedItem.itemType === 'chart') {\n return passedItem.text || 'Chart Element';\n }\n if (passedItem.itemType === 'header') {\n return passedItem.headerText || 'Click to edit header';\n }\n if (passedItem.itemType === 'text') {\n return passedItem.value ? stripHTML(passedItem.value) : 'Click to edit text';\n }\n return capitalize(passedItem.itemType || 'Page Element');\n };\n const content = (\n <div className=\"jfReportSelectOption\">\n <div className=\"jfReportSelectOption-icon\">\n <Icon />\n </div>\n <div className=\"jfReportSelectOption-text\">\n {itemText(item)}\n </div>\n </div>\n );\n\n return (\n <div\n className={classNames('jfReportSelectOption', {\n isSelected: isVisib,\n })}\n onClick={() => setActiveElement(id, false)}\n onKeyDown={() => {}}\n >\n <div className=\"jfReportSelectOption-visibility\">\n <label\n className=\"jfReportChoice isLight hasNotText\"\n htmlFor={optionKey}\n >\n <input\n checked={isVisib}\n className=\"jfReportChoice-input\"\n data-option-key={optionKey}\n id={optionKey}\n onChange={handleItemLock}\n type=\"checkbox\"\n />\n <div className=\"jfReportChoice-labelIcon\">\n <div className=\"jfReportChoice-label checkbox\" />\n </div>\n </label>\n </div>\n <div\n className=\"jfReportSelectOption-name\"\n // style={{ backgroundColor: option.color }}\n >\n <DragHandle />\n {content}\n </div>\n </div>\n );\n});\n\nexport default memo(LayerItem);\n"],"names":["DragHandle","sortableHandle","_jsx","icons.drag","LayerItem","sortableElement","Icon","icon","item","onItemChange","optionKey","setActiveElement","id","isVisible","isVisib","undefined","handleItemLock","useCallback","target","checked","itemText","passedItem","itemType","capitalize","shapeType","text","headerText","value","stripHTML","content","_jsxs","classNames","isSelected","memo"],"mappings":"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"}
1
+ {"version":3,"file":"LayerItem.js","sources":["../../../../../src/components/Settings/PageLayer/LayerItem.js"],"sourcesContent":["import { memo, useCallback, useMemo } from 'react';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { capitalize, stripHTML } from '../../../utils/string';\nimport * as icons from '../../../utils/icons';\nimport { useTranslatedTexts } from '../../../utils/hooks';\n\nconst DragHandle = () => (\n <span className=\"jfReportSelectOption-drag\">\n <icons.drag className=\"jfReportSVG icon-drag\" />\n </span>\n);\n\nconst LayerItem = ({\n icon: Icon,\n id: itemId,\n item,\n onItemChange,\n optionKey,\n setActiveElement,\n}) => {\n const {\n attributes,\n isDragging,\n listeners,\n setNodeRef,\n transform,\n transition,\n } = useSortable({ id: itemId });\n\n const dragStyle = useMemo(() => ({\n opacity: isDragging ? 0.5 : 1,\n transform: CSS.Transform.toString(transform),\n transition: transition,\n }), [transform, transition, isDragging]);\n\n const { id, isVisible } = item;\n const isVisib = isVisible !== undefined ? isVisible : true;\n\n const {\n CHART_ELEMENT,\n CLICK_TO_EDIT_TEXT,\n CLIK_TO_EDIT_HEADER,\n PAGE_ELEMENT,\n RECTANGLE,\n } = useTranslatedTexts();\n\n const handleItemLock = useCallback(({ target }) => {\n onItemChange({ id }, { isVisible: target.checked });\n }, [id, onItemChange]);\n\n const itemText = useMemo(() => {\n if (item.itemType === 'shapes') {\n return capitalize(item.shapeType || RECTANGLE);\n }\n if (item.itemType === 'chart') {\n return item.text || CHART_ELEMENT;\n }\n if (item.itemType === 'header') {\n return item.headerText || CLIK_TO_EDIT_HEADER;\n }\n if (item.itemType === 'text') {\n return item.value ? stripHTML(item.value) : CLICK_TO_EDIT_TEXT;\n }\n return capitalize(item.itemType || PAGE_ELEMENT);\n }, [item]);\n\n const content = useMemo(() => (\n <div className=\"jfReportSelectOption\">\n <div className=\"jfReportSelectOption-icon\">\n <Icon />\n </div>\n <div className=\"jfReportSelectOption-text\">\n {itemText}\n </div>\n </div>\n ), [itemText]);\n\n return (\n <div\n ref={setNodeRef}\n className={classNames('jfReportSelectOption', {\n isSelected: isVisib,\n })}\n onClick={() => setActiveElement(id, false)}\n onKeyDown={() => {}}\n style={dragStyle}\n {...attributes}\n {...listeners}\n >\n <div className=\"jfReportSelectOption-visibility\">\n <label\n className=\"jfReportChoice isLight hasNotText\"\n htmlFor={optionKey}\n >\n <input\n checked={isVisib}\n className=\"jfReportChoice-input\"\n data-option-key={optionKey}\n id={optionKey}\n onChange={handleItemLock}\n type=\"checkbox\"\n />\n <div className=\"jfReportChoice-labelIcon\">\n <div className=\"jfReportChoice-label checkbox\" />\n </div>\n </label>\n </div>\n <div\n className=\"jfReportSelectOption-name\"\n // style={{ backgroundColor: option.color }}\n >\n <DragHandle />\n {content}\n </div>\n </div>\n );\n};\n\nLayerItem.propTypes = {\n icon: PropTypes.elementType,\n id: PropTypes.string,\n item: PropTypes.shape({\n headerText: PropTypes.string,\n id: PropTypes.string,\n isVisible: PropTypes.bool,\n itemType: PropTypes.string,\n shapeType: PropTypes.string,\n text: PropTypes.string,\n value: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n optionKey: PropTypes.string,\n setActiveElement: PropTypes.func,\n};\n\nexport default memo(LayerItem);\n"],"names":["DragHandle","_jsx","icons.drag","LayerItem","Icon","icon","itemId","id","item","onItemChange","optionKey","setActiveElement","useSortable","attributes","isDragging","listeners","setNodeRef","transform","transition","dragStyle","useMemo","opacity","CSS","Transform","toString","isVisible","isVisib","undefined","useTranslatedTexts","CHART_ELEMENT","CLICK_TO_EDIT_TEXT","CLIK_TO_EDIT_HEADER","PAGE_ELEMENT","RECTANGLE","handleItemLock","useCallback","target","checked","itemText","itemType","capitalize","shapeType","text","headerText","value","stripHTML","content","_jsxs","classNames","isSelected","propTypes","PropTypes","elementType","string","shape","bool","func","memo"],"mappings":"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"}
@@ -1,70 +1,140 @@
1
+ import 'core-js/modules/es.array.find.js';
2
+ import 'core-js/modules/es.array.find-index.js';
1
3
  import 'core-js/modules/es.array.map.js';
2
- import { useCallback } from 'react';
4
+ import { useState, useCallback, useMemo } from 'react';
3
5
  import PropTypes from 'prop-types';
4
- import { sortableContainer } from 'react-sortable-hoc';
6
+ import { useSensors, useSensor, PointerSensor, KeyboardSensor, DndContext, closestCenter } from '@dnd-kit/core';
7
+ import { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';
5
8
  import { arrayMove } from '../../../utils/functions.js';
6
9
  import LayerItem from './LayerItem.js';
10
+ import LayerDragOverlay from './LayerDragOverlay.js';
7
11
  import { elementIcons } from '../../../constants/elementIcons.js';
8
12
  import { useTranslatedTexts } from '../../../utils/hooks.js';
9
- import { jsx } from 'react/jsx-runtime';
13
+ import { jsxs, jsx } from 'react/jsx-runtime';
10
14
 
11
15
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
12
16
 
13
17
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
18
 
15
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
-
17
19
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
18
20
 
19
21
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
20
22
 
23
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
24
+
25
+ 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."); }
26
+
27
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
28
+
21
29
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
22
- var SortableContainer = sortableContainer(function (_ref) {
23
- var children = _ref.children,
24
- onScroll = _ref.onScroll;
25
- return /*#__PURE__*/jsx("ul", {
26
- className: "jfReportSelectOption-list withDnd forPageLayer",
27
- onScroll: onScroll,
28
- children: children
29
- });
30
- });
31
-
32
- var PageLayer = function PageLayer(_ref2) {
33
- var config = _ref2.config,
34
- page = _ref2.item,
35
- onItemChange = _ref2.onItemChange;
36
- var onSortEnd = useCallback(function (_ref3) {
37
- var newIndex = _ref3.newIndex,
38
- oldIndex = _ref3.oldIndex;
39
- var newItems = arrayMove(_toConsumableArray(page.items).reverse(), oldIndex, newIndex).map(function (i) {
40
- return i.id;
41
- });
42
- onItemChange({
43
- id: page.id
44
- }, {
45
- items: JSON.stringify(_toConsumableArray(newItems).reverse())
46
- });
47
- }, [page.id, onItemChange, page.items]);
30
+
31
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
32
+
33
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
34
+
35
+ var PageLayer = function PageLayer(_ref) {
36
+ var _ref$config = _ref.config,
37
+ config = _ref$config === void 0 ? {} : _ref$config,
38
+ _ref$item = _ref.item,
39
+ page = _ref$item === void 0 ? {} : _ref$item,
40
+ _ref$onItemChange = _ref.onItemChange,
41
+ onItemChange = _ref$onItemChange === void 0 ? function () {} : _ref$onItemChange;
42
+
43
+ var _useState = useState(null),
44
+ _useState2 = _slicedToArray(_useState, 2),
45
+ activeId = _useState2[0],
46
+ setActiveId = _useState2[1];
47
+
48
+ var sensors = useSensors(useSensor(PointerSensor, {
49
+ activationConstraint: {
50
+ distance: 0
51
+ }
52
+ }), useSensor(KeyboardSensor));
53
+ var handleDragStart = useCallback(function (event) {
54
+ setActiveId(event.active.id);
55
+ }, []);
56
+ var handleDragEnd = useCallback(function (event) {
57
+ var active = event.active,
58
+ over = event.over;
59
+ setActiveId(null);
60
+
61
+ if (over && active.id !== over.id) {
62
+ var reversedItems = _toConsumableArray(page.items).reverse();
63
+
64
+ var oldIndex = reversedItems.findIndex(function (item) {
65
+ return item.id === active.id;
66
+ });
67
+ var newIndex = reversedItems.findIndex(function (item) {
68
+ return item.id === over.id;
69
+ });
70
+
71
+ if (oldIndex !== -1 && newIndex !== -1) {
72
+ var newItems = arrayMove(reversedItems, oldIndex, newIndex).map(function (i) {
73
+ return i.id;
74
+ });
75
+ onItemChange({
76
+ id: page.id
77
+ }, {
78
+ items: JSON.stringify(_toConsumableArray(newItems).reverse())
79
+ });
80
+ }
81
+ }
82
+ }, [page.id, page.items, onItemChange]);
83
+ var handleDragCancel = useCallback(function () {
84
+ setActiveId(null);
85
+ }, []);
48
86
 
49
87
  var _useTranslatedTexts = useTranslatedTexts(),
50
88
  NO_ELEMENT_IN_PAGE = _useTranslatedTexts.NO_ELEMENT_IN_PAGE;
51
89
 
52
- return page.items.length > 0 ? /*#__PURE__*/jsx(SortableContainer, {
53
- helperClass: "forHelper withDnd",
54
- lockAxis: "y",
55
- onSortEnd: onSortEnd,
56
- useDragHandle: true,
57
- children: page.items && _toConsumableArray(page.items).reverse().map(function (item, index) {
58
- var icon = elementIcons[item.itemType] ? elementIcons[item.itemType] : elementIcons.default;
59
- return /*#__PURE__*/jsx(LayerItem, {
60
- icon: icon,
61
- index: index,
62
- item: item,
63
- onItemChange: config.updater,
64
- optionKey: index,
65
- setActiveElement: config.setActiveElement
66
- }, item.id);
67
- })
90
+ var items = useMemo(function () {
91
+ if (!page.items || page.items.length === 0) return [];
92
+ return _toConsumableArray(page.items).reverse().map(function (item) {
93
+ return item.id;
94
+ });
95
+ }, [page.items]);
96
+ var activeItemData = useMemo(function () {
97
+ if (!activeId || !page.items) return null;
98
+
99
+ var reversedItems = _toConsumableArray(page.items).reverse();
100
+
101
+ var activeItem = reversedItems.find(function (item) {
102
+ return item.id === activeId;
103
+ });
104
+ if (!activeItem) return null;
105
+ var icon = elementIcons[activeItem.itemType] ? elementIcons[activeItem.itemType] : elementIcons.default;
106
+ return {
107
+ icon: icon,
108
+ item: activeItem
109
+ };
110
+ }, [activeId, page.items]);
111
+ return page.items && page.items.length > 0 ? /*#__PURE__*/jsxs(DndContext, {
112
+ collisionDetection: closestCenter,
113
+ onDragCancel: handleDragCancel,
114
+ onDragEnd: handleDragEnd,
115
+ onDragStart: handleDragStart,
116
+ sensors: sensors,
117
+ children: [/*#__PURE__*/jsx(SortableContext, {
118
+ items: items,
119
+ strategy: verticalListSortingStrategy,
120
+ children: /*#__PURE__*/jsx("ul", {
121
+ className: "jfReportSelectOption-list withDnd forPageLayer",
122
+ children: _toConsumableArray(page.items).reverse().map(function (item, index) {
123
+ var icon = elementIcons[item.itemType] ? elementIcons[item.itemType] : elementIcons.default;
124
+ return /*#__PURE__*/jsx(LayerItem, {
125
+ icon: icon,
126
+ id: item.id,
127
+ index: index,
128
+ item: item,
129
+ onItemChange: config.updater,
130
+ optionKey: index,
131
+ setActiveElement: config.setActiveElement
132
+ }, item.id);
133
+ })
134
+ })
135
+ }), /*#__PURE__*/jsx(LayerDragOverlay, {
136
+ activeItemData: activeItemData
137
+ })]
68
138
  }) : /*#__PURE__*/jsx("div", {
69
139
  className: "toolSection-notifier",
70
140
  children: NO_ELEMENT_IN_PAGE
@@ -83,11 +153,6 @@ PageLayer.propTypes = {
83
153
  }),
84
154
  onItemChange: PropTypes.func
85
155
  };
86
- PageLayer.defaultProps = {
87
- config: {},
88
- item: {},
89
- onItemChange: function onItemChange() {}
90
- };
91
156
 
92
157
  export default PageLayer;
93
158
  //# sourceMappingURL=PageLayer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageLayer.js","sources":["../../../../../src/components/Settings/PageLayer/PageLayer.js"],"sourcesContent":["import { useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { sortableContainer } from 'react-sortable-hoc';\nimport { arrayMove } from '../../../utils/functions';\nimport LayerItem from './LayerItem';\nimport { elementIcons } from '../../../constants/elementIcons';\nimport { useTranslatedTexts } from '../../../utils/hooks';\n\nconst SortableContainer = sortableContainer(({ children, onScroll }) => {\n return (\n <ul\n className=\"jfReportSelectOption-list withDnd forPageLayer\"\n onScroll={onScroll}\n >\n {children}\n </ul>\n );\n});\n\nconst PageLayer = ({\n config,\n item: page,\n onItemChange,\n}) => {\n const onSortEnd = useCallback(({ newIndex, oldIndex }) => {\n const newItems = arrayMove([...page.items].reverse(), oldIndex, newIndex).map(i => i.id);\n onItemChange({\n id: page.id,\n }, { items: JSON.stringify([...newItems].reverse()) });\n }, [page.id, onItemChange, page.items]);\n const { NO_ELEMENT_IN_PAGE } = useTranslatedTexts();\n return (\n page.items.length > 0 ? (\n <SortableContainer\n helperClass=\"forHelper withDnd\"\n lockAxis=\"y\"\n onSortEnd={onSortEnd}\n useDragHandle\n >\n {page.items && [...page.items].reverse().map((item, index) => {\n const icon = elementIcons[item.itemType]\n ? elementIcons[item.itemType]\n : elementIcons.default;\n return (\n <LayerItem\n key={item.id}\n icon={icon}\n index={index}\n item={item}\n onItemChange={config.updater}\n optionKey={index}\n setActiveElement={config.setActiveElement}\n />\n );\n })}\n </SortableContainer>\n ) : (\n <div\n className=\"toolSection-notifier\"\n >\n {NO_ELEMENT_IN_PAGE}\n </div>\n )\n );\n};\n\nPageLayer.propTypes = {\n config: PropTypes.shape({\n setActiveElement: PropTypes.func,\n updater: PropTypes.func,\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n isVisible: PropTypes.bool,\n itemType: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n};\n\nPageLayer.defaultProps = {\n config: {},\n item: {},\n onItemChange: () => {},\n};\n\nexport default PageLayer;\n"],"names":["SortableContainer","sortableContainer","children","onScroll","_jsx","PageLayer","config","page","item","onItemChange","onSortEnd","useCallback","newIndex","oldIndex","newItems","arrayMove","items","reverse","map","i","id","JSON","stringify","useTranslatedTexts","NO_ELEMENT_IN_PAGE","length","index","icon","elementIcons","itemType","default","updater","setActiveElement","propTypes","PropTypes","shape","func","string","isVisible","bool","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"PageLayer.js","sources":["../../../../../src/components/Settings/PageLayer/PageLayer.js"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n DndContext, closestCenter, KeyboardSensor, PointerSensor, useSensor, useSensors,\n} from '@dnd-kit/core';\nimport { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { arrayMove } from '../../../utils/functions';\nimport LayerItem from './LayerItem';\nimport LayerDragOverlay from './LayerDragOverlay';\nimport { elementIcons } from '../../../constants/elementIcons';\nimport { useTranslatedTexts } from '../../../utils/hooks';\n\nconst PageLayer = ({\n config = {},\n item: page = {},\n onItemChange = () => {},\n}) => {\n const [activeId, setActiveId] = useState(null);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 0,\n },\n }),\n useSensor(KeyboardSensor),\n );\n\n const handleDragStart = useCallback(event => {\n setActiveId(event.active.id);\n }, []);\n\n const handleDragEnd = useCallback(event => {\n const { active, over } = event;\n setActiveId(null);\n\n if (over && active.id !== over.id) {\n const reversedItems = [...page.items].reverse();\n const oldIndex = reversedItems.findIndex(item => item.id === active.id);\n const newIndex = reversedItems.findIndex(item => item.id === over.id);\n\n if (oldIndex !== -1 && newIndex !== -1) {\n const newItems = arrayMove(reversedItems, oldIndex, newIndex).map(i => i.id);\n onItemChange({\n id: page.id,\n }, { items: JSON.stringify([...newItems].reverse()) });\n }\n }\n }, [page.id, page.items, onItemChange]);\n\n const handleDragCancel = useCallback(() => {\n setActiveId(null);\n }, []);\n\n const { NO_ELEMENT_IN_PAGE } = useTranslatedTexts();\n\n const items = useMemo(() => {\n if (!page.items || page.items.length === 0) return [];\n return [...page.items].reverse().map(item => item.id);\n }, [page.items]);\n\n const activeItemData = useMemo(() => {\n if (!activeId || !page.items) return null;\n\n const reversedItems = [...page.items].reverse();\n const activeItem = reversedItems.find(item => item.id === activeId);\n if (!activeItem) return null;\n\n const icon = elementIcons[activeItem.itemType]\n ? elementIcons[activeItem.itemType]\n : elementIcons.default;\n\n return {\n icon,\n item: activeItem,\n };\n }, [activeId, page.items]);\n\n return (\n page.items && page.items.length > 0 ? (\n <DndContext\n collisionDetection={closestCenter}\n onDragCancel={handleDragCancel}\n onDragEnd={handleDragEnd}\n onDragStart={handleDragStart}\n sensors={sensors}\n >\n <SortableContext\n items={items}\n strategy={verticalListSortingStrategy}\n >\n <ul className=\"jfReportSelectOption-list withDnd forPageLayer\">\n {[...page.items].reverse().map((item, index) => {\n const icon = elementIcons[item.itemType]\n ? elementIcons[item.itemType]\n : elementIcons.default;\n return (\n <LayerItem\n key={item.id}\n icon={icon}\n id={item.id}\n index={index}\n item={item}\n onItemChange={config.updater}\n optionKey={index}\n setActiveElement={config.setActiveElement}\n />\n );\n })}\n </ul>\n </SortableContext>\n <LayerDragOverlay activeItemData={activeItemData} />\n </DndContext>\n ) : (\n <div className=\"toolSection-notifier\">\n {NO_ELEMENT_IN_PAGE}\n </div>\n )\n );\n};\n\nPageLayer.propTypes = {\n config: PropTypes.shape({\n setActiveElement: PropTypes.func,\n updater: PropTypes.func,\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n isVisible: PropTypes.bool,\n itemType: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n};\n\nexport default PageLayer;\n"],"names":["PageLayer","config","item","page","onItemChange","useState","activeId","setActiveId","sensors","useSensors","useSensor","PointerSensor","activationConstraint","distance","KeyboardSensor","handleDragStart","useCallback","event","active","id","handleDragEnd","over","reversedItems","items","reverse","oldIndex","findIndex","newIndex","newItems","arrayMove","map","i","JSON","stringify","handleDragCancel","useTranslatedTexts","NO_ELEMENT_IN_PAGE","useMemo","length","activeItemData","activeItem","find","icon","elementIcons","itemType","default","_jsxs","closestCenter","_jsx","verticalListSortingStrategy","index","updater","setActiveElement","propTypes","PropTypes","shape","func","string","isVisible","bool"],"mappings":"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"}