@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","sources":["../../../../src/components/Settings/Switch.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst Switch = ({\n config,\n item,\n onItemChange,\n value,\n}) => {\n const onChange = e => {\n const status = e.target.checked ? 'on' : 'off';\n onItemChange(\n { id: item.id },\n { [config.key]: status },\n );\n };\n return (\n <label\n className={classNames(\n 'toolToggle',\n { toggled: value === 'on' },\n )}\n htmlFor={config.key}\n >\n <input\n checked={value === 'on'}\n className=\"toolToggle-input\"\n id={config.key}\n onChange={onChange}\n type=\"checkbox\"\n />\n <span className=\"toolToggle-custom\" />\n </label>\n );\n};\n\nSwitch.propTypes = {\n config: PropTypes.shape({\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.any),\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n value: PropTypes.string,\n};\n\
|
|
1
|
+
{"version":3,"file":"Switch.js","sources":["../../../../src/components/Settings/Switch.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst Switch = ({\n config = {},\n item = {},\n onItemChange = () => {},\n value = '',\n}) => {\n const onChange = e => {\n const status = e.target.checked ? 'on' : 'off';\n onItemChange(\n { id: item.id },\n { [config.key]: status },\n );\n };\n return (\n <label\n className={classNames(\n 'toolToggle',\n { toggled: value === 'on' },\n )}\n htmlFor={config.key}\n >\n <input\n checked={value === 'on'}\n className=\"toolToggle-input\"\n id={config.key}\n onChange={onChange}\n type=\"checkbox\"\n />\n <span className=\"toolToggle-custom\" />\n </label>\n );\n};\n\nSwitch.propTypes = {\n config: PropTypes.shape({\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.any),\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n value: PropTypes.string,\n};\n\nexport default memo(Switch);\n"],"names":["Switch","config","item","onItemChange","value","onChange","e","status","target","checked","id","key","_jsxs","classNames","toggled","_jsx","propTypes","PropTypes","shape","string","options","arrayOf","any","func","memo"],"mappings":";;;;;;;;;;;;;;AAIA,IAAMA,MAAM,GAAG,SAATA,MAAS,OAKT;AAAA,yBAJJC,MAII;AAAA,MAJJA,MAII,4BAJK,EAIL;AAAA,uBAHJC,IAGI;AAAA,MAHJA,IAGI,0BAHG,EAGH;AAAA,+BAFJC,YAEI;AAAA,MAFJA,YAEI,kCAFW,YAAM,EAEjB;AAAA,wBADJC,KACI;AAAA,MADJA,KACI,2BADI,EACJ;;AACJ,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAC,CAAC,EAAI;AACpB,QAAMC,MAAM,GAAGD,CAAC,CAACE,MAAF,CAASC,OAAT,GAAmB,IAAnB,GAA0B,KAAzC;AACAN,IAAAA,YAAY,CACV;AAAEO,MAAAA,EAAE,EAAER,IAAI,CAACQ;AAAX,KADU,sBAEPT,MAAM,CAACU,GAFA,EAEMJ,MAFN,EAAZ;AAID,GAND;;AAOA,sBACEK;AACE,IAAA,SAAS,EAAEC,8BAAU,CACnB,YADmB,EAEnB;AAAEC,MAAAA,OAAO,EAAEV,KAAK,KAAK;AAArB,KAFmB,CADvB;AAKE,IAAA,OAAO,EAAEH,MAAM,CAACU,GALlB;AAAA,4BAOEI;AACE,MAAA,OAAO,EAAEX,KAAK,KAAK,IADrB;AAEE,MAAA,SAAS,EAAC,kBAFZ;AAGE,MAAA,EAAE,EAAEH,MAAM,CAACU,GAHb;AAIE,MAAA,QAAQ,EAAEN,QAJZ;AAKE,MAAA,IAAI,EAAC;AALP,MAPF,eAcEU;AAAM,MAAA,SAAS,EAAC;AAAhB,MAdF;AAAA,IADF;AAkBD,CA/BD;;AAiCAf,MAAM,CAACgB,SAAP,GAAmB;AACjBf,EAAAA,MAAM,EAAEgB,6BAAS,CAACC,KAAV,CAAgB;AACtBP,IAAAA,GAAG,EAAEM,6BAAS,CAACE,MADO;AAEtBC,IAAAA,OAAO,EAAEH,6BAAS,CAACI,OAAV,CAAkBJ,6BAAS,CAACK,GAA5B;AAFa,GAAhB,CADS;AAKjBpB,EAAAA,IAAI,EAAEe,6BAAS,CAACC,KAAV,CAAgB;AACpBR,IAAAA,EAAE,EAAEO,6BAAS,CAACE;AADM,GAAhB,CALW;AAQjBhB,EAAAA,YAAY,EAAEc,6BAAS,CAACM,IARP;AASjBnB,EAAAA,KAAK,EAAEa,6BAAS,CAACE;AATA,CAAnB;AAYA,4BAAeK,UAAI,CAACxB,MAAD,CAAnB;;;;"}
|
|
@@ -15,12 +15,18 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
15
15
|
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; }
|
|
16
16
|
|
|
17
17
|
var Textbox = function Textbox(_ref) {
|
|
18
|
-
var config = _ref.config,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
var _ref$config = _ref.config,
|
|
19
|
+
config = _ref$config === void 0 ? {} : _ref$config,
|
|
20
|
+
_ref$item = _ref.item,
|
|
21
|
+
item = _ref$item === void 0 ? {} : _ref$item,
|
|
22
|
+
_ref$maxLength = _ref.maxLength,
|
|
23
|
+
maxLength = _ref$maxLength === void 0 ? false : _ref$maxLength,
|
|
24
|
+
_ref$onItemChange = _ref.onItemChange,
|
|
25
|
+
onItemChange = _ref$onItemChange === void 0 ? function () {} : _ref$onItemChange,
|
|
26
|
+
_ref$placeholder = _ref.placeholder,
|
|
27
|
+
placeholder = _ref$placeholder === void 0 ? '' : _ref$placeholder,
|
|
28
|
+
_ref$value = _ref.value,
|
|
29
|
+
value = _ref$value === void 0 ? '' : _ref$value;
|
|
24
30
|
|
|
25
31
|
var onChange = function onChange(e) {
|
|
26
32
|
var newValue = e.target.value;
|
|
@@ -65,14 +71,6 @@ Textbox.propTypes = {
|
|
|
65
71
|
placeholder: PropTypes__default['default'].string,
|
|
66
72
|
value: PropTypes__default['default'].oneOfType([PropTypes__default['default'].string, PropTypes__default['default'].number])
|
|
67
73
|
};
|
|
68
|
-
Textbox.defaultProps = {
|
|
69
|
-
config: [],
|
|
70
|
-
item: {},
|
|
71
|
-
maxLength: false,
|
|
72
|
-
onItemChange: function onItemChange() {},
|
|
73
|
-
placeholder: '',
|
|
74
|
-
value: ''
|
|
75
|
-
};
|
|
76
74
|
var Textbox$1 = /*#__PURE__*/React.memo(Textbox);
|
|
77
75
|
|
|
78
76
|
module.exports = Textbox$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textbox.js","sources":["../../../../src/components/Settings/Textbox.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\n\nconst Textbox = ({\n config,\n item,\n maxLength,\n onItemChange,\n placeholder,\n value,\n}) => {\n const onChange = e => {\n const { value: newValue } = e.target;\n if (newValue !== value) {\n const changeSettingsFor = { [config.key]: newValue };\n onItemChange({ id: item.id }, changeSettingsFor);\n }\n };\n\n const handleKeyDown = e => e.stopPropagation();\n\n const customProps = {};\n if (maxLength) customProps.maxLength = maxLength;\n\n return (\n <input\n {...customProps}\n className=\"toolSection-input\"\n onChange={onChange}\n onKeyDown={handleKeyDown}\n placeholder={config.placeholder || placeholder}\n type={config.inputType || 'text'}\n value={value}\n />\n );\n};\n\nTextbox.propTypes = {\n config: PropTypes.shape({\n inputType: PropTypes.string,\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.any),\n placeholder: PropTypes.string,\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n maxLength: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.number,\n ]),\n onItemChange: PropTypes.func,\n placeholder: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n};\n\
|
|
1
|
+
{"version":3,"file":"Textbox.js","sources":["../../../../src/components/Settings/Textbox.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\n\nconst Textbox = ({\n config = {},\n item = {},\n maxLength = false,\n onItemChange = () => {},\n placeholder = '',\n value = '',\n}) => {\n const onChange = e => {\n const { value: newValue } = e.target;\n if (newValue !== value) {\n const changeSettingsFor = { [config.key]: newValue };\n onItemChange({ id: item.id }, changeSettingsFor);\n }\n };\n\n const handleKeyDown = e => e.stopPropagation();\n\n const customProps = {};\n if (maxLength) customProps.maxLength = maxLength;\n\n return (\n <input\n {...customProps}\n className=\"toolSection-input\"\n onChange={onChange}\n onKeyDown={handleKeyDown}\n placeholder={config.placeholder || placeholder}\n type={config.inputType || 'text'}\n value={value}\n />\n );\n};\n\nTextbox.propTypes = {\n config: PropTypes.shape({\n inputType: PropTypes.string,\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.any),\n placeholder: PropTypes.string,\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n maxLength: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.number,\n ]),\n onItemChange: PropTypes.func,\n placeholder: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n};\n\nexport default memo(Textbox);\n"],"names":["Textbox","config","item","maxLength","onItemChange","placeholder","value","onChange","e","newValue","target","changeSettingsFor","key","id","handleKeyDown","stopPropagation","customProps","_jsx","inputType","propTypes","PropTypes","shape","string","options","arrayOf","any","oneOfType","bool","number","func","memo"],"mappings":";;;;;;;;;;;;;;;;AAGA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAOV;AAAA,yBANJC,MAMI;AAAA,MANJA,MAMI,4BANK,EAML;AAAA,uBALJC,IAKI;AAAA,MALJA,IAKI,0BALG,EAKH;AAAA,4BAJJC,SAII;AAAA,MAJJA,SAII,+BAJQ,KAIR;AAAA,+BAHJC,YAGI;AAAA,MAHJA,YAGI,kCAHW,YAAM,EAGjB;AAAA,8BAFJC,WAEI;AAAA,MAFJA,WAEI,iCAFU,EAEV;AAAA,wBADJC,KACI;AAAA,MADJA,KACI,2BADI,EACJ;;AACJ,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAC,CAAC,EAAI;AACpB,QAAeC,QAAf,GAA4BD,CAAC,CAACE,MAA9B,CAAQJ,KAAR;;AACA,QAAIG,QAAQ,KAAKH,KAAjB,EAAwB;AACtB,UAAMK,iBAAiB,uBAAMV,MAAM,CAACW,GAAb,EAAmBH,QAAnB,CAAvB;;AACAL,MAAAA,YAAY,CAAC;AAAES,QAAAA,EAAE,EAAEX,IAAI,CAACW;AAAX,OAAD,EAAkBF,iBAAlB,CAAZ;AACD;AACF,GAND;;AAQA,MAAMG,aAAa,GAAG,SAAhBA,aAAgB,CAAAN,CAAC;AAAA,WAAIA,CAAC,CAACO,eAAF,EAAJ;AAAA,GAAvB;;AAEA,MAAMC,WAAW,GAAG,EAApB;AACA,MAAIb,SAAJ,EAAea,WAAW,CAACb,SAAZ,GAAwBA,SAAxB;AAEf,sBACEc,wDACMD,WADN;AAEE,IAAA,SAAS,EAAC,mBAFZ;AAGE,IAAA,QAAQ,EAAET,QAHZ;AAIE,IAAA,SAAS,EAAEO,aAJb;AAKE,IAAA,WAAW,EAAEb,MAAM,CAACI,WAAP,IAAsBA,WALrC;AAME,IAAA,IAAI,EAAEJ,MAAM,CAACiB,SAAP,IAAoB,MAN5B;AAOE,IAAA,KAAK,EAAEZ;AAPT,KADF;AAWD,CAhCD;;AAkCAN,OAAO,CAACmB,SAAR,GAAoB;AAClBlB,EAAAA,MAAM,EAAEmB,6BAAS,CAACC,KAAV,CAAgB;AACtBH,IAAAA,SAAS,EAAEE,6BAAS,CAACE,MADC;AAEtBV,IAAAA,GAAG,EAAEQ,6BAAS,CAACE,MAFO;AAGtBC,IAAAA,OAAO,EAAEH,6BAAS,CAACI,OAAV,CAAkBJ,6BAAS,CAACK,GAA5B,CAHa;AAItBpB,IAAAA,WAAW,EAAEe,6BAAS,CAACE;AAJD,GAAhB,CADU;AAOlBpB,EAAAA,IAAI,EAAEkB,6BAAS,CAACC,KAAV,CAAgB;AACpBR,IAAAA,EAAE,EAAEO,6BAAS,CAACE;AADM,GAAhB,CAPY;AAUlBnB,EAAAA,SAAS,EAAEiB,6BAAS,CAACM,SAAV,CAAoB,CAC7BN,6BAAS,CAACO,IADmB,EAE7BP,6BAAS,CAACQ,MAFmB,CAApB,CAVO;AAclBxB,EAAAA,YAAY,EAAEgB,6BAAS,CAACS,IAdN;AAelBxB,EAAAA,WAAW,EAAEe,6BAAS,CAACE,MAfL;AAgBlBhB,EAAAA,KAAK,EAAEc,6BAAS,CAACM,SAAV,CAAoB,CACzBN,6BAAS,CAACE,MADe,EAEzBF,6BAAS,CAACQ,MAFe,CAApB;AAhBW,CAApB;AAsBA,6BAAeE,UAAI,CAAC9B,OAAD,CAAnB;;;;"}
|
|
@@ -12,10 +12,14 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
|
12
12
|
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; }
|
|
13
13
|
|
|
14
14
|
var Toggle = function Toggle(_ref) {
|
|
15
|
-
var config = _ref.config,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
var _ref$config = _ref.config,
|
|
16
|
+
config = _ref$config === void 0 ? {} : _ref$config,
|
|
17
|
+
_ref$item = _ref.item,
|
|
18
|
+
item = _ref$item === void 0 ? {} : _ref$item,
|
|
19
|
+
_ref$onItemChange = _ref.onItemChange,
|
|
20
|
+
onItemChange = _ref$onItemChange === void 0 ? function () {} : _ref$onItemChange,
|
|
21
|
+
_ref$value = _ref.value,
|
|
22
|
+
value = _ref$value === void 0 ? '' : _ref$value;
|
|
19
23
|
|
|
20
24
|
var onChange = function onChange(e) {
|
|
21
25
|
var status = e.target.checked ? 'on' : 'off';
|
|
@@ -59,12 +63,6 @@ Toggle.propTypes = {
|
|
|
59
63
|
onItemChange: PropTypes__default['default'].func,
|
|
60
64
|
value: PropTypes__default['default'].string
|
|
61
65
|
};
|
|
62
|
-
Toggle.defaultProps = {
|
|
63
|
-
config: {},
|
|
64
|
-
item: {},
|
|
65
|
-
onItemChange: function onItemChange() {},
|
|
66
|
-
value: ''
|
|
67
|
-
};
|
|
68
66
|
var Toggle$1 = /*#__PURE__*/React.memo(Toggle);
|
|
69
67
|
|
|
70
68
|
module.exports = Toggle$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.js","sources":["../../../../src/components/Settings/Toggle.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst Toggle = ({\n config,\n item,\n onItemChange,\n value,\n}) => {\n const onChange = e => {\n const status = e.target.checked ? 'on' : 'off';\n onItemChange(\n { id: item.id },\n { [config.key]: status },\n );\n };\n\n const { TOGGLE_OFF, TOGGLE_ON } = useTranslatedTexts();\n\n return (\n <label\n className=\"reportToolToggle\"\n htmlFor={config.key}\n >\n <input\n checked={value === 'on'}\n id={config.key}\n onChange={onChange}\n type=\"checkbox\"\n />\n <span className=\"reportToolToggle-knob\" />\n <span className=\"reportToolToggle-on reportToolToggle-text\">{TOGGLE_ON}</span>\n <span className=\"reportToolToggle-off reportToolToggle-text\">{TOGGLE_OFF}</span>\n </label>\n );\n};\n\nToggle.propTypes = {\n config: PropTypes.shape({\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.any),\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n value: PropTypes.string,\n};\n\
|
|
1
|
+
{"version":3,"file":"Toggle.js","sources":["../../../../src/components/Settings/Toggle.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst Toggle = ({\n config = {},\n item = {},\n onItemChange = () => {},\n value = '',\n}) => {\n const onChange = e => {\n const status = e.target.checked ? 'on' : 'off';\n onItemChange(\n { id: item.id },\n { [config.key]: status },\n );\n };\n\n const { TOGGLE_OFF, TOGGLE_ON } = useTranslatedTexts();\n\n return (\n <label\n className=\"reportToolToggle\"\n htmlFor={config.key}\n >\n <input\n checked={value === 'on'}\n id={config.key}\n onChange={onChange}\n type=\"checkbox\"\n />\n <span className=\"reportToolToggle-knob\" />\n <span className=\"reportToolToggle-on reportToolToggle-text\">{TOGGLE_ON}</span>\n <span className=\"reportToolToggle-off reportToolToggle-text\">{TOGGLE_OFF}</span>\n </label>\n );\n};\n\nToggle.propTypes = {\n config: PropTypes.shape({\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.any),\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n value: PropTypes.string,\n};\n\nexport default memo(Toggle);\n"],"names":["Toggle","config","item","onItemChange","value","onChange","e","status","target","checked","id","key","useTranslatedTexts","TOGGLE_OFF","TOGGLE_ON","_jsxs","_jsx","propTypes","PropTypes","shape","string","options","arrayOf","any","func","memo"],"mappings":";;;;;;;;;;;;;AAIA,IAAMA,MAAM,GAAG,SAATA,MAAS,OAKT;AAAA,yBAJJC,MAII;AAAA,MAJJA,MAII,4BAJK,EAIL;AAAA,uBAHJC,IAGI;AAAA,MAHJA,IAGI,0BAHG,EAGH;AAAA,+BAFJC,YAEI;AAAA,MAFJA,YAEI,kCAFW,YAAM,EAEjB;AAAA,wBADJC,KACI;AAAA,MADJA,KACI,2BADI,EACJ;;AACJ,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAC,CAAC,EAAI;AACpB,QAAMC,MAAM,GAAGD,CAAC,CAACE,MAAF,CAASC,OAAT,GAAmB,IAAnB,GAA0B,KAAzC;AACAN,IAAAA,YAAY,CACV;AAAEO,MAAAA,EAAE,EAAER,IAAI,CAACQ;AAAX,KADU,sBAEPT,MAAM,CAACU,GAFA,EAEMJ,MAFN,EAAZ;AAID,GAND;;AAQA,4BAAkCK,wBAAkB,EAApD;AAAA,MAAQC,UAAR,uBAAQA,UAAR;AAAA,MAAoBC,SAApB,uBAAoBA,SAApB;;AAEA,sBACEC;AACE,IAAA,SAAS,EAAC,kBADZ;AAEE,IAAA,OAAO,EAAEd,MAAM,CAACU,GAFlB;AAAA,4BAIEK;AACE,MAAA,OAAO,EAAEZ,KAAK,KAAK,IADrB;AAEE,MAAA,EAAE,EAAEH,MAAM,CAACU,GAFb;AAGE,MAAA,QAAQ,EAAEN,QAHZ;AAIE,MAAA,IAAI,EAAC;AAJP,MAJF,eAUEW;AAAM,MAAA,SAAS,EAAC;AAAhB,MAVF,eAWEA;AAAM,MAAA,SAAS,EAAC,2CAAhB;AAAA,gBAA6DF;AAA7D,MAXF,eAYEE;AAAM,MAAA,SAAS,EAAC,4CAAhB;AAAA,gBAA8DH;AAA9D,MAZF;AAAA,IADF;AAgBD,CAhCD;;AAkCAb,MAAM,CAACiB,SAAP,GAAmB;AACjBhB,EAAAA,MAAM,EAAEiB,6BAAS,CAACC,KAAV,CAAgB;AACtBR,IAAAA,GAAG,EAAEO,6BAAS,CAACE,MADO;AAEtBC,IAAAA,OAAO,EAAEH,6BAAS,CAACI,OAAV,CAAkBJ,6BAAS,CAACK,GAA5B;AAFa,GAAhB,CADS;AAKjBrB,EAAAA,IAAI,EAAEgB,6BAAS,CAACC,KAAV,CAAgB;AACpBT,IAAAA,EAAE,EAAEQ,6BAAS,CAACE;AADM,GAAhB,CALW;AAQjBjB,EAAAA,YAAY,EAAEe,6BAAS,CAACM,IARP;AASjBpB,EAAAA,KAAK,EAAEc,6BAAS,CAACE;AATA,CAAnB;AAYA,4BAAeK,UAAI,CAACzB,MAAD,CAAnB;;;;"}
|
|
@@ -13,10 +13,34 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
|
13
13
|
var domPurify__default = /*#__PURE__*/_interopDefaultLegacy(domPurify);
|
|
14
14
|
|
|
15
15
|
var ITEM_TYPE = 'text';
|
|
16
|
+
var details = {
|
|
17
|
+
height: 65,
|
|
18
|
+
itemType: ITEM_TYPE,
|
|
19
|
+
width: 350
|
|
20
|
+
};
|
|
21
|
+
var defaultItem = {
|
|
22
|
+
fontFamily: 'Circular',
|
|
23
|
+
opacity: 1,
|
|
24
|
+
value: ''
|
|
25
|
+
};
|
|
26
|
+
var settings = [{
|
|
27
|
+
key: 'fontFamily',
|
|
28
|
+
label: 'Font Family',
|
|
29
|
+
options: fonts.fontTypes.fonts,
|
|
30
|
+
section: 'GENERAL',
|
|
31
|
+
type: 'dropdown'
|
|
32
|
+
}, {
|
|
33
|
+
key: 'opacity',
|
|
34
|
+
label: 'Opacity',
|
|
35
|
+
range: [0, 100],
|
|
36
|
+
section: 'GENERAL',
|
|
37
|
+
type: 'slider'
|
|
38
|
+
}];
|
|
16
39
|
|
|
17
40
|
var StaticRichTextElement = function StaticRichTextElement(_ref) {
|
|
18
|
-
var _ref$item = _ref.item
|
|
19
|
-
|
|
41
|
+
var _ref$item = _ref.item;
|
|
42
|
+
_ref$item = _ref$item === void 0 ? defaultItem : _ref$item;
|
|
43
|
+
var fontFamily = _ref$item.fontFamily,
|
|
20
44
|
opacity = _ref$item.opacity,
|
|
21
45
|
value = _ref$item.value;
|
|
22
46
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
@@ -41,34 +65,6 @@ StaticRichTextElement.propTypes = {
|
|
|
41
65
|
value: PropTypes__default['default'].string
|
|
42
66
|
})
|
|
43
67
|
};
|
|
44
|
-
StaticRichTextElement.defaultProps = {
|
|
45
|
-
item: {
|
|
46
|
-
value: ''
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
var details = {
|
|
50
|
-
height: 65,
|
|
51
|
-
itemType: ITEM_TYPE,
|
|
52
|
-
width: 350
|
|
53
|
-
};
|
|
54
|
-
var defaultItem = {
|
|
55
|
-
fontFamily: 'Circular',
|
|
56
|
-
opacity: 1,
|
|
57
|
-
value: ''
|
|
58
|
-
};
|
|
59
|
-
var settings = [{
|
|
60
|
-
key: 'fontFamily',
|
|
61
|
-
label: 'Font Family',
|
|
62
|
-
options: fonts.fontTypes.fonts,
|
|
63
|
-
section: 'GENERAL',
|
|
64
|
-
type: 'dropdown'
|
|
65
|
-
}, {
|
|
66
|
-
key: 'opacity',
|
|
67
|
-
label: 'Opacity',
|
|
68
|
-
range: [0, 100],
|
|
69
|
-
section: 'GENERAL',
|
|
70
|
-
type: 'slider'
|
|
71
|
-
}];
|
|
72
68
|
var StaticRichText = {
|
|
73
69
|
Component: /*#__PURE__*/React.memo(StaticRichTextElement),
|
|
74
70
|
defaultItem: defaultItem,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticRichText.js","sources":["../../../../src/components/StaticElements/StaticRichText.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport 'react-quill/dist/quill.snow.css';\nimport { fontTypes } from '../../constants/fonts';\n\nconst ITEM_TYPE = 'text';\n\nconst
|
|
1
|
+
{"version":3,"file":"StaticRichText.js","sources":["../../../../src/components/StaticElements/StaticRichText.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport 'react-quill/dist/quill.snow.css';\nimport { fontTypes } from '../../constants/fonts';\n\nconst ITEM_TYPE = 'text';\n\nconst details = {\n height: 65,\n itemType: ITEM_TYPE,\n width: 350,\n};\n\nconst defaultItem = {\n fontFamily: 'Circular',\n opacity: 1,\n value: '',\n};\n\nconst settings = [\n {\n key: 'fontFamily',\n label: 'Font Family',\n options: fontTypes.fonts,\n section: 'GENERAL',\n type: 'dropdown',\n },\n {\n key: 'opacity',\n label: 'Opacity',\n range: [0, 100],\n section: 'GENERAL',\n type: 'slider',\n },\n];\n\nconst StaticRichTextElement = ({\n item: {\n fontFamily,\n opacity,\n value,\n } = defaultItem,\n}) => (\n <div\n className=\"reportItemInner f-height\"\n style={{ fontFamily, opacity }}\n >\n <div\n className=\"f-all ql-editor\"\n dangerouslySetInnerHTML={{ __html: domPurify.sanitize(value) }}\n />\n </div>\n);\n\nStaticRichTextElement.propTypes = {\n item: PropTypes.shape({\n fontFamily: PropTypes.string,\n opacity: PropTypes.number,\n value: PropTypes.string,\n }),\n};\n\nexport default {\n Component: memo(StaticRichTextElement),\n defaultItem,\n details,\n itemType: ITEM_TYPE,\n settings,\n};\n"],"names":["ITEM_TYPE","details","height","itemType","width","defaultItem","fontFamily","opacity","value","settings","key","label","options","fontTypes","fonts","section","type","range","StaticRichTextElement","item","_jsx","__html","domPurify","sanitize","propTypes","PropTypes","shape","string","number","Component","memo"],"mappings":";;;;;;;;;;;;;;AAMA,IAAMA,SAAS,GAAG,MAAlB;AAEA,IAAMC,OAAO,GAAG;AACdC,EAAAA,MAAM,EAAE,EADM;AAEdC,EAAAA,QAAQ,EAAEH,SAFI;AAGdI,EAAAA,KAAK,EAAE;AAHO,CAAhB;AAMA,IAAMC,WAAW,GAAG;AAClBC,EAAAA,UAAU,EAAE,UADM;AAElBC,EAAAA,OAAO,EAAE,CAFS;AAGlBC,EAAAA,KAAK,EAAE;AAHW,CAApB;AAMA,IAAMC,QAAQ,GAAG,CACf;AACEC,EAAAA,GAAG,EAAE,YADP;AAEEC,EAAAA,KAAK,EAAE,aAFT;AAGEC,EAAAA,OAAO,EAAEC,eAAS,CAACC,KAHrB;AAIEC,EAAAA,OAAO,EAAE,SAJX;AAKEC,EAAAA,IAAI,EAAE;AALR,CADe,EAQf;AACEN,EAAAA,GAAG,EAAE,SADP;AAEEC,EAAAA,KAAK,EAAE,SAFT;AAGEM,EAAAA,KAAK,EAAE,CAAC,CAAD,EAAI,GAAJ,CAHT;AAIEF,EAAAA,OAAO,EAAE,SAJX;AAKEC,EAAAA,IAAI,EAAE;AALR,CARe,CAAjB;;AAiBA,IAAME,qBAAqB,GAAG,SAAxBA,qBAAwB;AAAA,uBAC5BC,IAD4B;AAAA,qCAKxBd,WALwB;AAAA,MAE1BC,UAF0B,aAE1BA,UAF0B;AAAA,MAG1BC,OAH0B,aAG1BA,OAH0B;AAAA,MAI1BC,KAJ0B,aAI1BA,KAJ0B;AAAA,sBAO5BY;AACE,IAAA,SAAS,EAAC,0BADZ;AAEE,IAAA,KAAK,EAAE;AAAEd,MAAAA,UAAU,EAAVA,UAAF;AAAcC,MAAAA,OAAO,EAAPA;AAAd,KAFT;AAAA,2BAIEa;AACE,MAAA,SAAS,EAAC,iBADZ;AAEE,MAAA,uBAAuB,EAAE;AAAEC,QAAAA,MAAM,EAAEC,6BAAS,CAACC,QAAV,CAAmBf,KAAnB;AAAV;AAF3B;AAJF,IAP4B;AAAA,CAA9B;;AAkBAU,qBAAqB,CAACM,SAAtB,GAAkC;AAChCL,EAAAA,IAAI,EAAEM,6BAAS,CAACC,KAAV,CAAgB;AACpBpB,IAAAA,UAAU,EAAEmB,6BAAS,CAACE,MADF;AAEpBpB,IAAAA,OAAO,EAAEkB,6BAAS,CAACG,MAFC;AAGpBpB,IAAAA,KAAK,EAAEiB,6BAAS,CAACE;AAHG,GAAhB;AAD0B,CAAlC;AAQA,qBAAe;AACbE,EAAAA,SAAS,eAAEC,UAAI,CAACZ,qBAAD,CADF;AAEbb,EAAAA,WAAW,EAAXA,WAFa;AAGbJ,EAAAA,OAAO,EAAPA,OAHa;AAIbE,EAAAA,QAAQ,EAAEH,SAJG;AAKbS,EAAAA,QAAQ,EAARA;AALa,CAAf;;;;"}
|
|
@@ -31,7 +31,8 @@ var BUTTON_WIDTH = 26;
|
|
|
31
31
|
var BAR_WIDTH = SELECT_WIDTH + BUTTON_WIDTH * 8;
|
|
32
32
|
|
|
33
33
|
var CustomToolbar = function CustomToolbar(_ref) {
|
|
34
|
-
var itemWidth = _ref.itemWidth
|
|
34
|
+
var _ref$itemWidth = _ref.itemWidth,
|
|
35
|
+
itemWidth = _ref$itemWidth === void 0 ? 0 : _ref$itemWidth;
|
|
35
36
|
var overflow = BAR_WIDTH > itemWidth;
|
|
36
37
|
|
|
37
38
|
var _useState = React.useState(overflow ? false : true),
|
|
@@ -133,9 +134,6 @@ var CustomToolbar = function CustomToolbar(_ref) {
|
|
|
133
134
|
CustomToolbar.propTypes = {
|
|
134
135
|
itemWidth: PropTypes__default['default'].number
|
|
135
136
|
};
|
|
136
|
-
CustomToolbar.defaultProps = {
|
|
137
|
-
itemWidth: 0
|
|
138
|
-
};
|
|
139
137
|
|
|
140
138
|
module.exports = CustomToolbar;
|
|
141
139
|
//# sourceMappingURL=CustomToolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomToolbar.js","sources":["../../../../../src/components/TextEditor/CustomToolbar/CustomToolbar.js"],"sourcesContent":["import {\n useState, useCallback, useLayoutEffect, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { fontSizes } from '../../../constants/fonts';\n\nconst SELECT_WIDTH = 70;\nconst BUTTON_WIDTH = 26;\nconst BAR_WIDTH = SELECT_WIDTH + (BUTTON_WIDTH * 8);\n\nconst CustomToolbar = ({ itemWidth }) => {\n const overflow = BAR_WIDTH > itemWidth;\n const [isOpened, setIsOpened] = useState(overflow ? false : true);\n const onClickMore = useCallback(() => setIsOpened(true), []);\n const wrapper = useRef();\n\n function getVisibleClass(limit) {\n return overflow && itemWidth < limit ? ' hiddenVisibility' : '';\n }\n\n useLayoutEffect(() => {\n if (!isOpened || wrapper.current === null) return;\n Array.from(wrapper.current.children).forEach(el => el.classList.remove('hiddenVisibility'));\n }, [isOpened]);\n\n return (\n <div\n ref={wrapper}\n className={classNames('toolbarWrapper p-absolute d-flex', { isOpened })}\n style={{\n maxWidth: isOpened ? 'none' : '100%',\n // minWidth: `${itemWidth}px`,\n }}\n >\n <select\n aria-label=\"Size\"\n className=\"ql-size ql-select ql-textselect\"\n defaultValue=\"16px\"\n onChange={e => e.persist()}\n >\n {fontSizes.map(size => (\n <option\n key={size}\n value={`${size}px`}\n >\n {size}\n px\n </option>\n ))}\n </select>\n <div className=\"ql-divider\" />\n <button\n aria-label=\"Bold\"\n className={`ql-bold ql-button${getVisibleClass(SELECT_WIDTH + BUTTON_WIDTH)}`}\n type=\"button\"\n />\n <button\n aria-label=\"Italic\"\n className={`ql-italic ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 2))}`}\n type=\"button\"\n />\n <button\n aria-label=\"Underline\"\n className={`ql-underline ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 3))}`}\n type=\"button\"\n />\n <select\n aria-label=\"Text Color\"\n className={`ql-color ql-select${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 4))}`}\n defaultValue=\"\"\n onChange={e => e.persist()}\n />\n <div className=\"ql-divider\" />\n <select\n aria-label=\"Alignment\"\n className={`ql-align ql-select${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 5))}`}\n defaultValue=\"\"\n onChange={e => e.persist()}\n />\n <button\n aria-label=\"Ordered List\"\n className={`ql-list ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 6))}`}\n type=\"button\"\n value=\"ordered\"\n />\n <button\n aria-label=\"Bullet List\"\n className={`ql-list ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 7))}`}\n type=\"button\"\n value=\"bullet\"\n />\n <button\n aria-label=\"Link\"\n className={`ql-link ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 8))}`}\n type=\"button\"\n />\n {overflow && !isOpened && (\n <button\n aria-label=\"More Options\"\n className=\"qlMore\"\n onClick={onClickMore}\n type=\"button\"\n >\n >>\n </button>\n )}\n </div>\n );\n};\n\nCustomToolbar.propTypes = {\n itemWidth: PropTypes.number,\n};\n\
|
|
1
|
+
{"version":3,"file":"CustomToolbar.js","sources":["../../../../../src/components/TextEditor/CustomToolbar/CustomToolbar.js"],"sourcesContent":["import {\n useState, useCallback, useLayoutEffect, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { fontSizes } from '../../../constants/fonts';\n\nconst SELECT_WIDTH = 70;\nconst BUTTON_WIDTH = 26;\nconst BAR_WIDTH = SELECT_WIDTH + (BUTTON_WIDTH * 8);\n\nconst CustomToolbar = ({ itemWidth = 0 }) => {\n const overflow = BAR_WIDTH > itemWidth;\n const [isOpened, setIsOpened] = useState(overflow ? false : true);\n const onClickMore = useCallback(() => setIsOpened(true), []);\n const wrapper = useRef();\n\n function getVisibleClass(limit) {\n return overflow && itemWidth < limit ? ' hiddenVisibility' : '';\n }\n\n useLayoutEffect(() => {\n if (!isOpened || wrapper.current === null) return;\n Array.from(wrapper.current.children).forEach(el => el.classList.remove('hiddenVisibility'));\n }, [isOpened]);\n\n return (\n <div\n ref={wrapper}\n className={classNames('toolbarWrapper p-absolute d-flex', { isOpened })}\n style={{\n maxWidth: isOpened ? 'none' : '100%',\n // minWidth: `${itemWidth}px`,\n }}\n >\n <select\n aria-label=\"Size\"\n className=\"ql-size ql-select ql-textselect\"\n defaultValue=\"16px\"\n onChange={e => e.persist()}\n >\n {fontSizes.map(size => (\n <option\n key={size}\n value={`${size}px`}\n >\n {size}\n px\n </option>\n ))}\n </select>\n <div className=\"ql-divider\" />\n <button\n aria-label=\"Bold\"\n className={`ql-bold ql-button${getVisibleClass(SELECT_WIDTH + BUTTON_WIDTH)}`}\n type=\"button\"\n />\n <button\n aria-label=\"Italic\"\n className={`ql-italic ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 2))}`}\n type=\"button\"\n />\n <button\n aria-label=\"Underline\"\n className={`ql-underline ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 3))}`}\n type=\"button\"\n />\n <select\n aria-label=\"Text Color\"\n className={`ql-color ql-select${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 4))}`}\n defaultValue=\"\"\n onChange={e => e.persist()}\n />\n <div className=\"ql-divider\" />\n <select\n aria-label=\"Alignment\"\n className={`ql-align ql-select${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 5))}`}\n defaultValue=\"\"\n onChange={e => e.persist()}\n />\n <button\n aria-label=\"Ordered List\"\n className={`ql-list ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 6))}`}\n type=\"button\"\n value=\"ordered\"\n />\n <button\n aria-label=\"Bullet List\"\n className={`ql-list ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 7))}`}\n type=\"button\"\n value=\"bullet\"\n />\n <button\n aria-label=\"Link\"\n className={`ql-link ql-button${getVisibleClass(SELECT_WIDTH + (BUTTON_WIDTH * 8))}`}\n type=\"button\"\n />\n {overflow && !isOpened && (\n <button\n aria-label=\"More Options\"\n className=\"qlMore\"\n onClick={onClickMore}\n type=\"button\"\n >\n >>\n </button>\n )}\n </div>\n );\n};\n\nCustomToolbar.propTypes = {\n itemWidth: PropTypes.number,\n};\n\nexport default CustomToolbar;\n"],"names":["SELECT_WIDTH","BUTTON_WIDTH","BAR_WIDTH","CustomToolbar","itemWidth","overflow","useState","isOpened","setIsOpened","onClickMore","useCallback","wrapper","useRef","getVisibleClass","limit","useLayoutEffect","current","Array","from","children","forEach","el","classList","remove","_jsxs","classNames","maxWidth","_jsx","e","persist","fontSizes","map","size","propTypes","PropTypes","number"],"mappings":"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"}
|
|
@@ -10,8 +10,10 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
10
10
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
11
11
|
|
|
12
12
|
var CustomToolbarWrapper = function CustomToolbarWrapper(_ref) {
|
|
13
|
-
var isTextEditorOpen = _ref.isTextEditorOpen,
|
|
14
|
-
|
|
13
|
+
var _ref$isTextEditorOpen = _ref.isTextEditorOpen,
|
|
14
|
+
isTextEditorOpen = _ref$isTextEditorOpen === void 0 ? false : _ref$isTextEditorOpen,
|
|
15
|
+
_ref$itemWidth = _ref.itemWidth,
|
|
16
|
+
itemWidth = _ref$itemWidth === void 0 ? 0 : _ref$itemWidth;
|
|
15
17
|
return isTextEditorOpen && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
16
18
|
id: "toolbar",
|
|
17
19
|
style: {
|
|
@@ -29,10 +31,6 @@ CustomToolbarWrapper.propTypes = {
|
|
|
29
31
|
isTextEditorOpen: PropTypes__default['default'].bool,
|
|
30
32
|
itemWidth: PropTypes__default['default'].number
|
|
31
33
|
};
|
|
32
|
-
CustomToolbarWrapper.defaultProps = {
|
|
33
|
-
isTextEditorOpen: false,
|
|
34
|
-
itemWidth: 0
|
|
35
|
-
};
|
|
36
34
|
var CustomToolbarWrapper$1 = /*#__PURE__*/React.memo(CustomToolbarWrapper);
|
|
37
35
|
|
|
38
36
|
module.exports = CustomToolbarWrapper$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomToolbarWrapper.js","sources":["../../../../../src/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport CustomToolbar from './CustomToolbar';\n\n// This wrapper is needed to prevent the re-render\n// of the toolbar id div since it breaks the editor\nconst CustomToolbarWrapper = ({\n isTextEditorOpen,\n itemWidth,\n}) => isTextEditorOpen && (\n <div\n id=\"toolbar\"\n style={{\n pointerEvents: 'auto',\n position: 'absolute',\n top: '100%',\n }}\n >\n <CustomToolbar itemWidth={itemWidth} />\n </div>\n);\n\nCustomToolbarWrapper.propTypes = {\n isTextEditorOpen: PropTypes.bool,\n itemWidth: PropTypes.number,\n};\n\
|
|
1
|
+
{"version":3,"file":"CustomToolbarWrapper.js","sources":["../../../../../src/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport CustomToolbar from './CustomToolbar';\n\n// This wrapper is needed to prevent the re-render\n// of the toolbar id div since it breaks the editor\nconst CustomToolbarWrapper = ({\n isTextEditorOpen = false,\n itemWidth = 0,\n}) => isTextEditorOpen && (\n <div\n id=\"toolbar\"\n style={{\n pointerEvents: 'auto',\n position: 'absolute',\n top: '100%',\n }}\n >\n <CustomToolbar itemWidth={itemWidth} />\n </div>\n);\n\nCustomToolbarWrapper.propTypes = {\n isTextEditorOpen: PropTypes.bool,\n itemWidth: PropTypes.number,\n};\n\nexport default memo(CustomToolbarWrapper);\n"],"names":["CustomToolbarWrapper","isTextEditorOpen","itemWidth","_jsx","pointerEvents","position","top","propTypes","PropTypes","bool","number","memo"],"mappings":";;;;;;;;;;;AAMA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB;AAAA,mCAC3BC,gBAD2B;AAAA,MAC3BA,gBAD2B,sCACR,KADQ;AAAA,4BAE3BC,SAF2B;AAAA,MAE3BA,SAF2B,+BAEf,CAFe;AAAA,SAGvBD,gBAAgB,iBACpBE;AACE,IAAA,EAAE,EAAC,SADL;AAEE,IAAA,KAAK,EAAE;AACLC,MAAAA,aAAa,EAAE,MADV;AAELC,MAAAA,QAAQ,EAAE,UAFL;AAGLC,MAAAA,GAAG,EAAE;AAHA,KAFT;AAAA,2BAQEH,eAAC,aAAD;AAAe,MAAA,SAAS,EAAED;AAA1B;AARF,IAJ2B;AAAA,CAA7B;;AAgBAF,oBAAoB,CAACO,SAArB,GAAiC;AAC/BN,EAAAA,gBAAgB,EAAEO,6BAAS,CAACC,IADG;AAE/BP,EAAAA,SAAS,EAAEM,6BAAS,CAACE;AAFU,CAAjC;AAKA,0CAAeC,UAAI,CAACX,oBAAD,CAAnB;;;;"}
|
|
@@ -75,9 +75,11 @@ var QuillEditor = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
75
75
|
}
|
|
76
76
|
});
|
|
77
77
|
|
|
78
|
-
_defineProperty(_assertThisInitialized(_this), "handleSetContent", function (value) {
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
_defineProperty(_assertThisInitialized(_this), "handleSetContent", function (value, delta, source) {
|
|
79
|
+
if (source === 'user') {
|
|
80
|
+
var setContent = _this.props.setContent;
|
|
81
|
+
setContent(domPurify__default['default'].sanitize(value));
|
|
82
|
+
}
|
|
81
83
|
});
|
|
82
84
|
|
|
83
85
|
_this.quill = /*#__PURE__*/React__default['default'].createRef();
|
|
@@ -128,17 +130,10 @@ QuillEditor.formats = textEditorConstants.formats;
|
|
|
128
130
|
QuillEditor.propTypes = {
|
|
129
131
|
content: PropTypes__default['default'].string,
|
|
130
132
|
handleSave: PropTypes__default['default'].func,
|
|
131
|
-
placeholder: PropTypes__default['default'].string,
|
|
133
|
+
placeholder: PropTypes__default['default'].string.isRequired,
|
|
132
134
|
setContent: PropTypes__default['default'].func,
|
|
133
135
|
setIsTextEditorOpen: PropTypes__default['default'].func
|
|
134
136
|
};
|
|
135
|
-
QuillEditor.defaultProps = {
|
|
136
|
-
content: '',
|
|
137
|
-
handleSave: function handleSave() {},
|
|
138
|
-
placeholder: 'Click to edit text',
|
|
139
|
-
setContent: function setContent() {},
|
|
140
|
-
setIsTextEditorOpen: function setIsTextEditorOpen() {}
|
|
141
|
-
};
|
|
142
137
|
|
|
143
138
|
module.exports = QuillEditor;
|
|
144
139
|
//# sourceMappingURL=QuillEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuillEditor.js","sources":["../../../../src/components/TextEditor/QuillEditor.js"],"sourcesContent":["import React from 'react';\nimport ReactQuill from 'react-quill';\nimport domPurify from 'dompurify';\nimport PropTypes from 'prop-types';\nimport { formats, modules } from './textEditorConstants';\nimport { fontSizes } from '../../constants/fonts';\nimport 'react-quill/dist/quill.snow.css';\n\nconst Size = ReactQuill.Quill.import('attributors/style/size');\nSize.whitelist = fontSizes.map(s => `${s}px`);\nReactQuill.Quill.register(Size, true);\n\nclass QuillEditor extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.quill = React.createRef();\n }\n\n componentDidMount() {\n if (this.quill.current !== null) {\n const { content } = this.props;\n const editor = this.quill.current.getEditor();\n editor.setSelection(0, content.length);\n }\n }\n\n componentWillUnmount() {\n this.saveAndQuit();\n }\n\n saveAndQuit = () => {\n const { content, handleSave, setIsTextEditorOpen } = this.props;\n setIsTextEditorOpen(false);\n handleSave(content);\n }\n\n handleKeyDown = e => {\n e.stopPropagation();\n if (e.keyCode === 27) {\n this.saveAndQuit();\n }\n }\n\n handleSetContent = value => {\n const { setContent } = this.props;\n
|
|
1
|
+
{"version":3,"file":"QuillEditor.js","sources":["../../../../src/components/TextEditor/QuillEditor.js"],"sourcesContent":["import React from 'react';\nimport ReactQuill from 'react-quill';\nimport domPurify from 'dompurify';\nimport PropTypes from 'prop-types';\nimport { formats, modules } from './textEditorConstants';\nimport { fontSizes } from '../../constants/fonts';\nimport 'react-quill/dist/quill.snow.css';\n\nconst Size = ReactQuill.Quill.import('attributors/style/size');\nSize.whitelist = fontSizes.map(s => `${s}px`);\nReactQuill.Quill.register(Size, true);\n\nclass QuillEditor extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.quill = React.createRef();\n }\n\n componentDidMount() {\n if (this.quill.current !== null) {\n const { content } = this.props;\n const editor = this.quill.current.getEditor();\n editor.setSelection(0, content.length);\n }\n }\n\n componentWillUnmount() {\n this.saveAndQuit();\n }\n\n saveAndQuit = () => {\n const { content, handleSave, setIsTextEditorOpen } = this.props;\n setIsTextEditorOpen(false);\n handleSave(content);\n }\n\n handleKeyDown = e => {\n e.stopPropagation();\n if (e.keyCode === 27) {\n this.saveAndQuit();\n }\n }\n\n handleSetContent = (value, delta, source) => {\n if (source === 'user') {\n const { setContent } = this.props;\n setContent(domPurify.sanitize(value));\n }\n }\n\n render() {\n const { content, placeholder } = this.props;\n\n return (\n <div\n className=\"f-all\"\n onKeyDown={this.handleKeyDown}\n >\n <ReactQuill\n ref={this.quill}\n formats={QuillEditor.formats}\n modules={QuillEditor.modules}\n onChange={this.handleSetContent}\n placeholder={placeholder}\n preserveWhitespace\n value={content}\n />\n </div>\n );\n }\n}\n\nQuillEditor.modules = modules;\nQuillEditor.formats = formats;\n\nQuillEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n placeholder: PropTypes.string.isRequired,\n setContent: PropTypes.func,\n setIsTextEditorOpen: PropTypes.func,\n};\n\nexport default QuillEditor;\n"],"names":["Size","ReactQuill","Quill","import","whitelist","fontSizes","map","s","register","QuillEditor","props","content","handleSave","setIsTextEditorOpen","e","stopPropagation","keyCode","saveAndQuit","value","delta","source","setContent","domPurify","sanitize","quill","React","createRef","current","editor","getEditor","setSelection","length","placeholder","_jsx","handleKeyDown","formats","modules","handleSetContent","PureComponent","propTypes","PropTypes","string","func","isRequired"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ var React = require('react');
|
|
|
4
4
|
var PropTypes = require('prop-types');
|
|
5
5
|
var domPurify = require('dompurify');
|
|
6
6
|
var QuillEditor = require('./QuillEditor.js');
|
|
7
|
-
var
|
|
7
|
+
var BuilderContext = require('../../contexts/BuilderContext.js');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
9
|
|
|
10
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -25,10 +25,14 @@ 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 TextEditor = function TextEditor(_ref) {
|
|
28
|
-
var content = _ref.content,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
var _ref$content = _ref.content,
|
|
29
|
+
content = _ref$content === void 0 ? '' : _ref$content,
|
|
30
|
+
_ref$handleSave = _ref.handleSave,
|
|
31
|
+
handleSave = _ref$handleSave === void 0 ? function () {} : _ref$handleSave,
|
|
32
|
+
_ref$isLocked = _ref.isLocked,
|
|
33
|
+
isLocked = _ref$isLocked === void 0 ? false : _ref$isLocked,
|
|
34
|
+
_ref$isSelected = _ref.isSelected,
|
|
35
|
+
isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
|
|
32
36
|
placeholder = _ref.placeholder;
|
|
33
37
|
|
|
34
38
|
var _useState = React.useState(domPurify__default['default'].sanitize(content)),
|
|
@@ -36,15 +40,17 @@ var TextEditor = function TextEditor(_ref) {
|
|
|
36
40
|
_content = _useState2[0],
|
|
37
41
|
setContent = _useState2[1];
|
|
38
42
|
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
var isTextEditorOpen = BuilderContext.useBuilderStore(function (state) {
|
|
44
|
+
return state.isTextEditorOpen;
|
|
45
|
+
});
|
|
46
|
+
var setIsTextEditorOpen = BuilderContext.useBuilderStore(function (state) {
|
|
47
|
+
return state.setIsTextEditorOpen;
|
|
48
|
+
});
|
|
43
49
|
var onClick = React.useCallback(function () {
|
|
44
50
|
if (isSelected && !isLocked) {
|
|
45
51
|
setIsTextEditorOpen(true);
|
|
46
52
|
}
|
|
47
|
-
}, [isSelected, isLocked]);
|
|
53
|
+
}, [isSelected, isLocked, setIsTextEditorOpen]);
|
|
48
54
|
var isNotEmpty = React.useMemo(function () {
|
|
49
55
|
var el = document.createElement('div');
|
|
50
56
|
el.innerHTML = _content;
|
|
@@ -71,14 +77,7 @@ TextEditor.propTypes = {
|
|
|
71
77
|
handleSave: PropTypes__default['default'].func,
|
|
72
78
|
isLocked: PropTypes__default['default'].bool,
|
|
73
79
|
isSelected: PropTypes__default['default'].bool,
|
|
74
|
-
placeholder: PropTypes__default['default'].string
|
|
75
|
-
};
|
|
76
|
-
TextEditor.defaultProps = {
|
|
77
|
-
content: '',
|
|
78
|
-
handleSave: function handleSave() {},
|
|
79
|
-
isLocked: false,
|
|
80
|
-
isSelected: false,
|
|
81
|
-
placeholder: 'Click to edit text'
|
|
80
|
+
placeholder: PropTypes__default['default'].string.isRequired
|
|
82
81
|
};
|
|
83
82
|
|
|
84
83
|
module.exports = TextEditor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextEditor.js","sources":["../../../../src/components/TextEditor/TextEditor.js"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport QuillEditor from './QuillEditor';\nimport {
|
|
1
|
+
{"version":3,"file":"TextEditor.js","sources":["../../../../src/components/TextEditor/TextEditor.js"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport QuillEditor from './QuillEditor';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\n\nconst TextEditor = ({\n content = '',\n handleSave = () => {},\n isLocked = false,\n isSelected = false,\n placeholder,\n}) => {\n const [_content, setContent] = useState(domPurify.sanitize(content));\n\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n const setIsTextEditorOpen = useBuilderStore(state => state.setIsTextEditorOpen);\n\n const onClick = useCallback(() => {\n if (isSelected && !isLocked) {\n setIsTextEditorOpen(true);\n }\n }, [isSelected, isLocked, setIsTextEditorOpen]);\n\n const isNotEmpty = useMemo(() => {\n const el = document.createElement('div');\n el.innerHTML = _content;\n return !!el.innerText;\n }, [_content]);\n\n return isSelected && isTextEditorOpen ? (\n <QuillEditor\n content={_content}\n handleSave={handleSave}\n placeholder={placeholder}\n setContent={setContent}\n setIsTextEditorOpen={setIsTextEditorOpen}\n />\n ) : (\n <div\n className={`f-all ql-editor${isNotEmpty ? '' : ' isEmptyTextElement'}`}\n dangerouslySetInnerHTML={{\n __html: isNotEmpty ? _content : placeholder,\n }}\n onClick={onClick}\n onKeyDown={() => {}}\n />\n );\n};\n\nTextEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n isLocked: PropTypes.bool,\n isSelected: PropTypes.bool,\n placeholder: PropTypes.string.isRequired,\n};\n\nexport default TextEditor;\n"],"names":["TextEditor","content","handleSave","isLocked","isSelected","placeholder","useState","domPurify","sanitize","_content","setContent","isTextEditorOpen","useBuilderStore","state","setIsTextEditorOpen","onClick","useCallback","isNotEmpty","useMemo","el","document","createElement","innerHTML","innerText","_jsx","__html","propTypes","PropTypes","string","func","bool","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;IAMMA,UAAU,GAAG,SAAbA,UAAa,OAMb;AAAA,0BALJC,OAKI;AAAA,MALJA,OAKI,6BALM,EAKN;AAAA,6BAJJC,UAII;AAAA,MAJJA,UAII,gCAJS,YAAM,EAIf;AAAA,2BAHJC,QAGI;AAAA,MAHJA,QAGI,8BAHO,KAGP;AAAA,6BAFJC,UAEI;AAAA,MAFJA,UAEI,gCAFS,KAET;AAAA,MADJC,WACI,QADJA,WACI;;AACJ,kBAA+BC,cAAQ,CAACC,6BAAS,CAACC,QAAV,CAAmBP,OAAnB,CAAD,CAAvC;AAAA;AAAA,MAAOQ,QAAP;AAAA,MAAiBC,UAAjB;;AAEA,MAAMC,gBAAgB,GAAGC,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAMG,mBAAmB,GAAGF,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,mBAAV;AAAA,GAAN,CAA3C;AAEA,MAAMC,OAAO,GAAGC,iBAAW,CAAC,YAAM;AAChC,QAAIZ,UAAU,IAAI,CAACD,QAAnB,EAA6B;AAC3BW,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;AACF,GAJ0B,EAIxB,CAACV,UAAD,EAAaD,QAAb,EAAuBW,mBAAvB,CAJwB,CAA3B;AAMA,MAAMG,UAAU,GAAGC,aAAO,CAAC,YAAM;AAC/B,QAAMC,EAAE,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAX;AACAF,IAAAA,EAAE,CAACG,SAAH,GAAeb,QAAf;AACA,WAAO,CAAC,CAACU,EAAE,CAACI,SAAZ;AACD,GAJyB,EAIvB,CAACd,QAAD,CAJuB,CAA1B;AAMA,SAAOL,UAAU,IAAIO,gBAAd,gBACLa,eAAC,WAAD;AACE,IAAA,OAAO,EAAEf,QADX;AAEE,IAAA,UAAU,EAAEP,UAFd;AAGE,IAAA,WAAW,EAAEG,WAHf;AAIE,IAAA,UAAU,EAAEK,UAJd;AAKE,IAAA,mBAAmB,EAAEI;AALvB,IADK,gBASLU;AACE,IAAA,SAAS,2BAAoBP,UAAU,GAAG,EAAH,GAAQ,qBAAtC,CADX;AAEE,IAAA,uBAAuB,EAAE;AACvBQ,MAAAA,MAAM,EAAER,UAAU,GAAGR,QAAH,GAAcJ;AADT,KAF3B;AAKE,IAAA,OAAO,EAAEU,OALX;AAME,IAAA,SAAS,EAAE,qBAAM;AANnB,IATF;AAkBD;;AAEDf,UAAU,CAAC0B,SAAX,GAAuB;AACrBzB,EAAAA,OAAO,EAAE0B,6BAAS,CAACC,MADE;AAErB1B,EAAAA,UAAU,EAAEyB,6BAAS,CAACE,IAFD;AAGrB1B,EAAAA,QAAQ,EAAEwB,6BAAS,CAACG,IAHC;AAIrB1B,EAAAA,UAAU,EAAEuB,6BAAS,CAACG,IAJD;AAKrBzB,EAAAA,WAAW,EAAEsB,6BAAS,CAACC,MAAV,CAAiBG;AALT,CAAvB;;;;"}
|
|
@@ -8,6 +8,7 @@ require('core-js/modules/es.string.includes.js');
|
|
|
8
8
|
require('core-js/modules/es.string.iterator.js');
|
|
9
9
|
var React = require('react');
|
|
10
10
|
var PropTypes = require('prop-types');
|
|
11
|
+
var eventIgnoredRoles = require('../constants/eventIgnoredRoles.js');
|
|
11
12
|
var jsxRuntime = require('react/jsx-runtime');
|
|
12
13
|
|
|
13
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -26,18 +27,21 @@ function getDisplayName(WrappedComponent) {
|
|
|
26
27
|
|
|
27
28
|
function withClickOutside(WrappedComponent) {
|
|
28
29
|
function WithClickOutside(props) {
|
|
29
|
-
var
|
|
30
|
+
var _props$exceptionalCla = props.exceptionalClasses,
|
|
31
|
+
exceptionalClasses = _props$exceptionalCla === void 0 ? null : _props$exceptionalCla,
|
|
30
32
|
onClickOutside = props.onClickOutside,
|
|
31
|
-
|
|
33
|
+
_props$withClickOutsi = props.withClickOutsideWrapperClass,
|
|
34
|
+
withClickOutsideWrapperClass = _props$withClickOutsi === void 0 ? null : _props$withClickOutsi;
|
|
32
35
|
var wrapper = React.useRef(null);
|
|
33
|
-
|
|
34
|
-
var handleClickOutside = function handleClickOutside(event) {
|
|
36
|
+
var handleClickOutside = React.useCallback(function (event) {
|
|
35
37
|
var classList = event.target.classList;
|
|
36
38
|
|
|
37
39
|
if (exceptionalClasses && (classList.contains(exceptionalClasses) || Array.from(classList).some(function (xClass) {
|
|
38
40
|
return exceptionalClasses.includes(xClass);
|
|
39
41
|
}) || exceptionalClasses.some(function (item) {
|
|
40
42
|
return event.target.closest(".".concat(item));
|
|
43
|
+
}) || eventIgnoredRoles.EVENT_IGNORED_ROLES.some(function (role) {
|
|
44
|
+
return event.target.closest("[role=".concat(role, "]"));
|
|
41
45
|
}))) {
|
|
42
46
|
return;
|
|
43
47
|
}
|
|
@@ -45,14 +49,13 @@ function withClickOutside(WrappedComponent) {
|
|
|
45
49
|
if (wrapper.current && !wrapper.current.contains(event.target)) {
|
|
46
50
|
onClickOutside(event);
|
|
47
51
|
}
|
|
48
|
-
};
|
|
49
|
-
|
|
52
|
+
}, [exceptionalClasses, onClickOutside]);
|
|
50
53
|
React.useEffect(function () {
|
|
51
54
|
window.addEventListener('mousedown', handleClickOutside, true);
|
|
52
55
|
return function () {
|
|
53
56
|
window.removeEventListener('mousedown', handleClickOutside, true);
|
|
54
57
|
};
|
|
55
|
-
}, []); // should we memoize this?
|
|
58
|
+
}, [handleClickOutside]); // should we memoize this?
|
|
56
59
|
|
|
57
60
|
var propsToFilter = ['withClickOutsideWrapperClass', 'exceptionalClasses'];
|
|
58
61
|
var componentName = getDisplayName(WrappedComponent);
|
|
@@ -83,10 +86,6 @@ function withClickOutside(WrappedComponent) {
|
|
|
83
86
|
onClickOutside: PropTypes__default['default'].func.isRequired,
|
|
84
87
|
withClickOutsideWrapperClass: PropTypes__default['default'].string
|
|
85
88
|
};
|
|
86
|
-
WithClickOutside.defaultProps = {
|
|
87
|
-
exceptionalClasses: null,
|
|
88
|
-
withClickOutsideWrapperClass: null
|
|
89
|
-
};
|
|
90
89
|
WithClickOutside.displayName = "inlineEdit(".concat(getDisplayName(WrappedComponent), ")");
|
|
91
90
|
return WithClickOutside;
|
|
92
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withClickOutside.js","sources":["../../../src/components/withClickOutside.js"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nfunction withClickOutside(WrappedComponent) {\n function WithClickOutside(props) {\n const {\n exceptionalClasses,\n onClickOutside,\n withClickOutsideWrapperClass,\n } = props;\n\n const wrapper = useRef(null);\n\n const handleClickOutside = event => {\n const { classList } = event.target;\n if (\n exceptionalClasses\n && (\n classList.contains(exceptionalClasses)\n || Array.from(classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(item => event.target.closest(`.${item}`))\n )\n ) {\n return;\n }\n\n if (wrapper.current && !wrapper.current.contains(event.target)) {\n onClickOutside(event);\n }\n };\n\n useEffect(() => {\n window.addEventListener('mousedown', handleClickOutside, true);\n return () => {\n window.removeEventListener('mousedown', handleClickOutside, true);\n };\n }, []);\n\n // should we memoize this?\n const propsToFilter = ['withClickOutsideWrapperClass', 'exceptionalClasses'];\n const componentName = getDisplayName(WrappedComponent);\n if (componentName === 'Resizable') {\n // beceause resizable wrapper directly passes props to an html el\n propsToFilter.push('onClickOutside');\n }\n const filteredProps = Object.keys(props).reduce((allProps, propKey) => {\n const _allProps = allProps;\n if (propsToFilter.indexOf(propKey) === -1) {\n _allProps[propKey] = props[propKey];\n }\n return _allProps;\n }, {});\n\n return (\n <div\n ref={wrapper}\n className={withClickOutsideWrapperClass}\n >\n <WrappedComponent\n {...filteredProps}\n />\n </div>\n );\n }\n\n WithClickOutside.propTypes = {\n exceptionalClasses: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n onClickOutside: PropTypes.func.isRequired,\n withClickOutsideWrapperClass: PropTypes.string,\n };\n\n WithClickOutside.
|
|
1
|
+
{"version":3,"file":"withClickOutside.js","sources":["../../../src/components/withClickOutside.js"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { EVENT_IGNORED_ROLES } from '../constants/eventIgnoredRoles';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nfunction withClickOutside(WrappedComponent) {\n function WithClickOutside(props) {\n const {\n exceptionalClasses = null,\n onClickOutside,\n withClickOutsideWrapperClass = null,\n } = props;\n\n const wrapper = useRef(null);\n\n const handleClickOutside = useCallback(event => {\n const { classList } = event.target;\n if (\n exceptionalClasses\n && (\n classList.contains(exceptionalClasses)\n || Array.from(classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(item => event.target.closest(`.${item}`))\n || EVENT_IGNORED_ROLES.some(role => event.target.closest(`[role=${role}]`))\n )\n ) {\n return;\n }\n\n if (wrapper.current && !wrapper.current.contains(event.target)) {\n onClickOutside(event);\n }\n }, [exceptionalClasses, onClickOutside]);\n\n useEffect(() => {\n window.addEventListener('mousedown', handleClickOutside, true);\n return () => {\n window.removeEventListener('mousedown', handleClickOutside, true);\n };\n }, [handleClickOutside]);\n\n // should we memoize this?\n const propsToFilter = ['withClickOutsideWrapperClass', 'exceptionalClasses'];\n const componentName = getDisplayName(WrappedComponent);\n if (componentName === 'Resizable') {\n // beceause resizable wrapper directly passes props to an html el\n propsToFilter.push('onClickOutside');\n }\n const filteredProps = Object.keys(props).reduce((allProps, propKey) => {\n const _allProps = allProps;\n if (propsToFilter.indexOf(propKey) === -1) {\n _allProps[propKey] = props[propKey];\n }\n return _allProps;\n }, {});\n\n return (\n <div\n ref={wrapper}\n className={withClickOutsideWrapperClass}\n >\n <WrappedComponent\n {...filteredProps}\n />\n </div>\n );\n }\n\n WithClickOutside.propTypes = {\n exceptionalClasses: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n onClickOutside: PropTypes.func.isRequired,\n withClickOutsideWrapperClass: PropTypes.string,\n };\n\n WithClickOutside.displayName = `inlineEdit(${getDisplayName(WrappedComponent)})`;\n\n return WithClickOutside;\n}\n\nexport default withClickOutside;\n"],"names":["getDisplayName","WrappedComponent","displayName","name","withClickOutside","WithClickOutside","props","exceptionalClasses","onClickOutside","withClickOutsideWrapperClass","wrapper","useRef","handleClickOutside","useCallback","event","classList","target","contains","Array","from","some","xClass","includes","item","closest","EVENT_IGNORED_ROLES","role","current","useEffect","window","addEventListener","removeEventListener","propsToFilter","componentName","push","filteredProps","Object","keys","reduce","allProps","propKey","_allProps","indexOf","_jsx","propTypes","PropTypes","oneOfType","string","arrayOf","func","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,cAAT,CAAwBC,gBAAxB,EAA0C;AACxC,SAAOA,gBAAgB,CAACC,WAAjB,IAAgCD,gBAAgB,CAACE,IAAjD,IAAyD,WAAhE;AACD;;AAED,SAASC,gBAAT,CAA0BH,gBAA1B,EAA4C;AAC1C,WAASI,gBAAT,CAA0BC,KAA1B,EAAiC;AAC/B,gCAIIA,KAJJ,CACEC,kBADF;AAAA,QACEA,kBADF,sCACuB,IADvB;AAAA,QAEEC,cAFF,GAIIF,KAJJ,CAEEE,cAFF;AAAA,gCAIIF,KAJJ,CAGEG,4BAHF;AAAA,QAGEA,4BAHF,sCAGiC,IAHjC;AAMA,QAAMC,OAAO,GAAGC,YAAM,CAAC,IAAD,CAAtB;AAEA,QAAMC,kBAAkB,GAAGC,iBAAW,CAAC,UAAAC,KAAK,EAAI;AAC9C,UAAQC,SAAR,GAAsBD,KAAK,CAACE,MAA5B,CAAQD,SAAR;;AACA,UACER,kBAAkB,KAEhBQ,SAAS,CAACE,QAAV,CAAmBV,kBAAnB,KACGW,KAAK,CAACC,IAAN,CAAWJ,SAAX,EAAsBK,IAAtB,CAA2B,UAAAC,MAAM;AAAA,eAAId,kBAAkB,CAACe,QAAnB,CAA4BD,MAA5B,CAAJ;AAAA,OAAjC,CADH,IAEGd,kBAAkB,CAACa,IAAnB,CAAwB,UAAAG,IAAI;AAAA,eAAIT,KAAK,CAACE,MAAN,CAAaQ,OAAb,YAAyBD,IAAzB,EAAJ;AAAA,OAA5B,CAFH,IAGGE,qCAAmB,CAACL,IAApB,CAAyB,UAAAM,IAAI;AAAA,eAAIZ,KAAK,CAACE,MAAN,CAAaQ,OAAb,iBAA8BE,IAA9B,OAAJ;AAAA,OAA7B,CALa,CADpB,EAQE;AACA;AACD;;AAED,UAAIhB,OAAO,CAACiB,OAAR,IAAmB,CAACjB,OAAO,CAACiB,OAAR,CAAgBV,QAAhB,CAAyBH,KAAK,CAACE,MAA/B,CAAxB,EAAgE;AAC9DR,QAAAA,cAAc,CAACM,KAAD,CAAd;AACD;AACF,KAjBqC,EAiBnC,CAACP,kBAAD,EAAqBC,cAArB,CAjBmC,CAAtC;AAmBAoB,IAAAA,eAAS,CAAC,YAAM;AACdC,MAAAA,MAAM,CAACC,gBAAP,CAAwB,WAAxB,EAAqClB,kBAArC,EAAyD,IAAzD;AACA,aAAO,YAAM;AACXiB,QAAAA,MAAM,CAACE,mBAAP,CAA2B,WAA3B,EAAwCnB,kBAAxC,EAA4D,IAA5D;AACD,OAFD;AAGD,KALQ,EAKN,CAACA,kBAAD,CALM,CAAT,CA5B+B;;AAoC/B,QAAMoB,aAAa,GAAG,CAAC,8BAAD,EAAiC,oBAAjC,CAAtB;AACA,QAAMC,aAAa,GAAGjC,cAAc,CAACC,gBAAD,CAApC;;AACA,QAAIgC,aAAa,KAAK,WAAtB,EAAmC;AACjC;AACAD,MAAAA,aAAa,CAACE,IAAd,CAAmB,gBAAnB;AACD;;AACD,QAAMC,aAAa,GAAGC,MAAM,CAACC,IAAP,CAAY/B,KAAZ,EAAmBgC,MAAnB,CAA0B,UAACC,QAAD,EAAWC,OAAX,EAAuB;AACrE,UAAMC,SAAS,GAAGF,QAAlB;;AACA,UAAIP,aAAa,CAACU,OAAd,CAAsBF,OAAtB,MAAmC,CAAC,CAAxC,EAA2C;AACzCC,QAAAA,SAAS,CAACD,OAAD,CAAT,GAAqBlC,KAAK,CAACkC,OAAD,CAA1B;AACD;;AACD,aAAOC,SAAP;AACD,KANqB,EAMnB,EANmB,CAAtB;AAQA,wBACEE;AACE,MAAA,GAAG,EAAEjC,OADP;AAEE,MAAA,SAAS,EAAED,4BAFb;AAAA,6BAIEkC,eAAC,gBAAD,oBACMR,aADN;AAJF,MADF;AAUD;;AAED9B,EAAAA,gBAAgB,CAACuC,SAAjB,GAA6B;AAC3BrC,IAAAA,kBAAkB,EAAEsC,6BAAS,CAACC,SAAV,CAAoB,CACtCD,6BAAS,CAACE,MAD4B,EAEtCF,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACE,MAA5B,CAFsC,CAApB,CADO;AAK3BvC,IAAAA,cAAc,EAAEqC,6BAAS,CAACI,IAAV,CAAeC,UALJ;AAM3BzC,IAAAA,4BAA4B,EAAEoC,6BAAS,CAACE;AANb,GAA7B;AASA1C,EAAAA,gBAAgB,CAACH,WAAjB,wBAA6CF,cAAc,CAACC,gBAAD,CAA3D;AAEA,SAAOI,gBAAP;AACD;;;;"}
|