@jotforminc/dnd-builder 3.9.4 → 3.9.6
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/README.md +1 -1
- package/lib/cjs/components/AlignmentGuides.js +0 -4
- package/lib/cjs/components/AlignmentGuides.js.map +1 -1
- package/lib/cjs/components/Builder/BuilderWrapper.js +0 -2
- package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/cjs/components/Builder/ContextMenu.js +0 -2
- package/lib/cjs/components/Builder/ContextMenu.js.map +1 -1
- package/lib/cjs/components/Builder/Page.js +0 -1
- package/lib/cjs/components/Builder/Page.js.map +1 -1
- package/lib/cjs/components/Builder/PageActions.js +0 -3
- package/lib/cjs/components/Builder/PageActions.js.map +1 -1
- package/lib/cjs/components/Builder/Scene.js +0 -7
- package/lib/cjs/components/Builder/Scene.js.map +1 -1
- package/lib/cjs/components/Builder/Tabs.js +0 -2
- package/lib/cjs/components/Builder/Tabs.js.map +1 -1
- package/lib/cjs/components/Builder/ZoomControls.js +0 -3
- package/lib/cjs/components/Builder/ZoomControls.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItem.js +0 -2
- package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +0 -1
- package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
- package/lib/cjs/components/Elements/Chart.js +0 -3
- package/lib/cjs/components/Elements/Chart.js.map +1 -1
- package/lib/cjs/components/Elements/Icon.js +0 -1
- package/lib/cjs/components/Elements/Icon.js.map +1 -1
- package/lib/cjs/components/Elements/Image.js +0 -1
- package/lib/cjs/components/Elements/Image.js.map +1 -1
- package/lib/cjs/components/Elements/Shapes.js +0 -1
- package/lib/cjs/components/Elements/Shapes.js.map +1 -1
- package/lib/cjs/components/ErrorBoundary/ErrorDetails.js +0 -2
- package/lib/cjs/components/ErrorBoundary/ErrorDetails.js.map +1 -1
- package/lib/cjs/components/ErrorBoundary/ErrorFallbackWrapper.js +0 -2
- package/lib/cjs/components/ErrorBoundary/ErrorFallbackWrapper.js.map +1 -1
- package/lib/cjs/components/PageItemResizer.js +0 -3
- package/lib/cjs/components/PageItemResizer.js.map +1 -1
- package/lib/cjs/components/Panels/LeftPanel/Elements.js +0 -8
- package/lib/cjs/components/Panels/LeftPanel/Elements.js.map +1 -1
- package/lib/cjs/components/Panels/RightPanel/RightPanel.js +4 -7
- package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
- package/lib/cjs/components/Panels/RightPanel/Settings.js +0 -4
- package/lib/cjs/components/Panels/RightPanel/Settings.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +0 -1
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js +0 -2
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItemsList.js +0 -3
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItemsList.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/StaticSlideItem.js +0 -2
- package/lib/cjs/components/Panels/SlidesNavigator/StaticSlideItem.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js +0 -2
- package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js +0 -2
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js +0 -1
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js +0 -3
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
- package/lib/cjs/components/Presentation/PresentationBar/PresentationActions.js +0 -4
- package/lib/cjs/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
- package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js +0 -1
- package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
- package/lib/cjs/components/Presentation/PresentationBar/SelectZoom.js +0 -3
- package/lib/cjs/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
- package/lib/cjs/components/Preview/StaticPage.js +0 -2
- package/lib/cjs/components/Preview/StaticPage.js.map +1 -1
- package/lib/cjs/components/Preview/StaticScene.js +0 -8
- package/lib/cjs/components/Preview/StaticScene.js.map +1 -1
- package/lib/cjs/components/Print/PrintWrapper.js +0 -2
- package/lib/cjs/components/Print/PrintWrapper.js.map +1 -1
- package/lib/cjs/components/ReportItemsWrapper.js +0 -2
- package/lib/cjs/components/ReportItemsWrapper.js.map +1 -1
- package/lib/cjs/components/Settings/CheckboxGroup.js +0 -2
- package/lib/cjs/components/Settings/CheckboxGroup.js.map +1 -1
- package/lib/cjs/components/Settings/ColorPicker.js +0 -1
- package/lib/cjs/components/Settings/ColorPicker.js.map +1 -1
- package/lib/cjs/components/Settings/Dropdown.js +0 -1
- package/lib/cjs/components/Settings/Dropdown.js.map +1 -1
- package/lib/cjs/components/Settings/IconSelectBox.js +0 -2
- package/lib/cjs/components/Settings/IconSelectBox.js.map +1 -1
- package/lib/cjs/components/Settings/ImagePicker/EnterURL.js +0 -4
- package/lib/cjs/components/Settings/ImagePicker/EnterURL.js.map +1 -1
- package/lib/cjs/components/Settings/LayoutSizeSettings.js +0 -2
- package/lib/cjs/components/Settings/LayoutSizeSettings.js.map +1 -1
- package/lib/cjs/components/Settings/Orientation.js +0 -5
- package/lib/cjs/components/Settings/Orientation.js.map +1 -1
- package/lib/cjs/components/Settings/PageLayer/LayerItem.js +0 -2
- package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
- package/lib/cjs/components/Settings/PageLayer/PageLayer.js +0 -3
- package/lib/cjs/components/Settings/PageLayer/PageLayer.js.map +1 -1
- package/lib/cjs/components/Settings/SegmentControl.js +0 -4
- package/lib/cjs/components/Settings/SegmentControl.js.map +1 -1
- package/lib/cjs/components/Settings/SelectBox.js +0 -2
- package/lib/cjs/components/Settings/SelectBox.js.map +1 -1
- package/lib/cjs/components/Settings/SizeSettings.js +0 -1
- package/lib/cjs/components/Settings/SizeSettings.js.map +1 -1
- package/lib/cjs/components/Settings/Slider.js +0 -2
- package/lib/cjs/components/Settings/Slider.js.map +1 -1
- package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbar.js +0 -4
- package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
- package/lib/cjs/components/TextEditor/QuillEditor.js +0 -1
- package/lib/cjs/components/TextEditor/QuillEditor.js.map +1 -1
- package/lib/cjs/components/withClickOutside.js +0 -6
- package/lib/cjs/components/withClickOutside.js.map +1 -1
- package/lib/cjs/constants/fonts.js +0 -4
- package/lib/cjs/constants/fonts.js.map +1 -1
- package/lib/cjs/constants/reportLayoutSettings.js +0 -3
- package/lib/cjs/constants/reportLayoutSettings.js.map +1 -1
- package/lib/cjs/constants/reportSettings.js +0 -1
- package/lib/cjs/constants/reportSettings.js.map +1 -1
- package/lib/cjs/contexts/BuilderContext.js +0 -1
- package/lib/cjs/contexts/BuilderContext.js.map +1 -1
- package/lib/cjs/contexts/Providers.js +0 -1
- package/lib/cjs/contexts/Providers.js.map +1 -1
- package/lib/cjs/utils/functions.js +0 -25
- package/lib/cjs/utils/functions.js.map +1 -1
- package/lib/cjs/utils/generateId.js +0 -2
- package/lib/cjs/utils/generateId.js.map +1 -1
- package/lib/cjs/utils/getMergedItem.js +0 -4
- package/lib/cjs/utils/getMergedItem.js.map +1 -1
- package/lib/cjs/utils/hooks.js +0 -7
- package/lib/cjs/utils/hooks.js.map +1 -1
- package/lib/cjs/utils/print.js +0 -2
- package/lib/cjs/utils/print.js.map +1 -1
- package/lib/cjs/utils/string.js +0 -8
- package/lib/cjs/utils/string.js.map +1 -1
- package/lib/cjs/utils/useKeyboardActions.js +0 -4
- package/lib/cjs/utils/useKeyboardActions.js.map +1 -1
- package/lib/cjs/utils/useMarqueeSelection.js +0 -3
- package/lib/cjs/utils/useMarqueeSelection.js.map +1 -1
- package/lib/esm/components/AlignmentGuides.js +0 -4
- package/lib/esm/components/AlignmentGuides.js.map +1 -1
- package/lib/esm/components/Builder/BuilderWrapper.js +0 -2
- package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/esm/components/Builder/ContextMenu.js +0 -2
- package/lib/esm/components/Builder/ContextMenu.js.map +1 -1
- package/lib/esm/components/Builder/Page.js +0 -1
- package/lib/esm/components/Builder/Page.js.map +1 -1
- package/lib/esm/components/Builder/PageActions.js +0 -3
- package/lib/esm/components/Builder/PageActions.js.map +1 -1
- package/lib/esm/components/Builder/Scene.js +0 -7
- package/lib/esm/components/Builder/Scene.js.map +1 -1
- package/lib/esm/components/Builder/Tabs.js +0 -2
- package/lib/esm/components/Builder/Tabs.js.map +1 -1
- package/lib/esm/components/Builder/ZoomControls.js +0 -3
- package/lib/esm/components/Builder/ZoomControls.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItem.js +0 -2
- package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItemLayer.js +0 -1
- package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
- package/lib/esm/components/Elements/Chart.js +0 -3
- package/lib/esm/components/Elements/Chart.js.map +1 -1
- package/lib/esm/components/Elements/Icon.js +0 -1
- package/lib/esm/components/Elements/Icon.js.map +1 -1
- package/lib/esm/components/Elements/Image.js +0 -1
- package/lib/esm/components/Elements/Image.js.map +1 -1
- package/lib/esm/components/Elements/Shapes.js +0 -1
- package/lib/esm/components/Elements/Shapes.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/ErrorDetails.js +0 -2
- package/lib/esm/components/ErrorBoundary/ErrorDetails.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/ErrorFallbackWrapper.js +0 -2
- package/lib/esm/components/ErrorBoundary/ErrorFallbackWrapper.js.map +1 -1
- package/lib/esm/components/PageItemResizer.js +0 -3
- package/lib/esm/components/PageItemResizer.js.map +1 -1
- package/lib/esm/components/Panels/LeftPanel/Elements.js +0 -8
- package/lib/esm/components/Panels/LeftPanel/Elements.js.map +1 -1
- package/lib/esm/components/Panels/RightPanel/RightPanel.js +4 -7
- package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
- package/lib/esm/components/Panels/RightPanel/Settings.js +0 -4
- package/lib/esm/components/Panels/RightPanel/Settings.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +0 -1
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js +0 -2
- package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/SlideItemsList.js +0 -3
- package/lib/esm/components/Panels/SlidesNavigator/SlideItemsList.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/StaticSlideItem.js +0 -2
- package/lib/esm/components/Panels/SlidesNavigator/StaticSlideItem.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js +0 -2
- package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js +0 -2
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js +0 -1
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js +0 -3
- package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
- package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js +0 -4
- package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
- package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js +0 -1
- package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
- package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js +0 -3
- package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
- package/lib/esm/components/Preview/StaticPage.js +0 -2
- package/lib/esm/components/Preview/StaticPage.js.map +1 -1
- package/lib/esm/components/Preview/StaticScene.js +0 -8
- package/lib/esm/components/Preview/StaticScene.js.map +1 -1
- package/lib/esm/components/Print/PrintWrapper.js +0 -2
- package/lib/esm/components/Print/PrintWrapper.js.map +1 -1
- package/lib/esm/components/ReportItemsWrapper.js +0 -2
- package/lib/esm/components/ReportItemsWrapper.js.map +1 -1
- package/lib/esm/components/Settings/CheckboxGroup.js +0 -2
- package/lib/esm/components/Settings/CheckboxGroup.js.map +1 -1
- package/lib/esm/components/Settings/ColorPicker.js +0 -1
- package/lib/esm/components/Settings/ColorPicker.js.map +1 -1
- package/lib/esm/components/Settings/Dropdown.js +0 -1
- package/lib/esm/components/Settings/Dropdown.js.map +1 -1
- package/lib/esm/components/Settings/IconSelectBox.js +0 -2
- package/lib/esm/components/Settings/IconSelectBox.js.map +1 -1
- package/lib/esm/components/Settings/ImagePicker/EnterURL.js +0 -4
- package/lib/esm/components/Settings/ImagePicker/EnterURL.js.map +1 -1
- package/lib/esm/components/Settings/LayoutSizeSettings.js +0 -2
- package/lib/esm/components/Settings/LayoutSizeSettings.js.map +1 -1
- package/lib/esm/components/Settings/Orientation.js +0 -5
- package/lib/esm/components/Settings/Orientation.js.map +1 -1
- package/lib/esm/components/Settings/PageLayer/LayerItem.js +0 -2
- package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
- package/lib/esm/components/Settings/PageLayer/PageLayer.js +0 -3
- package/lib/esm/components/Settings/PageLayer/PageLayer.js.map +1 -1
- package/lib/esm/components/Settings/SegmentControl.js +0 -4
- package/lib/esm/components/Settings/SegmentControl.js.map +1 -1
- package/lib/esm/components/Settings/SelectBox.js +0 -2
- package/lib/esm/components/Settings/SelectBox.js.map +1 -1
- package/lib/esm/components/Settings/SizeSettings.js +0 -1
- package/lib/esm/components/Settings/SizeSettings.js.map +1 -1
- package/lib/esm/components/Settings/Slider.js +0 -2
- package/lib/esm/components/Settings/Slider.js.map +1 -1
- package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js +0 -4
- package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
- package/lib/esm/components/TextEditor/QuillEditor.js +0 -1
- package/lib/esm/components/TextEditor/QuillEditor.js.map +1 -1
- package/lib/esm/components/withClickOutside.js +0 -6
- package/lib/esm/components/withClickOutside.js.map +1 -1
- package/lib/esm/constants/fonts.js +0 -4
- package/lib/esm/constants/fonts.js.map +1 -1
- package/lib/esm/constants/reportLayoutSettings.js +0 -3
- package/lib/esm/constants/reportLayoutSettings.js.map +1 -1
- package/lib/esm/constants/reportSettings.js +0 -1
- package/lib/esm/constants/reportSettings.js.map +1 -1
- package/lib/esm/contexts/BuilderContext.js +0 -1
- package/lib/esm/contexts/BuilderContext.js.map +1 -1
- package/lib/esm/contexts/Providers.js +0 -1
- package/lib/esm/contexts/Providers.js.map +1 -1
- package/lib/esm/utils/functions.js +0 -25
- package/lib/esm/utils/functions.js.map +1 -1
- package/lib/esm/utils/generateId.js +0 -2
- package/lib/esm/utils/generateId.js.map +1 -1
- package/lib/esm/utils/getMergedItem.js +0 -4
- package/lib/esm/utils/getMergedItem.js.map +1 -1
- package/lib/esm/utils/hooks.js +0 -7
- package/lib/esm/utils/hooks.js.map +1 -1
- package/lib/esm/utils/print.js +0 -2
- package/lib/esm/utils/print.js.map +1 -1
- package/lib/esm/utils/string.js +0 -8
- package/lib/esm/utils/string.js.map +1 -1
- package/lib/esm/utils/useKeyboardActions.js +0 -4
- package/lib/esm/utils/useKeyboardActions.js.map +1 -1
- package/lib/esm/utils/useMarqueeSelection.js +0 -3
- package/lib/esm/utils/useMarqueeSelection.js.map +1 -1
- package/package.json +11 -10
- package/CHANGELOG.md +0 -886
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListWrapper.js","sources":["../../../../../src/components/Panels/SlidesPanel/ListWrapper.js"],"sourcesContent":["import {\n memo, useCallback, useRef, useState, useMemo, useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport PageAdder from '../../Builder/PageAdder';\nimport { getScaleForPageThumbnail, scrollToTarget } from '../../../utils/functions';\nimport { usePageVisibility } from '../../../utils/hooks';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst ListWrapper = ({\n component: Component = null,\n onSortEnd = () => {},\n pageGetter = () => {},\n}) => {\n const pageCount = usePropStore(state => state.pages.length);\n const onPageAdd = usePropStore(state => state.onPageAdd);\n const onPageDuplicate = usePropStore(state => state.onPageDuplicate);\n const onPageRemove = usePropStore(state => state.onPageRemove);\n const reportSettings = usePropStore(state => state.settings);\n const onPageVisibilityChanged = usePropStore(state => state.onPageVisibilityChanged);\n\n const listRef = useRef(null);\n const [selectedPageIndex, setSelectedPageIndex] = useState(-1);\n const {\n reportBackgroundColor,\n reportLayoutHeight = 794,\n reportLayoutWidth = 1123,\n } = reportSettings;\n const width = parseInt(reportLayoutWidth, 10);\n const height = parseInt(reportLayoutHeight, 10);\n const { left, scale, top } = getScaleForPageThumbnail(width, height);\n\n const pageContainerStyles = useMemo(() => ({\n backgroundColor: reportBackgroundColor || '#fff',\n height: height,\n left,\n top,\n transform: `scale(${scale})`,\n transformOrigin: '0 0',\n width: width,\n }), [height, left, scale, top, width, reportBackgroundColor]);\n\n const _onSortEnd = useCallback(({ newIndex, oldIndex }) => {\n if (onSortEnd) {\n onSortEnd({ newIndex, oldIndex }, null, listRef.current);\n }\n }, [onSortEnd]);\n\n const refSetter = useCallback(outerRef => {\n if (outerRef) {\n listRef.current = outerRef;\n }\n }, []);\n\n const handlePageVisibility = useCallback(index => {\n if (index && !Number.isNaN(index)) {\n if (listRef.current?.scrollToIndex) {\n listRef.current.scrollToIndex(index, 'center');\n }\n\n const prevSelectedThumbnail = document.querySelector('.thumbnailWrapper.isSelected');\n if (prevSelectedThumbnail) {\n prevSelectedThumbnail.classList.remove('isSelected');\n }\n\n const nextSelectedThumbnail = document\n .querySelector(`.thumbnailWrapper[data-order=\"${index}\"]`);\n if (nextSelectedThumbnail) {\n nextSelectedThumbnail.classList.add('isSelected');\n onPageVisibilityChanged(index);\n }\n }\n }, [onPageVisibilityChanged]);\n\n usePageVisibility(handlePageVisibility, pageCount, selectedPageIndex);\n\n // TODO: could be better than now. scrollend listener is a choice for some cases\n const resetSelectedPageIndex = useCallback(() => {\n setTimeout(() => {\n setSelectedPageIndex(-1);\n }, 1000);\n }, []);\n\n const onPageClick = useCallback(e => {\n const order = e.target.getAttribute('data-order');\n setSelectedPageIndex(parseInt(order, 10));\n if (!e.target.classList.contains('controllerItem')) { // for page thumbnails actions\n scrollToTarget(`pageActions-id-${order}`);\n }\n resetSelectedPageIndex();\n }, [resetSelectedPageIndex]);\n\n const handlePageAdd = useCallback(index => {\n setSelectedPageIndex(index);\n onPageAdd(index);\n }, [onPageAdd]);\n\n const handlePageDuplicate = useCallback(index => {\n setSelectedPageIndex(index);\n onPageDuplicate(index);\n }, [onPageDuplicate]);\n\n const handlePageRemove = useCallback(index => {\n setSelectedPageIndex(index);\n onPageRemove(index);\n }, [onPageRemove]);\n\n useEffect(() => { // after new page added\n scrollToTarget(`pageActions-id-${selectedPageIndex}`, 0, { behavior: 'smooth' });\n resetSelectedPageIndex();\n }, [resetSelectedPageIndex, selectedPageIndex]);\n\n return (\n <>\n <div\n style={{\n height: '100%', margin: '25px 10px', position: 'relative', width: '100%',\n }}\n >\n <Component\n ref={refSetter}\n height=\"100%\"\n onPageAdd={handlePageAdd}\n onPageClick={onPageClick}\n onPageDuplicate={handlePageDuplicate}\n onPageRemove={handlePageRemove}\n onSortEnd={_onSortEnd}\n pageContainerStyle={pageContainerStyles}\n pageCount={pageCount}\n pageGetter={pageGetter}\n width=\"100%\"\n />\n </div>\n <div className=\"jfReport-pane-footer\">\n <PageAdder additionalClass=\"forOptions\" />\n </div>\n </>\n );\n};\n\nListWrapper.propTypes = {\n component: PropTypes.any,\n onSortEnd: PropTypes.func,\n pageGetter: PropTypes.func,\n};\n\nexport default memo(ListWrapper);\n"],"names":["ListWrapper","component","Component","onSortEnd","pageGetter","pageCount","usePropStore","state","pages","length","onPageAdd","onPageDuplicate","onPageRemove","reportSettings","settings","onPageVisibilityChanged","listRef","useRef","useState","selectedPageIndex","setSelectedPageIndex","reportBackgroundColor","reportLayoutHeight","reportLayoutWidth","width","parseInt","height","getScaleForPageThumbnail","left","scale","top","pageContainerStyles","useMemo","backgroundColor","transform","transformOrigin","_onSortEnd","useCallback","newIndex","oldIndex","current","refSetter","outerRef","handlePageVisibility","index","Number","isNaN","scrollToIndex","prevSelectedThumbnail","document","querySelector","classList","remove","nextSelectedThumbnail","add","usePageVisibility","resetSelectedPageIndex","setTimeout","onPageClick","e","order","target","getAttribute","contains","scrollToTarget","handlePageAdd","handlePageDuplicate","handlePageRemove","useEffect","behavior","_jsxs","_jsx","margin","position","propTypes","PropTypes","any","func","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,WAAW,GAAG,SAAdA,WAAc,OAId;AAAA,4BAHJC,SAGI;AAAA,MAHOC,SAGP,+BAHmB,IAGnB;AAAA,4BAFJC,SAEI;AAAA,MAFJA,SAEI,+BAFQ,YAAM,EAEd;AAAA,6BADJC,UACI;AAAA,MADJA,UACI,gCADS,YAAM,EACf;AACJ,MAAMC,SAAS,GAAGC,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,KAAN,CAAYC,MAAhB;AAAA,GAAN,CAA9B;AACA,MAAMC,SAAS,GAAGJ,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACG,SAAV;AAAA,GAAN,CAA9B;AACA,MAAMC,eAAe,GAAGL,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACI,eAAV;AAAA,GAAN,CAApC;AACA,MAAMC,YAAY,GAAGN,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACK,YAAV;AAAA,GAAN,CAAjC;AACA,MAAMC,cAAc,GAAGP,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACO,QAAV;AAAA,GAAN,CAAnC;AACA,MAAMC,uBAAuB,GAAGT,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACQ,uBAAV;AAAA,GAAN,CAA5C;AAEA,MAAMC,OAAO,GAAGC,YAAM,CAAC,IAAD,CAAtB;;AACA,kBAAkDC,cAAQ,CAAC,CAAC,CAAF,CAA1D;AAAA;AAAA,MAAOC,iBAAP;AAAA,MAA0BC,oBAA1B;;AACA,MACEC,qBADF,GAIIR,cAJJ,CACEQ,qBADF;AAAA,8BAIIR,cAJJ,CAEES,kBAFF;AAAA,MAEEA,kBAFF,sCAEuB,GAFvB;AAAA,+BAIIT,cAJJ,CAGEU,iBAHF;AAAA,MAGEA,iBAHF,uCAGsB,IAHtB;AAKA,MAAMC,KAAK,GAAGC,QAAQ,CAACF,iBAAD,EAAoB,EAApB,CAAtB;AACA,MAAMG,MAAM,GAAGD,QAAQ,CAACH,kBAAD,EAAqB,EAArB,CAAvB;;AACA,8BAA6BK,kCAAwB,CAACH,KAAD,EAAQE,MAAR,CAArD;AAAA,MAAQE,IAAR,yBAAQA,IAAR;AAAA,MAAcC,KAAd,yBAAcA,KAAd;AAAA,MAAqBC,GAArB,yBAAqBA,GAArB;;AAEA,MAAMC,mBAAmB,GAAGC,aAAO,CAAC;AAAA,WAAO;AACzCC,MAAAA,eAAe,EAAEZ,qBAAqB,IAAI,MADD;AAEzCK,MAAAA,MAAM,EAAEA,MAFiC;AAGzCE,MAAAA,IAAI,EAAJA,IAHyC;AAIzCE,MAAAA,GAAG,EAAHA,GAJyC;AAKzCI,MAAAA,SAAS,kBAAWL,KAAX,MALgC;AAMzCM,MAAAA,eAAe,EAAE,KANwB;AAOzCX,MAAAA,KAAK,EAAEA;AAPkC,KAAP;AAAA,GAAD,EAQ/B,CAACE,MAAD,EAASE,IAAT,EAAeC,KAAf,EAAsBC,GAAtB,EAA2BN,KAA3B,EAAkCH,qBAAlC,CAR+B,CAAnC;;AAUA,MAAMe,UAAU,GAAGC,iBAAW,CAAC,iBAA4B;AAAA,QAAzBC,QAAyB,SAAzBA,QAAyB;AAAA,QAAfC,QAAe,SAAfA,QAAe;;AACzD,QAAIpC,SAAJ,EAAe;AACbA,MAAAA,SAAS,CAAC;AAAEmC,QAAAA,QAAQ,EAARA,QAAF;AAAYC,QAAAA,QAAQ,EAARA;AAAZ,OAAD,EAAyB,IAAzB,EAA+BvB,OAAO,CAACwB,OAAvC,CAAT;AACD;AACF,GAJ6B,EAI3B,CAACrC,SAAD,CAJ2B,CAA9B;;AAMA,MAAMsC,SAAS,GAAGJ,iBAAW,CAAC,UAAAK,QAAQ,EAAI;AACxC,QAAIA,QAAJ,EAAc;AACZ1B,MAAAA,OAAO,CAACwB,OAAR,GAAkBE,QAAlB;AACD;AACF,GAJ4B,EAI1B,EAJ0B,CAA7B;AAMA,MAAMC,oBAAoB,GAAGN,iBAAW,CAAC,UAAAO,KAAK,EAAI;AAChD,QAAIA,KAAK,IAAI,CAACC,MAAM,CAACC,KAAP,CAAaF,KAAb,CAAd,EAAmC;AAAA;;AACjC,8BAAI5B,OAAO,CAACwB,OAAZ,6CAAI,iBAAiBO,aAArB,EAAoC;AAClC/B,QAAAA,OAAO,CAACwB,OAAR,CAAgBO,aAAhB,CAA8BH,KAA9B,EAAqC,QAArC;AACD;;AAED,UAAMI,qBAAqB,GAAGC,QAAQ,CAACC,aAAT,CAAuB,8BAAvB,CAA9B;;AACA,UAAIF,qBAAJ,EAA2B;AACzBA,QAAAA,qBAAqB,CAACG,SAAtB,CAAgCC,MAAhC,CAAuC,YAAvC;AACD;;AAED,UAAMC,qBAAqB,GAAGJ,QAAQ,CACnCC,aAD2B,0CACoBN,KADpB,SAA9B;;AAEA,UAAIS,qBAAJ,EAA2B;AACzBA,QAAAA,qBAAqB,CAACF,SAAtB,CAAgCG,GAAhC,CAAoC,YAApC;AACAvC,QAAAA,uBAAuB,CAAC6B,KAAD,CAAvB;AACD;AACF;AACF,GAlBuC,EAkBrC,CAAC7B,uBAAD,CAlBqC,CAAxC;AAoBAwC,EAAAA,uBAAiB,CAACZ,oBAAD,EAAuBtC,SAAvB,EAAkCc,iBAAlC,CAAjB,CA7DI;;AAgEJ,MAAMqC,sBAAsB,GAAGnB,iBAAW,CAAC,YAAM;AAC/CoB,IAAAA,UAAU,CAAC,YAAM;AACfrC,MAAAA,oBAAoB,CAAC,CAAC,CAAF,CAApB;AACD,KAFS,EAEP,IAFO,CAAV;AAGD,GAJyC,EAIvC,EAJuC,CAA1C;AAMA,MAAMsC,WAAW,GAAGrB,iBAAW,CAAC,UAAAsB,CAAC,EAAI;AACnC,QAAMC,KAAK,GAAGD,CAAC,CAACE,MAAF,CAASC,YAAT,CAAsB,YAAtB,CAAd;AACA1C,IAAAA,oBAAoB,CAACK,QAAQ,CAACmC,KAAD,EAAQ,EAAR,CAAT,CAApB;;AACA,QAAI,CAACD,CAAC,CAACE,MAAF,CAASV,SAAT,CAAmBY,QAAnB,CAA4B,gBAA5B,CAAL,EAAoD;AAAE;AACpDC,MAAAA,wBAAc,0BAAmBJ,KAAnB,EAAd;AACD;;AACDJ,IAAAA,sBAAsB;AACvB,GAP8B,EAO5B,CAACA,sBAAD,CAP4B,CAA/B;AASA,MAAMS,aAAa,GAAG5B,iBAAW,CAAC,UAAAO,KAAK,EAAI;AACzCxB,IAAAA,oBAAoB,CAACwB,KAAD,CAApB;AACAlC,IAAAA,SAAS,CAACkC,KAAD,CAAT;AACD,GAHgC,EAG9B,CAAClC,SAAD,CAH8B,CAAjC;AAKA,MAAMwD,mBAAmB,GAAG7B,iBAAW,CAAC,UAAAO,KAAK,EAAI;AAC/CxB,IAAAA,oBAAoB,CAACwB,KAAD,CAApB;AACAjC,IAAAA,eAAe,CAACiC,KAAD,CAAf;AACD,GAHsC,EAGpC,CAACjC,eAAD,CAHoC,CAAvC;AAKA,MAAMwD,gBAAgB,GAAG9B,iBAAW,CAAC,UAAAO,KAAK,EAAI;AAC5CxB,IAAAA,oBAAoB,CAACwB,KAAD,CAApB;AACAhC,IAAAA,YAAY,CAACgC,KAAD,CAAZ;AACD,GAHmC,EAGjC,CAAChC,YAAD,CAHiC,CAApC;AAKAwD,EAAAA,eAAS,CAAC,YAAM;AAAE;AAChBJ,IAAAA,wBAAc,0BAAmB7C,iBAAnB,GAAwC,CAAxC,EAA2C;AAAEkD,MAAAA,QAAQ,EAAE;AAAZ,KAA3C,CAAd;AACAb,IAAAA,sBAAsB;AACvB,GAHQ,EAGN,CAACA,sBAAD,EAAyBrC,iBAAzB,CAHM,CAAT;AAKA,sBACEmD;AAAA,4BACEC;AACE,MAAA,KAAK,EAAE;AACL7C,QAAAA,MAAM,EAAE,MADH;AACW8C,QAAAA,MAAM,EAAE,WADnB;AACgCC,QAAAA,QAAQ,EAAE,UAD1C;AACsDjD,QAAAA,KAAK,EAAE;AAD7D,OADT;AAAA,6BAKE+C,eAAC,SAAD;AACE,QAAA,GAAG,EAAE9B,SADP;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,SAAS,EAAEwB,aAHb;AAIE,QAAA,WAAW,EAAEP,WAJf;AAKE,QAAA,eAAe,EAAEQ,mBALnB;AAME,QAAA,YAAY,EAAEC,gBANhB;AAOE,QAAA,SAAS,EAAE/B,UAPb;AAQE,QAAA,kBAAkB,EAAEL,mBARtB;AASE,QAAA,SAAS,EAAE1B,SATb;AAUE,QAAA,UAAU,EAAED,UAVd;AAWE,QAAA,KAAK,EAAC;AAXR;AALF,MADF,eAoBEmE;AAAK,MAAA,SAAS,EAAC,sBAAf;AAAA,6BACEA,eAAC,SAAD;AAAW,QAAA,eAAe,EAAC;AAA3B;AADF,MApBF;AAAA,IADF;AA0BD,CAjID;;AAmIAvE,WAAW,CAAC0E,SAAZ,GAAwB;AACtBzE,EAAAA,SAAS,EAAE0E,6BAAS,CAACC,GADC;AAEtBzE,EAAAA,SAAS,EAAEwE,6BAAS,CAACE,IAFC;AAGtBzE,EAAAA,UAAU,EAAEuE,6BAAS,CAACE;AAHA,CAAxB;AAMA,iCAAeC,UAAI,CAAC9E,WAAD,CAAnB;;;;"}
|
|
1
|
+
{"version":3,"file":"ListWrapper.js","sources":["../../../../../src/components/Panels/SlidesPanel/ListWrapper.js"],"sourcesContent":["import {\n memo, useCallback, useRef, useState, useMemo, useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport PageAdder from '../../Builder/PageAdder';\nimport { getScaleForPageThumbnail, scrollToTarget } from '../../../utils/functions';\nimport { usePageVisibility } from '../../../utils/hooks';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst ListWrapper = ({\n component: Component = null,\n onSortEnd = () => {},\n pageGetter = () => {},\n}) => {\n const pageCount = usePropStore(state => state.pages.length);\n const onPageAdd = usePropStore(state => state.onPageAdd);\n const onPageDuplicate = usePropStore(state => state.onPageDuplicate);\n const onPageRemove = usePropStore(state => state.onPageRemove);\n const reportSettings = usePropStore(state => state.settings);\n const onPageVisibilityChanged = usePropStore(state => state.onPageVisibilityChanged);\n\n const listRef = useRef(null);\n const [selectedPageIndex, setSelectedPageIndex] = useState(-1);\n const {\n reportBackgroundColor,\n reportLayoutHeight = 794,\n reportLayoutWidth = 1123,\n } = reportSettings;\n const width = parseInt(reportLayoutWidth, 10);\n const height = parseInt(reportLayoutHeight, 10);\n const { left, scale, top } = getScaleForPageThumbnail(width, height);\n\n const pageContainerStyles = useMemo(() => ({\n backgroundColor: reportBackgroundColor || '#fff',\n height: height,\n left,\n top,\n transform: `scale(${scale})`,\n transformOrigin: '0 0',\n width: width,\n }), [height, left, scale, top, width, reportBackgroundColor]);\n\n const _onSortEnd = useCallback(({ newIndex, oldIndex }) => {\n if (onSortEnd) {\n onSortEnd({ newIndex, oldIndex }, null, listRef.current);\n }\n }, [onSortEnd]);\n\n const refSetter = useCallback(outerRef => {\n if (outerRef) {\n listRef.current = outerRef;\n }\n }, []);\n\n const handlePageVisibility = useCallback(index => {\n if (index && !Number.isNaN(index)) {\n if (listRef.current?.scrollToIndex) {\n listRef.current.scrollToIndex(index, 'center');\n }\n\n const prevSelectedThumbnail = document.querySelector('.thumbnailWrapper.isSelected');\n if (prevSelectedThumbnail) {\n prevSelectedThumbnail.classList.remove('isSelected');\n }\n\n const nextSelectedThumbnail = document\n .querySelector(`.thumbnailWrapper[data-order=\"${index}\"]`);\n if (nextSelectedThumbnail) {\n nextSelectedThumbnail.classList.add('isSelected');\n onPageVisibilityChanged(index);\n }\n }\n }, [onPageVisibilityChanged]);\n\n usePageVisibility(handlePageVisibility, pageCount, selectedPageIndex);\n\n // TODO: could be better than now. scrollend listener is a choice for some cases\n const resetSelectedPageIndex = useCallback(() => {\n setTimeout(() => {\n setSelectedPageIndex(-1);\n }, 1000);\n }, []);\n\n const onPageClick = useCallback(e => {\n const order = e.target.getAttribute('data-order');\n setSelectedPageIndex(parseInt(order, 10));\n if (!e.target.classList.contains('controllerItem')) { // for page thumbnails actions\n scrollToTarget(`pageActions-id-${order}`);\n }\n resetSelectedPageIndex();\n }, [resetSelectedPageIndex]);\n\n const handlePageAdd = useCallback(index => {\n setSelectedPageIndex(index);\n onPageAdd(index);\n }, [onPageAdd]);\n\n const handlePageDuplicate = useCallback(index => {\n setSelectedPageIndex(index);\n onPageDuplicate(index);\n }, [onPageDuplicate]);\n\n const handlePageRemove = useCallback(index => {\n setSelectedPageIndex(index);\n onPageRemove(index);\n }, [onPageRemove]);\n\n useEffect(() => { // after new page added\n scrollToTarget(`pageActions-id-${selectedPageIndex}`, 0, { behavior: 'smooth' });\n resetSelectedPageIndex();\n }, [resetSelectedPageIndex, selectedPageIndex]);\n\n return (\n <>\n <div\n style={{\n height: '100%', margin: '25px 10px', position: 'relative', width: '100%',\n }}\n >\n <Component\n ref={refSetter}\n height=\"100%\"\n onPageAdd={handlePageAdd}\n onPageClick={onPageClick}\n onPageDuplicate={handlePageDuplicate}\n onPageRemove={handlePageRemove}\n onSortEnd={_onSortEnd}\n pageContainerStyle={pageContainerStyles}\n pageCount={pageCount}\n pageGetter={pageGetter}\n width=\"100%\"\n />\n </div>\n <div className=\"jfReport-pane-footer\">\n <PageAdder additionalClass=\"forOptions\" />\n </div>\n </>\n );\n};\n\nListWrapper.propTypes = {\n component: PropTypes.any,\n onSortEnd: PropTypes.func,\n pageGetter: PropTypes.func,\n};\n\nexport default memo(ListWrapper);\n"],"names":["ListWrapper","component","Component","onSortEnd","pageGetter","pageCount","usePropStore","state","pages","length","onPageAdd","onPageDuplicate","onPageRemove","reportSettings","settings","onPageVisibilityChanged","listRef","useRef","useState","selectedPageIndex","setSelectedPageIndex","reportBackgroundColor","reportLayoutHeight","reportLayoutWidth","width","parseInt","height","getScaleForPageThumbnail","left","scale","top","pageContainerStyles","useMemo","backgroundColor","transform","transformOrigin","_onSortEnd","useCallback","newIndex","oldIndex","current","refSetter","outerRef","handlePageVisibility","index","Number","isNaN","scrollToIndex","prevSelectedThumbnail","document","querySelector","classList","remove","nextSelectedThumbnail","add","usePageVisibility","resetSelectedPageIndex","setTimeout","onPageClick","e","order","target","getAttribute","contains","scrollToTarget","handlePageAdd","handlePageDuplicate","handlePageRemove","useEffect","behavior","_jsxs","_jsx","margin","position","propTypes","PropTypes","any","func","memo"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortablePageItem.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageItem.js"],"sourcesContent":["import { memo, useMemo } from 'react';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport PropTypes from 'prop-types';\nimport StaticPage from '../../Preview/StaticPage';\nimport PageThumbnailActions from './PageThumbnailActions';\nimport { emptyFunction } from '../../../utils/functions';\n\nconst SortablePageItem = ({\n id,\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n order,\n page,\n pageContainerStyle,\n style,\n}) => {\n const {\n attributes,\n isDragging,\n listeners,\n setNodeRef,\n transform,\n transition,\n } = useSortable({ id });\n\n const dragStyle = useMemo(() => {\n const baseStyle = {\n opacity: isDragging ? 0.5 : 1,\n transform: CSS.Transform.toString(transform),\n transition: transition,\n };\n\n return { ...baseStyle, ...style };\n }, [transform, transition, isDragging, style]);\n\n return (\n <div\n ref={setNodeRef}\n className=\"thumbnailWrapper d-flex a-center j-between\"\n data-id={page.id}\n data-order={order}\n onClick={onPageClick}\n onKeyDown={emptyFunction}\n style={dragStyle}\n {...attributes}\n {...listeners}\n >\n <div className=\"thumbnailOrder\">{order}</div>\n <div className=\"thumbnailFrame o-hidden\">\n <StaticPage\n isThumbnail\n items={page.items}\n style={pageContainerStyle}\n />\n </div>\n <PageThumbnailActions\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageRemove={onPageRemove}\n order={order}\n page={page}\n />\n </div>\n );\n};\n\nSortablePageItem.propTypes = {\n id: PropTypes.string.isRequired,\n onPageAdd: PropTypes.func,\n onPageClick: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageRemove: PropTypes.func,\n order: PropTypes.number,\n page: PropTypes.shape({\n id: PropTypes.string.isRequired,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n pageContainerStyle: PropTypes.shape({\n backgroundColor: PropTypes.string,\n }),\n style: PropTypes.shape({\n opacity: PropTypes.number,\n transform: PropTypes.string,\n transition: PropTypes.string,\n }),\n};\n\nexport default memo(SortablePageItem);\n"],"names":["SortablePageItem","id","onPageAdd","onPageClick","onPageDuplicate","onPageRemove","order","page","pageContainerStyle","style","useSortable","attributes","isDragging","listeners","setNodeRef","transform","transition","dragStyle","useMemo","baseStyle","opacity","CSS","Transform","toString","_jsxs","emptyFunction","_jsx","StaticPage","items","propTypes","PropTypes","string","isRequired","func","number","shape","arrayOf","backgroundColor","memo"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SortablePageItem.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageItem.js"],"sourcesContent":["import { memo, useMemo } from 'react';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport PropTypes from 'prop-types';\nimport StaticPage from '../../Preview/StaticPage';\nimport PageThumbnailActions from './PageThumbnailActions';\nimport { emptyFunction } from '../../../utils/functions';\n\nconst SortablePageItem = ({\n id,\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n order,\n page,\n pageContainerStyle,\n style,\n}) => {\n const {\n attributes,\n isDragging,\n listeners,\n setNodeRef,\n transform,\n transition,\n } = useSortable({ id });\n\n const dragStyle = useMemo(() => {\n const baseStyle = {\n opacity: isDragging ? 0.5 : 1,\n transform: CSS.Transform.toString(transform),\n transition: transition,\n };\n\n return { ...baseStyle, ...style };\n }, [transform, transition, isDragging, style]);\n\n return (\n <div\n ref={setNodeRef}\n className=\"thumbnailWrapper d-flex a-center j-between\"\n data-id={page.id}\n data-order={order}\n onClick={onPageClick}\n onKeyDown={emptyFunction}\n style={dragStyle}\n {...attributes}\n {...listeners}\n >\n <div className=\"thumbnailOrder\">{order}</div>\n <div className=\"thumbnailFrame o-hidden\">\n <StaticPage\n isThumbnail\n items={page.items}\n style={pageContainerStyle}\n />\n </div>\n <PageThumbnailActions\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageRemove={onPageRemove}\n order={order}\n page={page}\n />\n </div>\n );\n};\n\nSortablePageItem.propTypes = {\n id: PropTypes.string.isRequired,\n onPageAdd: PropTypes.func,\n onPageClick: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageRemove: PropTypes.func,\n order: PropTypes.number,\n page: PropTypes.shape({\n id: PropTypes.string.isRequired,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n pageContainerStyle: PropTypes.shape({\n backgroundColor: PropTypes.string,\n }),\n style: PropTypes.shape({\n opacity: PropTypes.number,\n transform: PropTypes.string,\n transition: PropTypes.string,\n }),\n};\n\nexport default memo(SortablePageItem);\n"],"names":["SortablePageItem","id","onPageAdd","onPageClick","onPageDuplicate","onPageRemove","order","page","pageContainerStyle","style","useSortable","attributes","isDragging","listeners","setNodeRef","transform","transition","dragStyle","useMemo","baseStyle","opacity","CSS","Transform","toString","_jsxs","emptyFunction","_jsx","StaticPage","items","propTypes","PropTypes","string","isRequired","func","number","shape","arrayOf","backgroundColor","memo"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortablePageItemRenderer.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageItemRenderer.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport SortablePageItem from './SortablePageItem';\n\nconst SortablePageItemRenderer = ({\n data = {}, id, index, style,\n}) => {\n const {\n pageContainerStyle, pageGetter, ...otherData\n } = data;\n const page = pageGetter(index);\n if (!page) return null;\n\n const pageContainerLastStyle = {\n ...pageContainerStyle,\n ...page.backgroundColor ? { backgroundColor: page.backgroundColor } : {},\n };\n return (\n <SortablePageItem\n key={`page-${index}-${page.id}`}\n id={id}\n index={index}\n order={page.order}\n page={page}\n pageContainerStyle={pageContainerLastStyle}\n style={style}\n {...otherData}\n />\n );\n};\n\nSortablePageItemRenderer.propTypes = {\n data: PropTypes.shape({\n pageContainerStyle: PropTypes.shape({\n backgroundColor: PropTypes.string,\n }),\n pageGetter: PropTypes.func,\n selectedPageIndex: PropTypes.number,\n }),\n id: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n style: PropTypes.shape({\n top: PropTypes.number,\n }).isRequired,\n};\n\nexport default memo(SortablePageItemRenderer);\n"],"names":["SortablePageItemRenderer","data","id","index","style","pageContainerStyle","pageGetter","otherData","page","pageContainerLastStyle","backgroundColor","_jsx","order","propTypes","PropTypes","shape","string","func","selectedPageIndex","number","isRequired","top","memo"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SortablePageItemRenderer.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageItemRenderer.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport SortablePageItem from './SortablePageItem';\n\nconst SortablePageItemRenderer = ({\n data = {}, id, index, style,\n}) => {\n const {\n pageContainerStyle, pageGetter, ...otherData\n } = data;\n const page = pageGetter(index);\n if (!page) return null;\n\n const pageContainerLastStyle = {\n ...pageContainerStyle,\n ...page.backgroundColor ? { backgroundColor: page.backgroundColor } : {},\n };\n return (\n <SortablePageItem\n key={`page-${index}-${page.id}`}\n id={id}\n index={index}\n order={page.order}\n page={page}\n pageContainerStyle={pageContainerLastStyle}\n style={style}\n {...otherData}\n />\n );\n};\n\nSortablePageItemRenderer.propTypes = {\n data: PropTypes.shape({\n pageContainerStyle: PropTypes.shape({\n backgroundColor: PropTypes.string,\n }),\n pageGetter: PropTypes.func,\n selectedPageIndex: PropTypes.number,\n }),\n id: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n style: PropTypes.shape({\n top: PropTypes.number,\n }).isRequired,\n};\n\nexport default memo(SortablePageItemRenderer);\n"],"names":["SortablePageItemRenderer","data","id","index","style","pageContainerStyle","pageGetter","otherData","page","pageContainerLastStyle","backgroundColor","_jsx","order","propTypes","PropTypes","shape","string","func","selectedPageIndex","number","isRequired","top","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,OAE3B;AAAA,uBADJC,IACI;AAAA,MADJA,IACI,0BADG,EACH;AAAA,MADOC,EACP,QADOA,EACP;AAAA,MADWC,KACX,QADWA,KACX;AAAA,MADkBC,KAClB,QADkBA,KAClB;;AACJ,MACEC,kBADF,GAEIJ,IAFJ,CACEI,kBADF;AAAA,MACsBC,UADtB,GAEIL,IAFJ,CACsBK,UADtB;AAAA,MACqCC,SADrC,4BAEIN,IAFJ;;AAGA,MAAMO,IAAI,GAAGF,UAAU,CAACH,KAAD,CAAvB;AACA,MAAI,CAACK,IAAL,EAAW,OAAO,IAAP;;AAEX,MAAMC,sBAAsB,mCACvBJ,kBADuB,GAEvBG,IAAI,CAACE,eAAL,GAAuB;AAAEA,IAAAA,eAAe,EAAEF,IAAI,CAACE;AAAxB,GAAvB,GAAmE,EAF5C,CAA5B;;AAIA,sBACEC,eAAC,gBAAD;AAEE,IAAA,EAAE,EAAET,EAFN;AAGE,IAAA,KAAK,EAAEC,KAHT;AAIE,IAAA,KAAK,EAAEK,IAAI,CAACI,KAJd;AAKE,IAAA,IAAI,EAAEJ,IALR;AAME,IAAA,kBAAkB,EAAEC,sBANtB;AAOE,IAAA,KAAK,EAAEL;AAPT,KAQMG,SARN,kBACeJ,KADf,cACwBK,IAAI,CAACN,EAD7B,EADF;AAYD,CAzBD;;AA2BAF,wBAAwB,CAACa,SAAzB,GAAqC;AACnCZ,EAAAA,IAAI,EAAEa,6BAAS,CAACC,KAAV,CAAgB;AACpBV,IAAAA,kBAAkB,EAAES,6BAAS,CAACC,KAAV,CAAgB;AAClCL,MAAAA,eAAe,EAAEI,6BAAS,CAACE;AADO,KAAhB,CADA;AAIpBV,IAAAA,UAAU,EAAEQ,6BAAS,CAACG,IAJF;AAKpBC,IAAAA,iBAAiB,EAAEJ,6BAAS,CAACK;AALT,GAAhB,CAD6B;AAQnCjB,EAAAA,EAAE,EAAEY,6BAAS,CAACE,MAAV,CAAiBI,UARc;AASnCjB,EAAAA,KAAK,EAAEW,6BAAS,CAACK,MAAV,CAAiBC,UATW;AAUnChB,EAAAA,KAAK,EAAEU,6BAAS,CAACC,KAAV,CAAgB;AACrBM,IAAAA,GAAG,EAAEP,6BAAS,CAACK;AADM,GAAhB,EAEJC;AAZgC,CAArC;AAeA,8CAAeE,UAAI,CAACtB,wBAAD,CAAnB;;;;"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('core-js/modules/es.array.map.js');
|
|
4
|
-
require('core-js/modules/es.object.to-string.js');
|
|
5
|
-
require('core-js/modules/es.regexp.to-string.js');
|
|
6
3
|
var React = require('react');
|
|
7
4
|
var PropTypes = require('prop-types');
|
|
8
5
|
var core = require('@dnd-kit/core');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortablePageList.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageList.js"],"sourcesContent":["import {\n useRef, useMemo, useCallback, forwardRef, useImperativeHandle, useState,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { SortableContext, verticalListSortingStrategy, sortableKeyboardCoordinates } from '@dnd-kit/sortable';\nimport { Virtuoso } from 'react-virtuoso';\nimport memoize from 'memoize-one';\nimport SortablePageItemRenderer from './SortablePageItemRenderer';\nimport SortableDragOverlay from './SortablePageItemDragOverlay';\n\nconst createItemData = memoize((\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n) => ({\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n}));\n\nconst SortablePageList = () => {\n const VirtuosoList = forwardRef(({\n height,\n onPageAdd = () => {},\n onPageClick = () => {},\n onPageDuplicate = () => {},\n onPageRemove = () => {},\n onSortEnd = () => {},\n pageContainerStyle = {},\n pageCount = 0,\n pageGetter = () => {},\n pages = [],\n width,\n }, ref) => {\n const sortablePageListRef = useRef(null);\n const virtuosoRef = useRef(null);\n const [activeId, setActiveId] = useState(null);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n delay: 200,\n distance: 0,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const itemData = useMemo(() => createItemData(\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n ), [\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n ]);\n\n const scrollToIndex = useCallback((index, align = 'center') => {\n if (virtuosoRef.current) {\n virtuosoRef.current.scrollToIndex({ align, index });\n }\n }, []);\n\n useImperativeHandle(ref, () => ({\n scrollToIndex,\n sortablePageListRef: sortablePageListRef.current,\n virtuosoRef: virtuosoRef.current,\n }), [scrollToIndex]);\n\n const handleDragStart = useCallback(event => {\n setActiveId(event.active.id);\n }, []);\n\n const handleDragEnd = useCallback(event => {\n const { active, over } = event;\n setActiveId(null);\n\n if (over && active.id !== over.id) {\n const oldIndex = parseInt(active.id, 10);\n const newIndex = parseInt(over.id, 10);\n\n onSortEnd({ newIndex, oldIndex });\n }\n }, [onSortEnd]);\n\n const handleDragCancel = useCallback(() => {\n setActiveId(null);\n }, []);\n\n const virtuosoStyle = useMemo(() => {\n const outsideMargin = 75; // box-margin + top padding total value;\n return {\n height: `${(pageCount * 127) + outsideMargin}px`,\n scrollbarWidth: 'none',\n width: '100%',\n };\n }, [pageCount]);\n\n const items = useMemo(() => pages.map((page, index) => index.toString()), [pages]);\n\n const activePageData = useMemo(() => {\n if (!activeId) return null;\n const activeIndex = parseInt(activeId, 10);\n const activePage = pageGetter(activeIndex);\n if (!activePage) return null;\n\n return {\n page: activePage,\n pageContainerLastStyle: {\n ...pageContainerStyle,\n ...activePage.backgroundColor ? { backgroundColor: activePage.backgroundColor } : {},\n },\n };\n }, [activeId, pageGetter, pageContainerStyle]);\n\n return (\n <div\n ref={sortablePageListRef}\n style={{ height, width }}\n >\n <DndContext\n collisionDetection={closestCenter}\n onDragCancel={handleDragCancel}\n onDragEnd={handleDragEnd}\n onDragStart={handleDragStart}\n sensors={sensors}\n >\n <SortableContext\n items={items}\n strategy={verticalListSortingStrategy}\n >\n <Virtuoso\n ref={virtuosoRef}\n fixedItemHeight={127}\n itemContent={index => {\n return (\n <SortablePageItemRenderer\n data={itemData}\n id={index.toString()}\n index={index}\n style={{ height: 127 }}\n />\n );\n }}\n style={virtuosoStyle}\n totalCount={pageCount}\n />\n </SortableContext>\n <SortableDragOverlay\n activePageData={activePageData}\n />\n </DndContext>\n </div>\n );\n });\n\n VirtuosoList.displayName = 'VirtuosoList';\n\n VirtuosoList.propTypes = {\n height: PropTypes.number,\n onPageAdd: PropTypes.func,\n onPageClick: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageRemove: PropTypes.func,\n onSortEnd: PropTypes.func,\n pageContainerStyle: PropTypes.shape({}),\n pageCount: PropTypes.number,\n pageGetter: PropTypes.func,\n pages: PropTypes.arrayOf(PropTypes.shape({})),\n width: PropTypes.number,\n };\n\n return VirtuosoList;\n};\n\nexport default memoize(SortablePageList);\n"],"names":["createItemData","memoize","onPageAdd","onPageClick","onPageDuplicate","onPageRemove","pageContainerStyle","pageGetter","SortablePageList","VirtuosoList","forwardRef","ref","height","onSortEnd","pageCount","pages","width","sortablePageListRef","useRef","virtuosoRef","useState","activeId","setActiveId","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","distance","KeyboardSensor","coordinateGetter","sortableKeyboardCoordinates","itemData","useMemo","scrollToIndex","useCallback","index","align","current","useImperativeHandle","handleDragStart","event","active","id","handleDragEnd","over","oldIndex","parseInt","newIndex","handleDragCancel","virtuosoStyle","outsideMargin","scrollbarWidth","items","map","page","toString","activePageData","activeIndex","activePage","pageContainerLastStyle","backgroundColor","_jsx","_jsxs","DndContext","closestCenter","SortableContext","verticalListSortingStrategy","Virtuoso","SortableDragOverlay","displayName","propTypes","PropTypes","number","func","shape","arrayOf"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,IAAMA,cAAc,GAAGC,8BAAO,CAAC,UAC7BC,SAD6B,EAE7BC,WAF6B,EAG7BC,eAH6B,EAI7BC,YAJ6B,EAK7BC,kBAL6B,EAM7BC,UAN6B;AAAA,SAOzB;AACJL,IAAAA,SAAS,EAATA,SADI;AAEJC,IAAAA,WAAW,EAAXA,WAFI;AAGJC,IAAAA,eAAe,EAAfA,eAHI;AAIJC,IAAAA,YAAY,EAAZA,YAJI;AAKJC,IAAAA,kBAAkB,EAAlBA,kBALI;AAMJC,IAAAA,UAAU,EAAVA;AANI,GAPyB;AAAA,CAAD,CAA9B;;AAgBA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC7B,MAAMC,YAAY,gBAAGC,gBAAU,CAAC,gBAY7BC,GAZ6B,EAYrB;AAAA,QAXTC,MAWS,QAXTA,MAWS;AAAA,8BAVTV,SAUS;AAAA,QAVTA,SAUS,+BAVG,YAAM,EAUT;AAAA,gCATTC,WASS;AAAA,QATTA,WASS,iCATK,YAAM,EASX;AAAA,oCARTC,eAQS;AAAA,QARTA,eAQS,qCARS,YAAM,EAQf;AAAA,iCAPTC,YAOS;AAAA,QAPTA,YAOS,kCAPM,YAAM,EAOZ;AAAA,8BANTQ,SAMS;AAAA,QANTA,SAMS,+BANG,YAAM,EAMT;AAAA,qCALTP,kBAKS;AAAA,QALTA,kBAKS,sCALY,EAKZ;AAAA,8BAJTQ,SAIS;AAAA,QAJTA,SAIS,+BAJG,CAIH;AAAA,+BAHTP,UAGS;AAAA,QAHTA,UAGS,gCAHI,YAAM,EAGV;AAAA,0BAFTQ,KAES;AAAA,QAFTA,KAES,2BAFD,EAEC;AAAA,QADTC,KACS,QADTA,KACS;AACT,QAAMC,mBAAmB,GAAGC,YAAM,CAAC,IAAD,CAAlC;AACA,QAAMC,WAAW,GAAGD,YAAM,CAAC,IAAD,CAA1B;;AACA,oBAAgCE,cAAQ,CAAC,IAAD,CAAxC;AAAA;AAAA,QAAOC,QAAP;AAAA,QAAiBC,WAAjB;;AAEA,QAAMC,OAAO,GAAGC,eAAU,CACxBC,cAAS,CAACC,kBAAD,EAAgB;AACvBC,MAAAA,oBAAoB,EAAE;AACpBC,QAAAA,KAAK,EAAE,GADa;AAEpBC,QAAAA,QAAQ,EAAE;AAFU;AADC,KAAhB,CADe,EAOxBJ,cAAS,CAACK,mBAAD,EAAiB;AACxBC,MAAAA,gBAAgB,EAAEC;AADM,KAAjB,CAPe,CAA1B;AAYA,QAAMC,QAAQ,GAAGC,aAAO,CAAC;AAAA,aAAMlC,cAAc,CAC3CE,SAD2C,EAE3CC,WAF2C,EAG3CC,eAH2C,EAI3CC,YAJ2C,EAK3CC,kBAL2C,EAM3CC,UAN2C,CAApB;AAAA,KAAD,EAOrB,CACDL,SADC,EAEDC,WAFC,EAGDC,eAHC,EAIDC,YAJC,EAKDC,kBALC,EAMDC,UANC,CAPqB,CAAxB;AAgBA,QAAM4B,aAAa,GAAGC,iBAAW,CAAC,UAACC,KAAD,EAA6B;AAAA,UAArBC,KAAqB,uEAAb,QAAa;;AAC7D,UAAInB,WAAW,CAACoB,OAAhB,EAAyB;AACvBpB,QAAAA,WAAW,CAACoB,OAAZ,CAAoBJ,aAApB,CAAkC;AAAEG,UAAAA,KAAK,EAALA,KAAF;AAASD,UAAAA,KAAK,EAALA;AAAT,SAAlC;AACD;AACF,KAJgC,EAI9B,EAJ8B,CAAjC;AAMAG,IAAAA,yBAAmB,CAAC7B,GAAD,EAAM;AAAA,aAAO;AAC9BwB,QAAAA,aAAa,EAAbA,aAD8B;AAE9BlB,QAAAA,mBAAmB,EAAEA,mBAAmB,CAACsB,OAFX;AAG9BpB,QAAAA,WAAW,EAAEA,WAAW,CAACoB;AAHK,OAAP;AAAA,KAAN,EAIf,CAACJ,aAAD,CAJe,CAAnB;AAMA,QAAMM,eAAe,GAAGL,iBAAW,CAAC,UAAAM,KAAK,EAAI;AAC3CpB,MAAAA,WAAW,CAACoB,KAAK,CAACC,MAAN,CAAaC,EAAd,CAAX;AACD,KAFkC,EAEhC,EAFgC,CAAnC;AAIA,QAAMC,aAAa,GAAGT,iBAAW,CAAC,UAAAM,KAAK,EAAI;AACzC,UAAQC,MAAR,GAAyBD,KAAzB,CAAQC,MAAR;AAAA,UAAgBG,IAAhB,GAAyBJ,KAAzB,CAAgBI,IAAhB;AACAxB,MAAAA,WAAW,CAAC,IAAD,CAAX;;AAEA,UAAIwB,IAAI,IAAIH,MAAM,CAACC,EAAP,KAAcE,IAAI,CAACF,EAA/B,EAAmC;AACjC,YAAMG,QAAQ,GAAGC,QAAQ,CAACL,MAAM,CAACC,EAAR,EAAY,EAAZ,CAAzB;AACA,YAAMK,QAAQ,GAAGD,QAAQ,CAACF,IAAI,CAACF,EAAN,EAAU,EAAV,CAAzB;AAEA/B,QAAAA,SAAS,CAAC;AAAEoC,UAAAA,QAAQ,EAARA,QAAF;AAAYF,UAAAA,QAAQ,EAARA;AAAZ,SAAD,CAAT;AACD;AACF,KAVgC,EAU9B,CAAClC,SAAD,CAV8B,CAAjC;AAYA,QAAMqC,gBAAgB,GAAGd,iBAAW,CAAC,YAAM;AACzCd,MAAAA,WAAW,CAAC,IAAD,CAAX;AACD,KAFmC,EAEjC,EAFiC,CAApC;AAIA,QAAM6B,aAAa,GAAGjB,aAAO,CAAC,YAAM;AAClC,UAAMkB,aAAa,GAAG,EAAtB,CADkC;;AAElC,aAAO;AACLxC,QAAAA,MAAM,YAAME,SAAS,GAAG,GAAb,GAAoBsC,aAAzB,OADD;AAELC,QAAAA,cAAc,EAAE,MAFX;AAGLrC,QAAAA,KAAK,EAAE;AAHF,OAAP;AAKD,KAP4B,EAO1B,CAACF,SAAD,CAP0B,CAA7B;AASA,QAAMwC,KAAK,GAAGpB,aAAO,CAAC;AAAA,aAAMnB,KAAK,CAACwC,GAAN,CAAU,UAACC,IAAD,EAAOnB,KAAP;AAAA,eAAiBA,KAAK,CAACoB,QAAN,EAAjB;AAAA,OAAV,CAAN;AAAA,KAAD,EAAqD,CAAC1C,KAAD,CAArD,CAArB;AAEA,QAAM2C,cAAc,GAAGxB,aAAO,CAAC,YAAM;AACnC,UAAI,CAACb,QAAL,EAAe,OAAO,IAAP;AACf,UAAMsC,WAAW,GAAGX,QAAQ,CAAC3B,QAAD,EAAW,EAAX,CAA5B;AACA,UAAMuC,UAAU,GAAGrD,UAAU,CAACoD,WAAD,CAA7B;AACA,UAAI,CAACC,UAAL,EAAiB,OAAO,IAAP;AAEjB,aAAO;AACLJ,QAAAA,IAAI,EAAEI,UADD;AAELC,QAAAA,sBAAsB,kCACjBvD,kBADiB,GAEjBsD,UAAU,CAACE,eAAX,GAA6B;AAAEA,UAAAA,eAAe,EAAEF,UAAU,CAACE;AAA9B,SAA7B,GAA+E,EAF9D;AAFjB,OAAP;AAOD,KAb6B,EAa3B,CAACzC,QAAD,EAAWd,UAAX,EAAuBD,kBAAvB,CAb2B,CAA9B;AAeA,wBACEyD;AACE,MAAA,GAAG,EAAE9C,mBADP;AAEE,MAAA,KAAK,EAAE;AAAEL,QAAAA,MAAM,EAANA,MAAF;AAAUI,QAAAA,KAAK,EAALA;AAAV,OAFT;AAAA,6BAIEgD,gBAACC,eAAD;AACE,QAAA,kBAAkB,EAAEC,kBADtB;AAEE,QAAA,YAAY,EAAEhB,gBAFhB;AAGE,QAAA,SAAS,EAAEL,aAHb;AAIE,QAAA,WAAW,EAAEJ,eAJf;AAKE,QAAA,OAAO,EAAElB,OALX;AAAA,gCAOEwC,eAACI,wBAAD;AACE,UAAA,KAAK,EAAEb,KADT;AAEE,UAAA,QAAQ,EAAEc,oCAFZ;AAAA,iCAIEL,eAACM,sBAAD;AACE,YAAA,GAAG,EAAElD,WADP;AAEE,YAAA,eAAe,EAAE,GAFnB;AAGE,YAAA,WAAW,EAAE,qBAAAkB,KAAK,EAAI;AACpB,kCACE0B,eAAC,wBAAD;AACE,gBAAA,IAAI,EAAE9B,QADR;AAEE,gBAAA,EAAE,EAAEI,KAAK,CAACoB,QAAN,EAFN;AAGE,gBAAA,KAAK,EAAEpB,KAHT;AAIE,gBAAA,KAAK,EAAE;AAAEzB,kBAAAA,MAAM,EAAE;AAAV;AAJT,gBADF;AAQD,aAZH;AAaE,YAAA,KAAK,EAAEuC,aAbT;AAcE,YAAA,UAAU,EAAErC;AAdd;AAJF,UAPF,eA4BEiD,eAACO,2BAAD;AACE,UAAA,cAAc,EAAEZ;AADlB,UA5BF;AAAA;AAJF,MADF;AAuCD,GA9I8B,CAA/B;AAgJAjD,EAAAA,YAAY,CAAC8D,WAAb,GAA2B,cAA3B;AAEA9D,EAAAA,YAAY,CAAC+D,SAAb,GAAyB;AACvB5D,IAAAA,MAAM,EAAE6D,6BAAS,CAACC,MADK;AAEvBxE,IAAAA,SAAS,EAAEuE,6BAAS,CAACE,IAFE;AAGvBxE,IAAAA,WAAW,EAAEsE,6BAAS,CAACE,IAHA;AAIvBvE,IAAAA,eAAe,EAAEqE,6BAAS,CAACE,IAJJ;AAKvBtE,IAAAA,YAAY,EAAEoE,6BAAS,CAACE,IALD;AAMvB9D,IAAAA,SAAS,EAAE4D,6BAAS,CAACE,IANE;AAOvBrE,IAAAA,kBAAkB,EAAEmE,6BAAS,CAACG,KAAV,CAAgB,EAAhB,CAPG;AAQvB9D,IAAAA,SAAS,EAAE2D,6BAAS,CAACC,MARE;AASvBnE,IAAAA,UAAU,EAAEkE,6BAAS,CAACE,IATC;AAUvB5D,IAAAA,KAAK,EAAE0D,6BAAS,CAACI,OAAV,CAAkBJ,6BAAS,CAACG,KAAV,CAAgB,EAAhB,CAAlB,CAVgB;AAWvB5D,IAAAA,KAAK,EAAEyD,6BAAS,CAACC;AAXM,GAAzB;AAcA,SAAOjE,YAAP;AACD,CAlKD;;AAoKA,yBAAeR,8BAAO,CAACO,gBAAD,CAAtB;;;;"}
|
|
1
|
+
{"version":3,"file":"SortablePageList.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageList.js"],"sourcesContent":["import {\n useRef, useMemo, useCallback, forwardRef, useImperativeHandle, useState,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { SortableContext, verticalListSortingStrategy, sortableKeyboardCoordinates } from '@dnd-kit/sortable';\nimport { Virtuoso } from 'react-virtuoso';\nimport memoize from 'memoize-one';\nimport SortablePageItemRenderer from './SortablePageItemRenderer';\nimport SortableDragOverlay from './SortablePageItemDragOverlay';\n\nconst createItemData = memoize((\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n) => ({\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n}));\n\nconst SortablePageList = () => {\n const VirtuosoList = forwardRef(({\n height,\n onPageAdd = () => {},\n onPageClick = () => {},\n onPageDuplicate = () => {},\n onPageRemove = () => {},\n onSortEnd = () => {},\n pageContainerStyle = {},\n pageCount = 0,\n pageGetter = () => {},\n pages = [],\n width,\n }, ref) => {\n const sortablePageListRef = useRef(null);\n const virtuosoRef = useRef(null);\n const [activeId, setActiveId] = useState(null);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n delay: 200,\n distance: 0,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const itemData = useMemo(() => createItemData(\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n ), [\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n ]);\n\n const scrollToIndex = useCallback((index, align = 'center') => {\n if (virtuosoRef.current) {\n virtuosoRef.current.scrollToIndex({ align, index });\n }\n }, []);\n\n useImperativeHandle(ref, () => ({\n scrollToIndex,\n sortablePageListRef: sortablePageListRef.current,\n virtuosoRef: virtuosoRef.current,\n }), [scrollToIndex]);\n\n const handleDragStart = useCallback(event => {\n setActiveId(event.active.id);\n }, []);\n\n const handleDragEnd = useCallback(event => {\n const { active, over } = event;\n setActiveId(null);\n\n if (over && active.id !== over.id) {\n const oldIndex = parseInt(active.id, 10);\n const newIndex = parseInt(over.id, 10);\n\n onSortEnd({ newIndex, oldIndex });\n }\n }, [onSortEnd]);\n\n const handleDragCancel = useCallback(() => {\n setActiveId(null);\n }, []);\n\n const virtuosoStyle = useMemo(() => {\n const outsideMargin = 75; // box-margin + top padding total value;\n return {\n height: `${(pageCount * 127) + outsideMargin}px`,\n scrollbarWidth: 'none',\n width: '100%',\n };\n }, [pageCount]);\n\n const items = useMemo(() => pages.map((page, index) => index.toString()), [pages]);\n\n const activePageData = useMemo(() => {\n if (!activeId) return null;\n const activeIndex = parseInt(activeId, 10);\n const activePage = pageGetter(activeIndex);\n if (!activePage) return null;\n\n return {\n page: activePage,\n pageContainerLastStyle: {\n ...pageContainerStyle,\n ...activePage.backgroundColor ? { backgroundColor: activePage.backgroundColor } : {},\n },\n };\n }, [activeId, pageGetter, pageContainerStyle]);\n\n return (\n <div\n ref={sortablePageListRef}\n style={{ height, width }}\n >\n <DndContext\n collisionDetection={closestCenter}\n onDragCancel={handleDragCancel}\n onDragEnd={handleDragEnd}\n onDragStart={handleDragStart}\n sensors={sensors}\n >\n <SortableContext\n items={items}\n strategy={verticalListSortingStrategy}\n >\n <Virtuoso\n ref={virtuosoRef}\n fixedItemHeight={127}\n itemContent={index => {\n return (\n <SortablePageItemRenderer\n data={itemData}\n id={index.toString()}\n index={index}\n style={{ height: 127 }}\n />\n );\n }}\n style={virtuosoStyle}\n totalCount={pageCount}\n />\n </SortableContext>\n <SortableDragOverlay\n activePageData={activePageData}\n />\n </DndContext>\n </div>\n );\n });\n\n VirtuosoList.displayName = 'VirtuosoList';\n\n VirtuosoList.propTypes = {\n height: PropTypes.number,\n onPageAdd: PropTypes.func,\n onPageClick: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageRemove: PropTypes.func,\n onSortEnd: PropTypes.func,\n pageContainerStyle: PropTypes.shape({}),\n pageCount: PropTypes.number,\n pageGetter: PropTypes.func,\n pages: PropTypes.arrayOf(PropTypes.shape({})),\n width: PropTypes.number,\n };\n\n return VirtuosoList;\n};\n\nexport default memoize(SortablePageList);\n"],"names":["createItemData","memoize","onPageAdd","onPageClick","onPageDuplicate","onPageRemove","pageContainerStyle","pageGetter","SortablePageList","VirtuosoList","forwardRef","ref","height","onSortEnd","pageCount","pages","width","sortablePageListRef","useRef","virtuosoRef","useState","activeId","setActiveId","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","distance","KeyboardSensor","coordinateGetter","sortableKeyboardCoordinates","itemData","useMemo","scrollToIndex","useCallback","index","align","current","useImperativeHandle","handleDragStart","event","active","id","handleDragEnd","over","oldIndex","parseInt","newIndex","handleDragCancel","virtuosoStyle","outsideMargin","scrollbarWidth","items","map","page","toString","activePageData","activeIndex","activePage","pageContainerLastStyle","backgroundColor","_jsx","_jsxs","DndContext","closestCenter","SortableContext","verticalListSortingStrategy","Virtuoso","SortableDragOverlay","displayName","propTypes","PropTypes","number","func","shape","arrayOf"],"mappings":"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"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('core-js/modules/es.array.map.js');
|
|
4
|
-
require('core-js/modules/es.object.to-string.js');
|
|
5
|
-
require('core-js/modules/es.promise.js');
|
|
6
|
-
require('regenerator-runtime/runtime.js');
|
|
7
3
|
var React = require('react');
|
|
8
4
|
var PropTypes = require('prop-types');
|
|
9
5
|
var getDefaultPresentationActions = require('../../../utils/getDefaultPresentationActions.js');
|
|
@@ -1 +1 @@
|
|
|
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":"
|
|
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,wCAAoB,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,YAAV;AAAA,GAAN,CAAzC;AACA,MAAMG,sBAAsB,GAAGF,wCAAoB,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,sBAAV;AAAA,GAAN,CAAnD;AAEA,MAAMC,gBAAgB,GAAGC,iBAAW,uEAAC;AAAA;AAAA;AAAA;AAAA;AAAA,gBAC9BL,YAD8B;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAE3BM,8BAAoB,EAFO;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,mBAI3BC,yBAAe,EAJY;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAD,IAMjC,CAACP,YAAD,CANiC,CAApC;AAQA,MAAMQ,0BAA0B,GAAGC,aAAO,CAAC,YAAM;AAC/C,WAAOC,2DAA6B,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,GAA7D;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,eAAC,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,eAAC,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,6BAAS,CAACC,IADM;AAE9BxB,EAAAA,sBAAsB,EAAEuB,6BAAS,CAACE,OAAV,CAAkBF,6BAAS,CAACG,KAAV,CAAgB,EAAhB,CAAlB,CAFM;AAG9BzB,EAAAA,gBAAgB,EAAEsB,6BAAS,CAACI;AAHE,CAAhC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
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":"
|
|
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":"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"}
|
|
@@ -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 = 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":"
|
|
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,6BAAS,CAACC,MADD;AAErBhB,EAAAA,gBAAgB,EAAEe,6BAAS,CAACE,IAFP;AAGrBf,EAAAA,IAAI,EAAEa,6BAAS,CAACC;AAHK,CAAvB;;;;"}
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('core-js/modules/es.array.filter.js');
|
|
6
|
-
require('core-js/modules/es.array.map.js');
|
|
7
5
|
var React = require('react');
|
|
8
6
|
var PropTypes = require('prop-types');
|
|
9
7
|
var classNames = require('../../constants/classNames.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticPage.js","sources":["../../../../src/components/Preview/StaticPage.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport * as classNames from '../../constants/classNames';\nimport ReportItemRenderer from '../Builder/ReportItemRenderer';\nimport StaticItem from './StaticItem';\nimport ErrorBoundary from '../ErrorBoundary/ErrorBoundary';\nimport withZoomPanPinchHOC from '../withZoomPanPinchHOC';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst StaticPage = ({\n isThumbnail = false,\n items = [],\n style = {},\n}) => {\n const itemAccessor = usePropStore(state => state.itemAccessor);\n const additionalPageItems = usePropStore(state => state.additionalPageItems);\n return (\n <ErrorBoundary\n isStatic={true}\n level=\"page\"\n >\n <div\n className={classNames.pageContainer}\n style={style}\n >\n <div className=\"jfReport-hider o-hidden f-all p-relative\">\n {items.filter(item => (\n item.isVisible !== undefined\n ? item.isVisible\n : true\n )).map(item => {\n return (\n <StaticItem\n key={item.id}\n item={item}\n >\n <ReportItemRenderer\n item={item}\n >\n {(ReportItem, mergedItem) => (\n <ReportItem\n isThumbnail={isThumbnail}\n item={mergedItem}\n itemAccessor={itemAccessor}\n />\n )}\n </ReportItemRenderer>\n </StaticItem>\n );\n })}\n {additionalPageItems}\n </div>\n </div>\n </ErrorBoundary>\n );\n};\n\nStaticPage.propTypes = {\n isThumbnail: PropTypes.bool,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n style: PropTypes.shape({}),\n};\n\nexport default memo(StaticPage);\nexport const StaticPageWithZoomPanPinch = withZoomPanPinchHOC(StaticPage);\n"],"names":["StaticPage","isThumbnail","items","style","itemAccessor","usePropStore","state","additionalPageItems","_jsx","classNames","_jsxs","filter","item","isVisible","undefined","map","ReportItem","mergedItem","id","propTypes","PropTypes","bool","arrayOf","shape","memo","StaticPageWithZoomPanPinch","withZoomPanPinchHOC"],"mappings":"
|
|
1
|
+
{"version":3,"file":"StaticPage.js","sources":["../../../../src/components/Preview/StaticPage.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport * as classNames from '../../constants/classNames';\nimport ReportItemRenderer from '../Builder/ReportItemRenderer';\nimport StaticItem from './StaticItem';\nimport ErrorBoundary from '../ErrorBoundary/ErrorBoundary';\nimport withZoomPanPinchHOC from '../withZoomPanPinchHOC';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst StaticPage = ({\n isThumbnail = false,\n items = [],\n style = {},\n}) => {\n const itemAccessor = usePropStore(state => state.itemAccessor);\n const additionalPageItems = usePropStore(state => state.additionalPageItems);\n return (\n <ErrorBoundary\n isStatic={true}\n level=\"page\"\n >\n <div\n className={classNames.pageContainer}\n style={style}\n >\n <div className=\"jfReport-hider o-hidden f-all p-relative\">\n {items.filter(item => (\n item.isVisible !== undefined\n ? item.isVisible\n : true\n )).map(item => {\n return (\n <StaticItem\n key={item.id}\n item={item}\n >\n <ReportItemRenderer\n item={item}\n >\n {(ReportItem, mergedItem) => (\n <ReportItem\n isThumbnail={isThumbnail}\n item={mergedItem}\n itemAccessor={itemAccessor}\n />\n )}\n </ReportItemRenderer>\n </StaticItem>\n );\n })}\n {additionalPageItems}\n </div>\n </div>\n </ErrorBoundary>\n );\n};\n\nStaticPage.propTypes = {\n isThumbnail: PropTypes.bool,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n style: PropTypes.shape({}),\n};\n\nexport default memo(StaticPage);\nexport const StaticPageWithZoomPanPinch = withZoomPanPinchHOC(StaticPage);\n"],"names":["StaticPage","isThumbnail","items","style","itemAccessor","usePropStore","state","additionalPageItems","_jsx","classNames","_jsxs","filter","item","isVisible","undefined","map","ReportItem","mergedItem","id","propTypes","PropTypes","bool","arrayOf","shape","memo","StaticPageWithZoomPanPinch","withZoomPanPinchHOC"],"mappings":";;;;;;;;;;;;;;;;;;AASA,IAAMA,UAAU,GAAG,SAAbA,UAAa,OAIb;AAAA,8BAHJC,WAGI;AAAA,MAHJA,WAGI,iCAHU,KAGV;AAAA,wBAFJC,KAEI;AAAA,MAFJA,KAEI,2BAFI,EAEJ;AAAA,wBADJC,KACI;AAAA,MADJA,KACI,2BADI,EACJ;AACJ,MAAMC,YAAY,GAAGC,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,YAAV;AAAA,GAAN,CAAjC;AACA,MAAMG,mBAAmB,GAAGF,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,mBAAV;AAAA,GAAN,CAAxC;AACA,sBACEC,eAAC,aAAD;AACE,IAAA,QAAQ,EAAE,IADZ;AAEE,IAAA,KAAK,EAAC,MAFR;AAAA,2BAIEA;AACE,MAAA,SAAS,EAAEC,wBADb;AAEE,MAAA,KAAK,EAAEN,KAFT;AAAA,6BAIEO;AAAK,QAAA,SAAS,EAAC,0CAAf;AAAA,mBACGR,KAAK,CAACS,MAAN,CAAa,UAAAC,IAAI;AAAA,iBAChBA,IAAI,CAACC,SAAL,KAAmBC,SAAnB,GACIF,IAAI,CAACC,SADT,GAEI,IAHY;AAAA,SAAjB,EAIEE,GAJF,CAIM,UAAAH,IAAI,EAAI;AACb,8BACEJ,eAAC,UAAD;AAEE,YAAA,IAAI,EAAEI,IAFR;AAAA,mCAIEJ,eAAC,kBAAD;AACE,cAAA,IAAI,EAAEI,IADR;AAAA,wBAGG,kBAACI,UAAD,EAAaC,UAAb;AAAA,oCACCT,eAAC,UAAD;AACE,kBAAA,WAAW,EAAEP,WADf;AAEE,kBAAA,IAAI,EAAEgB,UAFR;AAGE,kBAAA,YAAY,EAAEb;AAHhB,kBADD;AAAA;AAHH;AAJF,aACOQ,IAAI,CAACM,EADZ,CADF;AAkBD,SAvBA,CADH,EAyBGX,mBAzBH;AAAA;AAJF;AAJF,IADF;AAuCD,CA9CD;;AAgDAP,UAAU,CAACmB,SAAX,GAAuB;AACrBlB,EAAAA,WAAW,EAAEmB,6BAAS,CAACC,IADF;AAErBnB,EAAAA,KAAK,EAAEkB,6BAAS,CAACE,OAAV,CAAkBF,6BAAS,CAACG,KAAV,CAAgB,EAAhB,CAAlB,CAFc;AAGrBpB,EAAAA,KAAK,EAAEiB,6BAAS,CAACG,KAAV,CAAgB,EAAhB;AAHc,CAAvB;AAMA,gCAAeC,UAAI,CAACxB,UAAD,CAAnB;IACayB,0BAA0B,GAAGC,mBAAmB,CAAC1B,UAAD;;;;;"}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('core-js/modules/es.array.concat.js');
|
|
4
|
-
require('core-js/modules/es.array.map.js');
|
|
5
|
-
require('core-js/modules/es.array.slice.js');
|
|
6
|
-
require('core-js/modules/es.number.constructor.js');
|
|
7
|
-
require('core-js/modules/es.number.is-nan.js');
|
|
8
|
-
require('core-js/modules/es.number.to-fixed.js');
|
|
9
|
-
require('core-js/modules/es.object.to-string.js');
|
|
10
|
-
require('core-js/modules/es.regexp.to-string.js');
|
|
11
3
|
var React = require('react');
|
|
12
4
|
var PropTypes = require('prop-types');
|
|
13
5
|
var classNames$1 = require('classnames');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticScene.js","sources":["../../../../src/components/Preview/StaticScene.js"],"sourcesContent":["import {\n useCallback, useEffect, useMemo, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport cNames from 'classnames';\nimport * as classNames from '../../constants/classNames';\nimport { StaticPageWithZoomPanPinch } from './StaticPage';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { slugify } from '../../utils/string';\nimport { usePageTransition } from '../../utils/hooks';\nimport { usePresentationStore } from '../../contexts/PresentationContext';\nimport ZoomControls from '../Builder/ZoomControls';\n\nconst StaticScene = ({\n gesture = () => {},\n hideZoom = false,\n mode = '',\n presentationPage = 0,\n}) => {\n const setZoom = useBuilderStore(state => state.setZoom);\n const zoom = useBuilderStore(state => state.zoom);\n\n const isFullscreen = usePresentationStore(state => state.isFullscreen);\n const showControlsInFullScreen = usePresentationStore(state => state.showControlsInFullScreen);\n\n const settings = usePropStore(state => state.settings);\n const pages = usePropStore(state => state.pages);\n\n const viewPortRef = useRef({});\n const transformRefs = useRef([]);\n\n const {\n reportBackgroundColor,\n reportLayout = 'A4 Landscape',\n reportLayoutHeight = 794,\n reportLayoutWidth = 1123,\n reportPageTransition = 'noAnimation',\n } = settings;\n const width = parseInt(reportLayoutWidth, 10);\n const height = parseInt(reportLayoutHeight, 10);\n const zoomToUse = Number.isNaN(zoom) ? 1 : zoom;\n const isPreviewCssZoom = mode === 'preview';\n\n useEffect(() => {\n transformRefs.current = transformRefs.current.slice(0, pages.length);\n }, [pages.length]);\n\n const pageContainerStyles = useMemo(() => ({\n height,\n width,\n }), [width, height]);\n\n const transitionStyle = usePageTransition(reportPageTransition, presentationPage);\n\n const handleZoom = useCallback(zoomPanPinch => {\n const fixedValue = parseFloat(zoomPanPinch.state.scale.toFixed(2));\n const roundValue = parseFloat((Math.round((fixedValue * 100)) / 100).toFixed(1));\n if (roundValue <= 2 && roundValue >= 0.5) {\n setZoom(roundValue);\n }\n }, [setZoom]);\n\n useEffect(() => {\n if (mode !== 'presentation') {\n return;\n }\n if (transformRefs.current.length > 0) {\n for (let i = 0; i < pages.length; i++) {\n transformRefs.current[i]?.centerView?.(zoom);\n }\n }\n }, [pages.length, zoom, mode]);\n\n const isEnabledZoomControls = (!isFullscreen || (isFullscreen && showControlsInFullScreen)) && !hideZoom;\n\n return (\n <main\n className={classNames.mainWrapper}\n >\n <div\n ref={viewPortRef}\n className={classNames.viewport}\n data-zoom={isPreviewCssZoom ? zoom : undefined}\n {...gesture()}\n >\n <div\n className={`${classNames.canvas} ${reportPageTransition}`}\n style={transitionStyle}\n >\n {pages.map((page, index) => {\n const { backgroundColor } = page;\n const bg = backgroundColor ? backgroundColor : reportBackgroundColor || '#fff';\n\n const style = isPreviewCssZoom ? {\n backgroundColor: bg,\n height,\n transform: `scale(${zoomToUse})`,\n transformOrigin: '0 0',\n width,\n } : {\n ...pageContainerStyles,\n backgroundColor: bg,\n };\n\n const pageOuterStyle = isPreviewCssZoom ? {\n height: parseFloat((height * zoomToUse).toFixed(1)),\n position: 'relative',\n width: parseFloat((width * zoomToUse).toFixed(1)),\n } : undefined;\n\n return (\n <div\n key={`page_${index.toString()}`}\n className={cNames({\n [classNames.page]: true,\n [slugify(reportLayout)]: true,\n activePage: index === presentationPage,\n })}\n data-id={page.id}\n id={`presentation-page-${page.id.toString()}`}\n style={pageOuterStyle}\n >\n <StaticPageWithZoomPanPinch\n handleZoom={handleZoom}\n items={page.items}\n mode={mode}\n refSetter={element => { transformRefs.current[index] = element; }}\n style={style}\n />\n </div>\n );\n })}\n </div>\n </div>\n {isEnabledZoomControls && (\n <div className=\"bottom-actions-container\">\n <ZoomControls />\n </div>\n )}\n </main>\n );\n};\n\nStaticScene.propTypes = {\n gesture: PropTypes.func,\n hideZoom: PropTypes.bool,\n mode: PropTypes.string.isRequired,\n presentationPage: PropTypes.number,\n};\n\nexport default StaticScene;\n"],"names":["StaticScene","gesture","hideZoom","mode","presentationPage","setZoom","useBuilderStore","state","zoom","isFullscreen","usePresentationStore","showControlsInFullScreen","settings","usePropStore","pages","viewPortRef","useRef","transformRefs","reportBackgroundColor","reportLayout","reportLayoutHeight","reportLayoutWidth","reportPageTransition","width","parseInt","height","zoomToUse","Number","isNaN","isPreviewCssZoom","useEffect","current","slice","length","pageContainerStyles","useMemo","transitionStyle","usePageTransition","handleZoom","useCallback","zoomPanPinch","fixedValue","parseFloat","scale","toFixed","roundValue","Math","round","i","centerView","isEnabledZoomControls","_jsxs","classNames","_jsx","undefined","map","page","index","backgroundColor","bg","style","transform","transformOrigin","pageOuterStyle","position","cNames","slugify","id","toString","StaticPageWithZoomPanPinch","items","element","propTypes","PropTypes","func","bool","string","isRequired","number"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StaticScene.js","sources":["../../../../src/components/Preview/StaticScene.js"],"sourcesContent":["import {\n useCallback, useEffect, useMemo, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport cNames from 'classnames';\nimport * as classNames from '../../constants/classNames';\nimport { StaticPageWithZoomPanPinch } from './StaticPage';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { slugify } from '../../utils/string';\nimport { usePageTransition } from '../../utils/hooks';\nimport { usePresentationStore } from '../../contexts/PresentationContext';\nimport ZoomControls from '../Builder/ZoomControls';\n\nconst StaticScene = ({\n gesture = () => {},\n hideZoom = false,\n mode = '',\n presentationPage = 0,\n}) => {\n const setZoom = useBuilderStore(state => state.setZoom);\n const zoom = useBuilderStore(state => state.zoom);\n\n const isFullscreen = usePresentationStore(state => state.isFullscreen);\n const showControlsInFullScreen = usePresentationStore(state => state.showControlsInFullScreen);\n\n const settings = usePropStore(state => state.settings);\n const pages = usePropStore(state => state.pages);\n\n const viewPortRef = useRef({});\n const transformRefs = useRef([]);\n\n const {\n reportBackgroundColor,\n reportLayout = 'A4 Landscape',\n reportLayoutHeight = 794,\n reportLayoutWidth = 1123,\n reportPageTransition = 'noAnimation',\n } = settings;\n const width = parseInt(reportLayoutWidth, 10);\n const height = parseInt(reportLayoutHeight, 10);\n const zoomToUse = Number.isNaN(zoom) ? 1 : zoom;\n const isPreviewCssZoom = mode === 'preview';\n\n useEffect(() => {\n transformRefs.current = transformRefs.current.slice(0, pages.length);\n }, [pages.length]);\n\n const pageContainerStyles = useMemo(() => ({\n height,\n width,\n }), [width, height]);\n\n const transitionStyle = usePageTransition(reportPageTransition, presentationPage);\n\n const handleZoom = useCallback(zoomPanPinch => {\n const fixedValue = parseFloat(zoomPanPinch.state.scale.toFixed(2));\n const roundValue = parseFloat((Math.round((fixedValue * 100)) / 100).toFixed(1));\n if (roundValue <= 2 && roundValue >= 0.5) {\n setZoom(roundValue);\n }\n }, [setZoom]);\n\n useEffect(() => {\n if (mode !== 'presentation') {\n return;\n }\n if (transformRefs.current.length > 0) {\n for (let i = 0; i < pages.length; i++) {\n transformRefs.current[i]?.centerView?.(zoom);\n }\n }\n }, [pages.length, zoom, mode]);\n\n const isEnabledZoomControls = (!isFullscreen || (isFullscreen && showControlsInFullScreen)) && !hideZoom;\n\n return (\n <main\n className={classNames.mainWrapper}\n >\n <div\n ref={viewPortRef}\n className={classNames.viewport}\n data-zoom={isPreviewCssZoom ? zoom : undefined}\n {...gesture()}\n >\n <div\n className={`${classNames.canvas} ${reportPageTransition}`}\n style={transitionStyle}\n >\n {pages.map((page, index) => {\n const { backgroundColor } = page;\n const bg = backgroundColor ? backgroundColor : reportBackgroundColor || '#fff';\n\n const style = isPreviewCssZoom ? {\n backgroundColor: bg,\n height,\n transform: `scale(${zoomToUse})`,\n transformOrigin: '0 0',\n width,\n } : {\n ...pageContainerStyles,\n backgroundColor: bg,\n };\n\n const pageOuterStyle = isPreviewCssZoom ? {\n height: parseFloat((height * zoomToUse).toFixed(1)),\n position: 'relative',\n width: parseFloat((width * zoomToUse).toFixed(1)),\n } : undefined;\n\n return (\n <div\n key={`page_${index.toString()}`}\n className={cNames({\n [classNames.page]: true,\n [slugify(reportLayout)]: true,\n activePage: index === presentationPage,\n })}\n data-id={page.id}\n id={`presentation-page-${page.id.toString()}`}\n style={pageOuterStyle}\n >\n <StaticPageWithZoomPanPinch\n handleZoom={handleZoom}\n items={page.items}\n mode={mode}\n refSetter={element => { transformRefs.current[index] = element; }}\n style={style}\n />\n </div>\n );\n })}\n </div>\n </div>\n {isEnabledZoomControls && (\n <div className=\"bottom-actions-container\">\n <ZoomControls />\n </div>\n )}\n </main>\n );\n};\n\nStaticScene.propTypes = {\n gesture: PropTypes.func,\n hideZoom: PropTypes.bool,\n mode: PropTypes.string.isRequired,\n presentationPage: PropTypes.number,\n};\n\nexport default StaticScene;\n"],"names":["StaticScene","gesture","hideZoom","mode","presentationPage","setZoom","useBuilderStore","state","zoom","isFullscreen","usePresentationStore","showControlsInFullScreen","settings","usePropStore","pages","viewPortRef","useRef","transformRefs","reportBackgroundColor","reportLayout","reportLayoutHeight","reportLayoutWidth","reportPageTransition","width","parseInt","height","zoomToUse","Number","isNaN","isPreviewCssZoom","useEffect","current","slice","length","pageContainerStyles","useMemo","transitionStyle","usePageTransition","handleZoom","useCallback","zoomPanPinch","fixedValue","parseFloat","scale","toFixed","roundValue","Math","round","i","centerView","isEnabledZoomControls","_jsxs","classNames","_jsx","undefined","map","page","index","backgroundColor","bg","style","transform","transformOrigin","pageOuterStyle","position","cNames","slugify","id","toString","StaticPageWithZoomPanPinch","items","element","propTypes","PropTypes","func","bool","string","isRequired","number"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrintWrapper.js","sources":["../../../../src/components/Print/PrintWrapper.js"],"sourcesContent":["import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { pageSize } from '../../utils/print';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst availableFormats = ['A4', 'A5', 'Custom', 'Web'];\n\nconst PrintWrapper = ({ children }) => {\n const settings = usePropStore(state => state.settings);\n const [manipulatePageSize, setManipulatePageSize] = useState(false);\n const reportLayout = settings.reportLayout ? settings.reportLayout : 'A4 Landscape';\n if (availableFormats.indexOf(reportLayout.split(' ')[0]) > -1 && !manipulatePageSize) {\n setManipulatePageSize(true);\n }\n\n return (\n <>\n {manipulatePageSize && (\n <style\n dangerouslySetInnerHTML={{\n __html: `\n @page {\n size: ${pageSize(settings)}; margin:0;\n }`,\n }}\n />\n )}\n {children}\n </>\n );\n};\n\nPrintWrapper.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default PrintWrapper;\n"],"names":["availableFormats","PrintWrapper","children","settings","usePropStore","state","useState","manipulatePageSize","setManipulatePageSize","reportLayout","indexOf","split","_jsxs","_jsx","__html","pageSize","propTypes","PropTypes","node","isRequired"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PrintWrapper.js","sources":["../../../../src/components/Print/PrintWrapper.js"],"sourcesContent":["import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { pageSize } from '../../utils/print';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst availableFormats = ['A4', 'A5', 'Custom', 'Web'];\n\nconst PrintWrapper = ({ children }) => {\n const settings = usePropStore(state => state.settings);\n const [manipulatePageSize, setManipulatePageSize] = useState(false);\n const reportLayout = settings.reportLayout ? settings.reportLayout : 'A4 Landscape';\n if (availableFormats.indexOf(reportLayout.split(' ')[0]) > -1 && !manipulatePageSize) {\n setManipulatePageSize(true);\n }\n\n return (\n <>\n {manipulatePageSize && (\n <style\n dangerouslySetInnerHTML={{\n __html: `\n @page {\n size: ${pageSize(settings)}; margin:0;\n }`,\n }}\n />\n )}\n {children}\n </>\n );\n};\n\nPrintWrapper.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default PrintWrapper;\n"],"names":["availableFormats","PrintWrapper","children","settings","usePropStore","state","useState","manipulatePageSize","setManipulatePageSize","reportLayout","indexOf","split","_jsxs","_jsx","__html","pageSize","propTypes","PropTypes","node","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,gBAAgB,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,QAAb,EAAuB,KAAvB,CAAzB;;IAEMC,YAAY,GAAG,SAAfA,YAAe,OAAkB;AAAA,MAAfC,QAAe,QAAfA,QAAe;AACrC,MAAMC,QAAQ,GAAGC,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,QAAV;AAAA,GAAN,CAA7B;;AACA,kBAAoDG,cAAQ,CAAC,KAAD,CAA5D;AAAA;AAAA,MAAOC,kBAAP;AAAA,MAA2BC,qBAA3B;;AACA,MAAMC,YAAY,GAAGN,QAAQ,CAACM,YAAT,GAAwBN,QAAQ,CAACM,YAAjC,GAAgD,cAArE;;AACA,MAAIT,gBAAgB,CAACU,OAAjB,CAAyBD,YAAY,CAACE,KAAb,CAAmB,GAAnB,EAAwB,CAAxB,CAAzB,IAAuD,CAAC,CAAxD,IAA6D,CAACJ,kBAAlE,EAAsF;AACpFC,IAAAA,qBAAqB,CAAC,IAAD,CAArB;AACD;;AAED,sBACEI;AAAA,eACGL,kBAAkB,iBACjBM;AACE,MAAA,uBAAuB,EAAE;AACvBC,QAAAA,MAAM,uDAEIC,cAAQ,CAACZ,QAAD,CAFZ;AADiB;AAD3B,MAFJ,EAWGD,QAXH;AAAA,IADF;AAeD;;AAEDD,YAAY,CAACe,SAAb,GAAyB;AACvBd,EAAAA,QAAQ,EAAEe,6BAAS,CAACC,IAAV,CAAeC;AADF,CAAzB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReportItemsWrapper.js","sources":["../../../src/components/ReportItemsWrapper.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport ReportItemRenderer from './Builder/ReportItemRenderer';\nimport DraggableItem from './DraggableItem/DraggableItem';\nimport getMergedItem from '../utils/getMergedItem';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { isSelectedItem } from '../utils/functions';\nimport { usePropStore } from '../contexts/PropContext';\n\nconst ReportItemsWrapper = ({\n items,\n}) => {\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const activeElements = useBuilderStore(state => state.activeElements);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemChange = usePropStore(state => state.onItemChange);\n\n return items\n .filter(item => (\n item.isVisible !== undefined\n ? item.isVisible\n : true\n ))\n .map(item => {\n const mergedItem = getMergedItem(item, acceptedItems);\n return (\n <DraggableItem\n key={item.id}\n item={item}\n >\n <ReportItemRenderer\n item={mergedItem}\n >\n {ReportItem => (\n <ReportItem\n isMultipleItemSelected={activeElements.length > 1}\n isSelected={isSelectedItem(item.id, activeElements)}\n item={mergedItem}\n itemAccessor={itemAccessor}\n onAnEventTrigger={onAnEventTrigger}\n onItemChange={onItemChange}\n />\n )}\n </ReportItemRenderer>\n </DraggableItem>\n );\n });\n};\n\nReportItemsWrapper.propTypes = {\n items: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n};\n\nexport default memo(ReportItemsWrapper);\n"],"names":["ReportItemsWrapper","items","acceptedItems","usePropStore","state","activeElements","useBuilderStore","itemAccessor","onAnEventTrigger","onItemChange","filter","item","isVisible","undefined","map","mergedItem","getMergedItem","_jsx","ReportItem","length","isSelectedItem","id","propTypes","PropTypes","arrayOf","shape","memo"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReportItemsWrapper.js","sources":["../../../src/components/ReportItemsWrapper.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport ReportItemRenderer from './Builder/ReportItemRenderer';\nimport DraggableItem from './DraggableItem/DraggableItem';\nimport getMergedItem from '../utils/getMergedItem';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { isSelectedItem } from '../utils/functions';\nimport { usePropStore } from '../contexts/PropContext';\n\nconst ReportItemsWrapper = ({\n items,\n}) => {\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const activeElements = useBuilderStore(state => state.activeElements);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemChange = usePropStore(state => state.onItemChange);\n\n return items\n .filter(item => (\n item.isVisible !== undefined\n ? item.isVisible\n : true\n ))\n .map(item => {\n const mergedItem = getMergedItem(item, acceptedItems);\n return (\n <DraggableItem\n key={item.id}\n item={item}\n >\n <ReportItemRenderer\n item={mergedItem}\n >\n {ReportItem => (\n <ReportItem\n isMultipleItemSelected={activeElements.length > 1}\n isSelected={isSelectedItem(item.id, activeElements)}\n item={mergedItem}\n itemAccessor={itemAccessor}\n onAnEventTrigger={onAnEventTrigger}\n onItemChange={onItemChange}\n />\n )}\n </ReportItemRenderer>\n </DraggableItem>\n );\n });\n};\n\nReportItemsWrapper.propTypes = {\n items: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n};\n\nexport default memo(ReportItemsWrapper);\n"],"names":["ReportItemsWrapper","items","acceptedItems","usePropStore","state","activeElements","useBuilderStore","itemAccessor","onAnEventTrigger","onItemChange","filter","item","isVisible","undefined","map","mergedItem","getMergedItem","_jsx","ReportItem","length","isSelectedItem","id","propTypes","PropTypes","arrayOf","shape","memo"],"mappings":";;;;;;;;;;;;;;;;AASA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,OAErB;AAAA,MADJC,KACI,QADJA,KACI;AACJ,MAAMC,aAAa,GAAGC,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,aAAV;AAAA,GAAN,CAAlC;AACA,MAAMG,cAAc,GAAGC,8BAAe,CAAC,UAAAF,KAAK;AAAA,WAAIA,KAAK,CAACC,cAAV;AAAA,GAAN,CAAtC;AACA,MAAME,YAAY,GAAGJ,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACG,YAAV;AAAA,GAAN,CAAjC;AACA,MAAMC,gBAAgB,GAAGL,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACI,gBAAV;AAAA,GAAN,CAArC;AACA,MAAMC,YAAY,GAAGN,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACK,YAAV;AAAA,GAAN,CAAjC;AAEA,SAAOR,KAAK,CACTS,MADI,CACG,UAAAC,IAAI;AAAA,WACVA,IAAI,CAACC,SAAL,KAAmBC,SAAnB,GACIF,IAAI,CAACC,SADT,GAEI,IAHM;AAAA,GADP,EAMJE,GANI,CAMA,UAAAH,IAAI,EAAI;AACX,QAAMI,UAAU,GAAGC,aAAa,CAACL,IAAD,EAAOT,aAAP,CAAhC;AACA,wBACEe,eAAC,aAAD;AAEE,MAAA,IAAI,EAAEN,IAFR;AAAA,6BAIEM,eAAC,kBAAD;AACE,QAAA,IAAI,EAAEF,UADR;AAAA,kBAGG,kBAAAG,UAAU;AAAA,8BACTD,eAAC,UAAD;AACE,YAAA,sBAAsB,EAAEZ,cAAc,CAACc,MAAf,GAAwB,CADlD;AAEE,YAAA,UAAU,EAAEC,wBAAc,CAACT,IAAI,CAACU,EAAN,EAAUhB,cAAV,CAF5B;AAGE,YAAA,IAAI,EAAEU,UAHR;AAIE,YAAA,YAAY,EAAER,YAJhB;AAKE,YAAA,gBAAgB,EAAEC,gBALpB;AAME,YAAA,YAAY,EAAEC;AANhB,YADS;AAAA;AAHb;AAJF,OACOE,IAAI,CAACU,EADZ,CADF;AAqBD,GA7BI,CAAP;AA8BD,CAvCD;;AAyCArB,kBAAkB,CAACsB,SAAnB,GAA+B;AAC7BrB,EAAAA,KAAK,EAAEsB,6BAAS,CAACC,OAAV,CACLD,6BAAS,CAACE,KAAV,CAAgB,EAAhB,CADK;AADsB,CAA/B;AAMA,wCAAeC,UAAI,CAAC1B,kBAAD,CAAnB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxGroup.js","sources":["../../../../src/components/Settings/CheckboxGroup.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { safeJSONParse } from '../../utils/functions';\n\nconst CheckboxGroup = ({\n config = {},\n item = {},\n onItemChange = () => {},\n value = [],\n}) => {\n const opts = config.options;\n const parsedValue = safeJSONParse(value, []);\n const val = parsedValue;\n\n const onChange = optionKey => e => {\n let newVal = [...val];\n if (e.target.checked) { // filter val\n newVal.push(optionKey);\n } else { // add val\n newVal = newVal.filter(o => o !== optionKey);\n }\n\n onItemChange({ id: item.id }, { [config.key]: JSON.stringify(newVal) });\n };\n\n return (\n <div\n className=\"jfReportSelectOption-list\"\n >\n {opts.map(option => {\n return (\n <div\n key={option}\n className={`jfReportSelectOption${val.indexOf(option) !== -1 ? ' isSelected' : ''}`}\n >\n <div className=\"jfReportSelectOption-visibility\">\n <label\n className=\"jfReportChoice isLight hasNotText\"\n htmlFor={option}\n >\n <input\n checked={val.indexOf(option) !== -1}\n className=\"jfReportChoice-input\"\n id={option}\n onChange={onChange(option)}\n type=\"checkbox\"\n />\n <div className=\"jfReportChoice-labelIcon\">\n <div className=\"jfReportChoice-label checkbox\" />\n </div>\n </label>\n </div>\n <div className=\"jfReportSelectOption-name\">\n <div className=\"jfReportSelectOption-text\">\n {option}\n </div>\n </div>\n </div>\n );\n })}\n </div>\n );\n};\n\nCheckboxGroup.propTypes = {\n config: PropTypes.shape({\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.string),\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n value: PropTypes.string,\n};\n\nexport default CheckboxGroup;\n"],"names":["CheckboxGroup","config","item","onItemChange","value","opts","options","parsedValue","safeJSONParse","val","onChange","optionKey","e","newVal","target","checked","push","filter","o","id","key","JSON","stringify","_jsx","map","option","_jsxs","indexOf","propTypes","PropTypes","shape","string","arrayOf","func"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CheckboxGroup.js","sources":["../../../../src/components/Settings/CheckboxGroup.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { safeJSONParse } from '../../utils/functions';\n\nconst CheckboxGroup = ({\n config = {},\n item = {},\n onItemChange = () => {},\n value = [],\n}) => {\n const opts = config.options;\n const parsedValue = safeJSONParse(value, []);\n const val = parsedValue;\n\n const onChange = optionKey => e => {\n let newVal = [...val];\n if (e.target.checked) { // filter val\n newVal.push(optionKey);\n } else { // add val\n newVal = newVal.filter(o => o !== optionKey);\n }\n\n onItemChange({ id: item.id }, { [config.key]: JSON.stringify(newVal) });\n };\n\n return (\n <div\n className=\"jfReportSelectOption-list\"\n >\n {opts.map(option => {\n return (\n <div\n key={option}\n className={`jfReportSelectOption${val.indexOf(option) !== -1 ? ' isSelected' : ''}`}\n >\n <div className=\"jfReportSelectOption-visibility\">\n <label\n className=\"jfReportChoice isLight hasNotText\"\n htmlFor={option}\n >\n <input\n checked={val.indexOf(option) !== -1}\n className=\"jfReportChoice-input\"\n id={option}\n onChange={onChange(option)}\n type=\"checkbox\"\n />\n <div className=\"jfReportChoice-labelIcon\">\n <div className=\"jfReportChoice-label checkbox\" />\n </div>\n </label>\n </div>\n <div className=\"jfReportSelectOption-name\">\n <div className=\"jfReportSelectOption-text\">\n {option}\n </div>\n </div>\n </div>\n );\n })}\n </div>\n );\n};\n\nCheckboxGroup.propTypes = {\n config: PropTypes.shape({\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.string),\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n value: PropTypes.string,\n};\n\nexport default CheckboxGroup;\n"],"names":["CheckboxGroup","config","item","onItemChange","value","opts","options","parsedValue","safeJSONParse","val","onChange","optionKey","e","newVal","target","checked","push","filter","o","id","key","JSON","stringify","_jsx","map","option","_jsxs","indexOf","propTypes","PropTypes","shape","string","arrayOf","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;IAGMA,aAAa,GAAG,SAAhBA,aAAgB,OAKhB;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,IAAI,GAAGJ,MAAM,CAACK,OAApB;AACA,MAAMC,WAAW,GAAGC,uBAAa,CAACJ,KAAD,EAAQ,EAAR,CAAjC;AACA,MAAMK,GAAG,GAAGF,WAAZ;;AAEA,MAAMG,QAAQ,GAAG,SAAXA,QAAW,CAAAC,SAAS;AAAA,WAAI,UAAAC,CAAC,EAAI;AACjC,UAAIC,MAAM,sBAAOJ,GAAP,CAAV;;AACA,UAAIG,CAAC,CAACE,MAAF,CAASC,OAAb,EAAsB;AAAE;AACtBF,QAAAA,MAAM,CAACG,IAAP,CAAYL,SAAZ;AACD,OAFD,MAEO;AAAE;AACPE,QAAAA,MAAM,GAAGA,MAAM,CAACI,MAAP,CAAc,UAAAC,CAAC;AAAA,iBAAIA,CAAC,KAAKP,SAAV;AAAA,SAAf,CAAT;AACD;;AAEDR,MAAAA,YAAY,CAAC;AAAEgB,QAAAA,EAAE,EAAEjB,IAAI,CAACiB;AAAX,OAAD,sBAAqBlB,MAAM,CAACmB,GAA5B,EAAkCC,IAAI,CAACC,SAAL,CAAeT,MAAf,CAAlC,EAAZ;AACD,KATyB;AAAA,GAA1B;;AAWA,sBACEU;AACE,IAAA,SAAS,EAAC,2BADZ;AAAA,cAGGlB,IAAI,CAACmB,GAAL,CAAS,UAAAC,MAAM,EAAI;AAClB,0BACEC;AAEE,QAAA,SAAS,gCAAyBjB,GAAG,CAACkB,OAAJ,CAAYF,MAAZ,MAAwB,CAAC,CAAzB,GAA6B,aAA7B,GAA6C,EAAtE,CAFX;AAAA,gCAIEF;AAAK,UAAA,SAAS,EAAC,iCAAf;AAAA,iCACEG;AACE,YAAA,SAAS,EAAC,mCADZ;AAEE,YAAA,OAAO,EAAED,MAFX;AAAA,oCAIEF;AACE,cAAA,OAAO,EAAEd,GAAG,CAACkB,OAAJ,CAAYF,MAAZ,MAAwB,CAAC,CADpC;AAEE,cAAA,SAAS,EAAC,sBAFZ;AAGE,cAAA,EAAE,EAAEA,MAHN;AAIE,cAAA,QAAQ,EAAEf,QAAQ,CAACe,MAAD,CAJpB;AAKE,cAAA,IAAI,EAAC;AALP,cAJF,eAWEF;AAAK,cAAA,SAAS,EAAC,0BAAf;AAAA,qCACEA;AAAK,gBAAA,SAAS,EAAC;AAAf;AADF,cAXF;AAAA;AADF,UAJF,eAqBEA;AAAK,UAAA,SAAS,EAAC,2BAAf;AAAA,iCACEA;AAAK,YAAA,SAAS,EAAC,2BAAf;AAAA,sBACGE;AADH;AADF,UArBF;AAAA,SACOA,MADP,CADF;AA6BD,KA9BA;AAHH,IADF;AAqCD;;AAEDzB,aAAa,CAAC4B,SAAd,GAA0B;AACxB3B,EAAAA,MAAM,EAAE4B,6BAAS,CAACC,KAAV,CAAgB;AACtBV,IAAAA,GAAG,EAAES,6BAAS,CAACE,MADO;AAEtBzB,IAAAA,OAAO,EAAEuB,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACE,MAA5B;AAFa,GAAhB,CADgB;AAKxB7B,EAAAA,IAAI,EAAE2B,6BAAS,CAACC,KAAV,CAAgB;AACpBX,IAAAA,EAAE,EAAEU,6BAAS,CAACE;AADM,GAAhB,CALkB;AAQxB5B,EAAAA,YAAY,EAAE0B,6BAAS,CAACI,IARA;AASxB7B,EAAAA,KAAK,EAAEyB,6BAAS,CAACE;AATO,CAA1B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPicker.js","sources":["../../../../src/components/Settings/ColorPicker.js"],"sourcesContent":["import { useState, memo, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { SketchPicker } from 'react-color';\nimport withClickOutside from '../withClickOutside';\nimport { useEventListener } from '../../utils/hooks';\nimport Textbox from './Textbox';\nimport { isValidHexColor, normalizeHexColor } from '../../utils/functions';\n\nexport const COLOR_PRESETS = [\n '#D0021B',\n '#F5A623',\n '#F8E71C',\n '#8B572A',\n '#7ED321',\n '#417505',\n '#BD10E0',\n '#9013FE',\n '#4A90E2',\n '#50E3C2',\n '#B8E986',\n '#000000',\n '#4A4A4A',\n '#9B9B9B',\n '#FFF',\n '#FFFFFF',\n];\n\nexport const ColorPickerWithClickOutside = withClickOutside(SketchPicker);\n\nconst ColorPicker = ({\n config = [],\n item = {},\n onItemChange = () => {},\n value = '',\n}) => {\n const { defaultValue = '#FFFFFF' } = config;\n const [isPickerVisible, setIsPickerVisible] = useState(false);\n const [colorValue, setColorValue] = useState(value || defaultValue);\n const pickerRef = useRef(null);\n\n const handleInputChange = (_item, _config) => {\n const newValue = _config[Object.keys(_config)[0]];\n const normalizedValue = normalizeHexColor(newValue);\n if (isValidHexColor(normalizedValue)) {\n setColorValue(normalizedValue);\n onItemChange(_item, { [config.key]: normalizedValue });\n } else {\n setColorValue(newValue);\n }\n };\n\n const checkPickerVisibility = () => isPickerVisible && setIsPickerVisible(false);\n useEventListener('resize', checkPickerVisibility);\n\n const handleOnChange = ({ hex }) => {\n if (hex !== colorValue) {\n setColorValue(hex);\n }\n };\n\n const handleColorPick = ({ hex }) => {\n if (hex !== value && isValidHexColor(hex)) {\n onItemChange(\n { id: item.id },\n { [config.key]: hex },\n );\n }\n };\n\n const setPickerVisibility = visibility => event => {\n if (visibility && window.innerHeight - event.clientY < 327) {\n setTimeout(() => {\n if (\n pickerRef.current\n && pickerRef.current.firstChild\n && pickerRef.current.firstChild.firstChild\n ) {\n pickerRef.current.firstChild.firstChild.scrollIntoView({\n behavior: 'smooth',\n block: 'end',\n });\n }\n }, 0);\n }\n setIsPickerVisible(visibility);\n };\n\n return (\n <>\n <div\n className={`colorPicker-wrapper p-relative d-flex a-center${\n isPickerVisible ? ' pickerVisible' : ''\n }`}\n data-key={config.key}\n onClick={setPickerVisibility(!isPickerVisible)}\n onKeyPress={() => {}}\n >\n <Textbox\n config={config}\n item={item}\n onItemChange={handleInputChange}\n value={colorValue}\n />\n <div\n className=\"colorPicker-preview\"\n style={{ backgroundColor: colorValue }}\n />\n </div>\n {isPickerVisible\n && (\n <div\n ref={pickerRef}\n onKeyDown={e => e.stopPropagation()}\n >\n <ColorPickerWithClickOutside\n color={colorValue}\n disableAlpha={true}\n exceptionalClasses={[`colorPicker-wrapper[data-key='${config.key}']`]}\n onChange={handleOnChange}\n onChangeComplete={handleColorPick}\n onClickOutside={setPickerVisibility(false)}\n presetColors={COLOR_PRESETS}\n withClickOutsideWrapperClass=\"colorPicker-holder\"\n />\n </div>\n )}\n </>\n );\n};\n\nColorPicker.propTypes = {\n config: PropTypes.shape({\n defaultValue: PropTypes.string,\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(ColorPicker);\n"],"names":["COLOR_PRESETS","ColorPickerWithClickOutside","withClickOutside","SketchPicker","ColorPicker","config","item","onItemChange","value","defaultValue","useState","isPickerVisible","setIsPickerVisible","colorValue","setColorValue","pickerRef","useRef","handleInputChange","_item","_config","newValue","Object","keys","normalizedValue","normalizeHexColor","isValidHexColor","key","checkPickerVisibility","useEventListener","handleOnChange","hex","handleColorPick","id","setPickerVisibility","visibility","event","window","innerHeight","clientY","setTimeout","current","firstChild","scrollIntoView","behavior","block","_jsxs","_jsx","backgroundColor","e","stopPropagation","propTypes","PropTypes","shape","string","options","arrayOf","any","func","memo"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ColorPicker.js","sources":["../../../../src/components/Settings/ColorPicker.js"],"sourcesContent":["import { useState, memo, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { SketchPicker } from 'react-color';\nimport withClickOutside from '../withClickOutside';\nimport { useEventListener } from '../../utils/hooks';\nimport Textbox from './Textbox';\nimport { isValidHexColor, normalizeHexColor } from '../../utils/functions';\n\nexport const COLOR_PRESETS = [\n '#D0021B',\n '#F5A623',\n '#F8E71C',\n '#8B572A',\n '#7ED321',\n '#417505',\n '#BD10E0',\n '#9013FE',\n '#4A90E2',\n '#50E3C2',\n '#B8E986',\n '#000000',\n '#4A4A4A',\n '#9B9B9B',\n '#FFF',\n '#FFFFFF',\n];\n\nexport const ColorPickerWithClickOutside = withClickOutside(SketchPicker);\n\nconst ColorPicker = ({\n config = [],\n item = {},\n onItemChange = () => {},\n value = '',\n}) => {\n const { defaultValue = '#FFFFFF' } = config;\n const [isPickerVisible, setIsPickerVisible] = useState(false);\n const [colorValue, setColorValue] = useState(value || defaultValue);\n const pickerRef = useRef(null);\n\n const handleInputChange = (_item, _config) => {\n const newValue = _config[Object.keys(_config)[0]];\n const normalizedValue = normalizeHexColor(newValue);\n if (isValidHexColor(normalizedValue)) {\n setColorValue(normalizedValue);\n onItemChange(_item, { [config.key]: normalizedValue });\n } else {\n setColorValue(newValue);\n }\n };\n\n const checkPickerVisibility = () => isPickerVisible && setIsPickerVisible(false);\n useEventListener('resize', checkPickerVisibility);\n\n const handleOnChange = ({ hex }) => {\n if (hex !== colorValue) {\n setColorValue(hex);\n }\n };\n\n const handleColorPick = ({ hex }) => {\n if (hex !== value && isValidHexColor(hex)) {\n onItemChange(\n { id: item.id },\n { [config.key]: hex },\n );\n }\n };\n\n const setPickerVisibility = visibility => event => {\n if (visibility && window.innerHeight - event.clientY < 327) {\n setTimeout(() => {\n if (\n pickerRef.current\n && pickerRef.current.firstChild\n && pickerRef.current.firstChild.firstChild\n ) {\n pickerRef.current.firstChild.firstChild.scrollIntoView({\n behavior: 'smooth',\n block: 'end',\n });\n }\n }, 0);\n }\n setIsPickerVisible(visibility);\n };\n\n return (\n <>\n <div\n className={`colorPicker-wrapper p-relative d-flex a-center${\n isPickerVisible ? ' pickerVisible' : ''\n }`}\n data-key={config.key}\n onClick={setPickerVisibility(!isPickerVisible)}\n onKeyPress={() => {}}\n >\n <Textbox\n config={config}\n item={item}\n onItemChange={handleInputChange}\n value={colorValue}\n />\n <div\n className=\"colorPicker-preview\"\n style={{ backgroundColor: colorValue }}\n />\n </div>\n {isPickerVisible\n && (\n <div\n ref={pickerRef}\n onKeyDown={e => e.stopPropagation()}\n >\n <ColorPickerWithClickOutside\n color={colorValue}\n disableAlpha={true}\n exceptionalClasses={[`colorPicker-wrapper[data-key='${config.key}']`]}\n onChange={handleOnChange}\n onChangeComplete={handleColorPick}\n onClickOutside={setPickerVisibility(false)}\n presetColors={COLOR_PRESETS}\n withClickOutsideWrapperClass=\"colorPicker-holder\"\n />\n </div>\n )}\n </>\n );\n};\n\nColorPicker.propTypes = {\n config: PropTypes.shape({\n defaultValue: PropTypes.string,\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(ColorPicker);\n"],"names":["COLOR_PRESETS","ColorPickerWithClickOutside","withClickOutside","SketchPicker","ColorPicker","config","item","onItemChange","value","defaultValue","useState","isPickerVisible","setIsPickerVisible","colorValue","setColorValue","pickerRef","useRef","handleInputChange","_item","_config","newValue","Object","keys","normalizedValue","normalizeHexColor","isValidHexColor","key","checkPickerVisibility","useEventListener","handleOnChange","hex","handleColorPick","id","setPickerVisibility","visibility","event","window","innerHeight","clientY","setTimeout","current","firstChild","scrollIntoView","behavior","block","_jsxs","_jsx","backgroundColor","e","stopPropagation","propTypes","PropTypes","shape","string","options","arrayOf","any","func","memo"],"mappings":"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"}
|