@jotforminc/dnd-builder 3.0.0-alpha.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +193 -0
- package/lib/cjs/components/AlignmentGuides.js +11 -12
- package/lib/cjs/components/AlignmentGuides.js.map +1 -1
- package/lib/cjs/components/Builder/Builder.js +21 -131
- package/lib/cjs/components/Builder/Builder.js.map +1 -1
- package/lib/cjs/components/Builder/BuilderWrapper.js +64 -0
- package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -0
- package/lib/cjs/components/Builder/ContextMenu.js +31 -30
- package/lib/cjs/components/Builder/ContextMenu.js.map +1 -1
- package/lib/cjs/components/Builder/DndWrapper.js +16 -19
- package/lib/cjs/components/Builder/DndWrapper.js.map +1 -1
- package/lib/cjs/components/Builder/Element.js +51 -44
- package/lib/cjs/components/Builder/Element.js.map +1 -1
- package/lib/cjs/components/Builder/Page.js +127 -82
- package/lib/cjs/components/Builder/Page.js.map +1 -1
- package/lib/cjs/components/Builder/PageActions.js +35 -37
- package/lib/cjs/components/Builder/PageActions.js.map +1 -1
- package/lib/cjs/components/Builder/PageAdder.js +10 -11
- package/lib/cjs/components/Builder/PageAdder.js.map +1 -1
- package/lib/cjs/components/Builder/Panel.js +8 -10
- package/lib/cjs/components/Builder/Panel.js.map +1 -1
- package/lib/cjs/components/Builder/ReportItemRenderer.js +7 -6
- package/lib/cjs/components/Builder/ReportItemRenderer.js.map +1 -1
- package/lib/cjs/components/Builder/Scene.js +75 -205
- package/lib/cjs/components/Builder/Scene.js.map +1 -1
- package/lib/cjs/components/Builder/SearchInput.js +27 -58
- package/lib/cjs/components/Builder/SearchInput.js.map +1 -1
- package/lib/cjs/components/Builder/Section.js +8 -10
- package/lib/cjs/components/Builder/Section.js.map +1 -1
- package/lib/cjs/components/Builder/Tabs.js +19 -16
- package/lib/cjs/components/Builder/Tabs.js.map +1 -1
- package/lib/cjs/components/Builder/ZoomControls.js +20 -34
- package/lib/cjs/components/Builder/ZoomControls.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItem.js +165 -157
- package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItemActions.js +12 -14
- package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +25 -22
- package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
- package/lib/cjs/components/Elements/Chart.js +3 -4
- package/lib/cjs/components/Elements/Chart.js.map +1 -1
- package/lib/cjs/components/Elements/Icon.js +3 -5
- package/lib/cjs/components/Elements/Icon.js.map +1 -1
- package/lib/cjs/components/Elements/Image.js +11 -12
- package/lib/cjs/components/Elements/Image.js.map +1 -1
- package/lib/cjs/components/Elements/RichText.js +16 -14
- package/lib/cjs/components/Elements/RichText.js.map +1 -1
- package/lib/cjs/components/Elements/Shapes.js +2 -4
- package/lib/cjs/components/Elements/Shapes.js.map +1 -1
- package/lib/cjs/components/ItemPositioner.js +6 -8
- package/lib/cjs/components/ItemPositioner.js.map +1 -1
- package/lib/cjs/components/PageItemResizer.js +3 -7
- package/lib/cjs/components/PageItemResizer.js.map +1 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js +25 -60
- package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +2 -4
- package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +1 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js +8 -15
- package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js.map +1 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js +56 -21
- package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js.map +1 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +54 -0
- package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +1 -0
- package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js +143 -47
- package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js +17 -18
- package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +1 -1
- package/lib/cjs/components/Panels/LeftPanel/Elements.js +48 -52
- package/lib/cjs/components/Panels/LeftPanel/Elements.js.map +1 -1
- package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js +6 -35
- package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
- package/lib/cjs/components/Panels/LeftPanel/LeftPanelCloser.js +4 -4
- package/lib/cjs/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
- package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js +4 -3
- package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
- package/lib/cjs/components/Panels/RightPanel/RightPanel.js +139 -144
- package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
- package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js +7 -4
- package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
- package/lib/cjs/components/Panels/RightPanel/Settings.js +21 -22
- package/lib/cjs/components/Panels/RightPanel/Settings.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js +105 -95
- package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/PageThumbnailActions.js +17 -18
- package/lib/cjs/components/Panels/SlidesPanel/PageThumbnailActions.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +33 -67
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js +9 -9
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js +62 -28
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js +54 -0
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js.map +1 -0
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js +8 -9
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js +163 -109
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
- package/lib/cjs/components/Presentation/Presentation.js +19 -70
- package/lib/cjs/components/Presentation/Presentation.js.map +1 -1
- package/lib/cjs/components/Presentation/PresentationBar/PageNavigation.js +8 -10
- package/lib/cjs/components/Presentation/PresentationBar/PageNavigation.js.map +1 -1
- package/lib/cjs/components/Presentation/PresentationBar/PresentationActions.js +45 -12
- package/lib/cjs/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
- package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js +44 -86
- package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
- package/lib/cjs/components/Presentation/PresentationBar/SelectZoom.js +8 -10
- package/lib/cjs/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
- package/lib/cjs/components/Presentation/PresentationWrapper.js +56 -59
- package/lib/cjs/components/Presentation/PresentationWrapper.js.map +1 -1
- package/lib/cjs/components/Presentation/ProgressBar.js +4 -6
- package/lib/cjs/components/Presentation/ProgressBar.js.map +1 -1
- package/lib/cjs/components/Preview/Preview.js +14 -69
- package/lib/cjs/components/Preview/Preview.js.map +1 -1
- package/lib/cjs/components/Preview/StaticItem.js +5 -16
- package/lib/cjs/components/Preview/StaticItem.js.map +1 -1
- package/lib/cjs/components/Preview/StaticPage.js +16 -22
- package/lib/cjs/components/Preview/StaticPage.js.map +1 -1
- package/lib/cjs/components/Preview/StaticScene.js +34 -56
- package/lib/cjs/components/Preview/StaticScene.js.map +1 -1
- package/lib/cjs/components/Print/Print.js +18 -62
- package/lib/cjs/components/Print/Print.js.map +1 -1
- package/lib/cjs/components/Print/PrintModal.js +55 -0
- package/lib/cjs/components/Print/PrintModal.js.map +1 -0
- package/lib/cjs/components/Print/{PrintModeWithoutContext.js → PrintWrapper.js} +11 -42
- package/lib/cjs/components/Print/PrintWrapper.js.map +1 -0
- package/lib/cjs/components/Report.js +28 -40
- package/lib/cjs/components/Report.js.map +1 -1
- package/lib/cjs/components/ReportItemsWrapper.js +22 -36
- package/lib/cjs/components/ReportItemsWrapper.js.map +1 -1
- package/lib/cjs/components/ReportWrapper.js +28 -57
- package/lib/cjs/components/ReportWrapper.js.map +1 -1
- package/lib/cjs/components/Settings/Button.js +8 -10
- package/lib/cjs/components/Settings/Button.js.map +1 -1
- package/lib/cjs/components/Settings/CheckboxGroup.js +8 -10
- package/lib/cjs/components/Settings/CheckboxGroup.js.map +1 -1
- package/lib/cjs/components/Settings/ColorPicker.js +18 -13
- package/lib/cjs/components/Settings/ColorPicker.js.map +1 -1
- package/lib/cjs/components/Settings/Dropdown.js +10 -12
- package/lib/cjs/components/Settings/Dropdown.js.map +1 -1
- package/lib/cjs/components/Settings/FieldSet.js +3 -4
- package/lib/cjs/components/Settings/FieldSet.js.map +1 -1
- package/lib/cjs/components/Settings/IconSelectBox.js +8 -10
- package/lib/cjs/components/Settings/IconSelectBox.js.map +1 -1
- package/lib/cjs/components/Settings/ImagePicker/EnterURL.js +4 -6
- package/lib/cjs/components/Settings/ImagePicker/EnterURL.js.map +1 -1
- package/lib/cjs/components/Settings/ImagePicker/ImageThumbnailWithDelete.js +6 -8
- package/lib/cjs/components/Settings/ImagePicker/ImageThumbnailWithDelete.js.map +1 -1
- package/lib/cjs/components/Settings/ImageUrl.js +8 -10
- package/lib/cjs/components/Settings/ImageUrl.js.map +1 -1
- package/lib/cjs/components/Settings/LayoutSizeSettings.js +4 -6
- package/lib/cjs/components/Settings/LayoutSizeSettings.js.map +1 -1
- package/lib/cjs/components/Settings/Orientation.js +8 -10
- package/lib/cjs/components/Settings/Orientation.js.map +1 -1
- package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js +128 -0
- package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -0
- package/lib/cjs/components/Settings/PageLayer/LayerItem.js +91 -32
- package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
- package/lib/cjs/components/Settings/PageLayer/PageLayer.js +115 -50
- package/lib/cjs/components/Settings/PageLayer/PageLayer.js.map +1 -1
- package/lib/cjs/components/Settings/SegmentControl.js +8 -10
- package/lib/cjs/components/Settings/SegmentControl.js.map +1 -1
- package/lib/cjs/components/Settings/SelectBox.js +8 -10
- package/lib/cjs/components/Settings/SelectBox.js.map +1 -1
- package/lib/cjs/components/Settings/SettingsItemRenderer.js +9 -11
- package/lib/cjs/components/Settings/SettingsItemRenderer.js.map +1 -1
- package/lib/cjs/components/Settings/SizeSettings.js +4 -6
- package/lib/cjs/components/Settings/SizeSettings.js.map +1 -1
- package/lib/cjs/components/Settings/Slider.js +8 -10
- package/lib/cjs/components/Settings/Slider.js.map +1 -1
- package/lib/cjs/components/Settings/Switch.js +8 -10
- package/lib/cjs/components/Settings/Switch.js.map +1 -1
- package/lib/cjs/components/Settings/Textbox.js +12 -14
- package/lib/cjs/components/Settings/Textbox.js.map +1 -1
- package/lib/cjs/components/Settings/Toggle.js +8 -10
- package/lib/cjs/components/Settings/Toggle.js.map +1 -1
- package/lib/cjs/components/StaticElements/StaticRichText.js +26 -30
- package/lib/cjs/components/StaticElements/StaticRichText.js.map +1 -1
- package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbar.js +2 -4
- package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
- package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +4 -6
- package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
- package/lib/cjs/components/TextEditor/QuillEditor.js +6 -11
- package/lib/cjs/components/TextEditor/QuillEditor.js.map +1 -1
- package/lib/cjs/components/TextEditor/TextEditor.js +17 -18
- package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
- package/lib/cjs/components/withClickOutside.js +10 -11
- package/lib/cjs/components/withClickOutside.js.map +1 -1
- package/lib/cjs/components/withZoomPanPinchHOC.js +10 -12
- package/lib/cjs/components/withZoomPanPinchHOC.js.map +1 -1
- package/lib/cjs/constants/eventIgnoredRoles.js +13 -0
- package/lib/cjs/constants/eventIgnoredRoles.js.map +1 -0
- package/lib/cjs/constants/texts.js +11 -0
- package/lib/cjs/constants/texts.js.map +1 -1
- package/lib/cjs/contexts/BuilderContext.js +208 -0
- package/lib/cjs/contexts/BuilderContext.js.map +1 -0
- package/lib/cjs/contexts/PresentationContext.js +140 -0
- package/lib/cjs/contexts/PresentationContext.js.map +1 -0
- package/lib/cjs/contexts/PropContext.js +144 -0
- package/lib/cjs/contexts/PropContext.js.map +1 -0
- package/lib/cjs/contexts/Providers.js +70 -0
- package/lib/cjs/contexts/Providers.js.map +1 -0
- package/lib/cjs/index.js +0 -2
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/styles/_jfPrint.scss +17 -1
- package/lib/cjs/styles/_jfReportsModal.scss +9 -9
- package/lib/cjs/styles/_jfReportsPanels.scss +4 -1
- package/lib/cjs/styles/_jfReportsReportItem.scss +1 -1
- package/lib/cjs/styles/_jfReportsSVG.scss +0 -1
- package/lib/cjs/styles/_jfReportsTextEditor.scss +5 -0
- package/lib/cjs/styles/_jfSearchInput.scss +2 -2
- package/lib/cjs/utils/functions.js +20 -9
- package/lib/cjs/utils/functions.js.map +1 -1
- package/lib/cjs/utils/getDefaultPresentationActions.js +1 -1
- package/lib/cjs/utils/getDefaultPresentationActions.js.map +1 -1
- package/lib/cjs/utils/hooks.js +64 -47
- package/lib/cjs/utils/hooks.js.map +1 -1
- package/lib/esm/components/AlignmentGuides.js +11 -12
- package/lib/esm/components/AlignmentGuides.js.map +1 -1
- package/lib/esm/components/Builder/Builder.js +20 -129
- package/lib/esm/components/Builder/Builder.js.map +1 -1
- package/lib/esm/components/Builder/BuilderWrapper.js +58 -0
- package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -0
- package/lib/esm/components/Builder/ContextMenu.js +31 -30
- package/lib/esm/components/Builder/ContextMenu.js.map +1 -1
- package/lib/esm/components/Builder/DndWrapper.js +10 -10
- package/lib/esm/components/Builder/DndWrapper.js.map +1 -1
- package/lib/esm/components/Builder/Element.js +50 -43
- package/lib/esm/components/Builder/Element.js.map +1 -1
- package/lib/esm/components/Builder/Page.js +128 -83
- package/lib/esm/components/Builder/Page.js.map +1 -1
- package/lib/esm/components/Builder/PageActions.js +35 -37
- package/lib/esm/components/Builder/PageActions.js.map +1 -1
- package/lib/esm/components/Builder/PageAdder.js +11 -12
- package/lib/esm/components/Builder/PageAdder.js.map +1 -1
- package/lib/esm/components/Builder/Panel.js +8 -10
- package/lib/esm/components/Builder/Panel.js.map +1 -1
- package/lib/esm/components/Builder/ReportItemRenderer.js +7 -6
- package/lib/esm/components/Builder/ReportItemRenderer.js.map +1 -1
- package/lib/esm/components/Builder/Scene.js +77 -203
- package/lib/esm/components/Builder/Scene.js.map +1 -1
- package/lib/esm/components/Builder/SearchInput.js +28 -58
- package/lib/esm/components/Builder/SearchInput.js.map +1 -1
- package/lib/esm/components/Builder/Section.js +8 -10
- package/lib/esm/components/Builder/Section.js.map +1 -1
- package/lib/esm/components/Builder/Tabs.js +19 -16
- package/lib/esm/components/Builder/Tabs.js.map +1 -1
- package/lib/esm/components/Builder/ZoomControls.js +20 -30
- package/lib/esm/components/Builder/ZoomControls.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItem.js +165 -156
- package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItemActions.js +12 -14
- package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItemLayer.js +23 -20
- package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
- package/lib/esm/components/Elements/Chart.js +3 -4
- package/lib/esm/components/Elements/Chart.js.map +1 -1
- package/lib/esm/components/Elements/Icon.js +3 -5
- package/lib/esm/components/Elements/Icon.js.map +1 -1
- package/lib/esm/components/Elements/Image.js +11 -12
- package/lib/esm/components/Elements/Image.js.map +1 -1
- package/lib/esm/components/Elements/RichText.js +16 -14
- package/lib/esm/components/Elements/RichText.js.map +1 -1
- package/lib/esm/components/Elements/Shapes.js +2 -4
- package/lib/esm/components/Elements/Shapes.js.map +1 -1
- package/lib/esm/components/ItemPositioner.js +6 -8
- package/lib/esm/components/ItemPositioner.js.map +1 -1
- package/lib/esm/components/PageItemResizer.js +3 -7
- package/lib/esm/components/PageItemResizer.js.map +1 -1
- package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js +25 -59
- package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
- package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +2 -4
- package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +1 -1
- package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js +8 -15
- package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js.map +1 -1
- package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js +56 -22
- package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js.map +1 -1
- package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +48 -0
- package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +1 -0
- package/lib/esm/components/Panels/AllSlidesPanel/PageList.js +140 -48
- package/lib/esm/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
- package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js +17 -18
- package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +1 -1
- package/lib/esm/components/Panels/LeftPanel/Elements.js +49 -53
- package/lib/esm/components/Panels/LeftPanel/Elements.js.map +1 -1
- package/lib/esm/components/Panels/LeftPanel/LeftPanel.js +6 -34
- package/lib/esm/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
- package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js +4 -4
- package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
- package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js +4 -3
- package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
- package/lib/esm/components/Panels/RightPanel/RightPanel.js +141 -145
- package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
- package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js +7 -4
- package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
- package/lib/esm/components/Panels/RightPanel/Settings.js +21 -22
- package/lib/esm/components/Panels/RightPanel/Settings.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js +106 -96
- package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/PageThumbnailActions.js +17 -18
- package/lib/esm/components/Panels/SlidesPanel/PageThumbnailActions.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +33 -66
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js +9 -9
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js +62 -28
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js +48 -0
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js.map +1 -0
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js +8 -9
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js +165 -111
- package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
- package/lib/esm/components/Presentation/Presentation.js +19 -69
- package/lib/esm/components/Presentation/Presentation.js.map +1 -1
- package/lib/esm/components/Presentation/PresentationBar/PageNavigation.js +8 -10
- package/lib/esm/components/Presentation/PresentationBar/PageNavigation.js.map +1 -1
- package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js +46 -13
- package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
- package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js +45 -87
- package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
- package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js +8 -10
- package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
- package/lib/esm/components/Presentation/PresentationWrapper.js +57 -60
- package/lib/esm/components/Presentation/PresentationWrapper.js.map +1 -1
- package/lib/esm/components/Presentation/ProgressBar.js +4 -6
- package/lib/esm/components/Presentation/ProgressBar.js.map +1 -1
- package/lib/esm/components/Preview/Preview.js +14 -68
- package/lib/esm/components/Preview/Preview.js.map +1 -1
- package/lib/esm/components/Preview/StaticItem.js +5 -15
- package/lib/esm/components/Preview/StaticItem.js.map +1 -1
- package/lib/esm/components/Preview/StaticPage.js +16 -22
- package/lib/esm/components/Preview/StaticPage.js.map +1 -1
- package/lib/esm/components/Preview/StaticScene.js +34 -56
- package/lib/esm/components/Preview/StaticScene.js.map +1 -1
- package/lib/esm/components/Print/Print.js +18 -57
- package/lib/esm/components/Print/Print.js.map +1 -1
- package/lib/esm/components/Print/PrintModal.js +49 -0
- package/lib/esm/components/Print/PrintModal.js.map +1 -0
- package/lib/esm/components/Print/{PrintModeWithoutContext.js → PrintWrapper.js} +11 -42
- package/lib/esm/components/Print/PrintWrapper.js.map +1 -0
- package/lib/esm/components/Report.js +29 -41
- package/lib/esm/components/Report.js.map +1 -1
- package/lib/esm/components/ReportItemsWrapper.js +20 -34
- package/lib/esm/components/ReportItemsWrapper.js.map +1 -1
- package/lib/esm/components/ReportWrapper.js +29 -58
- package/lib/esm/components/ReportWrapper.js.map +1 -1
- package/lib/esm/components/Settings/Button.js +8 -10
- package/lib/esm/components/Settings/Button.js.map +1 -1
- package/lib/esm/components/Settings/CheckboxGroup.js +8 -10
- package/lib/esm/components/Settings/CheckboxGroup.js.map +1 -1
- package/lib/esm/components/Settings/ColorPicker.js +18 -13
- package/lib/esm/components/Settings/ColorPicker.js.map +1 -1
- package/lib/esm/components/Settings/Dropdown.js +10 -12
- package/lib/esm/components/Settings/Dropdown.js.map +1 -1
- package/lib/esm/components/Settings/FieldSet.js +3 -4
- package/lib/esm/components/Settings/FieldSet.js.map +1 -1
- package/lib/esm/components/Settings/IconSelectBox.js +8 -10
- package/lib/esm/components/Settings/IconSelectBox.js.map +1 -1
- package/lib/esm/components/Settings/ImagePicker/EnterURL.js +4 -6
- package/lib/esm/components/Settings/ImagePicker/EnterURL.js.map +1 -1
- package/lib/esm/components/Settings/ImagePicker/ImageThumbnailWithDelete.js +6 -8
- package/lib/esm/components/Settings/ImagePicker/ImageThumbnailWithDelete.js.map +1 -1
- package/lib/esm/components/Settings/ImageUrl.js +8 -10
- package/lib/esm/components/Settings/ImageUrl.js.map +1 -1
- package/lib/esm/components/Settings/LayoutSizeSettings.js +4 -6
- package/lib/esm/components/Settings/LayoutSizeSettings.js.map +1 -1
- package/lib/esm/components/Settings/Orientation.js +8 -10
- package/lib/esm/components/Settings/Orientation.js.map +1 -1
- package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js +121 -0
- package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -0
- package/lib/esm/components/Settings/PageLayer/LayerItem.js +92 -34
- package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
- package/lib/esm/components/Settings/PageLayer/PageLayer.js +117 -52
- package/lib/esm/components/Settings/PageLayer/PageLayer.js.map +1 -1
- package/lib/esm/components/Settings/SegmentControl.js +8 -10
- package/lib/esm/components/Settings/SegmentControl.js.map +1 -1
- package/lib/esm/components/Settings/SelectBox.js +8 -10
- package/lib/esm/components/Settings/SelectBox.js.map +1 -1
- package/lib/esm/components/Settings/SettingsItemRenderer.js +9 -11
- package/lib/esm/components/Settings/SettingsItemRenderer.js.map +1 -1
- package/lib/esm/components/Settings/SizeSettings.js +4 -6
- package/lib/esm/components/Settings/SizeSettings.js.map +1 -1
- package/lib/esm/components/Settings/Slider.js +8 -10
- package/lib/esm/components/Settings/Slider.js.map +1 -1
- package/lib/esm/components/Settings/Switch.js +8 -10
- package/lib/esm/components/Settings/Switch.js.map +1 -1
- package/lib/esm/components/Settings/Textbox.js +12 -14
- package/lib/esm/components/Settings/Textbox.js.map +1 -1
- package/lib/esm/components/Settings/Toggle.js +8 -10
- package/lib/esm/components/Settings/Toggle.js.map +1 -1
- package/lib/esm/components/StaticElements/StaticRichText.js +26 -30
- package/lib/esm/components/StaticElements/StaticRichText.js.map +1 -1
- package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js +2 -4
- package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
- package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +4 -6
- package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
- package/lib/esm/components/TextEditor/QuillEditor.js +6 -11
- package/lib/esm/components/TextEditor/QuillEditor.js.map +1 -1
- package/lib/esm/components/TextEditor/TextEditor.js +17 -18
- package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
- package/lib/esm/components/withClickOutside.js +11 -12
- package/lib/esm/components/withClickOutside.js.map +1 -1
- package/lib/esm/components/withZoomPanPinchHOC.js +10 -12
- package/lib/esm/components/withZoomPanPinchHOC.js.map +1 -1
- package/lib/esm/constants/eventIgnoredRoles.js +9 -0
- package/lib/esm/constants/eventIgnoredRoles.js.map +1 -0
- package/lib/esm/constants/texts.js +11 -0
- package/lib/esm/constants/texts.js.map +1 -1
- package/lib/esm/contexts/BuilderContext.js +199 -0
- package/lib/esm/contexts/BuilderContext.js.map +1 -0
- package/lib/esm/contexts/PresentationContext.js +131 -0
- package/lib/esm/contexts/PresentationContext.js.map +1 -0
- package/lib/esm/contexts/PropContext.js +135 -0
- package/lib/esm/contexts/PropContext.js.map +1 -0
- package/lib/esm/contexts/Providers.js +64 -0
- package/lib/esm/contexts/Providers.js.map +1 -0
- package/lib/esm/index.js +0 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/styles/_jfPrint.scss +17 -1
- package/lib/esm/styles/_jfReportsModal.scss +9 -9
- package/lib/esm/styles/_jfReportsPanels.scss +4 -1
- package/lib/esm/styles/_jfReportsReportItem.scss +1 -1
- package/lib/esm/styles/_jfReportsSVG.scss +0 -1
- package/lib/esm/styles/_jfReportsTextEditor.scss +5 -0
- package/lib/esm/styles/_jfSearchInput.scss +2 -2
- package/lib/esm/utils/functions.js +16 -9
- package/lib/esm/utils/functions.js.map +1 -1
- package/lib/esm/utils/getDefaultPresentationActions.js +1 -1
- package/lib/esm/utils/getDefaultPresentationActions.js.map +1 -1
- package/lib/esm/utils/hooks.js +66 -49
- package/lib/esm/utils/hooks.js.map +1 -1
- package/package.json +18 -14
- package/lib/cjs/components/Print/PrintMode.js +0 -59
- package/lib/cjs/components/Print/PrintMode.js.map +0 -1
- package/lib/cjs/components/Print/PrintModeWithoutContext.js.map +0 -1
- package/lib/cjs/components/ResponsiveContent.js +0 -15
- package/lib/cjs/components/ResponsiveContent.js.map +0 -1
- package/lib/cjs/utils/builderContext.js +0 -308
- package/lib/cjs/utils/builderContext.js.map +0 -1
- package/lib/cjs/utils/presentationContext.js +0 -144
- package/lib/cjs/utils/presentationContext.js.map +0 -1
- package/lib/cjs/utils/propContext.js +0 -133
- package/lib/cjs/utils/propContext.js.map +0 -1
- package/lib/esm/components/Print/PrintMode.js +0 -52
- package/lib/esm/components/Print/PrintMode.js.map +0 -1
- package/lib/esm/components/Print/PrintModeWithoutContext.js.map +0 -1
- package/lib/esm/components/ResponsiveContent.js +0 -13
- package/lib/esm/components/ResponsiveContent.js.map +0 -1
- package/lib/esm/utils/builderContext.js +0 -297
- package/lib/esm/utils/builderContext.js.map +0 -1
- package/lib/esm/utils/presentationContext.js +0 -133
- package/lib/esm/utils/presentationContext.js.map +0 -1
- package/lib/esm/utils/propContext.js +0 -122
- package/lib/esm/utils/propContext.js.map +0 -1
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import 'core-js/modules/es.array.map.js';
|
|
2
|
-
import
|
|
2
|
+
import 'core-js/modules/es.object.to-string.js';
|
|
3
|
+
import 'core-js/modules/es.promise.js';
|
|
4
|
+
import 'regenerator-runtime/runtime.js';
|
|
5
|
+
import { useCallback, useMemo } from 'react';
|
|
3
6
|
import PropTypes from 'prop-types';
|
|
4
7
|
import { getDefaultPresentationActions } from '../../../utils/getDefaultPresentationActions.js';
|
|
5
8
|
import * as icons from '../../../utils/icons.js';
|
|
9
|
+
import { usePresentationStore } from '../../../contexts/PresentationContext.js';
|
|
10
|
+
import { closeFullscreen, openFullscreenHelper } from '../../../utils/functions.js';
|
|
6
11
|
import { jsx } from 'react/jsx-runtime';
|
|
7
12
|
import SvgPen from '../../../assets/svg/presentation/pen.svg.js';
|
|
8
13
|
|
|
@@ -12,16 +17,51 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
12
17
|
|
|
13
18
|
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; }
|
|
14
19
|
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
21
|
+
|
|
22
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
23
|
+
|
|
24
|
+
var PresentationActions = function PresentationActions() {
|
|
25
|
+
var isFullscreen = usePresentationStore(function (state) {
|
|
26
|
+
return state.isFullscreen;
|
|
27
|
+
});
|
|
28
|
+
var presentationBarActions = usePresentationStore(function (state) {
|
|
29
|
+
return state.presentationBarActions;
|
|
30
|
+
});
|
|
31
|
+
var toggleFullscreen = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
32
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
33
|
+
while (1) {
|
|
34
|
+
switch (_context.prev = _context.next) {
|
|
35
|
+
case 0:
|
|
36
|
+
if (isFullscreen) {
|
|
37
|
+
_context.next = 5;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
_context.next = 3;
|
|
42
|
+
return openFullscreenHelper();
|
|
43
|
+
|
|
44
|
+
case 3:
|
|
45
|
+
_context.next = 7;
|
|
46
|
+
break;
|
|
47
|
+
|
|
48
|
+
case 5:
|
|
49
|
+
_context.next = 7;
|
|
50
|
+
return closeFullscreen();
|
|
51
|
+
|
|
52
|
+
case 7:
|
|
53
|
+
case "end":
|
|
54
|
+
return _context.stop();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}, _callee);
|
|
58
|
+
})), [isFullscreen]);
|
|
19
59
|
var defaultPresentationActions = useMemo(function () {
|
|
20
60
|
return getDefaultPresentationActions({
|
|
21
61
|
isFullscreen: isFullscreen,
|
|
22
62
|
toggleFullscreen: toggleFullscreen
|
|
23
63
|
});
|
|
24
|
-
}, [isFullscreen]);
|
|
64
|
+
}, [isFullscreen, toggleFullscreen]);
|
|
25
65
|
return /*#__PURE__*/jsx("div", {
|
|
26
66
|
className: "action-container d-flex",
|
|
27
67
|
children: presentationBarActions.map(function (action) {
|
|
@@ -65,13 +105,6 @@ PresentationActions.propTypes = {
|
|
|
65
105
|
presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),
|
|
66
106
|
toggleFullscreen: PropTypes.func
|
|
67
107
|
};
|
|
68
|
-
PresentationActions.defaultProps = {
|
|
69
|
-
isFullscreen: false,
|
|
70
|
-
presentationBarActions: [],
|
|
71
|
-
toggleFullscreen: function toggleFullscreen(f) {
|
|
72
|
-
return f;
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
108
|
|
|
76
109
|
export default PresentationActions;
|
|
77
110
|
//# sourceMappingURL=PresentationActions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresentationActions.js","sources":["../../../../../src/components/Presentation/PresentationBar/PresentationActions.js"],"sourcesContent":["import { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { getDefaultPresentationActions } from '../../../utils/getDefaultPresentationActions';\nimport * as icons from '../../../utils/icons';\n\nconst PresentationActions = ({\n isFullscreen
|
|
1
|
+
{"version":3,"file":"PresentationActions.js","sources":["../../../../../src/components/Presentation/PresentationBar/PresentationActions.js"],"sourcesContent":["import { useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { getDefaultPresentationActions } from '../../../utils/getDefaultPresentationActions';\nimport * as icons from '../../../utils/icons';\nimport { usePresentationStore } from '../../../contexts/PresentationContext';\nimport { closeFullscreen, openFullscreenHelper } from '../../../utils/functions';\n\nconst PresentationActions = () => {\n const isFullscreen = usePresentationStore(state => state.isFullscreen);\n const presentationBarActions = usePresentationStore(state => state.presentationBarActions);\n\n const toggleFullscreen = useCallback(async () => {\n if (!isFullscreen) {\n await openFullscreenHelper();\n } else {\n await closeFullscreen();\n }\n }, [isFullscreen]);\n\n const defaultPresentationActions = useMemo(() => {\n return getDefaultPresentationActions({\n isFullscreen,\n toggleFullscreen,\n });\n }, [isFullscreen, toggleFullscreen]);\n\n return (\n <div className=\"action-container d-flex\">\n {presentationBarActions.map(action => {\n if (action.isHidden) {\n return null;\n }\n\n if (action.handler) {\n const ActionIcon = icons[action.icon] ? icons[action.icon] : icons.pen;\n return (\n <button\n key={action.key}\n aria-label={action.key}\n className={`jfReportButton ${action.className}`}\n onClick={action.handler}\n title={action.title ? action.title : null}\n type=\"button\"\n >\n <ActionIcon className={`jfReportSVG icon-${action.icon}`} />\n {/* {action.title && <span>{action.title}</span>} */}\n </button>\n );\n }\n\n if (action.Component) {\n const { Component, props } = action;\n return (\n <Component\n key={action.key}\n {...(props ? props : {})}\n />\n );\n }\n\n const defaultAction = defaultPresentationActions[action.key];\n if (!defaultAction || defaultAction.isHidden) {\n return null;\n }\n\n return defaultAction;\n })}\n </div>\n );\n};\n\nPresentationActions.propTypes = {\n isFullscreen: PropTypes.bool,\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n toggleFullscreen: PropTypes.func,\n};\n\nexport default PresentationActions;\n"],"names":["PresentationActions","isFullscreen","usePresentationStore","state","presentationBarActions","toggleFullscreen","useCallback","openFullscreenHelper","closeFullscreen","defaultPresentationActions","useMemo","getDefaultPresentationActions","_jsx","map","action","isHidden","handler","ActionIcon","icons","icon","key","className","title","Component","props","defaultAction","propTypes","PropTypes","bool","arrayOf","shape","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;IAOMA,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AAChC,MAAMC,YAAY,GAAGC,oBAAoB,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,YAAV;AAAA,GAAN,CAAzC;AACA,MAAMG,sBAAsB,GAAGF,oBAAoB,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,sBAAV;AAAA,GAAN,CAAnD;AAEA,MAAMC,gBAAgB,GAAGC,WAAW,uEAAC;AAAA;AAAA;AAAA;AAAA;AAAA,gBAC9BL,YAD8B;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAE3BM,oBAAoB,EAFO;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,mBAI3BC,eAAe,EAJY;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAD,IAMjC,CAACP,YAAD,CANiC,CAApC;AAQA,MAAMQ,0BAA0B,GAAGC,OAAO,CAAC,YAAM;AAC/C,WAAOC,6BAA6B,CAAC;AACnCV,MAAAA,YAAY,EAAZA,YADmC;AAEnCI,MAAAA,gBAAgB,EAAhBA;AAFmC,KAAD,CAApC;AAID,GALyC,EAKvC,CAACJ,YAAD,EAAeI,gBAAf,CALuC,CAA1C;AAOA,sBACEO;AAAK,IAAA,SAAS,EAAC,yBAAf;AAAA,cACGR,sBAAsB,CAACS,GAAvB,CAA2B,UAAAC,MAAM,EAAI;AACpC,UAAIA,MAAM,CAACC,QAAX,EAAqB;AACnB,eAAO,IAAP;AACD;;AAED,UAAID,MAAM,CAACE,OAAX,EAAoB;AAClB,YAAMC,UAAU,GAAGC,KAAK,CAACJ,MAAM,CAACK,IAAR,CAAL,GAAqBD,KAAK,CAACJ,MAAM,CAACK,IAAR,CAA1B,GAA0CD,MAA7D;AACA,4BACEN;AAEE,wBAAYE,MAAM,CAACM,GAFrB;AAGE,UAAA,SAAS,2BAAoBN,MAAM,CAACO,SAA3B,CAHX;AAIE,UAAA,OAAO,EAAEP,MAAM,CAACE,OAJlB;AAKE,UAAA,KAAK,EAAEF,MAAM,CAACQ,KAAP,GAAeR,MAAM,CAACQ,KAAtB,GAA8B,IALvC;AAME,UAAA,IAAI,EAAC,QANP;AAAA,iCAQEV,IAAC,UAAD;AAAY,YAAA,SAAS,6BAAsBE,MAAM,CAACK,IAA7B;AAArB;AARF,WACOL,MAAM,CAACM,GADd,CADF;AAaD;;AAED,UAAIN,MAAM,CAACS,SAAX,EAAsB;AACpB,YAAQA,SAAR,GAA6BT,MAA7B,CAAQS,SAAR;AAAA,YAAmBC,KAAnB,GAA6BV,MAA7B,CAAmBU,KAAnB;AACA,4BACEZ,IAAC,SAAD,oBAEOY,KAAK,GAAGA,KAAH,GAAW,EAFvB,GACOV,MAAM,CAACM,GADd,CADF;AAMD;;AAED,UAAMK,aAAa,GAAGhB,0BAA0B,CAACK,MAAM,CAACM,GAAR,CAAhD;;AACA,UAAI,CAACK,aAAD,IAAkBA,aAAa,CAACV,QAApC,EAA8C;AAC5C,eAAO,IAAP;AACD;;AAED,aAAOU,aAAP;AACD,KAtCA;AADH,IADF;AA2CD;;AAEDzB,mBAAmB,CAAC0B,SAApB,GAAgC;AAC9BzB,EAAAA,YAAY,EAAE0B,SAAS,CAACC,IADM;AAE9BxB,EAAAA,sBAAsB,EAAEuB,SAAS,CAACE,OAAV,CAAkBF,SAAS,CAACG,KAAV,CAAgB,EAAhB,CAAlB,CAFM;AAG9BzB,EAAAA,gBAAgB,EAAEsB,SAAS,CAACI;AAHE,CAAhC;;;;"}
|
|
@@ -1,51 +1,35 @@
|
|
|
1
|
+
import 'core-js/modules/web.dom-collections.for-each.js';
|
|
2
|
+
import { useLayoutEffect } from 'react';
|
|
1
3
|
import PropTypes from 'prop-types';
|
|
2
4
|
import PageNavigation from './PageNavigation.js';
|
|
3
5
|
import PresentationActions from './PresentationActions.js';
|
|
4
6
|
import SelectZoom from './SelectZoom.js';
|
|
5
|
-
import { changePage
|
|
7
|
+
import { changePage } from '../../../utils/functions.js';
|
|
8
|
+
import { useBuilderStore } from '../../../contexts/BuilderContext.js';
|
|
9
|
+
import { usePresentationStore } from '../../../contexts/PresentationContext.js';
|
|
6
10
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
11
|
|
|
8
12
|
var PresentationBar = function PresentationBar(_ref) {
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
if (openRequest && openRequest.then) {
|
|
31
|
-
openRequest.then(fitToScreen);
|
|
32
|
-
} else {
|
|
33
|
-
fitToScreen(500);
|
|
34
|
-
}
|
|
35
|
-
} else {
|
|
36
|
-
var closeRequest = closeFullscreen();
|
|
37
|
-
|
|
38
|
-
if (closeRequest && closeRequest.then) {
|
|
39
|
-
closeRequest.then(fitToScreen);
|
|
40
|
-
} else {
|
|
41
|
-
fitToScreen(600); // magic number for safari :(
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
onAnEventTrigger('clickedFullscreen');
|
|
46
|
-
setIsFullscreen(goFullscreen);
|
|
47
|
-
};
|
|
48
|
-
};
|
|
13
|
+
var _ref$isVisible = _ref.isVisible,
|
|
14
|
+
isVisible = _ref$isVisible === void 0 ? true : _ref$isVisible;
|
|
15
|
+
var currentPage = usePresentationStore(function (state) {
|
|
16
|
+
return state.currentPage;
|
|
17
|
+
});
|
|
18
|
+
var setCurrentPage = usePresentationStore(function (state) {
|
|
19
|
+
return state.setCurrentPage;
|
|
20
|
+
});
|
|
21
|
+
var fittedZoom = usePresentationStore(function (state) {
|
|
22
|
+
return state.fittedZoom;
|
|
23
|
+
});
|
|
24
|
+
var pageCount = usePresentationStore(function (state) {
|
|
25
|
+
return state.pageCount;
|
|
26
|
+
});
|
|
27
|
+
var setZoom = useBuilderStore(function (state) {
|
|
28
|
+
return state.setZoom;
|
|
29
|
+
});
|
|
30
|
+
var zoom = useBuilderStore(function (state) {
|
|
31
|
+
return state.zoom;
|
|
32
|
+
});
|
|
49
33
|
|
|
50
34
|
var pageChanger = function pageChanger(action) {
|
|
51
35
|
return changePage({
|
|
@@ -56,8 +40,25 @@ var PresentationBar = function PresentationBar(_ref) {
|
|
|
56
40
|
});
|
|
57
41
|
};
|
|
58
42
|
|
|
43
|
+
useLayoutEffect(function () {
|
|
44
|
+
// Hi, this is a horrible solution to a horrible Chromium bug.
|
|
45
|
+
// It is temporary, and once chromium crew solves the
|
|
46
|
+
// https://bugs.chromium.org/p/chromium/issues/detail?id=1440024
|
|
47
|
+
// we will be able to remove it, the idea itself comes from
|
|
48
|
+
// them, btw https://bugs.chromium.org/p/chromium/issues/detail?id=1440024#c3
|
|
49
|
+
if (window.chrome) {
|
|
50
|
+
// Detaching and re-attaching to dom likely forces a re-draw
|
|
51
|
+
// of the svg.
|
|
52
|
+
document.querySelectorAll('svg.recharts-surface').forEach(function (domNode) {
|
|
53
|
+
var parent = domNode.parentElement;
|
|
54
|
+
parent.removeChild(domNode);
|
|
55
|
+
parent.appendChild(domNode);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
|
|
59
60
|
var handleZoomChange = function handleZoomChange(e) {
|
|
60
|
-
setZoom(e.target.value / 100
|
|
61
|
+
setZoom(e.target.value / 100);
|
|
61
62
|
e.target.blur(); // prevent mixup with other keyboard shortcuts
|
|
62
63
|
};
|
|
63
64
|
|
|
@@ -84,56 +85,13 @@ var PresentationBar = function PresentationBar(_ref) {
|
|
|
84
85
|
}), /*#__PURE__*/jsx("div", {
|
|
85
86
|
className: "divider"
|
|
86
87
|
})]
|
|
87
|
-
}), /*#__PURE__*/jsx(PresentationActions, {
|
|
88
|
-
isFullscreen: isFullscreen,
|
|
89
|
-
presentationBarActions: presentationBarActions,
|
|
90
|
-
toggleFullscreen: toggleFullscreen
|
|
91
|
-
})]
|
|
88
|
+
}), /*#__PURE__*/jsx(PresentationActions, {})]
|
|
92
89
|
})
|
|
93
90
|
});
|
|
94
91
|
};
|
|
95
92
|
|
|
96
93
|
PresentationBar.propTypes = {
|
|
97
|
-
|
|
98
|
-
fitToScreen: PropTypes.func,
|
|
99
|
-
fittedZoom: PropTypes.number,
|
|
100
|
-
isFullscreen: PropTypes.bool,
|
|
101
|
-
isVisible: PropTypes.bool,
|
|
102
|
-
onAnEventTrigger: PropTypes.func,
|
|
103
|
-
pageCount: PropTypes.number,
|
|
104
|
-
presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),
|
|
105
|
-
setCurrentPage: PropTypes.func,
|
|
106
|
-
setIsFullscreen: PropTypes.func,
|
|
107
|
-
setZoom: PropTypes.func,
|
|
108
|
-
settings: PropTypes.shape({
|
|
109
|
-
reportLayoutWidth: PropTypes.string
|
|
110
|
-
}),
|
|
111
|
-
zoom: PropTypes.number
|
|
112
|
-
};
|
|
113
|
-
PresentationBar.defaultProps = {
|
|
114
|
-
currentPage: 1,
|
|
115
|
-
fitToScreen: function fitToScreen(f) {
|
|
116
|
-
return f;
|
|
117
|
-
},
|
|
118
|
-
fittedZoom: 1,
|
|
119
|
-
isFullscreen: false,
|
|
120
|
-
isVisible: true,
|
|
121
|
-
onAnEventTrigger: function onAnEventTrigger(f) {
|
|
122
|
-
return f;
|
|
123
|
-
},
|
|
124
|
-
pageCount: 1,
|
|
125
|
-
presentationBarActions: [],
|
|
126
|
-
setCurrentPage: function setCurrentPage(f) {
|
|
127
|
-
return f;
|
|
128
|
-
},
|
|
129
|
-
setIsFullscreen: function setIsFullscreen(f) {
|
|
130
|
-
return f;
|
|
131
|
-
},
|
|
132
|
-
setZoom: function setZoom(f) {
|
|
133
|
-
return f;
|
|
134
|
-
},
|
|
135
|
-
settings: {},
|
|
136
|
-
zoom: 1
|
|
94
|
+
isVisible: PropTypes.bool
|
|
137
95
|
};
|
|
138
96
|
|
|
139
97
|
export default PresentationBar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresentationBar.js","sources":["../../../../../src/components/Presentation/PresentationBar/PresentationBar.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport PageNavigation from './PageNavigation';\nimport PresentationActions from './PresentationActions';\nimport SelectZoom from './SelectZoom';\nimport {
|
|
1
|
+
{"version":3,"file":"PresentationBar.js","sources":["../../../../../src/components/Presentation/PresentationBar/PresentationBar.js"],"sourcesContent":["import { useLayoutEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport PageNavigation from './PageNavigation';\nimport PresentationActions from './PresentationActions';\nimport SelectZoom from './SelectZoom';\nimport { changePage } from '../../../utils/functions';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePresentationStore } from '../../../contexts/PresentationContext';\n\nconst PresentationBar = ({\n isVisible = true,\n}) => {\n const currentPage = usePresentationStore(state => state.currentPage);\n const setCurrentPage = usePresentationStore(state => state.setCurrentPage);\n const fittedZoom = usePresentationStore(state => state.fittedZoom);\n const pageCount = usePresentationStore(state => state.pageCount);\n const setZoom = useBuilderStore(state => state.setZoom);\n const zoom = useBuilderStore(state => state.zoom);\n\n const pageChanger = action => changePage({\n action,\n currentPage,\n pageCount,\n setCurrentPage,\n });\n\n useLayoutEffect(() => {\n // Hi, this is a horrible solution to a horrible Chromium bug.\n // It is temporary, and once chromium crew solves the\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1440024\n // we will be able to remove it, the idea itself comes from\n // them, btw https://bugs.chromium.org/p/chromium/issues/detail?id=1440024#c3\n if (window.chrome) {\n // Detaching and re-attaching to dom likely forces a re-draw\n // of the svg.\n document.querySelectorAll('svg.recharts-surface').forEach(domNode => {\n const parent = domNode.parentElement;\n parent.removeChild(domNode);\n parent.appendChild(domNode);\n });\n }\n });\n\n const handleZoomChange = e => {\n setZoom(e.target.value / 100);\n e.target.blur(); // prevent mixup with other keyboard shortcuts\n };\n\n return (\n <div className=\"jfPresentation-barContainer d-flex j-center f-width\">\n <div\n className={`\n floatingController p-relative d-flex a-center j-between w-fit forBar\n ${isVisible ? '' : ' hidden'}\n `}\n >\n <div className=\"toolSection-dropdownWrapper isDark\">\n <SelectZoom\n fittedZoom={fittedZoom}\n handleZoomChange={handleZoomChange}\n zoom={zoom}\n />\n </div>\n {pageCount > 1 && (\n <>\n <div className=\"divider\" />\n <PageNavigation\n currentPage={currentPage}\n decrease={pageChanger(-1)}\n increase={pageChanger(1)}\n isVisible={pageCount > 1}\n pageCount={pageCount}\n />\n <div className=\"divider\" />\n </>\n )}\n <PresentationActions />\n </div>\n </div>\n );\n};\n\nPresentationBar.propTypes = {\n isVisible: PropTypes.bool,\n};\n\nexport default PresentationBar;\n"],"names":["PresentationBar","isVisible","currentPage","usePresentationStore","state","setCurrentPage","fittedZoom","pageCount","setZoom","useBuilderStore","zoom","pageChanger","action","changePage","useLayoutEffect","window","chrome","document","querySelectorAll","forEach","domNode","parent","parentElement","removeChild","appendChild","handleZoomChange","e","target","value","blur","_jsx","_jsxs","propTypes","PropTypes","bool"],"mappings":";;;;;;;;;;;IASMA,eAAe,GAAG,SAAlBA,eAAkB,OAElB;AAAA,4BADJC,SACI;AAAA,MADJA,SACI,+BADQ,IACR;AACJ,MAAMC,WAAW,GAAGC,oBAAoB,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,WAAV;AAAA,GAAN,CAAxC;AACA,MAAMG,cAAc,GAAGF,oBAAoB,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,cAAV;AAAA,GAAN,CAA3C;AACA,MAAMC,UAAU,GAAGH,oBAAoB,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACE,UAAV;AAAA,GAAN,CAAvC;AACA,MAAMC,SAAS,GAAGJ,oBAAoB,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACG,SAAV;AAAA,GAAN,CAAtC;AACA,MAAMC,OAAO,GAAGC,eAAe,CAAC,UAAAL,KAAK;AAAA,WAAIA,KAAK,CAACI,OAAV;AAAA,GAAN,CAA/B;AACA,MAAME,IAAI,GAAGD,eAAe,CAAC,UAAAL,KAAK;AAAA,WAAIA,KAAK,CAACM,IAAV;AAAA,GAAN,CAA5B;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAAAC,MAAM;AAAA,WAAIC,UAAU,CAAC;AACvCD,MAAAA,MAAM,EAANA,MADuC;AAEvCV,MAAAA,WAAW,EAAXA,WAFuC;AAGvCK,MAAAA,SAAS,EAATA,SAHuC;AAIvCF,MAAAA,cAAc,EAAdA;AAJuC,KAAD,CAAd;AAAA,GAA1B;;AAOAS,EAAAA,eAAe,CAAC,YAAM;AACpB;AACA;AACA;AACA;AACA;AACA,QAAIC,MAAM,CAACC,MAAX,EAAmB;AACjB;AACA;AACAC,MAAAA,QAAQ,CAACC,gBAAT,CAA0B,sBAA1B,EAAkDC,OAAlD,CAA0D,UAAAC,OAAO,EAAI;AACnE,YAAMC,MAAM,GAAGD,OAAO,CAACE,aAAvB;AACAD,QAAAA,MAAM,CAACE,WAAP,CAAmBH,OAAnB;AACAC,QAAAA,MAAM,CAACG,WAAP,CAAmBJ,OAAnB;AACD,OAJD;AAKD;AACF,GAfc,CAAf;;AAiBA,MAAMK,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAC,CAAC,EAAI;AAC5BlB,IAAAA,OAAO,CAACkB,CAAC,CAACC,MAAF,CAASC,KAAT,GAAiB,GAAlB,CAAP;AACAF,IAAAA,CAAC,CAACC,MAAF,CAASE,IAAT,GAF4B;AAG7B,GAHD;;AAKA,sBACEC;AAAK,IAAA,SAAS,EAAC,qDAAf;AAAA,2BACEC;AACE,MAAA,SAAS,wGAEL9B,SAAS,GAAG,EAAH,GAAQ,SAFZ,eADX;AAAA,8BAME6B;AAAK,QAAA,SAAS,EAAC,oCAAf;AAAA,+BACEA,IAAC,UAAD;AACE,UAAA,UAAU,EAAExB,UADd;AAEE,UAAA,gBAAgB,EAAEmB,gBAFpB;AAGE,UAAA,IAAI,EAAEf;AAHR;AADF,QANF,EAaGH,SAAS,GAAG,CAAZ,iBACCwB;AAAA,gCACED;AAAK,UAAA,SAAS,EAAC;AAAf,UADF,eAEEA,IAAC,cAAD;AACE,UAAA,WAAW,EAAE5B,WADf;AAEE,UAAA,QAAQ,EAAES,WAAW,CAAC,CAAC,CAAF,CAFvB;AAGE,UAAA,QAAQ,EAAEA,WAAW,CAAC,CAAD,CAHvB;AAIE,UAAA,SAAS,EAAEJ,SAAS,GAAG,CAJzB;AAKE,UAAA,SAAS,EAAEA;AALb,UAFF,eASEuB;AAAK,UAAA,SAAS,EAAC;AAAf,UATF;AAAA,QAdJ,eA0BEA,IAAC,mBAAD,KA1BF;AAAA;AADF,IADF;AAgCD;;AAED9B,eAAe,CAACgC,SAAhB,GAA4B;AAC1B/B,EAAAA,SAAS,EAAEgC,SAAS,CAACC;AADK,CAA5B;;;;"}
|
|
@@ -5,9 +5,14 @@ import PropTypes from 'prop-types';
|
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
6
|
|
|
7
7
|
var SelectZoom = function SelectZoom(_ref) {
|
|
8
|
-
var fittedZoom = _ref.fittedZoom,
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
var _ref$fittedZoom = _ref.fittedZoom,
|
|
9
|
+
fittedZoom = _ref$fittedZoom === void 0 ? 1 : _ref$fittedZoom,
|
|
10
|
+
_ref$handleZoomChange = _ref.handleZoomChange,
|
|
11
|
+
handleZoomChange = _ref$handleZoomChange === void 0 ? function (f) {
|
|
12
|
+
return f;
|
|
13
|
+
} : _ref$handleZoomChange,
|
|
14
|
+
_ref$zoom = _ref.zoom,
|
|
15
|
+
zoom = _ref$zoom === void 0 ? 1 : _ref$zoom;
|
|
11
16
|
return /*#__PURE__*/jsxs("select", {
|
|
12
17
|
"aria-label": "Zoom selection",
|
|
13
18
|
className: "toolSection-dropdown controllerItem",
|
|
@@ -34,13 +39,6 @@ SelectZoom.propTypes = {
|
|
|
34
39
|
handleZoomChange: PropTypes.func,
|
|
35
40
|
zoom: PropTypes.number
|
|
36
41
|
};
|
|
37
|
-
SelectZoom.defaultProps = {
|
|
38
|
-
fittedZoom: 1,
|
|
39
|
-
handleZoomChange: function handleZoomChange(f) {
|
|
40
|
-
return f;
|
|
41
|
-
},
|
|
42
|
-
zoom: 1
|
|
43
|
-
};
|
|
44
42
|
|
|
45
43
|
export default SelectZoom;
|
|
46
44
|
//# sourceMappingURL=SelectZoom.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectZoom.js","sources":["../../../../../src/components/Presentation/PresentationBar/SelectZoom.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst SelectZoom = ({\n fittedZoom,\n handleZoomChange,\n zoom,\n}) => {\n return (\n <select\n aria-label=\"Zoom selection\"\n className=\"toolSection-dropdown controllerItem\"\n onChange={handleZoomChange}\n value={Math.round(zoom * 100)}\n >\n <option\n key=\"fitZoom\"\n value={fittedZoom * 100}\n >\n Fit\n </option>\n {Array.from({ length: 16 },\n (v, k) => (k * 10) + 50).map(opt => (\n <option\n key={opt}\n value={opt}\n >\n {`${opt}%`}\n </option>\n )
|
|
1
|
+
{"version":3,"file":"SelectZoom.js","sources":["../../../../../src/components/Presentation/PresentationBar/SelectZoom.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst SelectZoom = ({\n fittedZoom = 1,\n handleZoomChange = f => f,\n zoom = 1,\n}) => {\n return (\n <select\n aria-label=\"Zoom selection\"\n className=\"toolSection-dropdown controllerItem\"\n onChange={handleZoomChange}\n value={Math.round(zoom * 100)}\n >\n <option\n key=\"fitZoom\"\n value={fittedZoom * 100}\n >\n Fit\n </option>\n {Array.from({ length: 16 },\n (v, k) => (k * 10) + 50).map(opt => {\n return (\n <option\n key={opt}\n value={opt}\n >\n {`${opt}%`}\n </option>\n );\n })}\n </select>\n );\n};\n\nSelectZoom.propTypes = {\n fittedZoom: PropTypes.number,\n handleZoomChange: PropTypes.func,\n zoom: PropTypes.number,\n};\n\nexport default SelectZoom;\n"],"names":["SelectZoom","fittedZoom","handleZoomChange","f","zoom","_jsxs","Math","round","_jsx","Array","from","length","v","k","map","opt","propTypes","PropTypes","number","func"],"mappings":";;;;;;IAEMA,UAAU,GAAG,SAAbA,UAAa,OAIb;AAAA,6BAHJC,UAGI;AAAA,MAHJA,UAGI,gCAHS,CAGT;AAAA,mCAFJC,gBAEI;AAAA,MAFJA,gBAEI,sCAFe,UAAAC,CAAC;AAAA,WAAIA,CAAJ;AAAA,GAEhB;AAAA,uBADJC,IACI;AAAA,MADJA,IACI,0BADG,CACH;AACJ,sBACEC;AACE,kBAAW,gBADb;AAEE,IAAA,SAAS,EAAC,qCAFZ;AAGE,IAAA,QAAQ,EAAEH,gBAHZ;AAIE,IAAA,KAAK,EAAEI,IAAI,CAACC,KAAL,CAAWH,IAAI,GAAG,GAAlB,CAJT;AAAA,4BAMEI;AAEE,MAAA,KAAK,EAAEP,UAAU,GAAG,GAFtB;AAAA;AAAA,OACM,SADN,CANF,EAYGQ,KAAK,CAACC,IAAN,CAAW;AAAEC,MAAAA,MAAM,EAAE;AAAV,KAAX,EACC,UAACC,CAAD,EAAIC,CAAJ;AAAA,aAAWA,CAAC,GAAG,EAAL,GAAW,EAArB;AAAA,KADD,EAC0BC,GAD1B,CAC8B,UAAAC,GAAG,EAAI;AACpC,0BACEP;AAEE,QAAA,KAAK,EAAEO,GAFT;AAAA,4BAIMA,GAJN;AAAA,SACOA,GADP,CADF;AAQD,KAVA,CAZH;AAAA,IADF;AA0BD;;AAEDf,UAAU,CAACgB,SAAX,GAAuB;AACrBf,EAAAA,UAAU,EAAEgB,SAAS,CAACC,MADD;AAErBhB,EAAAA,gBAAgB,EAAEe,SAAS,CAACE,IAFP;AAGrBf,EAAAA,IAAI,EAAEa,SAAS,CAACC;AAHK,CAAvB;;;;"}
|
|
@@ -5,11 +5,11 @@ import classNames from 'classnames';
|
|
|
5
5
|
import { useDrag } from '@use-gesture/react';
|
|
6
6
|
import PresentationBar from './PresentationBar/PresentationBar.js';
|
|
7
7
|
import ProgressBar from './ProgressBar.js';
|
|
8
|
-
import {
|
|
8
|
+
import { useBuilderStore } from '../../contexts/BuilderContext.js';
|
|
9
9
|
import { useEventListener, useFullscreenChange } from '../../utils/hooks.js';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
10
|
+
import { getZoomValue, changePage, throttle } from '../../utils/functions.js';
|
|
11
|
+
import { usePresentationStore } from '../../contexts/PresentationContext.js';
|
|
12
|
+
import { usePropStore } from '../../contexts/PropContext.js';
|
|
13
13
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
14
14
|
|
|
15
15
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
@@ -25,47 +25,64 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
25
25
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
26
26
|
|
|
27
27
|
var PresentationWrapper = function PresentationWrapper(_ref) {
|
|
28
|
-
var children = _ref.children,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
28
|
+
var _ref$children = _ref.children,
|
|
29
|
+
children = _ref$children === void 0 ? function () {} : _ref$children;
|
|
30
|
+
var settings = usePropStore(function (state) {
|
|
31
|
+
return state.settings;
|
|
32
|
+
});
|
|
33
|
+
var currentPage = usePresentationStore(function (state) {
|
|
34
|
+
return state.currentPage;
|
|
35
|
+
});
|
|
36
|
+
var fittedZoom = usePresentationStore(function (state) {
|
|
37
|
+
return state.fittedZoom;
|
|
38
|
+
});
|
|
39
|
+
var isFullscreen = usePresentationStore(function (state) {
|
|
40
|
+
return state.isFullscreen;
|
|
41
|
+
});
|
|
42
|
+
var pageCount = usePresentationStore(function (state) {
|
|
43
|
+
return state.pageCount;
|
|
44
|
+
});
|
|
45
|
+
var setCurrentPage = usePresentationStore(function (state) {
|
|
46
|
+
return state.setCurrentPage;
|
|
47
|
+
});
|
|
48
|
+
var setFittedZoom = usePresentationStore(function (state) {
|
|
49
|
+
return state.setFittedZoom;
|
|
50
|
+
});
|
|
51
|
+
var setShowControlsInFullScreen = usePresentationStore(function (state) {
|
|
52
|
+
return state.setShowControlsInFullScreen;
|
|
53
|
+
});
|
|
54
|
+
var showControlsInFullScreen = usePresentationStore(function (state) {
|
|
55
|
+
return state.showControlsInFullScreen;
|
|
56
|
+
});
|
|
57
|
+
var useFixedPresentationBar = usePresentationStore(function (state) {
|
|
58
|
+
return state.useFixedPresentationBar;
|
|
59
|
+
});
|
|
60
|
+
var setZoom = useBuilderStore(function (state) {
|
|
61
|
+
return state.setZoom;
|
|
62
|
+
});
|
|
63
|
+
var zoom = useBuilderStore(function (state) {
|
|
64
|
+
return state.zoom;
|
|
65
|
+
});
|
|
51
66
|
var fitToScreen = useCallback(function () {
|
|
52
67
|
var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
53
68
|
return setTimeout(function () {
|
|
54
|
-
var newZoom =
|
|
55
|
-
handler: setZoom,
|
|
69
|
+
var newZoom = getZoomValue({
|
|
56
70
|
isFullscreen: isFullscreen,
|
|
57
|
-
isModeCustomize: false,
|
|
58
71
|
limitZoom: false,
|
|
59
|
-
settings:
|
|
72
|
+
settings: {
|
|
73
|
+
reportLayoutHeight: settings.reportLayoutHeight,
|
|
74
|
+
reportLayoutWidth: settings.reportLayoutWidth
|
|
75
|
+
},
|
|
60
76
|
useFixedPresentationBar: useFixedPresentationBar,
|
|
61
77
|
useProgressBar: pageCount > 2
|
|
62
78
|
});
|
|
79
|
+
setZoom(newZoom);
|
|
63
80
|
setFittedZoom(newZoom);
|
|
64
81
|
}, delay);
|
|
65
|
-
}, [settings, isFullscreen, useFixedPresentationBar, pageCount]);
|
|
82
|
+
}, [settings.reportLayoutHeight, settings.reportLayoutWidth, isFullscreen, useFixedPresentationBar, pageCount, setZoom, setFittedZoom]);
|
|
66
83
|
useEffect(function () {
|
|
67
84
|
fitToScreen(100);
|
|
68
|
-
}, [isFullscreen]);
|
|
85
|
+
}, [isFullscreen, fitToScreen]);
|
|
69
86
|
useEffect(function () {
|
|
70
87
|
if (isFullscreen) {
|
|
71
88
|
setShowControlsInFullScreen(true);
|
|
@@ -73,24 +90,22 @@ var PresentationWrapper = function PresentationWrapper(_ref) {
|
|
|
73
90
|
return setShowControlsInFullScreen(false);
|
|
74
91
|
}, 1500);
|
|
75
92
|
}
|
|
76
|
-
}, [isFullscreen]);
|
|
77
|
-
|
|
78
|
-
var pageChanger = function pageChanger(action) {
|
|
93
|
+
}, [isFullscreen, setShowControlsInFullScreen]);
|
|
94
|
+
var pageChanger = useCallback(function (action) {
|
|
79
95
|
return changePage({
|
|
80
96
|
action: action,
|
|
81
97
|
currentPage: currentPage,
|
|
82
98
|
pageCount: pageCount,
|
|
83
99
|
setCurrentPage: setCurrentPage
|
|
84
100
|
});
|
|
85
|
-
};
|
|
86
|
-
|
|
101
|
+
}, [currentPage, pageCount, setCurrentPage]);
|
|
87
102
|
var handleKeyboardEvent = useCallback(function (e) {
|
|
88
103
|
if (e.keyCode === 39) {
|
|
89
104
|
pageChanger(1)();
|
|
90
105
|
} else if (e.keyCode === 37) {
|
|
91
106
|
pageChanger(-1)();
|
|
92
107
|
}
|
|
93
|
-
});
|
|
108
|
+
}, [pageChanger]);
|
|
94
109
|
|
|
95
110
|
var setControlVisibility = function setControlVisibility(e) {
|
|
96
111
|
// TODO :: timeout in n out for better ux
|
|
@@ -111,7 +126,7 @@ var PresentationWrapper = function PresentationWrapper(_ref) {
|
|
|
111
126
|
useEventListener('gesturechange', function (e) {
|
|
112
127
|
return e.preventDefault();
|
|
113
128
|
});
|
|
114
|
-
useFullscreenChange(isFullscreen,
|
|
129
|
+
useFullscreenChange(isFullscreen, fitToScreen);
|
|
115
130
|
var gesture = useDrag(function (_ref2) {
|
|
116
131
|
var active = _ref2.active,
|
|
117
132
|
_ref2$movement = _slicedToArray(_ref2.movement, 1),
|
|
@@ -146,19 +161,8 @@ var PresentationWrapper = function PresentationWrapper(_ref) {
|
|
|
146
161
|
shouldCloseOnEsc: false,
|
|
147
162
|
shouldFocusAfterRender: false,
|
|
148
163
|
children: [children(currentPage - 1, gesture), /*#__PURE__*/jsx(PresentationBar, {
|
|
149
|
-
currentPage: currentPage,
|
|
150
|
-
fittedZoom: fittedZoom,
|
|
151
164
|
fitToScreen: fitToScreen,
|
|
152
|
-
|
|
153
|
-
isVisible: !isFullscreen || isFullscreen && showControlsInFullScreen,
|
|
154
|
-
onAnEventTrigger: onAnEventTrigger,
|
|
155
|
-
pageCount: pageCount,
|
|
156
|
-
presentationBarActions: presentationBarActions,
|
|
157
|
-
setCurrentPage: setCurrentPage,
|
|
158
|
-
setIsFullscreen: setIsFullscreen,
|
|
159
|
-
settings: settings,
|
|
160
|
-
setZoom: setZoom,
|
|
161
|
-
zoom: zoom
|
|
165
|
+
isVisible: !isFullscreen || isFullscreen && showControlsInFullScreen
|
|
162
166
|
}), /*#__PURE__*/jsx(ProgressBar, {
|
|
163
167
|
currentPage: currentPage,
|
|
164
168
|
pageCount: pageCount
|
|
@@ -168,14 +172,7 @@ var PresentationWrapper = function PresentationWrapper(_ref) {
|
|
|
168
172
|
};
|
|
169
173
|
|
|
170
174
|
PresentationWrapper.propTypes = {
|
|
171
|
-
children: PropTypes.any
|
|
172
|
-
presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),
|
|
173
|
-
useFixedPresentationBar: PropTypes.bool
|
|
174
|
-
};
|
|
175
|
-
PresentationWrapper.defaultProps = {
|
|
176
|
-
children: function children() {},
|
|
177
|
-
presentationBarActions: [],
|
|
178
|
-
useFixedPresentationBar: false
|
|
175
|
+
children: PropTypes.any
|
|
179
176
|
};
|
|
180
177
|
|
|
181
178
|
export default PresentationWrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresentationWrapper.js","sources":["../../../../src/components/Presentation/PresentationWrapper.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from 'react-modal';\nimport classNames from 'classnames';\nimport { useDrag } from '@use-gesture/react';\nimport PresentationBar from './PresentationBar';\nimport ProgressBar from './ProgressBar';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { useEventListener, useFullscreenChange } from '../../utils/hooks';\nimport {\n changePage,\n throttle,\n zoomHandler,\n} from '../../utils/functions';\nimport { usePresentationContext } from '../../utils/presentationContext';\nimport { usePropContext } from '../../utils/propContext';\n// import { ZOOM_MIN, ZOOM_MAX } from '../../constants/zoom';\n\nconst PresentationWrapper = ({\n children,\n presentationBarActions,\n useFixedPresentationBar,\n}) => {\n const { onAnEventTrigger, settings } = usePropContext();\n const {\n currentPage,\n fittedZoom,\n isFullscreen,\n pageCount,\n setCurrentPage,\n setFittedZoom,\n setIsFullscreen,\n setShowControlsInFullScreen,\n showControlsInFullScreen,\n } = usePresentationContext();\n\n const { setZoom, zoom } = useBuilderContext();\n\n const fitToScreen = useCallback((delay = 0) => setTimeout(() => {\n const newZoom = zoomHandler({\n handler: setZoom,\n isFullscreen,\n isModeCustomize: false,\n limitZoom: false,\n settings,\n useFixedPresentationBar,\n useProgressBar: pageCount > 2,\n });\n setFittedZoom(newZoom);\n }, delay), [settings, isFullscreen, useFixedPresentationBar, pageCount]);\n\n useEffect(() => { fitToScreen(100); }, [isFullscreen]);\n\n useEffect(() => {\n if (isFullscreen) {\n setShowControlsInFullScreen(true);\n setTimeout(() => setShowControlsInFullScreen(false), 1500);\n }\n }, [isFullscreen]);\n\n const pageChanger = action => changePage({\n action,\n currentPage,\n pageCount,\n setCurrentPage,\n });\n\n const handleKeyboardEvent = useCallback(e => {\n if (e.keyCode === 39) {\n pageChanger(1)();\n } else if (e.keyCode === 37) {\n pageChanger(-1)();\n }\n });\n\n const setControlVisibility = e => {\n // TODO :: timeout in n out for better ux\n if (!isFullscreen) return;\n if (showControlsInFullScreen && window.innerHeight - e.clientY >= 200) {\n setShowControlsInFullScreen(false);\n } else if (!showControlsInFullScreen && window.innerHeight - e.clientY < 200) {\n setShowControlsInFullScreen(true);\n }\n };\n\n useEventListener('keydown', handleKeyboardEvent);\n useEventListener('mousemove', throttle(setControlVisibility, 150));\n useEventListener('gesturestart', e => e.preventDefault());\n useEventListener('gesturechange', e => e.preventDefault());\n useFullscreenChange(isFullscreen, setIsFullscreen, fitToScreen);\n\n const gesture = useDrag(({\n active, movement: [mx], direction: [xDir], cancel,\n }) => {\n if (fittedZoom === zoom) {\n if (active && Math.abs(mx) > window.innerWidth / 2) {\n const direction = xDir < 0 ? 1 : -1;\n cancel();\n pageChanger(direction)();\n }\n }\n });\n\n return (\n <>\n <Modal\n appElement={document.getElementById('root')}\n className={classNames('jfPresentation jfFields', { black: isFullscreen })}\n closeTimeoutMS={300}\n contentLabel=\"Report Presentation\"\n id=\"presentationModal\"\n isOpen={true}\n overlayClassName={classNames(\n 'jfPresentation-overlay',\n { fixedPresentationBar: useFixedPresentationBar, isFullscreen },\n )}\n portalClassName=\"PresentationModal\"\n shouldCloseOnEsc={false}\n shouldFocusAfterRender={false}\n >\n {children(currentPage - 1, gesture)}\n <PresentationBar\n currentPage={currentPage}\n fittedZoom={fittedZoom}\n fitToScreen={fitToScreen}\n isFullscreen={isFullscreen}\n isVisible={(!isFullscreen || (isFullscreen && showControlsInFullScreen))}\n onAnEventTrigger={onAnEventTrigger}\n pageCount={pageCount}\n presentationBarActions={presentationBarActions}\n setCurrentPage={setCurrentPage}\n setIsFullscreen={setIsFullscreen}\n settings={settings}\n setZoom={setZoom}\n zoom={zoom}\n />\n <ProgressBar\n currentPage={currentPage}\n pageCount={pageCount}\n />\n </Modal>\n </>\n );\n};\n\nPresentationWrapper.propTypes = {\n children: PropTypes.any,\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n useFixedPresentationBar: PropTypes.bool,\n};\n\nPresentationWrapper.defaultProps = {\n children: () => {},\n presentationBarActions: [],\n useFixedPresentationBar: false,\n};\n\nexport default PresentationWrapper;\n"],"names":["PresentationWrapper","children","presentationBarActions","useFixedPresentationBar","usePropContext","onAnEventTrigger","settings","usePresentationContext","currentPage","fittedZoom","isFullscreen","pageCount","setCurrentPage","setFittedZoom","setIsFullscreen","setShowControlsInFullScreen","showControlsInFullScreen","useBuilderContext","setZoom","zoom","fitToScreen","useCallback","delay","setTimeout","newZoom","zoomHandler","handler","isModeCustomize","limitZoom","useProgressBar","useEffect","pageChanger","action","changePage","handleKeyboardEvent","e","keyCode","setControlVisibility","window","innerHeight","clientY","useEventListener","throttle","preventDefault","useFullscreenChange","gesture","useDrag","active","movement","mx","direction","xDir","cancel","Math","abs","innerWidth","_jsx","_jsxs","document","getElementById","classNames","black","fixedPresentationBar","propTypes","PropTypes","any","arrayOf","shape","bool","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PresentationWrapper.js","sources":["../../../../src/components/Presentation/PresentationWrapper.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from 'react-modal';\nimport classNames from 'classnames';\nimport { useDrag } from '@use-gesture/react';\nimport PresentationBar from './PresentationBar';\nimport ProgressBar from './ProgressBar';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { useEventListener, useFullscreenChange } from '../../utils/hooks';\nimport {\n changePage,\n getZoomValue,\n throttle,\n} from '../../utils/functions';\nimport { usePresentationStore } from '../../contexts/PresentationContext';\nimport { usePropStore } from '../../contexts/PropContext';\n// import { ZOOM_MIN, ZOOM_MAX } from '../../constants/zoom';\n\nconst PresentationWrapper = ({\n children = () => {},\n}) => {\n const settings = usePropStore(state => state.settings);\n const currentPage = usePresentationStore(state => state.currentPage);\n const fittedZoom = usePresentationStore(state => state.fittedZoom);\n const isFullscreen = usePresentationStore(state => state.isFullscreen);\n const pageCount = usePresentationStore(state => state.pageCount);\n const setCurrentPage = usePresentationStore(state => state.setCurrentPage);\n const setFittedZoom = usePresentationStore(state => state.setFittedZoom);\n const setShowControlsInFullScreen = usePresentationStore(state => state.setShowControlsInFullScreen);\n const showControlsInFullScreen = usePresentationStore(state => state.showControlsInFullScreen);\n const useFixedPresentationBar = usePresentationStore(state => state.useFixedPresentationBar);\n\n const setZoom = useBuilderStore(state => state.setZoom);\n const zoom = useBuilderStore(state => state.zoom);\n\n const fitToScreen = useCallback((delay = 0) => setTimeout(() => {\n const newZoom = getZoomValue({\n isFullscreen,\n limitZoom: false,\n settings: {\n reportLayoutHeight: settings.reportLayoutHeight,\n reportLayoutWidth: settings.reportLayoutWidth,\n },\n useFixedPresentationBar,\n useProgressBar: pageCount > 2,\n });\n setZoom(newZoom);\n setFittedZoom(newZoom);\n }, delay), [\n settings.reportLayoutHeight,\n settings.reportLayoutWidth,\n isFullscreen,\n useFixedPresentationBar,\n pageCount,\n setZoom,\n setFittedZoom,\n ]);\n\n useEffect(() => {\n fitToScreen(100);\n }, [isFullscreen, fitToScreen]);\n\n useEffect(() => {\n if (isFullscreen) {\n setShowControlsInFullScreen(true);\n setTimeout(() => setShowControlsInFullScreen(false), 1500);\n }\n }, [isFullscreen, setShowControlsInFullScreen]);\n\n const pageChanger = useCallback(action => changePage({\n action,\n currentPage,\n pageCount,\n setCurrentPage,\n }), [currentPage, pageCount, setCurrentPage]);\n\n const handleKeyboardEvent = useCallback(e => {\n if (e.keyCode === 39) {\n pageChanger(1)();\n } else if (e.keyCode === 37) {\n pageChanger(-1)();\n }\n }, [pageChanger]);\n\n const setControlVisibility = e => {\n // TODO :: timeout in n out for better ux\n if (!isFullscreen) return;\n if (showControlsInFullScreen && window.innerHeight - e.clientY >= 200) {\n setShowControlsInFullScreen(false);\n } else if (!showControlsInFullScreen && window.innerHeight - e.clientY < 200) {\n setShowControlsInFullScreen(true);\n }\n };\n\n useEventListener('keydown', handleKeyboardEvent);\n useEventListener('mousemove', throttle(setControlVisibility, 150));\n useEventListener('gesturestart', e => e.preventDefault());\n useEventListener('gesturechange', e => e.preventDefault());\n useFullscreenChange(isFullscreen, fitToScreen);\n\n const gesture = useDrag(({\n active, movement: [mx], direction: [xDir], cancel,\n }) => {\n if (fittedZoom === zoom) {\n if (active && Math.abs(mx) > window.innerWidth / 2) {\n const direction = xDir < 0 ? 1 : -1;\n cancel();\n pageChanger(direction)();\n }\n }\n });\n\n return (\n <>\n <Modal\n appElement={document.getElementById('root')}\n className={classNames('jfPresentation jfFields', { black: isFullscreen })}\n closeTimeoutMS={300}\n contentLabel=\"Report Presentation\"\n id=\"presentationModal\"\n isOpen={true}\n overlayClassName={classNames(\n 'jfPresentation-overlay',\n { fixedPresentationBar: useFixedPresentationBar, isFullscreen },\n )}\n portalClassName=\"PresentationModal\"\n shouldCloseOnEsc={false}\n shouldFocusAfterRender={false}\n >\n {children(currentPage - 1, gesture)}\n <PresentationBar\n fitToScreen={fitToScreen}\n isVisible={(!isFullscreen || (isFullscreen && showControlsInFullScreen))}\n />\n <ProgressBar\n currentPage={currentPage}\n pageCount={pageCount}\n />\n </Modal>\n </>\n );\n};\n\nPresentationWrapper.propTypes = {\n children: PropTypes.any,\n};\n\nexport default PresentationWrapper;\n"],"names":["PresentationWrapper","children","settings","usePropStore","state","currentPage","usePresentationStore","fittedZoom","isFullscreen","pageCount","setCurrentPage","setFittedZoom","setShowControlsInFullScreen","showControlsInFullScreen","useFixedPresentationBar","setZoom","useBuilderStore","zoom","fitToScreen","useCallback","delay","setTimeout","newZoom","getZoomValue","limitZoom","reportLayoutHeight","reportLayoutWidth","useProgressBar","useEffect","pageChanger","action","changePage","handleKeyboardEvent","e","keyCode","setControlVisibility","window","innerHeight","clientY","useEventListener","throttle","preventDefault","useFullscreenChange","gesture","useDrag","active","movement","mx","direction","xDir","cancel","Math","abs","innerWidth","_jsx","_jsxs","document","getElementById","classNames","black","fixedPresentationBar","propTypes","PropTypes","any"],"mappings":"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"}
|
|
@@ -2,8 +2,10 @@ import PropTypes from 'prop-types';
|
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
|
|
4
4
|
var ProgressBar = function ProgressBar(_ref) {
|
|
5
|
-
var currentPage = _ref.currentPage,
|
|
6
|
-
|
|
5
|
+
var _ref$currentPage = _ref.currentPage,
|
|
6
|
+
currentPage = _ref$currentPage === void 0 ? 1 : _ref$currentPage,
|
|
7
|
+
_ref$pageCount = _ref.pageCount,
|
|
8
|
+
pageCount = _ref$pageCount === void 0 ? 1 : _ref$pageCount;
|
|
7
9
|
return pageCount > 2 && /*#__PURE__*/jsx("div", {
|
|
8
10
|
className: "jfPresentation-progressBar",
|
|
9
11
|
style: {
|
|
@@ -16,10 +18,6 @@ ProgressBar.propTypes = {
|
|
|
16
18
|
currentPage: PropTypes.number,
|
|
17
19
|
pageCount: PropTypes.number
|
|
18
20
|
};
|
|
19
|
-
ProgressBar.defaultProps = {
|
|
20
|
-
currentPage: 1,
|
|
21
|
-
pageCount: 1
|
|
22
|
-
};
|
|
23
21
|
|
|
24
22
|
export default ProgressBar;
|
|
25
23
|
//# sourceMappingURL=ProgressBar.js.map
|