@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
@@ -18,7 +18,6 @@ var ALL_TEXTS = {
18
18
  CHART_SETTINGS: 'Chart Settings',
19
19
  CLICK_TO_EDIT_HEADER: 'Click to edit header',
20
20
  CLICK_TO_EDIT_TEXT: 'Click to edit text',
21
- DATACARD_SETTINGS: 'Data Card Settings',
22
21
  DELETE: 'Delete',
23
22
  DELETE_ITEM: 'Delete Item',
24
23
  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;;;;;"}
@@ -18,12 +18,6 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
18
18
 
19
19
  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; }
20
20
 
21
- 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; }
22
-
23
- 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; }
24
-
25
- 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; }
26
-
27
21
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
28
22
 
29
23
  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."); }
@@ -36,16 +30,23 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
36
30
 
37
31
  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; }
38
32
 
33
+ 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; }
34
+
35
+ 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; }
36
+
37
+ 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; }
38
+
39
39
  var builderStore = function builderStore(props) {
40
40
  return zustand.createStore(function (set, get) {
41
41
  return {
42
- activeElement: props.activeElement || null,
42
+ activeElements: props.activeElement || [],
43
43
  activeTab: props.activeTab || {
44
44
  left: 0,
45
45
  right: 0
46
46
  },
47
47
  contextMenuProps: props.contextMenuProps || false,
48
48
  editedElement: props.editedElement || 'l_layout',
49
+ guides: {},
49
50
  isAllSlidesPanelOpen: props.isAllSlidesPanelOpen || false,
50
51
  isLeftPanelOpen: props.isLeftPanelOpen || false,
51
52
  isResize: false,
@@ -53,28 +54,41 @@ var builderStore = function builderStore(props) {
53
54
  isSlidesPanelOpen: props.isSlidesPanelOpen || false,
54
55
  isTextEditorOpen: props.isTextEditorOpen || false,
55
56
  lastScrollPosition: props.lastScrollPosition || 0,
57
+ matches: {},
56
58
  onRightPanelsToggled: props.onRightPanelsToggled || function () {},
57
- setActiveElement: props.setActiveElement || function (itemID) {
59
+ resetActiveElements: props.resetActiveElements || function () {
60
+ set({
61
+ activeElements: [],
62
+ editedElement: 'l_layout'
63
+ });
64
+ },
65
+ setActiveElements: props.setActiveElements || function (itemID) {
58
66
  var edit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
59
- var multiple = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
67
+ var replace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
60
68
 
61
- if (!multiple) {
62
- var config = {
63
- activeElement: itemID === null ? null : [itemID]
64
- };
69
+ var _get = get(),
70
+ activeElements = _get.activeElements;
65
71
 
66
- if (edit) {
67
- var editedElement = !itemID ? 'l_layout' : "i_".concat(itemID);
68
- config.editedElement = editedElement;
69
- }
70
-
71
- set(config);
72
+ set(_objectSpread({
73
+ activeElements: replace ? [itemID] : [].concat(_toConsumableArray(activeElements), [itemID])
74
+ }, edit ? {
75
+ editedElement: !itemID ? 'l_layout' : "i_".concat(itemID)
76
+ } : {}));
77
+ },
78
+ setActiveElementsSelection: props.setActiveElementsSelection || function (itemIDs) {
79
+ if (!itemIDs || itemIDs.length === 0) {
80
+ set({
81
+ activeElements: [],
82
+ editedElement: 'l_layout'
83
+ });
84
+ } else if (itemIDs.length === 1) {
85
+ set({
86
+ activeElements: itemIDs,
87
+ editedElement: "i_".concat(itemIDs[0])
88
+ });
72
89
  } else {
73
- var _get = get(),
74
- activeElement = _get.activeElement;
75
-
76
90
  set({
77
- activeElement: activeElement === null ? [itemID] : [].concat(_toConsumableArray(activeElement), [itemID])
91
+ activeElements: itemIDs
78
92
  });
79
93
  }
80
94
  },
@@ -96,6 +110,11 @@ var builderStore = function builderStore(props) {
96
110
  editedElement: id
97
111
  });
98
112
  },
113
+ setGuides: function setGuides(guides) {
114
+ set({
115
+ guides: guides
116
+ });
117
+ },
99
118
  setIsAllSlidesPanelOpen: function setIsAllSlidesPanelOpen(status) {
100
119
  set({
101
120
  isAllSlidesPanelOpen: status
@@ -149,6 +168,11 @@ var builderStore = function builderStore(props) {
149
168
  isTextEditorOpen: status
150
169
  });
151
170
  },
171
+ setMatches: function setMatches(matches) {
172
+ set({
173
+ matches: matches
174
+ });
175
+ },
152
176
  setZoom: function setZoom(zoom, layoutWidth) {
153
177
  set({
154
178
  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
  }
@@ -28,6 +28,8 @@ require('core-js/modules/web.dom-collections.for-each.js');
28
28
  require('core-js/modules/web.dom-collections.iterator.js');
29
29
  require('core-js/modules/web.url.js');
30
30
 
31
+ var _excluded = ["height", "left", "top", "width"];
32
+
31
33
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
32
34
 
33
35
  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."); }
@@ -53,6 +55,33 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
53
55
  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; }
54
56
 
55
57
  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; }
58
+
59
+ 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; }
60
+
61
+ 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; }
62
+ /**
63
+ * Rounds position/dimension values to integers before sending to service
64
+ * This prevents decimal values from being sent when zoom is not 1
65
+ * Should only be used at the final step before service calls
66
+ */
67
+
68
+ var roundPositionValues = function roundPositionValues(_ref) {
69
+ var height = _ref.height,
70
+ left = _ref.left,
71
+ top = _ref.top,
72
+ width = _ref.width,
73
+ rest = _objectWithoutProperties(_ref, _excluded);
74
+
75
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, rest), height !== undefined && {
76
+ height: Math.round(height)
77
+ }), left !== undefined && {
78
+ left: Math.round(left)
79
+ }), top !== undefined && {
80
+ top: Math.round(top)
81
+ }), width !== undefined && {
82
+ width: Math.round(width)
83
+ });
84
+ };
56
85
  var getCorrectDroppedOffsetValue = function getCorrectDroppedOffsetValue(finalOffset, initialOffset, dropTargetPosition) {
57
86
  var zoom = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
58
87
  var finalX = finalOffset.x,
@@ -76,8 +105,7 @@ var getStyles = function getStyles(left, top, isDragging) {
76
105
  };
77
106
  };
78
107
  var isSelectedItem = function isSelectedItem(id, activeElements) {
79
- if (activeElements === null) return id === activeElements;
80
- return activeElements.indexOf(id) !== -1;
108
+ return activeElements.includes(id);
81
109
  };
82
110
  var findItemById = function findItemById(itemID, pages) {
83
111
  var page = pages.find(function (p) {
@@ -162,6 +190,7 @@ var getTabsWithElements = function getTabsWithElements(leftPanelConfig) {
162
190
  };
163
191
  var calculateGuidePositions = function calculateGuidePositions(dimensions, axis) {
164
192
  var zoom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
193
+ var direction = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
165
194
  var isItem = dimensions && dimensions.id;
166
195
 
167
196
  if (axis === 'x') {
@@ -171,18 +200,43 @@ var calculateGuidePositions = function calculateGuidePositions(dimensions, axis)
171
200
 
172
201
  var _end = dimensions.left + dimensions.width;
173
202
 
174
- if (isItem) return [_start, _middle, _end].map(function (p) {
175
- return p * zoom;
176
- });
203
+ if (isItem) {
204
+ var result = [_start, _middle, _end].map(function (p) {
205
+ return p * zoom;
206
+ });
207
+
208
+ if (direction) {
209
+ if (direction === 'bottom') return [];
210
+ if (direction === 'top') return [];
211
+ if (/left/i.test(direction)) return [result[0]];
212
+ if (/right/i.test(direction)) return [result[2]];
213
+ }
214
+
215
+ return result;
216
+ }
217
+
177
218
  return [_start, _middle, _end];
178
219
  }
179
220
 
180
221
  var start = dimensions.top;
181
222
  var middle = dimensions.top + parseInt(dimensions.height / 2, 10);
182
223
  var end = dimensions.top + dimensions.height;
183
- if (isItem) return [start, middle, end].map(function (p) {
184
- return p * zoom;
185
- });
224
+
225
+ if (isItem) {
226
+ var _result = [start, middle, end].map(function (p) {
227
+ return p * zoom;
228
+ });
229
+
230
+ if (direction) {
231
+ if (direction === 'left') return [];
232
+ if (direction === 'right') return [];
233
+ if (/top/i.test(direction)) return [_result[0]];
234
+ if (/bottom/i.test(direction)) return [_result[2]];
235
+ }
236
+
237
+ return _result;
238
+ }
239
+
186
240
  return [start, middle, end];
187
241
  };
188
242
  var getAllGuidesForGivenAxisExceptActiveBox = function getAllGuidesForGivenAxisExceptActiveBox(allGuides, guidesForActiveBoxAlongGivenAxis, axis) {
@@ -260,16 +314,18 @@ var proximityListener = function proximityListener(active, allGuides) {
260
314
  return allMatchedGuides;
261
315
  };
262
316
  var getMatchesForItem = function getMatchesForItem(item, guides, zoom) {
317
+ var direction = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
263
318
  var pageGuides = guides[item.pageID];
264
319
 
265
320
  var _guides = _objectSpread(_objectSpread({}, pageGuides), {}, _defineProperty({}, item.id, _objectSpread(_objectSpread({}, pageGuides[item.id]), {}, {
266
- x: calculateGuidePositions(item, 'x', zoom),
267
- y: calculateGuidePositions(item, 'y', zoom)
321
+ x: calculateGuidePositions(item, 'x', zoom, direction),
322
+ y: calculateGuidePositions(item, 'y', zoom, direction)
268
323
  })));
269
324
 
270
325
  return proximityListener(item.id, _guides);
271
326
  };
272
327
  var getCoordinatesFromMatches = function getCoordinatesFromMatches(item, matches) {
328
+ var zoom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
273
329
  var newActiveBoxLeft = item.left;
274
330
  var newActiveBoxTop = item.top;
275
331
  Object.keys(matches).forEach(function (axis) {
@@ -278,18 +334,20 @@ var getCoordinatesFromMatches = function getCoordinatesFromMatches(item, matches
278
334
  matchedArray = _matches$axis.matchedArray,
279
335
  proximity = _matches$axis.proximity;
280
336
  var activeBoxProximityIndex = proximity.activeBoxIndex;
281
- var matchedBoxProximityIndex = proximity.matchedBoxIndex;
337
+ var matchedBoxProximityIndex = proximity.matchedBoxIndex; // proximity.value is in zoomed pixels, divide by zoom to get canvas coordinates
338
+
339
+ var adjustedValue = proximity.value / zoom;
282
340
 
283
341
  if (axis === 'x') {
284
342
  if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
285
- newActiveBoxLeft = item.left - proximity.value;
343
+ newActiveBoxLeft = item.left - adjustedValue;
286
344
  } else {
287
- newActiveBoxLeft = item.left + proximity.value;
345
+ newActiveBoxLeft = item.left + adjustedValue;
288
346
  }
289
347
  } else if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
290
- newActiveBoxTop = item.top - proximity.value;
348
+ newActiveBoxTop = item.top - adjustedValue;
291
349
  } else {
292
- newActiveBoxTop = item.top + proximity.value;
350
+ newActiveBoxTop = item.top + adjustedValue;
293
351
  }
294
352
  });
295
353
  return {
@@ -297,10 +355,6 @@ var getCoordinatesFromMatches = function getCoordinatesFromMatches(item, matches
297
355
  top: newActiveBoxTop
298
356
  };
299
357
  };
300
- var getCorrectDroppedOffsetValueBySnap = function getCorrectDroppedOffsetValueBySnap(item, guides, zoom) {
301
- var matches = getMatchesForItem(item, guides, zoom);
302
- return getCoordinatesFromMatches(item, matches);
303
- };
304
358
  var getPosition = function getPosition(e) {
305
359
  var posx = 0;
306
360
  var posy = 0;
@@ -549,9 +603,9 @@ var closeFullscreen = function closeFullscreen() {
549
603
 
550
604
  return Promise.resolve();
551
605
  };
552
- var imageSizeUpdater = function imageSizeUpdater(item, _ref, updateFunc) {
553
- var objectURL = _ref.objectURL,
554
- url = _ref.url;
606
+ var imageSizeUpdater = function imageSizeUpdater(item, _ref2, updateFunc) {
607
+ var objectURL = _ref2.objectURL,
608
+ url = _ref2.url;
555
609
  var MAX_WIDTH = 700;
556
610
  var MAX_HEIGHT = 600;
557
611
  var image = new global.Image();
@@ -679,12 +733,12 @@ var arrayMove = function arrayMove(array, from, to) {
679
733
  arrayMoveMutate(newArray, from, to);
680
734
  return newArray;
681
735
  };
682
- var getZoomValue = function getZoomValue(_ref2) {
683
- var isFullscreen = _ref2.isFullscreen,
684
- limitZoom = _ref2.limitZoom,
685
- settings = _ref2.settings,
686
- useFixedPresentationBar = _ref2.useFixedPresentationBar,
687
- useProgressBar = _ref2.useProgressBar;
736
+ var getZoomValue = function getZoomValue(_ref3) {
737
+ var isFullscreen = _ref3.isFullscreen,
738
+ limitZoom = _ref3.limitZoom,
739
+ settings = _ref3.settings,
740
+ useFixedPresentationBar = _ref3.useFixedPresentationBar,
741
+ useProgressBar = _ref3.useProgressBar;
688
742
  var _settings$reportLayou = settings.reportLayoutHeight,
689
743
  reportLayoutHeight = _settings$reportLayou === void 0 ? 794 : _settings$reportLayou,
690
744
  _settings$reportLayou2 = settings.reportLayoutWidth,
@@ -733,11 +787,11 @@ var throttle = function throttle(fn, delay) {
733
787
  var roundForDecimalPart = function roundForDecimalPart(num) {
734
788
  return +"".concat(Math.round("".concat(num, "e+2")), "e-2");
735
789
  };
736
- var changePage = function changePage(_ref3) {
737
- var action = _ref3.action,
738
- currentPage = _ref3.currentPage,
739
- pageCount = _ref3.pageCount,
740
- setCurrentPage = _ref3.setCurrentPage;
790
+ var changePage = function changePage(_ref4) {
791
+ var action = _ref4.action,
792
+ currentPage = _ref4.currentPage,
793
+ pageCount = _ref4.pageCount,
794
+ setCurrentPage = _ref4.setCurrentPage;
741
795
  return function () {
742
796
  if (currentPage + action > pageCount) {
743
797
  setCurrentPage(1);
@@ -803,6 +857,39 @@ function isValidHexColor(value) {
803
857
  var emptyFunction = function emptyFunction(f) {
804
858
  return f;
805
859
  };
860
+ var isItemInSelectionBox = function isItemInSelectionBox(selectionBox, item) {
861
+ var zoom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
862
+ var boxLeft = Math.min(selectionBox.startX, selectionBox.endX);
863
+ var boxTop = Math.min(selectionBox.startY, selectionBox.endY);
864
+ var boxRight = Math.max(selectionBox.startX, selectionBox.endX);
865
+ var boxBottom = Math.max(selectionBox.startY, selectionBox.endY);
866
+ var itemLeft = item.left * zoom;
867
+ var itemTop = item.top * zoom;
868
+ var itemRight = (item.left + item.width) * zoom;
869
+ var itemBottom = (item.top + item.height) * zoom; // Check if rectangles intersect
870
+
871
+ return !(boxRight < itemLeft || boxLeft > itemRight || boxBottom < itemTop || boxTop > itemBottom);
872
+ };
873
+ var getItemsInSelectionBox = function getItemsInSelectionBox(selectionBox, items) {
874
+ var zoom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
875
+ return items.filter(function (item) {
876
+ return !item.isLocked && isItemInSelectionBox(selectionBox, item, zoom);
877
+ }).map(function (item) {
878
+ return item.id;
879
+ });
880
+ };
881
+ var getDimensions = function getDimensions(_ref5) {
882
+ var height = _ref5.height,
883
+ left = _ref5.left,
884
+ top = _ref5.top,
885
+ width = _ref5.width;
886
+ return {
887
+ height: height,
888
+ left: left,
889
+ top: top,
890
+ width: width
891
+ };
892
+ };
806
893
 
807
894
  exports.arrayMove = arrayMove;
808
895
  exports.calculateGuidePositions = calculateGuidePositions;
@@ -818,10 +905,11 @@ exports.getAvailableCoordinate = getAvailableCoordinate;
818
905
  exports.getContainerPositions = getContainerPositions;
819
906
  exports.getCoordinatesFromMatches = getCoordinatesFromMatches;
820
907
  exports.getCorrectDroppedOffsetValue = getCorrectDroppedOffsetValue;
821
- exports.getCorrectDroppedOffsetValueBySnap = getCorrectDroppedOffsetValueBySnap;
908
+ exports.getDimensions = getDimensions;
822
909
  exports.getExactIconType = getExactIconType;
823
910
  exports.getFileName = getFileName;
824
911
  exports.getImageSizes = getImageSizes;
912
+ exports.getItemsInSelectionBox = getItemsInSelectionBox;
825
913
  exports.getMatchesForItem = getMatchesForItem;
826
914
  exports.getMostVisiblePage = getMostVisiblePage;
827
915
  exports.getPosition = getPosition;
@@ -833,6 +921,7 @@ exports.getTabsWithSettings = getTabsWithSettings;
833
921
  exports.getVisibleHeightPx = getVisibleHeightPx;
834
922
  exports.getZoomValue = getZoomValue;
835
923
  exports.imageSizeUpdater = imageSizeUpdater;
924
+ exports.isItemInSelectionBox = isItemInSelectionBox;
836
925
  exports.isSelectedItem = isSelectedItem;
837
926
  exports.isValidHexColor = isValidHexColor;
838
927
  exports.moveArrayItem = moveArrayItem;
@@ -842,6 +931,7 @@ exports.onChangeFunction = onChangeFunction;
842
931
  exports.openFullscreenHelper = openFullscreenHelper;
843
932
  exports.proximityListener = proximityListener;
844
933
  exports.roundForDecimalPart = roundForDecimalPart;
934
+ exports.roundPositionValues = roundPositionValues;
845
935
  exports.safeJSONParse = safeJSONParse;
846
936
  exports.scrollToTarget = scrollToTarget;
847
937
  exports.throttle = throttle;