@jotforminc/dnd-builder 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/index.d.ts +428 -0
- package/lib/cjs/assets/search.svg.js +5 -2
- package/lib/cjs/assets/search.svg.js.map +1 -1
- package/lib/cjs/assets/svg/all_slides.svg.js +9 -29
- package/lib/cjs/assets/svg/all_slides.svg.js.map +1 -1
- package/lib/cjs/assets/svg/close.svg.js +4 -2
- package/lib/cjs/assets/svg/close.svg.js.map +1 -1
- package/lib/cjs/assets/svg/customize.svg.js +4 -2
- package/lib/cjs/assets/svg/customize.svg.js.map +1 -1
- package/lib/cjs/assets/svg/duplicate.svg.js +5 -2
- package/lib/cjs/assets/svg/duplicate.svg.js.map +1 -1
- package/lib/cjs/assets/svg/fit_screen.svg.js +7 -7
- package/lib/cjs/assets/svg/heart_rating.svg.js +5 -3
- package/lib/cjs/assets/svg/heart_rating.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down-left.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down-left.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down-right.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down-right.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-down.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-left.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-left.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-right.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-right.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-up-left.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-up-left.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-up-right.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-arrow-up-right.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-down-circle.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-down-circle.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-left-circle.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-left-circle.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-right-circle.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-right-circle.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-up-circle.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-caret-up-circle.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-cloud.svg.js +2 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-download.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-download.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-eye.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-eye.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-folder.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-folder.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-heart.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-heart.svg.js.map +1 -1
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-home.svg.js +4 -2
- package/lib/cjs/assets/svg/icon-selector/jfc_icon_solid-home.svg.js.map +1 -1
- package/lib/cjs/assets/svg/minus.svg.js +6 -9
- package/lib/cjs/assets/svg/minus.svg.js.map +1 -1
- package/lib/cjs/assets/svg/page-actions/duplicate_line.svg.js +5 -2
- package/lib/cjs/assets/svg/page-actions/duplicate_line.svg.js.map +1 -1
- package/lib/cjs/assets/svg/page-actions/trash_line.svg.js +5 -2
- package/lib/cjs/assets/svg/page-actions/trash_line.svg.js.map +1 -1
- package/lib/cjs/assets/svg/page_settings.svg.js +4 -4
- package/lib/cjs/assets/svg/plus.svg.js +5 -2
- package/lib/cjs/assets/svg/plus.svg.js.map +1 -1
- package/lib/cjs/assets/svg/presentation/attachment.svg.js +4 -2
- package/lib/cjs/assets/svg/presentation/attachment.svg.js.map +1 -1
- package/lib/cjs/assets/svg/presentation/download.svg.js +5 -2
- package/lib/cjs/assets/svg/presentation/download.svg.js.map +1 -1
- package/lib/cjs/assets/svg/presentation/enter_fullscreen.svg.js +8 -12
- package/lib/cjs/assets/svg/presentation/enter_fullscreen.svg.js.map +1 -1
- package/lib/cjs/assets/svg/presentation/exit_fullscreen.svg.js +8 -12
- package/lib/cjs/assets/svg/presentation/exit_fullscreen.svg.js.map +1 -1
- package/lib/cjs/assets/svg/presentation/eye.svg.js +6 -5
- package/lib/cjs/assets/svg/presentation/eye.svg.js.map +1 -1
- package/lib/cjs/assets/svg/presentation/key.svg.js +5 -3
- package/lib/cjs/assets/svg/presentation/key.svg.js.map +1 -1
- package/lib/cjs/assets/svg/presentation/pause.svg.js +4 -2
- package/lib/cjs/assets/svg/presentation/pause.svg.js.map +1 -1
- package/lib/cjs/assets/svg/presentation/pen.svg.js +4 -2
- package/lib/cjs/assets/svg/presentation/pen.svg.js.map +1 -1
- package/lib/cjs/assets/svg/presentation/play.svg.js +5 -3
- package/lib/cjs/assets/svg/presentation/play.svg.js.map +1 -1
- package/lib/cjs/assets/svg/presentation/print.svg.js +5 -2
- package/lib/cjs/assets/svg/presentation/print.svg.js.map +1 -1
- package/lib/cjs/assets/svg/presentation/share.svg.js +5 -2
- package/lib/cjs/assets/svg/presentation/share.svg.js.map +1 -1
- package/lib/cjs/assets/svg/rotate.svg.js +5 -2
- package/lib/cjs/assets/svg/rotate.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings/align_center.svg.js +5 -2
- package/lib/cjs/assets/svg/settings/align_center.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings/align_left.svg.js +5 -2
- package/lib/cjs/assets/svg/settings/align_left.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings/align_right.svg.js +5 -2
- package/lib/cjs/assets/svg/settings/align_right.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings/drag.svg.js +7 -26
- package/lib/cjs/assets/svg/settings/drag.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings/ellipse.svg.js +6 -5
- package/lib/cjs/assets/svg/settings/ellipse.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings/font_bold.svg.js +5 -2
- package/lib/cjs/assets/svg/settings/font_bold.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings/font_italic.svg.js +5 -2
- package/lib/cjs/assets/svg/settings/font_italic.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings/font_underline.svg.js +5 -2
- package/lib/cjs/assets/svg/settings/font_underline.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings/line.svg.js +8 -10
- package/lib/cjs/assets/svg/settings/line.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings/lock.svg.js +5 -2
- package/lib/cjs/assets/svg/settings/lock.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings/rectangle.svg.js +6 -4
- package/lib/cjs/assets/svg/settings/rectangle.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings/star.svg.js +6 -4
- package/lib/cjs/assets/svg/settings/star.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings/triangle.svg.js +6 -4
- package/lib/cjs/assets/svg/settings/triangle.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings/unlock.svg.js +5 -2
- package/lib/cjs/assets/svg/settings/unlock.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings.svg.js +3 -2
- package/lib/cjs/assets/svg/settings.svg.js.map +1 -1
- package/lib/cjs/assets/svg/settings_toggle.svg.js +7 -5
- package/lib/cjs/assets/svg/settings_toggle.svg.js.map +1 -1
- package/lib/cjs/assets/svg/slides.svg.js +8 -14
- package/lib/cjs/assets/svg/slides.svg.js.map +1 -1
- package/lib/cjs/assets/svg/star_rating.svg.js +5 -2
- package/lib/cjs/assets/svg/star_rating.svg.js.map +1 -1
- package/lib/cjs/assets/svg/toolbox/email.svg.js +5 -2
- package/lib/cjs/assets/svg/toolbox/email.svg.js.map +1 -1
- package/lib/cjs/assets/svg/toolbox/header.svg.js +5 -2
- package/lib/cjs/assets/svg/toolbox/header.svg.js.map +1 -1
- package/lib/cjs/assets/svg/toolbox/icon.svg.js +6 -11
- package/lib/cjs/assets/svg/toolbox/icon.svg.js.map +1 -1
- package/lib/cjs/assets/svg/toolbox/image.svg.js +7 -7
- package/lib/cjs/assets/svg/toolbox/label.svg.js +4 -2
- package/lib/cjs/assets/svg/toolbox/label.svg.js.map +1 -1
- package/lib/cjs/assets/svg/toolbox/multiple_choice.svg.js +6 -5
- package/lib/cjs/assets/svg/toolbox/multiple_choice.svg.js.map +1 -1
- package/lib/cjs/assets/svg/toolbox/shapes.svg.js +7 -10
- package/lib/cjs/assets/svg/toolbox/shapes.svg.js.map +1 -1
- package/lib/cjs/assets/svg/toolbox/single_choice.svg.js +5 -2
- package/lib/cjs/assets/svg/toolbox/single_choice.svg.js.map +1 -1
- package/lib/cjs/assets/svg/toolbox/star.svg.js +5 -2
- package/lib/cjs/assets/svg/toolbox/star.svg.js.map +1 -1
- package/lib/cjs/assets/svg/toolbox/table.svg.js +5 -2
- package/lib/cjs/assets/svg/toolbox/table.svg.js.map +1 -1
- package/lib/cjs/assets/svg/toolbox/text.svg.js +5 -2
- package/lib/cjs/assets/svg/toolbox/text.svg.js.map +1 -1
- package/lib/cjs/assets/svg/toolbox/text_element.svg.js +5 -2
- package/lib/cjs/assets/svg/toolbox/text_element.svg.js.map +1 -1
- package/lib/cjs/assets/svg/trash.svg.js +5 -2
- package/lib/cjs/assets/svg/trash.svg.js.map +1 -1
- package/lib/cjs/components/AlignmentGuides.js +28 -18
- package/lib/cjs/components/AlignmentGuides.js.map +1 -1
- package/lib/cjs/components/Builder/ContextMenu.js +4 -1
- package/lib/cjs/components/Builder/ContextMenu.js.map +1 -1
- package/lib/cjs/components/Builder/DraggableLayer.js +40 -0
- package/lib/cjs/components/Builder/DraggableLayer.js.map +1 -0
- package/lib/cjs/components/Builder/Element.js +7 -3
- package/lib/cjs/components/Builder/Element.js.map +1 -1
- package/lib/cjs/components/Builder/Page.js +58 -65
- package/lib/cjs/components/Builder/Page.js.map +1 -1
- package/lib/cjs/components/Builder/Scene.js +33 -255
- package/lib/cjs/components/Builder/Scene.js.map +1 -1
- package/lib/cjs/components/Builder/SearchInput.js +3 -1
- package/lib/cjs/components/Builder/SearchInput.js.map +1 -1
- package/lib/cjs/components/Builder/SelectionBox.js +48 -0
- package/lib/cjs/components/Builder/SelectionBox.js.map +1 -0
- package/lib/cjs/components/DraggableItem/DraggableItem.js +78 -135
- package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItemActions.js +69 -29
- package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +96 -220
- package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
- package/lib/cjs/components/PageItemResizer.js +37 -43
- package/lib/cjs/components/PageItemResizer.js.map +1 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js +1 -3
- package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js +0 -6
- package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
- package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js +1 -4
- package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
- package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js +6 -7
- package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
- package/lib/cjs/components/Panels/RightPanel/RightPanel.js +7 -7
- package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
- package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js +9 -10
- package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +1 -3
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js +8 -6
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
- package/lib/cjs/components/ReportItemsWrapper.js +5 -11
- package/lib/cjs/components/ReportItemsWrapper.js.map +1 -1
- package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js +2 -4
- package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -1
- package/lib/cjs/components/Settings/PageLayer/LayerItem.js +12 -7
- package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
- package/lib/cjs/components/Settings/PageLayer/PageLayer.js +2 -4
- package/lib/cjs/components/Settings/PageLayer/PageLayer.js.map +1 -1
- package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +3 -8
- package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
- package/lib/cjs/constants/texts.js +0 -1
- package/lib/cjs/constants/texts.js.map +1 -1
- package/lib/cjs/contexts/BuilderContext.js +47 -23
- package/lib/cjs/contexts/BuilderContext.js.map +1 -1
- package/lib/cjs/styles/_jfDarkTheme.scss +0 -5
- package/lib/cjs/styles/_jfPrint.scss +0 -4
- package/lib/cjs/styles/_jfReportsPages.scss +12 -3
- package/lib/cjs/styles/_jfReportsSVG.scss +6 -6
- package/lib/cjs/styles/_jfSearchInput.scss +0 -2
- package/lib/cjs/utils/functions.js +129 -57
- package/lib/cjs/utils/functions.js.map +1 -1
- package/lib/cjs/utils/hooks.js +37 -0
- package/lib/cjs/utils/hooks.js.map +1 -1
- package/lib/cjs/utils/useKeyboardActions.js +263 -0
- package/lib/cjs/utils/useKeyboardActions.js.map +1 -0
- package/lib/cjs/utils/useMarqueeSelection.js +156 -0
- package/lib/cjs/utils/useMarqueeSelection.js.map +1 -0
- package/lib/esm/assets/search.svg.js +5 -2
- package/lib/esm/assets/search.svg.js.map +1 -1
- package/lib/esm/assets/svg/all_slides.svg.js +9 -29
- package/lib/esm/assets/svg/all_slides.svg.js.map +1 -1
- package/lib/esm/assets/svg/close.svg.js +4 -2
- package/lib/esm/assets/svg/close.svg.js.map +1 -1
- package/lib/esm/assets/svg/customize.svg.js +4 -2
- package/lib/esm/assets/svg/customize.svg.js.map +1 -1
- package/lib/esm/assets/svg/duplicate.svg.js +5 -2
- package/lib/esm/assets/svg/duplicate.svg.js.map +1 -1
- package/lib/esm/assets/svg/fit_screen.svg.js +7 -7
- package/lib/esm/assets/svg/heart_rating.svg.js +5 -3
- package/lib/esm/assets/svg/heart_rating.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down-left.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down-left.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down-right.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down-right.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-down.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-left.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-left.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-right.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-right.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-up-left.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-up-left.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-up-right.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-arrow-up-right.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-down-circle.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-down-circle.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-left-circle.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-left-circle.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-right-circle.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-right-circle.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-up-circle.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-caret-up-circle.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-cloud.svg.js +2 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-download.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-download.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-eye.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-eye.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-folder.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-folder.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-heart.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-heart.svg.js.map +1 -1
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-home.svg.js +4 -2
- package/lib/esm/assets/svg/icon-selector/jfc_icon_solid-home.svg.js.map +1 -1
- package/lib/esm/assets/svg/minus.svg.js +6 -9
- package/lib/esm/assets/svg/minus.svg.js.map +1 -1
- package/lib/esm/assets/svg/page-actions/duplicate_line.svg.js +5 -2
- package/lib/esm/assets/svg/page-actions/duplicate_line.svg.js.map +1 -1
- package/lib/esm/assets/svg/page-actions/trash_line.svg.js +5 -2
- package/lib/esm/assets/svg/page-actions/trash_line.svg.js.map +1 -1
- package/lib/esm/assets/svg/page_settings.svg.js +4 -4
- package/lib/esm/assets/svg/plus.svg.js +5 -2
- package/lib/esm/assets/svg/plus.svg.js.map +1 -1
- package/lib/esm/assets/svg/presentation/attachment.svg.js +4 -2
- package/lib/esm/assets/svg/presentation/attachment.svg.js.map +1 -1
- package/lib/esm/assets/svg/presentation/download.svg.js +5 -2
- package/lib/esm/assets/svg/presentation/download.svg.js.map +1 -1
- package/lib/esm/assets/svg/presentation/enter_fullscreen.svg.js +8 -12
- package/lib/esm/assets/svg/presentation/enter_fullscreen.svg.js.map +1 -1
- package/lib/esm/assets/svg/presentation/exit_fullscreen.svg.js +8 -12
- package/lib/esm/assets/svg/presentation/exit_fullscreen.svg.js.map +1 -1
- package/lib/esm/assets/svg/presentation/eye.svg.js +6 -5
- package/lib/esm/assets/svg/presentation/eye.svg.js.map +1 -1
- package/lib/esm/assets/svg/presentation/key.svg.js +5 -3
- package/lib/esm/assets/svg/presentation/key.svg.js.map +1 -1
- package/lib/esm/assets/svg/presentation/pause.svg.js +4 -2
- package/lib/esm/assets/svg/presentation/pause.svg.js.map +1 -1
- package/lib/esm/assets/svg/presentation/pen.svg.js +4 -2
- package/lib/esm/assets/svg/presentation/pen.svg.js.map +1 -1
- package/lib/esm/assets/svg/presentation/play.svg.js +5 -3
- package/lib/esm/assets/svg/presentation/play.svg.js.map +1 -1
- package/lib/esm/assets/svg/presentation/print.svg.js +5 -2
- package/lib/esm/assets/svg/presentation/print.svg.js.map +1 -1
- package/lib/esm/assets/svg/presentation/share.svg.js +5 -2
- package/lib/esm/assets/svg/presentation/share.svg.js.map +1 -1
- package/lib/esm/assets/svg/rotate.svg.js +5 -2
- package/lib/esm/assets/svg/rotate.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings/align_center.svg.js +5 -2
- package/lib/esm/assets/svg/settings/align_center.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings/align_left.svg.js +5 -2
- package/lib/esm/assets/svg/settings/align_left.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings/align_right.svg.js +5 -2
- package/lib/esm/assets/svg/settings/align_right.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings/drag.svg.js +7 -26
- package/lib/esm/assets/svg/settings/drag.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings/ellipse.svg.js +6 -5
- package/lib/esm/assets/svg/settings/ellipse.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings/font_bold.svg.js +5 -2
- package/lib/esm/assets/svg/settings/font_bold.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings/font_italic.svg.js +5 -2
- package/lib/esm/assets/svg/settings/font_italic.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings/font_underline.svg.js +5 -2
- package/lib/esm/assets/svg/settings/font_underline.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings/line.svg.js +8 -10
- package/lib/esm/assets/svg/settings/line.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings/lock.svg.js +5 -2
- package/lib/esm/assets/svg/settings/lock.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings/rectangle.svg.js +6 -4
- package/lib/esm/assets/svg/settings/rectangle.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings/star.svg.js +6 -4
- package/lib/esm/assets/svg/settings/star.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings/triangle.svg.js +6 -4
- package/lib/esm/assets/svg/settings/triangle.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings/unlock.svg.js +5 -2
- package/lib/esm/assets/svg/settings/unlock.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings.svg.js +3 -2
- package/lib/esm/assets/svg/settings.svg.js.map +1 -1
- package/lib/esm/assets/svg/settings_toggle.svg.js +7 -5
- package/lib/esm/assets/svg/settings_toggle.svg.js.map +1 -1
- package/lib/esm/assets/svg/slides.svg.js +8 -14
- package/lib/esm/assets/svg/slides.svg.js.map +1 -1
- package/lib/esm/assets/svg/star_rating.svg.js +5 -2
- package/lib/esm/assets/svg/star_rating.svg.js.map +1 -1
- package/lib/esm/assets/svg/toolbox/email.svg.js +5 -2
- package/lib/esm/assets/svg/toolbox/email.svg.js.map +1 -1
- package/lib/esm/assets/svg/toolbox/header.svg.js +5 -2
- package/lib/esm/assets/svg/toolbox/header.svg.js.map +1 -1
- package/lib/esm/assets/svg/toolbox/icon.svg.js +6 -11
- package/lib/esm/assets/svg/toolbox/icon.svg.js.map +1 -1
- package/lib/esm/assets/svg/toolbox/image.svg.js +7 -7
- package/lib/esm/assets/svg/toolbox/label.svg.js +4 -2
- package/lib/esm/assets/svg/toolbox/label.svg.js.map +1 -1
- package/lib/esm/assets/svg/toolbox/multiple_choice.svg.js +6 -5
- package/lib/esm/assets/svg/toolbox/multiple_choice.svg.js.map +1 -1
- package/lib/esm/assets/svg/toolbox/shapes.svg.js +7 -10
- package/lib/esm/assets/svg/toolbox/shapes.svg.js.map +1 -1
- package/lib/esm/assets/svg/toolbox/single_choice.svg.js +5 -2
- package/lib/esm/assets/svg/toolbox/single_choice.svg.js.map +1 -1
- package/lib/esm/assets/svg/toolbox/star.svg.js +5 -2
- package/lib/esm/assets/svg/toolbox/star.svg.js.map +1 -1
- package/lib/esm/assets/svg/toolbox/table.svg.js +5 -2
- package/lib/esm/assets/svg/toolbox/table.svg.js.map +1 -1
- package/lib/esm/assets/svg/toolbox/text.svg.js +5 -2
- package/lib/esm/assets/svg/toolbox/text.svg.js.map +1 -1
- package/lib/esm/assets/svg/toolbox/text_element.svg.js +5 -2
- package/lib/esm/assets/svg/toolbox/text_element.svg.js.map +1 -1
- package/lib/esm/assets/svg/trash.svg.js +5 -2
- package/lib/esm/assets/svg/trash.svg.js.map +1 -1
- package/lib/esm/components/AlignmentGuides.js +28 -18
- package/lib/esm/components/AlignmentGuides.js.map +1 -1
- package/lib/esm/components/Builder/ContextMenu.js +4 -1
- package/lib/esm/components/Builder/ContextMenu.js.map +1 -1
- package/lib/esm/components/Builder/DraggableLayer.js +34 -0
- package/lib/esm/components/Builder/DraggableLayer.js.map +1 -0
- package/lib/esm/components/Builder/Element.js +7 -3
- package/lib/esm/components/Builder/Element.js.map +1 -1
- package/lib/esm/components/Builder/Page.js +60 -67
- package/lib/esm/components/Builder/Page.js.map +1 -1
- package/lib/esm/components/Builder/Scene.js +35 -257
- package/lib/esm/components/Builder/Scene.js.map +1 -1
- package/lib/esm/components/Builder/SearchInput.js +3 -1
- package/lib/esm/components/Builder/SearchInput.js.map +1 -1
- package/lib/esm/components/Builder/SelectionBox.js +42 -0
- package/lib/esm/components/Builder/SelectionBox.js.map +1 -0
- package/lib/esm/components/DraggableItem/DraggableItem.js +80 -137
- package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItemActions.js +72 -28
- package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItemLayer.js +99 -222
- package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
- package/lib/esm/components/PageItemResizer.js +38 -44
- package/lib/esm/components/PageItemResizer.js.map +1 -1
- package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js +2 -4
- package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
- package/lib/esm/components/Panels/AllSlidesPanel/PageList.js +0 -6
- package/lib/esm/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
- package/lib/esm/components/Panels/LeftPanel/LeftPanel.js +3 -6
- package/lib/esm/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
- package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js +6 -7
- package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
- package/lib/esm/components/Panels/RightPanel/RightPanel.js +7 -7
- package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
- package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js +9 -10
- package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +2 -4
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js +8 -6
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
- package/lib/esm/components/ReportItemsWrapper.js +5 -11
- package/lib/esm/components/ReportItemsWrapper.js.map +1 -1
- package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js +2 -4
- package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -1
- package/lib/esm/components/Settings/PageLayer/LayerItem.js +12 -7
- package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
- package/lib/esm/components/Settings/PageLayer/PageLayer.js +2 -4
- package/lib/esm/components/Settings/PageLayer/PageLayer.js.map +1 -1
- package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +3 -8
- package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
- package/lib/esm/constants/texts.js +0 -1
- package/lib/esm/constants/texts.js.map +1 -1
- package/lib/esm/contexts/BuilderContext.js +47 -23
- package/lib/esm/contexts/BuilderContext.js.map +1 -1
- package/lib/esm/styles/_jfDarkTheme.scss +0 -5
- package/lib/esm/styles/_jfPrint.scss +0 -4
- package/lib/esm/styles/_jfReportsPages.scss +12 -3
- package/lib/esm/styles/_jfReportsSVG.scss +6 -6
- package/lib/esm/styles/_jfSearchInput.scss +0 -2
- package/lib/esm/utils/functions.js +126 -56
- package/lib/esm/utils/functions.js.map +1 -1
- package/lib/esm/utils/hooks.js +37 -1
- package/lib/esm/utils/hooks.js.map +1 -1
- package/lib/esm/utils/useKeyboardActions.js +261 -0
- package/lib/esm/utils/useKeyboardActions.js.map +1 -0
- package/lib/esm/utils/useMarqueeSelection.js +154 -0
- package/lib/esm/utils/useMarqueeSelection.js.map +1 -0
- package/package.json +11 -7
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('core-js/modules/es.array.find.js');
|
|
4
|
+
require('core-js/modules/es.array.find-index.js');
|
|
5
|
+
require('core-js/modules/es.array.includes.js');
|
|
6
|
+
require('core-js/modules/web.dom-collections.for-each.js');
|
|
7
|
+
var React = require('react');
|
|
8
|
+
var BuilderContext = require('../contexts/BuilderContext.js');
|
|
9
|
+
var PropContext = require('../contexts/PropContext.js');
|
|
10
|
+
var functions = require('./functions.js');
|
|
11
|
+
var hooks = require('./hooks.js');
|
|
12
|
+
var eventIgnoredRoles = require('../constants/eventIgnoredRoles.js');
|
|
13
|
+
var generateId = require('./generateId.js');
|
|
14
|
+
|
|
15
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
16
|
+
|
|
17
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
18
|
+
|
|
19
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
20
|
+
|
|
21
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
22
|
+
|
|
23
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
24
|
+
|
|
25
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
26
|
+
|
|
27
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
28
|
+
|
|
29
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
30
|
+
|
|
31
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
32
|
+
|
|
33
|
+
var useKeyboardActions = function useKeyboardActions() {
|
|
34
|
+
var _useState = React.useState(null),
|
|
35
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
+
itemToPaste = _useState2[0],
|
|
37
|
+
setItemToPaste = _useState2[1];
|
|
38
|
+
|
|
39
|
+
var keyDownCount = React.useRef(null);
|
|
40
|
+
var activeElements = BuilderContext.useBuilderStore(function (state) {
|
|
41
|
+
return state.activeElements;
|
|
42
|
+
});
|
|
43
|
+
var isRightPanelOpen = BuilderContext.useBuilderStore(function (state) {
|
|
44
|
+
return state.isRightPanelOpen;
|
|
45
|
+
});
|
|
46
|
+
var setActiveElements = BuilderContext.useBuilderStore(function (state) {
|
|
47
|
+
return state.setActiveElements;
|
|
48
|
+
});
|
|
49
|
+
var setIsRightPanelOpen = BuilderContext.useBuilderStore(function (state) {
|
|
50
|
+
return state.setIsRightPanelOpen;
|
|
51
|
+
});
|
|
52
|
+
var resetActiveElements = BuilderContext.useBuilderStore(function (state) {
|
|
53
|
+
return state.resetActiveElements;
|
|
54
|
+
});
|
|
55
|
+
var pages = PropContext.usePropStore(function (state) {
|
|
56
|
+
return state.pages;
|
|
57
|
+
});
|
|
58
|
+
var onItemAdd = PropContext.usePropStore(function (state) {
|
|
59
|
+
return state.onItemAdd;
|
|
60
|
+
});
|
|
61
|
+
var onItemRemove = PropContext.usePropStore(function (state) {
|
|
62
|
+
return state.onItemRemove;
|
|
63
|
+
});
|
|
64
|
+
var onItemChange = PropContext.usePropStore(function (state) {
|
|
65
|
+
return state.onItemChange;
|
|
66
|
+
});
|
|
67
|
+
var onAnEventTrigger = PropContext.usePropStore(function (state) {
|
|
68
|
+
return state.onAnEventTrigger;
|
|
69
|
+
});
|
|
70
|
+
var isMultipleItemSelected = activeElements.length > 1;
|
|
71
|
+
var foundItem = functions.findItemById(activeElements.length ? activeElements[0] : null, pages);
|
|
72
|
+
var selectedItems = hooks.useSelectedElements();
|
|
73
|
+
|
|
74
|
+
var moveItemWithKeyboard = function moveItemWithKeyboard(event, direction, value) {
|
|
75
|
+
event.preventDefault();
|
|
76
|
+
selectedItems.forEach(function (item) {
|
|
77
|
+
var _objectSpread2;
|
|
78
|
+
|
|
79
|
+
if (item.isLocked) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
onItemChange({
|
|
84
|
+
id: item.id
|
|
85
|
+
}, _objectSpread(_objectSpread({}, functions.getDimensions(item)), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, direction, item[direction] + value), _defineProperty(_objectSpread2, "pageID", item.pageID), _objectSpread2)));
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
var selectNextOrPrevElement = function selectNextOrPrevElement(event, deletedItem) {
|
|
90
|
+
if (event.preventDefault) event.preventDefault();
|
|
91
|
+
var referenceItem = deletedItem ? deletedItem : foundItem;
|
|
92
|
+
var page = pages.find(function (_page) {
|
|
93
|
+
return _page.id === referenceItem.pageID;
|
|
94
|
+
});
|
|
95
|
+
if (!page || page && !page.items.length) return resetActiveElements();
|
|
96
|
+
var items = page.items;
|
|
97
|
+
var currentIndex = items.findIndex(function (item) {
|
|
98
|
+
return item.id === referenceItem.id;
|
|
99
|
+
}); // Pages are not updated in time so here is an unnecessary check
|
|
100
|
+
|
|
101
|
+
if (items.length === 1 && deletedItem) {
|
|
102
|
+
return resetActiveElements();
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (event.shiftKey) {
|
|
106
|
+
if (items[currentIndex - 1]) setActiveElements(items[currentIndex - 1].id);else setActiveElements(items[items.length - 1].id);
|
|
107
|
+
} else if (items[currentIndex + 1]) {
|
|
108
|
+
setActiveElements(items[currentIndex + 1].id);
|
|
109
|
+
} else setActiveElements(items[0].id);
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
var onItemRemoveFromPage = function onItemRemoveFromPage(e) {
|
|
113
|
+
// Firefox updates browser history on backspace
|
|
114
|
+
e.preventDefault();
|
|
115
|
+
if (isMultipleItemSelected) return;
|
|
116
|
+
|
|
117
|
+
if (foundItem.isLocked) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
resetActiveElements();
|
|
122
|
+
onItemRemove(foundItem);
|
|
123
|
+
selectNextOrPrevElement({
|
|
124
|
+
shiftKey: false
|
|
125
|
+
}, foundItem);
|
|
126
|
+
onAnEventTrigger('removeItem', foundItem.itemType);
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
var handlePaste = function handlePaste() {
|
|
130
|
+
if (isMultipleItemSelected) return;
|
|
131
|
+
var itemID = generateId();
|
|
132
|
+
var pageID = functions.getMostVisiblePage(true);
|
|
133
|
+
var offset = itemToPaste.pageID === pageID ? 50 : 0;
|
|
134
|
+
|
|
135
|
+
var item = _objectSpread(_objectSpread({}, itemToPaste), {}, {
|
|
136
|
+
id: itemID,
|
|
137
|
+
left: itemToPaste.left + offset,
|
|
138
|
+
pageID: pageID,
|
|
139
|
+
top: itemToPaste.top + offset
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
onItemAdd(item);
|
|
143
|
+
onAnEventTrigger('pasteItem', itemToPaste.itemType);
|
|
144
|
+
setActiveElements(itemID); // set as last reference to paste
|
|
145
|
+
|
|
146
|
+
setItemToPaste(item);
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
var keyboardActions = function keyboardActions(event) {
|
|
150
|
+
var key = event.key,
|
|
151
|
+
metaKey = event.metaKey,
|
|
152
|
+
shiftKey = event.shiftKey;
|
|
153
|
+
|
|
154
|
+
if (metaKey) {
|
|
155
|
+
if (key === 'l') {
|
|
156
|
+
// Lock
|
|
157
|
+
if (isMultipleItemSelected) return;
|
|
158
|
+
event.preventDefault(); // Dont focus to URL bar
|
|
159
|
+
|
|
160
|
+
onAnEventTrigger(foundItem.isLocked ? 'unlockReportItem' : 'lockReportItem', foundItem.itemType);
|
|
161
|
+
onItemChange({
|
|
162
|
+
id: foundItem.id
|
|
163
|
+
}, {
|
|
164
|
+
isLocked: foundItem.isLocked ? false : true
|
|
165
|
+
});
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
if (key === 'c' || key === 'x') {
|
|
170
|
+
if (isMultipleItemSelected) return; // Copy or Cut
|
|
171
|
+
|
|
172
|
+
if (key === 'x') {
|
|
173
|
+
onItemRemoveFromPage(event);
|
|
174
|
+
onAnEventTrigger('cutItem', foundItem.itemType);
|
|
175
|
+
} else {
|
|
176
|
+
onAnEventTrigger('copyItem', foundItem.itemType);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
setItemToPaste(foundItem);
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
if (foundItem && key === 'd') {
|
|
184
|
+
if (isMultipleItemSelected) return; // Duplicate
|
|
185
|
+
|
|
186
|
+
event.preventDefault();
|
|
187
|
+
var itemID = generateId();
|
|
188
|
+
onItemAdd(_objectSpread(_objectSpread({}, foundItem), {}, {
|
|
189
|
+
id: itemID,
|
|
190
|
+
left: foundItem.left + 50,
|
|
191
|
+
top: foundItem.top + 50
|
|
192
|
+
}));
|
|
193
|
+
onAnEventTrigger('duplicateItem', foundItem.itemType);
|
|
194
|
+
setActiveElements(itemID);
|
|
195
|
+
|
|
196
|
+
if (!isRightPanelOpen) {
|
|
197
|
+
setIsRightPanelOpen(true);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
keyDownCount.current++;
|
|
205
|
+
var movementValue = shiftKey ? 10 : 1 + keyDownCount.current; // Others
|
|
206
|
+
|
|
207
|
+
switch (key) {
|
|
208
|
+
case 'Backspace':
|
|
209
|
+
return onItemRemoveFromPage(event);
|
|
210
|
+
|
|
211
|
+
case 'Delete':
|
|
212
|
+
return onItemRemoveFromPage(event);
|
|
213
|
+
|
|
214
|
+
case 'Escape':
|
|
215
|
+
return resetActiveElements();
|
|
216
|
+
|
|
217
|
+
case 'ArrowLeft':
|
|
218
|
+
return moveItemWithKeyboard(event, 'left', -movementValue);
|
|
219
|
+
|
|
220
|
+
case 'ArrowUp':
|
|
221
|
+
return moveItemWithKeyboard(event, 'top', -movementValue);
|
|
222
|
+
|
|
223
|
+
case 'ArrowRight':
|
|
224
|
+
return moveItemWithKeyboard(event, 'left', movementValue);
|
|
225
|
+
|
|
226
|
+
case 'ArrowDown':
|
|
227
|
+
return moveItemWithKeyboard(event, 'top', movementValue);
|
|
228
|
+
|
|
229
|
+
case 'Tab':
|
|
230
|
+
return selectNextOrPrevElement(event);
|
|
231
|
+
}
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
var shouldSuppressKeyboardEvent = function shouldSuppressKeyboardEvent(e) {
|
|
235
|
+
return eventIgnoredRoles.EVENT_IGNORED_ROLES.some(function (role) {
|
|
236
|
+
return e.target.closest("[role=".concat(role, "]"));
|
|
237
|
+
});
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
var handleKeyboardEvent = function handleKeyboardEvent(e) {
|
|
241
|
+
var shouldPaste = itemToPaste && e.key === 'v' && e.metaKey;
|
|
242
|
+
|
|
243
|
+
if (shouldSuppressKeyboardEvent(e)) {
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
if (activeElements.length && !shouldPaste) {
|
|
248
|
+
var arrowKeyCodes = ['ArrowLeft', 'ArrowUp', 'ArrowDown', 'ArrowBottom'];
|
|
249
|
+
if (arrowKeyCodes.includes(e.key)) e.preventDefault();
|
|
250
|
+
keyboardActions(e);
|
|
251
|
+
} else if (shouldPaste) {
|
|
252
|
+
handlePaste();
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
hooks.useEventListener('keydown', handleKeyboardEvent);
|
|
257
|
+
hooks.useEventListener('keyup', function () {
|
|
258
|
+
keyDownCount.current = 0;
|
|
259
|
+
});
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
module.exports = useKeyboardActions;
|
|
263
|
+
//# sourceMappingURL=useKeyboardActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyboardActions.js","sources":["../../../src/utils/useKeyboardActions.js"],"sourcesContent":["/* eslint-disable complexity */\nimport { useRef, useState } from 'react';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { usePropStore } from '../contexts/PropContext';\nimport { findItemById, getDimensions, getMostVisiblePage } from './functions';\nimport { useEventListener, useSelectedElements } from './hooks';\nimport { EVENT_IGNORED_ROLES } from '../constants/eventIgnoredRoles';\nimport generateId from './generateId';\n\nconst useKeyboardActions = () => {\n const [itemToPaste, setItemToPaste] = useState(null);\n const keyDownCount = useRef(null);\n\n const activeElements = useBuilderStore(state => state.activeElements);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const setActiveElements = useBuilderStore(state => state.setActiveElements);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n\n const pages = usePropStore(state => state.pages);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const isMultipleItemSelected = activeElements.length > 1;\n\n const foundItem = findItemById(activeElements.length ? activeElements[0] : null, pages);\n\n const selectedItems = useSelectedElements();\n const moveItemWithKeyboard = (event, direction, value) => {\n event.preventDefault();\n selectedItems.forEach(item => {\n if (item.isLocked) {\n return false;\n }\n onItemChange(\n { id: item.id },\n {\n ...getDimensions(item),\n [direction]: item[direction] + value,\n pageID: item.pageID,\n },\n );\n });\n };\n\n const selectNextOrPrevElement = (event, deletedItem) => {\n if (event.preventDefault) event.preventDefault();\n const referenceItem = deletedItem ? deletedItem : foundItem;\n\n const page = pages.find(_page => _page.id === referenceItem.pageID);\n if (!page || (page && !page.items.length)) return resetActiveElements();\n const { items } = page;\n\n const currentIndex = items.findIndex(item => item.id === referenceItem.id);\n\n // Pages are not updated in time so here is an unnecessary check\n if (items.length === 1 && deletedItem) {\n return resetActiveElements();\n }\n\n if (event.shiftKey) {\n if (items[currentIndex - 1]) setActiveElements(items[currentIndex - 1].id);\n else setActiveElements(items[items.length - 1].id);\n } else if (items[currentIndex + 1]) {\n setActiveElements(items[currentIndex + 1].id);\n } else setActiveElements(items[0].id);\n };\n\n const onItemRemoveFromPage = e => {\n // Firefox updates browser history on backspace\n e.preventDefault();\n if (isMultipleItemSelected) return;\n if (foundItem.isLocked) {\n return false;\n }\n resetActiveElements();\n onItemRemove(foundItem);\n selectNextOrPrevElement({ shiftKey: false }, foundItem);\n onAnEventTrigger('removeItem', foundItem.itemType);\n };\n\n const handlePaste = () => {\n if (isMultipleItemSelected) return;\n const itemID = generateId();\n const pageID = getMostVisiblePage(true);\n const offset = itemToPaste.pageID === pageID ? 50 : 0;\n\n const item = {\n ...itemToPaste,\n id: itemID,\n left: itemToPaste.left + offset,\n pageID,\n top: itemToPaste.top + offset,\n };\n\n onItemAdd(item);\n\n onAnEventTrigger('pasteItem', itemToPaste.itemType);\n setActiveElements(itemID);\n // set as last reference to paste\n setItemToPaste(item);\n };\n\n const keyboardActions = event => {\n const {\n key,\n metaKey,\n shiftKey,\n } = event;\n\n if (metaKey) {\n if (key === 'l') {\n // Lock\n if (isMultipleItemSelected) return;\n event.preventDefault(); // Dont focus to URL bar\n onAnEventTrigger(\n foundItem.isLocked ? 'unlockReportItem' : 'lockReportItem',\n foundItem.itemType,\n );\n onItemChange(\n { id: foundItem.id },\n { isLocked: foundItem.isLocked ? false : true },\n );\n return;\n }\n\n if (key === 'c' || key === 'x') {\n if (isMultipleItemSelected) return;\n // Copy or Cut\n if (key === 'x') {\n onItemRemoveFromPage(event);\n onAnEventTrigger('cutItem', foundItem.itemType);\n } else {\n onAnEventTrigger('copyItem', foundItem.itemType);\n }\n\n setItemToPaste(foundItem);\n return;\n }\n\n if (foundItem && key === 'd') {\n if (isMultipleItemSelected) return;\n // Duplicate\n event.preventDefault();\n const itemID = generateId();\n onItemAdd({\n ...foundItem,\n id: itemID,\n left: foundItem.left + 50,\n top: foundItem.top + 50,\n });\n onAnEventTrigger('duplicateItem', foundItem.itemType);\n setActiveElements(itemID);\n if (!isRightPanelOpen) {\n setIsRightPanelOpen(true);\n }\n return;\n }\n }\n\n keyDownCount.current++;\n const movementValue = shiftKey ? 10 : 1 + keyDownCount.current;\n\n // Others\n switch (key) {\n case 'Backspace': return onItemRemoveFromPage(event);\n case 'Delete': return onItemRemoveFromPage(event);\n case 'Escape': return resetActiveElements();\n case 'ArrowLeft': return moveItemWithKeyboard(event, 'left', -movementValue);\n case 'ArrowUp': return moveItemWithKeyboard(event, 'top', -movementValue);\n case 'ArrowRight': return moveItemWithKeyboard(event, 'left', movementValue);\n case 'ArrowDown': return moveItemWithKeyboard(event, 'top', movementValue);\n case 'Tab': return selectNextOrPrevElement(event);\n default:\n }\n };\n\n const shouldSuppressKeyboardEvent = e => (\n EVENT_IGNORED_ROLES.some(role => e.target.closest(`[role=${role}]`))\n );\n\n const handleKeyboardEvent = e => {\n const shouldPaste = itemToPaste && e.key === 'v' && e.metaKey;\n\n if (shouldSuppressKeyboardEvent(e)) {\n return;\n }\n\n if (activeElements.length && !shouldPaste) {\n const arrowKeyCodes = ['ArrowLeft', 'ArrowUp', 'ArrowDown', 'ArrowBottom'];\n if (arrowKeyCodes.includes(e.key)) e.preventDefault();\n keyboardActions(e);\n } else if (shouldPaste) {\n handlePaste();\n }\n };\n\n useEventListener('keydown', handleKeyboardEvent);\n useEventListener('keyup', () => { keyDownCount.current = 0; });\n};\n\nexport default useKeyboardActions;\n"],"names":["useKeyboardActions","useState","itemToPaste","setItemToPaste","keyDownCount","useRef","activeElements","useBuilderStore","state","isRightPanelOpen","setActiveElements","setIsRightPanelOpen","resetActiveElements","pages","usePropStore","onItemAdd","onItemRemove","onItemChange","onAnEventTrigger","isMultipleItemSelected","length","foundItem","findItemById","selectedItems","useSelectedElements","moveItemWithKeyboard","event","direction","value","preventDefault","forEach","item","isLocked","id","getDimensions","pageID","selectNextOrPrevElement","deletedItem","referenceItem","page","find","_page","items","currentIndex","findIndex","shiftKey","onItemRemoveFromPage","e","itemType","handlePaste","itemID","generateId","getMostVisiblePage","offset","left","top","keyboardActions","key","metaKey","current","movementValue","shouldSuppressKeyboardEvent","EVENT_IGNORED_ROLES","some","role","target","closest","handleKeyboardEvent","shouldPaste","arrowKeyCodes","includes","useEventListener"],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('core-js/modules/es.array.find.js');
|
|
4
|
+
require('core-js/modules/es.regexp.exec.js');
|
|
5
|
+
require('core-js/modules/es.string.replace.js');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var BuilderContext = require('../contexts/BuilderContext.js');
|
|
8
|
+
var PropContext = require('../contexts/PropContext.js');
|
|
9
|
+
var functions = require('./functions.js');
|
|
10
|
+
|
|
11
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
12
|
+
|
|
13
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
14
|
+
|
|
15
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
16
|
+
|
|
17
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
18
|
+
|
|
19
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
20
|
+
|
|
21
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
22
|
+
var EXCLUDED_SELECTORS = ['.reportItem', '.reportItemWrapper', '.pageActions', '.jfReport-addSlide', '[role="button"]', 'button', '.contextMenu', '.reportItemResizer-wrapper'];
|
|
23
|
+
|
|
24
|
+
var useMarqueeSelection = function useMarqueeSelection(canvasRef) {
|
|
25
|
+
var _useState = React.useState(false),
|
|
26
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
27
|
+
isSelecting = _useState2[0],
|
|
28
|
+
setIsSelecting = _useState2[1];
|
|
29
|
+
|
|
30
|
+
var _useState3 = React.useState(null),
|
|
31
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
32
|
+
selectionBox = _useState4[0],
|
|
33
|
+
setSelectionBox = _useState4[1];
|
|
34
|
+
|
|
35
|
+
var _useState5 = React.useState(null),
|
|
36
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
37
|
+
selectionPageId = _useState6[0],
|
|
38
|
+
setSelectionPageId = _useState6[1];
|
|
39
|
+
|
|
40
|
+
var selectionStartRef = React.useRef(null);
|
|
41
|
+
var pages = PropContext.usePropStore(function (state) {
|
|
42
|
+
return state.pages;
|
|
43
|
+
});
|
|
44
|
+
var zoom = BuilderContext.useBuilderStore(function (state) {
|
|
45
|
+
return state.zoom;
|
|
46
|
+
});
|
|
47
|
+
var resetActiveElements = BuilderContext.useBuilderStore(function (state) {
|
|
48
|
+
return state.resetActiveElements;
|
|
49
|
+
});
|
|
50
|
+
var setActiveElementsSelection = BuilderContext.useBuilderStore(function (state) {
|
|
51
|
+
return state.setActiveElementsSelection;
|
|
52
|
+
});
|
|
53
|
+
var handleMouseDown = React.useCallback(function (e) {
|
|
54
|
+
if (e.button !== 0) return;
|
|
55
|
+
var target = e.target; // Don't start selection if clicking on an interactive element
|
|
56
|
+
|
|
57
|
+
if (EXCLUDED_SELECTORS.some(function (selector) {
|
|
58
|
+
return target.closest(selector);
|
|
59
|
+
})) {
|
|
60
|
+
return;
|
|
61
|
+
} // Find the page element from the click target
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
var pageElement = target.closest('.jfReport-page') || target.closest('[id*="presentation-page-"]');
|
|
65
|
+
if (!pageElement) return;
|
|
66
|
+
var pageId = pageElement.getAttribute('data-id') || pageElement.getAttribute('id').replace('presentation-page-', '');
|
|
67
|
+
if (!pageId) return;
|
|
68
|
+
e.preventDefault();
|
|
69
|
+
var pageRect = pageElement.getBoundingClientRect();
|
|
70
|
+
var startX = e.clientX - pageRect.left;
|
|
71
|
+
var startY = e.clientY - pageRect.top;
|
|
72
|
+
selectionStartRef.current = {
|
|
73
|
+
pageRect: pageRect,
|
|
74
|
+
startX: startX,
|
|
75
|
+
startY: startY
|
|
76
|
+
};
|
|
77
|
+
setSelectionPageId(pageId);
|
|
78
|
+
setSelectionBox({
|
|
79
|
+
endX: startX,
|
|
80
|
+
endY: startY,
|
|
81
|
+
startX: startX,
|
|
82
|
+
startY: startY
|
|
83
|
+
});
|
|
84
|
+
setIsSelecting(true);
|
|
85
|
+
resetActiveElements();
|
|
86
|
+
}, [resetActiveElements]);
|
|
87
|
+
var handleMouseMove = React.useCallback(function (e) {
|
|
88
|
+
if (!isSelecting || !selectionStartRef.current) return;
|
|
89
|
+
var _selectionStartRef$cu = selectionStartRef.current,
|
|
90
|
+
pageRect = _selectionStartRef$cu.pageRect,
|
|
91
|
+
startX = _selectionStartRef$cu.startX,
|
|
92
|
+
startY = _selectionStartRef$cu.startY;
|
|
93
|
+
var endX = Math.max(0, Math.min(e.clientX - pageRect.left, pageRect.width));
|
|
94
|
+
var endY = Math.max(0, Math.min(e.clientY - pageRect.top, pageRect.height));
|
|
95
|
+
setSelectionBox({
|
|
96
|
+
endX: endX,
|
|
97
|
+
endY: endY,
|
|
98
|
+
startX: startX,
|
|
99
|
+
startY: startY
|
|
100
|
+
});
|
|
101
|
+
}, [isSelecting]);
|
|
102
|
+
var handleMouseUp = React.useCallback(function () {
|
|
103
|
+
if (!isSelecting || !selectionBox || !selectionPageId) {
|
|
104
|
+
setIsSelecting(false);
|
|
105
|
+
setSelectionBox(null);
|
|
106
|
+
selectionStartRef.current = null;
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
var page = pages.find(function (p) {
|
|
111
|
+
return p.id === selectionPageId;
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
if (page !== null && page !== void 0 && page.items) {
|
|
115
|
+
var selectedItemIds = functions.getItemsInSelectionBox(selectionBox, page.items, zoom);
|
|
116
|
+
|
|
117
|
+
if (selectedItemIds.length > 0) {
|
|
118
|
+
setActiveElementsSelection(selectedItemIds);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
setIsSelecting(false);
|
|
123
|
+
setSelectionBox(null);
|
|
124
|
+
setSelectionPageId(null);
|
|
125
|
+
selectionStartRef.current = null;
|
|
126
|
+
}, [isSelecting, selectionBox, selectionPageId, pages, zoom, setActiveElementsSelection]); // Canvas mouse down listener
|
|
127
|
+
|
|
128
|
+
React.useEffect(function () {
|
|
129
|
+
var canvas = canvasRef === null || canvasRef === void 0 ? void 0 : canvasRef.current;
|
|
130
|
+
if (!canvas) return;
|
|
131
|
+
canvas.addEventListener('mousedown', handleMouseDown);
|
|
132
|
+
return function () {
|
|
133
|
+
return canvas.removeEventListener('mousedown', handleMouseDown);
|
|
134
|
+
};
|
|
135
|
+
}, [canvasRef, handleMouseDown]); // Global mouse event listeners for drag
|
|
136
|
+
|
|
137
|
+
React.useEffect(function () {
|
|
138
|
+
if (!isSelecting) return;
|
|
139
|
+
document.body.style.cursor = 'crosshair';
|
|
140
|
+
document.addEventListener('mousemove', handleMouseMove);
|
|
141
|
+
document.addEventListener('mouseup', handleMouseUp);
|
|
142
|
+
return function () {
|
|
143
|
+
document.body.style.cursor = '';
|
|
144
|
+
document.removeEventListener('mousemove', handleMouseMove);
|
|
145
|
+
document.removeEventListener('mouseup', handleMouseUp);
|
|
146
|
+
};
|
|
147
|
+
}, [isSelecting, handleMouseMove, handleMouseUp]);
|
|
148
|
+
return {
|
|
149
|
+
isSelecting: isSelecting,
|
|
150
|
+
selectionBox: selectionBox,
|
|
151
|
+
selectionPageId: selectionPageId
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
module.exports = useMarqueeSelection;
|
|
156
|
+
//# sourceMappingURL=useMarqueeSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMarqueeSelection.js","sources":["../../../src/utils/useMarqueeSelection.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { usePropStore } from '../contexts/PropContext';\nimport { getItemsInSelectionBox } from './functions';\n\nconst EXCLUDED_SELECTORS = [\n '.reportItem',\n '.reportItemWrapper',\n '.pageActions',\n '.jfReport-addSlide',\n '[role=\"button\"]',\n 'button',\n '.contextMenu',\n '.reportItemResizer-wrapper',\n];\n\nconst useMarqueeSelection = canvasRef => {\n const [isSelecting, setIsSelecting] = useState(false);\n const [selectionBox, setSelectionBox] = useState(null);\n const [selectionPageId, setSelectionPageId] = useState(null);\n const selectionStartRef = useRef(null);\n\n const pages = usePropStore(state => state.pages);\n const zoom = useBuilderStore(state => state.zoom);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setActiveElementsSelection = useBuilderStore(state => state.setActiveElementsSelection);\n\n const handleMouseDown = useCallback(e => {\n if (e.button !== 0) return;\n\n const { target } = e;\n\n // Don't start selection if clicking on an interactive element\n if (EXCLUDED_SELECTORS.some(selector => target.closest(selector))) {\n return;\n }\n\n // Find the page element from the click target\n const pageElement = target.closest('.jfReport-page')\n || target.closest('[id*=\"presentation-page-\"]');\n if (!pageElement) return;\n\n const pageId = pageElement.getAttribute('data-id')\n || pageElement.getAttribute('id').replace('presentation-page-', '');\n if (!pageId) return;\n\n e.preventDefault();\n\n const pageRect = pageElement.getBoundingClientRect();\n const startX = e.clientX - pageRect.left;\n const startY = e.clientY - pageRect.top;\n\n selectionStartRef.current = { pageRect, startX, startY };\n setSelectionPageId(pageId);\n setSelectionBox({\n endX: startX,\n endY: startY,\n startX,\n startY,\n });\n setIsSelecting(true);\n resetActiveElements();\n }, [resetActiveElements]);\n\n const handleMouseMove = useCallback(e => {\n if (!isSelecting || !selectionStartRef.current) return;\n\n const { pageRect, startX, startY } = selectionStartRef.current;\n const endX = Math.max(0, Math.min(e.clientX - pageRect.left, pageRect.width));\n const endY = Math.max(0, Math.min(e.clientY - pageRect.top, pageRect.height));\n\n setSelectionBox({\n endX,\n endY,\n startX,\n startY,\n });\n }, [isSelecting]);\n\n const handleMouseUp = useCallback(() => {\n if (!isSelecting || !selectionBox || !selectionPageId) {\n setIsSelecting(false);\n setSelectionBox(null);\n selectionStartRef.current = null;\n return;\n }\n\n const page = pages.find(p => p.id === selectionPageId);\n\n if (page?.items) {\n const selectedItemIds = getItemsInSelectionBox(selectionBox, page.items, zoom);\n if (selectedItemIds.length > 0) {\n setActiveElementsSelection(selectedItemIds);\n }\n }\n\n setIsSelecting(false);\n setSelectionBox(null);\n setSelectionPageId(null);\n selectionStartRef.current = null;\n }, [isSelecting, selectionBox, selectionPageId, pages, zoom, setActiveElementsSelection]);\n\n // Canvas mouse down listener\n useEffect(() => {\n const canvas = canvasRef?.current;\n if (!canvas) return;\n\n canvas.addEventListener('mousedown', handleMouseDown);\n return () => canvas.removeEventListener('mousedown', handleMouseDown);\n }, [canvasRef, handleMouseDown]);\n\n // Global mouse event listeners for drag\n useEffect(() => {\n if (!isSelecting) return;\n\n document.body.style.cursor = 'crosshair';\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n\n return () => {\n document.body.style.cursor = '';\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [isSelecting, handleMouseMove, handleMouseUp]);\n\n return {\n isSelecting,\n selectionBox,\n selectionPageId,\n };\n};\n\nexport default useMarqueeSelection;\n"],"names":["EXCLUDED_SELECTORS","useMarqueeSelection","canvasRef","useState","isSelecting","setIsSelecting","selectionBox","setSelectionBox","selectionPageId","setSelectionPageId","selectionStartRef","useRef","pages","usePropStore","state","zoom","useBuilderStore","resetActiveElements","setActiveElementsSelection","handleMouseDown","useCallback","e","button","target","some","selector","closest","pageElement","pageId","getAttribute","replace","preventDefault","pageRect","getBoundingClientRect","startX","clientX","left","startY","clientY","top","current","endX","endY","handleMouseMove","Math","max","min","width","height","handleMouseUp","page","find","p","id","items","selectedItemIds","getItemsInSelectionBox","length","useEffect","canvas","addEventListener","removeEventListener","document","body","style","cursor"],"mappings":"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"}
|
|
@@ -7,10 +7,13 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
7
7
|
function SvgSearch(props) {
|
|
8
8
|
return /*#__PURE__*/createElement("svg", _extends({
|
|
9
9
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
-
|
|
10
|
+
fill: "currentColor",
|
|
11
|
+
viewBox: "0 0 24 24"
|
|
11
12
|
}, props), _path || (_path = /*#__PURE__*/createElement("path", {
|
|
12
13
|
fill: "#6A7690",
|
|
13
|
-
|
|
14
|
+
fillRule: "evenodd",
|
|
15
|
+
d: "M15.763 17.175a8.5 8.5 0 111.413-1.413l.031.03 4.5 4.5a1 1 0 01-1.414 1.415l-4.5-4.5a.903.903 0 01-.03-.032zM17 10.5a6.5 6.5 0 11-13 0 6.5 6.5 0 0113 0z",
|
|
16
|
+
clipRule: "evenodd"
|
|
14
17
|
})));
|
|
15
18
|
}
|
|
16
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"search.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,39 +1,19 @@
|
|
|
1
1
|
import { createElement } from 'react';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _path;
|
|
4
4
|
|
|
5
5
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
6
6
|
|
|
7
7
|
function SvgAllSlides(props) {
|
|
8
8
|
return /*#__PURE__*/createElement("svg", _extends({
|
|
9
|
-
|
|
10
|
-
fill: "
|
|
11
|
-
|
|
12
|
-
}, props),
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
})), _rect2 || (_rect2 = /*#__PURE__*/createElement("rect", {
|
|
18
|
-
y: 9,
|
|
19
|
-
width: 7,
|
|
20
|
-
height: 7,
|
|
21
|
-
rx: 1.5,
|
|
22
|
-
fill: "#fff"
|
|
23
|
-
})), _rect3 || (_rect3 = /*#__PURE__*/createElement("rect", {
|
|
24
|
-
x: 9,
|
|
25
|
-
width: 7,
|
|
26
|
-
height: 7,
|
|
27
|
-
rx: 1.5,
|
|
28
|
-
fill: "#fff"
|
|
29
|
-
})), _rect4 || (_rect4 = /*#__PURE__*/createElement("rect", {
|
|
30
|
-
opacity: 0.3,
|
|
31
|
-
x: 9,
|
|
32
|
-
y: 9,
|
|
33
|
-
width: 7,
|
|
34
|
-
height: 7,
|
|
35
|
-
rx: 1.5,
|
|
36
|
-
fill: "#fff"
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
fill: "currentColor",
|
|
11
|
+
viewBox: "0 0 24 24"
|
|
12
|
+
}, props), _path || (_path = /*#__PURE__*/createElement("path", {
|
|
13
|
+
fill: "#fff",
|
|
14
|
+
fillRule: "evenodd",
|
|
15
|
+
d: "M17.467 2.293a1 1 0 00-1.414 0L11.81 6.536a1 1 0 000 1.414l4.243 4.242a1 1 0 001.414 0L21.71 7.95a1 1 0 000-1.414l-4.243-4.243zM3 4a1 1 0 00-1 1v6a1 1 0 001 1h6a1 1 0 001-1V5a1 1 0 00-1-1H3zm0 10a1 1 0 00-1 1v6a1 1 0 001 1h6a1 1 0 001-1v-6a1 1 0 00-1-1H3zm9 1a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1h-6a1 1 0 01-1-1v-6z",
|
|
16
|
+
clipRule: "evenodd"
|
|
37
17
|
})));
|
|
38
18
|
}
|
|
39
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all_slides.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"all_slides.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -7,10 +7,12 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
7
7
|
function SvgClose(props) {
|
|
8
8
|
return /*#__PURE__*/createElement("svg", _extends({
|
|
9
9
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
-
|
|
10
|
+
fill: "currentColor",
|
|
11
|
+
viewBox: "0 0 24 24"
|
|
11
12
|
}, props), _path || (_path = /*#__PURE__*/createElement("path", {
|
|
12
13
|
fillRule: "evenodd",
|
|
13
|
-
d: "
|
|
14
|
+
d: "M17.707 7.707a1 1 0 00-1.414-1.414L12 10.586 7.707 6.293a1 1 0 00-1.414 1.414L10.586 12l-4.293 4.293a1 1 0 101.414 1.414L12 13.414l4.293 4.293a1 1 0 001.414-1.414L13.414 12l4.293-4.293z",
|
|
15
|
+
clipRule: "evenodd"
|
|
14
16
|
})));
|
|
15
17
|
}
|
|
16
18
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"close.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -7,10 +7,12 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
7
7
|
function SvgCustomize(props) {
|
|
8
8
|
return /*#__PURE__*/createElement("svg", _extends({
|
|
9
9
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
-
|
|
10
|
+
fill: "currentColor",
|
|
11
|
+
viewBox: "0 0 24 24"
|
|
11
12
|
}, props), _path || (_path = /*#__PURE__*/createElement("path", {
|
|
12
13
|
fillRule: "evenodd",
|
|
13
|
-
d: "
|
|
14
|
+
d: "M2.877 10.69a3 3 0 000 4.242l1.414 1.414a3 3 0 004.243 0L15.25 9.63a3 3 0 000-4.243l.763-.763a.421.421 0 01.596 0l2.53 2.531a1 1 0 010 1.414l-3.535 3.536a2.994 2.994 0 00-.86 2.462 2 2 0 00.152 2.66l3.689 3.688a2 2 0 102.828-2.829l-3.688-3.688a1.991 1.991 0 00-.935-.528.997.997 0 01.228-.351l3.536-3.536a3 3 0 000-4.242l-2.531-2.53a2.42 2.42 0 00-3.424 0l-.763.762a3 3 0 00-4.243 0L2.877 10.69z",
|
|
15
|
+
clipRule: "evenodd"
|
|
14
16
|
})));
|
|
15
17
|
}
|
|
16
18
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customize.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"customize.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -7,9 +7,12 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
7
7
|
function SvgDuplicate(props) {
|
|
8
8
|
return /*#__PURE__*/createElement("svg", _extends({
|
|
9
9
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
-
|
|
10
|
+
fill: "currentColor",
|
|
11
|
+
viewBox: "0 0 24 24"
|
|
11
12
|
}, props), _path || (_path = /*#__PURE__*/createElement("path", {
|
|
12
|
-
|
|
13
|
+
fillRule: "evenodd",
|
|
14
|
+
d: "M16 5.5V4a3 3 0 00-3-3H4a3 3 0 00-3 3v9a3 3 0 003 3h1.5a.5.5 0 00.5-.5V9a3 3 0 013-3h6.5a.5.5 0 00.5-.5zM11 8a3 3 0 00-3 3v9a3 3 0 003 3h9a3 3 0 003-3v-9a3 3 0 00-3-3h-9z",
|
|
15
|
+
clipRule: "evenodd"
|
|
13
16
|
})));
|
|
14
17
|
}
|
|
15
18
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicate.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"duplicate.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { createElement } from 'react';
|
|
2
2
|
|
|
3
|
-
var _path
|
|
3
|
+
var _path;
|
|
4
4
|
|
|
5
5
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
6
6
|
|
|
7
7
|
function SvgFitScreen(props) {
|
|
8
8
|
return /*#__PURE__*/createElement("svg", _extends({
|
|
9
|
-
|
|
10
|
-
fill: "
|
|
11
|
-
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
fill: "currentColor",
|
|
11
|
+
viewBox: "0 0 24 24"
|
|
12
12
|
}, props), _path || (_path = /*#__PURE__*/createElement("path", {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
fillRule: "evenodd",
|
|
14
|
+
d: "M15 2a1 1 0 100 2h3.586l-5.293 5.293a1 1 0 001.414 1.414L20 5.414V9a1 1 0 102 0V3a1 1 0 00-1-1h-6zM4 15a1 1 0 10-2 0v6a1 1 0 001 1h6a1 1 0 100-2H5.414l5.293-5.293a1 1 0 00-1.414-1.414L4 18.586V15z",
|
|
15
|
+
clipRule: "evenodd"
|
|
16
16
|
})));
|
|
17
17
|
}
|
|
18
18
|
|