@jotforminc/dnd-builder 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/index.d.ts +428 -0
  3. package/lib/cjs/assets/search.svg.js +5 -2
  4. package/lib/cjs/assets/search.svg.js.map +1 -1
  5. package/lib/cjs/assets/svg/all_slides.svg.js +9 -29
  6. package/lib/cjs/assets/svg/all_slides.svg.js.map +1 -1
  7. package/lib/cjs/assets/svg/close.svg.js +4 -2
  8. package/lib/cjs/assets/svg/close.svg.js.map +1 -1
  9. package/lib/cjs/assets/svg/customize.svg.js +4 -2
  10. package/lib/cjs/assets/svg/customize.svg.js.map +1 -1
  11. package/lib/cjs/assets/svg/duplicate.svg.js +5 -2
  12. package/lib/cjs/assets/svg/duplicate.svg.js.map +1 -1
  13. package/lib/cjs/assets/svg/fit_screen.svg.js +7 -7
  14. package/lib/cjs/assets/svg/heart_rating.svg.js +5 -3
  15. package/lib/cjs/assets/svg/heart_rating.svg.js.map +1 -1
  16. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down-left.svg.js +4 -2
  17. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down-left.svg.js.map +1 -1
  18. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down-right.svg.js +4 -2
  19. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down-right.svg.js.map +1 -1
  20. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down.svg.js +4 -2
  21. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down.svg.js.map +1 -1
  22. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-left.svg.js +4 -2
  23. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-left.svg.js.map +1 -1
  24. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-right.svg.js +4 -2
  25. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-right.svg.js.map +1 -1
  26. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-up-left.svg.js +4 -2
  27. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-up-left.svg.js.map +1 -1
  28. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-up-right.svg.js +4 -2
  29. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-up-right.svg.js.map +1 -1
  30. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-down-circle.svg.js +4 -2
  31. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-down-circle.svg.js.map +1 -1
  32. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-left-circle.svg.js +4 -2
  33. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-left-circle.svg.js.map +1 -1
  34. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-right-circle.svg.js +4 -2
  35. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-right-circle.svg.js.map +1 -1
  36. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-up-circle.svg.js +4 -2
  37. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-up-circle.svg.js.map +1 -1
  38. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-cloud.svg.js +2 -2
  39. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-download.svg.js +4 -2
  40. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-download.svg.js.map +1 -1
  41. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-eye.svg.js +4 -2
  42. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-eye.svg.js.map +1 -1
  43. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-folder.svg.js +4 -2
  44. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-folder.svg.js.map +1 -1
  45. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-heart.svg.js +4 -2
  46. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-heart.svg.js.map +1 -1
  47. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-home.svg.js +4 -2
  48. package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-home.svg.js.map +1 -1
  49. package/lib/cjs/assets/svg/minus.svg.js +6 -9
  50. package/lib/cjs/assets/svg/minus.svg.js.map +1 -1
  51. package/lib/cjs/assets/svg/page-actions/duplicate_line.svg.js +5 -2
  52. package/lib/cjs/assets/svg/page-actions/duplicate_line.svg.js.map +1 -1
  53. package/lib/cjs/assets/svg/page-actions/trash_line.svg.js +5 -2
  54. package/lib/cjs/assets/svg/page-actions/trash_line.svg.js.map +1 -1
  55. package/lib/cjs/assets/svg/page_settings.svg.js +4 -4
  56. package/lib/cjs/assets/svg/plus.svg.js +5 -2
  57. package/lib/cjs/assets/svg/plus.svg.js.map +1 -1
  58. package/lib/cjs/assets/svg/presentation/attachment.svg.js +4 -2
  59. package/lib/cjs/assets/svg/presentation/attachment.svg.js.map +1 -1
  60. package/lib/cjs/assets/svg/presentation/download.svg.js +5 -2
  61. package/lib/cjs/assets/svg/presentation/download.svg.js.map +1 -1
  62. package/lib/cjs/assets/svg/presentation/enter_fullscreen.svg.js +8 -12
  63. package/lib/cjs/assets/svg/presentation/enter_fullscreen.svg.js.map +1 -1
  64. package/lib/cjs/assets/svg/presentation/exit_fullscreen.svg.js +8 -12
  65. package/lib/cjs/assets/svg/presentation/exit_fullscreen.svg.js.map +1 -1
  66. package/lib/cjs/assets/svg/presentation/eye.svg.js +6 -5
  67. package/lib/cjs/assets/svg/presentation/eye.svg.js.map +1 -1
  68. package/lib/cjs/assets/svg/presentation/key.svg.js +5 -3
  69. package/lib/cjs/assets/svg/presentation/key.svg.js.map +1 -1
  70. package/lib/cjs/assets/svg/presentation/pause.svg.js +4 -2
  71. package/lib/cjs/assets/svg/presentation/pause.svg.js.map +1 -1
  72. package/lib/cjs/assets/svg/presentation/pen.svg.js +4 -2
  73. package/lib/cjs/assets/svg/presentation/pen.svg.js.map +1 -1
  74. package/lib/cjs/assets/svg/presentation/play.svg.js +5 -3
  75. package/lib/cjs/assets/svg/presentation/play.svg.js.map +1 -1
  76. package/lib/cjs/assets/svg/presentation/print.svg.js +5 -2
  77. package/lib/cjs/assets/svg/presentation/print.svg.js.map +1 -1
  78. package/lib/cjs/assets/svg/presentation/share.svg.js +5 -2
  79. package/lib/cjs/assets/svg/presentation/share.svg.js.map +1 -1
  80. package/lib/cjs/assets/svg/rotate.svg.js +5 -2
  81. package/lib/cjs/assets/svg/rotate.svg.js.map +1 -1
  82. package/lib/cjs/assets/svg/settings/align_center.svg.js +5 -2
  83. package/lib/cjs/assets/svg/settings/align_center.svg.js.map +1 -1
  84. package/lib/cjs/assets/svg/settings/align_left.svg.js +5 -2
  85. package/lib/cjs/assets/svg/settings/align_left.svg.js.map +1 -1
  86. package/lib/cjs/assets/svg/settings/align_right.svg.js +5 -2
  87. package/lib/cjs/assets/svg/settings/align_right.svg.js.map +1 -1
  88. package/lib/cjs/assets/svg/settings/drag.svg.js +7 -26
  89. package/lib/cjs/assets/svg/settings/drag.svg.js.map +1 -1
  90. package/lib/cjs/assets/svg/settings/ellipse.svg.js +6 -5
  91. package/lib/cjs/assets/svg/settings/ellipse.svg.js.map +1 -1
  92. package/lib/cjs/assets/svg/settings/font_bold.svg.js +5 -2
  93. package/lib/cjs/assets/svg/settings/font_bold.svg.js.map +1 -1
  94. package/lib/cjs/assets/svg/settings/font_italic.svg.js +5 -2
  95. package/lib/cjs/assets/svg/settings/font_italic.svg.js.map +1 -1
  96. package/lib/cjs/assets/svg/settings/font_underline.svg.js +5 -2
  97. package/lib/cjs/assets/svg/settings/font_underline.svg.js.map +1 -1
  98. package/lib/cjs/assets/svg/settings/line.svg.js +8 -10
  99. package/lib/cjs/assets/svg/settings/line.svg.js.map +1 -1
  100. package/lib/cjs/assets/svg/settings/lock.svg.js +5 -2
  101. package/lib/cjs/assets/svg/settings/lock.svg.js.map +1 -1
  102. package/lib/cjs/assets/svg/settings/rectangle.svg.js +6 -4
  103. package/lib/cjs/assets/svg/settings/rectangle.svg.js.map +1 -1
  104. package/lib/cjs/assets/svg/settings/star.svg.js +6 -4
  105. package/lib/cjs/assets/svg/settings/star.svg.js.map +1 -1
  106. package/lib/cjs/assets/svg/settings/triangle.svg.js +6 -4
  107. package/lib/cjs/assets/svg/settings/triangle.svg.js.map +1 -1
  108. package/lib/cjs/assets/svg/settings/unlock.svg.js +5 -2
  109. package/lib/cjs/assets/svg/settings/unlock.svg.js.map +1 -1
  110. package/lib/cjs/assets/svg/settings.svg.js +3 -2
  111. package/lib/cjs/assets/svg/settings.svg.js.map +1 -1
  112. package/lib/cjs/assets/svg/settings_toggle.svg.js +7 -5
  113. package/lib/cjs/assets/svg/settings_toggle.svg.js.map +1 -1
  114. package/lib/cjs/assets/svg/slides.svg.js +8 -14
  115. package/lib/cjs/assets/svg/slides.svg.js.map +1 -1
  116. package/lib/cjs/assets/svg/star_rating.svg.js +5 -2
  117. package/lib/cjs/assets/svg/star_rating.svg.js.map +1 -1
  118. package/lib/cjs/assets/svg/toolbox/email.svg.js +5 -2
  119. package/lib/cjs/assets/svg/toolbox/email.svg.js.map +1 -1
  120. package/lib/cjs/assets/svg/toolbox/header.svg.js +5 -2
  121. package/lib/cjs/assets/svg/toolbox/header.svg.js.map +1 -1
  122. package/lib/cjs/assets/svg/toolbox/icon.svg.js +6 -11
  123. package/lib/cjs/assets/svg/toolbox/icon.svg.js.map +1 -1
  124. package/lib/cjs/assets/svg/toolbox/image.svg.js +7 -7
  125. package/lib/cjs/assets/svg/toolbox/label.svg.js +4 -2
  126. package/lib/cjs/assets/svg/toolbox/label.svg.js.map +1 -1
  127. package/lib/cjs/assets/svg/toolbox/multiple_choice.svg.js +6 -5
  128. package/lib/cjs/assets/svg/toolbox/multiple_choice.svg.js.map +1 -1
  129. package/lib/cjs/assets/svg/toolbox/shapes.svg.js +7 -10
  130. package/lib/cjs/assets/svg/toolbox/shapes.svg.js.map +1 -1
  131. package/lib/cjs/assets/svg/toolbox/single_choice.svg.js +5 -2
  132. package/lib/cjs/assets/svg/toolbox/single_choice.svg.js.map +1 -1
  133. package/lib/cjs/assets/svg/toolbox/star.svg.js +5 -2
  134. package/lib/cjs/assets/svg/toolbox/star.svg.js.map +1 -1
  135. package/lib/cjs/assets/svg/toolbox/table.svg.js +5 -2
  136. package/lib/cjs/assets/svg/toolbox/table.svg.js.map +1 -1
  137. package/lib/cjs/assets/svg/toolbox/text.svg.js +5 -2
  138. package/lib/cjs/assets/svg/toolbox/text.svg.js.map +1 -1
  139. package/lib/cjs/assets/svg/toolbox/text_element.svg.js +5 -2
  140. package/lib/cjs/assets/svg/toolbox/text_element.svg.js.map +1 -1
  141. package/lib/cjs/assets/svg/trash.svg.js +5 -2
  142. package/lib/cjs/assets/svg/trash.svg.js.map +1 -1
  143. package/lib/cjs/components/AlignmentGuides.js +28 -18
  144. package/lib/cjs/components/AlignmentGuides.js.map +1 -1
  145. package/lib/cjs/components/Builder/ContextMenu.js +4 -1
  146. package/lib/cjs/components/Builder/ContextMenu.js.map +1 -1
  147. package/lib/cjs/components/Builder/DraggableLayer.js +40 -0
  148. package/lib/cjs/components/Builder/DraggableLayer.js.map +1 -0
  149. package/lib/cjs/components/Builder/Element.js +7 -3
  150. package/lib/cjs/components/Builder/Element.js.map +1 -1
  151. package/lib/cjs/components/Builder/Page.js +58 -65
  152. package/lib/cjs/components/Builder/Page.js.map +1 -1
  153. package/lib/cjs/components/Builder/Scene.js +33 -255
  154. package/lib/cjs/components/Builder/Scene.js.map +1 -1
  155. package/lib/cjs/components/Builder/SearchInput.js +3 -1
  156. package/lib/cjs/components/Builder/SearchInput.js.map +1 -1
  157. package/lib/cjs/components/Builder/SelectionBox.js +48 -0
  158. package/lib/cjs/components/Builder/SelectionBox.js.map +1 -0
  159. package/lib/cjs/components/DraggableItem/DraggableItem.js +78 -135
  160. package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
  161. package/lib/cjs/components/DraggableItem/DraggableItemActions.js +69 -29
  162. package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
  163. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +96 -220
  164. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  165. package/lib/cjs/components/PageItemResizer.js +37 -43
  166. package/lib/cjs/components/PageItemResizer.js.map +1 -1
  167. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js +1 -3
  168. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
  169. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js +0 -6
  170. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
  171. package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js +1 -4
  172. package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
  173. package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js +6 -7
  174. package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
  175. package/lib/cjs/components/Panels/RightPanel/RightPanel.js +7 -7
  176. package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
  177. package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js +9 -10
  178. package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
  179. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +1 -3
  180. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  181. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js +8 -6
  182. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
  183. package/lib/cjs/components/ReportItemsWrapper.js +5 -11
  184. package/lib/cjs/components/ReportItemsWrapper.js.map +1 -1
  185. package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js +2 -4
  186. package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -1
  187. package/lib/cjs/components/Settings/PageLayer/LayerItem.js +12 -7
  188. package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
  189. package/lib/cjs/components/Settings/PageLayer/PageLayer.js +2 -4
  190. package/lib/cjs/components/Settings/PageLayer/PageLayer.js.map +1 -1
  191. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +3 -8
  192. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
  193. package/lib/cjs/constants/texts.js +0 -1
  194. package/lib/cjs/constants/texts.js.map +1 -1
  195. package/lib/cjs/contexts/BuilderContext.js +47 -23
  196. package/lib/cjs/contexts/BuilderContext.js.map +1 -1
  197. package/lib/cjs/styles/_jfDarkTheme.scss +0 -5
  198. package/lib/cjs/styles/_jfPrint.scss +0 -4
  199. package/lib/cjs/styles/_jfReportsPages.scss +12 -3
  200. package/lib/cjs/styles/_jfReportsSVG.scss +6 -6
  201. package/lib/cjs/styles/_jfSearchInput.scss +0 -2
  202. package/lib/cjs/utils/functions.js +129 -57
  203. package/lib/cjs/utils/functions.js.map +1 -1
  204. package/lib/cjs/utils/hooks.js +37 -0
  205. package/lib/cjs/utils/hooks.js.map +1 -1
  206. package/lib/cjs/utils/useKeyboardActions.js +263 -0
  207. package/lib/cjs/utils/useKeyboardActions.js.map +1 -0
  208. package/lib/cjs/utils/useMarqueeSelection.js +156 -0
  209. package/lib/cjs/utils/useMarqueeSelection.js.map +1 -0
  210. package/lib/esm/assets/search.svg.js +5 -2
  211. package/lib/esm/assets/search.svg.js.map +1 -1
  212. package/lib/esm/assets/svg/all_slides.svg.js +9 -29
  213. package/lib/esm/assets/svg/all_slides.svg.js.map +1 -1
  214. package/lib/esm/assets/svg/close.svg.js +4 -2
  215. package/lib/esm/assets/svg/close.svg.js.map +1 -1
  216. package/lib/esm/assets/svg/customize.svg.js +4 -2
  217. package/lib/esm/assets/svg/customize.svg.js.map +1 -1
  218. package/lib/esm/assets/svg/duplicate.svg.js +5 -2
  219. package/lib/esm/assets/svg/duplicate.svg.js.map +1 -1
  220. package/lib/esm/assets/svg/fit_screen.svg.js +7 -7
  221. package/lib/esm/assets/svg/heart_rating.svg.js +5 -3
  222. package/lib/esm/assets/svg/heart_rating.svg.js.map +1 -1
  223. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down-left.svg.js +4 -2
  224. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down-left.svg.js.map +1 -1
  225. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down-right.svg.js +4 -2
  226. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down-right.svg.js.map +1 -1
  227. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down.svg.js +4 -2
  228. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down.svg.js.map +1 -1
  229. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-left.svg.js +4 -2
  230. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-left.svg.js.map +1 -1
  231. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-right.svg.js +4 -2
  232. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-right.svg.js.map +1 -1
  233. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-up-left.svg.js +4 -2
  234. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-up-left.svg.js.map +1 -1
  235. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-up-right.svg.js +4 -2
  236. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-up-right.svg.js.map +1 -1
  237. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-down-circle.svg.js +4 -2
  238. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-down-circle.svg.js.map +1 -1
  239. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-left-circle.svg.js +4 -2
  240. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-left-circle.svg.js.map +1 -1
  241. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-right-circle.svg.js +4 -2
  242. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-right-circle.svg.js.map +1 -1
  243. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-up-circle.svg.js +4 -2
  244. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-up-circle.svg.js.map +1 -1
  245. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-cloud.svg.js +2 -2
  246. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-download.svg.js +4 -2
  247. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-download.svg.js.map +1 -1
  248. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-eye.svg.js +4 -2
  249. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-eye.svg.js.map +1 -1
  250. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-folder.svg.js +4 -2
  251. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-folder.svg.js.map +1 -1
  252. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-heart.svg.js +4 -2
  253. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-heart.svg.js.map +1 -1
  254. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-home.svg.js +4 -2
  255. package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-home.svg.js.map +1 -1
  256. package/lib/esm/assets/svg/minus.svg.js +6 -9
  257. package/lib/esm/assets/svg/minus.svg.js.map +1 -1
  258. package/lib/esm/assets/svg/page-actions/duplicate_line.svg.js +5 -2
  259. package/lib/esm/assets/svg/page-actions/duplicate_line.svg.js.map +1 -1
  260. package/lib/esm/assets/svg/page-actions/trash_line.svg.js +5 -2
  261. package/lib/esm/assets/svg/page-actions/trash_line.svg.js.map +1 -1
  262. package/lib/esm/assets/svg/page_settings.svg.js +4 -4
  263. package/lib/esm/assets/svg/plus.svg.js +5 -2
  264. package/lib/esm/assets/svg/plus.svg.js.map +1 -1
  265. package/lib/esm/assets/svg/presentation/attachment.svg.js +4 -2
  266. package/lib/esm/assets/svg/presentation/attachment.svg.js.map +1 -1
  267. package/lib/esm/assets/svg/presentation/download.svg.js +5 -2
  268. package/lib/esm/assets/svg/presentation/download.svg.js.map +1 -1
  269. package/lib/esm/assets/svg/presentation/enter_fullscreen.svg.js +8 -12
  270. package/lib/esm/assets/svg/presentation/enter_fullscreen.svg.js.map +1 -1
  271. package/lib/esm/assets/svg/presentation/exit_fullscreen.svg.js +8 -12
  272. package/lib/esm/assets/svg/presentation/exit_fullscreen.svg.js.map +1 -1
  273. package/lib/esm/assets/svg/presentation/eye.svg.js +6 -5
  274. package/lib/esm/assets/svg/presentation/eye.svg.js.map +1 -1
  275. package/lib/esm/assets/svg/presentation/key.svg.js +5 -3
  276. package/lib/esm/assets/svg/presentation/key.svg.js.map +1 -1
  277. package/lib/esm/assets/svg/presentation/pause.svg.js +4 -2
  278. package/lib/esm/assets/svg/presentation/pause.svg.js.map +1 -1
  279. package/lib/esm/assets/svg/presentation/pen.svg.js +4 -2
  280. package/lib/esm/assets/svg/presentation/pen.svg.js.map +1 -1
  281. package/lib/esm/assets/svg/presentation/play.svg.js +5 -3
  282. package/lib/esm/assets/svg/presentation/play.svg.js.map +1 -1
  283. package/lib/esm/assets/svg/presentation/print.svg.js +5 -2
  284. package/lib/esm/assets/svg/presentation/print.svg.js.map +1 -1
  285. package/lib/esm/assets/svg/presentation/share.svg.js +5 -2
  286. package/lib/esm/assets/svg/presentation/share.svg.js.map +1 -1
  287. package/lib/esm/assets/svg/rotate.svg.js +5 -2
  288. package/lib/esm/assets/svg/rotate.svg.js.map +1 -1
  289. package/lib/esm/assets/svg/settings/align_center.svg.js +5 -2
  290. package/lib/esm/assets/svg/settings/align_center.svg.js.map +1 -1
  291. package/lib/esm/assets/svg/settings/align_left.svg.js +5 -2
  292. package/lib/esm/assets/svg/settings/align_left.svg.js.map +1 -1
  293. package/lib/esm/assets/svg/settings/align_right.svg.js +5 -2
  294. package/lib/esm/assets/svg/settings/align_right.svg.js.map +1 -1
  295. package/lib/esm/assets/svg/settings/drag.svg.js +7 -26
  296. package/lib/esm/assets/svg/settings/drag.svg.js.map +1 -1
  297. package/lib/esm/assets/svg/settings/ellipse.svg.js +6 -5
  298. package/lib/esm/assets/svg/settings/ellipse.svg.js.map +1 -1
  299. package/lib/esm/assets/svg/settings/font_bold.svg.js +5 -2
  300. package/lib/esm/assets/svg/settings/font_bold.svg.js.map +1 -1
  301. package/lib/esm/assets/svg/settings/font_italic.svg.js +5 -2
  302. package/lib/esm/assets/svg/settings/font_italic.svg.js.map +1 -1
  303. package/lib/esm/assets/svg/settings/font_underline.svg.js +5 -2
  304. package/lib/esm/assets/svg/settings/font_underline.svg.js.map +1 -1
  305. package/lib/esm/assets/svg/settings/line.svg.js +8 -10
  306. package/lib/esm/assets/svg/settings/line.svg.js.map +1 -1
  307. package/lib/esm/assets/svg/settings/lock.svg.js +5 -2
  308. package/lib/esm/assets/svg/settings/lock.svg.js.map +1 -1
  309. package/lib/esm/assets/svg/settings/rectangle.svg.js +6 -4
  310. package/lib/esm/assets/svg/settings/rectangle.svg.js.map +1 -1
  311. package/lib/esm/assets/svg/settings/star.svg.js +6 -4
  312. package/lib/esm/assets/svg/settings/star.svg.js.map +1 -1
  313. package/lib/esm/assets/svg/settings/triangle.svg.js +6 -4
  314. package/lib/esm/assets/svg/settings/triangle.svg.js.map +1 -1
  315. package/lib/esm/assets/svg/settings/unlock.svg.js +5 -2
  316. package/lib/esm/assets/svg/settings/unlock.svg.js.map +1 -1
  317. package/lib/esm/assets/svg/settings.svg.js +3 -2
  318. package/lib/esm/assets/svg/settings.svg.js.map +1 -1
  319. package/lib/esm/assets/svg/settings_toggle.svg.js +7 -5
  320. package/lib/esm/assets/svg/settings_toggle.svg.js.map +1 -1
  321. package/lib/esm/assets/svg/slides.svg.js +8 -14
  322. package/lib/esm/assets/svg/slides.svg.js.map +1 -1
  323. package/lib/esm/assets/svg/star_rating.svg.js +5 -2
  324. package/lib/esm/assets/svg/star_rating.svg.js.map +1 -1
  325. package/lib/esm/assets/svg/toolbox/email.svg.js +5 -2
  326. package/lib/esm/assets/svg/toolbox/email.svg.js.map +1 -1
  327. package/lib/esm/assets/svg/toolbox/header.svg.js +5 -2
  328. package/lib/esm/assets/svg/toolbox/header.svg.js.map +1 -1
  329. package/lib/esm/assets/svg/toolbox/icon.svg.js +6 -11
  330. package/lib/esm/assets/svg/toolbox/icon.svg.js.map +1 -1
  331. package/lib/esm/assets/svg/toolbox/image.svg.js +7 -7
  332. package/lib/esm/assets/svg/toolbox/label.svg.js +4 -2
  333. package/lib/esm/assets/svg/toolbox/label.svg.js.map +1 -1
  334. package/lib/esm/assets/svg/toolbox/multiple_choice.svg.js +6 -5
  335. package/lib/esm/assets/svg/toolbox/multiple_choice.svg.js.map +1 -1
  336. package/lib/esm/assets/svg/toolbox/shapes.svg.js +7 -10
  337. package/lib/esm/assets/svg/toolbox/shapes.svg.js.map +1 -1
  338. package/lib/esm/assets/svg/toolbox/single_choice.svg.js +5 -2
  339. package/lib/esm/assets/svg/toolbox/single_choice.svg.js.map +1 -1
  340. package/lib/esm/assets/svg/toolbox/star.svg.js +5 -2
  341. package/lib/esm/assets/svg/toolbox/star.svg.js.map +1 -1
  342. package/lib/esm/assets/svg/toolbox/table.svg.js +5 -2
  343. package/lib/esm/assets/svg/toolbox/table.svg.js.map +1 -1
  344. package/lib/esm/assets/svg/toolbox/text.svg.js +5 -2
  345. package/lib/esm/assets/svg/toolbox/text.svg.js.map +1 -1
  346. package/lib/esm/assets/svg/toolbox/text_element.svg.js +5 -2
  347. package/lib/esm/assets/svg/toolbox/text_element.svg.js.map +1 -1
  348. package/lib/esm/assets/svg/trash.svg.js +5 -2
  349. package/lib/esm/assets/svg/trash.svg.js.map +1 -1
  350. package/lib/esm/components/AlignmentGuides.js +28 -18
  351. package/lib/esm/components/AlignmentGuides.js.map +1 -1
  352. package/lib/esm/components/Builder/ContextMenu.js +4 -1
  353. package/lib/esm/components/Builder/ContextMenu.js.map +1 -1
  354. package/lib/esm/components/Builder/DraggableLayer.js +34 -0
  355. package/lib/esm/components/Builder/DraggableLayer.js.map +1 -0
  356. package/lib/esm/components/Builder/Element.js +7 -3
  357. package/lib/esm/components/Builder/Element.js.map +1 -1
  358. package/lib/esm/components/Builder/Page.js +60 -67
  359. package/lib/esm/components/Builder/Page.js.map +1 -1
  360. package/lib/esm/components/Builder/Scene.js +35 -257
  361. package/lib/esm/components/Builder/Scene.js.map +1 -1
  362. package/lib/esm/components/Builder/SearchInput.js +3 -1
  363. package/lib/esm/components/Builder/SearchInput.js.map +1 -1
  364. package/lib/esm/components/Builder/SelectionBox.js +42 -0
  365. package/lib/esm/components/Builder/SelectionBox.js.map +1 -0
  366. package/lib/esm/components/DraggableItem/DraggableItem.js +80 -137
  367. package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
  368. package/lib/esm/components/DraggableItem/DraggableItemActions.js +72 -28
  369. package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
  370. package/lib/esm/components/DraggableItem/DraggableItemLayer.js +99 -222
  371. package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  372. package/lib/esm/components/PageItemResizer.js +38 -44
  373. package/lib/esm/components/PageItemResizer.js.map +1 -1
  374. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js +2 -4
  375. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
  376. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js +0 -6
  377. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
  378. package/lib/esm/components/Panels/LeftPanel/LeftPanel.js +3 -6
  379. package/lib/esm/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
  380. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js +6 -7
  381. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
  382. package/lib/esm/components/Panels/RightPanel/RightPanel.js +7 -7
  383. package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
  384. package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js +9 -10
  385. package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
  386. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +2 -4
  387. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  388. package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js +8 -6
  389. package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
  390. package/lib/esm/components/ReportItemsWrapper.js +5 -11
  391. package/lib/esm/components/ReportItemsWrapper.js.map +1 -1
  392. package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js +2 -4
  393. package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -1
  394. package/lib/esm/components/Settings/PageLayer/LayerItem.js +12 -7
  395. package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
  396. package/lib/esm/components/Settings/PageLayer/PageLayer.js +2 -4
  397. package/lib/esm/components/Settings/PageLayer/PageLayer.js.map +1 -1
  398. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +3 -8
  399. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
  400. package/lib/esm/constants/texts.js +0 -1
  401. package/lib/esm/constants/texts.js.map +1 -1
  402. package/lib/esm/contexts/BuilderContext.js +47 -23
  403. package/lib/esm/contexts/BuilderContext.js.map +1 -1
  404. package/lib/esm/styles/_jfDarkTheme.scss +0 -5
  405. package/lib/esm/styles/_jfPrint.scss +0 -4
  406. package/lib/esm/styles/_jfReportsPages.scss +12 -3
  407. package/lib/esm/styles/_jfReportsSVG.scss +6 -6
  408. package/lib/esm/styles/_jfSearchInput.scss +0 -2
  409. package/lib/esm/utils/functions.js +126 -56
  410. package/lib/esm/utils/functions.js.map +1 -1
  411. package/lib/esm/utils/hooks.js +37 -1
  412. package/lib/esm/utils/hooks.js.map +1 -1
  413. package/lib/esm/utils/useKeyboardActions.js +261 -0
  414. package/lib/esm/utils/useKeyboardActions.js.map +1 -0
  415. package/lib/esm/utils/useMarqueeSelection.js +154 -0
  416. package/lib/esm/utils/useMarqueeSelection.js.map +1 -0
  417. package/package.json +11 -7
@@ -0,0 +1,263 @@
1
+ 'use strict';
2
+
3
+ require('core-js/modules/es.array.find.js');
4
+ require('core-js/modules/es.array.find-index.js');
5
+ require('core-js/modules/es.array.includes.js');
6
+ require('core-js/modules/web.dom-collections.for-each.js');
7
+ var React = require('react');
8
+ var BuilderContext = require('../contexts/BuilderContext.js');
9
+ var PropContext = require('../contexts/PropContext.js');
10
+ var functions = require('./functions.js');
11
+ var hooks = require('./hooks.js');
12
+ var eventIgnoredRoles = require('../constants/eventIgnoredRoles.js');
13
+ var generateId = require('./generateId.js');
14
+
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; }
16
+
17
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
18
+
19
+ 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; }
20
+
21
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
22
+
23
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
24
+
25
+ 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); }
26
+
27
+ 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; }
28
+
29
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
30
+
31
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
32
+
33
+ var useKeyboardActions = function useKeyboardActions() {
34
+ var _useState = React.useState(null),
35
+ _useState2 = _slicedToArray(_useState, 2),
36
+ itemToPaste = _useState2[0],
37
+ setItemToPaste = _useState2[1];
38
+
39
+ var keyDownCount = React.useRef(null);
40
+ var activeElements = BuilderContext.useBuilderStore(function (state) {
41
+ return state.activeElements;
42
+ });
43
+ var isRightPanelOpen = BuilderContext.useBuilderStore(function (state) {
44
+ return state.isRightPanelOpen;
45
+ });
46
+ var setActiveElements = BuilderContext.useBuilderStore(function (state) {
47
+ return state.setActiveElements;
48
+ });
49
+ var setIsRightPanelOpen = BuilderContext.useBuilderStore(function (state) {
50
+ return state.setIsRightPanelOpen;
51
+ });
52
+ var resetActiveElements = BuilderContext.useBuilderStore(function (state) {
53
+ return state.resetActiveElements;
54
+ });
55
+ var pages = PropContext.usePropStore(function (state) {
56
+ return state.pages;
57
+ });
58
+ var onItemAdd = PropContext.usePropStore(function (state) {
59
+ return state.onItemAdd;
60
+ });
61
+ var onItemRemove = PropContext.usePropStore(function (state) {
62
+ return state.onItemRemove;
63
+ });
64
+ var onItemChange = PropContext.usePropStore(function (state) {
65
+ return state.onItemChange;
66
+ });
67
+ var onAnEventTrigger = PropContext.usePropStore(function (state) {
68
+ return state.onAnEventTrigger;
69
+ });
70
+ var isMultipleItemSelected = activeElements.length > 1;
71
+ var foundItem = functions.findItemById(activeElements.length ? activeElements[0] : null, pages);
72
+ var selectedItems = hooks.useSelectedElements();
73
+
74
+ var moveItemWithKeyboard = function moveItemWithKeyboard(event, direction, value) {
75
+ event.preventDefault();
76
+ selectedItems.forEach(function (item) {
77
+ var _objectSpread2;
78
+
79
+ if (item.isLocked) {
80
+ return false;
81
+ }
82
+
83
+ onItemChange({
84
+ id: item.id
85
+ }, _objectSpread(_objectSpread({}, functions.getDimensions(item)), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, direction, item[direction] + value), _defineProperty(_objectSpread2, "pageID", item.pageID), _objectSpread2)));
86
+ });
87
+ };
88
+
89
+ var selectNextOrPrevElement = function selectNextOrPrevElement(event, deletedItem) {
90
+ if (event.preventDefault) event.preventDefault();
91
+ var referenceItem = deletedItem ? deletedItem : foundItem;
92
+ var page = pages.find(function (_page) {
93
+ return _page.id === referenceItem.pageID;
94
+ });
95
+ if (!page || page && !page.items.length) return resetActiveElements();
96
+ var items = page.items;
97
+ var currentIndex = items.findIndex(function (item) {
98
+ return item.id === referenceItem.id;
99
+ }); // Pages are not updated in time so here is an unnecessary check
100
+
101
+ if (items.length === 1 && deletedItem) {
102
+ return resetActiveElements();
103
+ }
104
+
105
+ if (event.shiftKey) {
106
+ if (items[currentIndex - 1]) setActiveElements(items[currentIndex - 1].id);else setActiveElements(items[items.length - 1].id);
107
+ } else if (items[currentIndex + 1]) {
108
+ setActiveElements(items[currentIndex + 1].id);
109
+ } else setActiveElements(items[0].id);
110
+ };
111
+
112
+ var onItemRemoveFromPage = function onItemRemoveFromPage(e) {
113
+ // Firefox updates browser history on backspace
114
+ e.preventDefault();
115
+ if (isMultipleItemSelected) return;
116
+
117
+ if (foundItem.isLocked) {
118
+ return false;
119
+ }
120
+
121
+ resetActiveElements();
122
+ onItemRemove(foundItem);
123
+ selectNextOrPrevElement({
124
+ shiftKey: false
125
+ }, foundItem);
126
+ onAnEventTrigger('removeItem', foundItem.itemType);
127
+ };
128
+
129
+ var handlePaste = function handlePaste() {
130
+ if (isMultipleItemSelected) return;
131
+ var itemID = generateId();
132
+ var pageID = functions.getMostVisiblePage(true);
133
+ var offset = itemToPaste.pageID === pageID ? 50 : 0;
134
+
135
+ var item = _objectSpread(_objectSpread({}, itemToPaste), {}, {
136
+ id: itemID,
137
+ left: itemToPaste.left + offset,
138
+ pageID: pageID,
139
+ top: itemToPaste.top + offset
140
+ });
141
+
142
+ onItemAdd(item);
143
+ onAnEventTrigger('pasteItem', itemToPaste.itemType);
144
+ setActiveElements(itemID); // set as last reference to paste
145
+
146
+ setItemToPaste(item);
147
+ };
148
+
149
+ var keyboardActions = function keyboardActions(event) {
150
+ var key = event.key,
151
+ metaKey = event.metaKey,
152
+ shiftKey = event.shiftKey;
153
+
154
+ if (metaKey) {
155
+ if (key === 'l') {
156
+ // Lock
157
+ if (isMultipleItemSelected) return;
158
+ event.preventDefault(); // Dont focus to URL bar
159
+
160
+ onAnEventTrigger(foundItem.isLocked ? 'unlockReportItem' : 'lockReportItem', foundItem.itemType);
161
+ onItemChange({
162
+ id: foundItem.id
163
+ }, {
164
+ isLocked: foundItem.isLocked ? false : true
165
+ });
166
+ return;
167
+ }
168
+
169
+ if (key === 'c' || key === 'x') {
170
+ if (isMultipleItemSelected) return; // Copy or Cut
171
+
172
+ if (key === 'x') {
173
+ onItemRemoveFromPage(event);
174
+ onAnEventTrigger('cutItem', foundItem.itemType);
175
+ } else {
176
+ onAnEventTrigger('copyItem', foundItem.itemType);
177
+ }
178
+
179
+ setItemToPaste(foundItem);
180
+ return;
181
+ }
182
+
183
+ if (foundItem && key === 'd') {
184
+ if (isMultipleItemSelected) return; // Duplicate
185
+
186
+ event.preventDefault();
187
+ var itemID = generateId();
188
+ onItemAdd(_objectSpread(_objectSpread({}, foundItem), {}, {
189
+ id: itemID,
190
+ left: foundItem.left + 50,
191
+ top: foundItem.top + 50
192
+ }));
193
+ onAnEventTrigger('duplicateItem', foundItem.itemType);
194
+ setActiveElements(itemID);
195
+
196
+ if (!isRightPanelOpen) {
197
+ setIsRightPanelOpen(true);
198
+ }
199
+
200
+ return;
201
+ }
202
+ }
203
+
204
+ keyDownCount.current++;
205
+ var movementValue = shiftKey ? 10 : 1 + keyDownCount.current; // Others
206
+
207
+ switch (key) {
208
+ case 'Backspace':
209
+ return onItemRemoveFromPage(event);
210
+
211
+ case 'Delete':
212
+ return onItemRemoveFromPage(event);
213
+
214
+ case 'Escape':
215
+ return resetActiveElements();
216
+
217
+ case 'ArrowLeft':
218
+ return moveItemWithKeyboard(event, 'left', -movementValue);
219
+
220
+ case 'ArrowUp':
221
+ return moveItemWithKeyboard(event, 'top', -movementValue);
222
+
223
+ case 'ArrowRight':
224
+ return moveItemWithKeyboard(event, 'left', movementValue);
225
+
226
+ case 'ArrowDown':
227
+ return moveItemWithKeyboard(event, 'top', movementValue);
228
+
229
+ case 'Tab':
230
+ return selectNextOrPrevElement(event);
231
+ }
232
+ };
233
+
234
+ var shouldSuppressKeyboardEvent = function shouldSuppressKeyboardEvent(e) {
235
+ return eventIgnoredRoles.EVENT_IGNORED_ROLES.some(function (role) {
236
+ return e.target.closest("[role=".concat(role, "]"));
237
+ });
238
+ };
239
+
240
+ var handleKeyboardEvent = function handleKeyboardEvent(e) {
241
+ var shouldPaste = itemToPaste && e.key === 'v' && e.metaKey;
242
+
243
+ if (shouldSuppressKeyboardEvent(e)) {
244
+ return;
245
+ }
246
+
247
+ if (activeElements.length && !shouldPaste) {
248
+ var arrowKeyCodes = ['ArrowLeft', 'ArrowUp', 'ArrowDown', 'ArrowBottom'];
249
+ if (arrowKeyCodes.includes(e.key)) e.preventDefault();
250
+ keyboardActions(e);
251
+ } else if (shouldPaste) {
252
+ handlePaste();
253
+ }
254
+ };
255
+
256
+ hooks.useEventListener('keydown', handleKeyboardEvent);
257
+ hooks.useEventListener('keyup', function () {
258
+ keyDownCount.current = 0;
259
+ });
260
+ };
261
+
262
+ module.exports = useKeyboardActions;
263
+ //# sourceMappingURL=useKeyboardActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardActions.js","sources":["../../../src/utils/useKeyboardActions.js"],"sourcesContent":["/* eslint-disable complexity */\nimport { useRef, useState } from 'react';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { usePropStore } from '../contexts/PropContext';\nimport { findItemById, getDimensions, getMostVisiblePage } from './functions';\nimport { useEventListener, useSelectedElements } from './hooks';\nimport { EVENT_IGNORED_ROLES } from '../constants/eventIgnoredRoles';\nimport generateId from './generateId';\n\nconst useKeyboardActions = () => {\n const [itemToPaste, setItemToPaste] = useState(null);\n const keyDownCount = useRef(null);\n\n const activeElements = useBuilderStore(state => state.activeElements);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const setActiveElements = useBuilderStore(state => state.setActiveElements);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n\n const pages = usePropStore(state => state.pages);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const isMultipleItemSelected = activeElements.length > 1;\n\n const foundItem = findItemById(activeElements.length ? activeElements[0] : null, pages);\n\n const selectedItems = useSelectedElements();\n const moveItemWithKeyboard = (event, direction, value) => {\n event.preventDefault();\n selectedItems.forEach(item => {\n if (item.isLocked) {\n return false;\n }\n onItemChange(\n { id: item.id },\n {\n ...getDimensions(item),\n [direction]: item[direction] + value,\n pageID: item.pageID,\n },\n );\n });\n };\n\n const selectNextOrPrevElement = (event, deletedItem) => {\n if (event.preventDefault) event.preventDefault();\n const referenceItem = deletedItem ? deletedItem : foundItem;\n\n const page = pages.find(_page => _page.id === referenceItem.pageID);\n if (!page || (page && !page.items.length)) return resetActiveElements();\n const { items } = page;\n\n const currentIndex = items.findIndex(item => item.id === referenceItem.id);\n\n // Pages are not updated in time so here is an unnecessary check\n if (items.length === 1 && deletedItem) {\n return resetActiveElements();\n }\n\n if (event.shiftKey) {\n if (items[currentIndex - 1]) setActiveElements(items[currentIndex - 1].id);\n else setActiveElements(items[items.length - 1].id);\n } else if (items[currentIndex + 1]) {\n setActiveElements(items[currentIndex + 1].id);\n } else setActiveElements(items[0].id);\n };\n\n const onItemRemoveFromPage = e => {\n // Firefox updates browser history on backspace\n e.preventDefault();\n if (isMultipleItemSelected) return;\n if (foundItem.isLocked) {\n return false;\n }\n resetActiveElements();\n onItemRemove(foundItem);\n selectNextOrPrevElement({ shiftKey: false }, foundItem);\n onAnEventTrigger('removeItem', foundItem.itemType);\n };\n\n const handlePaste = () => {\n if (isMultipleItemSelected) return;\n const itemID = generateId();\n const pageID = getMostVisiblePage(true);\n const offset = itemToPaste.pageID === pageID ? 50 : 0;\n\n const item = {\n ...itemToPaste,\n id: itemID,\n left: itemToPaste.left + offset,\n pageID,\n top: itemToPaste.top + offset,\n };\n\n onItemAdd(item);\n\n onAnEventTrigger('pasteItem', itemToPaste.itemType);\n setActiveElements(itemID);\n // set as last reference to paste\n setItemToPaste(item);\n };\n\n const keyboardActions = event => {\n const {\n key,\n metaKey,\n shiftKey,\n } = event;\n\n if (metaKey) {\n if (key === 'l') {\n // Lock\n if (isMultipleItemSelected) return;\n event.preventDefault(); // Dont focus to URL bar\n onAnEventTrigger(\n foundItem.isLocked ? 'unlockReportItem' : 'lockReportItem',\n foundItem.itemType,\n );\n onItemChange(\n { id: foundItem.id },\n { isLocked: foundItem.isLocked ? false : true },\n );\n return;\n }\n\n if (key === 'c' || key === 'x') {\n if (isMultipleItemSelected) return;\n // Copy or Cut\n if (key === 'x') {\n onItemRemoveFromPage(event);\n onAnEventTrigger('cutItem', foundItem.itemType);\n } else {\n onAnEventTrigger('copyItem', foundItem.itemType);\n }\n\n setItemToPaste(foundItem);\n return;\n }\n\n if (foundItem && key === 'd') {\n if (isMultipleItemSelected) return;\n // Duplicate\n event.preventDefault();\n const itemID = generateId();\n onItemAdd({\n ...foundItem,\n id: itemID,\n left: foundItem.left + 50,\n top: foundItem.top + 50,\n });\n onAnEventTrigger('duplicateItem', foundItem.itemType);\n setActiveElements(itemID);\n if (!isRightPanelOpen) {\n setIsRightPanelOpen(true);\n }\n return;\n }\n }\n\n keyDownCount.current++;\n const movementValue = shiftKey ? 10 : 1 + keyDownCount.current;\n\n // Others\n switch (key) {\n case 'Backspace': return onItemRemoveFromPage(event);\n case 'Delete': return onItemRemoveFromPage(event);\n case 'Escape': return resetActiveElements();\n case 'ArrowLeft': return moveItemWithKeyboard(event, 'left', -movementValue);\n case 'ArrowUp': return moveItemWithKeyboard(event, 'top', -movementValue);\n case 'ArrowRight': return moveItemWithKeyboard(event, 'left', movementValue);\n case 'ArrowDown': return moveItemWithKeyboard(event, 'top', movementValue);\n case 'Tab': return selectNextOrPrevElement(event);\n default:\n }\n };\n\n const shouldSuppressKeyboardEvent = e => (\n EVENT_IGNORED_ROLES.some(role => e.target.closest(`[role=${role}]`))\n );\n\n const handleKeyboardEvent = e => {\n const shouldPaste = itemToPaste && e.key === 'v' && e.metaKey;\n\n if (shouldSuppressKeyboardEvent(e)) {\n return;\n }\n\n if (activeElements.length && !shouldPaste) {\n const arrowKeyCodes = ['ArrowLeft', 'ArrowUp', 'ArrowDown', 'ArrowBottom'];\n if (arrowKeyCodes.includes(e.key)) e.preventDefault();\n keyboardActions(e);\n } else if (shouldPaste) {\n handlePaste();\n }\n };\n\n useEventListener('keydown', handleKeyboardEvent);\n useEventListener('keyup', () => { keyDownCount.current = 0; });\n};\n\nexport default useKeyboardActions;\n"],"names":["useKeyboardActions","useState","itemToPaste","setItemToPaste","keyDownCount","useRef","activeElements","useBuilderStore","state","isRightPanelOpen","setActiveElements","setIsRightPanelOpen","resetActiveElements","pages","usePropStore","onItemAdd","onItemRemove","onItemChange","onAnEventTrigger","isMultipleItemSelected","length","foundItem","findItemById","selectedItems","useSelectedElements","moveItemWithKeyboard","event","direction","value","preventDefault","forEach","item","isLocked","id","getDimensions","pageID","selectNextOrPrevElement","deletedItem","referenceItem","page","find","_page","items","currentIndex","findIndex","shiftKey","onItemRemoveFromPage","e","itemType","handlePaste","itemID","generateId","getMostVisiblePage","offset","left","top","keyboardActions","key","metaKey","current","movementValue","shouldSuppressKeyboardEvent","EVENT_IGNORED_ROLES","some","role","target","closest","handleKeyboardEvent","shouldPaste","arrowKeyCodes","includes","useEventListener"],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ 'use strict';
2
+
3
+ require('core-js/modules/es.array.find.js');
4
+ require('core-js/modules/es.regexp.exec.js');
5
+ require('core-js/modules/es.string.replace.js');
6
+ var React = require('react');
7
+ var BuilderContext = require('../contexts/BuilderContext.js');
8
+ var PropContext = require('../contexts/PropContext.js');
9
+ var functions = require('./functions.js');
10
+
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+
13
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
+
15
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
+
17
+ 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; }
18
+
19
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
20
+
21
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
+ var EXCLUDED_SELECTORS = ['.reportItem', '.reportItemWrapper', '.pageActions', '.jfReport-addSlide', '[role="button"]', 'button', '.contextMenu', '.reportItemResizer-wrapper'];
23
+
24
+ var useMarqueeSelection = function useMarqueeSelection(canvasRef) {
25
+ var _useState = React.useState(false),
26
+ _useState2 = _slicedToArray(_useState, 2),
27
+ isSelecting = _useState2[0],
28
+ setIsSelecting = _useState2[1];
29
+
30
+ var _useState3 = React.useState(null),
31
+ _useState4 = _slicedToArray(_useState3, 2),
32
+ selectionBox = _useState4[0],
33
+ setSelectionBox = _useState4[1];
34
+
35
+ var _useState5 = React.useState(null),
36
+ _useState6 = _slicedToArray(_useState5, 2),
37
+ selectionPageId = _useState6[0],
38
+ setSelectionPageId = _useState6[1];
39
+
40
+ var selectionStartRef = React.useRef(null);
41
+ var pages = PropContext.usePropStore(function (state) {
42
+ return state.pages;
43
+ });
44
+ var zoom = BuilderContext.useBuilderStore(function (state) {
45
+ return state.zoom;
46
+ });
47
+ var resetActiveElements = BuilderContext.useBuilderStore(function (state) {
48
+ return state.resetActiveElements;
49
+ });
50
+ var setActiveElementsSelection = BuilderContext.useBuilderStore(function (state) {
51
+ return state.setActiveElementsSelection;
52
+ });
53
+ var handleMouseDown = React.useCallback(function (e) {
54
+ if (e.button !== 0) return;
55
+ var target = e.target; // Don't start selection if clicking on an interactive element
56
+
57
+ if (EXCLUDED_SELECTORS.some(function (selector) {
58
+ return target.closest(selector);
59
+ })) {
60
+ return;
61
+ } // Find the page element from the click target
62
+
63
+
64
+ var pageElement = target.closest('.jfReport-page') || target.closest('[id*="presentation-page-"]');
65
+ if (!pageElement) return;
66
+ var pageId = pageElement.getAttribute('data-id') || pageElement.getAttribute('id').replace('presentation-page-', '');
67
+ if (!pageId) return;
68
+ e.preventDefault();
69
+ var pageRect = pageElement.getBoundingClientRect();
70
+ var startX = e.clientX - pageRect.left;
71
+ var startY = e.clientY - pageRect.top;
72
+ selectionStartRef.current = {
73
+ pageRect: pageRect,
74
+ startX: startX,
75
+ startY: startY
76
+ };
77
+ setSelectionPageId(pageId);
78
+ setSelectionBox({
79
+ endX: startX,
80
+ endY: startY,
81
+ startX: startX,
82
+ startY: startY
83
+ });
84
+ setIsSelecting(true);
85
+ resetActiveElements();
86
+ }, [resetActiveElements]);
87
+ var handleMouseMove = React.useCallback(function (e) {
88
+ if (!isSelecting || !selectionStartRef.current) return;
89
+ var _selectionStartRef$cu = selectionStartRef.current,
90
+ pageRect = _selectionStartRef$cu.pageRect,
91
+ startX = _selectionStartRef$cu.startX,
92
+ startY = _selectionStartRef$cu.startY;
93
+ var endX = Math.max(0, Math.min(e.clientX - pageRect.left, pageRect.width));
94
+ var endY = Math.max(0, Math.min(e.clientY - pageRect.top, pageRect.height));
95
+ setSelectionBox({
96
+ endX: endX,
97
+ endY: endY,
98
+ startX: startX,
99
+ startY: startY
100
+ });
101
+ }, [isSelecting]);
102
+ var handleMouseUp = React.useCallback(function () {
103
+ if (!isSelecting || !selectionBox || !selectionPageId) {
104
+ setIsSelecting(false);
105
+ setSelectionBox(null);
106
+ selectionStartRef.current = null;
107
+ return;
108
+ }
109
+
110
+ var page = pages.find(function (p) {
111
+ return p.id === selectionPageId;
112
+ });
113
+
114
+ if (page !== null && page !== void 0 && page.items) {
115
+ var selectedItemIds = functions.getItemsInSelectionBox(selectionBox, page.items, zoom);
116
+
117
+ if (selectedItemIds.length > 0) {
118
+ setActiveElementsSelection(selectedItemIds);
119
+ }
120
+ }
121
+
122
+ setIsSelecting(false);
123
+ setSelectionBox(null);
124
+ setSelectionPageId(null);
125
+ selectionStartRef.current = null;
126
+ }, [isSelecting, selectionBox, selectionPageId, pages, zoom, setActiveElementsSelection]); // Canvas mouse down listener
127
+
128
+ React.useEffect(function () {
129
+ var canvas = canvasRef === null || canvasRef === void 0 ? void 0 : canvasRef.current;
130
+ if (!canvas) return;
131
+ canvas.addEventListener('mousedown', handleMouseDown);
132
+ return function () {
133
+ return canvas.removeEventListener('mousedown', handleMouseDown);
134
+ };
135
+ }, [canvasRef, handleMouseDown]); // Global mouse event listeners for drag
136
+
137
+ React.useEffect(function () {
138
+ if (!isSelecting) return;
139
+ document.body.style.cursor = 'crosshair';
140
+ document.addEventListener('mousemove', handleMouseMove);
141
+ document.addEventListener('mouseup', handleMouseUp);
142
+ return function () {
143
+ document.body.style.cursor = '';
144
+ document.removeEventListener('mousemove', handleMouseMove);
145
+ document.removeEventListener('mouseup', handleMouseUp);
146
+ };
147
+ }, [isSelecting, handleMouseMove, handleMouseUp]);
148
+ return {
149
+ isSelecting: isSelecting,
150
+ selectionBox: selectionBox,
151
+ selectionPageId: selectionPageId
152
+ };
153
+ };
154
+
155
+ module.exports = useMarqueeSelection;
156
+ //# sourceMappingURL=useMarqueeSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMarqueeSelection.js","sources":["../../../src/utils/useMarqueeSelection.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { usePropStore } from '../contexts/PropContext';\nimport { getItemsInSelectionBox } from './functions';\n\nconst EXCLUDED_SELECTORS = [\n '.reportItem',\n '.reportItemWrapper',\n '.pageActions',\n '.jfReport-addSlide',\n '[role=\"button\"]',\n 'button',\n '.contextMenu',\n '.reportItemResizer-wrapper',\n];\n\nconst useMarqueeSelection = canvasRef => {\n const [isSelecting, setIsSelecting] = useState(false);\n const [selectionBox, setSelectionBox] = useState(null);\n const [selectionPageId, setSelectionPageId] = useState(null);\n const selectionStartRef = useRef(null);\n\n const pages = usePropStore(state => state.pages);\n const zoom = useBuilderStore(state => state.zoom);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setActiveElementsSelection = useBuilderStore(state => state.setActiveElementsSelection);\n\n const handleMouseDown = useCallback(e => {\n if (e.button !== 0) return;\n\n const { target } = e;\n\n // Don't start selection if clicking on an interactive element\n if (EXCLUDED_SELECTORS.some(selector => target.closest(selector))) {\n return;\n }\n\n // Find the page element from the click target\n const pageElement = target.closest('.jfReport-page')\n || target.closest('[id*=\"presentation-page-\"]');\n if (!pageElement) return;\n\n const pageId = pageElement.getAttribute('data-id')\n || pageElement.getAttribute('id').replace('presentation-page-', '');\n if (!pageId) return;\n\n e.preventDefault();\n\n const pageRect = pageElement.getBoundingClientRect();\n const startX = e.clientX - pageRect.left;\n const startY = e.clientY - pageRect.top;\n\n selectionStartRef.current = { pageRect, startX, startY };\n setSelectionPageId(pageId);\n setSelectionBox({\n endX: startX,\n endY: startY,\n startX,\n startY,\n });\n setIsSelecting(true);\n resetActiveElements();\n }, [resetActiveElements]);\n\n const handleMouseMove = useCallback(e => {\n if (!isSelecting || !selectionStartRef.current) return;\n\n const { pageRect, startX, startY } = selectionStartRef.current;\n const endX = Math.max(0, Math.min(e.clientX - pageRect.left, pageRect.width));\n const endY = Math.max(0, Math.min(e.clientY - pageRect.top, pageRect.height));\n\n setSelectionBox({\n endX,\n endY,\n startX,\n startY,\n });\n }, [isSelecting]);\n\n const handleMouseUp = useCallback(() => {\n if (!isSelecting || !selectionBox || !selectionPageId) {\n setIsSelecting(false);\n setSelectionBox(null);\n selectionStartRef.current = null;\n return;\n }\n\n const page = pages.find(p => p.id === selectionPageId);\n\n if (page?.items) {\n const selectedItemIds = getItemsInSelectionBox(selectionBox, page.items, zoom);\n if (selectedItemIds.length > 0) {\n setActiveElementsSelection(selectedItemIds);\n }\n }\n\n setIsSelecting(false);\n setSelectionBox(null);\n setSelectionPageId(null);\n selectionStartRef.current = null;\n }, [isSelecting, selectionBox, selectionPageId, pages, zoom, setActiveElementsSelection]);\n\n // Canvas mouse down listener\n useEffect(() => {\n const canvas = canvasRef?.current;\n if (!canvas) return;\n\n canvas.addEventListener('mousedown', handleMouseDown);\n return () => canvas.removeEventListener('mousedown', handleMouseDown);\n }, [canvasRef, handleMouseDown]);\n\n // Global mouse event listeners for drag\n useEffect(() => {\n if (!isSelecting) return;\n\n document.body.style.cursor = 'crosshair';\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n\n return () => {\n document.body.style.cursor = '';\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [isSelecting, handleMouseMove, handleMouseUp]);\n\n return {\n isSelecting,\n selectionBox,\n selectionPageId,\n };\n};\n\nexport default useMarqueeSelection;\n"],"names":["EXCLUDED_SELECTORS","useMarqueeSelection","canvasRef","useState","isSelecting","setIsSelecting","selectionBox","setSelectionBox","selectionPageId","setSelectionPageId","selectionStartRef","useRef","pages","usePropStore","state","zoom","useBuilderStore","resetActiveElements","setActiveElementsSelection","handleMouseDown","useCallback","e","button","target","some","selector","closest","pageElement","pageId","getAttribute","replace","preventDefault","pageRect","getBoundingClientRect","startX","clientX","left","startY","clientY","top","current","endX","endY","handleMouseMove","Math","max","min","width","height","handleMouseUp","page","find","p","id","items","selectedItemIds","getItemsInSelectionBox","length","useEffect","canvas","addEventListener","removeEventListener","document","body","style","cursor"],"mappings":"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"}
@@ -7,10 +7,13 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
7
7
  function SvgSearch(props) {
8
8
  return /*#__PURE__*/createElement("svg", _extends({
9
9
  xmlns: "http://www.w3.org/2000/svg",
10
- viewBox: "0 0 16 16"
10
+ fill: "currentColor",
11
+ viewBox: "0 0 24 24"
11
12
  }, props), _path || (_path = /*#__PURE__*/createElement("path", {
12
13
  fill: "#6A7690",
13
- d: "M1.88 6.83a4.88 4.88 0 014.8-4.93 4.88 4.88 0 014.82 4.93 4.88 4.88 0 01-4.81 4.94 4.88 4.88 0 01-4.82-4.94m13 7.76L11 10.62a5.9 5.9 0 001.38-3.79A5.77 5.77 0 006.67 1 5.77 5.77 0 001 6.83a5.77 5.77 0 005.69 5.84c1.4 0 2.7-.54 3.7-1.41l3.86 3.97c.08.08.2.13.31.13a.45.45 0 10.3-.77"
14
+ fillRule: "evenodd",
15
+ d: "M15.763 17.175a8.5 8.5 0 111.413-1.413l.031.03 4.5 4.5a1 1 0 01-1.414 1.415l-4.5-4.5a.903.903 0 01-.03-.032zM17 10.5a6.5 6.5 0 11-13 0 6.5 6.5 0 0113 0z",
16
+ clipRule: "evenodd"
14
17
  })));
15
18
  }
16
19
 
@@ -1 +1 @@
1
- {"version":3,"file":"search.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"search.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
@@ -1,39 +1,19 @@
1
1
  import { createElement } from 'react';
2
2
 
3
- var _rect, _rect2, _rect3, _rect4;
3
+ var _path;
4
4
 
5
5
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
6
6
 
7
7
  function SvgAllSlides(props) {
8
8
  return /*#__PURE__*/createElement("svg", _extends({
9
- viewBox: "0 0 16 16",
10
- fill: "none",
11
- xmlns: "http://www.w3.org/2000/svg"
12
- }, props), _rect || (_rect = /*#__PURE__*/createElement("rect", {
13
- width: 7,
14
- height: 7,
15
- rx: 1.5,
16
- fill: "#fff"
17
- })), _rect2 || (_rect2 = /*#__PURE__*/createElement("rect", {
18
- y: 9,
19
- width: 7,
20
- height: 7,
21
- rx: 1.5,
22
- fill: "#fff"
23
- })), _rect3 || (_rect3 = /*#__PURE__*/createElement("rect", {
24
- x: 9,
25
- width: 7,
26
- height: 7,
27
- rx: 1.5,
28
- fill: "#fff"
29
- })), _rect4 || (_rect4 = /*#__PURE__*/createElement("rect", {
30
- opacity: 0.3,
31
- x: 9,
32
- y: 9,
33
- width: 7,
34
- height: 7,
35
- rx: 1.5,
36
- fill: "#fff"
9
+ xmlns: "http://www.w3.org/2000/svg",
10
+ fill: "currentColor",
11
+ viewBox: "0 0 24 24"
12
+ }, props), _path || (_path = /*#__PURE__*/createElement("path", {
13
+ fill: "#fff",
14
+ fillRule: "evenodd",
15
+ d: "M17.467 2.293a1 1 0 00-1.414 0L11.81 6.536a1 1 0 000 1.414l4.243 4.242a1 1 0 001.414 0L21.71 7.95a1 1 0 000-1.414l-4.243-4.243zM3 4a1 1 0 00-1 1v6a1 1 0 001 1h6a1 1 0 001-1V5a1 1 0 00-1-1H3zm0 10a1 1 0 00-1 1v6a1 1 0 001 1h6a1 1 0 001-1v-6a1 1 0 00-1-1H3zm9 1a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1h-6a1 1 0 01-1-1v-6z",
16
+ clipRule: "evenodd"
37
17
  })));
38
18
  }
39
19
 
@@ -1 +1 @@
1
- {"version":3,"file":"all_slides.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"all_slides.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
@@ -7,10 +7,12 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
7
7
  function SvgClose(props) {
8
8
  return /*#__PURE__*/createElement("svg", _extends({
9
9
  xmlns: "http://www.w3.org/2000/svg",
10
- viewBox: "0 0 14 14"
10
+ fill: "currentColor",
11
+ viewBox: "0 0 24 24"
11
12
  }, props), _path || (_path = /*#__PURE__*/createElement("path", {
12
13
  fillRule: "evenodd",
13
- d: "M8.128 7l5.639 5.639a.798.798 0 01-1.128 1.128L7 8.127l-5.639 5.64a.798.798 0 01-1.128-1.128L5.873 7 .232 1.361A.798.798 0 011.361.233L7 5.873l5.639-5.64a.798.798 0 011.128 1.128L8.127 7z"
14
+ d: "M17.707 7.707a1 1 0 00-1.414-1.414L12 10.586 7.707 6.293a1 1 0 00-1.414 1.414L10.586 12l-4.293 4.293a1 1 0 101.414 1.414L12 13.414l4.293 4.293a1 1 0 001.414-1.414L13.414 12l4.293-4.293z",
15
+ clipRule: "evenodd"
14
16
  })));
15
17
  }
16
18
 
@@ -1 +1 @@
1
- {"version":3,"file":"close.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"close.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -7,10 +7,12 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
7
7
  function SvgCustomize(props) {
8
8
  return /*#__PURE__*/createElement("svg", _extends({
9
9
  xmlns: "http://www.w3.org/2000/svg",
10
- viewBox: "0 0 16 16"
10
+ fill: "currentColor",
11
+ viewBox: "0 0 24 24"
11
12
  }, props), _path || (_path = /*#__PURE__*/createElement("path", {
12
13
  fillRule: "evenodd",
13
- d: "M8.282 9.353a1.204 1.204 0 010-1.703l4.378-4.378a.172.172 0 000-.244l-1.946-1.946a.172.172 0 00-.243 0l-.973.973.608.608a.688.688 0 010 .973l-6.81 6.811a.688.688 0 01-.974 0L.376 8.501a.688.688 0 010-.973L7.187.718a.688.688 0 01.973 0l.608.608.973-.973c.47-.47 1.233-.47 1.703 0l1.946 1.946c.47.47.47 1.232 0 1.702L9.01 8.38a.172.172 0 000 .243l1.946 1.946.122-.122a.688.688 0 01.973 0l3.405 3.406a.688.688 0 010 .973l-.973.972a.688.688 0 01-.973 0l-3.405-3.405a.688.688 0 010-.973l.122-.121-1.946-1.946z"
14
+ d: "M2.877 10.69a3 3 0 000 4.242l1.414 1.414a3 3 0 004.243 0L15.25 9.63a3 3 0 000-4.243l.763-.763a.421.421 0 01.596 0l2.53 2.531a1 1 0 010 1.414l-3.535 3.536a2.994 2.994 0 00-.86 2.462 2 2 0 00.152 2.66l3.689 3.688a2 2 0 102.828-2.829l-3.688-3.688a1.991 1.991 0 00-.935-.528.997.997 0 01.228-.351l3.536-3.536a3 3 0 000-4.242l-2.531-2.53a2.42 2.42 0 00-3.424 0l-.763.762a3 3 0 00-4.243 0L2.877 10.69z",
15
+ clipRule: "evenodd"
14
16
  })));
15
17
  }
16
18
 
@@ -1 +1 @@
1
- {"version":3,"file":"customize.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"customize.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -7,9 +7,12 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
7
7
  function SvgDuplicate(props) {
8
8
  return /*#__PURE__*/createElement("svg", _extends({
9
9
  xmlns: "http://www.w3.org/2000/svg",
10
- viewBox: "0 0 10 12"
10
+ fill: "currentColor",
11
+ viewBox: "0 0 24 24"
11
12
  }, props), _path || (_path = /*#__PURE__*/createElement("path", {
12
- d: "M6.528 2.371c.406 0 .734.329.734.735v8.16a.734.734 0 01-.734.734H.734A.734.734 0 010 11.266v-8.16C0 2.7.329 2.37.734 2.37h5.794zM8.976.005a.734.734 0 01.816.669V8.85a.734.734 0 01-.816.735h-.898V2.24a.734.734 0 00-.734-.735H2.53V.74c0-.405.328-.734.734-.734z"
13
+ fillRule: "evenodd",
14
+ d: "M16 5.5V4a3 3 0 00-3-3H4a3 3 0 00-3 3v9a3 3 0 003 3h1.5a.5.5 0 00.5-.5V9a3 3 0 013-3h6.5a.5.5 0 00.5-.5zM11 8a3 3 0 00-3 3v9a3 3 0 003 3h9a3 3 0 003-3v-9a3 3 0 00-3-3h-9z",
15
+ clipRule: "evenodd"
13
16
  })));
14
17
  }
15
18
 
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"duplicate.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -1,18 +1,18 @@
1
1
  import { createElement } from 'react';
2
2
 
3
- var _path, _path2;
3
+ var _path;
4
4
 
5
5
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
6
6
 
7
7
  function SvgFitScreen(props) {
8
8
  return /*#__PURE__*/createElement("svg", _extends({
9
- viewBox: "0 0 20 20",
10
- fill: "none",
11
- xmlns: "http://www.w3.org/2000/svg"
9
+ xmlns: "http://www.w3.org/2000/svg",
10
+ fill: "currentColor",
11
+ viewBox: "0 0 24 24"
12
12
  }, props), _path || (_path = /*#__PURE__*/createElement("path", {
13
- d: "M18.061 0C19.132 0 20 .868 20 1.939v3.877a.83.83 0 11-1.662 0V1.94a.277.277 0 00-.277-.277h-3.877a.83.83 0 110-1.662h3.877zM.831 13.353a.83.83 0 01.83.83v3.878c0 .153.125.277.278.277h3.877a.83.83 0 110 1.662H1.94A1.939 1.939 0 010 18.061v-3.877a.83.83 0 01.83-.831z"
14
- })), _path2 || (_path2 = /*#__PURE__*/createElement("path", {
15
- d: "M1.552 18.448a.909.909 0 010-1.285l3.48-3.48a.91.91 0 011.286 1.285l-3.48 3.48a.909.909 0 01-1.286 0zM18.448 1.552a.91.91 0 010 1.285l-3.48 3.48a.909.909 0 11-1.286-1.285l3.48-3.48a.909.909 0 011.286 0z"
13
+ fillRule: "evenodd",
14
+ d: "M15 2a1 1 0 100 2h3.586l-5.293 5.293a1 1 0 001.414 1.414L20 5.414V9a1 1 0 102 0V3a1 1 0 00-1-1h-6zM4 15a1 1 0 10-2 0v6a1 1 0 001 1h6a1 1 0 100-2H5.414l5.293-5.293a1 1 0 00-1.414-1.414L4 18.586V15z",
15
+ clipRule: "evenodd"
16
16
  })));
17
17
  }
18
18