@jotforminc/dnd-builder 3.1.1 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/index.d.ts +428 -0
  3. package/lib/cjs/components/AlignmentGuides.js +28 -18
  4. package/lib/cjs/components/AlignmentGuides.js.map +1 -1
  5. package/lib/cjs/components/Builder/ContextMenu.js +4 -1
  6. package/lib/cjs/components/Builder/ContextMenu.js.map +1 -1
  7. package/lib/cjs/components/Builder/DraggableLayer.js +1 -5
  8. package/lib/cjs/components/Builder/DraggableLayer.js.map +1 -1
  9. package/lib/cjs/components/Builder/Element.js +7 -4
  10. package/lib/cjs/components/Builder/Element.js.map +1 -1
  11. package/lib/cjs/components/Builder/Page.js +56 -62
  12. package/lib/cjs/components/Builder/Page.js.map +1 -1
  13. package/lib/cjs/components/Builder/Scene.js +30 -251
  14. package/lib/cjs/components/Builder/Scene.js.map +1 -1
  15. package/lib/cjs/components/Builder/SelectionBox.js +48 -0
  16. package/lib/cjs/components/Builder/SelectionBox.js.map +1 -0
  17. package/lib/cjs/components/DraggableItem/DraggableItem.js +78 -135
  18. package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
  19. package/lib/cjs/components/DraggableItem/DraggableItemActions.js +69 -29
  20. package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
  21. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +8 -8
  22. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  23. package/lib/cjs/components/PageItemResizer.js +37 -43
  24. package/lib/cjs/components/PageItemResizer.js.map +1 -1
  25. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js +1 -3
  26. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
  27. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js +0 -6
  28. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
  29. package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js +1 -4
  30. package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
  31. package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js +6 -7
  32. package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
  33. package/lib/cjs/components/Panels/RightPanel/RightPanel.js +7 -7
  34. package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
  35. package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js +9 -10
  36. package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
  37. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +1 -3
  38. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  39. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js +8 -6
  40. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
  41. package/lib/cjs/components/ReportItemsWrapper.js +5 -11
  42. package/lib/cjs/components/ReportItemsWrapper.js.map +1 -1
  43. package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js +2 -4
  44. package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -1
  45. package/lib/cjs/components/Settings/PageLayer/LayerItem.js +12 -7
  46. package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
  47. package/lib/cjs/components/Settings/PageLayer/PageLayer.js +2 -4
  48. package/lib/cjs/components/Settings/PageLayer/PageLayer.js.map +1 -1
  49. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +3 -8
  50. package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
  51. package/lib/cjs/constants/texts.js +0 -1
  52. package/lib/cjs/constants/texts.js.map +1 -1
  53. package/lib/cjs/contexts/BuilderContext.js +47 -23
  54. package/lib/cjs/contexts/BuilderContext.js.map +1 -1
  55. package/lib/cjs/styles/_jfReportsPages.scss +8 -1
  56. package/lib/cjs/utils/functions.js +124 -34
  57. package/lib/cjs/utils/functions.js.map +1 -1
  58. package/lib/cjs/utils/hooks.js +7 -7
  59. package/lib/cjs/utils/hooks.js.map +1 -1
  60. package/lib/cjs/utils/useKeyboardActions.js +263 -0
  61. package/lib/cjs/utils/useKeyboardActions.js.map +1 -0
  62. package/lib/cjs/utils/useMarqueeSelection.js +156 -0
  63. package/lib/cjs/utils/useMarqueeSelection.js.map +1 -0
  64. package/lib/esm/components/AlignmentGuides.js +28 -18
  65. package/lib/esm/components/AlignmentGuides.js.map +1 -1
  66. package/lib/esm/components/Builder/ContextMenu.js +4 -1
  67. package/lib/esm/components/Builder/ContextMenu.js.map +1 -1
  68. package/lib/esm/components/Builder/DraggableLayer.js +1 -5
  69. package/lib/esm/components/Builder/DraggableLayer.js.map +1 -1
  70. package/lib/esm/components/Builder/Element.js +7 -4
  71. package/lib/esm/components/Builder/Element.js.map +1 -1
  72. package/lib/esm/components/Builder/Page.js +58 -64
  73. package/lib/esm/components/Builder/Page.js.map +1 -1
  74. package/lib/esm/components/Builder/Scene.js +32 -253
  75. package/lib/esm/components/Builder/Scene.js.map +1 -1
  76. package/lib/esm/components/Builder/SelectionBox.js +42 -0
  77. package/lib/esm/components/Builder/SelectionBox.js.map +1 -0
  78. package/lib/esm/components/DraggableItem/DraggableItem.js +80 -137
  79. package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
  80. package/lib/esm/components/DraggableItem/DraggableItemActions.js +72 -28
  81. package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
  82. package/lib/esm/components/DraggableItem/DraggableItemLayer.js +9 -9
  83. package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  84. package/lib/esm/components/PageItemResizer.js +38 -44
  85. package/lib/esm/components/PageItemResizer.js.map +1 -1
  86. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js +2 -4
  87. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
  88. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js +0 -6
  89. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
  90. package/lib/esm/components/Panels/LeftPanel/LeftPanel.js +3 -6
  91. package/lib/esm/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
  92. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js +6 -7
  93. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
  94. package/lib/esm/components/Panels/RightPanel/RightPanel.js +7 -7
  95. package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
  96. package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js +9 -10
  97. package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
  98. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +2 -4
  99. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  100. package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js +8 -6
  101. package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
  102. package/lib/esm/components/ReportItemsWrapper.js +5 -11
  103. package/lib/esm/components/ReportItemsWrapper.js.map +1 -1
  104. package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js +2 -4
  105. package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -1
  106. package/lib/esm/components/Settings/PageLayer/LayerItem.js +12 -7
  107. package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
  108. package/lib/esm/components/Settings/PageLayer/PageLayer.js +2 -4
  109. package/lib/esm/components/Settings/PageLayer/PageLayer.js.map +1 -1
  110. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +3 -8
  111. package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
  112. package/lib/esm/constants/texts.js +0 -1
  113. package/lib/esm/constants/texts.js.map +1 -1
  114. package/lib/esm/contexts/BuilderContext.js +47 -23
  115. package/lib/esm/contexts/BuilderContext.js.map +1 -1
  116. package/lib/esm/styles/_jfReportsPages.scss +8 -1
  117. package/lib/esm/utils/functions.js +121 -34
  118. package/lib/esm/utils/functions.js.map +1 -1
  119. package/lib/esm/utils/hooks.js +7 -7
  120. package/lib/esm/utils/hooks.js.map +1 -1
  121. package/lib/esm/utils/useKeyboardActions.js +261 -0
  122. package/lib/esm/utils/useKeyboardActions.js.map +1 -0
  123. package/lib/esm/utils/useMarqueeSelection.js +154 -0
  124. package/lib/esm/utils/useMarqueeSelection.js.map +1 -0
  125. package/package.json +11 -7
@@ -14,7 +14,6 @@ var ALL_TEXTS = {
14
14
  CHART_SETTINGS: 'Chart Settings',
15
15
  CLICK_TO_EDIT_HEADER: 'Click to edit header',
16
16
  CLICK_TO_EDIT_TEXT: 'Click to edit text',
17
- DATACARD_SETTINGS: 'Data Card Settings',
18
17
  DELETE: 'Delete',
19
18
  DELETE_ITEM: 'Delete Item',
20
19
  DUPLICATE_ITEM: 'Duplicate Item',
@@ -1 +1 @@
1
- {"version":3,"file":"texts.js","sources":["../../../src/constants/texts.js"],"sourcesContent":["/* eslint-disable max-len */\nconst ALL_TEXTS = {\n ADD_ELEMENT: 'Add Element',\n ADD_LINK: 'ADD LINK',\n ADD_NEW_PAGE: 'ADD SLIDE',\n BACKGROUND_COLOR: 'Background Color',\n CHART_ELEMENT: 'Chart Element',\n CHART_SETTINGS: 'Chart Settings',\n CLICK_TO_EDIT_HEADER: 'Click to edit header',\n CLICK_TO_EDIT_TEXT: 'Click to edit text',\n DATACARD_SETTINGS: 'Data Card Settings',\n DELETE: 'Delete',\n DELETE_ITEM: 'Delete Item',\n DUPLICATE_ITEM: 'Duplicate Item',\n DUPLICATE_PAGE: 'Duplicate Slide',\n ELEMENTS: 'Elements',\n FIT_TO_PAGE: 'Fit to Slide',\n FIT_TO_SCENE: 'Fit to Screen',\n GENERAL: 'GENERAL',\n GRID_SETTINGS: 'Grid Settings',\n HEADER_SETTINGS: 'Header Settings',\n HEIGHT: 'Height',\n ICON_SETTINGS: 'Icon Settings',\n IMAGE_SETTINGS: 'Image Settings',\n ITEM_SETTINGS: 'Item Settings',\n LAYERS: 'Layers',\n LAYOUT_SETTINGS: 'Layout Settings',\n LOCK_ITEM: 'Lock Item',\n MOVE_BACKWARDS: 'Move Backwards',\n MOVE_FORWARDS: 'Move Forwards',\n MOVE_PAGE_DOWNWARDS: 'Move Slide Downwards',\n MOVE_PAGE_UPWARDS: 'Move Slide Upwards',\n MOVE_TO_BACK: 'Move to Back',\n MOVE_TO_FRONT: 'Move to Front',\n NO_ELEMENT_IN_PAGE: 'There is no element on this slide. You can add a new element from side menu.',\n NO_RESULT: 'No result was found',\n ORIGINAL_SIZE: 'Original Size',\n PAGE_ELEMENT: 'Page Element',\n PAGE_SETTINGS: 'Slide Settings',\n PAGE_STYLE: 'Slide Style',\n RECTANGLE: 'Rectangle',\n REMOVE_PAGE: 'Remove Slide',\n SEARCH: 'Search',\n SETTINGS: 'Settings',\n SHOW_ALL: 'Show All',\n SLIDES: 'Slides',\n TEXT_SETTINGS: 'Text Settings',\n TOGGLE_OFF: 'OFF',\n TOGGLE_ON: 'ON',\n UNLOCK_ITEM: 'Unlock Item',\n WIDTH: 'Width',\n ZOOM_IN: 'Zoom In',\n ZOOM_OUT: 'Zoom Out',\n};\n\nclass ModuleTexts {\n constructor(allTexts) {\n this._texts = allTexts;\n }\n\n get Texts() {\n return this._texts;\n }\n\n setTexts(allTexts) {\n this._texts = allTexts;\n }\n}\n\nexport const SharingTextsModule = new ModuleTexts(ALL_TEXTS);\nexport default ALL_TEXTS;\n"],"names":["ALL_TEXTS","ADD_ELEMENT","ADD_LINK","ADD_NEW_PAGE","BACKGROUND_COLOR","CHART_ELEMENT","CHART_SETTINGS","CLICK_TO_EDIT_HEADER","CLICK_TO_EDIT_TEXT","DATACARD_SETTINGS","DELETE","DELETE_ITEM","DUPLICATE_ITEM","DUPLICATE_PAGE","ELEMENTS","FIT_TO_PAGE","FIT_TO_SCENE","GENERAL","GRID_SETTINGS","HEADER_SETTINGS","HEIGHT","ICON_SETTINGS","IMAGE_SETTINGS","ITEM_SETTINGS","LAYERS","LAYOUT_SETTINGS","LOCK_ITEM","MOVE_BACKWARDS","MOVE_FORWARDS","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","MOVE_TO_BACK","MOVE_TO_FRONT","NO_ELEMENT_IN_PAGE","NO_RESULT","ORIGINAL_SIZE","PAGE_ELEMENT","PAGE_SETTINGS","PAGE_STYLE","RECTANGLE","REMOVE_PAGE","SEARCH","SETTINGS","SHOW_ALL","SLIDES","TEXT_SETTINGS","TOGGLE_OFF","TOGGLE_ON","UNLOCK_ITEM","WIDTH","ZOOM_IN","ZOOM_OUT","ModuleTexts","allTexts","_texts","SharingTextsModule"],"mappings":";;;;;;AAAA;IACMA,SAAS,GAAG;AAChBC,EAAAA,WAAW,EAAE,aADG;AAEhBC,EAAAA,QAAQ,EAAE,UAFM;AAGhBC,EAAAA,YAAY,EAAE,WAHE;AAIhBC,EAAAA,gBAAgB,EAAE,kBAJF;AAKhBC,EAAAA,aAAa,EAAE,eALC;AAMhBC,EAAAA,cAAc,EAAE,gBANA;AAOhBC,EAAAA,oBAAoB,EAAE,sBAPN;AAQhBC,EAAAA,kBAAkB,EAAE,oBARJ;AAShBC,EAAAA,iBAAiB,EAAE,oBATH;AAUhBC,EAAAA,MAAM,EAAE,QAVQ;AAWhBC,EAAAA,WAAW,EAAE,aAXG;AAYhBC,EAAAA,cAAc,EAAE,gBAZA;AAahBC,EAAAA,cAAc,EAAE,iBAbA;AAchBC,EAAAA,QAAQ,EAAE,UAdM;AAehBC,EAAAA,WAAW,EAAE,cAfG;AAgBhBC,EAAAA,YAAY,EAAE,eAhBE;AAiBhBC,EAAAA,OAAO,EAAE,SAjBO;AAkBhBC,EAAAA,aAAa,EAAE,eAlBC;AAmBhBC,EAAAA,eAAe,EAAE,iBAnBD;AAoBhBC,EAAAA,MAAM,EAAE,QApBQ;AAqBhBC,EAAAA,aAAa,EAAE,eArBC;AAsBhBC,EAAAA,cAAc,EAAE,gBAtBA;AAuBhBC,EAAAA,aAAa,EAAE,eAvBC;AAwBhBC,EAAAA,MAAM,EAAE,QAxBQ;AAyBhBC,EAAAA,eAAe,EAAE,iBAzBD;AA0BhBC,EAAAA,SAAS,EAAE,WA1BK;AA2BhBC,EAAAA,cAAc,EAAE,gBA3BA;AA4BhBC,EAAAA,aAAa,EAAE,eA5BC;AA6BhBC,EAAAA,mBAAmB,EAAE,sBA7BL;AA8BhBC,EAAAA,iBAAiB,EAAE,oBA9BH;AA+BhBC,EAAAA,YAAY,EAAE,cA/BE;AAgChBC,EAAAA,aAAa,EAAE,eAhCC;AAiChBC,EAAAA,kBAAkB,EAAE,8EAjCJ;AAkChBC,EAAAA,SAAS,EAAE,qBAlCK;AAmChBC,EAAAA,aAAa,EAAE,eAnCC;AAoChBC,EAAAA,YAAY,EAAE,cApCE;AAqChBC,EAAAA,aAAa,EAAE,gBArCC;AAsChBC,EAAAA,UAAU,EAAE,aAtCI;AAuChBC,EAAAA,SAAS,EAAE,WAvCK;AAwChBC,EAAAA,WAAW,EAAE,cAxCG;AAyChBC,EAAAA,MAAM,EAAE,QAzCQ;AA0ChBC,EAAAA,QAAQ,EAAE,UA1CM;AA2ChBC,EAAAA,QAAQ,EAAE,UA3CM;AA4ChBC,EAAAA,MAAM,EAAE,QA5CQ;AA6ChBC,EAAAA,aAAa,EAAE,eA7CC;AA8ChBC,EAAAA,UAAU,EAAE,KA9CI;AA+ChBC,EAAAA,SAAS,EAAE,IA/CK;AAgDhBC,EAAAA,WAAW,EAAE,aAhDG;AAiDhBC,EAAAA,KAAK,EAAE,OAjDS;AAkDhBC,EAAAA,OAAO,EAAE,SAlDO;AAmDhBC,EAAAA,QAAQ,EAAE;AAnDM;;IAsDZC;AACJ,uBAAYC,QAAZ,EAAsB;AAAA;;AACpB,SAAKC,MAAL,GAAcD,QAAd;AACD;;;;SAED,eAAY;AACV,aAAO,KAAKC,MAAZ;AACD;;;WAED,kBAASD,QAAT,EAAmB;AACjB,WAAKC,MAAL,GAAcD,QAAd;AACD;;;;;;IAGUE,kBAAkB,GAAG,IAAIH,WAAJ,CAAgBpD,SAAhB;;;;;"}
1
+ {"version":3,"file":"texts.js","sources":["../../../src/constants/texts.js"],"sourcesContent":["/* eslint-disable max-len */\nconst ALL_TEXTS = {\n ADD_ELEMENT: 'Add Element',\n ADD_LINK: 'ADD LINK',\n ADD_NEW_PAGE: 'ADD SLIDE',\n BACKGROUND_COLOR: 'Background Color',\n CHART_ELEMENT: 'Chart Element',\n CHART_SETTINGS: 'Chart Settings',\n CLICK_TO_EDIT_HEADER: 'Click to edit header',\n CLICK_TO_EDIT_TEXT: 'Click to edit text',\n DELETE: 'Delete',\n DELETE_ITEM: 'Delete Item',\n DUPLICATE_ITEM: 'Duplicate Item',\n DUPLICATE_PAGE: 'Duplicate Slide',\n ELEMENTS: 'Elements',\n FIT_TO_PAGE: 'Fit to Slide',\n FIT_TO_SCENE: 'Fit to Screen',\n GENERAL: 'GENERAL',\n GRID_SETTINGS: 'Grid Settings',\n HEADER_SETTINGS: 'Header Settings',\n HEIGHT: 'Height',\n ICON_SETTINGS: 'Icon Settings',\n IMAGE_SETTINGS: 'Image Settings',\n ITEM_SETTINGS: 'Item Settings',\n LAYERS: 'Layers',\n LAYOUT_SETTINGS: 'Layout Settings',\n LOCK_ITEM: 'Lock Item',\n MOVE_BACKWARDS: 'Move Backwards',\n MOVE_FORWARDS: 'Move Forwards',\n MOVE_PAGE_DOWNWARDS: 'Move Slide Downwards',\n MOVE_PAGE_UPWARDS: 'Move Slide Upwards',\n MOVE_TO_BACK: 'Move to Back',\n MOVE_TO_FRONT: 'Move to Front',\n NO_ELEMENT_IN_PAGE: 'There is no element on this slide. You can add a new element from side menu.',\n NO_RESULT: 'No result was found',\n ORIGINAL_SIZE: 'Original Size',\n PAGE_ELEMENT: 'Page Element',\n PAGE_SETTINGS: 'Slide Settings',\n PAGE_STYLE: 'Slide Style',\n RECTANGLE: 'Rectangle',\n REMOVE_PAGE: 'Remove Slide',\n SEARCH: 'Search',\n SETTINGS: 'Settings',\n SHOW_ALL: 'Show All',\n SLIDES: 'Slides',\n TEXT_SETTINGS: 'Text Settings',\n TOGGLE_OFF: 'OFF',\n TOGGLE_ON: 'ON',\n UNLOCK_ITEM: 'Unlock Item',\n WIDTH: 'Width',\n ZOOM_IN: 'Zoom In',\n ZOOM_OUT: 'Zoom Out',\n};\n\nclass ModuleTexts {\n constructor(allTexts) {\n this._texts = allTexts;\n }\n\n get Texts() {\n return this._texts;\n }\n\n setTexts(allTexts) {\n this._texts = allTexts;\n }\n}\n\nexport const SharingTextsModule = new ModuleTexts(ALL_TEXTS);\nexport default ALL_TEXTS;\n"],"names":["ALL_TEXTS","ADD_ELEMENT","ADD_LINK","ADD_NEW_PAGE","BACKGROUND_COLOR","CHART_ELEMENT","CHART_SETTINGS","CLICK_TO_EDIT_HEADER","CLICK_TO_EDIT_TEXT","DELETE","DELETE_ITEM","DUPLICATE_ITEM","DUPLICATE_PAGE","ELEMENTS","FIT_TO_PAGE","FIT_TO_SCENE","GENERAL","GRID_SETTINGS","HEADER_SETTINGS","HEIGHT","ICON_SETTINGS","IMAGE_SETTINGS","ITEM_SETTINGS","LAYERS","LAYOUT_SETTINGS","LOCK_ITEM","MOVE_BACKWARDS","MOVE_FORWARDS","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","MOVE_TO_BACK","MOVE_TO_FRONT","NO_ELEMENT_IN_PAGE","NO_RESULT","ORIGINAL_SIZE","PAGE_ELEMENT","PAGE_SETTINGS","PAGE_STYLE","RECTANGLE","REMOVE_PAGE","SEARCH","SETTINGS","SHOW_ALL","SLIDES","TEXT_SETTINGS","TOGGLE_OFF","TOGGLE_ON","UNLOCK_ITEM","WIDTH","ZOOM_IN","ZOOM_OUT","ModuleTexts","allTexts","_texts","SharingTextsModule"],"mappings":";;;;;;AAAA;IACMA,SAAS,GAAG;AAChBC,EAAAA,WAAW,EAAE,aADG;AAEhBC,EAAAA,QAAQ,EAAE,UAFM;AAGhBC,EAAAA,YAAY,EAAE,WAHE;AAIhBC,EAAAA,gBAAgB,EAAE,kBAJF;AAKhBC,EAAAA,aAAa,EAAE,eALC;AAMhBC,EAAAA,cAAc,EAAE,gBANA;AAOhBC,EAAAA,oBAAoB,EAAE,sBAPN;AAQhBC,EAAAA,kBAAkB,EAAE,oBARJ;AAShBC,EAAAA,MAAM,EAAE,QATQ;AAUhBC,EAAAA,WAAW,EAAE,aAVG;AAWhBC,EAAAA,cAAc,EAAE,gBAXA;AAYhBC,EAAAA,cAAc,EAAE,iBAZA;AAahBC,EAAAA,QAAQ,EAAE,UAbM;AAchBC,EAAAA,WAAW,EAAE,cAdG;AAehBC,EAAAA,YAAY,EAAE,eAfE;AAgBhBC,EAAAA,OAAO,EAAE,SAhBO;AAiBhBC,EAAAA,aAAa,EAAE,eAjBC;AAkBhBC,EAAAA,eAAe,EAAE,iBAlBD;AAmBhBC,EAAAA,MAAM,EAAE,QAnBQ;AAoBhBC,EAAAA,aAAa,EAAE,eApBC;AAqBhBC,EAAAA,cAAc,EAAE,gBArBA;AAsBhBC,EAAAA,aAAa,EAAE,eAtBC;AAuBhBC,EAAAA,MAAM,EAAE,QAvBQ;AAwBhBC,EAAAA,eAAe,EAAE,iBAxBD;AAyBhBC,EAAAA,SAAS,EAAE,WAzBK;AA0BhBC,EAAAA,cAAc,EAAE,gBA1BA;AA2BhBC,EAAAA,aAAa,EAAE,eA3BC;AA4BhBC,EAAAA,mBAAmB,EAAE,sBA5BL;AA6BhBC,EAAAA,iBAAiB,EAAE,oBA7BH;AA8BhBC,EAAAA,YAAY,EAAE,cA9BE;AA+BhBC,EAAAA,aAAa,EAAE,eA/BC;AAgChBC,EAAAA,kBAAkB,EAAE,8EAhCJ;AAiChBC,EAAAA,SAAS,EAAE,qBAjCK;AAkChBC,EAAAA,aAAa,EAAE,eAlCC;AAmChBC,EAAAA,YAAY,EAAE,cAnCE;AAoChBC,EAAAA,aAAa,EAAE,gBApCC;AAqChBC,EAAAA,UAAU,EAAE,aArCI;AAsChBC,EAAAA,SAAS,EAAE,WAtCK;AAuChBC,EAAAA,WAAW,EAAE,cAvCG;AAwChBC,EAAAA,MAAM,EAAE,QAxCQ;AAyChBC,EAAAA,QAAQ,EAAE,UAzCM;AA0ChBC,EAAAA,QAAQ,EAAE,UA1CM;AA2ChBC,EAAAA,MAAM,EAAE,QA3CQ;AA4ChBC,EAAAA,aAAa,EAAE,eA5CC;AA6ChBC,EAAAA,UAAU,EAAE,KA7CI;AA8ChBC,EAAAA,SAAS,EAAE,IA9CK;AA+ChBC,EAAAA,WAAW,EAAE,aA/CG;AAgDhBC,EAAAA,KAAK,EAAE,OAhDS;AAiDhBC,EAAAA,OAAO,EAAE,SAjDO;AAkDhBC,EAAAA,QAAQ,EAAE;AAlDM;;IAqDZC;AACJ,uBAAYC,QAAZ,EAAsB;AAAA;;AACpB,SAAKC,MAAL,GAAcD,QAAd;AACD;;;;SAED,eAAY;AACV,aAAO,KAAKC,MAAZ;AACD;;;WAED,kBAASD,QAAT,EAAmB;AACjB,WAAKC,MAAL,GAAcD,QAAd;AACD;;;;;;IAGUE,kBAAkB,GAAG,IAAIH,WAAJ,CAAgBnD,SAAhB;;;;;"}
@@ -10,12 +10,6 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
10
10
 
11
11
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
12
12
 
13
- 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; }
14
-
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
16
-
17
- 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; }
18
-
19
13
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
20
14
 
21
15
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -28,16 +22,23 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
28
22
 
29
23
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
30
24
 
25
+ 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; }
26
+
27
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
28
+
29
+ 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; }
30
+
31
31
  var builderStore = function builderStore(props) {
32
32
  return createStore(function (set, get) {
33
33
  return {
34
- activeElement: props.activeElement || null,
34
+ activeElements: props.activeElement || [],
35
35
  activeTab: props.activeTab || {
36
36
  left: 0,
37
37
  right: 0
38
38
  },
39
39
  contextMenuProps: props.contextMenuProps || false,
40
40
  editedElement: props.editedElement || 'l_layout',
41
+ guides: {},
41
42
  isAllSlidesPanelOpen: props.isAllSlidesPanelOpen || false,
42
43
  isLeftPanelOpen: props.isLeftPanelOpen || false,
43
44
  isResize: false,
@@ -45,28 +46,41 @@ var builderStore = function builderStore(props) {
45
46
  isSlidesPanelOpen: props.isSlidesPanelOpen || false,
46
47
  isTextEditorOpen: props.isTextEditorOpen || false,
47
48
  lastScrollPosition: props.lastScrollPosition || 0,
49
+ matches: {},
48
50
  onRightPanelsToggled: props.onRightPanelsToggled || function () {},
49
- setActiveElement: props.setActiveElement || function (itemID) {
51
+ resetActiveElements: props.resetActiveElements || function () {
52
+ set({
53
+ activeElements: [],
54
+ editedElement: 'l_layout'
55
+ });
56
+ },
57
+ setActiveElements: props.setActiveElements || function (itemID) {
50
58
  var edit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
51
- var multiple = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
59
+ var replace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
52
60
 
53
- if (!multiple) {
54
- var config = {
55
- activeElement: itemID === null ? null : [itemID]
56
- };
61
+ var _get = get(),
62
+ activeElements = _get.activeElements;
57
63
 
58
- if (edit) {
59
- var editedElement = !itemID ? 'l_layout' : "i_".concat(itemID);
60
- config.editedElement = editedElement;
61
- }
62
-
63
- set(config);
64
+ set(_objectSpread({
65
+ activeElements: replace ? [itemID] : [].concat(_toConsumableArray(activeElements), [itemID])
66
+ }, edit ? {
67
+ editedElement: !itemID ? 'l_layout' : "i_".concat(itemID)
68
+ } : {}));
69
+ },
70
+ setActiveElementsSelection: props.setActiveElementsSelection || function (itemIDs) {
71
+ if (!itemIDs || itemIDs.length === 0) {
72
+ set({
73
+ activeElements: [],
74
+ editedElement: 'l_layout'
75
+ });
76
+ } else if (itemIDs.length === 1) {
77
+ set({
78
+ activeElements: itemIDs,
79
+ editedElement: "i_".concat(itemIDs[0])
80
+ });
64
81
  } else {
65
- var _get = get(),
66
- activeElement = _get.activeElement;
67
-
68
82
  set({
69
- activeElement: activeElement === null ? [itemID] : [].concat(_toConsumableArray(activeElement), [itemID])
83
+ activeElements: itemIDs
70
84
  });
71
85
  }
72
86
  },
@@ -88,6 +102,11 @@ var builderStore = function builderStore(props) {
88
102
  editedElement: id
89
103
  });
90
104
  },
105
+ setGuides: function setGuides(guides) {
106
+ set({
107
+ guides: guides
108
+ });
109
+ },
91
110
  setIsAllSlidesPanelOpen: function setIsAllSlidesPanelOpen(status) {
92
111
  set({
93
112
  isAllSlidesPanelOpen: status
@@ -141,6 +160,11 @@ var builderStore = function builderStore(props) {
141
160
  isTextEditorOpen: status
142
161
  });
143
162
  },
163
+ setMatches: function setMatches(matches) {
164
+ set({
165
+ matches: matches
166
+ });
167
+ },
144
168
  setZoom: function setZoom(zoom, layoutWidth) {
145
169
  set({
146
170
  zoom: zoom
@@ -1 +1 @@
1
- {"version":3,"file":"BuilderContext.js","sources":["../../../src/contexts/BuilderContext.js"],"sourcesContent":["import { createContext, useContext, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createStore, useStore } from 'zustand';\n\nconst builderStore = props => {\n return createStore((set, get) => ({\n activeElement: props.activeElement || null,\n activeTab: props.activeTab || { left: 0, right: 0 },\n contextMenuProps: props.contextMenuProps || false,\n editedElement: props.editedElement || 'l_layout',\n isAllSlidesPanelOpen: props.isAllSlidesPanelOpen || false,\n isLeftPanelOpen: props.isLeftPanelOpen || false,\n isResize: false,\n isRightPanelOpen: props.isRightPanelOpen || false,\n isSlidesPanelOpen: props.isSlidesPanelOpen || false,\n isTextEditorOpen: props.isTextEditorOpen || false,\n lastScrollPosition: props.lastScrollPosition || 0,\n onRightPanelsToggled: props.onRightPanelsToggled || (() => {}),\n setActiveElement: props.setActiveElement || ((itemID, edit = true, multiple = false) => {\n if (!multiple) {\n const config = {\n activeElement: itemID === null ? null : [itemID],\n };\n if (edit) {\n const editedElement = !itemID ? 'l_layout' : `i_${itemID}`;\n config.editedElement = editedElement;\n }\n set(config);\n } else {\n const { activeElement } = get();\n set({ activeElement: activeElement === null ? [itemID] : [...activeElement, itemID] });\n }\n }),\n setActiveTab: props.setActiveTab || ((panel, tabIndex) => {\n const { activeTab } = get();\n set({ activeTab: { ...activeTab, [panel]: tabIndex } });\n }),\n setContextMenuProps: status => {\n set({ contextMenuProps: status });\n },\n setEditedElement: id => {\n set({ editedElement: id });\n },\n setIsAllSlidesPanelOpen: status => {\n set({ isAllSlidesPanelOpen: status });\n },\n setIsLeftPanelOpen: props.setIsLeftPanelOpen || (status => {\n const { isEnoughCanvasSize } = get();\n set({\n isLeftPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n }),\n setIsResize: status => {\n set({ isResize: status });\n },\n setIsRightPanelOpen: props.setIsRightPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isRightPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isLeftPanelOpen: false },\n ...status && { isSlidesPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsSlidesPanelOpen: props.setIsSlidesPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isSlidesPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isLeftPanelOpen: false },\n ...status && { isRightPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsTextEditorOpen: status => {\n set({ isTextEditorOpen: status });\n },\n setZoom: (zoom, layoutWidth) => {\n set({ zoom });\n if (layoutWidth) {\n const { clientWidth: paneWidth } = document.querySelector('.jfReport-pane .toolItemWrapper');\n const sceneWidth = parseInt(layoutWidth, 10) * zoom;\n if (window.innerWidth - sceneWidth + 100 > (paneWidth * 2)) {\n set({ isEnoughCanvasSize: true });\n } else {\n set({\n isEnoughCanvasSize: false,\n isLeftPanelOpen: false,\n });\n }\n }\n },\n zoom: 1,\n }));\n};\n\nconst BuilderContext = createContext(null);\n\nexport const BuilderProvider = ({ children, value, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = builderStore(props);\n }\n\n return (\n <BuilderContext.Provider value={storeRef.current}>\n {children}\n </BuilderContext.Provider>\n );\n};\n\nBuilderProvider.propTypes = {\n children: PropTypes.any,\n value: PropTypes.object,\n};\n\nexport const BuilderConsumer = BuilderContext.Consumer;\n\nexport const useBuilderStore = selector => {\n const context = useContext(BuilderContext);\n if (!context) {\n throw new Error('useBuilderStore must be used with BuilderProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["builderStore","props","createStore","set","get","activeElement","activeTab","left","right","contextMenuProps","editedElement","isAllSlidesPanelOpen","isLeftPanelOpen","isResize","isRightPanelOpen","isSlidesPanelOpen","isTextEditorOpen","lastScrollPosition","onRightPanelsToggled","setActiveElement","itemID","edit","multiple","config","setActiveTab","panel","tabIndex","setContextMenuProps","status","setEditedElement","id","setIsAllSlidesPanelOpen","setIsLeftPanelOpen","isEnoughCanvasSize","setIsResize","setIsRightPanelOpen","setIsSlidesPanelOpen","setIsTextEditorOpen","setZoom","zoom","layoutWidth","document","querySelector","paneWidth","clientWidth","sceneWidth","parseInt","window","innerWidth","BuilderContext","createContext","BuilderProvider","children","value","storeRef","useRef","current","_jsx","propTypes","PropTypes","any","object","Consumer","useBuilderStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
1
+ {"version":3,"file":"BuilderContext.js","sources":["../../../src/contexts/BuilderContext.js"],"sourcesContent":["import { createContext, useContext, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createStore, useStore } from 'zustand';\n\nconst builderStore = props => {\n return createStore((set, get) => ({\n activeElements: props.activeElement || [],\n activeTab: props.activeTab || { left: 0, right: 0 },\n contextMenuProps: props.contextMenuProps || false,\n editedElement: props.editedElement || 'l_layout',\n guides: {},\n isAllSlidesPanelOpen: props.isAllSlidesPanelOpen || false,\n isLeftPanelOpen: props.isLeftPanelOpen || false,\n isResize: false,\n isRightPanelOpen: props.isRightPanelOpen || false,\n isSlidesPanelOpen: props.isSlidesPanelOpen || false,\n isTextEditorOpen: props.isTextEditorOpen || false,\n lastScrollPosition: props.lastScrollPosition || 0,\n matches: {},\n onRightPanelsToggled: props.onRightPanelsToggled || (() => {}),\n resetActiveElements: props.resetActiveElements || (() => {\n set({ activeElements: [], editedElement: 'l_layout' });\n }),\n setActiveElements: props.setActiveElements || ((itemID, edit = true, replace = true) => {\n const { activeElements } = get();\n set({\n activeElements: replace ? [itemID] : [...activeElements, itemID],\n ...edit ? { editedElement: !itemID ? 'l_layout' : `i_${itemID}` } : {},\n });\n }),\n setActiveElementsSelection: props.setActiveElementsSelection || (itemIDs => {\n if (!itemIDs || itemIDs.length === 0) {\n set({ activeElements: [], editedElement: 'l_layout' });\n } else if (itemIDs.length === 1) {\n set({\n activeElements: itemIDs,\n editedElement: `i_${itemIDs[0]}`,\n });\n } else {\n set({ activeElements: itemIDs });\n }\n }),\n setActiveTab: props.setActiveTab || ((panel, tabIndex) => {\n const { activeTab } = get();\n set({ activeTab: { ...activeTab, [panel]: tabIndex } });\n }),\n setContextMenuProps: status => {\n set({ contextMenuProps: status });\n },\n setEditedElement: id => {\n set({ editedElement: id });\n },\n setGuides: guides => {\n set({ guides });\n },\n setIsAllSlidesPanelOpen: status => {\n set({ isAllSlidesPanelOpen: status });\n },\n setIsLeftPanelOpen: props.setIsLeftPanelOpen || (status => {\n const { isEnoughCanvasSize } = get();\n set({\n isLeftPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n }),\n setIsResize: status => {\n set({ isResize: status });\n },\n setIsRightPanelOpen: props.setIsRightPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isRightPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isLeftPanelOpen: false },\n ...status && { isSlidesPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsSlidesPanelOpen: props.setIsSlidesPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isSlidesPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isLeftPanelOpen: false },\n ...status && { isRightPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsTextEditorOpen: status => {\n set({ isTextEditorOpen: status });\n },\n setMatches: matches => {\n set({ matches });\n },\n setZoom: (zoom, layoutWidth) => {\n set({ zoom });\n if (layoutWidth) {\n const { clientWidth: paneWidth } = document.querySelector('.jfReport-pane .toolItemWrapper');\n const sceneWidth = parseInt(layoutWidth, 10) * zoom;\n if (window.innerWidth - sceneWidth + 100 > (paneWidth * 2)) {\n set({ isEnoughCanvasSize: true });\n } else {\n set({\n isEnoughCanvasSize: false,\n isLeftPanelOpen: false,\n });\n }\n }\n },\n zoom: 1,\n }));\n};\n\nconst BuilderContext = createContext(null);\n\nexport const BuilderProvider = ({ children, value, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = builderStore(props);\n }\n\n return (\n <BuilderContext.Provider value={storeRef.current}>\n {children}\n </BuilderContext.Provider>\n );\n};\n\nBuilderProvider.propTypes = {\n children: PropTypes.any,\n value: PropTypes.object,\n};\n\nexport const BuilderConsumer = BuilderContext.Consumer;\n\nexport const useBuilderStore = selector => {\n const context = useContext(BuilderContext);\n if (!context) {\n throw new Error('useBuilderStore must be used with BuilderProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["builderStore","props","createStore","set","get","activeElements","activeElement","activeTab","left","right","contextMenuProps","editedElement","guides","isAllSlidesPanelOpen","isLeftPanelOpen","isResize","isRightPanelOpen","isSlidesPanelOpen","isTextEditorOpen","lastScrollPosition","matches","onRightPanelsToggled","resetActiveElements","setActiveElements","itemID","edit","replace","setActiveElementsSelection","itemIDs","length","setActiveTab","panel","tabIndex","setContextMenuProps","status","setEditedElement","id","setGuides","setIsAllSlidesPanelOpen","setIsLeftPanelOpen","isEnoughCanvasSize","setIsResize","setIsRightPanelOpen","setIsSlidesPanelOpen","setIsTextEditorOpen","setMatches","setZoom","zoom","layoutWidth","document","querySelector","paneWidth","clientWidth","sceneWidth","parseInt","window","innerWidth","BuilderContext","createContext","BuilderProvider","children","value","storeRef","useRef","current","_jsx","propTypes","PropTypes","any","object","Consumer","useBuilderStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
@@ -158,7 +158,7 @@
158
158
  color: #fff;
159
159
  display: block;
160
160
  position: absolute;
161
- width: 165px;
161
+ width: 225px;
162
162
  z-index: 10;
163
163
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.2);
164
164
  }
@@ -192,6 +192,13 @@
192
192
  }
193
193
  }
194
194
 
195
+ .contextMenu-text {
196
+ white-space: nowrap;
197
+ overflow: hidden;
198
+ text-overflow: ellipsis;
199
+ line-height: 1.2;
200
+ }
201
+
195
202
  &:hover {
196
203
  background: #f0f0f0;
197
204
  }
@@ -24,6 +24,8 @@ import 'core-js/modules/web.dom-collections.for-each.js';
24
24
  import 'core-js/modules/web.dom-collections.iterator.js';
25
25
  import 'core-js/modules/web.url.js';
26
26
 
27
+ var _excluded = ["height", "left", "top", "width"];
28
+
27
29
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
28
30
 
29
31
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -49,6 +51,33 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
49
51
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
50
52
 
51
53
  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; }
54
+
55
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
56
+
57
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
58
+ /**
59
+ * Rounds position/dimension values to integers before sending to service
60
+ * This prevents decimal values from being sent when zoom is not 1
61
+ * Should only be used at the final step before service calls
62
+ */
63
+
64
+ var roundPositionValues = function roundPositionValues(_ref) {
65
+ var height = _ref.height,
66
+ left = _ref.left,
67
+ top = _ref.top,
68
+ width = _ref.width,
69
+ rest = _objectWithoutProperties(_ref, _excluded);
70
+
71
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, rest), height !== undefined && {
72
+ height: Math.round(height)
73
+ }), left !== undefined && {
74
+ left: Math.round(left)
75
+ }), top !== undefined && {
76
+ top: Math.round(top)
77
+ }), width !== undefined && {
78
+ width: Math.round(width)
79
+ });
80
+ };
52
81
  var getCorrectDroppedOffsetValue = function getCorrectDroppedOffsetValue(finalOffset, initialOffset, dropTargetPosition) {
53
82
  var zoom = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
54
83
  var finalX = finalOffset.x,
@@ -72,8 +101,7 @@ var getStyles = function getStyles(left, top, isDragging) {
72
101
  };
73
102
  };
74
103
  var isSelectedItem = function isSelectedItem(id, activeElements) {
75
- if (activeElements === null) return id === activeElements;
76
- return activeElements.indexOf(id) !== -1;
104
+ return activeElements.includes(id);
77
105
  };
78
106
  var findItemById = function findItemById(itemID, pages) {
79
107
  var page = pages.find(function (p) {
@@ -158,6 +186,7 @@ var getTabsWithElements = function getTabsWithElements(leftPanelConfig) {
158
186
  };
159
187
  var calculateGuidePositions = function calculateGuidePositions(dimensions, axis) {
160
188
  var zoom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
189
+ var direction = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
161
190
  var isItem = dimensions && dimensions.id;
162
191
 
163
192
  if (axis === 'x') {
@@ -167,18 +196,43 @@ var calculateGuidePositions = function calculateGuidePositions(dimensions, axis)
167
196
 
168
197
  var _end = dimensions.left + dimensions.width;
169
198
 
170
- if (isItem) return [_start, _middle, _end].map(function (p) {
171
- return p * zoom;
172
- });
199
+ if (isItem) {
200
+ var result = [_start, _middle, _end].map(function (p) {
201
+ return p * zoom;
202
+ });
203
+
204
+ if (direction) {
205
+ if (direction === 'bottom') return [];
206
+ if (direction === 'top') return [];
207
+ if (/left/i.test(direction)) return [result[0]];
208
+ if (/right/i.test(direction)) return [result[2]];
209
+ }
210
+
211
+ return result;
212
+ }
213
+
173
214
  return [_start, _middle, _end];
174
215
  }
175
216
 
176
217
  var start = dimensions.top;
177
218
  var middle = dimensions.top + parseInt(dimensions.height / 2, 10);
178
219
  var end = dimensions.top + dimensions.height;
179
- if (isItem) return [start, middle, end].map(function (p) {
180
- return p * zoom;
181
- });
220
+
221
+ if (isItem) {
222
+ var _result = [start, middle, end].map(function (p) {
223
+ return p * zoom;
224
+ });
225
+
226
+ if (direction) {
227
+ if (direction === 'left') return [];
228
+ if (direction === 'right') return [];
229
+ if (/top/i.test(direction)) return [_result[0]];
230
+ if (/bottom/i.test(direction)) return [_result[2]];
231
+ }
232
+
233
+ return _result;
234
+ }
235
+
182
236
  return [start, middle, end];
183
237
  };
184
238
  var getAllGuidesForGivenAxisExceptActiveBox = function getAllGuidesForGivenAxisExceptActiveBox(allGuides, guidesForActiveBoxAlongGivenAxis, axis) {
@@ -256,16 +310,18 @@ var proximityListener = function proximityListener(active, allGuides) {
256
310
  return allMatchedGuides;
257
311
  };
258
312
  var getMatchesForItem = function getMatchesForItem(item, guides, zoom) {
313
+ var direction = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
259
314
  var pageGuides = guides[item.pageID];
260
315
 
261
316
  var _guides = _objectSpread(_objectSpread({}, pageGuides), {}, _defineProperty({}, item.id, _objectSpread(_objectSpread({}, pageGuides[item.id]), {}, {
262
- x: calculateGuidePositions(item, 'x', zoom),
263
- y: calculateGuidePositions(item, 'y', zoom)
317
+ x: calculateGuidePositions(item, 'x', zoom, direction),
318
+ y: calculateGuidePositions(item, 'y', zoom, direction)
264
319
  })));
265
320
 
266
321
  return proximityListener(item.id, _guides);
267
322
  };
268
323
  var getCoordinatesFromMatches = function getCoordinatesFromMatches(item, matches) {
324
+ var zoom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
269
325
  var newActiveBoxLeft = item.left;
270
326
  var newActiveBoxTop = item.top;
271
327
  Object.keys(matches).forEach(function (axis) {
@@ -274,18 +330,20 @@ var getCoordinatesFromMatches = function getCoordinatesFromMatches(item, matches
274
330
  matchedArray = _matches$axis.matchedArray,
275
331
  proximity = _matches$axis.proximity;
276
332
  var activeBoxProximityIndex = proximity.activeBoxIndex;
277
- var matchedBoxProximityIndex = proximity.matchedBoxIndex;
333
+ var matchedBoxProximityIndex = proximity.matchedBoxIndex; // proximity.value is in zoomed pixels, divide by zoom to get canvas coordinates
334
+
335
+ var adjustedValue = proximity.value / zoom;
278
336
 
279
337
  if (axis === 'x') {
280
338
  if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
281
- newActiveBoxLeft = item.left - proximity.value;
339
+ newActiveBoxLeft = item.left - adjustedValue;
282
340
  } else {
283
- newActiveBoxLeft = item.left + proximity.value;
341
+ newActiveBoxLeft = item.left + adjustedValue;
284
342
  }
285
343
  } else if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
286
- newActiveBoxTop = item.top - proximity.value;
344
+ newActiveBoxTop = item.top - adjustedValue;
287
345
  } else {
288
- newActiveBoxTop = item.top + proximity.value;
346
+ newActiveBoxTop = item.top + adjustedValue;
289
347
  }
290
348
  });
291
349
  return {
@@ -293,10 +351,6 @@ var getCoordinatesFromMatches = function getCoordinatesFromMatches(item, matches
293
351
  top: newActiveBoxTop
294
352
  };
295
353
  };
296
- var getCorrectDroppedOffsetValueBySnap = function getCorrectDroppedOffsetValueBySnap(item, guides, zoom) {
297
- var matches = getMatchesForItem(item, guides, zoom);
298
- return getCoordinatesFromMatches(item, matches);
299
- };
300
354
  var getPosition = function getPosition(e) {
301
355
  var posx = 0;
302
356
  var posy = 0;
@@ -545,9 +599,9 @@ var closeFullscreen = function closeFullscreen() {
545
599
 
546
600
  return Promise.resolve();
547
601
  };
548
- var imageSizeUpdater = function imageSizeUpdater(item, _ref, updateFunc) {
549
- var objectURL = _ref.objectURL,
550
- url = _ref.url;
602
+ var imageSizeUpdater = function imageSizeUpdater(item, _ref2, updateFunc) {
603
+ var objectURL = _ref2.objectURL,
604
+ url = _ref2.url;
551
605
  var MAX_WIDTH = 700;
552
606
  var MAX_HEIGHT = 600;
553
607
  var image = new global.Image();
@@ -675,12 +729,12 @@ var arrayMove = function arrayMove(array, from, to) {
675
729
  arrayMoveMutate(newArray, from, to);
676
730
  return newArray;
677
731
  };
678
- var getZoomValue = function getZoomValue(_ref2) {
679
- var isFullscreen = _ref2.isFullscreen,
680
- limitZoom = _ref2.limitZoom,
681
- settings = _ref2.settings,
682
- useFixedPresentationBar = _ref2.useFixedPresentationBar,
683
- useProgressBar = _ref2.useProgressBar;
732
+ var getZoomValue = function getZoomValue(_ref3) {
733
+ var isFullscreen = _ref3.isFullscreen,
734
+ limitZoom = _ref3.limitZoom,
735
+ settings = _ref3.settings,
736
+ useFixedPresentationBar = _ref3.useFixedPresentationBar,
737
+ useProgressBar = _ref3.useProgressBar;
684
738
  var _settings$reportLayou = settings.reportLayoutHeight,
685
739
  reportLayoutHeight = _settings$reportLayou === void 0 ? 794 : _settings$reportLayou,
686
740
  _settings$reportLayou2 = settings.reportLayoutWidth,
@@ -729,11 +783,11 @@ var throttle = function throttle(fn, delay) {
729
783
  var roundForDecimalPart = function roundForDecimalPart(num) {
730
784
  return +"".concat(Math.round("".concat(num, "e+2")), "e-2");
731
785
  };
732
- var changePage = function changePage(_ref3) {
733
- var action = _ref3.action,
734
- currentPage = _ref3.currentPage,
735
- pageCount = _ref3.pageCount,
736
- setCurrentPage = _ref3.setCurrentPage;
786
+ var changePage = function changePage(_ref4) {
787
+ var action = _ref4.action,
788
+ currentPage = _ref4.currentPage,
789
+ pageCount = _ref4.pageCount,
790
+ setCurrentPage = _ref4.setCurrentPage;
737
791
  return function () {
738
792
  if (currentPage + action > pageCount) {
739
793
  setCurrentPage(1);
@@ -799,6 +853,39 @@ function isValidHexColor(value) {
799
853
  var emptyFunction = function emptyFunction(f) {
800
854
  return f;
801
855
  };
856
+ var isItemInSelectionBox = function isItemInSelectionBox(selectionBox, item) {
857
+ var zoom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
858
+ var boxLeft = Math.min(selectionBox.startX, selectionBox.endX);
859
+ var boxTop = Math.min(selectionBox.startY, selectionBox.endY);
860
+ var boxRight = Math.max(selectionBox.startX, selectionBox.endX);
861
+ var boxBottom = Math.max(selectionBox.startY, selectionBox.endY);
862
+ var itemLeft = item.left * zoom;
863
+ var itemTop = item.top * zoom;
864
+ var itemRight = (item.left + item.width) * zoom;
865
+ var itemBottom = (item.top + item.height) * zoom; // Check if rectangles intersect
866
+
867
+ return !(boxRight < itemLeft || boxLeft > itemRight || boxBottom < itemTop || boxTop > itemBottom);
868
+ };
869
+ var getItemsInSelectionBox = function getItemsInSelectionBox(selectionBox, items) {
870
+ var zoom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
871
+ return items.filter(function (item) {
872
+ return !item.isLocked && isItemInSelectionBox(selectionBox, item, zoom);
873
+ }).map(function (item) {
874
+ return item.id;
875
+ });
876
+ };
877
+ var getDimensions = function getDimensions(_ref5) {
878
+ var height = _ref5.height,
879
+ left = _ref5.left,
880
+ top = _ref5.top,
881
+ width = _ref5.width;
882
+ return {
883
+ height: height,
884
+ left: left,
885
+ top: top,
886
+ width: width
887
+ };
888
+ };
802
889
 
803
- export { arrayMove, calculateGuidePositions, changePage, checkValueProximities, closeFullscreen, collisionCheck, emptyFunction, findItemById, findItemsOnPage, getAllGuidesForGivenAxisExceptActiveBox, getAvailableCoordinate, getContainerPositions, getCoordinatesFromMatches, getCorrectDroppedOffsetValue, getCorrectDroppedOffsetValueBySnap, getExactIconType, getFileName, getImageSizes, getMatchesForItem, getMostVisiblePage, getPosition, getScaleForPageThumbnail, getScaleForPageThumbnailLarge, getStyles, getTabsWithElements, getTabsWithSettings, getVisibleHeightPx, getZoomValue, imageSizeUpdater, isSelectedItem, isValidHexColor, moveArrayItem, moveItemInArrayFromIndexToIndex, normalizeHexColor, onChangeFunction, openFullscreenHelper, proximityListener, roundForDecimalPart, safeJSONParse, scrollToTarget, throttle };
890
+ export { arrayMove, calculateGuidePositions, changePage, checkValueProximities, closeFullscreen, collisionCheck, emptyFunction, findItemById, findItemsOnPage, getAllGuidesForGivenAxisExceptActiveBox, getAvailableCoordinate, getContainerPositions, getCoordinatesFromMatches, getCorrectDroppedOffsetValue, getDimensions, getExactIconType, getFileName, getImageSizes, getItemsInSelectionBox, getMatchesForItem, getMostVisiblePage, getPosition, getScaleForPageThumbnail, getScaleForPageThumbnailLarge, getStyles, getTabsWithElements, getTabsWithSettings, getVisibleHeightPx, getZoomValue, imageSizeUpdater, isItemInSelectionBox, isSelectedItem, isValidHexColor, moveArrayItem, moveItemInArrayFromIndexToIndex, normalizeHexColor, onChangeFunction, openFullscreenHelper, proximityListener, roundForDecimalPart, roundPositionValues, safeJSONParse, scrollToTarget, throttle };
804
891
  //# sourceMappingURL=functions.js.map