@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,33 +1,13 @@
1
- import 'core-js/modules/es.array.concat.js';
2
- import 'core-js/modules/es.array.find.js';
3
- import 'core-js/modules/es.array.find-index.js';
4
1
  import 'core-js/modules/es.array.map.js';
5
- import 'core-js/modules/es.array.slice.js';
6
- import 'core-js/modules/es.object.keys.js';
7
- import 'core-js/modules/web.dom-collections.for-each.js';
8
- import { memo } from 'react';
2
+ import { memo, useMemo, useCallback } from 'react';
9
3
  import PropTypes from 'prop-types';
10
- import memoizeOne from 'memoize-one';
11
- import { useDragLayer } from 'react-dnd';
12
4
  import ReportItemRenderer from '../Builder/ReportItemRenderer.js';
13
- import { calculateGuidePositions, proximityListener } from '../../utils/functions.js';
5
+ import { getCorrectDroppedOffsetValue, getMatchesForItem, getCoordinatesFromMatches } from '../../utils/functions.js';
14
6
  import ItemPositioner from '../ItemPositioner.js';
15
7
  import { useBuilderStore } from '../../contexts/BuilderContext.js';
16
8
  import { usePropStore } from '../../contexts/PropContext.js';
17
- import getMergedItem from '../../utils/getMergedItem.js';
18
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
19
-
20
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
21
-
22
- 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."); }
23
-
24
- 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); }
25
-
26
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
27
-
28
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
29
-
30
- 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; }
9
+ import { useActiveElement } from '../../utils/hooks.js';
10
+ import { jsx } from 'react/jsx-runtime';
31
11
 
32
12
  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; }
33
13
 
@@ -35,129 +15,26 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
35
15
 
36
16
  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; }
37
17
 
38
- var layerStyles = function layerStyles(_ref) {
39
- var x = _ref.x,
40
- y = _ref.y;
41
- return {
42
- left: x,
43
- pointerEvents: 'none',
44
- position: 'fixed',
45
- top: y,
46
- zIndex: 100
47
- };
48
- };
49
-
50
- var getDraggedItem = function getDraggedItem(_ref2, item) {
51
- var _ref2$defaultItem = _ref2.defaultItem,
52
- defaultItem = _ref2$defaultItem === void 0 ? {} : _ref2$defaultItem,
53
- details = _ref2.details;
18
+ var getDraggedItem = function getDraggedItem(_ref, item) {
19
+ var _ref$defaultItem = _ref.defaultItem,
20
+ defaultItem = _ref$defaultItem === void 0 ? {} : _ref$defaultItem,
21
+ details = _ref.details;
54
22
  return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, defaultItem), details), item), {}, {
55
23
  id: 'temp'
56
24
  });
57
25
  };
58
26
 
59
- var getMemoizedDraggedItem = memoizeOne(getDraggedItem);
60
- var getAdditionalItems = memoizeOne(function (activeElems, __itemId, _pages, _acceptedItems) {
61
- if (activeElems === null || activeElems.length === 1) return [];
62
- var index = activeElems.findIndex(function (aE) {
63
- return aE === __itemId;
64
- });
65
- var act = [].concat(_toConsumableArray(activeElems.slice(0, index)), _toConsumableArray(activeElems.slice(index + 1)));
66
- var items = act.map(function (_i) {
67
- var _item = _pages.reduce(function (acc, curr) {
68
- if (acc) {
69
- return acc;
70
- }
71
-
72
- return curr.items.find(function (el) {
73
- return el.id === _i;
74
- });
75
- }, undefined);
76
-
77
- var defItem = _acceptedItems[_item.itemType] && _acceptedItems[_item.itemType].defaultItem;
78
- return _objectSpread(_objectSpread({}, defItem), _item);
79
- });
80
- return items;
81
- });
82
-
83
- function getItemStyles(initialOffset, currentOffset, ref, pageGuides, item, zoom) {
84
- if (ref.current) {
85
- var dropTargetPosition = ref.current.getBoundingClientRect();
86
- var finalX = currentOffset.x,
87
- finalY = currentOffset.y;
88
- var initialX = initialOffset.x,
89
- initialY = initialOffset.y;
90
- var newYposition = finalY > initialY ? initialY + (finalY - initialY) - dropTargetPosition.top : initialY - (initialY - finalY) - dropTargetPosition.top;
91
- var newXposition = finalX > initialX ? initialX + (finalX - initialX) - dropTargetPosition.left : initialX - (initialX - finalX) - dropTargetPosition.left;
92
-
93
- var newItem = _objectSpread(_objectSpread({}, item), {}, {
94
- left: newXposition / zoom,
95
- top: newYposition / zoom
96
- });
97
-
98
- var _guides = _objectSpread(_objectSpread({}, pageGuides), {}, _defineProperty({}, item.id, _objectSpread(_objectSpread({}, pageGuides[item.id]), {}, {
99
- x: calculateGuidePositions(newItem, 'x', zoom),
100
- y: calculateGuidePositions(newItem, 'y', zoom)
101
- })));
102
-
103
- var match = proximityListener(item.id, _guides);
104
- var newActiveBoxLeft = newXposition;
105
- var newActiveBoxTop = newYposition;
106
- var haveMatch = Object.keys(match).length > 0;
107
- var haveXMatch = haveMatch && match.x;
108
- var haveYMatch = haveMatch && match.y;
109
- Object.keys(match).forEach(function (axis) {
110
- var _match$axis = match[axis],
111
- activeBoxGuides = _match$axis.activeBoxGuides,
112
- matchedArray = _match$axis.matchedArray,
113
- proximity = _match$axis.proximity;
114
- var activeBoxProximityIndex = proximity.activeBoxIndex;
115
- var matchedBoxProximityIndex = proximity.matchedBoxIndex;
116
-
117
- if (axis === 'x') {
118
- if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
119
- newActiveBoxLeft = newItem.left - proximity.value;
120
- } else {
121
- newActiveBoxLeft = newItem.left + proximity.value;
122
- }
123
- } else if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
124
- newActiveBoxTop = newItem.top - proximity.value;
125
- } else {
126
- newActiveBoxTop = newItem.top + proximity.value;
127
- }
128
- });
129
- return {
130
- x: newActiveBoxLeft * (haveXMatch ? zoom : 1) + dropTargetPosition.left,
131
- y: newActiveBoxTop * (haveYMatch ? zoom : 1) + dropTargetPosition.top
132
- };
133
- }
134
- }
135
-
136
- var DraggableItemLayer = function DraggableItemLayer(_ref3) {
137
- var _ref3$guides = _ref3.guides,
138
- guides = _ref3$guides === void 0 ? {} : _ref3$guides,
139
- _ref3$pageRefs = _ref3.pageRefs,
140
- pageRefs = _ref3$pageRefs === void 0 ? {} : _ref3$pageRefs,
141
- _ref3$pages = _ref3.pages,
142
- pages = _ref3$pages === void 0 ? [] : _ref3$pages;
143
-
144
- var _useDragLayer = useDragLayer(function (monitor) {
145
- return {
146
- currentOffset: monitor.getSourceClientOffset(),
147
- initialOffset: monitor.getInitialSourceClientOffset(),
148
- isDragging: monitor.isDragging(),
149
- item: monitor.getItem(),
150
- itemType: monitor.getItemType()
151
- };
152
- }),
153
- currentOffset = _useDragLayer.currentOffset,
154
- initialOffset = _useDragLayer.initialOffset,
155
- isDragging = _useDragLayer.isDragging,
156
- item = _useDragLayer.item;
157
-
158
- var activeElement = useBuilderStore(function (state) {
159
- return state.activeElement;
160
- });
27
+ var DraggableItemLayer = function DraggableItemLayer(_ref2) {
28
+ var _ref2$collectedProps = _ref2.collectedProps,
29
+ collectedProps = _ref2$collectedProps === void 0 ? {} : _ref2$collectedProps,
30
+ _ref2$guides = _ref2.guides,
31
+ guides = _ref2$guides === void 0 ? {} : _ref2$guides,
32
+ _ref2$pageRefs = _ref2.pageRefs,
33
+ pageRefs = _ref2$pageRefs === void 0 ? {} : _ref2$pageRefs;
34
+ var currentOffset = collectedProps.currentOffset,
35
+ initialOffset = collectedProps.initialOffset,
36
+ isDragging = collectedProps.isDragging,
37
+ item = collectedProps.item;
161
38
  var zoom = useBuilderStore(function (state) {
162
39
  return state.zoom;
163
40
  });
@@ -167,112 +44,112 @@ var DraggableItemLayer = function DraggableItemLayer(_ref3) {
167
44
  var itemAccessor = usePropStore(function (state) {
168
45
  return state.itemAccessor;
169
46
  });
47
+ var referenceItem = useMemo(function () {
48
+ var _item = item.id ? item : getDraggedItem(acceptedItems[item.itemType], item); // for a element that is dragging to the left panel
49
+
170
50
 
171
- if (!currentOffset || !isDragging) {
172
- return null;
173
- }
51
+ if (!_item.pageID) {
52
+ var element = document.elementFromPoint(currentOffset.x, currentOffset.y);
174
53
 
175
- var draggedItem = pages.reduce(function (acc, curr) {
176
- if (acc) {
177
- return acc;
54
+ if (element && element.closest('.jfReport-page')) {
55
+ var _pageID = element.closest('.jfReport-page').getAttribute('data-id');
56
+
57
+ return _objectSpread(_objectSpread({}, _item), {}, {
58
+ pageID: _pageID
59
+ });
60
+ }
178
61
  }
179
62
 
180
- return curr.items.find(function (el) {
181
- return el.id === item.id;
182
- });
183
- }, undefined);
184
- var pageID;
63
+ return _item;
64
+ }, [item, acceptedItems, currentOffset.x, currentOffset.y]);
65
+ var pageID = referenceItem.pageID;
66
+ var refCoords = useMemo(function () {
67
+ if (pageID) {
68
+ var dropTargetPosition = pageRefs[pageID].current.getBoundingClientRect();
69
+ var coords = getCorrectDroppedOffsetValue(currentOffset, initialOffset, dropTargetPosition, zoom);
185
70
 
186
- if (draggedItem) {
187
- pageID = draggedItem.pageID;
188
- } else {
189
- draggedItem = getMemoizedDraggedItem(acceptedItems[item.itemType], item);
190
- }
71
+ var newItem = _objectSpread(_objectSpread({}, referenceItem), coords);
191
72
 
192
- var element = document.elementFromPoint(currentOffset.x, currentOffset.y);
73
+ var newMatches = getMatchesForItem(newItem, guides, zoom);
193
74
 
194
- if (element && element.closest('.jfReport-page')) {
195
- // add polyfill if will we use that one
196
- pageID = element.closest('.jfReport-page').getAttribute('data-id');
75
+ var _getCoordinatesFromMa = getCoordinatesFromMatches(newItem, newMatches),
76
+ left = _getCoordinatesFromMa.left,
77
+ top = _getCoordinatesFromMa.top;
197
78
 
198
- if (!draggedItem.pageID) {
199
- draggedItem.pageID = pageID;
79
+ return {
80
+ x: left * zoom + dropTargetPosition.left,
81
+ y: top * zoom + dropTargetPosition.top
82
+ };
200
83
  }
201
- }
202
84
 
203
- var ref = pageRefs[pageID];
204
- var itemStyle = {}; // No page
205
-
206
- if (!ref || !ref.current) {
207
- itemStyle = {
85
+ return {
208
86
  x: currentOffset.x,
209
87
  y: currentOffset.y
210
88
  };
211
- } else {
212
- // In the page
213
- var pageGuides = guides[pageID];
214
- itemStyle = getItemStyles(initialOffset, currentOffset, pageRefs[pageID], pageGuides, draggedItem, zoom);
215
- }
216
-
217
- var additionalitems = getAdditionalItems(activeElement, draggedItem.id, pages, acceptedItems);
218
- var mergedItem = getMergedItem(draggedItem, acceptedItems);
219
- return /*#__PURE__*/jsxs(Fragment, {
220
- children: [/*#__PURE__*/jsx(ItemPositioner, {
221
- classNames: "reportItem".concat(isDragging ? ' isDraggingLayerElement' : ''),
222
- style: _objectSpread(_objectSpread({}, layerStyles(itemStyle)), {}, {
223
- cursor: isDragging ? 'grabbing' : 'pointer',
224
- height: draggedItem.height,
225
- outlineColor: '#4277ff',
226
- transform: "scale(".concat(zoom, ")"),
227
- transformOrigin: '0 0',
228
- width: draggedItem.width
229
- }),
89
+ }, [currentOffset, initialOffset, referenceItem, pageID, pageRefs, zoom, guides]);
90
+ var getItemStyle = useCallback(function (_ref3, _ref4) {
91
+ var x = _ref3.x,
92
+ y = _ref3.y;
93
+ var height = _ref4.height,
94
+ width = _ref4.width;
95
+ return {
96
+ cursor: 'grabbing',
97
+ height: height,
98
+ left: x,
99
+ outlineColor: '#4277ff',
100
+ pointerEvents: 'none',
101
+ position: 'fixed',
102
+ top: y,
103
+ transform: "scale(".concat(zoom, ")"),
104
+ transformOrigin: '0 0',
105
+ width: width,
106
+ zIndex: 100
107
+ };
108
+ }, [zoom]);
109
+ var activeItems = useActiveElement();
110
+ var hasActiveItems = activeItems !== null && activeItems.length > 0; // for a element is added from the left panel
111
+
112
+ var activeElements = hasActiveItems ? activeItems : [referenceItem];
113
+ return activeElements.map(function (activeItem) {
114
+ var coords = hasActiveItems ? {
115
+ x: refCoords.x - (referenceItem.left - activeItem.left) * zoom,
116
+ y: refCoords.y - (referenceItem.top - activeItem.top) * zoom
117
+ } : refCoords;
118
+ var exactItem = hasActiveItems ? activeItem : referenceItem;
119
+ return /*#__PURE__*/jsx(ItemPositioner, {
120
+ classNames: "reportItem isDraggingLayerElement",
121
+ style: getItemStyle(coords, exactItem),
230
122
  children: /*#__PURE__*/jsx(ReportItemRenderer, {
231
- item: draggedItem,
123
+ item: exactItem,
232
124
  children: function children(ReportItem) {
233
125
  return /*#__PURE__*/jsx(ReportItem, {
234
126
  isDragging: isDragging,
235
- item: mergedItem,
127
+ item: exactItem,
236
128
  itemAccessor: itemAccessor,
237
129
  zoom: zoom
238
130
  });
239
131
  }
240
132
  })
241
- }), additionalitems.map(function (ii) {
242
- var __itemStyle = {
243
- x: itemStyle.x - (draggedItem.left - ii.left) * zoom,
244
- y: itemStyle.y - (draggedItem.top - ii.top) * zoom
245
- };
246
- return /*#__PURE__*/jsx(ItemPositioner, {
247
- classNames: "reportItem".concat(isDragging ? ' isDraggingLayerElement' : ''),
248
- style: _objectSpread(_objectSpread({}, layerStyles(__itemStyle)), {}, {
249
- cursor: isDragging ? 'grabbing' : 'pointer',
250
- height: ii.height,
251
- outlineColor: '#4277ff',
252
- transform: "scale(".concat(zoom, ")"),
253
- transformOrigin: '0 0',
254
- width: ii.width
255
- }),
256
- children: /*#__PURE__*/jsx(ReportItemRenderer, {
257
- item: ii,
258
- children: function children(ReportItem) {
259
- return /*#__PURE__*/jsx(ReportItem, {
260
- isDragging: isDragging,
261
- item: ii,
262
- itemAccessor: itemAccessor,
263
- zoom: zoom
264
- });
265
- }
266
- })
267
- }, ii.id);
268
- })]
133
+ }, item.id);
269
134
  });
270
135
  };
271
136
 
272
137
  DraggableItemLayer.propTypes = {
138
+ collectedProps: PropTypes.shape({
139
+ currentOffset: PropTypes.shape({
140
+ x: PropTypes.number,
141
+ y: PropTypes.number
142
+ }),
143
+ initialOffset: PropTypes.shape({
144
+ x: PropTypes.number,
145
+ y: PropTypes.number
146
+ }),
147
+ isDragging: PropTypes.bool,
148
+ item: PropTypes.shape({}),
149
+ itemType: PropTypes.string
150
+ }),
273
151
  guides: PropTypes.shape({}),
274
- pageRefs: PropTypes.shape({}),
275
- pages: PropTypes.arrayOf(PropTypes.shape({}))
152
+ pageRefs: PropTypes.shape({})
276
153
  };
277
154
  var DraggableItemLayer$1 = /*#__PURE__*/memo(DraggableItemLayer);
278
155
 
@@ -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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"}
@@ -8,6 +8,8 @@ import CustomToolbarWrapper from './TextEditor/CustomToolbar/CustomToolbarWrappe
8
8
  import DraggableItemActions from './DraggableItem/DraggableItemActions.js';
9
9
  import ItemPositioner from './ItemPositioner.js';
10
10
  import withClickOutside from './withClickOutside.js';
11
+ import { useBuilderStore } from '../contexts/BuilderContext.js';
12
+ import { isSelectedItem } from '../utils/functions.js';
11
13
  import { jsxs, jsx } from 'react/jsx-runtime';
12
14
 
13
15
  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; }
@@ -46,21 +48,32 @@ var PageItemResizer = function PageItemResizer(_ref) {
46
48
  deleteItem = _ref.deleteItem,
47
49
  duplicateItem = _ref.duplicateItem,
48
50
  isDragging = _ref.isDragging,
49
- isMultipleItemSelected = _ref.isMultipleItemSelected,
50
- isSelectedElement = _ref.isSelectedElement,
51
- isTextEditorOpen = _ref.isTextEditorOpen,
52
51
  item = _ref.item,
53
52
  onClickOutside = _ref.onClickOutside,
54
53
  onResize = _ref.onResize,
55
54
  onResizeStop = _ref.onResizeStop,
56
55
  pageID = _ref.pageID,
57
- setActiveElement = _ref.setActiveElement,
58
- setIsRightPanelOpen = _ref.setIsRightPanelOpen,
59
56
  stateHeight = _ref.stateHeight,
60
57
  stateLeft = _ref.stateLeft,
61
58
  stateTop = _ref.stateTop,
62
- stateWidth = _ref.stateWidth,
63
- zoom = _ref.zoom;
59
+ stateWidth = _ref.stateWidth;
60
+ var zoom = useBuilderStore(function (state) {
61
+ return state.zoom;
62
+ });
63
+ var setIsRightPanelOpen = useBuilderStore(function (state) {
64
+ return state.setIsRightPanelOpen;
65
+ });
66
+ var setActiveElement = useBuilderStore(function (state) {
67
+ return state.setActiveElement;
68
+ });
69
+ var activeElement = useBuilderStore(function (state) {
70
+ return state.activeElement;
71
+ });
72
+ var isTextEditorOpen = useBuilderStore(function (state) {
73
+ return state.isTextEditorOpen;
74
+ });
75
+ var isSelected = isSelectedItem(item.id, activeElement);
76
+ var isMultipleItemSelected = activeElement !== null && activeElement.length > 1;
64
77
  var requestRef = useRef();
65
78
 
66
79
  var _useState = useState(false),
@@ -128,7 +141,7 @@ var PageItemResizer = function PageItemResizer(_ref) {
128
141
  setIsRightPanelOpen(true);
129
142
  }, [item.id, setIsRightPanelOpen, setActiveElement]);
130
143
  var isLocked = item.isLocked;
131
- if (isDragging || !isSelectedElement) return null;
144
+ if (isDragging || !isSelected) return null;
132
145
  return /*#__PURE__*/createPortal( /*#__PURE__*/jsxs(ItemPositioner, {
133
146
  style: itemPositionerStyle,
134
147
  children: [/*#__PURE__*/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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"}
@@ -162,11 +162,9 @@ var SortablePageList = function SortablePageList() {
162
162
  ref: virtuosoRef,
163
163
  fixedItemHeight: 127,
164
164
  itemContent: function itemContent(index) {
165
- var page = pageGetter(index);
166
- if (!page) return null;
167
165
  return /*#__PURE__*/jsx(SortablePageItemRenderer, {
168
166
  data: itemData,
169
- id: page.id,
167
+ id: index.toString(),
170
168
  index: index,
171
169
  style: {
172
170
  height: 127