@jotforminc/dnd-builder 3.0.0 → 3.1.1
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 +22 -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/Builder/DraggableLayer.js +44 -0
- package/lib/cjs/components/Builder/DraggableLayer.js.map +1 -0
- package/lib/cjs/components/Builder/Element.js +1 -0
- package/lib/cjs/components/Builder/Element.js.map +1 -1
- package/lib/cjs/components/Builder/Page.js +36 -30
- package/lib/cjs/components/Builder/Page.js.map +1 -1
- package/lib/cjs/components/Builder/Scene.js +13 -29
- 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/DraggableItem/DraggableItem.js +33 -80
- package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +95 -219
- package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
- package/lib/cjs/components/PageItemResizer.js +21 -8
- package/lib/cjs/components/PageItemResizer.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js +1 -3
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
- package/lib/cjs/components/ReportItemsWrapper.js +18 -17
- package/lib/cjs/components/ReportItemsWrapper.js.map +1 -1
- package/lib/cjs/components/Settings/PageLayer/LayerItem.js +1 -1
- package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
- package/lib/cjs/components/Settings/SizeSettings.js +1 -1
- package/lib/cjs/components/Settings/SizeSettings.js.map +1 -1
- package/lib/cjs/constants/texts.js +1 -0
- package/lib/cjs/constants/texts.js.map +1 -1
- package/lib/cjs/contexts/BuilderContext.js +6 -0
- 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 +4 -2
- package/lib/cjs/styles/_jfReportsSVG.scss +6 -6
- package/lib/cjs/styles/_jfSearchInput.scss +0 -2
- package/lib/cjs/utils/functions.js +33 -45
- 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/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/Builder/DraggableLayer.js +38 -0
- package/lib/esm/components/Builder/DraggableLayer.js.map +1 -0
- package/lib/esm/components/Builder/Element.js +1 -0
- package/lib/esm/components/Builder/Element.js.map +1 -1
- package/lib/esm/components/Builder/Page.js +38 -32
- package/lib/esm/components/Builder/Page.js.map +1 -1
- package/lib/esm/components/Builder/Scene.js +16 -32
- 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/DraggableItem/DraggableItem.js +34 -81
- package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItemLayer.js +98 -221
- package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
- package/lib/esm/components/PageItemResizer.js +21 -8
- package/lib/esm/components/PageItemResizer.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js +1 -3
- package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
- package/lib/esm/components/ReportItemsWrapper.js +15 -18
- package/lib/esm/components/ReportItemsWrapper.js.map +1 -1
- package/lib/esm/components/Settings/PageLayer/LayerItem.js +1 -1
- package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
- package/lib/esm/components/Settings/SizeSettings.js +1 -1
- package/lib/esm/components/Settings/SizeSettings.js.map +1 -1
- package/lib/esm/constants/texts.js +1 -0
- package/lib/esm/constants/texts.js.map +1 -1
- package/lib/esm/contexts/BuilderContext.js +6 -0
- 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 +4 -2
- package/lib/esm/styles/_jfReportsSVG.scss +6 -6
- package/lib/esm/styles/_jfSearchInput.scss +0 -2
- package/lib/esm/utils/functions.js +31 -44
- 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/package.json +1 -1
|
@@ -1,33 +1,13 @@
|
|
|
1
|
-
import 'core-js/modules/es.array.concat.js';
|
|
2
|
-
import 'core-js/modules/es.array.find.js';
|
|
3
|
-
import 'core-js/modules/es.array.find-index.js';
|
|
4
1
|
import 'core-js/modules/es.array.map.js';
|
|
5
|
-
import '
|
|
6
|
-
import 'core-js/modules/es.object.keys.js';
|
|
7
|
-
import 'core-js/modules/web.dom-collections.for-each.js';
|
|
8
|
-
import { memo } from 'react';
|
|
2
|
+
import { memo, useMemo, useCallback } from 'react';
|
|
9
3
|
import PropTypes from 'prop-types';
|
|
10
|
-
import memoizeOne from 'memoize-one';
|
|
11
|
-
import { useDragLayer } from 'react-dnd';
|
|
12
4
|
import ReportItemRenderer from '../Builder/ReportItemRenderer.js';
|
|
13
|
-
import {
|
|
5
|
+
import { getCorrectDroppedOffsetValue, getMatchesForItem, getCoordinatesFromMatches } from '../../utils/functions.js';
|
|
14
6
|
import ItemPositioner from '../ItemPositioner.js';
|
|
15
7
|
import { useBuilderStore } from '../../contexts/BuilderContext.js';
|
|
16
8
|
import { usePropStore } from '../../contexts/PropContext.js';
|
|
17
|
-
import
|
|
18
|
-
import {
|
|
19
|
-
|
|
20
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
21
|
-
|
|
22
|
-
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."); }
|
|
23
|
-
|
|
24
|
-
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); }
|
|
25
|
-
|
|
26
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
27
|
-
|
|
28
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
29
|
-
|
|
30
|
-
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; }
|
|
9
|
+
import { useActiveElement } from '../../utils/hooks.js';
|
|
10
|
+
import { jsx } from 'react/jsx-runtime';
|
|
31
11
|
|
|
32
12
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
33
13
|
|
|
@@ -35,129 +15,26 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
35
15
|
|
|
36
16
|
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; }
|
|
37
17
|
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
left: x,
|
|
43
|
-
pointerEvents: 'none',
|
|
44
|
-
position: 'fixed',
|
|
45
|
-
top: y,
|
|
46
|
-
zIndex: 100
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
var getDraggedItem = function getDraggedItem(_ref2, item) {
|
|
51
|
-
var _ref2$defaultItem = _ref2.defaultItem,
|
|
52
|
-
defaultItem = _ref2$defaultItem === void 0 ? {} : _ref2$defaultItem,
|
|
53
|
-
details = _ref2.details;
|
|
18
|
+
var getDraggedItem = function getDraggedItem(_ref, item) {
|
|
19
|
+
var _ref$defaultItem = _ref.defaultItem,
|
|
20
|
+
defaultItem = _ref$defaultItem === void 0 ? {} : _ref$defaultItem,
|
|
21
|
+
details = _ref.details;
|
|
54
22
|
return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, defaultItem), details), item), {}, {
|
|
55
23
|
id: 'temp'
|
|
56
24
|
});
|
|
57
25
|
};
|
|
58
26
|
|
|
59
|
-
var
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
var
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return curr.items.find(function (el) {
|
|
73
|
-
return el.id === _i;
|
|
74
|
-
});
|
|
75
|
-
}, undefined);
|
|
76
|
-
|
|
77
|
-
var defItem = _acceptedItems[_item.itemType] && _acceptedItems[_item.itemType].defaultItem;
|
|
78
|
-
return _objectSpread(_objectSpread({}, defItem), _item);
|
|
79
|
-
});
|
|
80
|
-
return items;
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
function getItemStyles(initialOffset, currentOffset, ref, pageGuides, item, zoom) {
|
|
84
|
-
if (ref.current) {
|
|
85
|
-
var dropTargetPosition = ref.current.getBoundingClientRect();
|
|
86
|
-
var finalX = currentOffset.x,
|
|
87
|
-
finalY = currentOffset.y;
|
|
88
|
-
var initialX = initialOffset.x,
|
|
89
|
-
initialY = initialOffset.y;
|
|
90
|
-
var newYposition = finalY > initialY ? initialY + (finalY - initialY) - dropTargetPosition.top : initialY - (initialY - finalY) - dropTargetPosition.top;
|
|
91
|
-
var newXposition = finalX > initialX ? initialX + (finalX - initialX) - dropTargetPosition.left : initialX - (initialX - finalX) - dropTargetPosition.left;
|
|
92
|
-
|
|
93
|
-
var newItem = _objectSpread(_objectSpread({}, item), {}, {
|
|
94
|
-
left: newXposition / zoom,
|
|
95
|
-
top: newYposition / zoom
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
var _guides = _objectSpread(_objectSpread({}, pageGuides), {}, _defineProperty({}, item.id, _objectSpread(_objectSpread({}, pageGuides[item.id]), {}, {
|
|
99
|
-
x: calculateGuidePositions(newItem, 'x', zoom),
|
|
100
|
-
y: calculateGuidePositions(newItem, 'y', zoom)
|
|
101
|
-
})));
|
|
102
|
-
|
|
103
|
-
var match = proximityListener(item.id, _guides);
|
|
104
|
-
var newActiveBoxLeft = newXposition;
|
|
105
|
-
var newActiveBoxTop = newYposition;
|
|
106
|
-
var haveMatch = Object.keys(match).length > 0;
|
|
107
|
-
var haveXMatch = haveMatch && match.x;
|
|
108
|
-
var haveYMatch = haveMatch && match.y;
|
|
109
|
-
Object.keys(match).forEach(function (axis) {
|
|
110
|
-
var _match$axis = match[axis],
|
|
111
|
-
activeBoxGuides = _match$axis.activeBoxGuides,
|
|
112
|
-
matchedArray = _match$axis.matchedArray,
|
|
113
|
-
proximity = _match$axis.proximity;
|
|
114
|
-
var activeBoxProximityIndex = proximity.activeBoxIndex;
|
|
115
|
-
var matchedBoxProximityIndex = proximity.matchedBoxIndex;
|
|
116
|
-
|
|
117
|
-
if (axis === 'x') {
|
|
118
|
-
if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
|
|
119
|
-
newActiveBoxLeft = newItem.left - proximity.value;
|
|
120
|
-
} else {
|
|
121
|
-
newActiveBoxLeft = newItem.left + proximity.value;
|
|
122
|
-
}
|
|
123
|
-
} else if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
|
|
124
|
-
newActiveBoxTop = newItem.top - proximity.value;
|
|
125
|
-
} else {
|
|
126
|
-
newActiveBoxTop = newItem.top + proximity.value;
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
return {
|
|
130
|
-
x: newActiveBoxLeft * (haveXMatch ? zoom : 1) + dropTargetPosition.left,
|
|
131
|
-
y: newActiveBoxTop * (haveYMatch ? zoom : 1) + dropTargetPosition.top
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
var DraggableItemLayer = function DraggableItemLayer(_ref3) {
|
|
137
|
-
var _ref3$guides = _ref3.guides,
|
|
138
|
-
guides = _ref3$guides === void 0 ? {} : _ref3$guides,
|
|
139
|
-
_ref3$pageRefs = _ref3.pageRefs,
|
|
140
|
-
pageRefs = _ref3$pageRefs === void 0 ? {} : _ref3$pageRefs,
|
|
141
|
-
_ref3$pages = _ref3.pages,
|
|
142
|
-
pages = _ref3$pages === void 0 ? [] : _ref3$pages;
|
|
143
|
-
|
|
144
|
-
var _useDragLayer = useDragLayer(function (monitor) {
|
|
145
|
-
return {
|
|
146
|
-
currentOffset: monitor.getSourceClientOffset(),
|
|
147
|
-
initialOffset: monitor.getInitialSourceClientOffset(),
|
|
148
|
-
isDragging: monitor.isDragging(),
|
|
149
|
-
item: monitor.getItem(),
|
|
150
|
-
itemType: monitor.getItemType()
|
|
151
|
-
};
|
|
152
|
-
}),
|
|
153
|
-
currentOffset = _useDragLayer.currentOffset,
|
|
154
|
-
initialOffset = _useDragLayer.initialOffset,
|
|
155
|
-
isDragging = _useDragLayer.isDragging,
|
|
156
|
-
item = _useDragLayer.item;
|
|
157
|
-
|
|
158
|
-
var activeElement = useBuilderStore(function (state) {
|
|
159
|
-
return state.activeElement;
|
|
160
|
-
});
|
|
27
|
+
var DraggableItemLayer = function DraggableItemLayer(_ref2) {
|
|
28
|
+
var _ref2$collectedProps = _ref2.collectedProps,
|
|
29
|
+
collectedProps = _ref2$collectedProps === void 0 ? {} : _ref2$collectedProps,
|
|
30
|
+
_ref2$guides = _ref2.guides,
|
|
31
|
+
guides = _ref2$guides === void 0 ? {} : _ref2$guides,
|
|
32
|
+
_ref2$pageRefs = _ref2.pageRefs,
|
|
33
|
+
pageRefs = _ref2$pageRefs === void 0 ? {} : _ref2$pageRefs;
|
|
34
|
+
var currentOffset = collectedProps.currentOffset,
|
|
35
|
+
initialOffset = collectedProps.initialOffset,
|
|
36
|
+
isDragging = collectedProps.isDragging,
|
|
37
|
+
item = collectedProps.item;
|
|
161
38
|
var zoom = useBuilderStore(function (state) {
|
|
162
39
|
return state.zoom;
|
|
163
40
|
});
|
|
@@ -167,112 +44,112 @@ var DraggableItemLayer = function DraggableItemLayer(_ref3) {
|
|
|
167
44
|
var itemAccessor = usePropStore(function (state) {
|
|
168
45
|
return state.itemAccessor;
|
|
169
46
|
});
|
|
47
|
+
var referenceItem = useMemo(function () {
|
|
48
|
+
var _item = item.id ? item : getDraggedItem(acceptedItems[item.itemType], item); // for a element that is dragging to the left panel
|
|
49
|
+
|
|
170
50
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
}
|
|
51
|
+
if (!_item.pageID) {
|
|
52
|
+
var element = document.elementFromPoint(currentOffset.x, currentOffset.y);
|
|
174
53
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
54
|
+
if (element && element.closest('.jfReport-page')) {
|
|
55
|
+
var _pageID = element.closest('.jfReport-page').getAttribute('data-id');
|
|
56
|
+
|
|
57
|
+
return _objectSpread(_objectSpread({}, _item), {}, {
|
|
58
|
+
pageID: _pageID
|
|
59
|
+
});
|
|
60
|
+
}
|
|
178
61
|
}
|
|
179
62
|
|
|
180
|
-
return
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
63
|
+
return _item;
|
|
64
|
+
}, [item, acceptedItems, currentOffset.x, currentOffset.y]);
|
|
65
|
+
var pageID = referenceItem.pageID;
|
|
66
|
+
var refCoords = useMemo(function () {
|
|
67
|
+
if (pageID) {
|
|
68
|
+
var dropTargetPosition = pageRefs[pageID].current.getBoundingClientRect();
|
|
69
|
+
var coords = getCorrectDroppedOffsetValue(currentOffset, initialOffset, dropTargetPosition, zoom);
|
|
185
70
|
|
|
186
|
-
|
|
187
|
-
pageID = draggedItem.pageID;
|
|
188
|
-
} else {
|
|
189
|
-
draggedItem = getMemoizedDraggedItem(acceptedItems[item.itemType], item);
|
|
190
|
-
}
|
|
71
|
+
var newItem = _objectSpread(_objectSpread({}, referenceItem), coords);
|
|
191
72
|
|
|
192
|
-
|
|
73
|
+
var newMatches = getMatchesForItem(newItem, guides, zoom);
|
|
193
74
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
75
|
+
var _getCoordinatesFromMa = getCoordinatesFromMatches(newItem, newMatches),
|
|
76
|
+
left = _getCoordinatesFromMa.left,
|
|
77
|
+
top = _getCoordinatesFromMa.top;
|
|
197
78
|
|
|
198
|
-
|
|
199
|
-
|
|
79
|
+
return {
|
|
80
|
+
x: left * zoom + dropTargetPosition.left,
|
|
81
|
+
y: top * zoom + dropTargetPosition.top
|
|
82
|
+
};
|
|
200
83
|
}
|
|
201
|
-
}
|
|
202
84
|
|
|
203
|
-
|
|
204
|
-
var itemStyle = {}; // No page
|
|
205
|
-
|
|
206
|
-
if (!ref || !ref.current) {
|
|
207
|
-
itemStyle = {
|
|
85
|
+
return {
|
|
208
86
|
x: currentOffset.x,
|
|
209
87
|
y: currentOffset.y
|
|
210
88
|
};
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
var
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
89
|
+
}, [currentOffset, initialOffset, referenceItem, pageID, pageRefs, zoom, guides]);
|
|
90
|
+
var getItemStyle = useCallback(function (_ref3, _ref4) {
|
|
91
|
+
var x = _ref3.x,
|
|
92
|
+
y = _ref3.y;
|
|
93
|
+
var height = _ref4.height,
|
|
94
|
+
width = _ref4.width;
|
|
95
|
+
return {
|
|
96
|
+
cursor: 'grabbing',
|
|
97
|
+
height: height,
|
|
98
|
+
left: x,
|
|
99
|
+
outlineColor: '#4277ff',
|
|
100
|
+
pointerEvents: 'none',
|
|
101
|
+
position: 'fixed',
|
|
102
|
+
top: y,
|
|
103
|
+
transform: "scale(".concat(zoom, ")"),
|
|
104
|
+
transformOrigin: '0 0',
|
|
105
|
+
width: width,
|
|
106
|
+
zIndex: 100
|
|
107
|
+
};
|
|
108
|
+
}, [zoom]);
|
|
109
|
+
var activeItems = useActiveElement();
|
|
110
|
+
var hasActiveItems = activeItems !== null && activeItems.length > 0; // for a element is added from the left panel
|
|
111
|
+
|
|
112
|
+
var activeElements = hasActiveItems ? activeItems : [referenceItem];
|
|
113
|
+
return activeElements.map(function (activeItem) {
|
|
114
|
+
var coords = hasActiveItems ? {
|
|
115
|
+
x: refCoords.x - (referenceItem.left - activeItem.left) * zoom,
|
|
116
|
+
y: refCoords.y - (referenceItem.top - activeItem.top) * zoom
|
|
117
|
+
} : refCoords;
|
|
118
|
+
var exactItem = hasActiveItems ? activeItem : referenceItem;
|
|
119
|
+
return /*#__PURE__*/jsx(ItemPositioner, {
|
|
120
|
+
classNames: "reportItem isDraggingLayerElement",
|
|
121
|
+
style: getItemStyle(coords, exactItem),
|
|
230
122
|
children: /*#__PURE__*/jsx(ReportItemRenderer, {
|
|
231
|
-
item:
|
|
123
|
+
item: exactItem,
|
|
232
124
|
children: function children(ReportItem) {
|
|
233
125
|
return /*#__PURE__*/jsx(ReportItem, {
|
|
234
126
|
isDragging: isDragging,
|
|
235
|
-
item:
|
|
127
|
+
item: exactItem,
|
|
236
128
|
itemAccessor: itemAccessor,
|
|
237
129
|
zoom: zoom
|
|
238
130
|
});
|
|
239
131
|
}
|
|
240
132
|
})
|
|
241
|
-
}
|
|
242
|
-
var __itemStyle = {
|
|
243
|
-
x: itemStyle.x - (draggedItem.left - ii.left) * zoom,
|
|
244
|
-
y: itemStyle.y - (draggedItem.top - ii.top) * zoom
|
|
245
|
-
};
|
|
246
|
-
return /*#__PURE__*/jsx(ItemPositioner, {
|
|
247
|
-
classNames: "reportItem".concat(isDragging ? ' isDraggingLayerElement' : ''),
|
|
248
|
-
style: _objectSpread(_objectSpread({}, layerStyles(__itemStyle)), {}, {
|
|
249
|
-
cursor: isDragging ? 'grabbing' : 'pointer',
|
|
250
|
-
height: ii.height,
|
|
251
|
-
outlineColor: '#4277ff',
|
|
252
|
-
transform: "scale(".concat(zoom, ")"),
|
|
253
|
-
transformOrigin: '0 0',
|
|
254
|
-
width: ii.width
|
|
255
|
-
}),
|
|
256
|
-
children: /*#__PURE__*/jsx(ReportItemRenderer, {
|
|
257
|
-
item: ii,
|
|
258
|
-
children: function children(ReportItem) {
|
|
259
|
-
return /*#__PURE__*/jsx(ReportItem, {
|
|
260
|
-
isDragging: isDragging,
|
|
261
|
-
item: ii,
|
|
262
|
-
itemAccessor: itemAccessor,
|
|
263
|
-
zoom: zoom
|
|
264
|
-
});
|
|
265
|
-
}
|
|
266
|
-
})
|
|
267
|
-
}, ii.id);
|
|
268
|
-
})]
|
|
133
|
+
}, item.id);
|
|
269
134
|
});
|
|
270
135
|
};
|
|
271
136
|
|
|
272
137
|
DraggableItemLayer.propTypes = {
|
|
138
|
+
collectedProps: PropTypes.shape({
|
|
139
|
+
currentOffset: PropTypes.shape({
|
|
140
|
+
x: PropTypes.number,
|
|
141
|
+
y: PropTypes.number
|
|
142
|
+
}),
|
|
143
|
+
initialOffset: PropTypes.shape({
|
|
144
|
+
x: PropTypes.number,
|
|
145
|
+
y: PropTypes.number
|
|
146
|
+
}),
|
|
147
|
+
isDragging: PropTypes.bool,
|
|
148
|
+
item: PropTypes.shape({}),
|
|
149
|
+
itemType: PropTypes.string
|
|
150
|
+
}),
|
|
273
151
|
guides: PropTypes.shape({}),
|
|
274
|
-
pageRefs: PropTypes.shape({})
|
|
275
|
-
pages: PropTypes.arrayOf(PropTypes.shape({}))
|
|
152
|
+
pageRefs: PropTypes.shape({})
|
|
276
153
|
};
|
|
277
154
|
var DraggableItemLayer$1 = /*#__PURE__*/memo(DraggableItemLayer);
|
|
278
155
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DraggableItemLayer.js","sources":["../../../../src/components/DraggableItem/DraggableItemLayer.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport memoizeOne from 'memoize-one';\nimport { useDragLayer } from 'react-dnd';\nimport ReportItemRenderer from '../Builder/ReportItemRenderer';\nimport { proximityListener, calculateGuidePositions } from '../../utils/functions';\nimport ItemPositioner from '../ItemPositioner';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport getMergedItem from '../../utils/getMergedItem';\n\nconst layerStyles = ({ x, y }) => ({\n left: x,\n pointerEvents: 'none',\n position: 'fixed',\n top: y,\n zIndex: 100,\n});\n\nconst getDraggedItem = ({ defaultItem = {}, details }, item) => ({\n ...defaultItem,\n ...details,\n ...item,\n id: 'temp',\n});\n\nconst getMemoizedDraggedItem = memoizeOne(getDraggedItem);\n\nconst getAdditionalItems = memoizeOne((activeElems, __itemId, _pages, _acceptedItems) => {\n if (activeElems === null || activeElems.length === 1) return [];\n const index = activeElems.findIndex(aE => aE === __itemId);\n const act = [...activeElems.slice(0, index), ...activeElems.slice(index + 1)];\n const items = act.map(_i => {\n const _item = _pages.reduce((acc, curr) => {\n if (acc) {\n return acc;\n }\n return curr.items.find(el => el.id === _i);\n }, undefined);\n const defItem = (_acceptedItems[_item.itemType]\n && _acceptedItems[_item.itemType].defaultItem);\n return { ...defItem, ..._item };\n });\n return items;\n});\n\nfunction getItemStyles(initialOffset, currentOffset, ref, pageGuides, item, zoom) {\n if (ref.current) {\n const dropTargetPosition = ref.current.getBoundingClientRect();\n const { x: finalX, y: finalY } = currentOffset;\n const { x: initialX, y: initialY } = initialOffset;\n const newYposition = finalY > initialY\n ? (initialY + (finalY - initialY)) - dropTargetPosition.top\n : initialY - (initialY - finalY) - dropTargetPosition.top;\n\n const newXposition = finalX > initialX\n ? (initialX + (finalX - initialX)) - dropTargetPosition.left\n : initialX - (initialX - finalX) - dropTargetPosition.left;\n\n const newItem = {\n ...item,\n left: newXposition / zoom,\n top: newYposition / zoom,\n };\n const _guides = {\n ...pageGuides,\n [item.id]: {\n ...pageGuides[item.id],\n x: calculateGuidePositions(newItem, 'x', zoom),\n y: calculateGuidePositions(newItem, 'y', zoom),\n },\n };\n\n const match = proximityListener(item.id, _guides);\n let newActiveBoxLeft = newXposition;\n let newActiveBoxTop = newYposition;\n const haveMatch = Object.keys(match).length > 0;\n const haveXMatch = haveMatch && match.x;\n const haveYMatch = haveMatch && match.y;\n Object.keys(match).forEach(axis => {\n const { activeBoxGuides, matchedArray, proximity } = match[axis];\n const activeBoxProximityIndex = proximity.activeBoxIndex;\n const matchedBoxProximityIndex = proximity.matchedBoxIndex;\n if (axis === 'x') {\n if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxLeft = newItem.left - proximity.value;\n } else {\n newActiveBoxLeft = newItem.left + proximity.value;\n }\n } else if (activeBoxGuides[activeBoxProximityIndex]\n > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxTop = newItem.top - proximity.value;\n } else {\n newActiveBoxTop = newItem.top + proximity.value;\n }\n });\n return {\n x: (newActiveBoxLeft * (haveXMatch ? zoom : 1)) + dropTargetPosition.left,\n y: (newActiveBoxTop * (haveYMatch ? zoom : 1)) + dropTargetPosition.top,\n };\n }\n}\n\nconst DraggableItemLayer = ({\n guides = {},\n pageRefs = {},\n pages = [],\n}) => {\n const {\n currentOffset,\n initialOffset,\n isDragging,\n item,\n } = useDragLayer(monitor => ({\n currentOffset: monitor.getSourceClientOffset(),\n initialOffset: monitor.getInitialSourceClientOffset(),\n isDragging: monitor.isDragging(),\n item: monitor.getItem(),\n itemType: monitor.getItemType(),\n }));\n\n const activeElement = useBuilderStore(state => state.activeElement);\n const zoom = useBuilderStore(state => state.zoom);\n\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n\n if (!currentOffset || !isDragging) {\n return null;\n }\n let draggedItem = pages.reduce((acc, curr) => {\n if (acc) {\n return acc;\n }\n return curr.items.find(el => el.id === item.id);\n }, undefined);\n\n let pageID;\n if (draggedItem) {\n pageID = draggedItem.pageID;\n } else {\n draggedItem = getMemoizedDraggedItem(acceptedItems[item.itemType], item);\n }\n const element = document.elementFromPoint(currentOffset.x, currentOffset.y);\n if (element && element.closest('.jfReport-page')) { // add polyfill if will we use that one\n pageID = element.closest('.jfReport-page').getAttribute('data-id');\n if (!draggedItem.pageID) {\n draggedItem.pageID = pageID;\n }\n }\n\n const ref = pageRefs[pageID];\n let itemStyle = {};\n // No page\n if (!ref || !ref.current) {\n itemStyle = {\n x: currentOffset.x,\n y: currentOffset.y,\n };\n } else { // In the page\n const pageGuides = guides[pageID];\n itemStyle = getItemStyles(\n initialOffset,\n currentOffset,\n pageRefs[pageID],\n pageGuides,\n draggedItem,\n zoom,\n );\n }\n\n const additionalitems = getAdditionalItems(\n activeElement,\n draggedItem.id,\n pages,\n acceptedItems,\n );\n\n const mergedItem = getMergedItem(draggedItem, acceptedItems);\n\n return (\n <>\n <ItemPositioner\n classNames={`reportItem${isDragging ? ' isDraggingLayerElement' : ''}`}\n style={{\n ...layerStyles(itemStyle),\n cursor: isDragging ? 'grabbing' : 'pointer',\n height: draggedItem.height,\n outlineColor: '#4277ff',\n transform: `scale(${zoom})`,\n transformOrigin: '0 0',\n width: draggedItem.width,\n }}\n >\n <ReportItemRenderer item={draggedItem}>\n {ReportItem => (\n <ReportItem\n isDragging={isDragging}\n item={mergedItem}\n itemAccessor={itemAccessor}\n zoom={zoom}\n />\n )}\n </ReportItemRenderer>\n </ItemPositioner>\n {additionalitems.map(ii => {\n const __itemStyle = {\n x: itemStyle.x - ((draggedItem.left - ii.left) * zoom),\n y: itemStyle.y - ((draggedItem.top - ii.top) * zoom),\n };\n return (\n <ItemPositioner\n key={ii.id}\n classNames={`reportItem${isDragging ? ' isDraggingLayerElement' : ''}`}\n style={{\n ...layerStyles(__itemStyle),\n cursor: isDragging ? 'grabbing' : 'pointer',\n height: ii.height,\n outlineColor: '#4277ff',\n transform: `scale(${zoom})`,\n transformOrigin: '0 0',\n width: ii.width,\n }}\n >\n <ReportItemRenderer item={ii}>\n {ReportItem => (\n <ReportItem\n isDragging={isDragging}\n item={ii}\n itemAccessor={itemAccessor}\n zoom={zoom}\n />\n )}\n </ReportItemRenderer>\n </ItemPositioner>\n );\n })}\n </>\n );\n};\n\nDraggableItemLayer.propTypes = {\n guides: PropTypes.shape({}),\n pageRefs: PropTypes.shape({}),\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n};\n\nexport default memo(DraggableItemLayer);\n"],"names":["layerStyles","x","y","left","pointerEvents","position","top","zIndex","getDraggedItem","item","defaultItem","details","id","getMemoizedDraggedItem","memoizeOne","getAdditionalItems","activeElems","__itemId","_pages","_acceptedItems","length","index","findIndex","aE","act","slice","items","map","_i","_item","reduce","acc","curr","find","el","undefined","defItem","itemType","getItemStyles","initialOffset","currentOffset","ref","pageGuides","zoom","current","dropTargetPosition","getBoundingClientRect","finalX","finalY","initialX","initialY","newYposition","newXposition","newItem","_guides","calculateGuidePositions","match","proximityListener","newActiveBoxLeft","newActiveBoxTop","haveMatch","Object","keys","haveXMatch","haveYMatch","forEach","axis","activeBoxGuides","matchedArray","proximity","activeBoxProximityIndex","activeBoxIndex","matchedBoxProximityIndex","matchedBoxIndex","value","DraggableItemLayer","guides","pageRefs","pages","useDragLayer","monitor","getSourceClientOffset","getInitialSourceClientOffset","isDragging","getItem","getItemType","activeElement","useBuilderStore","state","acceptedItems","usePropStore","itemAccessor","draggedItem","pageID","element","document","elementFromPoint","closest","getAttribute","itemStyle","additionalitems","mergedItem","getMergedItem","_jsxs","_jsx","cursor","height","outlineColor","transform","transformOrigin","width","ReportItem","ii","__itemStyle","propTypes","PropTypes","shape","arrayOf","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DraggableItemLayer.js","sources":["../../../../src/components/DraggableItem/DraggableItemLayer.js"],"sourcesContent":["import { memo, useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport ReportItemRenderer from '../Builder/ReportItemRenderer';\nimport { getCoordinatesFromMatches, getCorrectDroppedOffsetValue, getMatchesForItem } from '../../utils/functions';\nimport ItemPositioner from '../ItemPositioner';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useActiveElement } from '../../utils/hooks';\n\nconst getDraggedItem = ({ defaultItem = {}, details }, item) => ({\n ...defaultItem,\n ...details,\n ...item,\n id: 'temp',\n});\n\nconst DraggableItemLayer = ({\n collectedProps = {},\n guides = {},\n pageRefs = {},\n}) => {\n const {\n currentOffset,\n initialOffset,\n isDragging,\n item,\n } = collectedProps;\n const zoom = useBuilderStore(state => state.zoom);\n\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n\n const referenceItem = useMemo(() => {\n const _item = item.id ? item : getDraggedItem(acceptedItems[item.itemType], item);\n\n // for a element that is dragging to the left panel\n if (!_item.pageID) {\n const element = document.elementFromPoint(currentOffset.x, currentOffset.y);\n if (element && element.closest('.jfReport-page')) {\n const pageID = element.closest('.jfReport-page').getAttribute('data-id');\n return { ..._item, pageID };\n }\n }\n\n return _item;\n }, [\n item,\n acceptedItems,\n currentOffset.x,\n currentOffset.y,\n ]);\n\n const { pageID } = referenceItem;\n\n const refCoords = useMemo(() => {\n if (pageID) {\n const dropTargetPosition = pageRefs[pageID].current.getBoundingClientRect();\n const coords = getCorrectDroppedOffsetValue(\n currentOffset,\n initialOffset,\n dropTargetPosition,\n zoom,\n );\n const newItem = { ...referenceItem, ...coords };\n const newMatches = getMatchesForItem(newItem, guides, zoom);\n const { left, top } = getCoordinatesFromMatches(newItem, newMatches);\n return {\n x: (left * zoom) + dropTargetPosition.left,\n y: (top * zoom) + dropTargetPosition.top,\n };\n }\n return {\n x: currentOffset.x,\n y: currentOffset.y,\n };\n }, [\n currentOffset,\n initialOffset,\n referenceItem,\n pageID,\n pageRefs,\n zoom,\n guides,\n ]);\n\n const getItemStyle = useCallback(({ x, y }, { height, width }) => {\n return {\n cursor: 'grabbing',\n height,\n left: x,\n outlineColor: '#4277ff',\n pointerEvents: 'none',\n position: 'fixed',\n top: y,\n transform: `scale(${zoom})`,\n transformOrigin: '0 0',\n width,\n zIndex: 100,\n };\n }, [zoom]);\n\n const activeItems = useActiveElement();\n\n const hasActiveItems = activeItems !== null && activeItems.length > 0;\n\n // for a element is added from the left panel\n const activeElements = hasActiveItems ? activeItems : [referenceItem];\n\n return activeElements.map(activeItem => {\n const coords = hasActiveItems ? {\n x: refCoords.x - ((referenceItem.left - activeItem.left) * zoom),\n y: refCoords.y - ((referenceItem.top - activeItem.top) * zoom),\n } : refCoords;\n\n const exactItem = hasActiveItems ? activeItem : referenceItem;\n\n return (\n <ItemPositioner\n key={item.id}\n classNames=\"reportItem isDraggingLayerElement\"\n style={getItemStyle(coords, exactItem)}\n >\n <ReportItemRenderer item={exactItem}>\n {ReportItem => (\n <ReportItem\n isDragging={isDragging}\n item={exactItem}\n itemAccessor={itemAccessor}\n zoom={zoom}\n />\n )}\n </ReportItemRenderer>\n </ItemPositioner>\n );\n });\n};\n\nDraggableItemLayer.propTypes = {\n collectedProps: PropTypes.shape({\n currentOffset: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }),\n initialOffset: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }),\n isDragging: PropTypes.bool,\n item: PropTypes.shape({}),\n itemType: PropTypes.string,\n }),\n guides: PropTypes.shape({}),\n pageRefs: PropTypes.shape({}),\n};\n\nexport default memo(DraggableItemLayer);\n"],"names":["getDraggedItem","item","defaultItem","details","id","DraggableItemLayer","collectedProps","guides","pageRefs","currentOffset","initialOffset","isDragging","zoom","useBuilderStore","state","acceptedItems","usePropStore","itemAccessor","referenceItem","useMemo","_item","itemType","pageID","element","document","elementFromPoint","x","y","closest","getAttribute","refCoords","dropTargetPosition","current","getBoundingClientRect","coords","getCorrectDroppedOffsetValue","newItem","newMatches","getMatchesForItem","getCoordinatesFromMatches","left","top","getItemStyle","useCallback","height","width","cursor","outlineColor","pointerEvents","position","transform","transformOrigin","zIndex","activeItems","useActiveElement","hasActiveItems","length","activeElements","map","activeItem","exactItem","_jsx","ReportItem","propTypes","PropTypes","shape","number","bool","string","memo"],"mappings":";;;;;;;;;;;;;;;;;AASA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAAgCC,IAAhC;AAAA,8BAAGC,WAAH;AAAA,MAAGA,WAAH,iCAAiB,EAAjB;AAAA,MAAqBC,OAArB,QAAqBA,OAArB;AAAA,qEAClBD,WADkB,GAElBC,OAFkB,GAGlBF,IAHkB;AAIrBG,IAAAA,EAAE,EAAE;AAJiB;AAAA,CAAvB;;AAOA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,QAIrB;AAAA,mCAHJC,cAGI;AAAA,MAHJA,cAGI,qCAHa,EAGb;AAAA,2BAFJC,MAEI;AAAA,MAFJA,MAEI,6BAFK,EAEL;AAAA,6BADJC,QACI;AAAA,MADJA,QACI,+BADO,EACP;AACJ,MACEC,aADF,GAKIH,cALJ,CACEG,aADF;AAAA,MAEEC,aAFF,GAKIJ,cALJ,CAEEI,aAFF;AAAA,MAGEC,UAHF,GAKIL,cALJ,CAGEK,UAHF;AAAA,MAIEV,IAJF,GAKIK,cALJ,CAIEL,IAJF;AAMA,MAAMW,IAAI,GAAGC,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,IAAV;AAAA,GAAN,CAA5B;AAEA,MAAMG,aAAa,GAAGC,YAAY,CAAC,UAAAF,KAAK;AAAA,WAAIA,KAAK,CAACC,aAAV;AAAA,GAAN,CAAlC;AACA,MAAME,YAAY,GAAGD,YAAY,CAAC,UAAAF,KAAK;AAAA,WAAIA,KAAK,CAACG,YAAV;AAAA,GAAN,CAAjC;AAEA,MAAMC,aAAa,GAAGC,OAAO,CAAC,YAAM;AAClC,QAAMC,KAAK,GAAGnB,IAAI,CAACG,EAAL,GAAUH,IAAV,GAAiBD,cAAc,CAACe,aAAa,CAACd,IAAI,CAACoB,QAAN,CAAd,EAA+BpB,IAA/B,CAA7C,CADkC;;;AAIlC,QAAI,CAACmB,KAAK,CAACE,MAAX,EAAmB;AACjB,UAAMC,OAAO,GAAGC,QAAQ,CAACC,gBAAT,CAA0BhB,aAAa,CAACiB,CAAxC,EAA2CjB,aAAa,CAACkB,CAAzD,CAAhB;;AACA,UAAIJ,OAAO,IAAIA,OAAO,CAACK,OAAR,CAAgB,gBAAhB,CAAf,EAAkD;AAChD,YAAMN,OAAM,GAAGC,OAAO,CAACK,OAAR,CAAgB,gBAAhB,EAAkCC,YAAlC,CAA+C,SAA/C,CAAf;;AACA,+CAAYT,KAAZ;AAAmBE,UAAAA,MAAM,EAANA;AAAnB;AACD;AACF;;AAED,WAAOF,KAAP;AACD,GAb4B,EAa1B,CACDnB,IADC,EAEDc,aAFC,EAGDN,aAAa,CAACiB,CAHb,EAIDjB,aAAa,CAACkB,CAJb,CAb0B,CAA7B;AAoBA,MAAQL,MAAR,GAAmBJ,aAAnB,CAAQI,MAAR;AAEA,MAAMQ,SAAS,GAAGX,OAAO,CAAC,YAAM;AAC9B,QAAIG,MAAJ,EAAY;AACV,UAAMS,kBAAkB,GAAGvB,QAAQ,CAACc,MAAD,CAAR,CAAiBU,OAAjB,CAAyBC,qBAAzB,EAA3B;AACA,UAAMC,MAAM,GAAGC,4BAA4B,CACzC1B,aADyC,EAEzCC,aAFyC,EAGzCqB,kBAHyC,EAIzCnB,IAJyC,CAA3C;;AAMA,UAAMwB,OAAO,mCAAQlB,aAAR,GAA0BgB,MAA1B,CAAb;;AACA,UAAMG,UAAU,GAAGC,iBAAiB,CAACF,OAAD,EAAU7B,MAAV,EAAkBK,IAAlB,CAApC;;AACA,kCAAsB2B,yBAAyB,CAACH,OAAD,EAAUC,UAAV,CAA/C;AAAA,UAAQG,IAAR,yBAAQA,IAAR;AAAA,UAAcC,GAAd,yBAAcA,GAAd;;AACA,aAAO;AACLf,QAAAA,CAAC,EAAGc,IAAI,GAAG5B,IAAR,GAAgBmB,kBAAkB,CAACS,IADjC;AAELb,QAAAA,CAAC,EAAGc,GAAG,GAAG7B,IAAP,GAAemB,kBAAkB,CAACU;AAFhC,OAAP;AAID;;AACD,WAAO;AACLf,MAAAA,CAAC,EAAEjB,aAAa,CAACiB,CADZ;AAELC,MAAAA,CAAC,EAAElB,aAAa,CAACkB;AAFZ,KAAP;AAID,GArBwB,EAqBtB,CACDlB,aADC,EAEDC,aAFC,EAGDQ,aAHC,EAIDI,MAJC,EAKDd,QALC,EAMDI,IANC,EAODL,MAPC,CArBsB,CAAzB;AA+BA,MAAMmC,YAAY,GAAGC,WAAW,CAAC,wBAAiC;AAAA,QAA9BjB,CAA8B,SAA9BA,CAA8B;AAAA,QAA3BC,CAA2B,SAA3BA,CAA2B;AAAA,QAApBiB,MAAoB,SAApBA,MAAoB;AAAA,QAAZC,KAAY,SAAZA,KAAY;AAChE,WAAO;AACLC,MAAAA,MAAM,EAAE,UADH;AAELF,MAAAA,MAAM,EAANA,MAFK;AAGLJ,MAAAA,IAAI,EAAEd,CAHD;AAILqB,MAAAA,YAAY,EAAE,SAJT;AAKLC,MAAAA,aAAa,EAAE,MALV;AAMLC,MAAAA,QAAQ,EAAE,OANL;AAOLR,MAAAA,GAAG,EAAEd,CAPA;AAQLuB,MAAAA,SAAS,kBAAWtC,IAAX,MARJ;AASLuC,MAAAA,eAAe,EAAE,KATZ;AAULN,MAAAA,KAAK,EAALA,KAVK;AAWLO,MAAAA,MAAM,EAAE;AAXH,KAAP;AAaD,GAd+B,EAc7B,CAACxC,IAAD,CAd6B,CAAhC;AAgBA,MAAMyC,WAAW,GAAGC,gBAAgB,EAApC;AAEA,MAAMC,cAAc,GAAGF,WAAW,KAAK,IAAhB,IAAwBA,WAAW,CAACG,MAAZ,GAAqB,CAApE,CAnFI;;AAsFJ,MAAMC,cAAc,GAAGF,cAAc,GAAGF,WAAH,GAAiB,CAACnC,aAAD,CAAtD;AAEA,SAAOuC,cAAc,CAACC,GAAf,CAAmB,UAAAC,UAAU,EAAI;AACtC,QAAMzB,MAAM,GAAGqB,cAAc,GAAG;AAC9B7B,MAAAA,CAAC,EAAEI,SAAS,CAACJ,CAAV,GAAe,CAACR,aAAa,CAACsB,IAAd,GAAqBmB,UAAU,CAACnB,IAAjC,IAAyC5B,IAD7B;AAE9Be,MAAAA,CAAC,EAAEG,SAAS,CAACH,CAAV,GAAe,CAACT,aAAa,CAACuB,GAAd,GAAoBkB,UAAU,CAAClB,GAAhC,IAAuC7B;AAF3B,KAAH,GAGzBkB,SAHJ;AAKA,QAAM8B,SAAS,GAAGL,cAAc,GAAGI,UAAH,GAAgBzC,aAAhD;AAEA,wBACE2C,IAAC,cAAD;AAEE,MAAA,UAAU,EAAC,mCAFb;AAGE,MAAA,KAAK,EAAEnB,YAAY,CAACR,MAAD,EAAS0B,SAAT,CAHrB;AAAA,6BAKEC,IAAC,kBAAD;AAAoB,QAAA,IAAI,EAAED,SAA1B;AAAA,kBACG,kBAAAE,UAAU;AAAA,8BACTD,IAAC,UAAD;AACE,YAAA,UAAU,EAAElD,UADd;AAEE,YAAA,IAAI,EAAEiD,SAFR;AAGE,YAAA,YAAY,EAAE3C,YAHhB;AAIE,YAAA,IAAI,EAAEL;AAJR,YADS;AAAA;AADb;AALF,OACOX,IAAI,CAACG,EADZ,CADF;AAkBD,GA1BM,CAAP;AA2BD,CAvHD;;AAyHAC,kBAAkB,CAAC0D,SAAnB,GAA+B;AAC7BzD,EAAAA,cAAc,EAAE0D,SAAS,CAACC,KAAV,CAAgB;AAC9BxD,IAAAA,aAAa,EAAEuD,SAAS,CAACC,KAAV,CAAgB;AAC7BvC,MAAAA,CAAC,EAAEsC,SAAS,CAACE,MADgB;AAE7BvC,MAAAA,CAAC,EAAEqC,SAAS,CAACE;AAFgB,KAAhB,CADe;AAK9BxD,IAAAA,aAAa,EAAEsD,SAAS,CAACC,KAAV,CAAgB;AAC7BvC,MAAAA,CAAC,EAAEsC,SAAS,CAACE,MADgB;AAE7BvC,MAAAA,CAAC,EAAEqC,SAAS,CAACE;AAFgB,KAAhB,CALe;AAS9BvD,IAAAA,UAAU,EAAEqD,SAAS,CAACG,IATQ;AAU9BlE,IAAAA,IAAI,EAAE+D,SAAS,CAACC,KAAV,CAAgB,EAAhB,CAVwB;AAW9B5C,IAAAA,QAAQ,EAAE2C,SAAS,CAACI;AAXU,GAAhB,CADa;AAc7B7D,EAAAA,MAAM,EAAEyD,SAAS,CAACC,KAAV,CAAgB,EAAhB,CAdqB;AAe7BzD,EAAAA,QAAQ,EAAEwD,SAAS,CAACC,KAAV,CAAgB,EAAhB;AAfmB,CAA/B;AAkBA,wCAAeI,IAAI,CAAChE,kBAAD,CAAnB;;;;"}
|
|
@@ -8,6 +8,8 @@ import CustomToolbarWrapper from './TextEditor/CustomToolbar/CustomToolbarWrappe
|
|
|
8
8
|
import DraggableItemActions from './DraggableItem/DraggableItemActions.js';
|
|
9
9
|
import ItemPositioner from './ItemPositioner.js';
|
|
10
10
|
import withClickOutside from './withClickOutside.js';
|
|
11
|
+
import { useBuilderStore } from '../contexts/BuilderContext.js';
|
|
12
|
+
import { isSelectedItem } from '../utils/functions.js';
|
|
11
13
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
12
14
|
|
|
13
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; }
|
|
@@ -46,21 +48,32 @@ var PageItemResizer = function PageItemResizer(_ref) {
|
|
|
46
48
|
deleteItem = _ref.deleteItem,
|
|
47
49
|
duplicateItem = _ref.duplicateItem,
|
|
48
50
|
isDragging = _ref.isDragging,
|
|
49
|
-
isMultipleItemSelected = _ref.isMultipleItemSelected,
|
|
50
|
-
isSelectedElement = _ref.isSelectedElement,
|
|
51
|
-
isTextEditorOpen = _ref.isTextEditorOpen,
|
|
52
51
|
item = _ref.item,
|
|
53
52
|
onClickOutside = _ref.onClickOutside,
|
|
54
53
|
onResize = _ref.onResize,
|
|
55
54
|
onResizeStop = _ref.onResizeStop,
|
|
56
55
|
pageID = _ref.pageID,
|
|
57
|
-
setActiveElement = _ref.setActiveElement,
|
|
58
|
-
setIsRightPanelOpen = _ref.setIsRightPanelOpen,
|
|
59
56
|
stateHeight = _ref.stateHeight,
|
|
60
57
|
stateLeft = _ref.stateLeft,
|
|
61
58
|
stateTop = _ref.stateTop,
|
|
62
|
-
stateWidth = _ref.stateWidth
|
|
63
|
-
|
|
59
|
+
stateWidth = _ref.stateWidth;
|
|
60
|
+
var zoom = useBuilderStore(function (state) {
|
|
61
|
+
return state.zoom;
|
|
62
|
+
});
|
|
63
|
+
var setIsRightPanelOpen = useBuilderStore(function (state) {
|
|
64
|
+
return state.setIsRightPanelOpen;
|
|
65
|
+
});
|
|
66
|
+
var setActiveElement = useBuilderStore(function (state) {
|
|
67
|
+
return state.setActiveElement;
|
|
68
|
+
});
|
|
69
|
+
var activeElement = useBuilderStore(function (state) {
|
|
70
|
+
return state.activeElement;
|
|
71
|
+
});
|
|
72
|
+
var isTextEditorOpen = useBuilderStore(function (state) {
|
|
73
|
+
return state.isTextEditorOpen;
|
|
74
|
+
});
|
|
75
|
+
var isSelected = isSelectedItem(item.id, activeElement);
|
|
76
|
+
var isMultipleItemSelected = activeElement !== null && activeElement.length > 1;
|
|
64
77
|
var requestRef = useRef();
|
|
65
78
|
|
|
66
79
|
var _useState = useState(false),
|
|
@@ -128,7 +141,7 @@ var PageItemResizer = function PageItemResizer(_ref) {
|
|
|
128
141
|
setIsRightPanelOpen(true);
|
|
129
142
|
}, [item.id, setIsRightPanelOpen, setActiveElement]);
|
|
130
143
|
var isLocked = item.isLocked;
|
|
131
|
-
if (isDragging || !
|
|
144
|
+
if (isDragging || !isSelected) return null;
|
|
132
145
|
return /*#__PURE__*/createPortal( /*#__PURE__*/jsxs(ItemPositioner, {
|
|
133
146
|
style: itemPositionerStyle,
|
|
134
147
|
children: [/*#__PURE__*/jsx(ResizableWithClickOutside, _objectSpread(_objectSpread({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageItemResizer.js","sources":["../../../src/components/PageItemResizer.js"],"sourcesContent":["import {\n useCallback,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Resizable } from 're-resizable';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport { resizeStaticProps } from '../constants/staticProps';\nimport TextEditorToolbar from './TextEditor/CustomToolbar';\n\nimport DraggableItemActions from './DraggableItem/DraggableItemActions';\nimport ItemPositioner from './ItemPositioner';\nimport withClickOutside from './withClickOutside';\n\nconst ResizableWithClickOutside = withClickOutside(Resizable);\n\nconst enableResize = {\n bottom: true,\n bottomLeft: true,\n bottomRight: true,\n left: true,\n right: true,\n top: true,\n topLeft: true,\n topRight: true,\n};\nconst lockAspectRatioTypes = ['image', 'icon'];\nconst exceptionalClasses = [\n 'reportHandle',\n 'reportItemMenu',\n 'jfReport-pane',\n 'pageSettingSideBtn',\n 'reportItemWrapper',\n 'reportRotater',\n 'forZoom',\n 'ql-toolbar',\n 'jSheetContextMenu',\n 'reset-default-contextMenu',\n];\n\nconst PageItemResizer = ({\n changeLockStatus,\n deleteItem,\n duplicateItem,\n isDragging,\n isMultipleItemSelected,\n isSelectedElement,\n isTextEditorOpen,\n item,\n onClickOutside,\n onResize,\n onResizeStop,\n pageID,\n setActiveElement,\n setIsRightPanelOpen,\n stateHeight,\n stateLeft,\n stateTop,\n stateWidth,\n zoom,\n}) => {\n const requestRef = useRef();\n const [lockAspectRatio, setLockAspectRatio] = useState(false);\n\n const handleKeyUp = e => {\n if (!e.shiftKey) setLockAspectRatio(false);\n };\n\n const handleKeyDown = e => {\n if (e.shiftKey) setLockAspectRatio(true);\n };\n\n const seriousResize = (deltaWidth, deltaHeight, direction) => {\n return () => {\n onResize(deltaWidth, deltaHeight, direction);\n requestRef.current = undefined;\n };\n };\n\n const onResizeStart = e => {\n e.preventDefault();\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n };\n\n const onResizeRAF = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n if (!requestRef.current) {\n requestRef.current = global\n .requestAnimationFrame(\n seriousResize(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n ),\n );\n }\n };\n\n const onResizeEnd = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n onResizeStop(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n );\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n\n const itemPositionerStyle = useMemo(() => ({\n height: Math.round(stateHeight * zoom),\n left: Math.round(stateLeft * zoom),\n pointerEvents: 'none',\n position: 'absolute',\n top: Math.round(stateTop * zoom),\n touchAction: 'none',\n width: Math.round(stateWidth * zoom),\n }), [stateHeight, stateLeft, stateTop, stateWidth, zoom]);\n\n const size = useMemo(() => ({\n height: Math.round(stateHeight * zoom),\n width: Math.round(stateWidth * zoom),\n }), [stateHeight, stateWidth, zoom]);\n\n const openSettings = useCallback(() => {\n setActiveElement(item.id);\n setIsRightPanelOpen(true);\n }, [item.id, setIsRightPanelOpen, setActiveElement]);\n\n const { isLocked } = item;\n\n if (isDragging || !isSelectedElement) return null;\n return createPortal(\n <ItemPositioner\n style={itemPositionerStyle}\n >\n <ResizableWithClickOutside\n className={classNames(\n 'reportItemResizer',\n { hideVerticalHandle: !(item.height > 50) },\n { hideHorizontalHandle: !(item.width > 50) },\n )}\n enable={!item.isLocked && enableResize}\n exceptionalClasses={exceptionalClasses}\n lockAspectRatio={lockAspectRatioTypes.includes(item.itemType) || lockAspectRatio}\n onClickOutside={onClickOutside}\n onResize={onResizeRAF}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeEnd}\n size={size}\n {...resizeStaticProps}\n withClickOutsideWrapperClass={`reportItemResizer-wrapper${isLocked ? ' isLocked' : ''}`}\n />\n <DraggableItemActions\n changeLockStatus={changeLockStatus}\n deleteItem={deleteItem}\n duplicateItem={duplicateItem}\n isLocked={item.isLocked}\n isMultipleItemSelected={isMultipleItemSelected}\n openSettings={openSettings}\n />\n <TextEditorToolbar\n isTextEditorOpen={isTextEditorOpen}\n itemWidth={stateWidth * zoom}\n />\n </ItemPositioner>,\n document.querySelector(`.jfReport-page[data-id=\"${pageID}\"]`),\n );\n};\n\nexport default PageItemResizer;\n"],"names":["ResizableWithClickOutside","withClickOutside","Resizable","enableResize","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","lockAspectRatioTypes","exceptionalClasses","PageItemResizer","changeLockStatus","deleteItem","duplicateItem","isDragging","isMultipleItemSelected","isSelectedElement","isTextEditorOpen","item","onClickOutside","onResize","onResizeStop","pageID","setActiveElement","setIsRightPanelOpen","stateHeight","stateLeft","stateTop","stateWidth","zoom","requestRef","useRef","useState","lockAspectRatio","setLockAspectRatio","handleKeyUp","e","shiftKey","handleKeyDown","seriousResize","deltaWidth","deltaHeight","direction","current","undefined","onResizeStart","preventDefault","window","addEventListener","onResizeRAF","ref","height","width","global","requestAnimationFrame","Math","round","onResizeEnd","removeEventListener","itemPositionerStyle","useMemo","pointerEvents","position","touchAction","size","openSettings","useCallback","id","isLocked","createPortal","_jsxs","_jsx","classNames","hideVerticalHandle","hideHorizontalHandle","includes","itemType","resizeStaticProps","TextEditorToolbar","document","querySelector"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PageItemResizer.js","sources":["../../../src/components/PageItemResizer.js"],"sourcesContent":["import {\n useCallback,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Resizable } from 're-resizable';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport { resizeStaticProps } from '../constants/staticProps';\nimport TextEditorToolbar from './TextEditor/CustomToolbar';\n\nimport DraggableItemActions from './DraggableItem/DraggableItemActions';\nimport ItemPositioner from './ItemPositioner';\nimport withClickOutside from './withClickOutside';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { isSelectedItem } from '../utils/functions';\n\nconst ResizableWithClickOutside = withClickOutside(Resizable);\n\nconst enableResize = {\n bottom: true,\n bottomLeft: true,\n bottomRight: true,\n left: true,\n right: true,\n top: true,\n topLeft: true,\n topRight: true,\n};\nconst lockAspectRatioTypes = ['image', 'icon'];\nconst exceptionalClasses = [\n 'reportHandle',\n 'reportItemMenu',\n 'jfReport-pane',\n 'pageSettingSideBtn',\n 'reportItemWrapper',\n 'reportRotater',\n 'forZoom',\n 'ql-toolbar',\n 'jSheetContextMenu',\n 'reset-default-contextMenu',\n];\n\nconst PageItemResizer = ({\n changeLockStatus,\n deleteItem,\n duplicateItem,\n isDragging,\n item,\n onClickOutside,\n onResize,\n onResizeStop,\n pageID,\n stateHeight,\n stateLeft,\n stateTop,\n stateWidth,\n}) => {\n const zoom = useBuilderStore(state => state.zoom);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setActiveElement = useBuilderStore(state => state.setActiveElement);\n const activeElement = useBuilderStore(state => state.activeElement);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n\n const isSelected = isSelectedItem(item.id, activeElement);\n const isMultipleItemSelected = activeElement !== null && activeElement.length > 1;\n\n const requestRef = useRef();\n const [lockAspectRatio, setLockAspectRatio] = useState(false);\n\n const handleKeyUp = e => {\n if (!e.shiftKey) setLockAspectRatio(false);\n };\n\n const handleKeyDown = e => {\n if (e.shiftKey) setLockAspectRatio(true);\n };\n\n const seriousResize = (deltaWidth, deltaHeight, direction) => {\n return () => {\n onResize(deltaWidth, deltaHeight, direction);\n requestRef.current = undefined;\n };\n };\n\n const onResizeStart = e => {\n e.preventDefault();\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n };\n\n const onResizeRAF = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n if (!requestRef.current) {\n requestRef.current = global\n .requestAnimationFrame(\n seriousResize(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n ),\n );\n }\n };\n\n const onResizeEnd = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n onResizeStop(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n );\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n\n const itemPositionerStyle = useMemo(() => ({\n height: Math.round(stateHeight * zoom),\n left: Math.round(stateLeft * zoom),\n pointerEvents: 'none',\n position: 'absolute',\n top: Math.round(stateTop * zoom),\n touchAction: 'none',\n width: Math.round(stateWidth * zoom),\n }), [stateHeight, stateLeft, stateTop, stateWidth, zoom]);\n\n const size = useMemo(() => ({\n height: Math.round(stateHeight * zoom),\n width: Math.round(stateWidth * zoom),\n }), [stateHeight, stateWidth, zoom]);\n\n const openSettings = useCallback(() => {\n setActiveElement(item.id);\n setIsRightPanelOpen(true);\n }, [item.id, setIsRightPanelOpen, setActiveElement]);\n\n const { isLocked } = item;\n\n if (isDragging || !isSelected) return null;\n return createPortal(\n <ItemPositioner\n style={itemPositionerStyle}\n >\n <ResizableWithClickOutside\n className={classNames(\n 'reportItemResizer',\n { hideVerticalHandle: !(item.height > 50) },\n { hideHorizontalHandle: !(item.width > 50) },\n )}\n enable={!item.isLocked && enableResize}\n exceptionalClasses={exceptionalClasses}\n lockAspectRatio={lockAspectRatioTypes.includes(item.itemType) || lockAspectRatio}\n onClickOutside={onClickOutside}\n onResize={onResizeRAF}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeEnd}\n size={size}\n {...resizeStaticProps}\n withClickOutsideWrapperClass={`reportItemResizer-wrapper${isLocked ? ' isLocked' : ''}`}\n />\n <DraggableItemActions\n changeLockStatus={changeLockStatus}\n deleteItem={deleteItem}\n duplicateItem={duplicateItem}\n isLocked={item.isLocked}\n isMultipleItemSelected={isMultipleItemSelected}\n openSettings={openSettings}\n />\n <TextEditorToolbar\n isTextEditorOpen={isTextEditorOpen}\n itemWidth={stateWidth * zoom}\n />\n </ItemPositioner>,\n document.querySelector(`.jfReport-page[data-id=\"${pageID}\"]`),\n );\n};\n\nexport default PageItemResizer;\n"],"names":["ResizableWithClickOutside","withClickOutside","Resizable","enableResize","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","lockAspectRatioTypes","exceptionalClasses","PageItemResizer","changeLockStatus","deleteItem","duplicateItem","isDragging","item","onClickOutside","onResize","onResizeStop","pageID","stateHeight","stateLeft","stateTop","stateWidth","zoom","useBuilderStore","state","setIsRightPanelOpen","setActiveElement","activeElement","isTextEditorOpen","isSelected","isSelectedItem","id","isMultipleItemSelected","length","requestRef","useRef","useState","lockAspectRatio","setLockAspectRatio","handleKeyUp","e","shiftKey","handleKeyDown","seriousResize","deltaWidth","deltaHeight","direction","current","undefined","onResizeStart","preventDefault","window","addEventListener","onResizeRAF","ref","height","width","global","requestAnimationFrame","Math","round","onResizeEnd","removeEventListener","itemPositionerStyle","useMemo","pointerEvents","position","touchAction","size","openSettings","useCallback","isLocked","createPortal","_jsxs","_jsx","classNames","hideVerticalHandle","hideHorizontalHandle","includes","itemType","resizeStaticProps","TextEditorToolbar","document","querySelector"],"mappings":"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"}
|
|
@@ -162,11 +162,9 @@ var SortablePageList = function SortablePageList() {
|
|
|
162
162
|
ref: virtuosoRef,
|
|
163
163
|
fixedItemHeight: 127,
|
|
164
164
|
itemContent: function itemContent(index) {
|
|
165
|
-
var page = pageGetter(index);
|
|
166
|
-
if (!page) return null;
|
|
167
165
|
return /*#__PURE__*/jsx(SortablePageItemRenderer, {
|
|
168
166
|
data: itemData,
|
|
169
|
-
id:
|
|
167
|
+
id: index.toString(),
|
|
170
168
|
index: index,
|
|
171
169
|
style: {
|
|
172
170
|
height: 127
|