@jotforminc/dnd-builder 3.0.0 → 3.1.1

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 (356) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/lib/cjs/assets/search.svg.js +5 -2
  3. package/lib/cjs/assets/search.svg.js.map +1 -1
  4. package/lib/cjs/assets/svg/all_slides.svg.js +9 -29
  5. package/lib/cjs/assets/svg/all_slides.svg.js.map +1 -1
  6. package/lib/cjs/assets/svg/close.svg.js +4 -2
  7. package/lib/cjs/assets/svg/close.svg.js.map +1 -1
  8. package/lib/cjs/assets/svg/customize.svg.js +4 -2
  9. package/lib/cjs/assets/svg/customize.svg.js.map +1 -1
  10. package/lib/cjs/assets/svg/duplicate.svg.js +5 -2
  11. package/lib/cjs/assets/svg/duplicate.svg.js.map +1 -1
  12. package/lib/cjs/assets/svg/fit_screen.svg.js +7 -7
  13. package/lib/cjs/assets/svg/heart_rating.svg.js +5 -3
  14. package/lib/cjs/assets/svg/heart_rating.svg.js.map +1 -1
  15. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down-left.svg.js +4 -2
  16. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down-left.svg.js.map +1 -1
  17. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down-right.svg.js +4 -2
  18. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down-right.svg.js.map +1 -1
  19. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down.svg.js +4 -2
  20. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down.svg.js.map +1 -1
  21. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-left.svg.js +4 -2
  22. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-left.svg.js.map +1 -1
  23. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-right.svg.js +4 -2
  24. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-right.svg.js.map +1 -1
  25. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-up-left.svg.js +4 -2
  26. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-up-left.svg.js.map +1 -1
  27. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-up-right.svg.js +4 -2
  28. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-up-right.svg.js.map +1 -1
  29. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-down-circle.svg.js +4 -2
  30. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-down-circle.svg.js.map +1 -1
  31. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-left-circle.svg.js +4 -2
  32. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-left-circle.svg.js.map +1 -1
  33. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-right-circle.svg.js +4 -2
  34. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-right-circle.svg.js.map +1 -1
  35. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-up-circle.svg.js +4 -2
  36. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-up-circle.svg.js.map +1 -1
  37. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-cloud.svg.js +2 -2
  38. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-download.svg.js +4 -2
  39. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-download.svg.js.map +1 -1
  40. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-eye.svg.js +4 -2
  41. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-eye.svg.js.map +1 -1
  42. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-folder.svg.js +4 -2
  43. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-folder.svg.js.map +1 -1
  44. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-heart.svg.js +4 -2
  45. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-heart.svg.js.map +1 -1
  46. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-home.svg.js +4 -2
  47. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-home.svg.js.map +1 -1
  48. package/lib/cjs/assets/svg/minus.svg.js +6 -9
  49. package/lib/cjs/assets/svg/minus.svg.js.map +1 -1
  50. package/lib/cjs/assets/svg/page-actions/duplicate_line.svg.js +5 -2
  51. package/lib/cjs/assets/svg/page-actions/duplicate_line.svg.js.map +1 -1
  52. package/lib/cjs/assets/svg/page-actions/trash_line.svg.js +5 -2
  53. package/lib/cjs/assets/svg/page-actions/trash_line.svg.js.map +1 -1
  54. package/lib/cjs/assets/svg/page_settings.svg.js +4 -4
  55. package/lib/cjs/assets/svg/plus.svg.js +5 -2
  56. package/lib/cjs/assets/svg/plus.svg.js.map +1 -1
  57. package/lib/cjs/assets/svg/presentation/attachment.svg.js +4 -2
  58. package/lib/cjs/assets/svg/presentation/attachment.svg.js.map +1 -1
  59. package/lib/cjs/assets/svg/presentation/download.svg.js +5 -2
  60. package/lib/cjs/assets/svg/presentation/download.svg.js.map +1 -1
  61. package/lib/cjs/assets/svg/presentation/enter_fullscreen.svg.js +8 -12
  62. package/lib/cjs/assets/svg/presentation/enter_fullscreen.svg.js.map +1 -1
  63. package/lib/cjs/assets/svg/presentation/exit_fullscreen.svg.js +8 -12
  64. package/lib/cjs/assets/svg/presentation/exit_fullscreen.svg.js.map +1 -1
  65. package/lib/cjs/assets/svg/presentation/eye.svg.js +6 -5
  66. package/lib/cjs/assets/svg/presentation/eye.svg.js.map +1 -1
  67. package/lib/cjs/assets/svg/presentation/key.svg.js +5 -3
  68. package/lib/cjs/assets/svg/presentation/key.svg.js.map +1 -1
  69. package/lib/cjs/assets/svg/presentation/pause.svg.js +4 -2
  70. package/lib/cjs/assets/svg/presentation/pause.svg.js.map +1 -1
  71. package/lib/cjs/assets/svg/presentation/pen.svg.js +4 -2
  72. package/lib/cjs/assets/svg/presentation/pen.svg.js.map +1 -1
  73. package/lib/cjs/assets/svg/presentation/play.svg.js +5 -3
  74. package/lib/cjs/assets/svg/presentation/play.svg.js.map +1 -1
  75. package/lib/cjs/assets/svg/presentation/print.svg.js +5 -2
  76. package/lib/cjs/assets/svg/presentation/print.svg.js.map +1 -1
  77. package/lib/cjs/assets/svg/presentation/share.svg.js +5 -2
  78. package/lib/cjs/assets/svg/presentation/share.svg.js.map +1 -1
  79. package/lib/cjs/assets/svg/rotate.svg.js +5 -2
  80. package/lib/cjs/assets/svg/rotate.svg.js.map +1 -1
  81. package/lib/cjs/assets/svg/settings/align_center.svg.js +5 -2
  82. package/lib/cjs/assets/svg/settings/align_center.svg.js.map +1 -1
  83. package/lib/cjs/assets/svg/settings/align_left.svg.js +5 -2
  84. package/lib/cjs/assets/svg/settings/align_left.svg.js.map +1 -1
  85. package/lib/cjs/assets/svg/settings/align_right.svg.js +5 -2
  86. package/lib/cjs/assets/svg/settings/align_right.svg.js.map +1 -1
  87. package/lib/cjs/assets/svg/settings/drag.svg.js +7 -26
  88. package/lib/cjs/assets/svg/settings/drag.svg.js.map +1 -1
  89. package/lib/cjs/assets/svg/settings/ellipse.svg.js +6 -5
  90. package/lib/cjs/assets/svg/settings/ellipse.svg.js.map +1 -1
  91. package/lib/cjs/assets/svg/settings/font_bold.svg.js +5 -2
  92. package/lib/cjs/assets/svg/settings/font_bold.svg.js.map +1 -1
  93. package/lib/cjs/assets/svg/settings/font_italic.svg.js +5 -2
  94. package/lib/cjs/assets/svg/settings/font_italic.svg.js.map +1 -1
  95. package/lib/cjs/assets/svg/settings/font_underline.svg.js +5 -2
  96. package/lib/cjs/assets/svg/settings/font_underline.svg.js.map +1 -1
  97. package/lib/cjs/assets/svg/settings/line.svg.js +8 -10
  98. package/lib/cjs/assets/svg/settings/line.svg.js.map +1 -1
  99. package/lib/cjs/assets/svg/settings/lock.svg.js +5 -2
  100. package/lib/cjs/assets/svg/settings/lock.svg.js.map +1 -1
  101. package/lib/cjs/assets/svg/settings/rectangle.svg.js +6 -4
  102. package/lib/cjs/assets/svg/settings/rectangle.svg.js.map +1 -1
  103. package/lib/cjs/assets/svg/settings/star.svg.js +6 -4
  104. package/lib/cjs/assets/svg/settings/star.svg.js.map +1 -1
  105. package/lib/cjs/assets/svg/settings/triangle.svg.js +6 -4
  106. package/lib/cjs/assets/svg/settings/triangle.svg.js.map +1 -1
  107. package/lib/cjs/assets/svg/settings/unlock.svg.js +5 -2
  108. package/lib/cjs/assets/svg/settings/unlock.svg.js.map +1 -1
  109. package/lib/cjs/assets/svg/settings.svg.js +3 -2
  110. package/lib/cjs/assets/svg/settings.svg.js.map +1 -1
  111. package/lib/cjs/assets/svg/settings_toggle.svg.js +7 -5
  112. package/lib/cjs/assets/svg/settings_toggle.svg.js.map +1 -1
  113. package/lib/cjs/assets/svg/slides.svg.js +8 -14
  114. package/lib/cjs/assets/svg/slides.svg.js.map +1 -1
  115. package/lib/cjs/assets/svg/star_rating.svg.js +5 -2
  116. package/lib/cjs/assets/svg/star_rating.svg.js.map +1 -1
  117. package/lib/cjs/assets/svg/toolbox/email.svg.js +5 -2
  118. package/lib/cjs/assets/svg/toolbox/email.svg.js.map +1 -1
  119. package/lib/cjs/assets/svg/toolbox/header.svg.js +5 -2
  120. package/lib/cjs/assets/svg/toolbox/header.svg.js.map +1 -1
  121. package/lib/cjs/assets/svg/toolbox/icon.svg.js +6 -11
  122. package/lib/cjs/assets/svg/toolbox/icon.svg.js.map +1 -1
  123. package/lib/cjs/assets/svg/toolbox/image.svg.js +7 -7
  124. package/lib/cjs/assets/svg/toolbox/label.svg.js +4 -2
  125. package/lib/cjs/assets/svg/toolbox/label.svg.js.map +1 -1
  126. package/lib/cjs/assets/svg/toolbox/multiple_choice.svg.js +6 -5
  127. package/lib/cjs/assets/svg/toolbox/multiple_choice.svg.js.map +1 -1
  128. package/lib/cjs/assets/svg/toolbox/shapes.svg.js +7 -10
  129. package/lib/cjs/assets/svg/toolbox/shapes.svg.js.map +1 -1
  130. package/lib/cjs/assets/svg/toolbox/single_choice.svg.js +5 -2
  131. package/lib/cjs/assets/svg/toolbox/single_choice.svg.js.map +1 -1
  132. package/lib/cjs/assets/svg/toolbox/star.svg.js +5 -2
  133. package/lib/cjs/assets/svg/toolbox/star.svg.js.map +1 -1
  134. package/lib/cjs/assets/svg/toolbox/table.svg.js +5 -2
  135. package/lib/cjs/assets/svg/toolbox/table.svg.js.map +1 -1
  136. package/lib/cjs/assets/svg/toolbox/text.svg.js +5 -2
  137. package/lib/cjs/assets/svg/toolbox/text.svg.js.map +1 -1
  138. package/lib/cjs/assets/svg/toolbox/text_element.svg.js +5 -2
  139. package/lib/cjs/assets/svg/toolbox/text_element.svg.js.map +1 -1
  140. package/lib/cjs/assets/svg/trash.svg.js +5 -2
  141. package/lib/cjs/assets/svg/trash.svg.js.map +1 -1
  142. package/lib/cjs/components/Builder/DraggableLayer.js +44 -0
  143. package/lib/cjs/components/Builder/DraggableLayer.js.map +1 -0
  144. package/lib/cjs/components/Builder/Element.js +1 -0
  145. package/lib/cjs/components/Builder/Element.js.map +1 -1
  146. package/lib/cjs/components/Builder/Page.js +36 -30
  147. package/lib/cjs/components/Builder/Page.js.map +1 -1
  148. package/lib/cjs/components/Builder/Scene.js +13 -29
  149. package/lib/cjs/components/Builder/Scene.js.map +1 -1
  150. package/lib/cjs/components/Builder/SearchInput.js +3 -1
  151. package/lib/cjs/components/Builder/SearchInput.js.map +1 -1
  152. package/lib/cjs/components/DraggableItem/DraggableItem.js +33 -80
  153. package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
  154. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +95 -219
  155. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  156. package/lib/cjs/components/PageItemResizer.js +21 -8
  157. package/lib/cjs/components/PageItemResizer.js.map +1 -1
  158. package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js +1 -3
  159. package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  160. package/lib/cjs/components/ReportItemsWrapper.js +18 -17
  161. package/lib/cjs/components/ReportItemsWrapper.js.map +1 -1
  162. package/lib/cjs/components/Settings/PageLayer/LayerItem.js +1 -1
  163. package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
  164. package/lib/cjs/components/Settings/SizeSettings.js +1 -1
  165. package/lib/cjs/components/Settings/SizeSettings.js.map +1 -1
  166. package/lib/cjs/constants/texts.js +1 -0
  167. package/lib/cjs/constants/texts.js.map +1 -1
  168. package/lib/cjs/contexts/BuilderContext.js +6 -0
  169. package/lib/cjs/contexts/BuilderContext.js.map +1 -1
  170. package/lib/cjs/styles/_jfDarkTheme.scss +0 -5
  171. package/lib/cjs/styles/_jfPrint.scss +0 -4
  172. package/lib/cjs/styles/_jfReportsPages.scss +4 -2
  173. package/lib/cjs/styles/_jfReportsSVG.scss +6 -6
  174. package/lib/cjs/styles/_jfSearchInput.scss +0 -2
  175. package/lib/cjs/utils/functions.js +33 -45
  176. package/lib/cjs/utils/functions.js.map +1 -1
  177. package/lib/cjs/utils/hooks.js +37 -0
  178. package/lib/cjs/utils/hooks.js.map +1 -1
  179. package/lib/esm/assets/search.svg.js +5 -2
  180. package/lib/esm/assets/search.svg.js.map +1 -1
  181. package/lib/esm/assets/svg/all_slides.svg.js +9 -29
  182. package/lib/esm/assets/svg/all_slides.svg.js.map +1 -1
  183. package/lib/esm/assets/svg/close.svg.js +4 -2
  184. package/lib/esm/assets/svg/close.svg.js.map +1 -1
  185. package/lib/esm/assets/svg/customize.svg.js +4 -2
  186. package/lib/esm/assets/svg/customize.svg.js.map +1 -1
  187. package/lib/esm/assets/svg/duplicate.svg.js +5 -2
  188. package/lib/esm/assets/svg/duplicate.svg.js.map +1 -1
  189. package/lib/esm/assets/svg/fit_screen.svg.js +7 -7
  190. package/lib/esm/assets/svg/heart_rating.svg.js +5 -3
  191. package/lib/esm/assets/svg/heart_rating.svg.js.map +1 -1
  192. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down-left.svg.js +4 -2
  193. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down-left.svg.js.map +1 -1
  194. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down-right.svg.js +4 -2
  195. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down-right.svg.js.map +1 -1
  196. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down.svg.js +4 -2
  197. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down.svg.js.map +1 -1
  198. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-left.svg.js +4 -2
  199. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-left.svg.js.map +1 -1
  200. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-right.svg.js +4 -2
  201. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-right.svg.js.map +1 -1
  202. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-up-left.svg.js +4 -2
  203. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-up-left.svg.js.map +1 -1
  204. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-up-right.svg.js +4 -2
  205. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-up-right.svg.js.map +1 -1
  206. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-down-circle.svg.js +4 -2
  207. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-down-circle.svg.js.map +1 -1
  208. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-left-circle.svg.js +4 -2
  209. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-left-circle.svg.js.map +1 -1
  210. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-right-circle.svg.js +4 -2
  211. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-right-circle.svg.js.map +1 -1
  212. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-up-circle.svg.js +4 -2
  213. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-up-circle.svg.js.map +1 -1
  214. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-cloud.svg.js +2 -2
  215. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-download.svg.js +4 -2
  216. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-download.svg.js.map +1 -1
  217. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-eye.svg.js +4 -2
  218. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-eye.svg.js.map +1 -1
  219. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-folder.svg.js +4 -2
  220. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-folder.svg.js.map +1 -1
  221. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-heart.svg.js +4 -2
  222. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-heart.svg.js.map +1 -1
  223. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-home.svg.js +4 -2
  224. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-home.svg.js.map +1 -1
  225. package/lib/esm/assets/svg/minus.svg.js +6 -9
  226. package/lib/esm/assets/svg/minus.svg.js.map +1 -1
  227. package/lib/esm/assets/svg/page-actions/duplicate_line.svg.js +5 -2
  228. package/lib/esm/assets/svg/page-actions/duplicate_line.svg.js.map +1 -1
  229. package/lib/esm/assets/svg/page-actions/trash_line.svg.js +5 -2
  230. package/lib/esm/assets/svg/page-actions/trash_line.svg.js.map +1 -1
  231. package/lib/esm/assets/svg/page_settings.svg.js +4 -4
  232. package/lib/esm/assets/svg/plus.svg.js +5 -2
  233. package/lib/esm/assets/svg/plus.svg.js.map +1 -1
  234. package/lib/esm/assets/svg/presentation/attachment.svg.js +4 -2
  235. package/lib/esm/assets/svg/presentation/attachment.svg.js.map +1 -1
  236. package/lib/esm/assets/svg/presentation/download.svg.js +5 -2
  237. package/lib/esm/assets/svg/presentation/download.svg.js.map +1 -1
  238. package/lib/esm/assets/svg/presentation/enter_fullscreen.svg.js +8 -12
  239. package/lib/esm/assets/svg/presentation/enter_fullscreen.svg.js.map +1 -1
  240. package/lib/esm/assets/svg/presentation/exit_fullscreen.svg.js +8 -12
  241. package/lib/esm/assets/svg/presentation/exit_fullscreen.svg.js.map +1 -1
  242. package/lib/esm/assets/svg/presentation/eye.svg.js +6 -5
  243. package/lib/esm/assets/svg/presentation/eye.svg.js.map +1 -1
  244. package/lib/esm/assets/svg/presentation/key.svg.js +5 -3
  245. package/lib/esm/assets/svg/presentation/key.svg.js.map +1 -1
  246. package/lib/esm/assets/svg/presentation/pause.svg.js +4 -2
  247. package/lib/esm/assets/svg/presentation/pause.svg.js.map +1 -1
  248. package/lib/esm/assets/svg/presentation/pen.svg.js +4 -2
  249. package/lib/esm/assets/svg/presentation/pen.svg.js.map +1 -1
  250. package/lib/esm/assets/svg/presentation/play.svg.js +5 -3
  251. package/lib/esm/assets/svg/presentation/play.svg.js.map +1 -1
  252. package/lib/esm/assets/svg/presentation/print.svg.js +5 -2
  253. package/lib/esm/assets/svg/presentation/print.svg.js.map +1 -1
  254. package/lib/esm/assets/svg/presentation/share.svg.js +5 -2
  255. package/lib/esm/assets/svg/presentation/share.svg.js.map +1 -1
  256. package/lib/esm/assets/svg/rotate.svg.js +5 -2
  257. package/lib/esm/assets/svg/rotate.svg.js.map +1 -1
  258. package/lib/esm/assets/svg/settings/align_center.svg.js +5 -2
  259. package/lib/esm/assets/svg/settings/align_center.svg.js.map +1 -1
  260. package/lib/esm/assets/svg/settings/align_left.svg.js +5 -2
  261. package/lib/esm/assets/svg/settings/align_left.svg.js.map +1 -1
  262. package/lib/esm/assets/svg/settings/align_right.svg.js +5 -2
  263. package/lib/esm/assets/svg/settings/align_right.svg.js.map +1 -1
  264. package/lib/esm/assets/svg/settings/drag.svg.js +7 -26
  265. package/lib/esm/assets/svg/settings/drag.svg.js.map +1 -1
  266. package/lib/esm/assets/svg/settings/ellipse.svg.js +6 -5
  267. package/lib/esm/assets/svg/settings/ellipse.svg.js.map +1 -1
  268. package/lib/esm/assets/svg/settings/font_bold.svg.js +5 -2
  269. package/lib/esm/assets/svg/settings/font_bold.svg.js.map +1 -1
  270. package/lib/esm/assets/svg/settings/font_italic.svg.js +5 -2
  271. package/lib/esm/assets/svg/settings/font_italic.svg.js.map +1 -1
  272. package/lib/esm/assets/svg/settings/font_underline.svg.js +5 -2
  273. package/lib/esm/assets/svg/settings/font_underline.svg.js.map +1 -1
  274. package/lib/esm/assets/svg/settings/line.svg.js +8 -10
  275. package/lib/esm/assets/svg/settings/line.svg.js.map +1 -1
  276. package/lib/esm/assets/svg/settings/lock.svg.js +5 -2
  277. package/lib/esm/assets/svg/settings/lock.svg.js.map +1 -1
  278. package/lib/esm/assets/svg/settings/rectangle.svg.js +6 -4
  279. package/lib/esm/assets/svg/settings/rectangle.svg.js.map +1 -1
  280. package/lib/esm/assets/svg/settings/star.svg.js +6 -4
  281. package/lib/esm/assets/svg/settings/star.svg.js.map +1 -1
  282. package/lib/esm/assets/svg/settings/triangle.svg.js +6 -4
  283. package/lib/esm/assets/svg/settings/triangle.svg.js.map +1 -1
  284. package/lib/esm/assets/svg/settings/unlock.svg.js +5 -2
  285. package/lib/esm/assets/svg/settings/unlock.svg.js.map +1 -1
  286. package/lib/esm/assets/svg/settings.svg.js +3 -2
  287. package/lib/esm/assets/svg/settings.svg.js.map +1 -1
  288. package/lib/esm/assets/svg/settings_toggle.svg.js +7 -5
  289. package/lib/esm/assets/svg/settings_toggle.svg.js.map +1 -1
  290. package/lib/esm/assets/svg/slides.svg.js +8 -14
  291. package/lib/esm/assets/svg/slides.svg.js.map +1 -1
  292. package/lib/esm/assets/svg/star_rating.svg.js +5 -2
  293. package/lib/esm/assets/svg/star_rating.svg.js.map +1 -1
  294. package/lib/esm/assets/svg/toolbox/email.svg.js +5 -2
  295. package/lib/esm/assets/svg/toolbox/email.svg.js.map +1 -1
  296. package/lib/esm/assets/svg/toolbox/header.svg.js +5 -2
  297. package/lib/esm/assets/svg/toolbox/header.svg.js.map +1 -1
  298. package/lib/esm/assets/svg/toolbox/icon.svg.js +6 -11
  299. package/lib/esm/assets/svg/toolbox/icon.svg.js.map +1 -1
  300. package/lib/esm/assets/svg/toolbox/image.svg.js +7 -7
  301. package/lib/esm/assets/svg/toolbox/label.svg.js +4 -2
  302. package/lib/esm/assets/svg/toolbox/label.svg.js.map +1 -1
  303. package/lib/esm/assets/svg/toolbox/multiple_choice.svg.js +6 -5
  304. package/lib/esm/assets/svg/toolbox/multiple_choice.svg.js.map +1 -1
  305. package/lib/esm/assets/svg/toolbox/shapes.svg.js +7 -10
  306. package/lib/esm/assets/svg/toolbox/shapes.svg.js.map +1 -1
  307. package/lib/esm/assets/svg/toolbox/single_choice.svg.js +5 -2
  308. package/lib/esm/assets/svg/toolbox/single_choice.svg.js.map +1 -1
  309. package/lib/esm/assets/svg/toolbox/star.svg.js +5 -2
  310. package/lib/esm/assets/svg/toolbox/star.svg.js.map +1 -1
  311. package/lib/esm/assets/svg/toolbox/table.svg.js +5 -2
  312. package/lib/esm/assets/svg/toolbox/table.svg.js.map +1 -1
  313. package/lib/esm/assets/svg/toolbox/text.svg.js +5 -2
  314. package/lib/esm/assets/svg/toolbox/text.svg.js.map +1 -1
  315. package/lib/esm/assets/svg/toolbox/text_element.svg.js +5 -2
  316. package/lib/esm/assets/svg/toolbox/text_element.svg.js.map +1 -1
  317. package/lib/esm/assets/svg/trash.svg.js +5 -2
  318. package/lib/esm/assets/svg/trash.svg.js.map +1 -1
  319. package/lib/esm/components/Builder/DraggableLayer.js +38 -0
  320. package/lib/esm/components/Builder/DraggableLayer.js.map +1 -0
  321. package/lib/esm/components/Builder/Element.js +1 -0
  322. package/lib/esm/components/Builder/Element.js.map +1 -1
  323. package/lib/esm/components/Builder/Page.js +38 -32
  324. package/lib/esm/components/Builder/Page.js.map +1 -1
  325. package/lib/esm/components/Builder/Scene.js +16 -32
  326. package/lib/esm/components/Builder/Scene.js.map +1 -1
  327. package/lib/esm/components/Builder/SearchInput.js +3 -1
  328. package/lib/esm/components/Builder/SearchInput.js.map +1 -1
  329. package/lib/esm/components/DraggableItem/DraggableItem.js +34 -81
  330. package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
  331. package/lib/esm/components/DraggableItem/DraggableItemLayer.js +98 -221
  332. package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  333. package/lib/esm/components/PageItemResizer.js +21 -8
  334. package/lib/esm/components/PageItemResizer.js.map +1 -1
  335. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js +1 -3
  336. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  337. package/lib/esm/components/ReportItemsWrapper.js +15 -18
  338. package/lib/esm/components/ReportItemsWrapper.js.map +1 -1
  339. package/lib/esm/components/Settings/PageLayer/LayerItem.js +1 -1
  340. package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
  341. package/lib/esm/components/Settings/SizeSettings.js +1 -1
  342. package/lib/esm/components/Settings/SizeSettings.js.map +1 -1
  343. package/lib/esm/constants/texts.js +1 -0
  344. package/lib/esm/constants/texts.js.map +1 -1
  345. package/lib/esm/contexts/BuilderContext.js +6 -0
  346. package/lib/esm/contexts/BuilderContext.js.map +1 -1
  347. package/lib/esm/styles/_jfDarkTheme.scss +0 -5
  348. package/lib/esm/styles/_jfPrint.scss +0 -4
  349. package/lib/esm/styles/_jfReportsPages.scss +4 -2
  350. package/lib/esm/styles/_jfReportsSVG.scss +6 -6
  351. package/lib/esm/styles/_jfSearchInput.scss +0 -2
  352. package/lib/esm/utils/functions.js +31 -44
  353. package/lib/esm/utils/functions.js.map +1 -1
  354. package/lib/esm/utils/hooks.js +37 -1
  355. package/lib/esm/utils/hooks.js.map +1 -1
  356. package/package.json +1 -1
@@ -1,40 +1,19 @@
1
1
  'use strict';
2
2
 
3
- require('core-js/modules/es.array.concat.js');
4
- require('core-js/modules/es.array.find.js');
5
- require('core-js/modules/es.array.find-index.js');
6
3
  require('core-js/modules/es.array.map.js');
7
- require('core-js/modules/es.array.slice.js');
8
- require('core-js/modules/es.object.keys.js');
9
- require('core-js/modules/web.dom-collections.for-each.js');
10
4
  var React = require('react');
11
5
  var PropTypes = require('prop-types');
12
- var memoizeOne = require('memoize-one');
13
- var reactDnd = require('react-dnd');
14
6
  var ReportItemRenderer = require('../Builder/ReportItemRenderer.js');
15
7
  var functions = require('../../utils/functions.js');
16
8
  var ItemPositioner = require('../ItemPositioner.js');
17
9
  var BuilderContext = require('../../contexts/BuilderContext.js');
18
10
  var PropContext = require('../../contexts/PropContext.js');
19
- var getMergedItem = require('../../utils/getMergedItem.js');
11
+ var hooks = require('../../utils/hooks.js');
20
12
  var jsxRuntime = require('react/jsx-runtime');
21
13
 
22
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
15
 
24
16
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
25
- var memoizeOne__default = /*#__PURE__*/_interopDefaultLegacy(memoizeOne);
26
-
27
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
28
-
29
- 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."); }
30
-
31
- 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); }
32
-
33
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
34
-
35
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
36
-
37
- 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; }
38
17
 
39
18
  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; }
40
19
 
@@ -42,129 +21,26 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
42
21
 
43
22
  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; }
44
23
 
45
- var layerStyles = function layerStyles(_ref) {
46
- var x = _ref.x,
47
- y = _ref.y;
48
- return {
49
- left: x,
50
- pointerEvents: 'none',
51
- position: 'fixed',
52
- top: y,
53
- zIndex: 100
54
- };
55
- };
56
-
57
- var getDraggedItem = function getDraggedItem(_ref2, item) {
58
- var _ref2$defaultItem = _ref2.defaultItem,
59
- defaultItem = _ref2$defaultItem === void 0 ? {} : _ref2$defaultItem,
60
- details = _ref2.details;
24
+ var getDraggedItem = function getDraggedItem(_ref, item) {
25
+ var _ref$defaultItem = _ref.defaultItem,
26
+ defaultItem = _ref$defaultItem === void 0 ? {} : _ref$defaultItem,
27
+ details = _ref.details;
61
28
  return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, defaultItem), details), item), {}, {
62
29
  id: 'temp'
63
30
  });
64
31
  };
65
32
 
66
- var getMemoizedDraggedItem = memoizeOne__default['default'](getDraggedItem);
67
- var getAdditionalItems = memoizeOne__default['default'](function (activeElems, __itemId, _pages, _acceptedItems) {
68
- if (activeElems === null || activeElems.length === 1) return [];
69
- var index = activeElems.findIndex(function (aE) {
70
- return aE === __itemId;
71
- });
72
- var act = [].concat(_toConsumableArray(activeElems.slice(0, index)), _toConsumableArray(activeElems.slice(index + 1)));
73
- var items = act.map(function (_i) {
74
- var _item = _pages.reduce(function (acc, curr) {
75
- if (acc) {
76
- return acc;
77
- }
78
-
79
- return curr.items.find(function (el) {
80
- return el.id === _i;
81
- });
82
- }, undefined);
83
-
84
- var defItem = _acceptedItems[_item.itemType] && _acceptedItems[_item.itemType].defaultItem;
85
- return _objectSpread(_objectSpread({}, defItem), _item);
86
- });
87
- return items;
88
- });
89
-
90
- function getItemStyles(initialOffset, currentOffset, ref, pageGuides, item, zoom) {
91
- if (ref.current) {
92
- var dropTargetPosition = ref.current.getBoundingClientRect();
93
- var finalX = currentOffset.x,
94
- finalY = currentOffset.y;
95
- var initialX = initialOffset.x,
96
- initialY = initialOffset.y;
97
- var newYposition = finalY > initialY ? initialY + (finalY - initialY) - dropTargetPosition.top : initialY - (initialY - finalY) - dropTargetPosition.top;
98
- var newXposition = finalX > initialX ? initialX + (finalX - initialX) - dropTargetPosition.left : initialX - (initialX - finalX) - dropTargetPosition.left;
99
-
100
- var newItem = _objectSpread(_objectSpread({}, item), {}, {
101
- left: newXposition / zoom,
102
- top: newYposition / zoom
103
- });
104
-
105
- var _guides = _objectSpread(_objectSpread({}, pageGuides), {}, _defineProperty({}, item.id, _objectSpread(_objectSpread({}, pageGuides[item.id]), {}, {
106
- x: functions.calculateGuidePositions(newItem, 'x', zoom),
107
- y: functions.calculateGuidePositions(newItem, 'y', zoom)
108
- })));
109
-
110
- var match = functions.proximityListener(item.id, _guides);
111
- var newActiveBoxLeft = newXposition;
112
- var newActiveBoxTop = newYposition;
113
- var haveMatch = Object.keys(match).length > 0;
114
- var haveXMatch = haveMatch && match.x;
115
- var haveYMatch = haveMatch && match.y;
116
- Object.keys(match).forEach(function (axis) {
117
- var _match$axis = match[axis],
118
- activeBoxGuides = _match$axis.activeBoxGuides,
119
- matchedArray = _match$axis.matchedArray,
120
- proximity = _match$axis.proximity;
121
- var activeBoxProximityIndex = proximity.activeBoxIndex;
122
- var matchedBoxProximityIndex = proximity.matchedBoxIndex;
123
-
124
- if (axis === 'x') {
125
- if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
126
- newActiveBoxLeft = newItem.left - proximity.value;
127
- } else {
128
- newActiveBoxLeft = newItem.left + proximity.value;
129
- }
130
- } else if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
131
- newActiveBoxTop = newItem.top - proximity.value;
132
- } else {
133
- newActiveBoxTop = newItem.top + proximity.value;
134
- }
135
- });
136
- return {
137
- x: newActiveBoxLeft * (haveXMatch ? zoom : 1) + dropTargetPosition.left,
138
- y: newActiveBoxTop * (haveYMatch ? zoom : 1) + dropTargetPosition.top
139
- };
140
- }
141
- }
142
-
143
- var DraggableItemLayer = function DraggableItemLayer(_ref3) {
144
- var _ref3$guides = _ref3.guides,
145
- guides = _ref3$guides === void 0 ? {} : _ref3$guides,
146
- _ref3$pageRefs = _ref3.pageRefs,
147
- pageRefs = _ref3$pageRefs === void 0 ? {} : _ref3$pageRefs,
148
- _ref3$pages = _ref3.pages,
149
- pages = _ref3$pages === void 0 ? [] : _ref3$pages;
150
-
151
- var _useDragLayer = reactDnd.useDragLayer(function (monitor) {
152
- return {
153
- currentOffset: monitor.getSourceClientOffset(),
154
- initialOffset: monitor.getInitialSourceClientOffset(),
155
- isDragging: monitor.isDragging(),
156
- item: monitor.getItem(),
157
- itemType: monitor.getItemType()
158
- };
159
- }),
160
- currentOffset = _useDragLayer.currentOffset,
161
- initialOffset = _useDragLayer.initialOffset,
162
- isDragging = _useDragLayer.isDragging,
163
- item = _useDragLayer.item;
164
-
165
- var activeElement = BuilderContext.useBuilderStore(function (state) {
166
- return state.activeElement;
167
- });
33
+ var DraggableItemLayer = function DraggableItemLayer(_ref2) {
34
+ var _ref2$collectedProps = _ref2.collectedProps,
35
+ collectedProps = _ref2$collectedProps === void 0 ? {} : _ref2$collectedProps,
36
+ _ref2$guides = _ref2.guides,
37
+ guides = _ref2$guides === void 0 ? {} : _ref2$guides,
38
+ _ref2$pageRefs = _ref2.pageRefs,
39
+ pageRefs = _ref2$pageRefs === void 0 ? {} : _ref2$pageRefs;
40
+ var currentOffset = collectedProps.currentOffset,
41
+ initialOffset = collectedProps.initialOffset,
42
+ isDragging = collectedProps.isDragging,
43
+ item = collectedProps.item;
168
44
  var zoom = BuilderContext.useBuilderStore(function (state) {
169
45
  return state.zoom;
170
46
  });
@@ -174,112 +50,112 @@ var DraggableItemLayer = function DraggableItemLayer(_ref3) {
174
50
  var itemAccessor = PropContext.usePropStore(function (state) {
175
51
  return state.itemAccessor;
176
52
  });
53
+ var referenceItem = React.useMemo(function () {
54
+ var _item = item.id ? item : getDraggedItem(acceptedItems[item.itemType], item); // for a element that is dragging to the left panel
55
+
177
56
 
178
- if (!currentOffset || !isDragging) {
179
- return null;
180
- }
57
+ if (!_item.pageID) {
58
+ var element = document.elementFromPoint(currentOffset.x, currentOffset.y);
181
59
 
182
- var draggedItem = pages.reduce(function (acc, curr) {
183
- if (acc) {
184
- return acc;
60
+ if (element && element.closest('.jfReport-page')) {
61
+ var _pageID = element.closest('.jfReport-page').getAttribute('data-id');
62
+
63
+ return _objectSpread(_objectSpread({}, _item), {}, {
64
+ pageID: _pageID
65
+ });
66
+ }
185
67
  }
186
68
 
187
- return curr.items.find(function (el) {
188
- return el.id === item.id;
189
- });
190
- }, undefined);
191
- var pageID;
69
+ return _item;
70
+ }, [item, acceptedItems, currentOffset.x, currentOffset.y]);
71
+ var pageID = referenceItem.pageID;
72
+ var refCoords = React.useMemo(function () {
73
+ if (pageID) {
74
+ var dropTargetPosition = pageRefs[pageID].current.getBoundingClientRect();
75
+ var coords = functions.getCorrectDroppedOffsetValue(currentOffset, initialOffset, dropTargetPosition, zoom);
192
76
 
193
- if (draggedItem) {
194
- pageID = draggedItem.pageID;
195
- } else {
196
- draggedItem = getMemoizedDraggedItem(acceptedItems[item.itemType], item);
197
- }
77
+ var newItem = _objectSpread(_objectSpread({}, referenceItem), coords);
198
78
 
199
- var element = document.elementFromPoint(currentOffset.x, currentOffset.y);
79
+ var newMatches = functions.getMatchesForItem(newItem, guides, zoom);
200
80
 
201
- if (element && element.closest('.jfReport-page')) {
202
- // add polyfill if will we use that one
203
- pageID = element.closest('.jfReport-page').getAttribute('data-id');
81
+ var _getCoordinatesFromMa = functions.getCoordinatesFromMatches(newItem, newMatches),
82
+ left = _getCoordinatesFromMa.left,
83
+ top = _getCoordinatesFromMa.top;
204
84
 
205
- if (!draggedItem.pageID) {
206
- draggedItem.pageID = pageID;
85
+ return {
86
+ x: left * zoom + dropTargetPosition.left,
87
+ y: top * zoom + dropTargetPosition.top
88
+ };
207
89
  }
208
- }
209
90
 
210
- var ref = pageRefs[pageID];
211
- var itemStyle = {}; // No page
212
-
213
- if (!ref || !ref.current) {
214
- itemStyle = {
91
+ return {
215
92
  x: currentOffset.x,
216
93
  y: currentOffset.y
217
94
  };
218
- } else {
219
- // In the page
220
- var pageGuides = guides[pageID];
221
- itemStyle = getItemStyles(initialOffset, currentOffset, pageRefs[pageID], pageGuides, draggedItem, zoom);
222
- }
223
-
224
- var additionalitems = getAdditionalItems(activeElement, draggedItem.id, pages, acceptedItems);
225
- var mergedItem = getMergedItem(draggedItem, acceptedItems);
226
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
227
- children: [/*#__PURE__*/jsxRuntime.jsx(ItemPositioner, {
228
- classNames: "reportItem".concat(isDragging ? ' isDraggingLayerElement' : ''),
229
- style: _objectSpread(_objectSpread({}, layerStyles(itemStyle)), {}, {
230
- cursor: isDragging ? 'grabbing' : 'pointer',
231
- height: draggedItem.height,
232
- outlineColor: '#4277ff',
233
- transform: "scale(".concat(zoom, ")"),
234
- transformOrigin: '0 0',
235
- width: draggedItem.width
236
- }),
95
+ }, [currentOffset, initialOffset, referenceItem, pageID, pageRefs, zoom, guides]);
96
+ var getItemStyle = React.useCallback(function (_ref3, _ref4) {
97
+ var x = _ref3.x,
98
+ y = _ref3.y;
99
+ var height = _ref4.height,
100
+ width = _ref4.width;
101
+ return {
102
+ cursor: 'grabbing',
103
+ height: height,
104
+ left: x,
105
+ outlineColor: '#4277ff',
106
+ pointerEvents: 'none',
107
+ position: 'fixed',
108
+ top: y,
109
+ transform: "scale(".concat(zoom, ")"),
110
+ transformOrigin: '0 0',
111
+ width: width,
112
+ zIndex: 100
113
+ };
114
+ }, [zoom]);
115
+ var activeItems = hooks.useActiveElement();
116
+ var hasActiveItems = activeItems !== null && activeItems.length > 0; // for a element is added from the left panel
117
+
118
+ var activeElements = hasActiveItems ? activeItems : [referenceItem];
119
+ return activeElements.map(function (activeItem) {
120
+ var coords = hasActiveItems ? {
121
+ x: refCoords.x - (referenceItem.left - activeItem.left) * zoom,
122
+ y: refCoords.y - (referenceItem.top - activeItem.top) * zoom
123
+ } : refCoords;
124
+ var exactItem = hasActiveItems ? activeItem : referenceItem;
125
+ return /*#__PURE__*/jsxRuntime.jsx(ItemPositioner, {
126
+ classNames: "reportItem isDraggingLayerElement",
127
+ style: getItemStyle(coords, exactItem),
237
128
  children: /*#__PURE__*/jsxRuntime.jsx(ReportItemRenderer, {
238
- item: draggedItem,
129
+ item: exactItem,
239
130
  children: function children(ReportItem) {
240
131
  return /*#__PURE__*/jsxRuntime.jsx(ReportItem, {
241
132
  isDragging: isDragging,
242
- item: mergedItem,
133
+ item: exactItem,
243
134
  itemAccessor: itemAccessor,
244
135
  zoom: zoom
245
136
  });
246
137
  }
247
138
  })
248
- }), additionalitems.map(function (ii) {
249
- var __itemStyle = {
250
- x: itemStyle.x - (draggedItem.left - ii.left) * zoom,
251
- y: itemStyle.y - (draggedItem.top - ii.top) * zoom
252
- };
253
- return /*#__PURE__*/jsxRuntime.jsx(ItemPositioner, {
254
- classNames: "reportItem".concat(isDragging ? ' isDraggingLayerElement' : ''),
255
- style: _objectSpread(_objectSpread({}, layerStyles(__itemStyle)), {}, {
256
- cursor: isDragging ? 'grabbing' : 'pointer',
257
- height: ii.height,
258
- outlineColor: '#4277ff',
259
- transform: "scale(".concat(zoom, ")"),
260
- transformOrigin: '0 0',
261
- width: ii.width
262
- }),
263
- children: /*#__PURE__*/jsxRuntime.jsx(ReportItemRenderer, {
264
- item: ii,
265
- children: function children(ReportItem) {
266
- return /*#__PURE__*/jsxRuntime.jsx(ReportItem, {
267
- isDragging: isDragging,
268
- item: ii,
269
- itemAccessor: itemAccessor,
270
- zoom: zoom
271
- });
272
- }
273
- })
274
- }, ii.id);
275
- })]
139
+ }, item.id);
276
140
  });
277
141
  };
278
142
 
279
143
  DraggableItemLayer.propTypes = {
144
+ collectedProps: PropTypes__default['default'].shape({
145
+ currentOffset: PropTypes__default['default'].shape({
146
+ x: PropTypes__default['default'].number,
147
+ y: PropTypes__default['default'].number
148
+ }),
149
+ initialOffset: PropTypes__default['default'].shape({
150
+ x: PropTypes__default['default'].number,
151
+ y: PropTypes__default['default'].number
152
+ }),
153
+ isDragging: PropTypes__default['default'].bool,
154
+ item: PropTypes__default['default'].shape({}),
155
+ itemType: PropTypes__default['default'].string
156
+ }),
280
157
  guides: PropTypes__default['default'].shape({}),
281
- pageRefs: PropTypes__default['default'].shape({}),
282
- pages: PropTypes__default['default'].arrayOf(PropTypes__default['default'].shape({}))
158
+ pageRefs: PropTypes__default['default'].shape({})
283
159
  };
284
160
  var DraggableItemLayer$1 = /*#__PURE__*/React.memo(DraggableItemLayer);
285
161
 
@@ -1 +1 @@
1
- {"version":3,"file":"DraggableItemLayer.js","sources":["../../../../src/components/DraggableItem/DraggableItemLayer.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport memoizeOne from 'memoize-one';\nimport { useDragLayer } from 'react-dnd';\nimport ReportItemRenderer from '../Builder/ReportItemRenderer';\nimport { proximityListener, calculateGuidePositions } from '../../utils/functions';\nimport ItemPositioner from '../ItemPositioner';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport getMergedItem from '../../utils/getMergedItem';\n\nconst layerStyles = ({ x, y }) => ({\n left: x,\n pointerEvents: 'none',\n position: 'fixed',\n top: y,\n zIndex: 100,\n});\n\nconst getDraggedItem = ({ defaultItem = {}, details }, item) => ({\n ...defaultItem,\n ...details,\n ...item,\n id: 'temp',\n});\n\nconst getMemoizedDraggedItem = memoizeOne(getDraggedItem);\n\nconst getAdditionalItems = memoizeOne((activeElems, __itemId, _pages, _acceptedItems) => {\n if (activeElems === null || activeElems.length === 1) return [];\n const index = activeElems.findIndex(aE => aE === __itemId);\n const act = [...activeElems.slice(0, index), ...activeElems.slice(index + 1)];\n const items = act.map(_i => {\n const _item = _pages.reduce((acc, curr) => {\n if (acc) {\n return acc;\n }\n return curr.items.find(el => el.id === _i);\n }, undefined);\n const defItem = (_acceptedItems[_item.itemType]\n && _acceptedItems[_item.itemType].defaultItem);\n return { ...defItem, ..._item };\n });\n return items;\n});\n\nfunction getItemStyles(initialOffset, currentOffset, ref, pageGuides, item, zoom) {\n if (ref.current) {\n const dropTargetPosition = ref.current.getBoundingClientRect();\n const { x: finalX, y: finalY } = currentOffset;\n const { x: initialX, y: initialY } = initialOffset;\n const newYposition = finalY > initialY\n ? (initialY + (finalY - initialY)) - dropTargetPosition.top\n : initialY - (initialY - finalY) - dropTargetPosition.top;\n\n const newXposition = finalX > initialX\n ? (initialX + (finalX - initialX)) - dropTargetPosition.left\n : initialX - (initialX - finalX) - dropTargetPosition.left;\n\n const newItem = {\n ...item,\n left: newXposition / zoom,\n top: newYposition / zoom,\n };\n const _guides = {\n ...pageGuides,\n [item.id]: {\n ...pageGuides[item.id],\n x: calculateGuidePositions(newItem, 'x', zoom),\n y: calculateGuidePositions(newItem, 'y', zoom),\n },\n };\n\n const match = proximityListener(item.id, _guides);\n let newActiveBoxLeft = newXposition;\n let newActiveBoxTop = newYposition;\n const haveMatch = Object.keys(match).length > 0;\n const haveXMatch = haveMatch && match.x;\n const haveYMatch = haveMatch && match.y;\n Object.keys(match).forEach(axis => {\n const { activeBoxGuides, matchedArray, proximity } = match[axis];\n const activeBoxProximityIndex = proximity.activeBoxIndex;\n const matchedBoxProximityIndex = proximity.matchedBoxIndex;\n if (axis === 'x') {\n if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxLeft = newItem.left - proximity.value;\n } else {\n newActiveBoxLeft = newItem.left + proximity.value;\n }\n } else if (activeBoxGuides[activeBoxProximityIndex]\n > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxTop = newItem.top - proximity.value;\n } else {\n newActiveBoxTop = newItem.top + proximity.value;\n }\n });\n return {\n x: (newActiveBoxLeft * (haveXMatch ? zoom : 1)) + dropTargetPosition.left,\n y: (newActiveBoxTop * (haveYMatch ? zoom : 1)) + dropTargetPosition.top,\n };\n }\n}\n\nconst DraggableItemLayer = ({\n guides = {},\n pageRefs = {},\n pages = [],\n}) => {\n const {\n currentOffset,\n initialOffset,\n isDragging,\n item,\n } = useDragLayer(monitor => ({\n currentOffset: monitor.getSourceClientOffset(),\n initialOffset: monitor.getInitialSourceClientOffset(),\n isDragging: monitor.isDragging(),\n item: monitor.getItem(),\n itemType: monitor.getItemType(),\n }));\n\n const activeElement = useBuilderStore(state => state.activeElement);\n const zoom = useBuilderStore(state => state.zoom);\n\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n\n if (!currentOffset || !isDragging) {\n return null;\n }\n let draggedItem = pages.reduce((acc, curr) => {\n if (acc) {\n return acc;\n }\n return curr.items.find(el => el.id === item.id);\n }, undefined);\n\n let pageID;\n if (draggedItem) {\n pageID = draggedItem.pageID;\n } else {\n draggedItem = getMemoizedDraggedItem(acceptedItems[item.itemType], item);\n }\n const element = document.elementFromPoint(currentOffset.x, currentOffset.y);\n if (element && element.closest('.jfReport-page')) { // add polyfill if will we use that one\n pageID = element.closest('.jfReport-page').getAttribute('data-id');\n if (!draggedItem.pageID) {\n draggedItem.pageID = pageID;\n }\n }\n\n const ref = pageRefs[pageID];\n let itemStyle = {};\n // No page\n if (!ref || !ref.current) {\n itemStyle = {\n x: currentOffset.x,\n y: currentOffset.y,\n };\n } else { // In the page\n const pageGuides = guides[pageID];\n itemStyle = getItemStyles(\n initialOffset,\n currentOffset,\n pageRefs[pageID],\n pageGuides,\n draggedItem,\n zoom,\n );\n }\n\n const additionalitems = getAdditionalItems(\n activeElement,\n draggedItem.id,\n pages,\n acceptedItems,\n );\n\n const mergedItem = getMergedItem(draggedItem, acceptedItems);\n\n return (\n <>\n <ItemPositioner\n classNames={`reportItem${isDragging ? ' isDraggingLayerElement' : ''}`}\n style={{\n ...layerStyles(itemStyle),\n cursor: isDragging ? 'grabbing' : 'pointer',\n height: draggedItem.height,\n outlineColor: '#4277ff',\n transform: `scale(${zoom})`,\n transformOrigin: '0 0',\n width: draggedItem.width,\n }}\n >\n <ReportItemRenderer item={draggedItem}>\n {ReportItem => (\n <ReportItem\n isDragging={isDragging}\n item={mergedItem}\n itemAccessor={itemAccessor}\n zoom={zoom}\n />\n )}\n </ReportItemRenderer>\n </ItemPositioner>\n {additionalitems.map(ii => {\n const __itemStyle = {\n x: itemStyle.x - ((draggedItem.left - ii.left) * zoom),\n y: itemStyle.y - ((draggedItem.top - ii.top) * zoom),\n };\n return (\n <ItemPositioner\n key={ii.id}\n classNames={`reportItem${isDragging ? ' isDraggingLayerElement' : ''}`}\n style={{\n ...layerStyles(__itemStyle),\n cursor: isDragging ? 'grabbing' : 'pointer',\n height: ii.height,\n outlineColor: '#4277ff',\n transform: `scale(${zoom})`,\n transformOrigin: '0 0',\n width: ii.width,\n }}\n >\n <ReportItemRenderer item={ii}>\n {ReportItem => (\n <ReportItem\n isDragging={isDragging}\n item={ii}\n itemAccessor={itemAccessor}\n zoom={zoom}\n />\n )}\n </ReportItemRenderer>\n </ItemPositioner>\n );\n })}\n </>\n );\n};\n\nDraggableItemLayer.propTypes = {\n guides: PropTypes.shape({}),\n pageRefs: PropTypes.shape({}),\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n};\n\nexport default memo(DraggableItemLayer);\n"],"names":["layerStyles","x","y","left","pointerEvents","position","top","zIndex","getDraggedItem","item","defaultItem","details","id","getMemoizedDraggedItem","memoizeOne","getAdditionalItems","activeElems","__itemId","_pages","_acceptedItems","length","index","findIndex","aE","act","slice","items","map","_i","_item","reduce","acc","curr","find","el","undefined","defItem","itemType","getItemStyles","initialOffset","currentOffset","ref","pageGuides","zoom","current","dropTargetPosition","getBoundingClientRect","finalX","finalY","initialX","initialY","newYposition","newXposition","newItem","_guides","calculateGuidePositions","match","proximityListener","newActiveBoxLeft","newActiveBoxTop","haveMatch","Object","keys","haveXMatch","haveYMatch","forEach","axis","activeBoxGuides","matchedArray","proximity","activeBoxProximityIndex","activeBoxIndex","matchedBoxProximityIndex","matchedBoxIndex","value","DraggableItemLayer","guides","pageRefs","pages","useDragLayer","monitor","getSourceClientOffset","getInitialSourceClientOffset","isDragging","getItem","getItemType","activeElement","useBuilderStore","state","acceptedItems","usePropStore","itemAccessor","draggedItem","pageID","element","document","elementFromPoint","closest","getAttribute","itemStyle","additionalitems","mergedItem","getMergedItem","_jsxs","_jsx","cursor","height","outlineColor","transform","transformOrigin","width","ReportItem","ii","__itemStyle","propTypes","PropTypes","shape","arrayOf","memo"],"mappings":"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"}
1
+ {"version":3,"file":"DraggableItemLayer.js","sources":["../../../../src/components/DraggableItem/DraggableItemLayer.js"],"sourcesContent":["import { memo, useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport ReportItemRenderer from '../Builder/ReportItemRenderer';\nimport { getCoordinatesFromMatches, getCorrectDroppedOffsetValue, getMatchesForItem } from '../../utils/functions';\nimport ItemPositioner from '../ItemPositioner';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useActiveElement } from '../../utils/hooks';\n\nconst getDraggedItem = ({ defaultItem = {}, details }, item) => ({\n ...defaultItem,\n ...details,\n ...item,\n id: 'temp',\n});\n\nconst DraggableItemLayer = ({\n collectedProps = {},\n guides = {},\n pageRefs = {},\n}) => {\n const {\n currentOffset,\n initialOffset,\n isDragging,\n item,\n } = collectedProps;\n const zoom = useBuilderStore(state => state.zoom);\n\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n\n const referenceItem = useMemo(() => {\n const _item = item.id ? item : getDraggedItem(acceptedItems[item.itemType], item);\n\n // for a element that is dragging to the left panel\n if (!_item.pageID) {\n const element = document.elementFromPoint(currentOffset.x, currentOffset.y);\n if (element && element.closest('.jfReport-page')) {\n const pageID = element.closest('.jfReport-page').getAttribute('data-id');\n return { ..._item, pageID };\n }\n }\n\n return _item;\n }, [\n item,\n acceptedItems,\n currentOffset.x,\n currentOffset.y,\n ]);\n\n const { pageID } = referenceItem;\n\n const refCoords = useMemo(() => {\n if (pageID) {\n const dropTargetPosition = pageRefs[pageID].current.getBoundingClientRect();\n const coords = getCorrectDroppedOffsetValue(\n currentOffset,\n initialOffset,\n dropTargetPosition,\n zoom,\n );\n const newItem = { ...referenceItem, ...coords };\n const newMatches = getMatchesForItem(newItem, guides, zoom);\n const { left, top } = getCoordinatesFromMatches(newItem, newMatches);\n return {\n x: (left * zoom) + dropTargetPosition.left,\n y: (top * zoom) + dropTargetPosition.top,\n };\n }\n return {\n x: currentOffset.x,\n y: currentOffset.y,\n };\n }, [\n currentOffset,\n initialOffset,\n referenceItem,\n pageID,\n pageRefs,\n zoom,\n guides,\n ]);\n\n const getItemStyle = useCallback(({ x, y }, { height, width }) => {\n return {\n cursor: 'grabbing',\n height,\n left: x,\n outlineColor: '#4277ff',\n pointerEvents: 'none',\n position: 'fixed',\n top: y,\n transform: `scale(${zoom})`,\n transformOrigin: '0 0',\n width,\n zIndex: 100,\n };\n }, [zoom]);\n\n const activeItems = useActiveElement();\n\n const hasActiveItems = activeItems !== null && activeItems.length > 0;\n\n // for a element is added from the left panel\n const activeElements = hasActiveItems ? activeItems : [referenceItem];\n\n return activeElements.map(activeItem => {\n const coords = hasActiveItems ? {\n x: refCoords.x - ((referenceItem.left - activeItem.left) * zoom),\n y: refCoords.y - ((referenceItem.top - activeItem.top) * zoom),\n } : refCoords;\n\n const exactItem = hasActiveItems ? activeItem : referenceItem;\n\n return (\n <ItemPositioner\n key={item.id}\n classNames=\"reportItem isDraggingLayerElement\"\n style={getItemStyle(coords, exactItem)}\n >\n <ReportItemRenderer item={exactItem}>\n {ReportItem => (\n <ReportItem\n isDragging={isDragging}\n item={exactItem}\n itemAccessor={itemAccessor}\n zoom={zoom}\n />\n )}\n </ReportItemRenderer>\n </ItemPositioner>\n );\n });\n};\n\nDraggableItemLayer.propTypes = {\n collectedProps: PropTypes.shape({\n currentOffset: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }),\n initialOffset: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }),\n isDragging: PropTypes.bool,\n item: PropTypes.shape({}),\n itemType: PropTypes.string,\n }),\n guides: PropTypes.shape({}),\n pageRefs: PropTypes.shape({}),\n};\n\nexport default memo(DraggableItemLayer);\n"],"names":["getDraggedItem","item","defaultItem","details","id","DraggableItemLayer","collectedProps","guides","pageRefs","currentOffset","initialOffset","isDragging","zoom","useBuilderStore","state","acceptedItems","usePropStore","itemAccessor","referenceItem","useMemo","_item","itemType","pageID","element","document","elementFromPoint","x","y","closest","getAttribute","refCoords","dropTargetPosition","current","getBoundingClientRect","coords","getCorrectDroppedOffsetValue","newItem","newMatches","getMatchesForItem","getCoordinatesFromMatches","left","top","getItemStyle","useCallback","height","width","cursor","outlineColor","pointerEvents","position","transform","transformOrigin","zIndex","activeItems","useActiveElement","hasActiveItems","length","activeElements","map","activeItem","exactItem","_jsx","ReportItem","propTypes","PropTypes","shape","number","bool","string","memo"],"mappings":"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"}
@@ -10,6 +10,8 @@ var CustomToolbarWrapper = require('./TextEditor/CustomToolbar/CustomToolbarWrap
10
10
  var DraggableItemActions = require('./DraggableItem/DraggableItemActions.js');
11
11
  var ItemPositioner = require('./ItemPositioner.js');
12
12
  var withClickOutside = require('./withClickOutside.js');
13
+ var BuilderContext = require('../contexts/BuilderContext.js');
14
+ var functions = require('../utils/functions.js');
13
15
  var jsxRuntime = require('react/jsx-runtime');
14
16
 
15
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -52,21 +54,32 @@ var PageItemResizer = function PageItemResizer(_ref) {
52
54
  deleteItem = _ref.deleteItem,
53
55
  duplicateItem = _ref.duplicateItem,
54
56
  isDragging = _ref.isDragging,
55
- isMultipleItemSelected = _ref.isMultipleItemSelected,
56
- isSelectedElement = _ref.isSelectedElement,
57
- isTextEditorOpen = _ref.isTextEditorOpen,
58
57
  item = _ref.item,
59
58
  onClickOutside = _ref.onClickOutside,
60
59
  onResize = _ref.onResize,
61
60
  onResizeStop = _ref.onResizeStop,
62
61
  pageID = _ref.pageID,
63
- setActiveElement = _ref.setActiveElement,
64
- setIsRightPanelOpen = _ref.setIsRightPanelOpen,
65
62
  stateHeight = _ref.stateHeight,
66
63
  stateLeft = _ref.stateLeft,
67
64
  stateTop = _ref.stateTop,
68
- stateWidth = _ref.stateWidth,
69
- zoom = _ref.zoom;
65
+ stateWidth = _ref.stateWidth;
66
+ var zoom = BuilderContext.useBuilderStore(function (state) {
67
+ return state.zoom;
68
+ });
69
+ var setIsRightPanelOpen = BuilderContext.useBuilderStore(function (state) {
70
+ return state.setIsRightPanelOpen;
71
+ });
72
+ var setActiveElement = BuilderContext.useBuilderStore(function (state) {
73
+ return state.setActiveElement;
74
+ });
75
+ var activeElement = BuilderContext.useBuilderStore(function (state) {
76
+ return state.activeElement;
77
+ });
78
+ var isTextEditorOpen = BuilderContext.useBuilderStore(function (state) {
79
+ return state.isTextEditorOpen;
80
+ });
81
+ var isSelected = functions.isSelectedItem(item.id, activeElement);
82
+ var isMultipleItemSelected = activeElement !== null && activeElement.length > 1;
70
83
  var requestRef = React.useRef();
71
84
 
72
85
  var _useState = React.useState(false),
@@ -134,7 +147,7 @@ var PageItemResizer = function PageItemResizer(_ref) {
134
147
  setIsRightPanelOpen(true);
135
148
  }, [item.id, setIsRightPanelOpen, setActiveElement]);
136
149
  var isLocked = item.isLocked;
137
- if (isDragging || !isSelectedElement) return null;
150
+ if (isDragging || !isSelected) return null;
138
151
  return /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/jsxRuntime.jsxs(ItemPositioner, {
139
152
  style: itemPositionerStyle,
140
153
  children: [/*#__PURE__*/jsxRuntime.jsx(ResizableWithClickOutside, _objectSpread(_objectSpread({
@@ -1 +1 @@
1
- {"version":3,"file":"PageItemResizer.js","sources":["../../../src/components/PageItemResizer.js"],"sourcesContent":["import {\n useCallback,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Resizable } from 're-resizable';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport { resizeStaticProps } from '../constants/staticProps';\nimport TextEditorToolbar from './TextEditor/CustomToolbar';\n\nimport DraggableItemActions from './DraggableItem/DraggableItemActions';\nimport ItemPositioner from './ItemPositioner';\nimport withClickOutside from './withClickOutside';\n\nconst ResizableWithClickOutside = withClickOutside(Resizable);\n\nconst enableResize = {\n bottom: true,\n bottomLeft: true,\n bottomRight: true,\n left: true,\n right: true,\n top: true,\n topLeft: true,\n topRight: true,\n};\nconst lockAspectRatioTypes = ['image', 'icon'];\nconst exceptionalClasses = [\n 'reportHandle',\n 'reportItemMenu',\n 'jfReport-pane',\n 'pageSettingSideBtn',\n 'reportItemWrapper',\n 'reportRotater',\n 'forZoom',\n 'ql-toolbar',\n 'jSheetContextMenu',\n 'reset-default-contextMenu',\n];\n\nconst PageItemResizer = ({\n changeLockStatus,\n deleteItem,\n duplicateItem,\n isDragging,\n isMultipleItemSelected,\n isSelectedElement,\n isTextEditorOpen,\n item,\n onClickOutside,\n onResize,\n onResizeStop,\n pageID,\n setActiveElement,\n setIsRightPanelOpen,\n stateHeight,\n stateLeft,\n stateTop,\n stateWidth,\n zoom,\n}) => {\n const requestRef = useRef();\n const [lockAspectRatio, setLockAspectRatio] = useState(false);\n\n const handleKeyUp = e => {\n if (!e.shiftKey) setLockAspectRatio(false);\n };\n\n const handleKeyDown = e => {\n if (e.shiftKey) setLockAspectRatio(true);\n };\n\n const seriousResize = (deltaWidth, deltaHeight, direction) => {\n return () => {\n onResize(deltaWidth, deltaHeight, direction);\n requestRef.current = undefined;\n };\n };\n\n const onResizeStart = e => {\n e.preventDefault();\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n };\n\n const onResizeRAF = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n if (!requestRef.current) {\n requestRef.current = global\n .requestAnimationFrame(\n seriousResize(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n ),\n );\n }\n };\n\n const onResizeEnd = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n onResizeStop(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n );\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n\n const itemPositionerStyle = useMemo(() => ({\n height: Math.round(stateHeight * zoom),\n left: Math.round(stateLeft * zoom),\n pointerEvents: 'none',\n position: 'absolute',\n top: Math.round(stateTop * zoom),\n touchAction: 'none',\n width: Math.round(stateWidth * zoom),\n }), [stateHeight, stateLeft, stateTop, stateWidth, zoom]);\n\n const size = useMemo(() => ({\n height: Math.round(stateHeight * zoom),\n width: Math.round(stateWidth * zoom),\n }), [stateHeight, stateWidth, zoom]);\n\n const openSettings = useCallback(() => {\n setActiveElement(item.id);\n setIsRightPanelOpen(true);\n }, [item.id, setIsRightPanelOpen, setActiveElement]);\n\n const { isLocked } = item;\n\n if (isDragging || !isSelectedElement) return null;\n return createPortal(\n <ItemPositioner\n style={itemPositionerStyle}\n >\n <ResizableWithClickOutside\n className={classNames(\n 'reportItemResizer',\n { hideVerticalHandle: !(item.height > 50) },\n { hideHorizontalHandle: !(item.width > 50) },\n )}\n enable={!item.isLocked && enableResize}\n exceptionalClasses={exceptionalClasses}\n lockAspectRatio={lockAspectRatioTypes.includes(item.itemType) || lockAspectRatio}\n onClickOutside={onClickOutside}\n onResize={onResizeRAF}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeEnd}\n size={size}\n {...resizeStaticProps}\n withClickOutsideWrapperClass={`reportItemResizer-wrapper${isLocked ? ' isLocked' : ''}`}\n />\n <DraggableItemActions\n changeLockStatus={changeLockStatus}\n deleteItem={deleteItem}\n duplicateItem={duplicateItem}\n isLocked={item.isLocked}\n isMultipleItemSelected={isMultipleItemSelected}\n openSettings={openSettings}\n />\n <TextEditorToolbar\n isTextEditorOpen={isTextEditorOpen}\n itemWidth={stateWidth * zoom}\n />\n </ItemPositioner>,\n document.querySelector(`.jfReport-page[data-id=\"${pageID}\"]`),\n );\n};\n\nexport default PageItemResizer;\n"],"names":["ResizableWithClickOutside","withClickOutside","Resizable","enableResize","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","lockAspectRatioTypes","exceptionalClasses","PageItemResizer","changeLockStatus","deleteItem","duplicateItem","isDragging","isMultipleItemSelected","isSelectedElement","isTextEditorOpen","item","onClickOutside","onResize","onResizeStop","pageID","setActiveElement","setIsRightPanelOpen","stateHeight","stateLeft","stateTop","stateWidth","zoom","requestRef","useRef","useState","lockAspectRatio","setLockAspectRatio","handleKeyUp","e","shiftKey","handleKeyDown","seriousResize","deltaWidth","deltaHeight","direction","current","undefined","onResizeStart","preventDefault","window","addEventListener","onResizeRAF","ref","height","width","global","requestAnimationFrame","Math","round","onResizeEnd","removeEventListener","itemPositionerStyle","useMemo","pointerEvents","position","touchAction","size","openSettings","useCallback","id","isLocked","createPortal","_jsxs","_jsx","classNames","hideVerticalHandle","hideHorizontalHandle","includes","itemType","resizeStaticProps","TextEditorToolbar","document","querySelector"],"mappings":"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"}
1
+ {"version":3,"file":"PageItemResizer.js","sources":["../../../src/components/PageItemResizer.js"],"sourcesContent":["import {\n useCallback,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Resizable } from 're-resizable';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport { resizeStaticProps } from '../constants/staticProps';\nimport TextEditorToolbar from './TextEditor/CustomToolbar';\n\nimport DraggableItemActions from './DraggableItem/DraggableItemActions';\nimport ItemPositioner from './ItemPositioner';\nimport withClickOutside from './withClickOutside';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { isSelectedItem } from '../utils/functions';\n\nconst ResizableWithClickOutside = withClickOutside(Resizable);\n\nconst enableResize = {\n bottom: true,\n bottomLeft: true,\n bottomRight: true,\n left: true,\n right: true,\n top: true,\n topLeft: true,\n topRight: true,\n};\nconst lockAspectRatioTypes = ['image', 'icon'];\nconst exceptionalClasses = [\n 'reportHandle',\n 'reportItemMenu',\n 'jfReport-pane',\n 'pageSettingSideBtn',\n 'reportItemWrapper',\n 'reportRotater',\n 'forZoom',\n 'ql-toolbar',\n 'jSheetContextMenu',\n 'reset-default-contextMenu',\n];\n\nconst PageItemResizer = ({\n changeLockStatus,\n deleteItem,\n duplicateItem,\n isDragging,\n item,\n onClickOutside,\n onResize,\n onResizeStop,\n pageID,\n stateHeight,\n stateLeft,\n stateTop,\n stateWidth,\n}) => {\n const zoom = useBuilderStore(state => state.zoom);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setActiveElement = useBuilderStore(state => state.setActiveElement);\n const activeElement = useBuilderStore(state => state.activeElement);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n\n const isSelected = isSelectedItem(item.id, activeElement);\n const isMultipleItemSelected = activeElement !== null && activeElement.length > 1;\n\n const requestRef = useRef();\n const [lockAspectRatio, setLockAspectRatio] = useState(false);\n\n const handleKeyUp = e => {\n if (!e.shiftKey) setLockAspectRatio(false);\n };\n\n const handleKeyDown = e => {\n if (e.shiftKey) setLockAspectRatio(true);\n };\n\n const seriousResize = (deltaWidth, deltaHeight, direction) => {\n return () => {\n onResize(deltaWidth, deltaHeight, direction);\n requestRef.current = undefined;\n };\n };\n\n const onResizeStart = e => {\n e.preventDefault();\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n };\n\n const onResizeRAF = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n if (!requestRef.current) {\n requestRef.current = global\n .requestAnimationFrame(\n seriousResize(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n ),\n );\n }\n };\n\n const onResizeEnd = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n onResizeStop(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n );\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n\n const itemPositionerStyle = useMemo(() => ({\n height: Math.round(stateHeight * zoom),\n left: Math.round(stateLeft * zoom),\n pointerEvents: 'none',\n position: 'absolute',\n top: Math.round(stateTop * zoom),\n touchAction: 'none',\n width: Math.round(stateWidth * zoom),\n }), [stateHeight, stateLeft, stateTop, stateWidth, zoom]);\n\n const size = useMemo(() => ({\n height: Math.round(stateHeight * zoom),\n width: Math.round(stateWidth * zoom),\n }), [stateHeight, stateWidth, zoom]);\n\n const openSettings = useCallback(() => {\n setActiveElement(item.id);\n setIsRightPanelOpen(true);\n }, [item.id, setIsRightPanelOpen, setActiveElement]);\n\n const { isLocked } = item;\n\n if (isDragging || !isSelected) return null;\n return createPortal(\n <ItemPositioner\n style={itemPositionerStyle}\n >\n <ResizableWithClickOutside\n className={classNames(\n 'reportItemResizer',\n { hideVerticalHandle: !(item.height > 50) },\n { hideHorizontalHandle: !(item.width > 50) },\n )}\n enable={!item.isLocked && enableResize}\n exceptionalClasses={exceptionalClasses}\n lockAspectRatio={lockAspectRatioTypes.includes(item.itemType) || lockAspectRatio}\n onClickOutside={onClickOutside}\n onResize={onResizeRAF}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeEnd}\n size={size}\n {...resizeStaticProps}\n withClickOutsideWrapperClass={`reportItemResizer-wrapper${isLocked ? ' isLocked' : ''}`}\n />\n <DraggableItemActions\n changeLockStatus={changeLockStatus}\n deleteItem={deleteItem}\n duplicateItem={duplicateItem}\n isLocked={item.isLocked}\n isMultipleItemSelected={isMultipleItemSelected}\n openSettings={openSettings}\n />\n <TextEditorToolbar\n isTextEditorOpen={isTextEditorOpen}\n itemWidth={stateWidth * zoom}\n />\n </ItemPositioner>,\n document.querySelector(`.jfReport-page[data-id=\"${pageID}\"]`),\n );\n};\n\nexport default PageItemResizer;\n"],"names":["ResizableWithClickOutside","withClickOutside","Resizable","enableResize","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","lockAspectRatioTypes","exceptionalClasses","PageItemResizer","changeLockStatus","deleteItem","duplicateItem","isDragging","item","onClickOutside","onResize","onResizeStop","pageID","stateHeight","stateLeft","stateTop","stateWidth","zoom","useBuilderStore","state","setIsRightPanelOpen","setActiveElement","activeElement","isTextEditorOpen","isSelected","isSelectedItem","id","isMultipleItemSelected","length","requestRef","useRef","useState","lockAspectRatio","setLockAspectRatio","handleKeyUp","e","shiftKey","handleKeyDown","seriousResize","deltaWidth","deltaHeight","direction","current","undefined","onResizeStart","preventDefault","window","addEventListener","onResizeRAF","ref","height","width","global","requestAnimationFrame","Math","round","onResizeEnd","removeEventListener","itemPositionerStyle","useMemo","pointerEvents","position","touchAction","size","openSettings","useCallback","isLocked","createPortal","_jsxs","_jsx","classNames","hideVerticalHandle","hideHorizontalHandle","includes","itemType","resizeStaticProps","TextEditorToolbar","document","querySelector"],"mappings":"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"}
@@ -169,11 +169,9 @@ var SortablePageList = function SortablePageList() {
169
169
  ref: virtuosoRef,
170
170
  fixedItemHeight: 127,
171
171
  itemContent: function itemContent(index) {
172
- var page = pageGetter(index);
173
- if (!page) return null;
174
172
  return /*#__PURE__*/jsxRuntime.jsx(SortablePageItemRenderer, {
175
173
  data: itemData,
176
- id: page.id,
174
+ id: index.toString(),
177
175
  index: index,
178
176
  style: {
179
177
  height: 127