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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. package/CHANGELOG.md +193 -0
  2. package/lib/cjs/components/AlignmentGuides.js +11 -12
  3. package/lib/cjs/components/AlignmentGuides.js.map +1 -1
  4. package/lib/cjs/components/Builder/Builder.js +21 -131
  5. package/lib/cjs/components/Builder/Builder.js.map +1 -1
  6. package/lib/cjs/components/Builder/BuilderWrapper.js +64 -0
  7. package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -0
  8. package/lib/cjs/components/Builder/ContextMenu.js +31 -30
  9. package/lib/cjs/components/Builder/ContextMenu.js.map +1 -1
  10. package/lib/cjs/components/Builder/DndWrapper.js +16 -19
  11. package/lib/cjs/components/Builder/DndWrapper.js.map +1 -1
  12. package/lib/cjs/components/Builder/Element.js +51 -44
  13. package/lib/cjs/components/Builder/Element.js.map +1 -1
  14. package/lib/cjs/components/Builder/Page.js +127 -82
  15. package/lib/cjs/components/Builder/Page.js.map +1 -1
  16. package/lib/cjs/components/Builder/PageActions.js +35 -37
  17. package/lib/cjs/components/Builder/PageActions.js.map +1 -1
  18. package/lib/cjs/components/Builder/PageAdder.js +10 -11
  19. package/lib/cjs/components/Builder/PageAdder.js.map +1 -1
  20. package/lib/cjs/components/Builder/Panel.js +8 -10
  21. package/lib/cjs/components/Builder/Panel.js.map +1 -1
  22. package/lib/cjs/components/Builder/ReportItemRenderer.js +7 -6
  23. package/lib/cjs/components/Builder/ReportItemRenderer.js.map +1 -1
  24. package/lib/cjs/components/Builder/Scene.js +75 -205
  25. package/lib/cjs/components/Builder/Scene.js.map +1 -1
  26. package/lib/cjs/components/Builder/SearchInput.js +27 -58
  27. package/lib/cjs/components/Builder/SearchInput.js.map +1 -1
  28. package/lib/cjs/components/Builder/Section.js +8 -10
  29. package/lib/cjs/components/Builder/Section.js.map +1 -1
  30. package/lib/cjs/components/Builder/Tabs.js +19 -16
  31. package/lib/cjs/components/Builder/Tabs.js.map +1 -1
  32. package/lib/cjs/components/Builder/ZoomControls.js +20 -34
  33. package/lib/cjs/components/Builder/ZoomControls.js.map +1 -1
  34. package/lib/cjs/components/DraggableItem/DraggableItem.js +165 -157
  35. package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
  36. package/lib/cjs/components/DraggableItem/DraggableItemActions.js +12 -14
  37. package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
  38. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +25 -22
  39. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  40. package/lib/cjs/components/Elements/Chart.js +3 -4
  41. package/lib/cjs/components/Elements/Chart.js.map +1 -1
  42. package/lib/cjs/components/Elements/Icon.js +3 -5
  43. package/lib/cjs/components/Elements/Icon.js.map +1 -1
  44. package/lib/cjs/components/Elements/Image.js +11 -12
  45. package/lib/cjs/components/Elements/Image.js.map +1 -1
  46. package/lib/cjs/components/Elements/RichText.js +16 -14
  47. package/lib/cjs/components/Elements/RichText.js.map +1 -1
  48. package/lib/cjs/components/Elements/Shapes.js +2 -4
  49. package/lib/cjs/components/Elements/Shapes.js.map +1 -1
  50. package/lib/cjs/components/ItemPositioner.js +6 -8
  51. package/lib/cjs/components/ItemPositioner.js.map +1 -1
  52. package/lib/cjs/components/PageItemResizer.js +3 -7
  53. package/lib/cjs/components/PageItemResizer.js.map +1 -1
  54. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js +25 -60
  55. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
  56. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +2 -4
  57. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +1 -1
  58. package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js +8 -15
  59. package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js.map +1 -1
  60. package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js +56 -21
  61. package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js.map +1 -1
  62. package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +54 -0
  63. package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +1 -0
  64. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js +143 -47
  65. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
  66. package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js +17 -18
  67. package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +1 -1
  68. package/lib/cjs/components/Panels/LeftPanel/Elements.js +48 -52
  69. package/lib/cjs/components/Panels/LeftPanel/Elements.js.map +1 -1
  70. package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js +6 -35
  71. package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
  72. package/lib/cjs/components/Panels/LeftPanel/LeftPanelCloser.js +4 -4
  73. package/lib/cjs/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
  74. package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js +4 -3
  75. package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
  76. package/lib/cjs/components/Panels/RightPanel/RightPanel.js +139 -144
  77. package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
  78. package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js +7 -4
  79. package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
  80. package/lib/cjs/components/Panels/RightPanel/Settings.js +21 -22
  81. package/lib/cjs/components/Panels/RightPanel/Settings.js.map +1 -1
  82. package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js +105 -95
  83. package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
  84. package/lib/cjs/components/Panels/SlidesPanel/PageThumbnailActions.js +17 -18
  85. package/lib/cjs/components/Panels/SlidesPanel/PageThumbnailActions.js.map +1 -1
  86. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +33 -67
  87. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  88. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js +9 -9
  89. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
  90. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js +62 -28
  91. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
  92. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js +54 -0
  93. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js.map +1 -0
  94. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js +8 -9
  95. package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
  96. package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js +163 -109
  97. package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  98. package/lib/cjs/components/Presentation/Presentation.js +19 -70
  99. package/lib/cjs/components/Presentation/Presentation.js.map +1 -1
  100. package/lib/cjs/components/Presentation/PresentationBar/PageNavigation.js +8 -10
  101. package/lib/cjs/components/Presentation/PresentationBar/PageNavigation.js.map +1 -1
  102. package/lib/cjs/components/Presentation/PresentationBar/PresentationActions.js +45 -12
  103. package/lib/cjs/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
  104. package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js +44 -86
  105. package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
  106. package/lib/cjs/components/Presentation/PresentationBar/SelectZoom.js +8 -10
  107. package/lib/cjs/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
  108. package/lib/cjs/components/Presentation/PresentationWrapper.js +56 -59
  109. package/lib/cjs/components/Presentation/PresentationWrapper.js.map +1 -1
  110. package/lib/cjs/components/Presentation/ProgressBar.js +4 -6
  111. package/lib/cjs/components/Presentation/ProgressBar.js.map +1 -1
  112. package/lib/cjs/components/Preview/Preview.js +14 -69
  113. package/lib/cjs/components/Preview/Preview.js.map +1 -1
  114. package/lib/cjs/components/Preview/StaticItem.js +7 -28
  115. package/lib/cjs/components/Preview/StaticItem.js.map +1 -1
  116. package/lib/cjs/components/Preview/StaticPage.js +19 -33
  117. package/lib/cjs/components/Preview/StaticPage.js.map +1 -1
  118. package/lib/cjs/components/Preview/StaticScene.js +34 -56
  119. package/lib/cjs/components/Preview/StaticScene.js.map +1 -1
  120. package/lib/cjs/components/Print/Print.js +18 -62
  121. package/lib/cjs/components/Print/Print.js.map +1 -1
  122. package/lib/cjs/components/Print/PrintModal.js +55 -0
  123. package/lib/cjs/components/Print/PrintModal.js.map +1 -0
  124. package/lib/cjs/components/Print/{PrintModeWithoutContext.js → PrintWrapper.js} +11 -42
  125. package/lib/cjs/components/Print/PrintWrapper.js.map +1 -0
  126. package/lib/cjs/components/Report.js +29 -47
  127. package/lib/cjs/components/Report.js.map +1 -1
  128. package/lib/cjs/components/ReportItemsWrapper.js +22 -36
  129. package/lib/cjs/components/ReportItemsWrapper.js.map +1 -1
  130. package/lib/cjs/components/ReportWrapper.js +28 -57
  131. package/lib/cjs/components/ReportWrapper.js.map +1 -1
  132. package/lib/cjs/components/Settings/Button.js +8 -10
  133. package/lib/cjs/components/Settings/Button.js.map +1 -1
  134. package/lib/cjs/components/Settings/CheckboxGroup.js +8 -10
  135. package/lib/cjs/components/Settings/CheckboxGroup.js.map +1 -1
  136. package/lib/cjs/components/Settings/ColorPicker.js +18 -13
  137. package/lib/cjs/components/Settings/ColorPicker.js.map +1 -1
  138. package/lib/cjs/components/Settings/Dropdown.js +10 -12
  139. package/lib/cjs/components/Settings/Dropdown.js.map +1 -1
  140. package/lib/cjs/components/Settings/FieldSet.js +3 -4
  141. package/lib/cjs/components/Settings/FieldSet.js.map +1 -1
  142. package/lib/cjs/components/Settings/IconSelectBox.js +8 -10
  143. package/lib/cjs/components/Settings/IconSelectBox.js.map +1 -1
  144. package/lib/cjs/components/Settings/ImagePicker/EnterURL.js +4 -6
  145. package/lib/cjs/components/Settings/ImagePicker/EnterURL.js.map +1 -1
  146. package/lib/cjs/components/Settings/ImagePicker/ImageThumbnailWithDelete.js +6 -8
  147. package/lib/cjs/components/Settings/ImagePicker/ImageThumbnailWithDelete.js.map +1 -1
  148. package/lib/cjs/components/Settings/ImageUrl.js +8 -10
  149. package/lib/cjs/components/Settings/ImageUrl.js.map +1 -1
  150. package/lib/cjs/components/Settings/LayoutSizeSettings.js +4 -6
  151. package/lib/cjs/components/Settings/LayoutSizeSettings.js.map +1 -1
  152. package/lib/cjs/components/Settings/Orientation.js +8 -10
  153. package/lib/cjs/components/Settings/Orientation.js.map +1 -1
  154. package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js +128 -0
  155. package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -0
  156. package/lib/cjs/components/Settings/PageLayer/LayerItem.js +91 -32
  157. package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
  158. package/lib/cjs/components/Settings/PageLayer/PageLayer.js +115 -50
  159. package/lib/cjs/components/Settings/PageLayer/PageLayer.js.map +1 -1
  160. package/lib/cjs/components/Settings/SegmentControl.js +8 -10
  161. package/lib/cjs/components/Settings/SegmentControl.js.map +1 -1
  162. package/lib/cjs/components/Settings/SelectBox.js +8 -10
  163. package/lib/cjs/components/Settings/SelectBox.js.map +1 -1
  164. package/lib/cjs/components/Settings/SettingsItemRenderer.js +9 -11
  165. package/lib/cjs/components/Settings/SettingsItemRenderer.js.map +1 -1
  166. package/lib/cjs/components/Settings/SizeSettings.js +4 -6
  167. package/lib/cjs/components/Settings/SizeSettings.js.map +1 -1
  168. package/lib/cjs/components/Settings/Slider.js +8 -10
  169. package/lib/cjs/components/Settings/Slider.js.map +1 -1
  170. package/lib/cjs/components/Settings/Switch.js +8 -10
  171. package/lib/cjs/components/Settings/Switch.js.map +1 -1
  172. package/lib/cjs/components/Settings/Textbox.js +12 -14
  173. package/lib/cjs/components/Settings/Textbox.js.map +1 -1
  174. package/lib/cjs/components/Settings/Toggle.js +8 -10
  175. package/lib/cjs/components/Settings/Toggle.js.map +1 -1
  176. package/lib/cjs/components/StaticElements/StaticRichText.js +26 -30
  177. package/lib/cjs/components/StaticElements/StaticRichText.js.map +1 -1
  178. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbar.js +2 -4
  179. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
  180. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +4 -6
  181. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
  182. package/lib/cjs/components/TextEditor/QuillEditor.js +6 -11
  183. package/lib/cjs/components/TextEditor/QuillEditor.js.map +1 -1
  184. package/lib/cjs/components/TextEditor/TextEditor.js +17 -18
  185. package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
  186. package/lib/cjs/components/withClickOutside.js +10 -11
  187. package/lib/cjs/components/withClickOutside.js.map +1 -1
  188. package/lib/cjs/components/withZoomPanPinchHOC.js +10 -12
  189. package/lib/cjs/components/withZoomPanPinchHOC.js.map +1 -1
  190. package/lib/cjs/constants/eventIgnoredRoles.js +13 -0
  191. package/lib/cjs/constants/eventIgnoredRoles.js.map +1 -0
  192. package/lib/cjs/constants/texts.js +11 -0
  193. package/lib/cjs/constants/texts.js.map +1 -1
  194. package/lib/cjs/contexts/BuilderContext.js +208 -0
  195. package/lib/cjs/contexts/BuilderContext.js.map +1 -0
  196. package/lib/cjs/contexts/PresentationContext.js +140 -0
  197. package/lib/cjs/contexts/PresentationContext.js.map +1 -0
  198. package/lib/cjs/contexts/PropContext.js +144 -0
  199. package/lib/cjs/contexts/PropContext.js.map +1 -0
  200. package/lib/cjs/contexts/Providers.js +70 -0
  201. package/lib/cjs/contexts/Providers.js.map +1 -0
  202. package/lib/cjs/index.js +0 -2
  203. package/lib/cjs/index.js.map +1 -1
  204. package/lib/cjs/styles/_jfPresentation.scss +0 -18
  205. package/lib/cjs/styles/_jfPrint.scss +17 -1
  206. package/lib/cjs/styles/_jfReportsModal.scss +9 -9
  207. package/lib/cjs/styles/_jfReportsPanels.scss +4 -1
  208. package/lib/cjs/styles/_jfReportsReportItem.scss +1 -1
  209. package/lib/cjs/styles/_jfReportsSVG.scss +0 -1
  210. package/lib/cjs/styles/_jfReportsTextEditor.scss +5 -0
  211. package/lib/cjs/styles/_jfReportsViewModes.scss +2 -5
  212. package/lib/cjs/styles/_jfSearchInput.scss +2 -2
  213. package/lib/cjs/utils/functions.js +19 -23
  214. package/lib/cjs/utils/functions.js.map +1 -1
  215. package/lib/cjs/utils/getDefaultPresentationActions.js +1 -1
  216. package/lib/cjs/utils/getDefaultPresentationActions.js.map +1 -1
  217. package/lib/cjs/utils/hooks.js +64 -47
  218. package/lib/cjs/utils/hooks.js.map +1 -1
  219. package/lib/esm/components/AlignmentGuides.js +11 -12
  220. package/lib/esm/components/AlignmentGuides.js.map +1 -1
  221. package/lib/esm/components/Builder/Builder.js +20 -129
  222. package/lib/esm/components/Builder/Builder.js.map +1 -1
  223. package/lib/esm/components/Builder/BuilderWrapper.js +58 -0
  224. package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -0
  225. package/lib/esm/components/Builder/ContextMenu.js +31 -30
  226. package/lib/esm/components/Builder/ContextMenu.js.map +1 -1
  227. package/lib/esm/components/Builder/DndWrapper.js +10 -10
  228. package/lib/esm/components/Builder/DndWrapper.js.map +1 -1
  229. package/lib/esm/components/Builder/Element.js +50 -43
  230. package/lib/esm/components/Builder/Element.js.map +1 -1
  231. package/lib/esm/components/Builder/Page.js +128 -83
  232. package/lib/esm/components/Builder/Page.js.map +1 -1
  233. package/lib/esm/components/Builder/PageActions.js +35 -37
  234. package/lib/esm/components/Builder/PageActions.js.map +1 -1
  235. package/lib/esm/components/Builder/PageAdder.js +11 -12
  236. package/lib/esm/components/Builder/PageAdder.js.map +1 -1
  237. package/lib/esm/components/Builder/Panel.js +8 -10
  238. package/lib/esm/components/Builder/Panel.js.map +1 -1
  239. package/lib/esm/components/Builder/ReportItemRenderer.js +7 -6
  240. package/lib/esm/components/Builder/ReportItemRenderer.js.map +1 -1
  241. package/lib/esm/components/Builder/Scene.js +77 -203
  242. package/lib/esm/components/Builder/Scene.js.map +1 -1
  243. package/lib/esm/components/Builder/SearchInput.js +28 -58
  244. package/lib/esm/components/Builder/SearchInput.js.map +1 -1
  245. package/lib/esm/components/Builder/Section.js +8 -10
  246. package/lib/esm/components/Builder/Section.js.map +1 -1
  247. package/lib/esm/components/Builder/Tabs.js +19 -16
  248. package/lib/esm/components/Builder/Tabs.js.map +1 -1
  249. package/lib/esm/components/Builder/ZoomControls.js +20 -30
  250. package/lib/esm/components/Builder/ZoomControls.js.map +1 -1
  251. package/lib/esm/components/DraggableItem/DraggableItem.js +165 -156
  252. package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
  253. package/lib/esm/components/DraggableItem/DraggableItemActions.js +12 -14
  254. package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
  255. package/lib/esm/components/DraggableItem/DraggableItemLayer.js +23 -20
  256. package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  257. package/lib/esm/components/Elements/Chart.js +3 -4
  258. package/lib/esm/components/Elements/Chart.js.map +1 -1
  259. package/lib/esm/components/Elements/Icon.js +3 -5
  260. package/lib/esm/components/Elements/Icon.js.map +1 -1
  261. package/lib/esm/components/Elements/Image.js +11 -12
  262. package/lib/esm/components/Elements/Image.js.map +1 -1
  263. package/lib/esm/components/Elements/RichText.js +16 -14
  264. package/lib/esm/components/Elements/RichText.js.map +1 -1
  265. package/lib/esm/components/Elements/Shapes.js +2 -4
  266. package/lib/esm/components/Elements/Shapes.js.map +1 -1
  267. package/lib/esm/components/ItemPositioner.js +6 -8
  268. package/lib/esm/components/ItemPositioner.js.map +1 -1
  269. package/lib/esm/components/PageItemResizer.js +3 -7
  270. package/lib/esm/components/PageItemResizer.js.map +1 -1
  271. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js +25 -59
  272. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
  273. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +2 -4
  274. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +1 -1
  275. package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js +8 -15
  276. package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js.map +1 -1
  277. package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js +56 -22
  278. package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js.map +1 -1
  279. package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +48 -0
  280. package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +1 -0
  281. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js +140 -48
  282. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
  283. package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js +17 -18
  284. package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +1 -1
  285. package/lib/esm/components/Panels/LeftPanel/Elements.js +49 -53
  286. package/lib/esm/components/Panels/LeftPanel/Elements.js.map +1 -1
  287. package/lib/esm/components/Panels/LeftPanel/LeftPanel.js +6 -34
  288. package/lib/esm/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
  289. package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js +4 -4
  290. package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
  291. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js +4 -3
  292. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
  293. package/lib/esm/components/Panels/RightPanel/RightPanel.js +141 -145
  294. package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
  295. package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js +7 -4
  296. package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
  297. package/lib/esm/components/Panels/RightPanel/Settings.js +21 -22
  298. package/lib/esm/components/Panels/RightPanel/Settings.js.map +1 -1
  299. package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js +106 -96
  300. package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
  301. package/lib/esm/components/Panels/SlidesPanel/PageThumbnailActions.js +17 -18
  302. package/lib/esm/components/Panels/SlidesPanel/PageThumbnailActions.js.map +1 -1
  303. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +33 -66
  304. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  305. package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js +9 -9
  306. package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
  307. package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js +62 -28
  308. package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
  309. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js +48 -0
  310. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js.map +1 -0
  311. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js +8 -9
  312. package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
  313. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js +165 -111
  314. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  315. package/lib/esm/components/Presentation/Presentation.js +19 -69
  316. package/lib/esm/components/Presentation/Presentation.js.map +1 -1
  317. package/lib/esm/components/Presentation/PresentationBar/PageNavigation.js +8 -10
  318. package/lib/esm/components/Presentation/PresentationBar/PageNavigation.js.map +1 -1
  319. package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js +46 -13
  320. package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
  321. package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js +45 -87
  322. package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
  323. package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js +8 -10
  324. package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
  325. package/lib/esm/components/Presentation/PresentationWrapper.js +57 -60
  326. package/lib/esm/components/Presentation/PresentationWrapper.js.map +1 -1
  327. package/lib/esm/components/Presentation/ProgressBar.js +4 -6
  328. package/lib/esm/components/Presentation/ProgressBar.js.map +1 -1
  329. package/lib/esm/components/Preview/Preview.js +14 -68
  330. package/lib/esm/components/Preview/Preview.js.map +1 -1
  331. package/lib/esm/components/Preview/StaticItem.js +8 -28
  332. package/lib/esm/components/Preview/StaticItem.js.map +1 -1
  333. package/lib/esm/components/Preview/StaticPage.js +17 -30
  334. package/lib/esm/components/Preview/StaticPage.js.map +1 -1
  335. package/lib/esm/components/Preview/StaticScene.js +34 -56
  336. package/lib/esm/components/Preview/StaticScene.js.map +1 -1
  337. package/lib/esm/components/Print/Print.js +18 -57
  338. package/lib/esm/components/Print/Print.js.map +1 -1
  339. package/lib/esm/components/Print/PrintModal.js +49 -0
  340. package/lib/esm/components/Print/PrintModal.js.map +1 -0
  341. package/lib/esm/components/Print/{PrintModeWithoutContext.js → PrintWrapper.js} +11 -42
  342. package/lib/esm/components/Print/PrintWrapper.js.map +1 -0
  343. package/lib/esm/components/Report.js +30 -48
  344. package/lib/esm/components/Report.js.map +1 -1
  345. package/lib/esm/components/ReportItemsWrapper.js +20 -34
  346. package/lib/esm/components/ReportItemsWrapper.js.map +1 -1
  347. package/lib/esm/components/ReportWrapper.js +29 -58
  348. package/lib/esm/components/ReportWrapper.js.map +1 -1
  349. package/lib/esm/components/Settings/Button.js +8 -10
  350. package/lib/esm/components/Settings/Button.js.map +1 -1
  351. package/lib/esm/components/Settings/CheckboxGroup.js +8 -10
  352. package/lib/esm/components/Settings/CheckboxGroup.js.map +1 -1
  353. package/lib/esm/components/Settings/ColorPicker.js +18 -13
  354. package/lib/esm/components/Settings/ColorPicker.js.map +1 -1
  355. package/lib/esm/components/Settings/Dropdown.js +10 -12
  356. package/lib/esm/components/Settings/Dropdown.js.map +1 -1
  357. package/lib/esm/components/Settings/FieldSet.js +3 -4
  358. package/lib/esm/components/Settings/FieldSet.js.map +1 -1
  359. package/lib/esm/components/Settings/IconSelectBox.js +8 -10
  360. package/lib/esm/components/Settings/IconSelectBox.js.map +1 -1
  361. package/lib/esm/components/Settings/ImagePicker/EnterURL.js +4 -6
  362. package/lib/esm/components/Settings/ImagePicker/EnterURL.js.map +1 -1
  363. package/lib/esm/components/Settings/ImagePicker/ImageThumbnailWithDelete.js +6 -8
  364. package/lib/esm/components/Settings/ImagePicker/ImageThumbnailWithDelete.js.map +1 -1
  365. package/lib/esm/components/Settings/ImageUrl.js +8 -10
  366. package/lib/esm/components/Settings/ImageUrl.js.map +1 -1
  367. package/lib/esm/components/Settings/LayoutSizeSettings.js +4 -6
  368. package/lib/esm/components/Settings/LayoutSizeSettings.js.map +1 -1
  369. package/lib/esm/components/Settings/Orientation.js +8 -10
  370. package/lib/esm/components/Settings/Orientation.js.map +1 -1
  371. package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js +121 -0
  372. package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -0
  373. package/lib/esm/components/Settings/PageLayer/LayerItem.js +92 -34
  374. package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
  375. package/lib/esm/components/Settings/PageLayer/PageLayer.js +117 -52
  376. package/lib/esm/components/Settings/PageLayer/PageLayer.js.map +1 -1
  377. package/lib/esm/components/Settings/SegmentControl.js +8 -10
  378. package/lib/esm/components/Settings/SegmentControl.js.map +1 -1
  379. package/lib/esm/components/Settings/SelectBox.js +8 -10
  380. package/lib/esm/components/Settings/SelectBox.js.map +1 -1
  381. package/lib/esm/components/Settings/SettingsItemRenderer.js +9 -11
  382. package/lib/esm/components/Settings/SettingsItemRenderer.js.map +1 -1
  383. package/lib/esm/components/Settings/SizeSettings.js +4 -6
  384. package/lib/esm/components/Settings/SizeSettings.js.map +1 -1
  385. package/lib/esm/components/Settings/Slider.js +8 -10
  386. package/lib/esm/components/Settings/Slider.js.map +1 -1
  387. package/lib/esm/components/Settings/Switch.js +8 -10
  388. package/lib/esm/components/Settings/Switch.js.map +1 -1
  389. package/lib/esm/components/Settings/Textbox.js +12 -14
  390. package/lib/esm/components/Settings/Textbox.js.map +1 -1
  391. package/lib/esm/components/Settings/Toggle.js +8 -10
  392. package/lib/esm/components/Settings/Toggle.js.map +1 -1
  393. package/lib/esm/components/StaticElements/StaticRichText.js +26 -30
  394. package/lib/esm/components/StaticElements/StaticRichText.js.map +1 -1
  395. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js +2 -4
  396. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
  397. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +4 -6
  398. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
  399. package/lib/esm/components/TextEditor/QuillEditor.js +6 -11
  400. package/lib/esm/components/TextEditor/QuillEditor.js.map +1 -1
  401. package/lib/esm/components/TextEditor/TextEditor.js +17 -18
  402. package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
  403. package/lib/esm/components/withClickOutside.js +11 -12
  404. package/lib/esm/components/withClickOutside.js.map +1 -1
  405. package/lib/esm/components/withZoomPanPinchHOC.js +10 -12
  406. package/lib/esm/components/withZoomPanPinchHOC.js.map +1 -1
  407. package/lib/esm/constants/eventIgnoredRoles.js +9 -0
  408. package/lib/esm/constants/eventIgnoredRoles.js.map +1 -0
  409. package/lib/esm/constants/texts.js +11 -0
  410. package/lib/esm/constants/texts.js.map +1 -1
  411. package/lib/esm/contexts/BuilderContext.js +199 -0
  412. package/lib/esm/contexts/BuilderContext.js.map +1 -0
  413. package/lib/esm/contexts/PresentationContext.js +131 -0
  414. package/lib/esm/contexts/PresentationContext.js.map +1 -0
  415. package/lib/esm/contexts/PropContext.js +135 -0
  416. package/lib/esm/contexts/PropContext.js.map +1 -0
  417. package/lib/esm/contexts/Providers.js +64 -0
  418. package/lib/esm/contexts/Providers.js.map +1 -0
  419. package/lib/esm/index.js +0 -1
  420. package/lib/esm/index.js.map +1 -1
  421. package/lib/esm/styles/_jfPresentation.scss +0 -18
  422. package/lib/esm/styles/_jfPrint.scss +17 -1
  423. package/lib/esm/styles/_jfReportsModal.scss +9 -9
  424. package/lib/esm/styles/_jfReportsPanels.scss +4 -1
  425. package/lib/esm/styles/_jfReportsReportItem.scss +1 -1
  426. package/lib/esm/styles/_jfReportsSVG.scss +0 -1
  427. package/lib/esm/styles/_jfReportsTextEditor.scss +5 -0
  428. package/lib/esm/styles/_jfReportsViewModes.scss +2 -5
  429. package/lib/esm/styles/_jfSearchInput.scss +2 -2
  430. package/lib/esm/utils/functions.js +15 -22
  431. package/lib/esm/utils/functions.js.map +1 -1
  432. package/lib/esm/utils/getDefaultPresentationActions.js +1 -1
  433. package/lib/esm/utils/getDefaultPresentationActions.js.map +1 -1
  434. package/lib/esm/utils/hooks.js +66 -49
  435. package/lib/esm/utils/hooks.js.map +1 -1
  436. package/package.json +18 -14
  437. package/lib/cjs/components/Print/PrintMode.js +0 -59
  438. package/lib/cjs/components/Print/PrintMode.js.map +0 -1
  439. package/lib/cjs/components/Print/PrintModeWithoutContext.js.map +0 -1
  440. package/lib/cjs/components/Responsive/index.js +0 -107
  441. package/lib/cjs/components/Responsive/index.js.map +0 -1
  442. package/lib/cjs/components/ResponsiveContent.js +0 -15
  443. package/lib/cjs/components/ResponsiveContent.js.map +0 -1
  444. package/lib/cjs/utils/builderContext.js +0 -308
  445. package/lib/cjs/utils/builderContext.js.map +0 -1
  446. package/lib/cjs/utils/presentationContext.js +0 -144
  447. package/lib/cjs/utils/presentationContext.js.map +0 -1
  448. package/lib/cjs/utils/propContext.js +0 -133
  449. package/lib/cjs/utils/propContext.js.map +0 -1
  450. package/lib/esm/components/Print/PrintMode.js +0 -52
  451. package/lib/esm/components/Print/PrintMode.js.map +0 -1
  452. package/lib/esm/components/Print/PrintModeWithoutContext.js.map +0 -1
  453. package/lib/esm/components/Responsive/index.js +0 -100
  454. package/lib/esm/components/Responsive/index.js.map +0 -1
  455. package/lib/esm/components/ResponsiveContent.js +0 -13
  456. package/lib/esm/components/ResponsiveContent.js.map +0 -1
  457. package/lib/esm/utils/builderContext.js +0 -297
  458. package/lib/esm/utils/builderContext.js.map +0 -1
  459. package/lib/esm/utils/presentationContext.js +0 -133
  460. package/lib/esm/utils/presentationContext.js.map +0 -1
  461. package/lib/esm/utils/propContext.js +0 -122
  462. package/lib/esm/utils/propContext.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","sources":["../../../../src/components/Settings/Switch.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst Switch = ({\n config,\n item,\n onItemChange,\n value,\n}) => {\n const onChange = e => {\n const status = e.target.checked ? 'on' : 'off';\n onItemChange(\n { id: item.id },\n { [config.key]: status },\n );\n };\n return (\n <label\n className={classNames(\n 'toolToggle',\n { toggled: value === 'on' },\n )}\n htmlFor={config.key}\n >\n <input\n checked={value === 'on'}\n className=\"toolToggle-input\"\n id={config.key}\n onChange={onChange}\n type=\"checkbox\"\n />\n <span className=\"toolToggle-custom\" />\n </label>\n );\n};\n\nSwitch.propTypes = {\n config: PropTypes.shape({\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.any),\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n value: PropTypes.string,\n};\n\nSwitch.defaultProps = {\n config: {},\n item: {},\n onItemChange: () => {},\n value: '',\n};\n\nexport default memo(Switch);\n"],"names":["Switch","config","item","onItemChange","value","onChange","e","status","target","checked","id","key","_jsxs","classNames","toggled","_jsx","propTypes","PropTypes","shape","string","options","arrayOf","any","func","defaultProps","memo"],"mappings":";;;;;;;AAIA,IAAMA,MAAM,GAAG,SAATA,MAAS,OAKT;AAAA,MAJJC,MAII,QAJJA,MAII;AAAA,MAHJC,IAGI,QAHJA,IAGI;AAAA,MAFJC,YAEI,QAFJA,YAEI;AAAA,MADJC,KACI,QADJA,KACI;;AACJ,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAC,CAAC,EAAI;AACpB,QAAMC,MAAM,GAAGD,CAAC,CAACE,MAAF,CAASC,OAAT,GAAmB,IAAnB,GAA0B,KAAzC;AACAN,IAAAA,YAAY,CACV;AAAEO,MAAAA,EAAE,EAAER,IAAI,CAACQ;AAAX,KADU,sBAEPT,MAAM,CAACU,GAFA,EAEMJ,MAFN,EAAZ;AAID,GAND;;AAOA,sBACEK;AACE,IAAA,SAAS,EAAEC,UAAU,CACnB,YADmB,EAEnB;AAAEC,MAAAA,OAAO,EAAEV,KAAK,KAAK;AAArB,KAFmB,CADvB;AAKE,IAAA,OAAO,EAAEH,MAAM,CAACU,GALlB;AAAA,4BAOEI;AACE,MAAA,OAAO,EAAEX,KAAK,KAAK,IADrB;AAEE,MAAA,SAAS,EAAC,kBAFZ;AAGE,MAAA,EAAE,EAAEH,MAAM,CAACU,GAHb;AAIE,MAAA,QAAQ,EAAEN,QAJZ;AAKE,MAAA,IAAI,EAAC;AALP,MAPF,eAcEU;AAAM,MAAA,SAAS,EAAC;AAAhB,MAdF;AAAA,IADF;AAkBD,CA/BD;;AAiCAf,MAAM,CAACgB,SAAP,GAAmB;AACjBf,EAAAA,MAAM,EAAEgB,SAAS,CAACC,KAAV,CAAgB;AACtBP,IAAAA,GAAG,EAAEM,SAAS,CAACE,MADO;AAEtBC,IAAAA,OAAO,EAAEH,SAAS,CAACI,OAAV,CAAkBJ,SAAS,CAACK,GAA5B;AAFa,GAAhB,CADS;AAKjBpB,EAAAA,IAAI,EAAEe,SAAS,CAACC,KAAV,CAAgB;AACpBR,IAAAA,EAAE,EAAEO,SAAS,CAACE;AADM,GAAhB,CALW;AAQjBhB,EAAAA,YAAY,EAAEc,SAAS,CAACM,IARP;AASjBnB,EAAAA,KAAK,EAAEa,SAAS,CAACE;AATA,CAAnB;AAYAnB,MAAM,CAACwB,YAAP,GAAsB;AACpBvB,EAAAA,MAAM,EAAE,EADY;AAEpBC,EAAAA,IAAI,EAAE,EAFc;AAGpBC,EAAAA,YAAY,EAAE,wBAAM,EAHA;AAIpBC,EAAAA,KAAK,EAAE;AAJa,CAAtB;AAOA,4BAAeqB,IAAI,CAACzB,MAAD,CAAnB;;;;"}
1
+ {"version":3,"file":"Switch.js","sources":["../../../../src/components/Settings/Switch.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst Switch = ({\n config = {},\n item = {},\n onItemChange = () => {},\n value = '',\n}) => {\n const onChange = e => {\n const status = e.target.checked ? 'on' : 'off';\n onItemChange(\n { id: item.id },\n { [config.key]: status },\n );\n };\n return (\n <label\n className={classNames(\n 'toolToggle',\n { toggled: value === 'on' },\n )}\n htmlFor={config.key}\n >\n <input\n checked={value === 'on'}\n className=\"toolToggle-input\"\n id={config.key}\n onChange={onChange}\n type=\"checkbox\"\n />\n <span className=\"toolToggle-custom\" />\n </label>\n );\n};\n\nSwitch.propTypes = {\n config: PropTypes.shape({\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.any),\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n value: PropTypes.string,\n};\n\nexport default memo(Switch);\n"],"names":["Switch","config","item","onItemChange","value","onChange","e","status","target","checked","id","key","_jsxs","classNames","toggled","_jsx","propTypes","PropTypes","shape","string","options","arrayOf","any","func","memo"],"mappings":";;;;;;;AAIA,IAAMA,MAAM,GAAG,SAATA,MAAS,OAKT;AAAA,yBAJJC,MAII;AAAA,MAJJA,MAII,4BAJK,EAIL;AAAA,uBAHJC,IAGI;AAAA,MAHJA,IAGI,0BAHG,EAGH;AAAA,+BAFJC,YAEI;AAAA,MAFJA,YAEI,kCAFW,YAAM,EAEjB;AAAA,wBADJC,KACI;AAAA,MADJA,KACI,2BADI,EACJ;;AACJ,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAC,CAAC,EAAI;AACpB,QAAMC,MAAM,GAAGD,CAAC,CAACE,MAAF,CAASC,OAAT,GAAmB,IAAnB,GAA0B,KAAzC;AACAN,IAAAA,YAAY,CACV;AAAEO,MAAAA,EAAE,EAAER,IAAI,CAACQ;AAAX,KADU,sBAEPT,MAAM,CAACU,GAFA,EAEMJ,MAFN,EAAZ;AAID,GAND;;AAOA,sBACEK;AACE,IAAA,SAAS,EAAEC,UAAU,CACnB,YADmB,EAEnB;AAAEC,MAAAA,OAAO,EAAEV,KAAK,KAAK;AAArB,KAFmB,CADvB;AAKE,IAAA,OAAO,EAAEH,MAAM,CAACU,GALlB;AAAA,4BAOEI;AACE,MAAA,OAAO,EAAEX,KAAK,KAAK,IADrB;AAEE,MAAA,SAAS,EAAC,kBAFZ;AAGE,MAAA,EAAE,EAAEH,MAAM,CAACU,GAHb;AAIE,MAAA,QAAQ,EAAEN,QAJZ;AAKE,MAAA,IAAI,EAAC;AALP,MAPF,eAcEU;AAAM,MAAA,SAAS,EAAC;AAAhB,MAdF;AAAA,IADF;AAkBD,CA/BD;;AAiCAf,MAAM,CAACgB,SAAP,GAAmB;AACjBf,EAAAA,MAAM,EAAEgB,SAAS,CAACC,KAAV,CAAgB;AACtBP,IAAAA,GAAG,EAAEM,SAAS,CAACE,MADO;AAEtBC,IAAAA,OAAO,EAAEH,SAAS,CAACI,OAAV,CAAkBJ,SAAS,CAACK,GAA5B;AAFa,GAAhB,CADS;AAKjBpB,EAAAA,IAAI,EAAEe,SAAS,CAACC,KAAV,CAAgB;AACpBR,IAAAA,EAAE,EAAEO,SAAS,CAACE;AADM,GAAhB,CALW;AAQjBhB,EAAAA,YAAY,EAAEc,SAAS,CAACM,IARP;AASjBnB,EAAAA,KAAK,EAAEa,SAAS,CAACE;AATA,CAAnB;AAYA,4BAAeK,IAAI,CAACxB,MAAD,CAAnB;;;;"}
@@ -9,12 +9,18 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
9
9
  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; }
10
10
 
11
11
  var Textbox = function Textbox(_ref) {
12
- var config = _ref.config,
13
- item = _ref.item,
14
- maxLength = _ref.maxLength,
15
- onItemChange = _ref.onItemChange,
16
- placeholder = _ref.placeholder,
17
- value = _ref.value;
12
+ var _ref$config = _ref.config,
13
+ config = _ref$config === void 0 ? {} : _ref$config,
14
+ _ref$item = _ref.item,
15
+ item = _ref$item === void 0 ? {} : _ref$item,
16
+ _ref$maxLength = _ref.maxLength,
17
+ maxLength = _ref$maxLength === void 0 ? false : _ref$maxLength,
18
+ _ref$onItemChange = _ref.onItemChange,
19
+ onItemChange = _ref$onItemChange === void 0 ? function () {} : _ref$onItemChange,
20
+ _ref$placeholder = _ref.placeholder,
21
+ placeholder = _ref$placeholder === void 0 ? '' : _ref$placeholder,
22
+ _ref$value = _ref.value,
23
+ value = _ref$value === void 0 ? '' : _ref$value;
18
24
 
19
25
  var onChange = function onChange(e) {
20
26
  var newValue = e.target.value;
@@ -59,14 +65,6 @@ Textbox.propTypes = {
59
65
  placeholder: PropTypes.string,
60
66
  value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
61
67
  };
62
- Textbox.defaultProps = {
63
- config: [],
64
- item: {},
65
- maxLength: false,
66
- onItemChange: function onItemChange() {},
67
- placeholder: '',
68
- value: ''
69
- };
70
68
  var Textbox$1 = /*#__PURE__*/memo(Textbox);
71
69
 
72
70
  export default Textbox$1;
@@ -1 +1 @@
1
- {"version":3,"file":"Textbox.js","sources":["../../../../src/components/Settings/Textbox.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\n\nconst Textbox = ({\n config,\n item,\n maxLength,\n onItemChange,\n placeholder,\n value,\n}) => {\n const onChange = e => {\n const { value: newValue } = e.target;\n if (newValue !== value) {\n const changeSettingsFor = { [config.key]: newValue };\n onItemChange({ id: item.id }, changeSettingsFor);\n }\n };\n\n const handleKeyDown = e => e.stopPropagation();\n\n const customProps = {};\n if (maxLength) customProps.maxLength = maxLength;\n\n return (\n <input\n {...customProps}\n className=\"toolSection-input\"\n onChange={onChange}\n onKeyDown={handleKeyDown}\n placeholder={config.placeholder || placeholder}\n type={config.inputType || 'text'}\n value={value}\n />\n );\n};\n\nTextbox.propTypes = {\n config: PropTypes.shape({\n inputType: PropTypes.string,\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.any),\n placeholder: PropTypes.string,\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n maxLength: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.number,\n ]),\n onItemChange: PropTypes.func,\n placeholder: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n};\n\nTextbox.defaultProps = {\n config: [],\n item: {},\n maxLength: false,\n onItemChange: () => {},\n placeholder: '',\n value: '',\n};\n\nexport default memo(Textbox);\n"],"names":["Textbox","config","item","maxLength","onItemChange","placeholder","value","onChange","e","newValue","target","changeSettingsFor","key","id","handleKeyDown","stopPropagation","customProps","_jsx","inputType","propTypes","PropTypes","shape","string","options","arrayOf","any","oneOfType","bool","number","func","defaultProps","memo"],"mappings":";;;;;;;;;;AAGA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAOV;AAAA,MANJC,MAMI,QANJA,MAMI;AAAA,MALJC,IAKI,QALJA,IAKI;AAAA,MAJJC,SAII,QAJJA,SAII;AAAA,MAHJC,YAGI,QAHJA,YAGI;AAAA,MAFJC,WAEI,QAFJA,WAEI;AAAA,MADJC,KACI,QADJA,KACI;;AACJ,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAC,CAAC,EAAI;AACpB,QAAeC,QAAf,GAA4BD,CAAC,CAACE,MAA9B,CAAQJ,KAAR;;AACA,QAAIG,QAAQ,KAAKH,KAAjB,EAAwB;AACtB,UAAMK,iBAAiB,uBAAMV,MAAM,CAACW,GAAb,EAAmBH,QAAnB,CAAvB;;AACAL,MAAAA,YAAY,CAAC;AAAES,QAAAA,EAAE,EAAEX,IAAI,CAACW;AAAX,OAAD,EAAkBF,iBAAlB,CAAZ;AACD;AACF,GAND;;AAQA,MAAMG,aAAa,GAAG,SAAhBA,aAAgB,CAAAN,CAAC;AAAA,WAAIA,CAAC,CAACO,eAAF,EAAJ;AAAA,GAAvB;;AAEA,MAAMC,WAAW,GAAG,EAApB;AACA,MAAIb,SAAJ,EAAea,WAAW,CAACb,SAAZ,GAAwBA,SAAxB;AAEf,sBACEc,6CACMD,WADN;AAEE,IAAA,SAAS,EAAC,mBAFZ;AAGE,IAAA,QAAQ,EAAET,QAHZ;AAIE,IAAA,SAAS,EAAEO,aAJb;AAKE,IAAA,WAAW,EAAEb,MAAM,CAACI,WAAP,IAAsBA,WALrC;AAME,IAAA,IAAI,EAAEJ,MAAM,CAACiB,SAAP,IAAoB,MAN5B;AAOE,IAAA,KAAK,EAAEZ;AAPT,KADF;AAWD,CAhCD;;AAkCAN,OAAO,CAACmB,SAAR,GAAoB;AAClBlB,EAAAA,MAAM,EAAEmB,SAAS,CAACC,KAAV,CAAgB;AACtBH,IAAAA,SAAS,EAAEE,SAAS,CAACE,MADC;AAEtBV,IAAAA,GAAG,EAAEQ,SAAS,CAACE,MAFO;AAGtBC,IAAAA,OAAO,EAAEH,SAAS,CAACI,OAAV,CAAkBJ,SAAS,CAACK,GAA5B,CAHa;AAItBpB,IAAAA,WAAW,EAAEe,SAAS,CAACE;AAJD,GAAhB,CADU;AAOlBpB,EAAAA,IAAI,EAAEkB,SAAS,CAACC,KAAV,CAAgB;AACpBR,IAAAA,EAAE,EAAEO,SAAS,CAACE;AADM,GAAhB,CAPY;AAUlBnB,EAAAA,SAAS,EAAEiB,SAAS,CAACM,SAAV,CAAoB,CAC7BN,SAAS,CAACO,IADmB,EAE7BP,SAAS,CAACQ,MAFmB,CAApB,CAVO;AAclBxB,EAAAA,YAAY,EAAEgB,SAAS,CAACS,IAdN;AAelBxB,EAAAA,WAAW,EAAEe,SAAS,CAACE,MAfL;AAgBlBhB,EAAAA,KAAK,EAAEc,SAAS,CAACM,SAAV,CAAoB,CACzBN,SAAS,CAACE,MADe,EAEzBF,SAAS,CAACQ,MAFe,CAApB;AAhBW,CAApB;AAsBA5B,OAAO,CAAC8B,YAAR,GAAuB;AACrB7B,EAAAA,MAAM,EAAE,EADa;AAErBC,EAAAA,IAAI,EAAE,EAFe;AAGrBC,EAAAA,SAAS,EAAE,KAHU;AAIrBC,EAAAA,YAAY,EAAE,wBAAM,EAJC;AAKrBC,EAAAA,WAAW,EAAE,EALQ;AAMrBC,EAAAA,KAAK,EAAE;AANc,CAAvB;AASA,6BAAeyB,IAAI,CAAC/B,OAAD,CAAnB;;;;"}
1
+ {"version":3,"file":"Textbox.js","sources":["../../../../src/components/Settings/Textbox.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\n\nconst Textbox = ({\n config = {},\n item = {},\n maxLength = false,\n onItemChange = () => {},\n placeholder = '',\n value = '',\n}) => {\n const onChange = e => {\n const { value: newValue } = e.target;\n if (newValue !== value) {\n const changeSettingsFor = { [config.key]: newValue };\n onItemChange({ id: item.id }, changeSettingsFor);\n }\n };\n\n const handleKeyDown = e => e.stopPropagation();\n\n const customProps = {};\n if (maxLength) customProps.maxLength = maxLength;\n\n return (\n <input\n {...customProps}\n className=\"toolSection-input\"\n onChange={onChange}\n onKeyDown={handleKeyDown}\n placeholder={config.placeholder || placeholder}\n type={config.inputType || 'text'}\n value={value}\n />\n );\n};\n\nTextbox.propTypes = {\n config: PropTypes.shape({\n inputType: PropTypes.string,\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.any),\n placeholder: PropTypes.string,\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n maxLength: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.number,\n ]),\n onItemChange: PropTypes.func,\n placeholder: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n};\n\nexport default memo(Textbox);\n"],"names":["Textbox","config","item","maxLength","onItemChange","placeholder","value","onChange","e","newValue","target","changeSettingsFor","key","id","handleKeyDown","stopPropagation","customProps","_jsx","inputType","propTypes","PropTypes","shape","string","options","arrayOf","any","oneOfType","bool","number","func","memo"],"mappings":";;;;;;;;;;AAGA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAOV;AAAA,yBANJC,MAMI;AAAA,MANJA,MAMI,4BANK,EAML;AAAA,uBALJC,IAKI;AAAA,MALJA,IAKI,0BALG,EAKH;AAAA,4BAJJC,SAII;AAAA,MAJJA,SAII,+BAJQ,KAIR;AAAA,+BAHJC,YAGI;AAAA,MAHJA,YAGI,kCAHW,YAAM,EAGjB;AAAA,8BAFJC,WAEI;AAAA,MAFJA,WAEI,iCAFU,EAEV;AAAA,wBADJC,KACI;AAAA,MADJA,KACI,2BADI,EACJ;;AACJ,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAC,CAAC,EAAI;AACpB,QAAeC,QAAf,GAA4BD,CAAC,CAACE,MAA9B,CAAQJ,KAAR;;AACA,QAAIG,QAAQ,KAAKH,KAAjB,EAAwB;AACtB,UAAMK,iBAAiB,uBAAMV,MAAM,CAACW,GAAb,EAAmBH,QAAnB,CAAvB;;AACAL,MAAAA,YAAY,CAAC;AAAES,QAAAA,EAAE,EAAEX,IAAI,CAACW;AAAX,OAAD,EAAkBF,iBAAlB,CAAZ;AACD;AACF,GAND;;AAQA,MAAMG,aAAa,GAAG,SAAhBA,aAAgB,CAAAN,CAAC;AAAA,WAAIA,CAAC,CAACO,eAAF,EAAJ;AAAA,GAAvB;;AAEA,MAAMC,WAAW,GAAG,EAApB;AACA,MAAIb,SAAJ,EAAea,WAAW,CAACb,SAAZ,GAAwBA,SAAxB;AAEf,sBACEc,6CACMD,WADN;AAEE,IAAA,SAAS,EAAC,mBAFZ;AAGE,IAAA,QAAQ,EAAET,QAHZ;AAIE,IAAA,SAAS,EAAEO,aAJb;AAKE,IAAA,WAAW,EAAEb,MAAM,CAACI,WAAP,IAAsBA,WALrC;AAME,IAAA,IAAI,EAAEJ,MAAM,CAACiB,SAAP,IAAoB,MAN5B;AAOE,IAAA,KAAK,EAAEZ;AAPT,KADF;AAWD,CAhCD;;AAkCAN,OAAO,CAACmB,SAAR,GAAoB;AAClBlB,EAAAA,MAAM,EAAEmB,SAAS,CAACC,KAAV,CAAgB;AACtBH,IAAAA,SAAS,EAAEE,SAAS,CAACE,MADC;AAEtBV,IAAAA,GAAG,EAAEQ,SAAS,CAACE,MAFO;AAGtBC,IAAAA,OAAO,EAAEH,SAAS,CAACI,OAAV,CAAkBJ,SAAS,CAACK,GAA5B,CAHa;AAItBpB,IAAAA,WAAW,EAAEe,SAAS,CAACE;AAJD,GAAhB,CADU;AAOlBpB,EAAAA,IAAI,EAAEkB,SAAS,CAACC,KAAV,CAAgB;AACpBR,IAAAA,EAAE,EAAEO,SAAS,CAACE;AADM,GAAhB,CAPY;AAUlBnB,EAAAA,SAAS,EAAEiB,SAAS,CAACM,SAAV,CAAoB,CAC7BN,SAAS,CAACO,IADmB,EAE7BP,SAAS,CAACQ,MAFmB,CAApB,CAVO;AAclBxB,EAAAA,YAAY,EAAEgB,SAAS,CAACS,IAdN;AAelBxB,EAAAA,WAAW,EAAEe,SAAS,CAACE,MAfL;AAgBlBhB,EAAAA,KAAK,EAAEc,SAAS,CAACM,SAAV,CAAoB,CACzBN,SAAS,CAACE,MADe,EAEzBF,SAAS,CAACQ,MAFe,CAApB;AAhBW,CAApB;AAsBA,6BAAeE,IAAI,CAAC9B,OAAD,CAAnB;;;;"}
@@ -6,10 +6,14 @@ import { jsxs, jsx } from 'react/jsx-runtime';
6
6
  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; }
7
7
 
8
8
  var Toggle = function Toggle(_ref) {
9
- var config = _ref.config,
10
- item = _ref.item,
11
- onItemChange = _ref.onItemChange,
12
- value = _ref.value;
9
+ var _ref$config = _ref.config,
10
+ config = _ref$config === void 0 ? {} : _ref$config,
11
+ _ref$item = _ref.item,
12
+ item = _ref$item === void 0 ? {} : _ref$item,
13
+ _ref$onItemChange = _ref.onItemChange,
14
+ onItemChange = _ref$onItemChange === void 0 ? function () {} : _ref$onItemChange,
15
+ _ref$value = _ref.value,
16
+ value = _ref$value === void 0 ? '' : _ref$value;
13
17
 
14
18
  var onChange = function onChange(e) {
15
19
  var status = e.target.checked ? 'on' : 'off';
@@ -53,12 +57,6 @@ Toggle.propTypes = {
53
57
  onItemChange: PropTypes.func,
54
58
  value: PropTypes.string
55
59
  };
56
- Toggle.defaultProps = {
57
- config: {},
58
- item: {},
59
- onItemChange: function onItemChange() {},
60
- value: ''
61
- };
62
60
  var Toggle$1 = /*#__PURE__*/memo(Toggle);
63
61
 
64
62
  export default Toggle$1;
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.js","sources":["../../../../src/components/Settings/Toggle.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst Toggle = ({\n config,\n item,\n onItemChange,\n value,\n}) => {\n const onChange = e => {\n const status = e.target.checked ? 'on' : 'off';\n onItemChange(\n { id: item.id },\n { [config.key]: status },\n );\n };\n\n const { TOGGLE_OFF, TOGGLE_ON } = useTranslatedTexts();\n\n return (\n <label\n className=\"reportToolToggle\"\n htmlFor={config.key}\n >\n <input\n checked={value === 'on'}\n id={config.key}\n onChange={onChange}\n type=\"checkbox\"\n />\n <span className=\"reportToolToggle-knob\" />\n <span className=\"reportToolToggle-on reportToolToggle-text\">{TOGGLE_ON}</span>\n <span className=\"reportToolToggle-off reportToolToggle-text\">{TOGGLE_OFF}</span>\n </label>\n );\n};\n\nToggle.propTypes = {\n config: PropTypes.shape({\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.any),\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n value: PropTypes.string,\n};\n\nToggle.defaultProps = {\n config: {},\n item: {},\n onItemChange: () => {},\n value: '',\n};\n\nexport default memo(Toggle);\n"],"names":["Toggle","config","item","onItemChange","value","onChange","e","status","target","checked","id","key","useTranslatedTexts","TOGGLE_OFF","TOGGLE_ON","_jsxs","_jsx","propTypes","PropTypes","shape","string","options","arrayOf","any","func","defaultProps","memo"],"mappings":";;;;;;;AAIA,IAAMA,MAAM,GAAG,SAATA,MAAS,OAKT;AAAA,MAJJC,MAII,QAJJA,MAII;AAAA,MAHJC,IAGI,QAHJA,IAGI;AAAA,MAFJC,YAEI,QAFJA,YAEI;AAAA,MADJC,KACI,QADJA,KACI;;AACJ,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAC,CAAC,EAAI;AACpB,QAAMC,MAAM,GAAGD,CAAC,CAACE,MAAF,CAASC,OAAT,GAAmB,IAAnB,GAA0B,KAAzC;AACAN,IAAAA,YAAY,CACV;AAAEO,MAAAA,EAAE,EAAER,IAAI,CAACQ;AAAX,KADU,sBAEPT,MAAM,CAACU,GAFA,EAEMJ,MAFN,EAAZ;AAID,GAND;;AAQA,4BAAkCK,kBAAkB,EAApD;AAAA,MAAQC,UAAR,uBAAQA,UAAR;AAAA,MAAoBC,SAApB,uBAAoBA,SAApB;;AAEA,sBACEC;AACE,IAAA,SAAS,EAAC,kBADZ;AAEE,IAAA,OAAO,EAAEd,MAAM,CAACU,GAFlB;AAAA,4BAIEK;AACE,MAAA,OAAO,EAAEZ,KAAK,KAAK,IADrB;AAEE,MAAA,EAAE,EAAEH,MAAM,CAACU,GAFb;AAGE,MAAA,QAAQ,EAAEN,QAHZ;AAIE,MAAA,IAAI,EAAC;AAJP,MAJF,eAUEW;AAAM,MAAA,SAAS,EAAC;AAAhB,MAVF,eAWEA;AAAM,MAAA,SAAS,EAAC,2CAAhB;AAAA,gBAA6DF;AAA7D,MAXF,eAYEE;AAAM,MAAA,SAAS,EAAC,4CAAhB;AAAA,gBAA8DH;AAA9D,MAZF;AAAA,IADF;AAgBD,CAhCD;;AAkCAb,MAAM,CAACiB,SAAP,GAAmB;AACjBhB,EAAAA,MAAM,EAAEiB,SAAS,CAACC,KAAV,CAAgB;AACtBR,IAAAA,GAAG,EAAEO,SAAS,CAACE,MADO;AAEtBC,IAAAA,OAAO,EAAEH,SAAS,CAACI,OAAV,CAAkBJ,SAAS,CAACK,GAA5B;AAFa,GAAhB,CADS;AAKjBrB,EAAAA,IAAI,EAAEgB,SAAS,CAACC,KAAV,CAAgB;AACpBT,IAAAA,EAAE,EAAEQ,SAAS,CAACE;AADM,GAAhB,CALW;AAQjBjB,EAAAA,YAAY,EAAEe,SAAS,CAACM,IARP;AASjBpB,EAAAA,KAAK,EAAEc,SAAS,CAACE;AATA,CAAnB;AAYApB,MAAM,CAACyB,YAAP,GAAsB;AACpBxB,EAAAA,MAAM,EAAE,EADY;AAEpBC,EAAAA,IAAI,EAAE,EAFc;AAGpBC,EAAAA,YAAY,EAAE,wBAAM,EAHA;AAIpBC,EAAAA,KAAK,EAAE;AAJa,CAAtB;AAOA,4BAAesB,IAAI,CAAC1B,MAAD,CAAnB;;;;"}
1
+ {"version":3,"file":"Toggle.js","sources":["../../../../src/components/Settings/Toggle.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst Toggle = ({\n config = {},\n item = {},\n onItemChange = () => {},\n value = '',\n}) => {\n const onChange = e => {\n const status = e.target.checked ? 'on' : 'off';\n onItemChange(\n { id: item.id },\n { [config.key]: status },\n );\n };\n\n const { TOGGLE_OFF, TOGGLE_ON } = useTranslatedTexts();\n\n return (\n <label\n className=\"reportToolToggle\"\n htmlFor={config.key}\n >\n <input\n checked={value === 'on'}\n id={config.key}\n onChange={onChange}\n type=\"checkbox\"\n />\n <span className=\"reportToolToggle-knob\" />\n <span className=\"reportToolToggle-on reportToolToggle-text\">{TOGGLE_ON}</span>\n <span className=\"reportToolToggle-off reportToolToggle-text\">{TOGGLE_OFF}</span>\n </label>\n );\n};\n\nToggle.propTypes = {\n config: PropTypes.shape({\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.any),\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n value: PropTypes.string,\n};\n\nexport default memo(Toggle);\n"],"names":["Toggle","config","item","onItemChange","value","onChange","e","status","target","checked","id","key","useTranslatedTexts","TOGGLE_OFF","TOGGLE_ON","_jsxs","_jsx","propTypes","PropTypes","shape","string","options","arrayOf","any","func","memo"],"mappings":";;;;;;;AAIA,IAAMA,MAAM,GAAG,SAATA,MAAS,OAKT;AAAA,yBAJJC,MAII;AAAA,MAJJA,MAII,4BAJK,EAIL;AAAA,uBAHJC,IAGI;AAAA,MAHJA,IAGI,0BAHG,EAGH;AAAA,+BAFJC,YAEI;AAAA,MAFJA,YAEI,kCAFW,YAAM,EAEjB;AAAA,wBADJC,KACI;AAAA,MADJA,KACI,2BADI,EACJ;;AACJ,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAC,CAAC,EAAI;AACpB,QAAMC,MAAM,GAAGD,CAAC,CAACE,MAAF,CAASC,OAAT,GAAmB,IAAnB,GAA0B,KAAzC;AACAN,IAAAA,YAAY,CACV;AAAEO,MAAAA,EAAE,EAAER,IAAI,CAACQ;AAAX,KADU,sBAEPT,MAAM,CAACU,GAFA,EAEMJ,MAFN,EAAZ;AAID,GAND;;AAQA,4BAAkCK,kBAAkB,EAApD;AAAA,MAAQC,UAAR,uBAAQA,UAAR;AAAA,MAAoBC,SAApB,uBAAoBA,SAApB;;AAEA,sBACEC;AACE,IAAA,SAAS,EAAC,kBADZ;AAEE,IAAA,OAAO,EAAEd,MAAM,CAACU,GAFlB;AAAA,4BAIEK;AACE,MAAA,OAAO,EAAEZ,KAAK,KAAK,IADrB;AAEE,MAAA,EAAE,EAAEH,MAAM,CAACU,GAFb;AAGE,MAAA,QAAQ,EAAEN,QAHZ;AAIE,MAAA,IAAI,EAAC;AAJP,MAJF,eAUEW;AAAM,MAAA,SAAS,EAAC;AAAhB,MAVF,eAWEA;AAAM,MAAA,SAAS,EAAC,2CAAhB;AAAA,gBAA6DF;AAA7D,MAXF,eAYEE;AAAM,MAAA,SAAS,EAAC,4CAAhB;AAAA,gBAA8DH;AAA9D,MAZF;AAAA,IADF;AAgBD,CAhCD;;AAkCAb,MAAM,CAACiB,SAAP,GAAmB;AACjBhB,EAAAA,MAAM,EAAEiB,SAAS,CAACC,KAAV,CAAgB;AACtBR,IAAAA,GAAG,EAAEO,SAAS,CAACE,MADO;AAEtBC,IAAAA,OAAO,EAAEH,SAAS,CAACI,OAAV,CAAkBJ,SAAS,CAACK,GAA5B;AAFa,GAAhB,CADS;AAKjBrB,EAAAA,IAAI,EAAEgB,SAAS,CAACC,KAAV,CAAgB;AACpBT,IAAAA,EAAE,EAAEQ,SAAS,CAACE;AADM,GAAhB,CALW;AAQjBjB,EAAAA,YAAY,EAAEe,SAAS,CAACM,IARP;AASjBpB,EAAAA,KAAK,EAAEc,SAAS,CAACE;AATA,CAAnB;AAYA,4BAAeK,IAAI,CAACzB,MAAD,CAAnB;;;;"}
@@ -6,10 +6,34 @@ import { fontTypes } from '../../constants/fonts.js';
6
6
  import { jsx } from 'react/jsx-runtime';
7
7
 
8
8
  var ITEM_TYPE = 'text';
9
+ var details = {
10
+ height: 65,
11
+ itemType: ITEM_TYPE,
12
+ width: 350
13
+ };
14
+ var defaultItem = {
15
+ fontFamily: 'Circular',
16
+ opacity: 1,
17
+ value: ''
18
+ };
19
+ var settings = [{
20
+ key: 'fontFamily',
21
+ label: 'Font Family',
22
+ options: fontTypes.fonts,
23
+ section: 'GENERAL',
24
+ type: 'dropdown'
25
+ }, {
26
+ key: 'opacity',
27
+ label: 'Opacity',
28
+ range: [0, 100],
29
+ section: 'GENERAL',
30
+ type: 'slider'
31
+ }];
9
32
 
10
33
  var StaticRichTextElement = function StaticRichTextElement(_ref) {
11
- var _ref$item = _ref.item,
12
- fontFamily = _ref$item.fontFamily,
34
+ var _ref$item = _ref.item;
35
+ _ref$item = _ref$item === void 0 ? defaultItem : _ref$item;
36
+ var fontFamily = _ref$item.fontFamily,
13
37
  opacity = _ref$item.opacity,
14
38
  value = _ref$item.value;
15
39
  return /*#__PURE__*/jsx("div", {
@@ -34,34 +58,6 @@ StaticRichTextElement.propTypes = {
34
58
  value: PropTypes.string
35
59
  })
36
60
  };
37
- StaticRichTextElement.defaultProps = {
38
- item: {
39
- value: ''
40
- }
41
- };
42
- var details = {
43
- height: 65,
44
- itemType: ITEM_TYPE,
45
- width: 350
46
- };
47
- var defaultItem = {
48
- fontFamily: 'Circular',
49
- opacity: 1,
50
- value: ''
51
- };
52
- var settings = [{
53
- key: 'fontFamily',
54
- label: 'Font Family',
55
- options: fontTypes.fonts,
56
- section: 'GENERAL',
57
- type: 'dropdown'
58
- }, {
59
- key: 'opacity',
60
- label: 'Opacity',
61
- range: [0, 100],
62
- section: 'GENERAL',
63
- type: 'slider'
64
- }];
65
61
  var StaticRichText = {
66
62
  Component: /*#__PURE__*/memo(StaticRichTextElement),
67
63
  defaultItem: defaultItem,
@@ -1 +1 @@
1
- {"version":3,"file":"StaticRichText.js","sources":["../../../../src/components/StaticElements/StaticRichText.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport 'react-quill/dist/quill.snow.css';\nimport { fontTypes } from '../../constants/fonts';\n\nconst ITEM_TYPE = 'text';\n\nconst StaticRichTextElement = ({\n item: {\n fontFamily,\n opacity,\n value,\n },\n}) => (\n <div\n className=\"reportItemInner f-height\"\n style={{ fontFamily, opacity }}\n >\n <div\n className=\"f-all ql-editor\"\n dangerouslySetInnerHTML={{ __html: domPurify.sanitize(value) }}\n />\n </div>\n);\n\nStaticRichTextElement.propTypes = {\n item: PropTypes.shape({\n fontFamily: PropTypes.string,\n opacity: PropTypes.number,\n value: PropTypes.string,\n }),\n};\n\nStaticRichTextElement.defaultProps = {\n item: {\n value: '',\n },\n};\n\nconst details = {\n height: 65,\n itemType: ITEM_TYPE,\n width: 350,\n};\n\nconst defaultItem = {\n fontFamily: 'Circular',\n opacity: 1,\n value: '',\n};\n\nconst settings = [\n {\n key: 'fontFamily',\n label: 'Font Family',\n options: fontTypes.fonts,\n section: 'GENERAL',\n type: 'dropdown',\n },\n {\n key: 'opacity',\n label: 'Opacity',\n range: [0, 100],\n section: 'GENERAL',\n type: 'slider',\n },\n];\n\nexport default {\n Component: memo(StaticRichTextElement),\n defaultItem,\n details,\n itemType: ITEM_TYPE,\n settings,\n};\n"],"names":["ITEM_TYPE","StaticRichTextElement","item","fontFamily","opacity","value","_jsx","__html","domPurify","sanitize","propTypes","PropTypes","shape","string","number","defaultProps","details","height","itemType","width","defaultItem","settings","key","label","options","fontTypes","fonts","section","type","range","Component","memo"],"mappings":";;;;;;;AAMA,IAAMA,SAAS,GAAG,MAAlB;;AAEA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB;AAAA,uBAC5BC,IAD4B;AAAA,MAE1BC,UAF0B,aAE1BA,UAF0B;AAAA,MAG1BC,OAH0B,aAG1BA,OAH0B;AAAA,MAI1BC,KAJ0B,aAI1BA,KAJ0B;AAAA,sBAO5BC;AACE,IAAA,SAAS,EAAC,0BADZ;AAEE,IAAA,KAAK,EAAE;AAAEH,MAAAA,UAAU,EAAVA,UAAF;AAAcC,MAAAA,OAAO,EAAPA;AAAd,KAFT;AAAA,2BAIEE;AACE,MAAA,SAAS,EAAC,iBADZ;AAEE,MAAA,uBAAuB,EAAE;AAAEC,QAAAA,MAAM,EAAEC,SAAS,CAACC,QAAV,CAAmBJ,KAAnB;AAAV;AAF3B;AAJF,IAP4B;AAAA,CAA9B;;AAkBAJ,qBAAqB,CAACS,SAAtB,GAAkC;AAChCR,EAAAA,IAAI,EAAES,SAAS,CAACC,KAAV,CAAgB;AACpBT,IAAAA,UAAU,EAAEQ,SAAS,CAACE,MADF;AAEpBT,IAAAA,OAAO,EAAEO,SAAS,CAACG,MAFC;AAGpBT,IAAAA,KAAK,EAAEM,SAAS,CAACE;AAHG,GAAhB;AAD0B,CAAlC;AAQAZ,qBAAqB,CAACc,YAAtB,GAAqC;AACnCb,EAAAA,IAAI,EAAE;AACJG,IAAAA,KAAK,EAAE;AADH;AAD6B,CAArC;AAMA,IAAMW,OAAO,GAAG;AACdC,EAAAA,MAAM,EAAE,EADM;AAEdC,EAAAA,QAAQ,EAAElB,SAFI;AAGdmB,EAAAA,KAAK,EAAE;AAHO,CAAhB;AAMA,IAAMC,WAAW,GAAG;AAClBjB,EAAAA,UAAU,EAAE,UADM;AAElBC,EAAAA,OAAO,EAAE,CAFS;AAGlBC,EAAAA,KAAK,EAAE;AAHW,CAApB;AAMA,IAAMgB,QAAQ,GAAG,CACf;AACEC,EAAAA,GAAG,EAAE,YADP;AAEEC,EAAAA,KAAK,EAAE,aAFT;AAGEC,EAAAA,OAAO,EAAEC,SAAS,CAACC,KAHrB;AAIEC,EAAAA,OAAO,EAAE,SAJX;AAKEC,EAAAA,IAAI,EAAE;AALR,CADe,EAQf;AACEN,EAAAA,GAAG,EAAE,SADP;AAEEC,EAAAA,KAAK,EAAE,SAFT;AAGEM,EAAAA,KAAK,EAAE,CAAC,CAAD,EAAI,GAAJ,CAHT;AAIEF,EAAAA,OAAO,EAAE,SAJX;AAKEC,EAAAA,IAAI,EAAE;AALR,CARe,CAAjB;AAiBA,qBAAe;AACbE,EAAAA,SAAS,eAAEC,IAAI,CAAC9B,qBAAD,CADF;AAEbmB,EAAAA,WAAW,EAAXA,WAFa;AAGbJ,EAAAA,OAAO,EAAPA,OAHa;AAIbE,EAAAA,QAAQ,EAAElB,SAJG;AAKbqB,EAAAA,QAAQ,EAARA;AALa,CAAf;;;;"}
1
+ {"version":3,"file":"StaticRichText.js","sources":["../../../../src/components/StaticElements/StaticRichText.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport 'react-quill/dist/quill.snow.css';\nimport { fontTypes } from '../../constants/fonts';\n\nconst ITEM_TYPE = 'text';\n\nconst details = {\n height: 65,\n itemType: ITEM_TYPE,\n width: 350,\n};\n\nconst defaultItem = {\n fontFamily: 'Circular',\n opacity: 1,\n value: '',\n};\n\nconst settings = [\n {\n key: 'fontFamily',\n label: 'Font Family',\n options: fontTypes.fonts,\n section: 'GENERAL',\n type: 'dropdown',\n },\n {\n key: 'opacity',\n label: 'Opacity',\n range: [0, 100],\n section: 'GENERAL',\n type: 'slider',\n },\n];\n\nconst StaticRichTextElement = ({\n item: {\n fontFamily,\n opacity,\n value,\n } = defaultItem,\n}) => (\n <div\n className=\"reportItemInner f-height\"\n style={{ fontFamily, opacity }}\n >\n <div\n className=\"f-all ql-editor\"\n dangerouslySetInnerHTML={{ __html: domPurify.sanitize(value) }}\n />\n </div>\n);\n\nStaticRichTextElement.propTypes = {\n item: PropTypes.shape({\n fontFamily: PropTypes.string,\n opacity: PropTypes.number,\n value: PropTypes.string,\n }),\n};\n\nexport default {\n Component: memo(StaticRichTextElement),\n defaultItem,\n details,\n itemType: ITEM_TYPE,\n settings,\n};\n"],"names":["ITEM_TYPE","details","height","itemType","width","defaultItem","fontFamily","opacity","value","settings","key","label","options","fontTypes","fonts","section","type","range","StaticRichTextElement","item","_jsx","__html","domPurify","sanitize","propTypes","PropTypes","shape","string","number","Component","memo"],"mappings":";;;;;;;AAMA,IAAMA,SAAS,GAAG,MAAlB;AAEA,IAAMC,OAAO,GAAG;AACdC,EAAAA,MAAM,EAAE,EADM;AAEdC,EAAAA,QAAQ,EAAEH,SAFI;AAGdI,EAAAA,KAAK,EAAE;AAHO,CAAhB;AAMA,IAAMC,WAAW,GAAG;AAClBC,EAAAA,UAAU,EAAE,UADM;AAElBC,EAAAA,OAAO,EAAE,CAFS;AAGlBC,EAAAA,KAAK,EAAE;AAHW,CAApB;AAMA,IAAMC,QAAQ,GAAG,CACf;AACEC,EAAAA,GAAG,EAAE,YADP;AAEEC,EAAAA,KAAK,EAAE,aAFT;AAGEC,EAAAA,OAAO,EAAEC,SAAS,CAACC,KAHrB;AAIEC,EAAAA,OAAO,EAAE,SAJX;AAKEC,EAAAA,IAAI,EAAE;AALR,CADe,EAQf;AACEN,EAAAA,GAAG,EAAE,SADP;AAEEC,EAAAA,KAAK,EAAE,SAFT;AAGEM,EAAAA,KAAK,EAAE,CAAC,CAAD,EAAI,GAAJ,CAHT;AAIEF,EAAAA,OAAO,EAAE,SAJX;AAKEC,EAAAA,IAAI,EAAE;AALR,CARe,CAAjB;;AAiBA,IAAME,qBAAqB,GAAG,SAAxBA,qBAAwB;AAAA,uBAC5BC,IAD4B;AAAA,qCAKxBd,WALwB;AAAA,MAE1BC,UAF0B,aAE1BA,UAF0B;AAAA,MAG1BC,OAH0B,aAG1BA,OAH0B;AAAA,MAI1BC,KAJ0B,aAI1BA,KAJ0B;AAAA,sBAO5BY;AACE,IAAA,SAAS,EAAC,0BADZ;AAEE,IAAA,KAAK,EAAE;AAAEd,MAAAA,UAAU,EAAVA,UAAF;AAAcC,MAAAA,OAAO,EAAPA;AAAd,KAFT;AAAA,2BAIEa;AACE,MAAA,SAAS,EAAC,iBADZ;AAEE,MAAA,uBAAuB,EAAE;AAAEC,QAAAA,MAAM,EAAEC,SAAS,CAACC,QAAV,CAAmBf,KAAnB;AAAV;AAF3B;AAJF,IAP4B;AAAA,CAA9B;;AAkBAU,qBAAqB,CAACM,SAAtB,GAAkC;AAChCL,EAAAA,IAAI,EAAEM,SAAS,CAACC,KAAV,CAAgB;AACpBpB,IAAAA,UAAU,EAAEmB,SAAS,CAACE,MADF;AAEpBpB,IAAAA,OAAO,EAAEkB,SAAS,CAACG,MAFC;AAGpBpB,IAAAA,KAAK,EAAEiB,SAAS,CAACE;AAHG,GAAhB;AAD0B,CAAlC;AAQA,qBAAe;AACbE,EAAAA,SAAS,eAAEC,IAAI,CAACZ,qBAAD,CADF;AAEbb,EAAAA,WAAW,EAAXA,WAFa;AAGbJ,EAAAA,OAAO,EAAPA,OAHa;AAIbE,EAAAA,QAAQ,EAAEH,SAJG;AAKbS,EAAAA,QAAQ,EAARA;AALa,CAAf;;;;"}
@@ -24,7 +24,8 @@ var BUTTON_WIDTH = 26;
24
24
  var BAR_WIDTH = SELECT_WIDTH + BUTTON_WIDTH * 8;
25
25
 
26
26
  var CustomToolbar = function CustomToolbar(_ref) {
27
- var itemWidth = _ref.itemWidth;
27
+ var _ref$itemWidth = _ref.itemWidth,
28
+ itemWidth = _ref$itemWidth === void 0 ? 0 : _ref$itemWidth;
28
29
  var overflow = BAR_WIDTH > itemWidth;
29
30
 
30
31
  var _useState = useState(overflow ? false : true),
@@ -126,9 +127,6 @@ var CustomToolbar = function CustomToolbar(_ref) {
126
127
  CustomToolbar.propTypes = {
127
128
  itemWidth: PropTypes.number
128
129
  };
129
- CustomToolbar.defaultProps = {
130
- itemWidth: 0
131
- };
132
130
 
133
131
  export default CustomToolbar;
134
132
  //# sourceMappingURL=CustomToolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomToolbar.js","sources":["../../../../../src/components/TextEditor/CustomToolbar/CustomToolbar.js"],"sourcesContent":["import {\n useState, useCallback, useLayoutEffect, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { fontSizes } from '../../../constants/fonts';\n\nconst SELECT_WIDTH = 70;\nconst BUTTON_WIDTH = 26;\nconst BAR_WIDTH = SELECT_WIDTH + (BUTTON_WIDTH * 8);\n\nconst CustomToolbar = ({ itemWidth }) => {\n const overflow = BAR_WIDTH > itemWidth;\n const [isOpened, setIsOpened] = useState(overflow ? false : true);\n const onClickMore = useCallback(() => setIsOpened(true), []);\n const wrapper = useRef();\n\n function getVisibleClass(limit) {\n return overflow && itemWidth < limit ? ' hiddenVisibility' : '';\n }\n\n useLayoutEffect(() => {\n if (!isOpened || wrapper.current === null) return;\n Array.from(wrapper.current.children).forEach(el => el.classList.remove('hiddenVisibility'));\n }, [isOpened]);\n\n return (\n <div\n ref={wrapper}\n className={classNames('toolbarWrapper p-absolute d-flex', { isOpened })}\n style={{\n maxWidth: isOpened ? 'none' : '100%',\n // minWidth: `${itemWidth}px`,\n }}\n >\n <select\n aria-label=\"Size\"\n className=\"ql-size ql-select ql-textselect\"\n defaultValue=\"16px\"\n onChange={e => e.persist()}\n >\n {fontSizes.map(size => (\n <option\n key={size}\n value={`${size}px`}\n >\n {size}\n px\n </option>\n ))}\n </select>\n <div className=\"ql-divider\" />\n <button\n aria-label=\"Bold\"\n className={`ql-bold ql-button${getVisibleClass(SELECT_WIDTH + BUTTON_WIDTH)}`}\n type=\"button\"\n />\n <button\n aria-label=\"Italic\"\n className={`ql-italic ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 2))}`}\n type=\"button\"\n />\n <button\n aria-label=\"Underline\"\n className={`ql-underline ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 3))}`}\n type=\"button\"\n />\n <select\n aria-label=\"Text Color\"\n className={`ql-color ql-select${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 4))}`}\n defaultValue=\"\"\n onChange={e => e.persist()}\n />\n <div className=\"ql-divider\" />\n <select\n aria-label=\"Alignment\"\n className={`ql-align ql-select${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 5))}`}\n defaultValue=\"\"\n onChange={e => e.persist()}\n />\n <button\n aria-label=\"Ordered List\"\n className={`ql-list ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 6))}`}\n type=\"button\"\n value=\"ordered\"\n />\n <button\n aria-label=\"Bullet List\"\n className={`ql-list ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 7))}`}\n type=\"button\"\n value=\"bullet\"\n />\n <button\n aria-label=\"Link\"\n className={`ql-link ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 8))}`}\n type=\"button\"\n />\n {overflow && !isOpened && (\n <button\n aria-label=\"More Options\"\n className=\"qlMore\"\n onClick={onClickMore}\n type=\"button\"\n >\n &gt;&gt;\n </button>\n )}\n </div>\n );\n};\n\nCustomToolbar.propTypes = {\n itemWidth: PropTypes.number,\n};\n\nCustomToolbar.defaultProps = {\n itemWidth: 0,\n};\n\nexport default CustomToolbar;\n"],"names":["SELECT_WIDTH","BUTTON_WIDTH","BAR_WIDTH","CustomToolbar","itemWidth","overflow","useState","isOpened","setIsOpened","onClickMore","useCallback","wrapper","useRef","getVisibleClass","limit","useLayoutEffect","current","Array","from","children","forEach","el","classList","remove","_jsxs","classNames","maxWidth","_jsx","e","persist","fontSizes","map","size","propTypes","PropTypes","number","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"CustomToolbar.js","sources":["../../../../../src/components/TextEditor/CustomToolbar/CustomToolbar.js"],"sourcesContent":["import {\n useState, useCallback, useLayoutEffect, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { fontSizes } from '../../../constants/fonts';\n\nconst SELECT_WIDTH = 70;\nconst BUTTON_WIDTH = 26;\nconst BAR_WIDTH = SELECT_WIDTH + (BUTTON_WIDTH * 8);\n\nconst CustomToolbar = ({ itemWidth = 0 }) => {\n const overflow = BAR_WIDTH > itemWidth;\n const [isOpened, setIsOpened] = useState(overflow ? false : true);\n const onClickMore = useCallback(() => setIsOpened(true), []);\n const wrapper = useRef();\n\n function getVisibleClass(limit) {\n return overflow && itemWidth < limit ? ' hiddenVisibility' : '';\n }\n\n useLayoutEffect(() => {\n if (!isOpened || wrapper.current === null) return;\n Array.from(wrapper.current.children).forEach(el => el.classList.remove('hiddenVisibility'));\n }, [isOpened]);\n\n return (\n <div\n ref={wrapper}\n className={classNames('toolbarWrapper p-absolute d-flex', { isOpened })}\n style={{\n maxWidth: isOpened ? 'none' : '100%',\n // minWidth: `${itemWidth}px`,\n }}\n >\n <select\n aria-label=\"Size\"\n className=\"ql-size ql-select ql-textselect\"\n defaultValue=\"16px\"\n onChange={e => e.persist()}\n >\n {fontSizes.map(size => (\n <option\n key={size}\n value={`${size}px`}\n >\n {size}\n px\n </option>\n ))}\n </select>\n <div className=\"ql-divider\" />\n <button\n aria-label=\"Bold\"\n className={`ql-bold ql-button${getVisibleClass(SELECT_WIDTH + BUTTON_WIDTH)}`}\n type=\"button\"\n />\n <button\n aria-label=\"Italic\"\n className={`ql-italic ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 2))}`}\n type=\"button\"\n />\n <button\n aria-label=\"Underline\"\n className={`ql-underline ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 3))}`}\n type=\"button\"\n />\n <select\n aria-label=\"Text Color\"\n className={`ql-color ql-select${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 4))}`}\n defaultValue=\"\"\n onChange={e => e.persist()}\n />\n <div className=\"ql-divider\" />\n <select\n aria-label=\"Alignment\"\n className={`ql-align ql-select${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 5))}`}\n defaultValue=\"\"\n onChange={e => e.persist()}\n />\n <button\n aria-label=\"Ordered List\"\n className={`ql-list ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 6))}`}\n type=\"button\"\n value=\"ordered\"\n />\n <button\n aria-label=\"Bullet List\"\n className={`ql-list ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 7))}`}\n type=\"button\"\n value=\"bullet\"\n />\n <button\n aria-label=\"Link\"\n className={`ql-link ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 8))}`}\n type=\"button\"\n />\n {overflow && !isOpened && (\n <button\n aria-label=\"More Options\"\n className=\"qlMore\"\n onClick={onClickMore}\n type=\"button\"\n >\n &gt;&gt;\n </button>\n )}\n </div>\n );\n};\n\nCustomToolbar.propTypes = {\n itemWidth: PropTypes.number,\n};\n\nexport default CustomToolbar;\n"],"names":["SELECT_WIDTH","BUTTON_WIDTH","BAR_WIDTH","CustomToolbar","itemWidth","overflow","useState","isOpened","setIsOpened","onClickMore","useCallback","wrapper","useRef","getVisibleClass","limit","useLayoutEffect","current","Array","from","children","forEach","el","classList","remove","_jsxs","classNames","maxWidth","_jsx","e","persist","fontSizes","map","size","propTypes","PropTypes","number"],"mappings":"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"}
@@ -4,8 +4,10 @@ import CustomToolbar from './CustomToolbar.js';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
6
6
  var CustomToolbarWrapper = function CustomToolbarWrapper(_ref) {
7
- var isTextEditorOpen = _ref.isTextEditorOpen,
8
- itemWidth = _ref.itemWidth;
7
+ var _ref$isTextEditorOpen = _ref.isTextEditorOpen,
8
+ isTextEditorOpen = _ref$isTextEditorOpen === void 0 ? false : _ref$isTextEditorOpen,
9
+ _ref$itemWidth = _ref.itemWidth,
10
+ itemWidth = _ref$itemWidth === void 0 ? 0 : _ref$itemWidth;
9
11
  return isTextEditorOpen && /*#__PURE__*/jsx("div", {
10
12
  id: "toolbar",
11
13
  style: {
@@ -23,10 +25,6 @@ CustomToolbarWrapper.propTypes = {
23
25
  isTextEditorOpen: PropTypes.bool,
24
26
  itemWidth: PropTypes.number
25
27
  };
26
- CustomToolbarWrapper.defaultProps = {
27
- isTextEditorOpen: false,
28
- itemWidth: 0
29
- };
30
28
  var CustomToolbarWrapper$1 = /*#__PURE__*/memo(CustomToolbarWrapper);
31
29
 
32
30
  export default CustomToolbarWrapper$1;
@@ -1 +1 @@
1
- {"version":3,"file":"CustomToolbarWrapper.js","sources":["../../../../../src/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport CustomToolbar from './CustomToolbar';\n\n// This wrapper is needed to prevent the re-render\n// of the toolbar id div since it breaks the editor\nconst CustomToolbarWrapper = ({\n isTextEditorOpen,\n itemWidth,\n}) => isTextEditorOpen && (\n <div\n id=\"toolbar\"\n style={{\n pointerEvents: 'auto',\n position: 'absolute',\n top: '100%',\n }}\n >\n <CustomToolbar itemWidth={itemWidth} />\n </div>\n);\n\nCustomToolbarWrapper.propTypes = {\n isTextEditorOpen: PropTypes.bool,\n itemWidth: PropTypes.number,\n};\n\nCustomToolbarWrapper.defaultProps = {\n isTextEditorOpen: false,\n itemWidth: 0,\n};\n\nexport default memo(CustomToolbarWrapper);\n"],"names":["CustomToolbarWrapper","isTextEditorOpen","itemWidth","_jsx","pointerEvents","position","top","propTypes","PropTypes","bool","number","defaultProps","memo"],"mappings":";;;;;AAMA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB;AAAA,MAC3BC,gBAD2B,QAC3BA,gBAD2B;AAAA,MAE3BC,SAF2B,QAE3BA,SAF2B;AAAA,SAGvBD,gBAAgB,iBACpBE;AACE,IAAA,EAAE,EAAC,SADL;AAEE,IAAA,KAAK,EAAE;AACLC,MAAAA,aAAa,EAAE,MADV;AAELC,MAAAA,QAAQ,EAAE,UAFL;AAGLC,MAAAA,GAAG,EAAE;AAHA,KAFT;AAAA,2BAQEH,IAAC,aAAD;AAAe,MAAA,SAAS,EAAED;AAA1B;AARF,IAJ2B;AAAA,CAA7B;;AAgBAF,oBAAoB,CAACO,SAArB,GAAiC;AAC/BN,EAAAA,gBAAgB,EAAEO,SAAS,CAACC,IADG;AAE/BP,EAAAA,SAAS,EAAEM,SAAS,CAACE;AAFU,CAAjC;AAKAV,oBAAoB,CAACW,YAArB,GAAoC;AAClCV,EAAAA,gBAAgB,EAAE,KADgB;AAElCC,EAAAA,SAAS,EAAE;AAFuB,CAApC;AAKA,0CAAeU,IAAI,CAACZ,oBAAD,CAAnB;;;;"}
1
+ {"version":3,"file":"CustomToolbarWrapper.js","sources":["../../../../../src/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport CustomToolbar from './CustomToolbar';\n\n// This wrapper is needed to prevent the re-render\n// of the toolbar id div since it breaks the editor\nconst CustomToolbarWrapper = ({\n isTextEditorOpen = false,\n itemWidth = 0,\n}) => isTextEditorOpen && (\n <div\n id=\"toolbar\"\n style={{\n pointerEvents: 'auto',\n position: 'absolute',\n top: '100%',\n }}\n >\n <CustomToolbar itemWidth={itemWidth} />\n </div>\n);\n\nCustomToolbarWrapper.propTypes = {\n isTextEditorOpen: PropTypes.bool,\n itemWidth: PropTypes.number,\n};\n\nexport default memo(CustomToolbarWrapper);\n"],"names":["CustomToolbarWrapper","isTextEditorOpen","itemWidth","_jsx","pointerEvents","position","top","propTypes","PropTypes","bool","number","memo"],"mappings":";;;;;AAMA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB;AAAA,mCAC3BC,gBAD2B;AAAA,MAC3BA,gBAD2B,sCACR,KADQ;AAAA,4BAE3BC,SAF2B;AAAA,MAE3BA,SAF2B,+BAEf,CAFe;AAAA,SAGvBD,gBAAgB,iBACpBE;AACE,IAAA,EAAE,EAAC,SADL;AAEE,IAAA,KAAK,EAAE;AACLC,MAAAA,aAAa,EAAE,MADV;AAELC,MAAAA,QAAQ,EAAE,UAFL;AAGLC,MAAAA,GAAG,EAAE;AAHA,KAFT;AAAA,2BAQEH,IAAC,aAAD;AAAe,MAAA,SAAS,EAAED;AAA1B;AARF,IAJ2B;AAAA,CAA7B;;AAgBAF,oBAAoB,CAACO,SAArB,GAAiC;AAC/BN,EAAAA,gBAAgB,EAAEO,SAAS,CAACC,IADG;AAE/BP,EAAAA,SAAS,EAAEM,SAAS,CAACE;AAFU,CAAjC;AAKA,0CAAeC,IAAI,CAACX,oBAAD,CAAnB;;;;"}
@@ -66,9 +66,11 @@ var QuillEditor = /*#__PURE__*/function (_React$PureComponent) {
66
66
  }
67
67
  });
68
68
 
69
- _defineProperty(_assertThisInitialized(_this), "handleSetContent", function (value) {
70
- var setContent = _this.props.setContent;
71
- setContent(domPurify.sanitize(value));
69
+ _defineProperty(_assertThisInitialized(_this), "handleSetContent", function (value, delta, source) {
70
+ if (source === 'user') {
71
+ var setContent = _this.props.setContent;
72
+ setContent(domPurify.sanitize(value));
73
+ }
72
74
  });
73
75
 
74
76
  _this.quill = /*#__PURE__*/React.createRef();
@@ -119,17 +121,10 @@ QuillEditor.formats = formats;
119
121
  QuillEditor.propTypes = {
120
122
  content: PropTypes.string,
121
123
  handleSave: PropTypes.func,
122
- placeholder: PropTypes.string,
124
+ placeholder: PropTypes.string.isRequired,
123
125
  setContent: PropTypes.func,
124
126
  setIsTextEditorOpen: PropTypes.func
125
127
  };
126
- QuillEditor.defaultProps = {
127
- content: '',
128
- handleSave: function handleSave() {},
129
- placeholder: 'Click to edit text',
130
- setContent: function setContent() {},
131
- setIsTextEditorOpen: function setIsTextEditorOpen() {}
132
- };
133
128
 
134
129
  export default QuillEditor;
135
130
  //# sourceMappingURL=QuillEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuillEditor.js","sources":["../../../../src/components/TextEditor/QuillEditor.js"],"sourcesContent":["import React from 'react';\nimport ReactQuill from 'react-quill';\nimport domPurify from 'dompurify';\nimport PropTypes from 'prop-types';\nimport { formats, modules } from './textEditorConstants';\nimport { fontSizes } from '../../constants/fonts';\nimport 'react-quill/dist/quill.snow.css';\n\nconst Size = ReactQuill.Quill.import('attributors/style/size');\nSize.whitelist = fontSizes.map(s => `${s}px`);\nReactQuill.Quill.register(Size, true);\n\nclass QuillEditor extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.quill = React.createRef();\n }\n\n componentDidMount() {\n if (this.quill.current !== null) {\n const { content } = this.props;\n const editor = this.quill.current.getEditor();\n editor.setSelection(0, content.length);\n }\n }\n\n componentWillUnmount() {\n this.saveAndQuit();\n }\n\n saveAndQuit = () => {\n const { content, handleSave, setIsTextEditorOpen } = this.props;\n setIsTextEditorOpen(false);\n handleSave(content);\n }\n\n handleKeyDown = e => {\n e.stopPropagation();\n if (e.keyCode === 27) {\n this.saveAndQuit();\n }\n }\n\n handleSetContent = value => {\n const { setContent } = this.props;\n setContent(domPurify.sanitize(value));\n }\n\n render() {\n const { content, placeholder } = this.props;\n\n return (\n <div\n className=\"f-all\"\n onKeyDown={this.handleKeyDown}\n >\n <ReactQuill\n ref={this.quill}\n formats={QuillEditor.formats}\n modules={QuillEditor.modules}\n onChange={this.handleSetContent}\n placeholder={placeholder}\n preserveWhitespace\n value={content}\n />\n </div>\n );\n }\n}\n\nQuillEditor.modules = modules;\nQuillEditor.formats = formats;\n\nQuillEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n placeholder: PropTypes.string,\n setContent: PropTypes.func,\n setIsTextEditorOpen: PropTypes.func,\n};\n\nQuillEditor.defaultProps = {\n content: '',\n handleSave: () => {},\n placeholder: 'Click to edit text',\n setContent: () => {},\n setIsTextEditorOpen: () => {},\n};\n\nexport default QuillEditor;\n"],"names":["Size","ReactQuill","Quill","import","whitelist","fontSizes","map","s","register","QuillEditor","props","content","handleSave","setIsTextEditorOpen","e","stopPropagation","keyCode","saveAndQuit","value","setContent","domPurify","sanitize","quill","React","createRef","current","editor","getEditor","setSelection","length","placeholder","_jsx","handleKeyDown","formats","modules","handleSetContent","PureComponent","propTypes","PropTypes","string","func","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,IAAI,GAAGC,UAAU,CAACC,KAAX,CAAiBC,MAAjB,CAAwB,wBAAxB,CAAb;AACAH,IAAI,CAACI,SAAL,GAAiBC,SAAS,CAACC,GAAV,CAAc,UAAAC,CAAC;AAAA,mBAAOA,CAAP;AAAA,CAAf,CAAjB;AACAN,UAAU,CAACC,KAAX,CAAiBM,QAAjB,CAA0BR,IAA1B,EAAgC,IAAhC;;IAEMS;;;;;AACJ,uBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACjB,8BAAMA,KAAN;;AADiB,kEAkBL,YAAM;AAClB,wBAAqD,MAAKA,KAA1D;AAAA,UAAQC,OAAR,eAAQA,OAAR;AAAA,UAAiBC,UAAjB,eAAiBA,UAAjB;AAAA,UAA6BC,mBAA7B,eAA6BA,mBAA7B;AACAA,MAAAA,mBAAmB,CAAC,KAAD,CAAnB;AACAD,MAAAA,UAAU,CAACD,OAAD,CAAV;AACD,KAtBkB;;AAAA,oEAwBH,UAAAG,CAAC,EAAI;AACnBA,MAAAA,CAAC,CAACC,eAAF;;AACA,UAAID,CAAC,CAACE,OAAF,KAAc,EAAlB,EAAsB;AACpB,cAAKC,WAAL;AACD;AACF,KA7BkB;;AAAA,uEA+BA,UAAAC,KAAK,EAAI;AAC1B,UAAQC,UAAR,GAAuB,MAAKT,KAA5B,CAAQS,UAAR;AACAA,MAAAA,UAAU,CAACC,SAAS,CAACC,QAAV,CAAmBH,KAAnB,CAAD,CAAV;AACD,KAlCkB;;AAGjB,UAAKI,KAAL,gBAAaC,KAAK,CAACC,SAAN,EAAb;AAHiB;AAIlB;;;;WAED,6BAAoB;AAClB,UAAI,KAAKF,KAAL,CAAWG,OAAX,KAAuB,IAA3B,EAAiC;AAC/B,YAAQd,OAAR,GAAoB,KAAKD,KAAzB,CAAQC,OAAR;AACA,YAAMe,MAAM,GAAG,KAAKJ,KAAL,CAAWG,OAAX,CAAmBE,SAAnB,EAAf;AACAD,QAAAA,MAAM,CAACE,YAAP,CAAoB,CAApB,EAAuBjB,OAAO,CAACkB,MAA/B;AACD;AACF;;;WAED,gCAAuB;AACrB,WAAKZ,WAAL;AACD;;;WAoBD,kBAAS;AACP,yBAAiC,KAAKP,KAAtC;AAAA,UAAQC,OAAR,gBAAQA,OAAR;AAAA,UAAiBmB,WAAjB,gBAAiBA,WAAjB;AAEA,0BACEC;AACE,QAAA,SAAS,EAAC,OADZ;AAEE,QAAA,SAAS,EAAE,KAAKC,aAFlB;AAAA,+BAIED,IAAC,UAAD;AACE,UAAA,GAAG,EAAE,KAAKT,KADZ;AAEE,UAAA,OAAO,EAAEb,WAAW,CAACwB,OAFvB;AAGE,UAAA,OAAO,EAAExB,WAAW,CAACyB,OAHvB;AAIE,UAAA,QAAQ,EAAE,KAAKC,gBAJjB;AAKE,UAAA,WAAW,EAAEL,WALf;AAME,UAAA,kBAAkB,MANpB;AAOE,UAAA,KAAK,EAAEnB;AAPT;AAJF,QADF;AAgBD;;;;EAxDuBY,KAAK,CAACa;;AA2DhC3B,WAAW,CAACyB,OAAZ,GAAsBA,OAAtB;AACAzB,WAAW,CAACwB,OAAZ,GAAsBA,OAAtB;AAEAxB,WAAW,CAAC4B,SAAZ,GAAwB;AACtB1B,EAAAA,OAAO,EAAE2B,SAAS,CAACC,MADG;AAEtB3B,EAAAA,UAAU,EAAE0B,SAAS,CAACE,IAFA;AAGtBV,EAAAA,WAAW,EAAEQ,SAAS,CAACC,MAHD;AAItBpB,EAAAA,UAAU,EAAEmB,SAAS,CAACE,IAJA;AAKtB3B,EAAAA,mBAAmB,EAAEyB,SAAS,CAACE;AALT,CAAxB;AAQA/B,WAAW,CAACgC,YAAZ,GAA2B;AACzB9B,EAAAA,OAAO,EAAE,EADgB;AAEzBC,EAAAA,UAAU,EAAE,sBAAM,EAFO;AAGzBkB,EAAAA,WAAW,EAAE,oBAHY;AAIzBX,EAAAA,UAAU,EAAE,sBAAM,EAJO;AAKzBN,EAAAA,mBAAmB,EAAE,+BAAM;AALF,CAA3B;;;;"}
1
+ {"version":3,"file":"QuillEditor.js","sources":["../../../../src/components/TextEditor/QuillEditor.js"],"sourcesContent":["import React from 'react';\nimport ReactQuill from 'react-quill';\nimport domPurify from 'dompurify';\nimport PropTypes from 'prop-types';\nimport { formats, modules } from './textEditorConstants';\nimport { fontSizes } from '../../constants/fonts';\nimport 'react-quill/dist/quill.snow.css';\n\nconst Size = ReactQuill.Quill.import('attributors/style/size');\nSize.whitelist = fontSizes.map(s => `${s}px`);\nReactQuill.Quill.register(Size, true);\n\nclass QuillEditor extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.quill = React.createRef();\n }\n\n componentDidMount() {\n if (this.quill.current !== null) {\n const { content } = this.props;\n const editor = this.quill.current.getEditor();\n editor.setSelection(0, content.length);\n }\n }\n\n componentWillUnmount() {\n this.saveAndQuit();\n }\n\n saveAndQuit = () => {\n const { content, handleSave, setIsTextEditorOpen } = this.props;\n setIsTextEditorOpen(false);\n handleSave(content);\n }\n\n handleKeyDown = e => {\n e.stopPropagation();\n if (e.keyCode === 27) {\n this.saveAndQuit();\n }\n }\n\n handleSetContent = (value, delta, source) => {\n if (source === 'user') {\n const { setContent } = this.props;\n setContent(domPurify.sanitize(value));\n }\n }\n\n render() {\n const { content, placeholder } = this.props;\n\n return (\n <div\n className=\"f-all\"\n onKeyDown={this.handleKeyDown}\n >\n <ReactQuill\n ref={this.quill}\n formats={QuillEditor.formats}\n modules={QuillEditor.modules}\n onChange={this.handleSetContent}\n placeholder={placeholder}\n preserveWhitespace\n value={content}\n />\n </div>\n );\n }\n}\n\nQuillEditor.modules = modules;\nQuillEditor.formats = formats;\n\nQuillEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n placeholder: PropTypes.string.isRequired,\n setContent: PropTypes.func,\n setIsTextEditorOpen: PropTypes.func,\n};\n\nexport default QuillEditor;\n"],"names":["Size","ReactQuill","Quill","import","whitelist","fontSizes","map","s","register","QuillEditor","props","content","handleSave","setIsTextEditorOpen","e","stopPropagation","keyCode","saveAndQuit","value","delta","source","setContent","domPurify","sanitize","quill","React","createRef","current","editor","getEditor","setSelection","length","placeholder","_jsx","handleKeyDown","formats","modules","handleSetContent","PureComponent","propTypes","PropTypes","string","func","isRequired"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { useState, useCallback, useMemo } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import domPurify from 'dompurify';
4
4
  import QuillEditor from './QuillEditor.js';
5
- import { useBuilderContext } from '../../utils/builderContext.js';
5
+ import { useBuilderStore } from '../../contexts/BuilderContext.js';
6
6
  import { jsx } from 'react/jsx-runtime';
7
7
 
8
8
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@@ -18,10 +18,14 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
18
18
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
19
 
20
20
  var TextEditor = function TextEditor(_ref) {
21
- var content = _ref.content,
22
- handleSave = _ref.handleSave,
23
- isLocked = _ref.isLocked,
24
- isSelected = _ref.isSelected,
21
+ var _ref$content = _ref.content,
22
+ content = _ref$content === void 0 ? '' : _ref$content,
23
+ _ref$handleSave = _ref.handleSave,
24
+ handleSave = _ref$handleSave === void 0 ? function () {} : _ref$handleSave,
25
+ _ref$isLocked = _ref.isLocked,
26
+ isLocked = _ref$isLocked === void 0 ? false : _ref$isLocked,
27
+ _ref$isSelected = _ref.isSelected,
28
+ isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
25
29
  placeholder = _ref.placeholder;
26
30
 
27
31
  var _useState = useState(domPurify.sanitize(content)),
@@ -29,15 +33,17 @@ var TextEditor = function TextEditor(_ref) {
29
33
  _content = _useState2[0],
30
34
  setContent = _useState2[1];
31
35
 
32
- var _useBuilderContext = useBuilderContext(),
33
- isTextEditorOpen = _useBuilderContext.isTextEditorOpen,
34
- setIsTextEditorOpen = _useBuilderContext.setIsTextEditorOpen;
35
-
36
+ var isTextEditorOpen = useBuilderStore(function (state) {
37
+ return state.isTextEditorOpen;
38
+ });
39
+ var setIsTextEditorOpen = useBuilderStore(function (state) {
40
+ return state.setIsTextEditorOpen;
41
+ });
36
42
  var onClick = useCallback(function () {
37
43
  if (isSelected && !isLocked) {
38
44
  setIsTextEditorOpen(true);
39
45
  }
40
- }, [isSelected, isLocked]);
46
+ }, [isSelected, isLocked, setIsTextEditorOpen]);
41
47
  var isNotEmpty = useMemo(function () {
42
48
  var el = document.createElement('div');
43
49
  el.innerHTML = _content;
@@ -64,14 +70,7 @@ TextEditor.propTypes = {
64
70
  handleSave: PropTypes.func,
65
71
  isLocked: PropTypes.bool,
66
72
  isSelected: PropTypes.bool,
67
- placeholder: PropTypes.string
68
- };
69
- TextEditor.defaultProps = {
70
- content: '',
71
- handleSave: function handleSave() {},
72
- isLocked: false,
73
- isSelected: false,
74
- placeholder: 'Click to edit text'
73
+ placeholder: PropTypes.string.isRequired
75
74
  };
76
75
 
77
76
  export default TextEditor;
@@ -1 +1 @@
1
- {"version":3,"file":"TextEditor.js","sources":["../../../../src/components/TextEditor/TextEditor.js"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport QuillEditor from './QuillEditor';\nimport { useBuilderContext } from '../../utils/builderContext';\n\nconst TextEditor = ({\n content,\n handleSave,\n isLocked,\n isSelected,\n placeholder,\n}) => {\n const [_content, setContent] = useState(domPurify.sanitize(content));\n\n const { isTextEditorOpen, setIsTextEditorOpen } = useBuilderContext();\n\n const onClick = useCallback(() => {\n if (isSelected && !isLocked) {\n setIsTextEditorOpen(true);\n }\n }, [isSelected, isLocked]);\n\n const isNotEmpty = useMemo(() => {\n const el = document.createElement('div');\n el.innerHTML = _content;\n return !!el.innerText;\n }, [_content]);\n\n return isSelected && isTextEditorOpen ? (\n <QuillEditor\n content={_content}\n handleSave={handleSave}\n placeholder={placeholder}\n setContent={setContent}\n setIsTextEditorOpen={setIsTextEditorOpen}\n />\n ) : (\n <div\n className={`f-all ql-editor${isNotEmpty ? '' : ' isEmptyTextElement'}`}\n dangerouslySetInnerHTML={{\n __html: isNotEmpty ? _content : placeholder,\n }}\n onClick={onClick}\n onKeyDown={() => {}}\n />\n );\n};\n\nTextEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n isLocked: PropTypes.bool,\n isSelected: PropTypes.bool,\n placeholder: PropTypes.string,\n};\n\nTextEditor.defaultProps = {\n content: '',\n handleSave: () => {},\n isLocked: false,\n isSelected: false,\n placeholder: 'Click to edit text',\n};\n\nexport default TextEditor;\n"],"names":["TextEditor","content","handleSave","isLocked","isSelected","placeholder","useState","domPurify","sanitize","_content","setContent","useBuilderContext","isTextEditorOpen","setIsTextEditorOpen","onClick","useCallback","isNotEmpty","useMemo","el","document","createElement","innerHTML","innerText","_jsx","__html","propTypes","PropTypes","string","func","bool","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;IAMMA,UAAU,GAAG,SAAbA,UAAa,OAMb;AAAA,MALJC,OAKI,QALJA,OAKI;AAAA,MAJJC,UAII,QAJJA,UAII;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,MAFJC,UAEI,QAFJA,UAEI;AAAA,MADJC,WACI,QADJA,WACI;;AACJ,kBAA+BC,QAAQ,CAACC,SAAS,CAACC,QAAV,CAAmBP,OAAnB,CAAD,CAAvC;AAAA;AAAA,MAAOQ,QAAP;AAAA,MAAiBC,UAAjB;;AAEA,2BAAkDC,iBAAiB,EAAnE;AAAA,MAAQC,gBAAR,sBAAQA,gBAAR;AAAA,MAA0BC,mBAA1B,sBAA0BA,mBAA1B;;AAEA,MAAMC,OAAO,GAAGC,WAAW,CAAC,YAAM;AAChC,QAAIX,UAAU,IAAI,CAACD,QAAnB,EAA6B;AAC3BU,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;AACF,GAJ0B,EAIxB,CAACT,UAAD,EAAaD,QAAb,CAJwB,CAA3B;AAMA,MAAMa,UAAU,GAAGC,OAAO,CAAC,YAAM;AAC/B,QAAMC,EAAE,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAX;AACAF,IAAAA,EAAE,CAACG,SAAH,GAAeZ,QAAf;AACA,WAAO,CAAC,CAACS,EAAE,CAACI,SAAZ;AACD,GAJyB,EAIvB,CAACb,QAAD,CAJuB,CAA1B;AAMA,SAAOL,UAAU,IAAIQ,gBAAd,gBACLW,IAAC,WAAD;AACE,IAAA,OAAO,EAAEd,QADX;AAEE,IAAA,UAAU,EAAEP,UAFd;AAGE,IAAA,WAAW,EAAEG,WAHf;AAIE,IAAA,UAAU,EAAEK,UAJd;AAKE,IAAA,mBAAmB,EAAEG;AALvB,IADK,gBASLU;AACE,IAAA,SAAS,2BAAoBP,UAAU,GAAG,EAAH,GAAQ,qBAAtC,CADX;AAEE,IAAA,uBAAuB,EAAE;AACvBQ,MAAAA,MAAM,EAAER,UAAU,GAAGP,QAAH,GAAcJ;AADT,KAF3B;AAKE,IAAA,OAAO,EAAES,OALX;AAME,IAAA,SAAS,EAAE,qBAAM;AANnB,IATF;AAkBD;;AAEDd,UAAU,CAACyB,SAAX,GAAuB;AACrBxB,EAAAA,OAAO,EAAEyB,SAAS,CAACC,MADE;AAErBzB,EAAAA,UAAU,EAAEwB,SAAS,CAACE,IAFD;AAGrBzB,EAAAA,QAAQ,EAAEuB,SAAS,CAACG,IAHC;AAIrBzB,EAAAA,UAAU,EAAEsB,SAAS,CAACG,IAJD;AAKrBxB,EAAAA,WAAW,EAAEqB,SAAS,CAACC;AALF,CAAvB;AAQA3B,UAAU,CAAC8B,YAAX,GAA0B;AACxB7B,EAAAA,OAAO,EAAE,EADe;AAExBC,EAAAA,UAAU,EAAE,sBAAM,EAFM;AAGxBC,EAAAA,QAAQ,EAAE,KAHc;AAIxBC,EAAAA,UAAU,EAAE,KAJY;AAKxBC,EAAAA,WAAW,EAAE;AALW,CAA1B;;;;"}
1
+ {"version":3,"file":"TextEditor.js","sources":["../../../../src/components/TextEditor/TextEditor.js"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport QuillEditor from './QuillEditor';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\n\nconst TextEditor = ({\n content = '',\n handleSave = () => {},\n isLocked = false,\n isSelected = false,\n placeholder,\n}) => {\n const [_content, setContent] = useState(domPurify.sanitize(content));\n\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n const setIsTextEditorOpen = useBuilderStore(state => state.setIsTextEditorOpen);\n\n const onClick = useCallback(() => {\n if (isSelected && !isLocked) {\n setIsTextEditorOpen(true);\n }\n }, [isSelected, isLocked, setIsTextEditorOpen]);\n\n const isNotEmpty = useMemo(() => {\n const el = document.createElement('div');\n el.innerHTML = _content;\n return !!el.innerText;\n }, [_content]);\n\n return isSelected && isTextEditorOpen ? (\n <QuillEditor\n content={_content}\n handleSave={handleSave}\n placeholder={placeholder}\n setContent={setContent}\n setIsTextEditorOpen={setIsTextEditorOpen}\n />\n ) : (\n <div\n className={`f-all ql-editor${isNotEmpty ? '' : ' isEmptyTextElement'}`}\n dangerouslySetInnerHTML={{\n __html: isNotEmpty ? _content : placeholder,\n }}\n onClick={onClick}\n onKeyDown={() => {}}\n />\n );\n};\n\nTextEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n isLocked: PropTypes.bool,\n isSelected: PropTypes.bool,\n placeholder: PropTypes.string.isRequired,\n};\n\nexport default TextEditor;\n"],"names":["TextEditor","content","handleSave","isLocked","isSelected","placeholder","useState","domPurify","sanitize","_content","setContent","isTextEditorOpen","useBuilderStore","state","setIsTextEditorOpen","onClick","useCallback","isNotEmpty","useMemo","el","document","createElement","innerHTML","innerText","_jsx","__html","propTypes","PropTypes","string","func","bool","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;IAMMA,UAAU,GAAG,SAAbA,UAAa,OAMb;AAAA,0BALJC,OAKI;AAAA,MALJA,OAKI,6BALM,EAKN;AAAA,6BAJJC,UAII;AAAA,MAJJA,UAII,gCAJS,YAAM,EAIf;AAAA,2BAHJC,QAGI;AAAA,MAHJA,QAGI,8BAHO,KAGP;AAAA,6BAFJC,UAEI;AAAA,MAFJA,UAEI,gCAFS,KAET;AAAA,MADJC,WACI,QADJA,WACI;;AACJ,kBAA+BC,QAAQ,CAACC,SAAS,CAACC,QAAV,CAAmBP,OAAnB,CAAD,CAAvC;AAAA;AAAA,MAAOQ,QAAP;AAAA,MAAiBC,UAAjB;;AAEA,MAAMC,gBAAgB,GAAGC,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAMG,mBAAmB,GAAGF,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,mBAAV;AAAA,GAAN,CAA3C;AAEA,MAAMC,OAAO,GAAGC,WAAW,CAAC,YAAM;AAChC,QAAIZ,UAAU,IAAI,CAACD,QAAnB,EAA6B;AAC3BW,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;AACF,GAJ0B,EAIxB,CAACV,UAAD,EAAaD,QAAb,EAAuBW,mBAAvB,CAJwB,CAA3B;AAMA,MAAMG,UAAU,GAAGC,OAAO,CAAC,YAAM;AAC/B,QAAMC,EAAE,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAX;AACAF,IAAAA,EAAE,CAACG,SAAH,GAAeb,QAAf;AACA,WAAO,CAAC,CAACU,EAAE,CAACI,SAAZ;AACD,GAJyB,EAIvB,CAACd,QAAD,CAJuB,CAA1B;AAMA,SAAOL,UAAU,IAAIO,gBAAd,gBACLa,IAAC,WAAD;AACE,IAAA,OAAO,EAAEf,QADX;AAEE,IAAA,UAAU,EAAEP,UAFd;AAGE,IAAA,WAAW,EAAEG,WAHf;AAIE,IAAA,UAAU,EAAEK,UAJd;AAKE,IAAA,mBAAmB,EAAEI;AALvB,IADK,gBASLU;AACE,IAAA,SAAS,2BAAoBP,UAAU,GAAG,EAAH,GAAQ,qBAAtC,CADX;AAEE,IAAA,uBAAuB,EAAE;AACvBQ,MAAAA,MAAM,EAAER,UAAU,GAAGR,QAAH,GAAcJ;AADT,KAF3B;AAKE,IAAA,OAAO,EAAEU,OALX;AAME,IAAA,SAAS,EAAE,qBAAM;AANnB,IATF;AAkBD;;AAEDf,UAAU,CAAC0B,SAAX,GAAuB;AACrBzB,EAAAA,OAAO,EAAE0B,SAAS,CAACC,MADE;AAErB1B,EAAAA,UAAU,EAAEyB,SAAS,CAACE,IAFD;AAGrB1B,EAAAA,QAAQ,EAAEwB,SAAS,CAACG,IAHC;AAIrB1B,EAAAA,UAAU,EAAEuB,SAAS,CAACG,IAJD;AAKrBzB,EAAAA,WAAW,EAAEsB,SAAS,CAACC,MAAV,CAAiBG;AALT,CAAvB;;;;"}
@@ -4,8 +4,9 @@ import 'core-js/modules/es.function.name.js';
4
4
  import 'core-js/modules/es.object.keys.js';
5
5
  import 'core-js/modules/es.string.includes.js';
6
6
  import 'core-js/modules/es.string.iterator.js';
7
- import { useRef, useEffect } from 'react';
7
+ import { useRef, useCallback, useEffect } from 'react';
8
8
  import PropTypes from 'prop-types';
9
+ import { EVENT_IGNORED_ROLES } from '../constants/eventIgnoredRoles.js';
9
10
  import { jsx } from 'react/jsx-runtime';
10
11
 
11
12
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -20,18 +21,21 @@ function getDisplayName(WrappedComponent) {
20
21
 
21
22
  function withClickOutside(WrappedComponent) {
22
23
  function WithClickOutside(props) {
23
- var exceptionalClasses = props.exceptionalClasses,
24
+ var _props$exceptionalCla = props.exceptionalClasses,
25
+ exceptionalClasses = _props$exceptionalCla === void 0 ? null : _props$exceptionalCla,
24
26
  onClickOutside = props.onClickOutside,
25
- withClickOutsideWrapperClass = props.withClickOutsideWrapperClass;
27
+ _props$withClickOutsi = props.withClickOutsideWrapperClass,
28
+ withClickOutsideWrapperClass = _props$withClickOutsi === void 0 ? null : _props$withClickOutsi;
26
29
  var wrapper = useRef(null);
27
-
28
- var handleClickOutside = function handleClickOutside(event) {
30
+ var handleClickOutside = useCallback(function (event) {
29
31
  var classList = event.target.classList;
30
32
 
31
33
  if (exceptionalClasses && (classList.contains(exceptionalClasses) || Array.from(classList).some(function (xClass) {
32
34
  return exceptionalClasses.includes(xClass);
33
35
  }) || exceptionalClasses.some(function (item) {
34
36
  return event.target.closest(".".concat(item));
37
+ }) || EVENT_IGNORED_ROLES.some(function (role) {
38
+ return event.target.closest("[role=".concat(role, "]"));
35
39
  }))) {
36
40
  return;
37
41
  }
@@ -39,14 +43,13 @@ function withClickOutside(WrappedComponent) {
39
43
  if (wrapper.current && !wrapper.current.contains(event.target)) {
40
44
  onClickOutside(event);
41
45
  }
42
- };
43
-
46
+ }, [exceptionalClasses, onClickOutside]);
44
47
  useEffect(function () {
45
48
  window.addEventListener('mousedown', handleClickOutside, true);
46
49
  return function () {
47
50
  window.removeEventListener('mousedown', handleClickOutside, true);
48
51
  };
49
- }, []); // should we memoize this?
52
+ }, [handleClickOutside]); // should we memoize this?
50
53
 
51
54
  var propsToFilter = ['withClickOutsideWrapperClass', 'exceptionalClasses'];
52
55
  var componentName = getDisplayName(WrappedComponent);
@@ -77,10 +80,6 @@ function withClickOutside(WrappedComponent) {
77
80
  onClickOutside: PropTypes.func.isRequired,
78
81
  withClickOutsideWrapperClass: PropTypes.string
79
82
  };
80
- WithClickOutside.defaultProps = {
81
- exceptionalClasses: null,
82
- withClickOutsideWrapperClass: null
83
- };
84
83
  WithClickOutside.displayName = "inlineEdit(".concat(getDisplayName(WrappedComponent), ")");
85
84
  return WithClickOutside;
86
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"withClickOutside.js","sources":["../../../src/components/withClickOutside.js"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nfunction withClickOutside(WrappedComponent) {\n function WithClickOutside(props) {\n const {\n exceptionalClasses,\n onClickOutside,\n withClickOutsideWrapperClass,\n } = props;\n\n const wrapper = useRef(null);\n\n const handleClickOutside = event => {\n const { classList } = event.target;\n if (\n exceptionalClasses\n && (\n classList.contains(exceptionalClasses)\n || Array.from(classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(item => event.target.closest(`.${item}`))\n )\n ) {\n return;\n }\n\n if (wrapper.current && !wrapper.current.contains(event.target)) {\n onClickOutside(event);\n }\n };\n\n useEffect(() => {\n window.addEventListener('mousedown', handleClickOutside, true);\n return () => {\n window.removeEventListener('mousedown', handleClickOutside, true);\n };\n }, []);\n\n // should we memoize this?\n const propsToFilter = ['withClickOutsideWrapperClass', 'exceptionalClasses'];\n const componentName = getDisplayName(WrappedComponent);\n if (componentName === 'Resizable') {\n // beceause resizable wrapper directly passes props to an html el\n propsToFilter.push('onClickOutside');\n }\n const filteredProps = Object.keys(props).reduce((allProps, propKey) => {\n const _allProps = allProps;\n if (propsToFilter.indexOf(propKey) === -1) {\n _allProps[propKey] = props[propKey];\n }\n return _allProps;\n }, {});\n\n return (\n <div\n ref={wrapper}\n className={withClickOutsideWrapperClass}\n >\n <WrappedComponent\n {...filteredProps}\n />\n </div>\n );\n }\n\n WithClickOutside.propTypes = {\n exceptionalClasses: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n onClickOutside: PropTypes.func.isRequired,\n withClickOutsideWrapperClass: PropTypes.string,\n };\n\n WithClickOutside.defaultProps = {\n exceptionalClasses: null,\n withClickOutsideWrapperClass: null,\n };\n\n WithClickOutside.displayName = `inlineEdit(${getDisplayName(WrappedComponent)})`;\n\n return WithClickOutside;\n}\n\nexport default withClickOutside;\n"],"names":["getDisplayName","WrappedComponent","displayName","name","withClickOutside","WithClickOutside","props","exceptionalClasses","onClickOutside","withClickOutsideWrapperClass","wrapper","useRef","handleClickOutside","event","classList","target","contains","Array","from","some","xClass","includes","item","closest","current","useEffect","window","addEventListener","removeEventListener","propsToFilter","componentName","push","filteredProps","Object","keys","reduce","allProps","propKey","_allProps","indexOf","_jsx","propTypes","PropTypes","oneOfType","string","arrayOf","func","isRequired","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"withClickOutside.js","sources":["../../../src/components/withClickOutside.js"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { EVENT_IGNORED_ROLES } from '../constants/eventIgnoredRoles';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nfunction withClickOutside(WrappedComponent) {\n function WithClickOutside(props) {\n const {\n exceptionalClasses = null,\n onClickOutside,\n withClickOutsideWrapperClass = null,\n } = props;\n\n const wrapper = useRef(null);\n\n const handleClickOutside = useCallback(event => {\n const { classList } = event.target;\n if (\n exceptionalClasses\n && (\n classList.contains(exceptionalClasses)\n || Array.from(classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(item => event.target.closest(`.${item}`))\n || EVENT_IGNORED_ROLES.some(role => event.target.closest(`[role=${role}]`))\n )\n ) {\n return;\n }\n\n if (wrapper.current && !wrapper.current.contains(event.target)) {\n onClickOutside(event);\n }\n }, [exceptionalClasses, onClickOutside]);\n\n useEffect(() => {\n window.addEventListener('mousedown', handleClickOutside, true);\n return () => {\n window.removeEventListener('mousedown', handleClickOutside, true);\n };\n }, [handleClickOutside]);\n\n // should we memoize this?\n const propsToFilter = ['withClickOutsideWrapperClass', 'exceptionalClasses'];\n const componentName = getDisplayName(WrappedComponent);\n if (componentName === 'Resizable') {\n // beceause resizable wrapper directly passes props to an html el\n propsToFilter.push('onClickOutside');\n }\n const filteredProps = Object.keys(props).reduce((allProps, propKey) => {\n const _allProps = allProps;\n if (propsToFilter.indexOf(propKey) === -1) {\n _allProps[propKey] = props[propKey];\n }\n return _allProps;\n }, {});\n\n return (\n <div\n ref={wrapper}\n className={withClickOutsideWrapperClass}\n >\n <WrappedComponent\n {...filteredProps}\n />\n </div>\n );\n }\n\n WithClickOutside.propTypes = {\n exceptionalClasses: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n onClickOutside: PropTypes.func.isRequired,\n withClickOutsideWrapperClass: PropTypes.string,\n };\n\n WithClickOutside.displayName = `inlineEdit(${getDisplayName(WrappedComponent)})`;\n\n return WithClickOutside;\n}\n\nexport default withClickOutside;\n"],"names":["getDisplayName","WrappedComponent","displayName","name","withClickOutside","WithClickOutside","props","exceptionalClasses","onClickOutside","withClickOutsideWrapperClass","wrapper","useRef","handleClickOutside","useCallback","event","classList","target","contains","Array","from","some","xClass","includes","item","closest","EVENT_IGNORED_ROLES","role","current","useEffect","window","addEventListener","removeEventListener","propsToFilter","componentName","push","filteredProps","Object","keys","reduce","allProps","propKey","_allProps","indexOf","_jsx","propTypes","PropTypes","oneOfType","string","arrayOf","func","isRequired"],"mappings":"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"}