@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 +1 @@
1
- {"version":3,"file":"SearchInput.js","sources":["../../../../src/components/Builder/SearchInput.js"],"sourcesContent":["import {\n useCallback,\n useRef,\n useState,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport SearchIcon from '../../assets/search.svg';\nimport CrossIcon from '../../assets/svg/close.svg';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst SearchInput = ({\n onSearch,\n}) => {\n const { SEARCH } = useTranslatedTexts();\n const searchInputRef = useRef(null);\n const [searchValue, setSearchValue] = useState('');\n\n const handleSearch = useCallback(e => {\n const { value } = e?.target || {};\n setSearchValue(value);\n onSearch?.(value);\n }, [onSearch]);\n\n const handleClearSearch = useCallback(() => {\n setSearchValue('');\n onSearch?.('');\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n }\n }, [onSearch]);\n\n const handleKeyDown = useCallback(e => {\n e.stopPropagation();\n if (e.key === 'Escape' && searchInputRef.current) {\n setSearchValue('');\n searchInputRef.current.blur();\n }\n }, []);\n\n return (\n <div className=\"jfReport-searchContainer\">\n <div className=\"jfReport-search p-relative\">\n <input\n ref={searchInputRef}\n className=\"js-searchInput section-search-input\"\n onChange={handleSearch}\n onKeyDown={handleKeyDown}\n placeholder={SEARCH}\n type=\"text\"\n value={searchValue}\n />\n <span\n className=\"search-icon\"\n style={{ left: '8px', position: 'absolute' }}\n >\n <SearchIcon className=\"section-search-icon\" />\n </span>\n {searchValue && (\n <button\n className=\"section-search-button search-delete\"\n onClick={handleClearSearch}\n type=\"button\"\n >\n <CrossIcon className=\"section-search-icon delete\" />\n </button>\n )}\n </div>\n </div>\n );\n};\n\nSearchInput.propTypes = {\n onSearch: PropTypes.func,\n};\n\nexport default SearchInput;\n"],"names":["SearchInput","onSearch","useTranslatedTexts","SEARCH","searchInputRef","useRef","useState","searchValue","setSearchValue","handleSearch","useCallback","e","target","value","handleClearSearch","current","focus","handleKeyDown","stopPropagation","key","blur","_jsx","_jsxs","left","position","SearchIcon","CrossIcon","propTypes","PropTypes","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;IAUMA,WAAW,GAAG,SAAdA,WAAc,OAEd;AAAA,MADJC,QACI,QADJA,QACI;;AACJ,4BAAmBC,wBAAkB,EAArC;AAAA,MAAQC,MAAR,uBAAQA,MAAR;;AACA,MAAMC,cAAc,GAAGC,YAAM,CAAC,IAAD,CAA7B;;AACA,kBAAsCC,cAAQ,CAAC,EAAD,CAA9C;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AAEA,MAAMC,YAAY,GAAGC,iBAAW,CAAC,UAAAC,CAAC,EAAI;AACpC,gBAAkB,CAAAA,CAAC,SAAD,IAAAA,CAAC,WAAD,YAAAA,CAAC,CAAEC,MAAH,KAAa,EAA/B;AAAA,QAAQC,KAAR,SAAQA,KAAR;;AACAL,IAAAA,cAAc,CAACK,KAAD,CAAd;AACAZ,IAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAGY,KAAH,CAAR;AACD,GAJ+B,EAI7B,CAACZ,QAAD,CAJ6B,CAAhC;AAMA,MAAMa,iBAAiB,GAAGJ,iBAAW,CAAC,YAAM;AAC1CF,IAAAA,cAAc,CAAC,EAAD,CAAd;AACAP,IAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAG,EAAH,CAAR;;AACA,QAAIG,cAAc,CAACW,OAAnB,EAA4B;AAC1BX,MAAAA,cAAc,CAACW,OAAf,CAAuBC,KAAvB;AACD;AACF,GANoC,EAMlC,CAACf,QAAD,CANkC,CAArC;AAQA,MAAMgB,aAAa,GAAGP,iBAAW,CAAC,UAAAC,CAAC,EAAI;AACrCA,IAAAA,CAAC,CAACO,eAAF;;AACA,QAAIP,CAAC,CAACQ,GAAF,KAAU,QAAV,IAAsBf,cAAc,CAACW,OAAzC,EAAkD;AAChDP,MAAAA,cAAc,CAAC,EAAD,CAAd;AACAJ,MAAAA,cAAc,CAACW,OAAf,CAAuBK,IAAvB;AACD;AACF,GANgC,EAM9B,EAN8B,CAAjC;AAQA,sBACEC;AAAK,IAAA,SAAS,EAAC,0BAAf;AAAA,2BACEC;AAAK,MAAA,SAAS,EAAC,4BAAf;AAAA,8BACED;AACE,QAAA,GAAG,EAAEjB,cADP;AAEE,QAAA,SAAS,EAAC,qCAFZ;AAGE,QAAA,QAAQ,EAAEK,YAHZ;AAIE,QAAA,SAAS,EAAEQ,aAJb;AAKE,QAAA,WAAW,EAAEd,MALf;AAME,QAAA,IAAI,EAAC,MANP;AAOE,QAAA,KAAK,EAAEI;AAPT,QADF,eAUEc;AACE,QAAA,SAAS,EAAC,aADZ;AAEE,QAAA,KAAK,EAAE;AAAEE,UAAAA,IAAI,EAAE,KAAR;AAAeC,UAAAA,QAAQ,EAAE;AAAzB,SAFT;AAAA,+BAIEH,eAACI,MAAD;AAAY,UAAA,SAAS,EAAC;AAAtB;AAJF,QAVF,EAgBGlB,WAAW,iBACVc;AACE,QAAA,SAAS,EAAC,qCADZ;AAEE,QAAA,OAAO,EAAEP,iBAFX;AAGE,QAAA,IAAI,EAAC,QAHP;AAAA,+BAKEO,eAACK,KAAD;AAAW,UAAA,SAAS,EAAC;AAArB;AALF,QAjBJ;AAAA;AADF,IADF;AA8BD;;AAED1B,WAAW,CAAC2B,SAAZ,GAAwB;AACtB1B,EAAAA,QAAQ,EAAE2B,6BAAS,CAACC;AADE,CAAxB;;;;"}
1
+ {"version":3,"file":"SearchInput.js","sources":["../../../../src/components/Builder/SearchInput.js"],"sourcesContent":["import {\n useCallback,\n useRef,\n useState,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport SearchIcon from '../../assets/search.svg';\nimport CrossIcon from '../../assets/svg/close.svg';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst SearchInput = ({\n onSearch,\n}) => {\n const { SEARCH } = useTranslatedTexts();\n const searchInputRef = useRef(null);\n const [searchValue, setSearchValue] = useState('');\n\n const handleSearch = useCallback(e => {\n const { value } = e?.target || {};\n setSearchValue(value);\n onSearch?.(value);\n }, [onSearch]);\n\n const handleClearSearch = useCallback(() => {\n setSearchValue('');\n onSearch?.('');\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n }\n }, [onSearch]);\n\n const handleKeyDown = useCallback(e => {\n e.stopPropagation();\n if (e.key === 'Escape' && searchInputRef.current) {\n setSearchValue('');\n searchInputRef.current.blur();\n }\n }, []);\n\n return (\n <div className=\"jfReport-searchContainer\">\n <div className=\"jfReport-search p-relative\">\n <input\n ref={searchInputRef}\n className=\"js-searchInput section-search-input\"\n onChange={handleSearch}\n onKeyDown={handleKeyDown}\n placeholder={SEARCH}\n type=\"text\"\n value={searchValue}\n />\n <span\n className=\"search-icon\"\n style={{\n left: '8px',\n position: 'absolute',\n top: '50%',\n transform: 'translateY(-40%)',\n }}\n >\n <SearchIcon className=\"section-search-icon\" />\n </span>\n {searchValue && (\n <button\n className=\"section-search-button search-delete\"\n onClick={handleClearSearch}\n type=\"button\"\n >\n <CrossIcon className=\"section-search-icon delete\" />\n </button>\n )}\n </div>\n </div>\n );\n};\n\nSearchInput.propTypes = {\n onSearch: PropTypes.func,\n};\n\nexport default SearchInput;\n"],"names":["SearchInput","onSearch","useTranslatedTexts","SEARCH","searchInputRef","useRef","useState","searchValue","setSearchValue","handleSearch","useCallback","e","target","value","handleClearSearch","current","focus","handleKeyDown","stopPropagation","key","blur","_jsx","_jsxs","left","position","top","transform","SearchIcon","CrossIcon","propTypes","PropTypes","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;IAUMA,WAAW,GAAG,SAAdA,WAAc,OAEd;AAAA,MADJC,QACI,QADJA,QACI;;AACJ,4BAAmBC,wBAAkB,EAArC;AAAA,MAAQC,MAAR,uBAAQA,MAAR;;AACA,MAAMC,cAAc,GAAGC,YAAM,CAAC,IAAD,CAA7B;;AACA,kBAAsCC,cAAQ,CAAC,EAAD,CAA9C;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AAEA,MAAMC,YAAY,GAAGC,iBAAW,CAAC,UAAAC,CAAC,EAAI;AACpC,gBAAkB,CAAAA,CAAC,SAAD,IAAAA,CAAC,WAAD,YAAAA,CAAC,CAAEC,MAAH,KAAa,EAA/B;AAAA,QAAQC,KAAR,SAAQA,KAAR;;AACAL,IAAAA,cAAc,CAACK,KAAD,CAAd;AACAZ,IAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAGY,KAAH,CAAR;AACD,GAJ+B,EAI7B,CAACZ,QAAD,CAJ6B,CAAhC;AAMA,MAAMa,iBAAiB,GAAGJ,iBAAW,CAAC,YAAM;AAC1CF,IAAAA,cAAc,CAAC,EAAD,CAAd;AACAP,IAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAG,EAAH,CAAR;;AACA,QAAIG,cAAc,CAACW,OAAnB,EAA4B;AAC1BX,MAAAA,cAAc,CAACW,OAAf,CAAuBC,KAAvB;AACD;AACF,GANoC,EAMlC,CAACf,QAAD,CANkC,CAArC;AAQA,MAAMgB,aAAa,GAAGP,iBAAW,CAAC,UAAAC,CAAC,EAAI;AACrCA,IAAAA,CAAC,CAACO,eAAF;;AACA,QAAIP,CAAC,CAACQ,GAAF,KAAU,QAAV,IAAsBf,cAAc,CAACW,OAAzC,EAAkD;AAChDP,MAAAA,cAAc,CAAC,EAAD,CAAd;AACAJ,MAAAA,cAAc,CAACW,OAAf,CAAuBK,IAAvB;AACD;AACF,GANgC,EAM9B,EAN8B,CAAjC;AAQA,sBACEC;AAAK,IAAA,SAAS,EAAC,0BAAf;AAAA,2BACEC;AAAK,MAAA,SAAS,EAAC,4BAAf;AAAA,8BACED;AACE,QAAA,GAAG,EAAEjB,cADP;AAEE,QAAA,SAAS,EAAC,qCAFZ;AAGE,QAAA,QAAQ,EAAEK,YAHZ;AAIE,QAAA,SAAS,EAAEQ,aAJb;AAKE,QAAA,WAAW,EAAEd,MALf;AAME,QAAA,IAAI,EAAC,MANP;AAOE,QAAA,KAAK,EAAEI;AAPT,QADF,eAUEc;AACE,QAAA,SAAS,EAAC,aADZ;AAEE,QAAA,KAAK,EAAE;AACLE,UAAAA,IAAI,EAAE,KADD;AAELC,UAAAA,QAAQ,EAAE,UAFL;AAGLC,UAAAA,GAAG,EAAE,KAHA;AAILC,UAAAA,SAAS,EAAE;AAJN,SAFT;AAAA,+BASEL,eAACM,MAAD;AAAY,UAAA,SAAS,EAAC;AAAtB;AATF,QAVF,EAqBGpB,WAAW,iBACVc;AACE,QAAA,SAAS,EAAC,qCADZ;AAEE,QAAA,OAAO,EAAEP,iBAFX;AAGE,QAAA,IAAI,EAAC,QAHP;AAAA,+BAKEO,eAACO,KAAD;AAAW,UAAA,SAAS,EAAC;AAArB;AALF,QAtBJ;AAAA;AADF,IADF;AAmCD;;AAED5B,WAAW,CAAC6B,SAAZ,GAAwB;AACtB5B,EAAAA,QAAQ,EAAE6B,6BAAS,CAACC;AADE,CAAxB;;;;"}
@@ -3,9 +3,7 @@
3
3
  require('core-js/modules/es.array.concat.js');
4
4
  require('core-js/modules/es.array.from.js');
5
5
  require('core-js/modules/es.array.includes.js');
6
- require('core-js/modules/es.object.keys.js');
7
6
  require('core-js/modules/es.string.iterator.js');
8
- require('core-js/modules/web.dom-collections.for-each.js');
9
7
  var React = require('react');
10
8
  var PropTypes = require('prop-types');
11
9
  var reactDnd = require('react-dnd');
@@ -52,22 +50,10 @@ var reportItemStyle = {
52
50
  var DraggableItem = function DraggableItem(_ref) {
53
51
  var _ref$children = _ref.children,
54
52
  children = _ref$children === void 0 ? null : _ref$children,
55
- _ref$guides = _ref.guides,
56
- guides = _ref$guides === void 0 ? {} : _ref$guides,
57
- _ref$isMultipleItemSe = _ref.isMultipleItemSelected,
58
- isMultipleItemSelected = _ref$isMultipleItemSe === void 0 ? false : _ref$isMultipleItemSe,
59
- _ref$isResize = _ref.isResize,
60
- isResize = _ref$isResize === void 0 ? false : _ref$isResize,
61
- _ref$isSelected = _ref.isSelected,
62
- isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
63
53
  _ref$item = _ref.item,
64
54
  _item2 = _ref$item === void 0 ? {} : _ref$item,
65
- _ref$matches = _ref.matches,
66
- matches = _ref$matches === void 0 ? {} : _ref$matches,
67
- _ref$setIsResize = _ref.setIsResize,
68
- setIsResize = _ref$setIsResize === void 0 ? function () {} : _ref$setIsResize,
69
- _ref$setMatches = _ref.setMatches,
70
- setMatches = _ref$setMatches === void 0 ? function () {} : _ref$setMatches;
55
+ handleMatches = _ref.handleMatches,
56
+ getIntersectionsFromMatches = _ref.getIntersectionsFromMatches;
71
57
 
72
58
  var height = _item2.height,
73
59
  id = _item2.id,
@@ -106,15 +92,15 @@ var DraggableItem = function DraggableItem(_ref) {
106
92
  var onItemResize = PropContext.usePropStore(function (state) {
107
93
  return state.onItemResize;
108
94
  });
95
+ var activeElement = BuilderContext.useBuilderStore(function (state) {
96
+ return state.activeElement;
97
+ });
109
98
  var setActiveElement = BuilderContext.useBuilderStore(function (state) {
110
99
  return state.setActiveElement;
111
100
  });
112
101
  var setContextMenuProps = BuilderContext.useBuilderStore(function (state) {
113
102
  return state.setContextMenuProps;
114
103
  });
115
- var zoom = BuilderContext.useBuilderStore(function (state) {
116
- return state.zoom;
117
- });
118
104
  var isTextEditorOpen = BuilderContext.useBuilderStore(function (state) {
119
105
  return state.isTextEditorOpen;
120
106
  });
@@ -124,6 +110,11 @@ var DraggableItem = function DraggableItem(_ref) {
124
110
  var setIsRightPanelOpen = BuilderContext.useBuilderStore(function (state) {
125
111
  return state.setIsRightPanelOpen;
126
112
  });
113
+ var setIsResize = BuilderContext.useBuilderStore(function (state) {
114
+ return state.setIsResize;
115
+ });
116
+ var isSelected = functions.isSelectedItem(_item2.id, activeElement);
117
+ var isMultipleItemSelected = activeElement !== null && activeElement.length > 1;
127
118
 
128
119
  var select = function select(event) {
129
120
  if (!isSelected) {
@@ -195,21 +186,19 @@ var DraggableItem = function DraggableItem(_ref) {
195
186
  }
196
187
  }, [preview]);
197
188
  React.useEffect(function () {
198
- if (!isResize) {
199
- setResizeSize(function (prev) {
200
- if (prev.left !== left || prev.top !== top || prev.width !== width || prev.height !== height) {
201
- return _objectSpread(_objectSpread({}, prev), {}, {
202
- height: height,
203
- left: left,
204
- top: top,
205
- width: width
206
- });
207
- }
189
+ setResizeSize(function (prev) {
190
+ if (prev.left !== left || prev.top !== top || prev.width !== width || prev.height !== height) {
191
+ return _objectSpread(_objectSpread({}, prev), {}, {
192
+ height: height,
193
+ left: left,
194
+ top: top,
195
+ width: width
196
+ });
197
+ }
208
198
 
209
- return prev;
210
- });
211
- }
212
- }, [left, top, width, height, isResize]);
199
+ return prev;
200
+ });
201
+ }, [left, top, width, height]);
213
202
 
214
203
  var onResizeStop = function onResizeStop(deltaWidth, deltaHeight, direction) {
215
204
  var activeItem = _objectSpread(_objectSpread({}, _item2), {}, {
@@ -219,28 +208,11 @@ var DraggableItem = function DraggableItem(_ref) {
219
208
 
220
209
  if (/left/i.test(direction)) activeItem.left = activeItem.left - deltaWidth;
221
210
  if (/top/i.test(direction)) activeItem.top = activeItem.top - deltaHeight;
222
- var newActiveBoxLeft = activeItem.left;
223
- var newActiveBoxTop = activeItem.top;
224
- Object.keys(matches).forEach(function (axis) {
225
- var _matches$axis = matches[axis],
226
- activeBoxGuides = _matches$axis.activeBoxGuides,
227
- matchedArray = _matches$axis.matchedArray,
228
- proximity = _matches$axis.proximity;
229
- var activeBoxProximityIndex = proximity.activeBoxIndex;
230
- var matchedBoxProximityIndex = proximity.matchedBoxIndex;
231
-
232
- if (axis === 'x') {
233
- if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
234
- newActiveBoxLeft = activeItem.left - proximity.value;
235
- } else {
236
- newActiveBoxLeft = activeItem.left + proximity.value;
237
- }
238
- } else if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
239
- newActiveBoxTop = activeItem.top - proximity.value;
240
- } else {
241
- newActiveBoxTop = activeItem.top + proximity.value;
242
- }
243
- });
211
+
212
+ var _getIntersectionsFrom = getIntersectionsFromMatches(activeItem),
213
+ newActiveBoxLeft = _getIntersectionsFrom.newActiveBoxLeft,
214
+ newActiveBoxTop = _getIntersectionsFrom.newActiveBoxTop;
215
+
244
216
  var newResizeSize = {
245
217
  height: activeItem.height,
246
218
  left: activeItem.left,
@@ -268,9 +240,7 @@ var DraggableItem = function DraggableItem(_ref) {
268
240
  };
269
241
 
270
242
  var onResize = function onResize(deltaWidth, deltaHeight, direction) {
271
- if (!isResize) {
272
- setIsResize(true);
273
- }
243
+ setIsResize(true);
274
244
 
275
245
  var activeItem = _objectSpread(_objectSpread({}, _item2), {}, {
276
246
  height: _item2.height + deltaHeight,
@@ -279,13 +249,7 @@ var DraggableItem = function DraggableItem(_ref) {
279
249
 
280
250
  if (/left/i.test(direction)) activeItem.left = activeItem.left - deltaWidth;
281
251
  if (/top/i.test(direction)) activeItem.top = activeItem.top - deltaHeight;
282
-
283
- var _guides = _objectSpread(_objectSpread({}, guides), {}, _defineProperty({}, _item2.id, _objectSpread(_objectSpread({}, guides[_item2.id]), {}, {
284
- x: functions.calculateGuidePositions(activeItem, 'x', zoom),
285
- y: functions.calculateGuidePositions(activeItem, 'y', zoom)
286
- })));
287
-
288
- setMatches(functions.proximityListener(_item2.id, _guides));
252
+ handleMatches(activeItem);
289
253
  setResizeSize({
290
254
  height: activeItem.height,
291
255
  left: activeItem.left,
@@ -410,31 +374,23 @@ var DraggableItem = function DraggableItem(_ref) {
410
374
  deleteItem: deleteItem,
411
375
  duplicateItem: duplicateItem,
412
376
  isDragging: isDragging,
413
- isMultipleItemSelected: isMultipleItemSelected,
414
- isSelectedElement: isSelected,
415
- isTextEditorOpen: isTextEditorOpen,
416
377
  item: _item2,
417
378
  onClickOutside: onClickOutside,
418
379
  onResize: onResize,
419
380
  onResizeStop: onResizeStop,
420
381
  pageID: pageID,
421
- setActiveElement: setActiveElement,
422
- setIsRightPanelOpen: setIsRightPanelOpen,
423
382
  stateHeight: stateHeight,
424
383
  stateLeft: stateLeft,
425
384
  stateTop: stateTop,
426
- stateWidth: stateWidth,
427
- zoom: zoom
385
+ stateWidth: stateWidth
428
386
  })]
429
387
  });
430
388
  };
431
389
 
432
390
  DraggableItem.propTypes = {
433
391
  children: PropTypes__default['default'].any,
434
- guides: PropTypes__default['default'].shape({}),
435
- isMultipleItemSelected: PropTypes__default['default'].bool,
436
- isResize: PropTypes__default['default'].bool,
437
- isSelected: PropTypes__default['default'].bool,
392
+ getIntersectionsFromMatches: PropTypes__default['default'].func,
393
+ handleMatches: PropTypes__default['default'].func,
438
394
  item: PropTypes__default['default'].shape({
439
395
  height: PropTypes__default['default'].oneOfType([PropTypes__default['default'].number, PropTypes__default['default'].string]),
440
396
  id: PropTypes__default['default'].string,
@@ -444,10 +400,7 @@ DraggableItem.propTypes = {
444
400
  pageID: PropTypes__default['default'].string,
445
401
  top: PropTypes__default['default'].oneOfType([PropTypes__default['default'].number, PropTypes__default['default'].string]),
446
402
  width: PropTypes__default['default'].oneOfType([PropTypes__default['default'].number, PropTypes__default['default'].string])
447
- }),
448
- matches: PropTypes__default['default'].shape({}),
449
- setIsResize: PropTypes__default['default'].func,
450
- setMatches: PropTypes__default['default'].func
403
+ })
451
404
  };
452
405
  var DraggableItem$1 = /*#__PURE__*/React.memo(DraggableItem);
453
406
 
@@ -1 +1 @@
1
- {"version":3,"file":"DraggableItem.js","sources":["../../../../src/components/DraggableItem/DraggableItem.js"],"sourcesContent":["import { useEffect, useState, memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrag } from 'react-dnd';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport ItemPositioner from '../ItemPositioner';\nimport { DRAGGABLE_ITEM_TYPE } from '../../constants/itemTypes';\nimport {\n getStyles,\n getPosition, calculateGuidePositions, proximityListener,\n} from '../../utils/functions';\nimport PageItemResizer from '../PageItemResizer';\nimport ErrorBoundary from '../ErrorBoundary';\nimport * as classNames from '../../constants/classNames';\nimport generateId from '../../utils/generateId';\nimport {\n addEventListenerForSidebar,\n removeEventListenerForSidebar,\n} from '../../utils/scrollZoneFunctions';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst exceptionalClassesForClickOutside = ['contextMenu-itemLabel', 'contextMenu-item'];\nconst reportItemStyle = {\n height: '100%',\n width: '100%',\n};\n\nconst DraggableItem = ({\n children = null,\n guides = {},\n isMultipleItemSelected = false,\n isResize = false,\n isSelected = false,\n item = {},\n matches = {},\n setIsResize = () => {},\n setMatches = () => {},\n}) => {\n const {\n height,\n id,\n isLocked,\n left,\n pageID,\n top,\n width,\n } = item;\n\n const [\n {\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n },\n setResizeSize,\n ] = useState({\n height,\n left,\n top,\n width,\n });\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onItemResize = usePropStore(state => state.onItemResize);\n const setActiveElement = useBuilderStore(state => state.setActiveElement);\n const setContextMenuProps = useBuilderStore(state => state.setContextMenuProps);\n const zoom = useBuilderStore(state => state.zoom);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n\n const select = event => {\n if (!isSelected) {\n if (!event || !event.metaKey) {\n if (isLocked) {\n setActiveElement(id, false);\n setIsRightPanelOpen(false);\n } else {\n setActiveElement(id);\n }\n } else {\n setActiveElement(id, undefined, true);\n }\n }\n };\n\n const canDrag = !item.isLocked && !isTextEditorOpen;\n\n const [{ isDragging }, drag, preview] = useDrag(() => ({\n canDrag: () => canDrag,\n collect: monitor => ({\n isDragging: monitor.isDragging(),\n }),\n end: (_item, monitor) => {\n const dropResult = monitor.getDropResult();\n if (dropResult && dropResult[id]) {\n const { left: dropLeft, top: dropTop } = dropResult[id];\n setResizeSize(prev => {\n return {\n height: prev.height,\n left: dropLeft,\n top: dropTop,\n width: prev.width,\n };\n });\n }\n removeEventListenerForSidebar();\n },\n isDragging: () => (isMultipleItemSelected && isSelected) || (!isMultipleItemSelected && isSelected),\n item: () => {\n select();\n addEventListenerForSidebar();\n return item;\n },\n type: DRAGGABLE_ITEM_TYPE,\n }), [\n item,\n canDrag,\n id,\n isMultipleItemSelected,\n isSelected,\n ]);\n\n useEffect(() => {\n if (preview) {\n preview(getEmptyImage(), { captureDraggingState: true });\n }\n }, [preview]);\n\n useEffect(() => {\n if (!isResize) {\n setResizeSize(prev => {\n if (prev.left !== left || prev.top !== top || prev.width !== width || prev.height !== height) {\n return {\n ...prev,\n height,\n left,\n top,\n width,\n };\n }\n\n return prev;\n });\n }\n }, [left, top, width, height, isResize]);\n\n const onResizeStop = (deltaWidth, deltaHeight, direction) => {\n const activeItem = {\n ...item,\n height: item.height + deltaHeight,\n width: item.width + deltaWidth,\n };\n if (/left/i.test(direction)) activeItem.left = activeItem.left - deltaWidth;\n if (/top/i.test(direction)) activeItem.top = activeItem.top - deltaHeight;\n let newActiveBoxLeft = activeItem.left;\n let newActiveBoxTop = activeItem.top;\n Object.keys(matches).forEach(axis => {\n const { activeBoxGuides, matchedArray, proximity } = matches[axis];\n const activeBoxProximityIndex = proximity.activeBoxIndex;\n const matchedBoxProximityIndex = proximity.matchedBoxIndex;\n if (axis === 'x') {\n if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxLeft = activeItem.left - proximity.value;\n } else {\n newActiveBoxLeft = activeItem.left + proximity.value;\n }\n } else if (activeBoxGuides[activeBoxProximityIndex]\n > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxTop = activeItem.top - proximity.value;\n } else {\n newActiveBoxTop = activeItem.top + proximity.value;\n }\n });\n\n let newResizeSize = {\n height: activeItem.height,\n left: activeItem.left,\n top: activeItem.top,\n width: activeItem.width,\n };\n\n if (!(/top/i.test(direction) && /left/i.test(direction))) {\n newResizeSize = {\n ...newResizeSize,\n height: newResizeSize.height + (newActiveBoxTop - activeItem.top),\n width: newResizeSize.width + (newActiveBoxLeft - activeItem.left),\n };\n }\n if (/top/i.test(direction) && newActiveBoxTop !== newResizeSize.top) {\n newResizeSize.top = newActiveBoxTop;\n }\n if (/left/i.test(direction) && newActiveBoxLeft !== newResizeSize.left) {\n newResizeSize.left = newActiveBoxLeft;\n }\n setIsResize(false);\n onItemResize(item, newResizeSize);\n };\n\n const onResize = (deltaWidth, deltaHeight, direction) => {\n if (!isResize) { setIsResize(true); }\n const activeItem = {\n ...item,\n height: item.height + deltaHeight,\n width: item.width + deltaWidth,\n };\n if (/left/i.test(direction)) activeItem.left = activeItem.left - deltaWidth;\n if (/top/i.test(direction)) activeItem.top = activeItem.top - deltaHeight;\n const _guides = {\n ...guides,\n [item.id]: {\n ...guides[item.id],\n x: calculateGuidePositions(activeItem, 'x', zoom),\n y: calculateGuidePositions(activeItem, 'y', zoom),\n },\n };\n setMatches(proximityListener(item.id, _guides));\n setResizeSize({\n height: activeItem.height,\n left: activeItem.left,\n top: activeItem.top,\n width: activeItem.width,\n });\n };\n\n const deleteItem = () => {\n setIsRightPanelOpen(false);\n setActiveElement(null);\n onItemRemove(item);\n onAnEventTrigger('removeItem', item.itemType);\n };\n\n const duplicateItem = () => {\n const itemID = generateId();\n onItemAdd({\n ...item,\n id: itemID,\n left: item.left + 50,\n top: item.top + 50,\n });\n onAnEventTrigger('duplicateItem', item.itemType);\n setActiveElement(itemID);\n if (!isRightPanelOpen) {\n setIsRightPanelOpen(true);\n }\n };\n\n const onClickOutside = event => {\n // clickoutside should not work for scrollbar\n const viewPort = document.querySelector('.jfReport-viewport');\n const { clientHeight, offsetHeight } = viewPort;\n const headerHeight = window.innerHeight - offsetHeight;\n if (event.clientY - headerHeight >= clientHeight\n || Array.from(event.target.classList)\n .some(xClass => exceptionalClassesForClickOutside.includes(xClass))) {\n return;\n }\n setIsRightPanelOpen(false);\n setActiveElement(null);\n };\n\n const onContextMenuClick = e => {\n if (\n e.target.contentEditable === 'true'\n || isTextEditorOpen\n ) {\n // Dont override behaviour on text edits.\n return;\n }\n\n e.preventDefault();\n onAnEventTrigger('openContextMenu', item.itemType);\n setContextMenuProps({\n id,\n pageID,\n position: getPosition(e),\n });\n };\n\n const onDoubleClick = e => {\n if (\n e.target.contentEditable === 'true'\n || isTextEditorOpen\n ) {\n // Dont override behaviour on text edits.\n return;\n }\n\n setIsRightPanelOpen(true);\n };\n\n const duplicateWithAltKey = e => {\n if (e.altKey) {\n const itemID = generateId();\n const itemToAdd = item;\n setTimeout(() => {\n onItemAdd({\n ...itemToAdd,\n id: itemID,\n left: itemToAdd.left,\n top: itemToAdd.top,\n });\n onAnEventTrigger('duplicateItem', itemToAdd.itemType);\n });\n }\n };\n\n const changeLockStatus = () => {\n onAnEventTrigger(item.isLocked ? 'unlockReportItem' : 'lockReportItem', item.itemType);\n onItemChange({ id: item.id }, { isLocked: item.isLocked ? false : true });\n if (!item.isLocked) {\n setActiveElement(item.id, false);\n setIsRightPanelOpen(false);\n }\n };\n\n return (\n <ErrorBoundary>\n <ItemPositioner\n classNames={`reportItemWrapper${isSelected ? ' isSelected' : ''}`}\n style={{\n ...getStyles(left, top, isDragging),\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }}\n >\n <div\n ref={drag}\n className={`${classNames.reportItem}${isLocked ? ' isLocked' : ''}`}\n onContextMenu={onContextMenuClick}\n onDoubleClick={onDoubleClick}\n onDragStart={duplicateWithAltKey}\n onMouseDown={select}\n style={reportItemStyle}\n >\n {children}\n </div>\n </ItemPositioner>\n <PageItemResizer\n changeLockStatus={changeLockStatus}\n deleteItem={deleteItem}\n duplicateItem={duplicateItem}\n isDragging={isDragging}\n isMultipleItemSelected={isMultipleItemSelected}\n isSelectedElement={isSelected}\n isTextEditorOpen={isTextEditorOpen}\n item={item}\n onClickOutside={onClickOutside}\n onResize={onResize}\n onResizeStop={onResizeStop}\n pageID={pageID}\n setActiveElement={setActiveElement}\n setIsRightPanelOpen={setIsRightPanelOpen}\n stateHeight={stateHeight}\n stateLeft={stateLeft}\n stateTop={stateTop}\n stateWidth={stateWidth}\n zoom={zoom}\n />\n </ErrorBoundary>\n );\n};\n\nDraggableItem.propTypes = {\n children: PropTypes.any,\n guides: PropTypes.shape({}),\n isMultipleItemSelected: PropTypes.bool,\n isResize: PropTypes.bool,\n isSelected: PropTypes.bool,\n item: PropTypes.shape({\n height: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n id: PropTypes.string,\n isLocked: PropTypes.bool,\n itemType: PropTypes.string,\n left: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n pageID: PropTypes.string,\n top: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n width: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n matches: PropTypes.shape({}),\n setIsResize: PropTypes.func,\n setMatches: PropTypes.func,\n};\n\nexport default memo(DraggableItem);\n"],"names":["exceptionalClassesForClickOutside","reportItemStyle","height","width","DraggableItem","children","guides","isMultipleItemSelected","isResize","isSelected","item","matches","setIsResize","setMatches","id","isLocked","left","pageID","top","useState","stateHeight","stateLeft","stateTop","stateWidth","setResizeSize","onAnEventTrigger","usePropStore","state","onItemAdd","onItemChange","onItemRemove","onItemResize","setActiveElement","useBuilderStore","setContextMenuProps","zoom","isTextEditorOpen","isRightPanelOpen","setIsRightPanelOpen","select","event","metaKey","undefined","canDrag","useDrag","collect","monitor","isDragging","end","_item","dropResult","getDropResult","dropLeft","dropTop","prev","removeEventListenerForSidebar","addEventListenerForSidebar","type","DRAGGABLE_ITEM_TYPE","drag","preview","useEffect","getEmptyImage","captureDraggingState","onResizeStop","deltaWidth","deltaHeight","direction","activeItem","test","newActiveBoxLeft","newActiveBoxTop","Object","keys","forEach","axis","activeBoxGuides","matchedArray","proximity","activeBoxProximityIndex","activeBoxIndex","matchedBoxProximityIndex","matchedBoxIndex","value","newResizeSize","onResize","_guides","x","calculateGuidePositions","y","proximityListener","deleteItem","itemType","duplicateItem","itemID","generateId","onClickOutside","viewPort","document","querySelector","clientHeight","offsetHeight","headerHeight","window","innerHeight","clientY","Array","from","target","classList","some","xClass","includes","onContextMenuClick","e","contentEditable","preventDefault","position","getPosition","onDoubleClick","duplicateWithAltKey","altKey","itemToAdd","setTimeout","changeLockStatus","_jsxs","_jsx","getStyles","classNames","propTypes","PropTypes","any","shape","bool","oneOfType","number","string","func","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAMA,iCAAiC,GAAG,CAAC,uBAAD,EAA0B,kBAA1B,CAA1C;AACA,IAAMC,eAAe,GAAG;AACtBC,EAAAA,MAAM,EAAE,MADc;AAEtBC,EAAAA,KAAK,EAAE;AAFe,CAAxB;;AAKA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAUhB;AAAA,2BATJC,QASI;AAAA,MATJA,QASI,8BATO,IASP;AAAA,yBARJC,MAQI;AAAA,MARJA,MAQI,4BARK,EAQL;AAAA,mCAPJC,sBAOI;AAAA,MAPJA,sBAOI,sCAPqB,KAOrB;AAAA,2BANJC,QAMI;AAAA,MANJA,QAMI,8BANO,KAMP;AAAA,6BALJC,UAKI;AAAA,MALJA,UAKI,gCALS,KAKT;AAAA,uBAJJC,IAII;AAAA,MAJJA,MAII,0BAJG,EAIH;AAAA,0BAHJC,OAGI;AAAA,MAHJA,OAGI,6BAHM,EAGN;AAAA,8BAFJC,WAEI;AAAA,MAFJA,WAEI,iCAFU,YAAM,EAEhB;AAAA,6BADJC,UACI;AAAA,MADJA,UACI,gCADS,YAAM,EACf;;AACJ,MACEX,MADF,GAQIQ,MARJ,CACER,MADF;AAAA,MAEEY,EAFF,GAQIJ,MARJ,CAEEI,EAFF;AAAA,MAGEC,QAHF,GAQIL,MARJ,CAGEK,QAHF;AAAA,MAIEC,IAJF,GAQIN,MARJ,CAIEM,IAJF;AAAA,MAKEC,MALF,GAQIP,MARJ,CAKEO,MALF;AAAA,MAMEC,GANF,GAQIR,MARJ,CAMEQ,GANF;AAAA,MAOEf,KAPF,GAQIO,MARJ,CAOEP,KAPF;;AAUA,kBAQIgB,cAAQ,CAAC;AACXjB,IAAAA,MAAM,EAANA,MADW;AAEXc,IAAAA,IAAI,EAAJA,IAFW;AAGXE,IAAAA,GAAG,EAAHA,GAHW;AAIXf,IAAAA,KAAK,EAALA;AAJW,GAAD,CARZ;AAAA;AAAA;AAAA,MAEYiB,WAFZ,eAEIlB,MAFJ;AAAA,MAGUmB,SAHV,eAGIL,IAHJ;AAAA,MAISM,QAJT,eAIIJ,GAJJ;AAAA,MAKWK,UALX,eAKIpB,KALJ;AAAA,MAOEqB,aAPF;;AAeA,MAAMC,gBAAgB,GAAGC,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,gBAAV;AAAA,GAAN,CAArC;AACA,MAAMG,SAAS,GAAGF,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,SAAV;AAAA,GAAN,CAA9B;AACA,MAAMC,YAAY,GAAGH,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACE,YAAV;AAAA,GAAN,CAAjC;AACA,MAAMC,YAAY,GAAGJ,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACG,YAAV;AAAA,GAAN,CAAjC;AACA,MAAMC,YAAY,GAAGL,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACI,YAAV;AAAA,GAAN,CAAjC;AACA,MAAMC,gBAAgB,GAAGC,8BAAe,CAAC,UAAAN,KAAK;AAAA,WAAIA,KAAK,CAACK,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAME,mBAAmB,GAAGD,8BAAe,CAAC,UAAAN,KAAK;AAAA,WAAIA,KAAK,CAACO,mBAAV;AAAA,GAAN,CAA3C;AACA,MAAMC,IAAI,GAAGF,8BAAe,CAAC,UAAAN,KAAK;AAAA,WAAIA,KAAK,CAACQ,IAAV;AAAA,GAAN,CAA5B;AACA,MAAMC,gBAAgB,GAAGH,8BAAe,CAAC,UAAAN,KAAK;AAAA,WAAIA,KAAK,CAACS,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAMC,gBAAgB,GAAGJ,8BAAe,CAAC,UAAAN,KAAK;AAAA,WAAIA,KAAK,CAACU,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAMC,mBAAmB,GAAGL,8BAAe,CAAC,UAAAN,KAAK;AAAA,WAAIA,KAAK,CAACW,mBAAV;AAAA,GAAN,CAA3C;;AAEA,MAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK,EAAI;AACtB,QAAI,CAAC/B,UAAL,EAAiB;AACf,UAAI,CAAC+B,KAAD,IAAU,CAACA,KAAK,CAACC,OAArB,EAA8B;AAC5B,YAAI1B,QAAJ,EAAc;AACZiB,UAAAA,gBAAgB,CAAClB,EAAD,EAAK,KAAL,CAAhB;AACAwB,UAAAA,mBAAmB,CAAC,KAAD,CAAnB;AACD,SAHD,MAGO;AACLN,UAAAA,gBAAgB,CAAClB,EAAD,CAAhB;AACD;AACF,OAPD,MAOO;AACLkB,QAAAA,gBAAgB,CAAClB,EAAD,EAAK4B,SAAL,EAAgB,IAAhB,CAAhB;AACD;AACF;AACF,GAbD;;AAeA,MAAMC,QAAO,GAAG,CAACjC,MAAI,CAACK,QAAN,IAAkB,CAACqB,gBAAnC;;AAEA,iBAAwCQ,gBAAO,CAAC;AAAA,WAAO;AACrDD,MAAAA,OAAO,EAAE;AAAA,eAAMA,QAAN;AAAA,OAD4C;AAErDE,MAAAA,OAAO,EAAE,iBAAAC,OAAO;AAAA,eAAK;AACnBC,UAAAA,UAAU,EAAED,OAAO,CAACC,UAAR;AADO,SAAL;AAAA,OAFqC;AAKrDC,MAAAA,GAAG,EAAE,aAACC,KAAD,EAAQH,OAAR,EAAoB;AACvB,YAAMI,UAAU,GAAGJ,OAAO,CAACK,aAAR,EAAnB;;AACA,YAAID,UAAU,IAAIA,UAAU,CAACpC,EAAD,CAA5B,EAAkC;AAChC,+BAAyCoC,UAAU,CAACpC,EAAD,CAAnD;AAAA,cAAcsC,QAAd,kBAAQpC,IAAR;AAAA,cAA6BqC,OAA7B,kBAAwBnC,GAAxB;AACAM,UAAAA,aAAa,CAAC,UAAA8B,IAAI,EAAI;AACpB,mBAAO;AACLpD,cAAAA,MAAM,EAAEoD,IAAI,CAACpD,MADR;AAELc,cAAAA,IAAI,EAAEoC,QAFD;AAGLlC,cAAAA,GAAG,EAAEmC,OAHA;AAILlD,cAAAA,KAAK,EAAEmD,IAAI,CAACnD;AAJP,aAAP;AAMD,WAPY,CAAb;AAQD;;AACDoD,QAAAA,iDAA6B;AAC9B,OAnBoD;AAoBrDR,MAAAA,UAAU,EAAE;AAAA,eAAOxC,sBAAsB,IAAIE,UAA3B,IAA2C,CAACF,sBAAD,IAA2BE,UAA5E;AAAA,OApByC;AAqBrDC,MAAAA,IAAI,EAAE,gBAAM;AACV6B,QAAAA,MAAM;AACNiB,QAAAA,8CAA0B;AAC1B,eAAO9C,MAAP;AACD,OAzBoD;AA0BrD+C,MAAAA,IAAI,EAAEC;AA1B+C,KAAP;AAAA,GAAD,EA2B3C,CACFhD,MADE,EAEFiC,QAFE,EAGF7B,EAHE,EAIFP,sBAJE,EAKFE,UALE,CA3B2C,CAA/C;AAAA;AAAA,MAASsC,UAAT,gBAASA,UAAT;AAAA,MAAuBY,IAAvB;AAAA,MAA6BC,OAA7B;;AAmCAC,EAAAA,eAAS,CAAC,YAAM;AACd,QAAID,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACE,kCAAa,EAAd,EAAkB;AAAEC,QAAAA,oBAAoB,EAAE;AAAxB,OAAlB,CAAP;AACD;AACF,GAJQ,EAIN,CAACH,OAAD,CAJM,CAAT;AAMAC,EAAAA,eAAS,CAAC,YAAM;AACd,QAAI,CAACrD,QAAL,EAAe;AACbgB,MAAAA,aAAa,CAAC,UAAA8B,IAAI,EAAI;AACpB,YAAIA,IAAI,CAACtC,IAAL,KAAcA,IAAd,IAAsBsC,IAAI,CAACpC,GAAL,KAAaA,GAAnC,IAA0CoC,IAAI,CAACnD,KAAL,KAAeA,KAAzD,IAAkEmD,IAAI,CAACpD,MAAL,KAAgBA,MAAtF,EAA8F;AAC5F,iDACKoD,IADL;AAEEpD,YAAAA,MAAM,EAANA,MAFF;AAGEc,YAAAA,IAAI,EAAJA,IAHF;AAIEE,YAAAA,GAAG,EAAHA,GAJF;AAKEf,YAAAA,KAAK,EAALA;AALF;AAOD;;AAED,eAAOmD,IAAP;AACD,OAZY,CAAb;AAaD;AACF,GAhBQ,EAgBN,CAACtC,IAAD,EAAOE,GAAP,EAAYf,KAAZ,EAAmBD,MAAnB,EAA2BM,QAA3B,CAhBM,CAAT;;AAkBA,MAAMwD,YAAY,GAAG,SAAfA,YAAe,CAACC,UAAD,EAAaC,WAAb,EAA0BC,SAA1B,EAAwC;AAC3D,QAAMC,UAAU,mCACX1D,MADW;AAEdR,MAAAA,MAAM,EAAEQ,MAAI,CAACR,MAAL,GAAcgE,WAFR;AAGd/D,MAAAA,KAAK,EAAEO,MAAI,CAACP,KAAL,GAAa8D;AAHN,MAAhB;;AAKA,QAAI,QAAQI,IAAR,CAAaF,SAAb,CAAJ,EAA6BC,UAAU,CAACpD,IAAX,GAAkBoD,UAAU,CAACpD,IAAX,GAAkBiD,UAApC;AAC7B,QAAI,OAAOI,IAAP,CAAYF,SAAZ,CAAJ,EAA4BC,UAAU,CAAClD,GAAX,GAAiBkD,UAAU,CAAClD,GAAX,GAAiBgD,WAAlC;AAC5B,QAAII,gBAAgB,GAAGF,UAAU,CAACpD,IAAlC;AACA,QAAIuD,eAAe,GAAGH,UAAU,CAAClD,GAAjC;AACAsD,IAAAA,MAAM,CAACC,IAAP,CAAY9D,OAAZ,EAAqB+D,OAArB,CAA6B,UAAAC,IAAI,EAAI;AACnC,0BAAqDhE,OAAO,CAACgE,IAAD,CAA5D;AAAA,UAAQC,eAAR,iBAAQA,eAAR;AAAA,UAAyBC,YAAzB,iBAAyBA,YAAzB;AAAA,UAAuCC,SAAvC,iBAAuCA,SAAvC;AACA,UAAMC,uBAAuB,GAAGD,SAAS,CAACE,cAA1C;AACA,UAAMC,wBAAwB,GAAGH,SAAS,CAACI,eAA3C;;AACA,UAAIP,IAAI,KAAK,GAAb,EAAkB;AAChB,YAAIC,eAAe,CAACG,uBAAD,CAAf,GAA2CF,YAAY,CAACI,wBAAD,CAA3D,EAAuF;AACrFX,UAAAA,gBAAgB,GAAGF,UAAU,CAACpD,IAAX,GAAkB8D,SAAS,CAACK,KAA/C;AACD,SAFD,MAEO;AACLb,UAAAA,gBAAgB,GAAGF,UAAU,CAACpD,IAAX,GAAkB8D,SAAS,CAACK,KAA/C;AACD;AACF,OAND,MAMO,IAAIP,eAAe,CAACG,uBAAD,CAAf,GACPF,YAAY,CAACI,wBAAD,CADT,EACqC;AAC1CV,QAAAA,eAAe,GAAGH,UAAU,CAAClD,GAAX,GAAiB4D,SAAS,CAACK,KAA7C;AACD,OAHM,MAGA;AACLZ,QAAAA,eAAe,GAAGH,UAAU,CAAClD,GAAX,GAAiB4D,SAAS,CAACK,KAA7C;AACD;AACF,KAhBD;AAkBA,QAAIC,aAAa,GAAG;AAClBlF,MAAAA,MAAM,EAAEkE,UAAU,CAAClE,MADD;AAElBc,MAAAA,IAAI,EAAEoD,UAAU,CAACpD,IAFC;AAGlBE,MAAAA,GAAG,EAAEkD,UAAU,CAAClD,GAHE;AAIlBf,MAAAA,KAAK,EAAEiE,UAAU,CAACjE;AAJA,KAApB;;AAOA,QAAI,EAAE,OAAOkE,IAAP,CAAYF,SAAZ,KAA0B,QAAQE,IAAR,CAAaF,SAAb,CAA5B,CAAJ,EAA0D;AACxDiB,MAAAA,aAAa,mCACRA,aADQ;AAEXlF,QAAAA,MAAM,EAAEkF,aAAa,CAAClF,MAAd,IAAwBqE,eAAe,GAAGH,UAAU,CAAClD,GAArD,CAFG;AAGXf,QAAAA,KAAK,EAAEiF,aAAa,CAACjF,KAAd,IAAuBmE,gBAAgB,GAAGF,UAAU,CAACpD,IAArD;AAHI,QAAb;AAKD;;AACD,QAAI,OAAOqD,IAAP,CAAYF,SAAZ,KAA0BI,eAAe,KAAKa,aAAa,CAAClE,GAAhE,EAAqE;AACnEkE,MAAAA,aAAa,CAAClE,GAAd,GAAoBqD,eAApB;AACD;;AACD,QAAI,QAAQF,IAAR,CAAaF,SAAb,KAA2BG,gBAAgB,KAAKc,aAAa,CAACpE,IAAlE,EAAwE;AACtEoE,MAAAA,aAAa,CAACpE,IAAd,GAAqBsD,gBAArB;AACD;;AACD1D,IAAAA,WAAW,CAAC,KAAD,CAAX;AACAmB,IAAAA,YAAY,CAACrB,MAAD,EAAO0E,aAAP,CAAZ;AACD,GAlDD;;AAoDA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACpB,UAAD,EAAaC,WAAb,EAA0BC,SAA1B,EAAwC;AACvD,QAAI,CAAC3D,QAAL,EAAe;AAAEI,MAAAA,WAAW,CAAC,IAAD,CAAX;AAAoB;;AACrC,QAAMwD,UAAU,mCACX1D,MADW;AAEdR,MAAAA,MAAM,EAAEQ,MAAI,CAACR,MAAL,GAAcgE,WAFR;AAGd/D,MAAAA,KAAK,EAAEO,MAAI,CAACP,KAAL,GAAa8D;AAHN,MAAhB;;AAKA,QAAI,QAAQI,IAAR,CAAaF,SAAb,CAAJ,EAA6BC,UAAU,CAACpD,IAAX,GAAkBoD,UAAU,CAACpD,IAAX,GAAkBiD,UAApC;AAC7B,QAAI,OAAOI,IAAP,CAAYF,SAAZ,CAAJ,EAA4BC,UAAU,CAAClD,GAAX,GAAiBkD,UAAU,CAAClD,GAAX,GAAiBgD,WAAlC;;AAC5B,QAAMoB,OAAO,mCACRhF,MADQ,2BAEVI,MAAI,CAACI,EAFK,kCAGNR,MAAM,CAACI,MAAI,CAACI,EAAN,CAHA;AAITyE,MAAAA,CAAC,EAAEC,iCAAuB,CAACpB,UAAD,EAAa,GAAb,EAAkBjC,IAAlB,CAJjB;AAKTsD,MAAAA,CAAC,EAAED,iCAAuB,CAACpB,UAAD,EAAa,GAAb,EAAkBjC,IAAlB;AALjB,QAAb;;AAQAtB,IAAAA,UAAU,CAAC6E,2BAAiB,CAAChF,MAAI,CAACI,EAAN,EAAUwE,OAAV,CAAlB,CAAV;AACA9D,IAAAA,aAAa,CAAC;AACZtB,MAAAA,MAAM,EAAEkE,UAAU,CAAClE,MADP;AAEZc,MAAAA,IAAI,EAAEoD,UAAU,CAACpD,IAFL;AAGZE,MAAAA,GAAG,EAAEkD,UAAU,CAAClD,GAHJ;AAIZf,MAAAA,KAAK,EAAEiE,UAAU,CAACjE;AAJN,KAAD,CAAb;AAMD,GAxBD;;AA0BA,MAAMwF,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvBrD,IAAAA,mBAAmB,CAAC,KAAD,CAAnB;AACAN,IAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACAF,IAAAA,YAAY,CAACpB,MAAD,CAAZ;AACAe,IAAAA,gBAAgB,CAAC,YAAD,EAAef,MAAI,CAACkF,QAApB,CAAhB;AACD,GALD;;AAOA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1B,QAAMC,MAAM,GAAGC,UAAU,EAAzB;AACAnE,IAAAA,SAAS,iCACJlB,MADI;AAEPI,MAAAA,EAAE,EAAEgF,MAFG;AAGP9E,MAAAA,IAAI,EAAEN,MAAI,CAACM,IAAL,GAAY,EAHX;AAIPE,MAAAA,GAAG,EAAER,MAAI,CAACQ,GAAL,GAAW;AAJT,OAAT;AAMAO,IAAAA,gBAAgB,CAAC,eAAD,EAAkBf,MAAI,CAACkF,QAAvB,CAAhB;AACA5D,IAAAA,gBAAgB,CAAC8D,MAAD,CAAhB;;AACA,QAAI,CAACzD,gBAAL,EAAuB;AACrBC,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;AACF,GAbD;;AAeA,MAAM0D,cAAc,GAAG,SAAjBA,cAAiB,CAAAxD,KAAK,EAAI;AAC9B;AACA,QAAMyD,QAAQ,GAAGC,QAAQ,CAACC,aAAT,CAAuB,oBAAvB,CAAjB;AACA,QAAQC,YAAR,GAAuCH,QAAvC,CAAQG,YAAR;AAAA,QAAsBC,YAAtB,GAAuCJ,QAAvC,CAAsBI,YAAtB;AACA,QAAMC,YAAY,GAAGC,MAAM,CAACC,WAAP,GAAqBH,YAA1C;;AACA,QAAI7D,KAAK,CAACiE,OAAN,GAAgBH,YAAhB,IAAgCF,YAAhC,IACGM,KAAK,CAACC,IAAN,CAAWnE,KAAK,CAACoE,MAAN,CAAaC,SAAxB,EACAC,IADA,CACK,UAAAC,MAAM;AAAA,aAAI/G,iCAAiC,CAACgH,QAAlC,CAA2CD,MAA3C,CAAJ;AAAA,KADX,CADP,EAE2E;AACzE;AACD;;AACDzE,IAAAA,mBAAmB,CAAC,KAAD,CAAnB;AACAN,IAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACD,GAZD;;AAcA,MAAMiF,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,CAAC,EAAI;AAC9B,QACEA,CAAC,CAACN,MAAF,CAASO,eAAT,KAA6B,MAA7B,IACG/E,gBAFL,EAGE;AACA;AACA;AACD;;AAED8E,IAAAA,CAAC,CAACE,cAAF;AACA3F,IAAAA,gBAAgB,CAAC,iBAAD,EAAoBf,MAAI,CAACkF,QAAzB,CAAhB;AACA1D,IAAAA,mBAAmB,CAAC;AAClBpB,MAAAA,EAAE,EAAFA,EADkB;AAElBG,MAAAA,MAAM,EAANA,MAFkB;AAGlBoG,MAAAA,QAAQ,EAAEC,qBAAW,CAACJ,CAAD;AAHH,KAAD,CAAnB;AAKD,GAhBD;;AAkBA,MAAMK,aAAa,GAAG,SAAhBA,aAAgB,CAAAL,CAAC,EAAI;AACzB,QACEA,CAAC,CAACN,MAAF,CAASO,eAAT,KAA6B,MAA7B,IACG/E,gBAFL,EAGE;AACA;AACA;AACD;;AAEDE,IAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD,GAVD;;AAYA,MAAMkF,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAN,CAAC,EAAI;AAC/B,QAAIA,CAAC,CAACO,MAAN,EAAc;AACZ,UAAM3B,MAAM,GAAGC,UAAU,EAAzB;AACA,UAAM2B,SAAS,GAAGhH,MAAlB;AACAiH,MAAAA,UAAU,CAAC,YAAM;AACf/F,QAAAA,SAAS,iCACJ8F,SADI;AAEP5G,UAAAA,EAAE,EAAEgF,MAFG;AAGP9E,UAAAA,IAAI,EAAE0G,SAAS,CAAC1G,IAHT;AAIPE,UAAAA,GAAG,EAAEwG,SAAS,CAACxG;AAJR,WAAT;AAMAO,QAAAA,gBAAgB,CAAC,eAAD,EAAkBiG,SAAS,CAAC9B,QAA5B,CAAhB;AACD,OARS,CAAV;AASD;AACF,GAdD;;AAgBA,MAAMgC,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC7BnG,IAAAA,gBAAgB,CAACf,MAAI,CAACK,QAAL,GAAgB,kBAAhB,GAAqC,gBAAtC,EAAwDL,MAAI,CAACkF,QAA7D,CAAhB;AACA/D,IAAAA,YAAY,CAAC;AAAEf,MAAAA,EAAE,EAAEJ,MAAI,CAACI;AAAX,KAAD,EAAkB;AAAEC,MAAAA,QAAQ,EAAEL,MAAI,CAACK,QAAL,GAAgB,KAAhB,GAAwB;AAApC,KAAlB,CAAZ;;AACA,QAAI,CAACL,MAAI,CAACK,QAAV,EAAoB;AAClBiB,MAAAA,gBAAgB,CAACtB,MAAI,CAACI,EAAN,EAAU,KAAV,CAAhB;AACAwB,MAAAA,mBAAmB,CAAC,KAAD,CAAnB;AACD;AACF,GAPD;;AASA,sBACEuF,gBAAC,aAAD;AAAA,4BACEC,eAAC,cAAD;AACE,MAAA,UAAU,6BAAsBrH,UAAU,GAAG,aAAH,GAAmB,EAAnD,CADZ;AAEE,MAAA,KAAK,kCACAsH,mBAAS,CAAC/G,IAAD,EAAOE,GAAP,EAAY6B,UAAZ,CADT;AAEH7C,QAAAA,MAAM,EAAEkB,WAFL;AAGHJ,QAAAA,IAAI,EAAEK,SAHH;AAIHH,QAAAA,GAAG,EAAEI,QAJF;AAKHnB,QAAAA,KAAK,EAAEoB;AALJ,QAFP;AAAA,6BAUEuG;AACE,QAAA,GAAG,EAAEnE,IADP;AAEE,QAAA,SAAS,YAAKqE,qBAAL,SAA6BjH,QAAQ,GAAG,WAAH,GAAiB,EAAtD,CAFX;AAGE,QAAA,aAAa,EAAEkG,kBAHjB;AAIE,QAAA,aAAa,EAAEM,aAJjB;AAKE,QAAA,WAAW,EAAEC,mBALf;AAME,QAAA,WAAW,EAAEjF,MANf;AAOE,QAAA,KAAK,EAAEtC,eAPT;AAAA,kBASGI;AATH;AAVF,MADF,eAuBEyH,eAAC,eAAD;AACE,MAAA,gBAAgB,EAAEF,gBADpB;AAEE,MAAA,UAAU,EAAEjC,UAFd;AAGE,MAAA,aAAa,EAAEE,aAHjB;AAIE,MAAA,UAAU,EAAE9C,UAJd;AAKE,MAAA,sBAAsB,EAAExC,sBAL1B;AAME,MAAA,iBAAiB,EAAEE,UANrB;AAOE,MAAA,gBAAgB,EAAE2B,gBAPpB;AAQE,MAAA,IAAI,EAAE1B,MARR;AASE,MAAA,cAAc,EAAEsF,cATlB;AAUE,MAAA,QAAQ,EAAEX,QAVZ;AAWE,MAAA,YAAY,EAAErB,YAXhB;AAYE,MAAA,MAAM,EAAE/C,MAZV;AAaE,MAAA,gBAAgB,EAAEe,gBAbpB;AAcE,MAAA,mBAAmB,EAAEM,mBAdvB;AAeE,MAAA,WAAW,EAAElB,WAff;AAgBE,MAAA,SAAS,EAAEC,SAhBb;AAiBE,MAAA,QAAQ,EAAEC,QAjBZ;AAkBE,MAAA,UAAU,EAAEC,UAlBd;AAmBE,MAAA,IAAI,EAAEY;AAnBR,MAvBF;AAAA,IADF;AA+CD,CApVD;;AAsVA/B,aAAa,CAAC6H,SAAd,GAA0B;AACxB5H,EAAAA,QAAQ,EAAE6H,6BAAS,CAACC,GADI;AAExB7H,EAAAA,MAAM,EAAE4H,6BAAS,CAACE,KAAV,CAAgB,EAAhB,CAFgB;AAGxB7H,EAAAA,sBAAsB,EAAE2H,6BAAS,CAACG,IAHV;AAIxB7H,EAAAA,QAAQ,EAAE0H,6BAAS,CAACG,IAJI;AAKxB5H,EAAAA,UAAU,EAAEyH,6BAAS,CAACG,IALE;AAMxB3H,EAAAA,IAAI,EAAEwH,6BAAS,CAACE,KAAV,CAAgB;AACpBlI,IAAAA,MAAM,EAAEgI,6BAAS,CAACI,SAAV,CAAoB,CAC1BJ,6BAAS,CAACK,MADgB,EAE1BL,6BAAS,CAACM,MAFgB,CAApB,CADY;AAKpB1H,IAAAA,EAAE,EAAEoH,6BAAS,CAACM,MALM;AAMpBzH,IAAAA,QAAQ,EAAEmH,6BAAS,CAACG,IANA;AAOpBzC,IAAAA,QAAQ,EAAEsC,6BAAS,CAACM,MAPA;AAQpBxH,IAAAA,IAAI,EAAEkH,6BAAS,CAACI,SAAV,CAAoB,CACxBJ,6BAAS,CAACK,MADc,EAExBL,6BAAS,CAACM,MAFc,CAApB,CARc;AAYpBvH,IAAAA,MAAM,EAAEiH,6BAAS,CAACM,MAZE;AAapBtH,IAAAA,GAAG,EAAEgH,6BAAS,CAACI,SAAV,CAAoB,CACvBJ,6BAAS,CAACK,MADa,EAEvBL,6BAAS,CAACM,MAFa,CAApB,CAbe;AAiBpBrI,IAAAA,KAAK,EAAE+H,6BAAS,CAACI,SAAV,CAAoB,CACzBJ,6BAAS,CAACK,MADe,EAEzBL,6BAAS,CAACM,MAFe,CAApB;AAjBa,GAAhB,CANkB;AA4BxB7H,EAAAA,OAAO,EAAEuH,6BAAS,CAACE,KAAV,CAAgB,EAAhB,CA5Be;AA6BxBxH,EAAAA,WAAW,EAAEsH,6BAAS,CAACO,IA7BC;AA8BxB5H,EAAAA,UAAU,EAAEqH,6BAAS,CAACO;AA9BE,CAA1B;AAiCA,mCAAeC,UAAI,CAACtI,aAAD,CAAnB;;;;"}
1
+ {"version":3,"file":"DraggableItem.js","sources":["../../../../src/components/DraggableItem/DraggableItem.js"],"sourcesContent":["import { useEffect, useState, memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrag } from 'react-dnd';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport ItemPositioner from '../ItemPositioner';\nimport { DRAGGABLE_ITEM_TYPE } from '../../constants/itemTypes';\nimport { getStyles, getPosition, isSelectedItem } from '../../utils/functions';\nimport PageItemResizer from '../PageItemResizer';\nimport ErrorBoundary from '../ErrorBoundary';\nimport * as classNames from '../../constants/classNames';\nimport generateId from '../../utils/generateId';\nimport {\n addEventListenerForSidebar,\n removeEventListenerForSidebar,\n} from '../../utils/scrollZoneFunctions';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst exceptionalClassesForClickOutside = ['contextMenu-itemLabel', 'contextMenu-item'];\nconst reportItemStyle = {\n height: '100%',\n width: '100%',\n};\n\nconst DraggableItem = ({\n children = null,\n item = {},\n handleMatches,\n getIntersectionsFromMatches,\n}) => {\n const {\n height,\n id,\n isLocked,\n left,\n pageID,\n top,\n width,\n } = item;\n\n const [\n {\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n },\n setResizeSize,\n ] = useState({\n height,\n left,\n top,\n width,\n });\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onItemResize = usePropStore(state => state.onItemResize);\n\n const activeElement = useBuilderStore(state => state.activeElement);\n const setActiveElement = useBuilderStore(state => state.setActiveElement);\n const setContextMenuProps = useBuilderStore(state => state.setContextMenuProps);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setIsResize = useBuilderStore(state => state.setIsResize);\n\n const isSelected = isSelectedItem(item.id, activeElement);\n const isMultipleItemSelected = activeElement !== null && activeElement.length > 1;\n\n const select = event => {\n if (!isSelected) {\n if (!event || !event.metaKey) {\n if (isLocked) {\n setActiveElement(id, false);\n setIsRightPanelOpen(false);\n } else {\n setActiveElement(id);\n }\n } else {\n setActiveElement(id, undefined, true);\n }\n }\n };\n\n const canDrag = !item.isLocked && !isTextEditorOpen;\n\n const [{ isDragging }, drag, preview] = useDrag(() => ({\n canDrag: () => canDrag,\n collect: monitor => ({\n isDragging: monitor.isDragging(),\n }),\n end: (_item, monitor) => {\n const dropResult = monitor.getDropResult();\n if (dropResult && dropResult[id]) {\n const { left: dropLeft, top: dropTop } = dropResult[id];\n setResizeSize(prev => {\n return {\n height: prev.height,\n left: dropLeft,\n top: dropTop,\n width: prev.width,\n };\n });\n }\n removeEventListenerForSidebar();\n },\n isDragging: () => (isMultipleItemSelected && isSelected) || (!isMultipleItemSelected && isSelected),\n item: () => {\n select();\n addEventListenerForSidebar();\n return item;\n },\n type: DRAGGABLE_ITEM_TYPE,\n }), [\n item,\n canDrag,\n id,\n isMultipleItemSelected,\n isSelected,\n ]);\n\n useEffect(() => {\n if (preview) {\n preview(getEmptyImage(), { captureDraggingState: true });\n }\n }, [preview]);\n\n useEffect(() => {\n setResizeSize(prev => {\n if (prev.left !== left || prev.top !== top || prev.width !== width || prev.height !== height) {\n return {\n ...prev,\n height,\n left,\n top,\n width,\n };\n }\n\n return prev;\n });\n }, [left, top, width, height]);\n\n const onResizeStop = (deltaWidth, deltaHeight, direction) => {\n const activeItem = {\n ...item,\n height: item.height + deltaHeight,\n width: item.width + deltaWidth,\n };\n if (/left/i.test(direction)) activeItem.left = activeItem.left - deltaWidth;\n if (/top/i.test(direction)) activeItem.top = activeItem.top - deltaHeight;\n const { newActiveBoxLeft, newActiveBoxTop } = getIntersectionsFromMatches(activeItem);\n let newResizeSize = {\n height: activeItem.height,\n left: activeItem.left,\n top: activeItem.top,\n width: activeItem.width,\n };\n\n if (!(/top/i.test(direction) && /left/i.test(direction))) {\n newResizeSize = {\n ...newResizeSize,\n height: newResizeSize.height + (newActiveBoxTop - activeItem.top),\n width: newResizeSize.width + (newActiveBoxLeft - activeItem.left),\n };\n }\n if (/top/i.test(direction) && newActiveBoxTop !== newResizeSize.top) {\n newResizeSize.top = newActiveBoxTop;\n }\n if (/left/i.test(direction) && newActiveBoxLeft !== newResizeSize.left) {\n newResizeSize.left = newActiveBoxLeft;\n }\n setIsResize(false);\n onItemResize(item, newResizeSize);\n };\n\n const onResize = (deltaWidth, deltaHeight, direction) => {\n setIsResize(true);\n const activeItem = {\n ...item,\n height: item.height + deltaHeight,\n width: item.width + deltaWidth,\n };\n if (/left/i.test(direction)) activeItem.left = activeItem.left - deltaWidth;\n if (/top/i.test(direction)) activeItem.top = activeItem.top - deltaHeight;\n handleMatches(activeItem);\n setResizeSize({\n height: activeItem.height,\n left: activeItem.left,\n top: activeItem.top,\n width: activeItem.width,\n });\n };\n\n const deleteItem = () => {\n setIsRightPanelOpen(false);\n setActiveElement(null);\n onItemRemove(item);\n onAnEventTrigger('removeItem', item.itemType);\n };\n\n const duplicateItem = () => {\n const itemID = generateId();\n onItemAdd({\n ...item,\n id: itemID,\n left: item.left + 50,\n top: item.top + 50,\n });\n onAnEventTrigger('duplicateItem', item.itemType);\n setActiveElement(itemID);\n if (!isRightPanelOpen) {\n setIsRightPanelOpen(true);\n }\n };\n\n const onClickOutside = event => {\n // clickoutside should not work for scrollbar\n const viewPort = document.querySelector('.jfReport-viewport');\n const { clientHeight, offsetHeight } = viewPort;\n const headerHeight = window.innerHeight - offsetHeight;\n if (event.clientY - headerHeight >= clientHeight\n || Array.from(event.target.classList)\n .some(xClass => exceptionalClassesForClickOutside.includes(xClass))) {\n return;\n }\n setIsRightPanelOpen(false);\n setActiveElement(null);\n };\n\n const onContextMenuClick = e => {\n if (\n e.target.contentEditable === 'true'\n || isTextEditorOpen\n ) {\n // Dont override behaviour on text edits.\n return;\n }\n\n e.preventDefault();\n onAnEventTrigger('openContextMenu', item.itemType);\n setContextMenuProps({\n id,\n pageID,\n position: getPosition(e),\n });\n };\n\n const onDoubleClick = e => {\n if (\n e.target.contentEditable === 'true'\n || isTextEditorOpen\n ) {\n // Dont override behaviour on text edits.\n return;\n }\n\n setIsRightPanelOpen(true);\n };\n\n const duplicateWithAltKey = e => {\n if (e.altKey) {\n const itemID = generateId();\n const itemToAdd = item;\n setTimeout(() => {\n onItemAdd({\n ...itemToAdd,\n id: itemID,\n left: itemToAdd.left,\n top: itemToAdd.top,\n });\n onAnEventTrigger('duplicateItem', itemToAdd.itemType);\n });\n }\n };\n\n const changeLockStatus = () => {\n onAnEventTrigger(item.isLocked ? 'unlockReportItem' : 'lockReportItem', item.itemType);\n onItemChange({ id: item.id }, { isLocked: item.isLocked ? false : true });\n if (!item.isLocked) {\n setActiveElement(item.id, false);\n setIsRightPanelOpen(false);\n }\n };\n\n return (\n <ErrorBoundary>\n <ItemPositioner\n classNames={`reportItemWrapper${isSelected ? ' isSelected' : ''}`}\n style={{\n ...getStyles(left, top, isDragging),\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }}\n >\n <div\n ref={drag}\n className={`${classNames.reportItem}${isLocked ? ' isLocked' : ''}`}\n onContextMenu={onContextMenuClick}\n onDoubleClick={onDoubleClick}\n onDragStart={duplicateWithAltKey}\n onMouseDown={select}\n style={reportItemStyle}\n >\n {children}\n </div>\n </ItemPositioner>\n <PageItemResizer\n changeLockStatus={changeLockStatus}\n deleteItem={deleteItem}\n duplicateItem={duplicateItem}\n isDragging={isDragging}\n item={item}\n onClickOutside={onClickOutside}\n onResize={onResize}\n onResizeStop={onResizeStop}\n pageID={pageID}\n stateHeight={stateHeight}\n stateLeft={stateLeft}\n stateTop={stateTop}\n stateWidth={stateWidth}\n />\n </ErrorBoundary>\n );\n};\n\nDraggableItem.propTypes = {\n children: PropTypes.any,\n getIntersectionsFromMatches: PropTypes.func,\n handleMatches: PropTypes.func,\n item: PropTypes.shape({\n height: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n id: PropTypes.string,\n isLocked: PropTypes.bool,\n itemType: PropTypes.string,\n left: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n pageID: PropTypes.string,\n top: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n width: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n};\n\nexport default memo(DraggableItem);\n"],"names":["exceptionalClassesForClickOutside","reportItemStyle","height","width","DraggableItem","children","item","handleMatches","getIntersectionsFromMatches","id","isLocked","left","pageID","top","useState","stateHeight","stateLeft","stateTop","stateWidth","setResizeSize","onAnEventTrigger","usePropStore","state","onItemAdd","onItemChange","onItemRemove","onItemResize","activeElement","useBuilderStore","setActiveElement","setContextMenuProps","isTextEditorOpen","isRightPanelOpen","setIsRightPanelOpen","setIsResize","isSelected","isSelectedItem","isMultipleItemSelected","length","select","event","metaKey","undefined","canDrag","useDrag","collect","monitor","isDragging","end","_item","dropResult","getDropResult","dropLeft","dropTop","prev","removeEventListenerForSidebar","addEventListenerForSidebar","type","DRAGGABLE_ITEM_TYPE","drag","preview","useEffect","getEmptyImage","captureDraggingState","onResizeStop","deltaWidth","deltaHeight","direction","activeItem","test","newActiveBoxLeft","newActiveBoxTop","newResizeSize","onResize","deleteItem","itemType","duplicateItem","itemID","generateId","onClickOutside","viewPort","document","querySelector","clientHeight","offsetHeight","headerHeight","window","innerHeight","clientY","Array","from","target","classList","some","xClass","includes","onContextMenuClick","e","contentEditable","preventDefault","position","getPosition","onDoubleClick","duplicateWithAltKey","altKey","itemToAdd","setTimeout","changeLockStatus","_jsxs","_jsx","getStyles","classNames","propTypes","PropTypes","any","func","shape","oneOfType","number","string","bool","memo"],"mappings":"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"}