@jotforminc/dnd-builder 2.5.2 → 2.5.4

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.
Files changed (26) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/lib/cjs/components/Presentation/Presentation.js +1 -0
  3. package/lib/cjs/components/Presentation/Presentation.js.map +1 -1
  4. package/lib/cjs/components/Presentation/PresentationWrapper.js +15 -26
  5. package/lib/cjs/components/Presentation/PresentationWrapper.js.map +1 -1
  6. package/lib/cjs/components/Preview/Preview.js +1 -0
  7. package/lib/cjs/components/Preview/Preview.js.map +1 -1
  8. package/lib/cjs/components/Preview/StaticScene.js +1 -2
  9. package/lib/cjs/components/Preview/StaticScene.js.map +1 -1
  10. package/lib/cjs/components/Print/PrintModeWithoutContext.js +1 -4
  11. package/lib/cjs/components/Print/PrintModeWithoutContext.js.map +1 -1
  12. package/lib/cjs/components/withZoomPanPinchHOC.js +1 -1
  13. package/lib/cjs/components/withZoomPanPinchHOC.js.map +1 -1
  14. package/lib/esm/components/Presentation/Presentation.js +1 -0
  15. package/lib/esm/components/Presentation/Presentation.js.map +1 -1
  16. package/lib/esm/components/Presentation/PresentationWrapper.js +15 -26
  17. package/lib/esm/components/Presentation/PresentationWrapper.js.map +1 -1
  18. package/lib/esm/components/Preview/Preview.js +1 -0
  19. package/lib/esm/components/Preview/Preview.js.map +1 -1
  20. package/lib/esm/components/Preview/StaticScene.js +1 -2
  21. package/lib/esm/components/Preview/StaticScene.js.map +1 -1
  22. package/lib/esm/components/Print/PrintModeWithoutContext.js +1 -4
  23. package/lib/esm/components/Print/PrintModeWithoutContext.js.map +1 -1
  24. package/lib/esm/components/withZoomPanPinchHOC.js +1 -1
  25. package/lib/esm/components/withZoomPanPinchHOC.js.map +1 -1
  26. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [2.5.4](https://github.com/jotform/dnd-builder/compare/v2.5.3...v2.5.4) (2023-03-03)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **static-scene:** mode prop is passed correctly & zoom feature is set only for presentation ([6c045f5](https://github.com/jotform/dnd-builder/commit/6c045f5e2307ca442c1b2f3271fdf531c3c3240b))
11
+
12
+ ### [2.5.3](https://github.com/jotform/dnd-builder/compare/v2.5.2...v2.5.3) (2023-03-02)
13
+
5
14
  ### [2.5.2](https://github.com/jotform/dnd-builder/compare/v2.5.1...v2.5.2) (2023-03-02)
6
15
 
7
16
 
@@ -62,6 +62,7 @@ var Presentation = function Presentation(_ref) {
62
62
  hashCode: hashCode,
63
63
  hideZoom: true,
64
64
  itemAccessor: itemAccessor,
65
+ mode: "presentation",
65
66
  pages: pages,
66
67
  presentationPage: presentationPage
67
68
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Presentation.js","sources":["../../../../src/components/Presentation/Presentation.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport objectHash from 'object-hash';\nimport { PresentationProvider } from '../../utils/presentationContext';\nimport { BuilderProvider } from '../../utils/builderContext';\nimport { PropProvider } from '../../utils/propContext';\nimport StaticScene from '../Preview/StaticScene';\nimport ReportWrapper from '../ReportWrapper';\nimport PresentationWrapper from './PresentationWrapper';\n\nimport '../../styles/jfReportsBundle.scss';\nimport Print from '../Print';\n\nconst Presentation = ({\n acceptedItems,\n additionalPageItems,\n itemAccessor,\n onAnEventTrigger,\n pages,\n presentationBarActions,\n settings,\n theme,\n useFixedPresentationBar,\n ...otherProps\n}) => {\n const hashCode = objectHash(otherProps);\n\n return (\n <PresentationProvider\n pageCount={pages.length}\n >\n <PropProvider\n acceptedItems={acceptedItems}\n onAnEventTrigger={onAnEventTrigger}\n settings={settings}\n >\n <BuilderProvider>\n <ReportWrapper\n mode=\"presentation\"\n theme={theme}\n >\n <PresentationWrapper\n presentationBarActions={presentationBarActions}\n useFixedPresentationBar={useFixedPresentationBar}\n >\n {(presentationPage, gesture) => (\n <StaticScene\n additionalPageItems={additionalPageItems}\n gesture={gesture}\n hashCode={hashCode}\n hideZoom={true}\n itemAccessor={itemAccessor}\n pages={pages}\n presentationPage={presentationPage}\n />\n )}\n </PresentationWrapper>\n <Print\n additionalPageItems={additionalPageItems}\n itemAccessor={itemAccessor}\n pages={pages}\n settings={settings}\n {...otherProps}\n />\n </ReportWrapper>\n </BuilderProvider>\n </PropProvider>\n </PresentationProvider>\n );\n};\n\nPresentation.propTypes = {\n /** Items for to render in the report */\n acceptedItems: PropTypes.shape({}),\n /** Array of React components to render statically on each page (eg. watermark) */\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n onAnEventTrigger: PropTypes.func,\n /** Array of pages with their settings and items */\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n /** To pass in action definitions that will be rendered as buttons */\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n /** General report settings such as layout size and background color */\n settings: PropTypes.shape({}),\n /** Theme */\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n /** Flag for fixed action bar */\n useFixedPresentationBar: PropTypes.bool,\n};\n\nPresentation.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n itemAccessor: () => {},\n onAnEventTrigger: () => {},\n pages: [],\n presentationBarActions: [],\n settings: {},\n theme: 'lightMode',\n useFixedPresentationBar: false,\n};\n\nexport default Presentation;\n"],"names":["Presentation","acceptedItems","additionalPageItems","itemAccessor","onAnEventTrigger","pages","presentationBarActions","settings","theme","useFixedPresentationBar","otherProps","hashCode","objectHash","_jsx","PresentationProvider","length","PropProvider","BuilderProvider","_jsxs","presentationPage","gesture","propTypes","PropTypes","shape","arrayOf","node","func","oneOf","bool","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Presentation.js","sources":["../../../../src/components/Presentation/Presentation.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport objectHash from 'object-hash';\nimport { PresentationProvider } from '../../utils/presentationContext';\nimport { BuilderProvider } from '../../utils/builderContext';\nimport { PropProvider } from '../../utils/propContext';\nimport StaticScene from '../Preview/StaticScene';\nimport ReportWrapper from '../ReportWrapper';\nimport PresentationWrapper from './PresentationWrapper';\n\nimport '../../styles/jfReportsBundle.scss';\nimport Print from '../Print';\n\nconst Presentation = ({\n acceptedItems,\n additionalPageItems,\n itemAccessor,\n onAnEventTrigger,\n pages,\n presentationBarActions,\n settings,\n theme,\n useFixedPresentationBar,\n ...otherProps\n}) => {\n const hashCode = objectHash(otherProps);\n\n return (\n <PresentationProvider\n pageCount={pages.length}\n >\n <PropProvider\n acceptedItems={acceptedItems}\n onAnEventTrigger={onAnEventTrigger}\n settings={settings}\n >\n <BuilderProvider>\n <ReportWrapper\n mode=\"presentation\"\n theme={theme}\n >\n <PresentationWrapper\n presentationBarActions={presentationBarActions}\n useFixedPresentationBar={useFixedPresentationBar}\n >\n {(presentationPage, gesture) => (\n <StaticScene\n additionalPageItems={additionalPageItems}\n gesture={gesture}\n hashCode={hashCode}\n hideZoom={true}\n itemAccessor={itemAccessor}\n mode=\"presentation\"\n pages={pages}\n presentationPage={presentationPage}\n />\n )}\n </PresentationWrapper>\n <Print\n additionalPageItems={additionalPageItems}\n itemAccessor={itemAccessor}\n pages={pages}\n settings={settings}\n {...otherProps}\n />\n </ReportWrapper>\n </BuilderProvider>\n </PropProvider>\n </PresentationProvider>\n );\n};\n\nPresentation.propTypes = {\n /** Items for to render in the report */\n acceptedItems: PropTypes.shape({}),\n /** Array of React components to render statically on each page (eg. watermark) */\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n onAnEventTrigger: PropTypes.func,\n /** Array of pages with their settings and items */\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n /** To pass in action definitions that will be rendered as buttons */\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n /** General report settings such as layout size and background color */\n settings: PropTypes.shape({}),\n /** Theme */\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n /** Flag for fixed action bar */\n useFixedPresentationBar: PropTypes.bool,\n};\n\nPresentation.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n itemAccessor: () => {},\n onAnEventTrigger: () => {},\n pages: [],\n presentationBarActions: [],\n settings: {},\n theme: 'lightMode',\n useFixedPresentationBar: false,\n};\n\nexport default Presentation;\n"],"names":["Presentation","acceptedItems","additionalPageItems","itemAccessor","onAnEventTrigger","pages","presentationBarActions","settings","theme","useFixedPresentationBar","otherProps","hashCode","objectHash","_jsx","PresentationProvider","length","PropProvider","BuilderProvider","_jsxs","presentationPage","gesture","propTypes","PropTypes","shape","arrayOf","node","func","oneOf","bool","defaultProps"],"mappings":"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"}
@@ -4,7 +4,7 @@ var React = require('react');
4
4
  var PropTypes = require('prop-types');
5
5
  var Modal = require('react-modal');
6
6
  var classNames = require('classnames');
7
- var reactUseGesture = require('react-use-gesture');
7
+ var react = require('@use-gesture/react');
8
8
  var PresentationBar = require('./PresentationBar/PresentationBar.js');
9
9
  var ProgressBar = require('./ProgressBar.js');
10
10
  var builderContext = require('../../utils/builderContext.js');
@@ -120,32 +120,21 @@ var PresentationWrapper = function PresentationWrapper(_ref) {
120
120
  return e.preventDefault();
121
121
  });
122
122
  hooks.useFullscreenChange(isFullscreen, setIsFullscreen, fitToScreen);
123
- var gesture = reactUseGesture.useGesture({
124
- onDragEnd: function onDragEnd(_ref2) {
125
- var axis = _ref2.axis,
126
- _ref2$direction = _slicedToArray(_ref2.direction, 1),
127
- v = _ref2$direction[0],
128
- distance = _ref2.distance,
129
- event = _ref2.event;
130
-
131
- event.preventDefault();
132
-
133
- if (fittedZoom === zoom) {
134
- var clientWidth = event.target.clientWidth;
135
-
136
- if (axis === 'x' && window.innerWidth / 4 < distance && clientWidth * zoom < window.innerWidth) {
137
- return v < 0 ? pageChanger(1)() : pageChanger(-1)();
138
- }
123
+ var gesture = react.useDrag(function (_ref2) {
124
+ var active = _ref2.active,
125
+ _ref2$movement = _slicedToArray(_ref2.movement, 1),
126
+ mx = _ref2$movement[0],
127
+ _ref2$direction = _slicedToArray(_ref2.direction, 1),
128
+ xDir = _ref2$direction[0],
129
+ cancel = _ref2.cancel;
130
+
131
+ if (fittedZoom === zoom) {
132
+ if (active && Math.abs(mx) > window.innerWidth / 2) {
133
+ var direction = xDir < 0 ? 1 : -1;
134
+ cancel();
135
+ pageChanger(direction)();
139
136
  }
140
- } // onPinchEnd: ({ movement: [d] }) => {
141
- // const zoomStep = Number(parseFloat(d / 1000).toFixed(1));
142
- // const newZoomValue = Number(((Math.round((zoom + zoomStep) * 10)) / 10).toFixed(2));
143
- // if (zoom !== newZoomValue && newZoomValue <= ZOOM_MAX) {
144
- // const minZoom = Math.min(fittedZoom, ZOOM_MIN);
145
- // setZoom(Math.max(newZoomValue, minZoom));
146
- // }
147
- // },
148
-
137
+ }
149
138
  });
150
139
  return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
151
140
  children: /*#__PURE__*/jsxRuntime.jsxs(Modal__default['default'], {
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationWrapper.js","sources":["../../../../src/components/Presentation/PresentationWrapper.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from 'react-modal';\nimport classNames from 'classnames';\nimport { useGesture } from 'react-use-gesture';\nimport PresentationBar from './PresentationBar';\nimport ProgressBar from './ProgressBar';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { useEventListener, useFullscreenChange } from '../../utils/hooks';\nimport {\n changePage,\n throttle,\n zoomHandler,\n} from '../../utils/functions';\nimport { usePresentationContext } from '../../utils/presentationContext';\nimport { usePropContext } from '../../utils/propContext';\n// import { ZOOM_MIN, ZOOM_MAX } from '../../constants/zoom';\n\nconst PresentationWrapper = ({\n children,\n presentationBarActions,\n useFixedPresentationBar,\n}) => {\n const { onAnEventTrigger, settings } = usePropContext();\n const {\n currentPage,\n fittedZoom,\n isFullscreen,\n pageCount,\n setCurrentPage,\n setFittedZoom,\n setIsFullscreen,\n setShowControlsInFullScreen,\n showControlsInFullScreen,\n } = usePresentationContext();\n\n const { setZoom, zoom } = useBuilderContext();\n\n const fitToScreen = useCallback((delay = 0) => setTimeout(() => {\n const newZoom = zoomHandler({\n handler: setZoom,\n isFullscreen,\n isModeCustomize: false,\n limitZoom: false,\n settings,\n useFixedPresentationBar,\n useProgressBar: pageCount > 2,\n });\n setFittedZoom(newZoom);\n }, delay), [settings, isFullscreen, useFixedPresentationBar, pageCount]);\n\n useEffect(() => { fitToScreen(100); }, [isFullscreen]);\n\n useEffect(() => {\n if (isFullscreen) {\n setShowControlsInFullScreen(true);\n setTimeout(() => setShowControlsInFullScreen(false), 1500);\n }\n }, [isFullscreen]);\n\n const pageChanger = action => changePage({\n action,\n currentPage,\n pageCount,\n setCurrentPage,\n });\n\n const handleKeyboardEvent = useCallback(e => {\n if (e.keyCode === 39) {\n pageChanger(1)();\n } else if (e.keyCode === 37) {\n pageChanger(-1)();\n }\n });\n\n const setControlVisibility = e => {\n // TODO :: timeout in n out for better ux\n if (!isFullscreen) return;\n if (showControlsInFullScreen && window.innerHeight - e.clientY >= 200) {\n setShowControlsInFullScreen(false);\n } else if (!showControlsInFullScreen && window.innerHeight - e.clientY < 200) {\n setShowControlsInFullScreen(true);\n }\n };\n\n useEventListener('keydown', handleKeyboardEvent);\n useEventListener('mousemove', throttle(setControlVisibility, 150));\n useEventListener('gesturestart', e => e.preventDefault());\n useEventListener('gesturechange', e => e.preventDefault());\n useFullscreenChange(isFullscreen, setIsFullscreen, fitToScreen);\n\n const gesture = useGesture({\n onDragEnd: ({\n axis, direction: [v], distance, event,\n }) => {\n event.preventDefault();\n if (fittedZoom === zoom) {\n const { clientWidth } = event.target;\n if (axis === 'x'\n && window.innerWidth / 4 < distance\n && clientWidth * zoom < window.innerWidth) {\n return v < 0 ? pageChanger(1)() : pageChanger(-1)();\n }\n }\n },\n // onPinchEnd: ({ movement: [d] }) => {\n // const zoomStep = Number(parseFloat(d / 1000).toFixed(1));\n // const newZoomValue = Number(((Math.round((zoom + zoomStep) * 10)) / 10).toFixed(2));\n // if (zoom !== newZoomValue && newZoomValue <= ZOOM_MAX) {\n // const minZoom = Math.min(fittedZoom, ZOOM_MIN);\n // setZoom(Math.max(newZoomValue, minZoom));\n // }\n // },\n });\n\n return (\n <>\n <Modal\n appElement={document.getElementById('root')}\n className={classNames('jfPresentation jfFields', { black: isFullscreen })}\n closeTimeoutMS={300}\n contentLabel=\"Report Presentation\"\n id=\"presentationModal\"\n isOpen={true}\n overlayClassName={classNames(\n 'jfPresentation-overlay',\n { fixedPresentationBar: useFixedPresentationBar, isFullscreen },\n )}\n portalClassName=\"PresentationModal\"\n shouldCloseOnEsc={false}\n shouldFocusAfterRender={false}\n >\n {children(currentPage - 1, gesture)}\n <PresentationBar\n currentPage={currentPage}\n fittedZoom={fittedZoom}\n fitToScreen={fitToScreen}\n isFullscreen={isFullscreen}\n isVisible={(!isFullscreen || (isFullscreen && showControlsInFullScreen))}\n onAnEventTrigger={onAnEventTrigger}\n pageCount={pageCount}\n presentationBarActions={presentationBarActions}\n setCurrentPage={setCurrentPage}\n setIsFullscreen={setIsFullscreen}\n settings={settings}\n setZoom={setZoom}\n zoom={zoom}\n />\n <ProgressBar\n currentPage={currentPage}\n pageCount={pageCount}\n />\n </Modal>\n </>\n );\n};\n\nPresentationWrapper.propTypes = {\n children: PropTypes.any,\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n useFixedPresentationBar: PropTypes.bool,\n};\n\nPresentationWrapper.defaultProps = {\n children: () => {},\n presentationBarActions: [],\n useFixedPresentationBar: false,\n};\n\nexport default PresentationWrapper;\n"],"names":["PresentationWrapper","children","presentationBarActions","useFixedPresentationBar","usePropContext","onAnEventTrigger","settings","usePresentationContext","currentPage","fittedZoom","isFullscreen","pageCount","setCurrentPage","setFittedZoom","setIsFullscreen","setShowControlsInFullScreen","showControlsInFullScreen","useBuilderContext","setZoom","zoom","fitToScreen","useCallback","delay","setTimeout","newZoom","zoomHandler","handler","isModeCustomize","limitZoom","useProgressBar","useEffect","pageChanger","action","changePage","handleKeyboardEvent","e","keyCode","setControlVisibility","window","innerHeight","clientY","useEventListener","throttle","preventDefault","useFullscreenChange","gesture","useGesture","onDragEnd","axis","direction","v","distance","event","clientWidth","target","innerWidth","_jsx","_jsxs","Modal","document","getElementById","classNames","black","fixedPresentationBar","propTypes","PropTypes","any","arrayOf","shape","bool","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"PresentationWrapper.js","sources":["../../../../src/components/Presentation/PresentationWrapper.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from 'react-modal';\nimport classNames from 'classnames';\nimport { useDrag } from '@use-gesture/react';\nimport PresentationBar from './PresentationBar';\nimport ProgressBar from './ProgressBar';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { useEventListener, useFullscreenChange } from '../../utils/hooks';\nimport {\n changePage,\n throttle,\n zoomHandler,\n} from '../../utils/functions';\nimport { usePresentationContext } from '../../utils/presentationContext';\nimport { usePropContext } from '../../utils/propContext';\n// import { ZOOM_MIN, ZOOM_MAX } from '../../constants/zoom';\n\nconst PresentationWrapper = ({\n children,\n presentationBarActions,\n useFixedPresentationBar,\n}) => {\n const { onAnEventTrigger, settings } = usePropContext();\n const {\n currentPage,\n fittedZoom,\n isFullscreen,\n pageCount,\n setCurrentPage,\n setFittedZoom,\n setIsFullscreen,\n setShowControlsInFullScreen,\n showControlsInFullScreen,\n } = usePresentationContext();\n\n const { setZoom, zoom } = useBuilderContext();\n\n const fitToScreen = useCallback((delay = 0) => setTimeout(() => {\n const newZoom = zoomHandler({\n handler: setZoom,\n isFullscreen,\n isModeCustomize: false,\n limitZoom: false,\n settings,\n useFixedPresentationBar,\n useProgressBar: pageCount > 2,\n });\n setFittedZoom(newZoom);\n }, delay), [settings, isFullscreen, useFixedPresentationBar, pageCount]);\n\n useEffect(() => { fitToScreen(100); }, [isFullscreen]);\n\n useEffect(() => {\n if (isFullscreen) {\n setShowControlsInFullScreen(true);\n setTimeout(() => setShowControlsInFullScreen(false), 1500);\n }\n }, [isFullscreen]);\n\n const pageChanger = action => changePage({\n action,\n currentPage,\n pageCount,\n setCurrentPage,\n });\n\n const handleKeyboardEvent = useCallback(e => {\n if (e.keyCode === 39) {\n pageChanger(1)();\n } else if (e.keyCode === 37) {\n pageChanger(-1)();\n }\n });\n\n const setControlVisibility = e => {\n // TODO :: timeout in n out for better ux\n if (!isFullscreen) return;\n if (showControlsInFullScreen && window.innerHeight - e.clientY >= 200) {\n setShowControlsInFullScreen(false);\n } else if (!showControlsInFullScreen && window.innerHeight - e.clientY < 200) {\n setShowControlsInFullScreen(true);\n }\n };\n\n useEventListener('keydown', handleKeyboardEvent);\n useEventListener('mousemove', throttle(setControlVisibility, 150));\n useEventListener('gesturestart', e => e.preventDefault());\n useEventListener('gesturechange', e => e.preventDefault());\n useFullscreenChange(isFullscreen, setIsFullscreen, fitToScreen);\n\n const gesture = useDrag(({\n active, movement: [mx], direction: [xDir], cancel,\n }) => {\n if (fittedZoom === zoom) {\n if (active && Math.abs(mx) > window.innerWidth / 2) {\n const direction = xDir < 0 ? 1 : -1;\n cancel();\n pageChanger(direction)();\n }\n }\n });\n\n return (\n <>\n <Modal\n appElement={document.getElementById('root')}\n className={classNames('jfPresentation jfFields', { black: isFullscreen })}\n closeTimeoutMS={300}\n contentLabel=\"Report Presentation\"\n id=\"presentationModal\"\n isOpen={true}\n overlayClassName={classNames(\n 'jfPresentation-overlay',\n { fixedPresentationBar: useFixedPresentationBar, isFullscreen },\n )}\n portalClassName=\"PresentationModal\"\n shouldCloseOnEsc={false}\n shouldFocusAfterRender={false}\n >\n {children(currentPage - 1, gesture)}\n <PresentationBar\n currentPage={currentPage}\n fittedZoom={fittedZoom}\n fitToScreen={fitToScreen}\n isFullscreen={isFullscreen}\n isVisible={(!isFullscreen || (isFullscreen && showControlsInFullScreen))}\n onAnEventTrigger={onAnEventTrigger}\n pageCount={pageCount}\n presentationBarActions={presentationBarActions}\n setCurrentPage={setCurrentPage}\n setIsFullscreen={setIsFullscreen}\n settings={settings}\n setZoom={setZoom}\n zoom={zoom}\n />\n <ProgressBar\n currentPage={currentPage}\n pageCount={pageCount}\n />\n </Modal>\n </>\n );\n};\n\nPresentationWrapper.propTypes = {\n children: PropTypes.any,\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n useFixedPresentationBar: PropTypes.bool,\n};\n\nPresentationWrapper.defaultProps = {\n children: () => {},\n presentationBarActions: [],\n useFixedPresentationBar: false,\n};\n\nexport default PresentationWrapper;\n"],"names":["PresentationWrapper","children","presentationBarActions","useFixedPresentationBar","usePropContext","onAnEventTrigger","settings","usePresentationContext","currentPage","fittedZoom","isFullscreen","pageCount","setCurrentPage","setFittedZoom","setIsFullscreen","setShowControlsInFullScreen","showControlsInFullScreen","useBuilderContext","setZoom","zoom","fitToScreen","useCallback","delay","setTimeout","newZoom","zoomHandler","handler","isModeCustomize","limitZoom","useProgressBar","useEffect","pageChanger","action","changePage","handleKeyboardEvent","e","keyCode","setControlVisibility","window","innerHeight","clientY","useEventListener","throttle","preventDefault","useFullscreenChange","gesture","useDrag","active","movement","mx","direction","xDir","cancel","Math","abs","innerWidth","_jsx","_jsxs","Modal","document","getElementById","classNames","black","fixedPresentationBar","propTypes","PropTypes","any","arrayOf","shape","bool","defaultProps"],"mappings":"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"}
@@ -66,6 +66,7 @@ var Preview = function Preview(_ref) {
66
66
  isExistsZoom: true,
67
67
  itemAccessor: itemAccessor,
68
68
  lastScrollPosition: lastScrollPosition,
69
+ mode: "preview",
69
70
  pages: pages
70
71
  })
71
72
  })
@@ -1 +1 @@
1
- {"version":3,"file":"Preview.js","sources":["../../../../src/components/Preview/Preview.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport objectHash from 'object-hash';\nimport ReportWrapper from '../ReportWrapper';\nimport StaticScene from './StaticScene';\nimport { PropProvider } from '../../utils/propContext';\nimport { BuilderProvider } from '../../utils/builderContext';\n\nconst Preview = ({\n acceptedItems,\n additionalPageItems,\n itemAccessor,\n lastScrollPosition,\n onAnEventTrigger,\n pages,\n settings,\n theme,\n ...otherProps\n}) => {\n/* eslint-disable no-unused-vars */\n const {\n disableInteraction,\n leftPanelConfig,\n onItemAdd,\n onItemChange,\n onItemMove,\n onItemRemove,\n onItemResize,\n onItemsMove,\n onPageAdd,\n onPageChange,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n onSettingChange,\n useExperimentalFeatures,\n ...hashProps\n } = otherProps;\n /* eslint-enable no-unused-vars */\n\n const hashCode = objectHash(hashProps);\n\n return (\n <BuilderProvider>\n <PropProvider\n acceptedItems={acceptedItems}\n onAnEventTrigger={onAnEventTrigger}\n settings={settings}\n >\n <ReportWrapper\n mode=\"preview\"\n theme={theme}\n >\n <StaticScene\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n isExistsZoom\n itemAccessor={itemAccessor}\n lastScrollPosition={lastScrollPosition}\n pages={pages}\n />\n </ReportWrapper>\n </PropProvider>\n </BuilderProvider>\n );\n};\n\nPreview.propTypes = {\n /** Items for to render in the report */\n acceptedItems: PropTypes.shape({}),\n /** Array of React components to render statically on each page (eg. watermark) */\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n onAnEventTrigger: PropTypes.func,\n /** Array of pages with their settings and items */\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n /** General report settings such as layout size and background color */\n settings: PropTypes.shape({}),\n /** Theme */\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n};\n\nPreview.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n itemAccessor: () => {},\n lastScrollPosition: 0,\n onAnEventTrigger: () => {},\n pages: [],\n settings: {},\n theme: 'lightMode',\n};\n\nexport default Preview;\n"],"names":["Preview","acceptedItems","additionalPageItems","itemAccessor","lastScrollPosition","onAnEventTrigger","pages","settings","theme","otherProps","disableInteraction","leftPanelConfig","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onSettingChange","useExperimentalFeatures","hashProps","hashCode","objectHash","_jsx","BuilderProvider","PropProvider","propTypes","PropTypes","shape","arrayOf","node","func","number","oneOf","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;IAOMA,OAAO,GAAG,SAAVA,OAAU,OAUV;AAAA,MATJC,aASI,QATJA,aASI;AAAA,MARJC,mBAQI,QARJA,mBAQI;AAAA,MAPJC,YAOI,QAPJA,YAOI;AAAA,MANJC,kBAMI,QANJA,kBAMI;AAAA,MALJC,gBAKI,QALJA,gBAKI;AAAA,MAJJC,KAII,QAJJA,KAII;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,MAFJC,KAEI,QAFJA,KAEI;AAAA,MADDC,UACC;;AACN;AACE,EAiBIA,UAjBJ,CACEC,kBADF;AAAA,MAiBID,UAjBJ,CAEEE,eAFF;AAAA,MAiBIF,UAjBJ,CAGEG,SAHF;AAAA,MAiBIH,UAjBJ,CAIEI,YAJF;AAAA,MAiBIJ,UAjBJ,CAKEK,UALF;AAAA,MAiBIL,UAjBJ,CAMEM,YANF;AAAA,MAiBIN,UAjBJ,CAOEO,YAPF;AAAA,MAiBIP,UAjBJ,CAQEQ,WARF;AAAA,MAiBIR,UAjBJ,CASES,SATF;AAAA,MAiBIT,UAjBJ,CAUEU,YAVF;AAAA,MAiBIV,UAjBJ,CAWEW,eAXF;AAAA,MAiBIX,UAjBJ,CAYEY,kBAZF;AAAA,MAiBIZ,UAjBJ,CAaEa,YAbF;AAAA,MAiBIb,UAjBJ,CAcEc,eAdF;AAAA,MAiBId,UAjBJ,CAeEe,uBAfF;AAAA,UAgBKC,SAhBL,4BAiBIhB,UAjBJ;AAkBA;;;AAEA,MAAMiB,QAAQ,GAAGC,8BAAU,CAACF,SAAD,CAA3B;AAEA,sBACEG,eAACC,8BAAD;AAAA,2BACED,eAACE,wBAAD;AACE,MAAA,aAAa,EAAE7B,aADjB;AAEE,MAAA,gBAAgB,EAAEI,gBAFpB;AAGE,MAAA,QAAQ,EAAEE,QAHZ;AAAA,6BAKEqB,eAAC,aAAD;AACE,QAAA,IAAI,EAAC,SADP;AAEE,QAAA,KAAK,EAAEpB,KAFT;AAAA,+BAIEoB,eAAC,WAAD;AACE,UAAA,mBAAmB,EAAE1B,mBADvB;AAEE,UAAA,QAAQ,EAAEwB,QAFZ;AAGE,UAAA,YAAY,MAHd;AAIE,UAAA,YAAY,EAAEvB,YAJhB;AAKE,UAAA,kBAAkB,EAAEC,kBALtB;AAME,UAAA,KAAK,EAAEE;AANT;AAJF;AALF;AADF,IADF;AAuBD;;AAEDN,OAAO,CAAC+B,SAAR,GAAoB;AAClB;AACA9B,EAAAA,aAAa,EAAE+B,6BAAS,CAACC,KAAV,CAAgB,EAAhB,CAFG;;AAGlB;AACA/B,EAAAA,mBAAmB,EAAE8B,6BAAS,CAACE,OAAV,CAAkBF,6BAAS,CAACG,IAA5B,CAJH;;AAKlB;AACAhC,EAAAA,YAAY,EAAE6B,6BAAS,CAACI,IANN;AAOlBhC,EAAAA,kBAAkB,EAAE4B,6BAAS,CAACK,MAPZ;AAQlBhC,EAAAA,gBAAgB,EAAE2B,6BAAS,CAACI,IARV;;AASlB;AACA9B,EAAAA,KAAK,EAAE0B,6BAAS,CAACE,OAAV,CACLF,6BAAS,CAACC,KAAV,CAAgB,EAAhB,CADK,CAVW;;AAalB;AACA1B,EAAAA,QAAQ,EAAEyB,6BAAS,CAACC,KAAV,CAAgB,EAAhB,CAdQ;;AAelB;AACAzB,EAAAA,KAAK,EAAEwB,6BAAS,CAACM,KAAV,CAAgB,CAAC,WAAD,EAAc,UAAd,CAAhB;AAhBW,CAApB;AAmBAtC,OAAO,CAACuC,YAAR,GAAuB;AACrBtC,EAAAA,aAAa,EAAE,EADM;AAErBC,EAAAA,mBAAmB,EAAE,EAFA;AAGrBC,EAAAA,YAAY,EAAE,wBAAM,EAHC;AAIrBC,EAAAA,kBAAkB,EAAE,CAJC;AAKrBC,EAAAA,gBAAgB,EAAE,4BAAM,EALH;AAMrBC,EAAAA,KAAK,EAAE,EANc;AAOrBC,EAAAA,QAAQ,EAAE,EAPW;AAQrBC,EAAAA,KAAK,EAAE;AARc,CAAvB;;;;"}
1
+ {"version":3,"file":"Preview.js","sources":["../../../../src/components/Preview/Preview.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport objectHash from 'object-hash';\nimport ReportWrapper from '../ReportWrapper';\nimport StaticScene from './StaticScene';\nimport { PropProvider } from '../../utils/propContext';\nimport { BuilderProvider } from '../../utils/builderContext';\n\nconst Preview = ({\n acceptedItems,\n additionalPageItems,\n itemAccessor,\n lastScrollPosition,\n onAnEventTrigger,\n pages,\n settings,\n theme,\n ...otherProps\n}) => {\n/* eslint-disable no-unused-vars */\n const {\n disableInteraction,\n leftPanelConfig,\n onItemAdd,\n onItemChange,\n onItemMove,\n onItemRemove,\n onItemResize,\n onItemsMove,\n onPageAdd,\n onPageChange,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n onSettingChange,\n useExperimentalFeatures,\n ...hashProps\n } = otherProps;\n /* eslint-enable no-unused-vars */\n\n const hashCode = objectHash(hashProps);\n\n return (\n <BuilderProvider>\n <PropProvider\n acceptedItems={acceptedItems}\n onAnEventTrigger={onAnEventTrigger}\n settings={settings}\n >\n <ReportWrapper\n mode=\"preview\"\n theme={theme}\n >\n <StaticScene\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n isExistsZoom\n itemAccessor={itemAccessor}\n lastScrollPosition={lastScrollPosition}\n mode=\"preview\"\n pages={pages}\n />\n </ReportWrapper>\n </PropProvider>\n </BuilderProvider>\n );\n};\n\nPreview.propTypes = {\n /** Items for to render in the report */\n acceptedItems: PropTypes.shape({}),\n /** Array of React components to render statically on each page (eg. watermark) */\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n onAnEventTrigger: PropTypes.func,\n /** Array of pages with their settings and items */\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n /** General report settings such as layout size and background color */\n settings: PropTypes.shape({}),\n /** Theme */\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n};\n\nPreview.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n itemAccessor: () => {},\n lastScrollPosition: 0,\n onAnEventTrigger: () => {},\n pages: [],\n settings: {},\n theme: 'lightMode',\n};\n\nexport default Preview;\n"],"names":["Preview","acceptedItems","additionalPageItems","itemAccessor","lastScrollPosition","onAnEventTrigger","pages","settings","theme","otherProps","disableInteraction","leftPanelConfig","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onSettingChange","useExperimentalFeatures","hashProps","hashCode","objectHash","_jsx","BuilderProvider","PropProvider","propTypes","PropTypes","shape","arrayOf","node","func","number","oneOf","defaultProps"],"mappings":"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"}
@@ -147,7 +147,7 @@ StaticScene.propTypes = {
147
147
  hideZoom: PropTypes__default['default'].bool,
148
148
  itemAccessor: PropTypes__default['default'].func,
149
149
  lastScrollPosition: PropTypes__default['default'].number,
150
- mode: PropTypes__default['default'].string,
150
+ mode: PropTypes__default['default'].string.isRequired,
151
151
  pages: PropTypes__default['default'].arrayOf(PropTypes__default['default'].shape({})),
152
152
  presentationPage: PropTypes__default['default'].number
153
153
  };
@@ -158,7 +158,6 @@ StaticScene.defaultProps = {
158
158
  hideZoom: false,
159
159
  itemAccessor: function itemAccessor() {},
160
160
  lastScrollPosition: 0,
161
- mode: 'preview',
162
161
  pages: [],
163
162
  presentationPage: 0
164
163
  };
@@ -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 { usePropContext } from '../../utils/propContext';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { slugify } from '../../utils/string';\nimport { usePageTransition } from '../../utils/hooks';\nimport { usePresentationContext } from '../../utils/presentationContext';\nimport ZoomControls from '../Builder/ZoomControls';\n\nconst StaticScene = ({\n additionalPageItems,\n gesture,\n hashCode,\n hideZoom,\n itemAccessor,\n lastScrollPosition,\n mode,\n pages,\n presentationPage,\n}) => {\n const { isFullscreen, showControlsInFullScreen } = usePresentationContext();\n const { acceptedItems, settings } = usePropContext();\n const { setZoom, zoom } = useBuilderContext();\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\n useEffect(() => {\n if (viewPortRef.current) {\n viewPortRef.current.scrollTop = lastScrollPosition;\n }\n }, []); // set last scroll position after changing mode\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 }, []);\n\n useEffect(() => {\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, isFullscreen, mode]);\n\n return (\n <main\n className={classNames.mainWrapper}\n >\n <div\n ref={viewPortRef}\n className={classNames.viewport}\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 style = {\n ...pageContainerStyles,\n backgroundColor: backgroundColor ? backgroundColor : reportBackgroundColor || '#fff',\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 >\n <StaticPageWithZoomPanPinch\n acceptedItems={acceptedItems}\n additionalPageItems={additionalPageItems}\n handleZoom={handleZoom}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\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 <ZoomControls\n pages={pages}\n showZoom={(!isFullscreen || (isFullscreen && showControlsInFullScreen)) && !hideZoom}\n />\n </main>\n );\n};\n\nStaticScene.propTypes = {\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n gesture: PropTypes.func,\n hashCode: PropTypes.string,\n hideZoom: PropTypes.bool,\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n mode: PropTypes.string,\n pages: PropTypes.arrayOf(PropTypes.shape({})),\n presentationPage: PropTypes.number,\n};\n\nStaticScene.defaultProps = {\n additionalPageItems: [],\n gesture: () => {},\n hashCode: '',\n hideZoom: false,\n itemAccessor: () => {},\n lastScrollPosition: 0,\n mode: 'preview',\n pages: [],\n presentationPage: 0,\n};\n\nexport default StaticScene;\n"],"names":["StaticScene","additionalPageItems","gesture","hashCode","hideZoom","itemAccessor","lastScrollPosition","mode","pages","presentationPage","usePresentationContext","isFullscreen","showControlsInFullScreen","usePropContext","acceptedItems","settings","useBuilderContext","setZoom","zoom","viewPortRef","useRef","transformRefs","reportBackgroundColor","reportLayout","reportLayoutHeight","reportLayoutWidth","reportPageTransition","width","parseInt","height","useEffect","current","scrollTop","slice","length","pageContainerStyles","useMemo","transitionStyle","usePageTransition","handleZoom","useCallback","zoomPanPinch","fixedValue","parseFloat","state","scale","toFixed","roundValue","Math","round","i","centerView","_jsxs","classNames","_jsx","map","page","index","backgroundColor","style","cNames","slugify","StaticPageWithZoomPanPinch","items","element","toString","propTypes","PropTypes","arrayOf","node","func","string","bool","number","shape","defaultProps"],"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 { usePropContext } from '../../utils/propContext';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { slugify } from '../../utils/string';\nimport { usePageTransition } from '../../utils/hooks';\nimport { usePresentationContext } from '../../utils/presentationContext';\nimport ZoomControls from '../Builder/ZoomControls';\n\nconst StaticScene = ({\n additionalPageItems,\n gesture,\n hashCode,\n hideZoom,\n itemAccessor,\n lastScrollPosition,\n mode,\n pages,\n presentationPage,\n}) => {\n const { isFullscreen, showControlsInFullScreen } = usePresentationContext();\n const { acceptedItems, settings } = usePropContext();\n const { setZoom, zoom } = useBuilderContext();\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\n useEffect(() => {\n if (viewPortRef.current) {\n viewPortRef.current.scrollTop = lastScrollPosition;\n }\n }, []); // set last scroll position after changing mode\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 }, []);\n\n useEffect(() => {\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, isFullscreen, mode]);\n\n return (\n <main\n className={classNames.mainWrapper}\n >\n <div\n ref={viewPortRef}\n className={classNames.viewport}\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 style = {\n ...pageContainerStyles,\n backgroundColor: backgroundColor ? backgroundColor : reportBackgroundColor || '#fff',\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 >\n <StaticPageWithZoomPanPinch\n acceptedItems={acceptedItems}\n additionalPageItems={additionalPageItems}\n handleZoom={handleZoom}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\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 <ZoomControls\n pages={pages}\n showZoom={(!isFullscreen || (isFullscreen && showControlsInFullScreen)) && !hideZoom}\n />\n </main>\n );\n};\n\nStaticScene.propTypes = {\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n gesture: PropTypes.func,\n hashCode: PropTypes.string,\n hideZoom: PropTypes.bool,\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n mode: PropTypes.string.isRequired,\n pages: PropTypes.arrayOf(PropTypes.shape({})),\n presentationPage: PropTypes.number,\n};\n\nStaticScene.defaultProps = {\n additionalPageItems: [],\n gesture: () => {},\n hashCode: '',\n hideZoom: false,\n itemAccessor: () => {},\n lastScrollPosition: 0,\n pages: [],\n presentationPage: 0,\n};\n\nexport default StaticScene;\n"],"names":["StaticScene","additionalPageItems","gesture","hashCode","hideZoom","itemAccessor","lastScrollPosition","mode","pages","presentationPage","usePresentationContext","isFullscreen","showControlsInFullScreen","usePropContext","acceptedItems","settings","useBuilderContext","setZoom","zoom","viewPortRef","useRef","transformRefs","reportBackgroundColor","reportLayout","reportLayoutHeight","reportLayoutWidth","reportPageTransition","width","parseInt","height","useEffect","current","scrollTop","slice","length","pageContainerStyles","useMemo","transitionStyle","usePageTransition","handleZoom","useCallback","zoomPanPinch","fixedValue","parseFloat","state","scale","toFixed","roundValue","Math","round","i","centerView","_jsxs","classNames","_jsx","map","page","index","backgroundColor","style","cNames","slugify","StaticPageWithZoomPanPinch","items","element","toString","propTypes","PropTypes","arrayOf","node","func","string","bool","number","isRequired","shape","defaultProps"],"mappings":"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"}
@@ -30,7 +30,6 @@ var PrintModeWithoutContext = function PrintModeWithoutContext(_ref) {
30
30
  var additionalPageItems = _ref.additionalPageItems,
31
31
  hashCode = _ref.hashCode,
32
32
  itemAccessor = _ref.itemAccessor,
33
- mode = _ref.mode,
34
33
  pages = _ref.pages,
35
34
  settings = _ref.settings,
36
35
  theme = _ref.theme;
@@ -59,7 +58,7 @@ var PrintModeWithoutContext = function PrintModeWithoutContext(_ref) {
59
58
  hashCode: hashCode,
60
59
  hideZoom: true,
61
60
  itemAccessor: itemAccessor,
62
- mode: mode,
61
+ mode: "print",
63
62
  pages: pages
64
63
  })
65
64
  })]
@@ -70,7 +69,6 @@ PrintModeWithoutContext.propTypes = {
70
69
  additionalPageItems: PropTypes__default['default'].arrayOf(PropTypes__default['default'].node),
71
70
  hashCode: PropTypes__default['default'].string,
72
71
  itemAccessor: PropTypes__default['default'].func,
73
- mode: PropTypes__default['default'].string,
74
72
  pages: PropTypes__default['default'].arrayOf(PropTypes__default['default'].shape({})),
75
73
  settings: PropTypes__default['default'].shape({
76
74
  reportLayout: PropTypes__default['default'].string,
@@ -83,7 +81,6 @@ PrintModeWithoutContext.defaultProps = {
83
81
  additionalPageItems: [],
84
82
  hashCode: '',
85
83
  itemAccessor: function itemAccessor() {},
86
- mode: 'print',
87
84
  pages: [],
88
85
  settings: {},
89
86
  theme: 'lightMode'
@@ -1 +1 @@
1
- {"version":3,"file":"PrintModeWithoutContext.js","sources":["../../../../src/components/Print/PrintModeWithoutContext.js"],"sourcesContent":["import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport ReportWrapper from '../ReportWrapper';\nimport StaticScene from '../Preview/StaticScene';\nimport { pageSize } from '../../utils/print';\n\nconst availableFormats = ['A4', 'A5', 'Custom', 'Web'];\n\nconst PrintModeWithoutContext = ({\n additionalPageItems,\n hashCode,\n itemAccessor,\n mode,\n pages,\n settings,\n theme,\n}) => {\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 <ReportWrapper\n mode=\"print\"\n theme={theme}\n >\n <StaticScene\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n hideZoom={true}\n itemAccessor={itemAccessor}\n mode={mode}\n pages={pages}\n />\n </ReportWrapper>\n </>\n );\n};\n\nPrintModeWithoutContext.propTypes = {\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n hashCode: PropTypes.string,\n itemAccessor: PropTypes.func,\n mode: PropTypes.string,\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n settings: PropTypes.shape({\n reportLayout: PropTypes.string,\n reportLayoutHeight: PropTypes.string,\n reportLayoutWidth: PropTypes.string,\n }),\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n};\n\nPrintModeWithoutContext.defaultProps = {\n additionalPageItems: [],\n hashCode: '',\n itemAccessor: () => {},\n mode: 'print',\n pages: [],\n settings: {},\n theme: 'lightMode',\n};\n\nexport default PrintModeWithoutContext;\n"],"names":["availableFormats","PrintModeWithoutContext","additionalPageItems","hashCode","itemAccessor","mode","pages","settings","theme","useState","manipulatePageSize","setManipulatePageSize","reportLayout","indexOf","split","_jsxs","_jsx","__html","pageSize","propTypes","PropTypes","arrayOf","node","string","func","shape","reportLayoutHeight","reportLayoutWidth","oneOf","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,gBAAgB,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,QAAb,EAAuB,KAAvB,CAAzB;;IAEMC,uBAAuB,GAAG,SAA1BA,uBAA0B,OAQ1B;AAAA,MAPJC,mBAOI,QAPJA,mBAOI;AAAA,MANJC,QAMI,QANJA,QAMI;AAAA,MALJC,YAKI,QALJA,YAKI;AAAA,MAJJC,IAII,QAJJA,IAII;AAAA,MAHJC,KAGI,QAHJA,KAGI;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADJC,KACI,QADJA,KACI;;AACJ,kBAAoDC,cAAQ,CAAC,KAAD,CAA5D;AAAA;AAAA,MAAOC,kBAAP;AAAA,MAA2BC,qBAA3B;;AACA,MAAMC,YAAY,GAAGL,QAAQ,CAACK,YAAT,GAAwBL,QAAQ,CAACK,YAAjC,GAAgD,cAArE;;AACA,MAAIZ,gBAAgB,CAACa,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,CAACX,QAAD,CAFZ;AADiB;AAD3B,MAFJ,eAWES,eAAC,aAAD;AACE,MAAA,IAAI,EAAC,OADP;AAEE,MAAA,KAAK,EAAER,KAFT;AAAA,6BAIEQ,eAAC,WAAD;AACE,QAAA,mBAAmB,EAAEd,mBADvB;AAEE,QAAA,QAAQ,EAAEC,QAFZ;AAGE,QAAA,QAAQ,EAAE,IAHZ;AAIE,QAAA,YAAY,EAAEC,YAJhB;AAKE,QAAA,IAAI,EAAEC,IALR;AAME,QAAA,KAAK,EAAEC;AANT;AAJF,MAXF;AAAA,IADF;AA2BD;;AAEDL,uBAAuB,CAACkB,SAAxB,GAAoC;AAClCjB,EAAAA,mBAAmB,EAAEkB,6BAAS,CAACC,OAAV,CAAkBD,6BAAS,CAACE,IAA5B,CADa;AAElCnB,EAAAA,QAAQ,EAAEiB,6BAAS,CAACG,MAFc;AAGlCnB,EAAAA,YAAY,EAAEgB,6BAAS,CAACI,IAHU;AAIlCnB,EAAAA,IAAI,EAAEe,6BAAS,CAACG,MAJkB;AAKlCjB,EAAAA,KAAK,EAAEc,6BAAS,CAACC,OAAV,CACLD,6BAAS,CAACK,KAAV,CAAgB,EAAhB,CADK,CAL2B;AAQlClB,EAAAA,QAAQ,EAAEa,6BAAS,CAACK,KAAV,CAAgB;AACxBb,IAAAA,YAAY,EAAEQ,6BAAS,CAACG,MADA;AAExBG,IAAAA,kBAAkB,EAAEN,6BAAS,CAACG,MAFN;AAGxBI,IAAAA,iBAAiB,EAAEP,6BAAS,CAACG;AAHL,GAAhB,CARwB;AAalCf,EAAAA,KAAK,EAAEY,6BAAS,CAACQ,KAAV,CAAgB,CAAC,WAAD,EAAc,UAAd,CAAhB;AAb2B,CAApC;AAgBA3B,uBAAuB,CAAC4B,YAAxB,GAAuC;AACrC3B,EAAAA,mBAAmB,EAAE,EADgB;AAErCC,EAAAA,QAAQ,EAAE,EAF2B;AAGrCC,EAAAA,YAAY,EAAE,wBAAM,EAHiB;AAIrCC,EAAAA,IAAI,EAAE,OAJ+B;AAKrCC,EAAAA,KAAK,EAAE,EAL8B;AAMrCC,EAAAA,QAAQ,EAAE,EAN2B;AAOrCC,EAAAA,KAAK,EAAE;AAP8B,CAAvC;;;;"}
1
+ {"version":3,"file":"PrintModeWithoutContext.js","sources":["../../../../src/components/Print/PrintModeWithoutContext.js"],"sourcesContent":["import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport ReportWrapper from '../ReportWrapper';\nimport StaticScene from '../Preview/StaticScene';\nimport { pageSize } from '../../utils/print';\n\nconst availableFormats = ['A4', 'A5', 'Custom', 'Web'];\n\nconst PrintModeWithoutContext = ({\n additionalPageItems,\n hashCode,\n itemAccessor,\n pages,\n settings,\n theme,\n}) => {\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 <ReportWrapper\n mode=\"print\"\n theme={theme}\n >\n <StaticScene\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n hideZoom={true}\n itemAccessor={itemAccessor}\n mode=\"print\"\n pages={pages}\n />\n </ReportWrapper>\n </>\n );\n};\n\nPrintModeWithoutContext.propTypes = {\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n hashCode: PropTypes.string,\n itemAccessor: PropTypes.func,\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n settings: PropTypes.shape({\n reportLayout: PropTypes.string,\n reportLayoutHeight: PropTypes.string,\n reportLayoutWidth: PropTypes.string,\n }),\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n};\n\nPrintModeWithoutContext.defaultProps = {\n additionalPageItems: [],\n hashCode: '',\n itemAccessor: () => {},\n pages: [],\n settings: {},\n theme: 'lightMode',\n};\n\nexport default PrintModeWithoutContext;\n"],"names":["availableFormats","PrintModeWithoutContext","additionalPageItems","hashCode","itemAccessor","pages","settings","theme","useState","manipulatePageSize","setManipulatePageSize","reportLayout","indexOf","split","_jsxs","_jsx","__html","pageSize","propTypes","PropTypes","arrayOf","node","string","func","shape","reportLayoutHeight","reportLayoutWidth","oneOf","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,gBAAgB,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,QAAb,EAAuB,KAAvB,CAAzB;;IAEMC,uBAAuB,GAAG,SAA1BA,uBAA0B,OAO1B;AAAA,MANJC,mBAMI,QANJA,mBAMI;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,YAII,QAJJA,YAII;AAAA,MAHJC,KAGI,QAHJA,KAGI;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADJC,KACI,QADJA,KACI;;AACJ,kBAAoDC,cAAQ,CAAC,KAAD,CAA5D;AAAA;AAAA,MAAOC,kBAAP;AAAA,MAA2BC,qBAA3B;;AACA,MAAMC,YAAY,GAAGL,QAAQ,CAACK,YAAT,GAAwBL,QAAQ,CAACK,YAAjC,GAAgD,cAArE;;AACA,MAAIX,gBAAgB,CAACY,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,CAACX,QAAD,CAFZ;AADiB;AAD3B,MAFJ,eAWES,eAAC,aAAD;AACE,MAAA,IAAI,EAAC,OADP;AAEE,MAAA,KAAK,EAAER,KAFT;AAAA,6BAIEQ,eAAC,WAAD;AACE,QAAA,mBAAmB,EAAEb,mBADvB;AAEE,QAAA,QAAQ,EAAEC,QAFZ;AAGE,QAAA,QAAQ,EAAE,IAHZ;AAIE,QAAA,YAAY,EAAEC,YAJhB;AAKE,QAAA,IAAI,EAAC,OALP;AAME,QAAA,KAAK,EAAEC;AANT;AAJF,MAXF;AAAA,IADF;AA2BD;;AAEDJ,uBAAuB,CAACiB,SAAxB,GAAoC;AAClChB,EAAAA,mBAAmB,EAAEiB,6BAAS,CAACC,OAAV,CAAkBD,6BAAS,CAACE,IAA5B,CADa;AAElClB,EAAAA,QAAQ,EAAEgB,6BAAS,CAACG,MAFc;AAGlClB,EAAAA,YAAY,EAAEe,6BAAS,CAACI,IAHU;AAIlClB,EAAAA,KAAK,EAAEc,6BAAS,CAACC,OAAV,CACLD,6BAAS,CAACK,KAAV,CAAgB,EAAhB,CADK,CAJ2B;AAOlClB,EAAAA,QAAQ,EAAEa,6BAAS,CAACK,KAAV,CAAgB;AACxBb,IAAAA,YAAY,EAAEQ,6BAAS,CAACG,MADA;AAExBG,IAAAA,kBAAkB,EAAEN,6BAAS,CAACG,MAFN;AAGxBI,IAAAA,iBAAiB,EAAEP,6BAAS,CAACG;AAHL,GAAhB,CAPwB;AAYlCf,EAAAA,KAAK,EAAEY,6BAAS,CAACQ,KAAV,CAAgB,CAAC,WAAD,EAAc,UAAd,CAAhB;AAZ2B,CAApC;AAeA1B,uBAAuB,CAAC2B,YAAxB,GAAuC;AACrC1B,EAAAA,mBAAmB,EAAE,EADgB;AAErCC,EAAAA,QAAQ,EAAE,EAF2B;AAGrCC,EAAAA,YAAY,EAAE,wBAAM,EAHiB;AAIrCC,EAAAA,KAAK,EAAE,EAJ8B;AAKrCC,EAAAA,QAAQ,EAAE,EAL2B;AAMrCC,EAAAA,KAAK,EAAE;AAN8B,CAAvC;;;;"}
@@ -24,7 +24,7 @@ var withZoomPanPinchHOC = function withZoomPanPinchHOC(WrappedComponent) {
24
24
  var _usePresentationConte = presentationContext.usePresentationContext(),
25
25
  fittedZoom = _usePresentationConte.fittedZoom;
26
26
 
27
- if (mode === 'print') {
27
+ if (mode !== 'presentation') {
28
28
  return /*#__PURE__*/jsxRuntime.jsx(WrappedComponent, _objectSpread({}, props));
29
29
  }
30
30
 
@@ -1 +1 @@
1
- {"version":3,"file":"withZoomPanPinchHOC.js","sources":["../../../src/components/withZoomPanPinchHOC.js"],"sourcesContent":["import {\n string, func, any, oneOfType, shape,\n} from 'prop-types';\nimport { TransformWrapper, TransformComponent } from 'react-zoom-pan-pinch';\nimport { useBuilderContext } from '../utils/builderContext';\nimport { usePresentationContext } from '../utils/presentationContext';\n\nconst withZoomPanPinchHOC = WrappedComponent => {\n const ZoomPanPinchHOC = props => {\n const { handleZoom, mode, refSetter } = props;\n\n const { zoom } = useBuilderContext();\n const { fittedZoom } = usePresentationContext();\n\n if (mode === 'print') {\n return <WrappedComponent {...props} />;\n }\n\n return (\n <TransformWrapper\n ref={refSetter}\n centerOnInit={true}\n centerZoomedOut={true}\n disablePadding={true}\n doubleClick={{\n step: 0.2,\n }}\n initialScale={zoom}\n maxScale={2}\n minScale={0.5}\n onZoom={handleZoom}\n panning={{\n disabled: zoom <= fittedZoom,\n }}\n pinch={{\n step: 1,\n }}\n >\n <TransformComponent\n wrapperStyle={{ height: '100%', width: '100%' }}\n >\n <WrappedComponent {...props} />\n </TransformComponent>\n </TransformWrapper>\n );\n };\n\n ZoomPanPinchHOC.propTypes = {\n handleZoom: func.isRequired,\n mode: string,\n refSetter: oneOfType([\n func,\n shape({ current: any }),\n ]).isRequired,\n };\n\n ZoomPanPinchHOC.defaultProps = {\n mode: '',\n };\n\n return ZoomPanPinchHOC;\n};\n\nexport default withZoomPanPinchHOC;\n"],"names":["withZoomPanPinchHOC","WrappedComponent","ZoomPanPinchHOC","props","handleZoom","mode","refSetter","useBuilderContext","zoom","usePresentationContext","fittedZoom","_jsx","TransformWrapper","step","disabled","TransformComponent","height","width","propTypes","func","isRequired","string","oneOfType","shape","current","any","defaultProps"],"mappings":";;;;;;;;;;;;;;IAOMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAC,gBAAgB,EAAI;AAC9C,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,KAAK,EAAI;AAC/B,QAAQC,UAAR,GAAwCD,KAAxC,CAAQC,UAAR;AAAA,QAAoBC,IAApB,GAAwCF,KAAxC,CAAoBE,IAApB;AAAA,QAA0BC,SAA1B,GAAwCH,KAAxC,CAA0BG,SAA1B;;AAEA,6BAAiBC,gCAAiB,EAAlC;AAAA,QAAQC,IAAR,sBAAQA,IAAR;;AACA,gCAAuBC,0CAAsB,EAA7C;AAAA,QAAQC,UAAR,yBAAQA,UAAR;;AAEA,QAAIL,IAAI,KAAK,OAAb,EAAsB;AACpB,0BAAOM,eAAC,gBAAD,oBAAsBR,KAAtB,EAAP;AACD;;AAED,wBACEQ,eAACC,kCAAD;AACE,MAAA,GAAG,EAAEN,SADP;AAEE,MAAA,YAAY,EAAE,IAFhB;AAGE,MAAA,eAAe,EAAE,IAHnB;AAIE,MAAA,cAAc,EAAE,IAJlB;AAKE,MAAA,WAAW,EAAE;AACXO,QAAAA,IAAI,EAAE;AADK,OALf;AAQE,MAAA,YAAY,EAAEL,IARhB;AASE,MAAA,QAAQ,EAAE,CATZ;AAUE,MAAA,QAAQ,EAAE,GAVZ;AAWE,MAAA,MAAM,EAAEJ,UAXV;AAYE,MAAA,OAAO,EAAE;AACPU,QAAAA,QAAQ,EAAEN,IAAI,IAAIE;AADX,OAZX;AAeE,MAAA,KAAK,EAAE;AACLG,QAAAA,IAAI,EAAE;AADD,OAfT;AAAA,6BAmBEF,eAACI,oCAAD;AACE,QAAA,YAAY,EAAE;AAAEC,UAAAA,MAAM,EAAE,MAAV;AAAkBC,UAAAA,KAAK,EAAE;AAAzB,SADhB;AAAA,+BAGEN,eAAC,gBAAD,oBAAsBR,KAAtB;AAHF;AAnBF,MADF;AA2BD,GArCD;;AAuCAD,EAAAA,eAAe,CAACgB,SAAhB,GAA4B;AAC1Bd,IAAAA,UAAU,EAAEe,cAAI,CAACC,UADS;AAE1Bf,IAAAA,IAAI,EAAEgB,gBAFoB;AAG1Bf,IAAAA,SAAS,EAAEgB,mBAAS,CAAC,CACnBH,cADmB,EAEnBI,eAAK,CAAC;AAAEC,MAAAA,OAAO,EAAEC;AAAX,KAAD,CAFc,CAAD,CAAT,CAGRL;AANuB,GAA5B;AASAlB,EAAAA,eAAe,CAACwB,YAAhB,GAA+B;AAC7BrB,IAAAA,IAAI,EAAE;AADuB,GAA/B;AAIA,SAAOH,eAAP;AACD;;;;"}
1
+ {"version":3,"file":"withZoomPanPinchHOC.js","sources":["../../../src/components/withZoomPanPinchHOC.js"],"sourcesContent":["import {\n string, func, any, oneOfType, shape,\n} from 'prop-types';\nimport { TransformWrapper, TransformComponent } from 'react-zoom-pan-pinch';\nimport { useBuilderContext } from '../utils/builderContext';\nimport { usePresentationContext } from '../utils/presentationContext';\n\nconst withZoomPanPinchHOC = WrappedComponent => {\n const ZoomPanPinchHOC = props => {\n const { handleZoom, mode, refSetter } = props;\n\n const { zoom } = useBuilderContext();\n const { fittedZoom } = usePresentationContext();\n\n if (mode !== 'presentation') {\n return <WrappedComponent {...props} />;\n }\n\n return (\n <TransformWrapper\n ref={refSetter}\n centerOnInit={true}\n centerZoomedOut={true}\n disablePadding={true}\n doubleClick={{\n step: 0.2,\n }}\n initialScale={zoom}\n maxScale={2}\n minScale={0.5}\n onZoom={handleZoom}\n panning={{\n disabled: zoom <= fittedZoom,\n }}\n pinch={{\n step: 1,\n }}\n >\n <TransformComponent\n wrapperStyle={{ height: '100%', width: '100%' }}\n >\n <WrappedComponent {...props} />\n </TransformComponent>\n </TransformWrapper>\n );\n };\n\n ZoomPanPinchHOC.propTypes = {\n handleZoom: func.isRequired,\n mode: string,\n refSetter: oneOfType([\n func,\n shape({ current: any }),\n ]).isRequired,\n };\n\n ZoomPanPinchHOC.defaultProps = {\n mode: '',\n };\n\n return ZoomPanPinchHOC;\n};\n\nexport default withZoomPanPinchHOC;\n"],"names":["withZoomPanPinchHOC","WrappedComponent","ZoomPanPinchHOC","props","handleZoom","mode","refSetter","useBuilderContext","zoom","usePresentationContext","fittedZoom","_jsx","TransformWrapper","step","disabled","TransformComponent","height","width","propTypes","func","isRequired","string","oneOfType","shape","current","any","defaultProps"],"mappings":";;;;;;;;;;;;;;IAOMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAC,gBAAgB,EAAI;AAC9C,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,KAAK,EAAI;AAC/B,QAAQC,UAAR,GAAwCD,KAAxC,CAAQC,UAAR;AAAA,QAAoBC,IAApB,GAAwCF,KAAxC,CAAoBE,IAApB;AAAA,QAA0BC,SAA1B,GAAwCH,KAAxC,CAA0BG,SAA1B;;AAEA,6BAAiBC,gCAAiB,EAAlC;AAAA,QAAQC,IAAR,sBAAQA,IAAR;;AACA,gCAAuBC,0CAAsB,EAA7C;AAAA,QAAQC,UAAR,yBAAQA,UAAR;;AAEA,QAAIL,IAAI,KAAK,cAAb,EAA6B;AAC3B,0BAAOM,eAAC,gBAAD,oBAAsBR,KAAtB,EAAP;AACD;;AAED,wBACEQ,eAACC,kCAAD;AACE,MAAA,GAAG,EAAEN,SADP;AAEE,MAAA,YAAY,EAAE,IAFhB;AAGE,MAAA,eAAe,EAAE,IAHnB;AAIE,MAAA,cAAc,EAAE,IAJlB;AAKE,MAAA,WAAW,EAAE;AACXO,QAAAA,IAAI,EAAE;AADK,OALf;AAQE,MAAA,YAAY,EAAEL,IARhB;AASE,MAAA,QAAQ,EAAE,CATZ;AAUE,MAAA,QAAQ,EAAE,GAVZ;AAWE,MAAA,MAAM,EAAEJ,UAXV;AAYE,MAAA,OAAO,EAAE;AACPU,QAAAA,QAAQ,EAAEN,IAAI,IAAIE;AADX,OAZX;AAeE,MAAA,KAAK,EAAE;AACLG,QAAAA,IAAI,EAAE;AADD,OAfT;AAAA,6BAmBEF,eAACI,oCAAD;AACE,QAAA,YAAY,EAAE;AAAEC,UAAAA,MAAM,EAAE,MAAV;AAAkBC,UAAAA,KAAK,EAAE;AAAzB,SADhB;AAAA,+BAGEN,eAAC,gBAAD,oBAAsBR,KAAtB;AAHF;AAnBF,MADF;AA2BD,GArCD;;AAuCAD,EAAAA,eAAe,CAACgB,SAAhB,GAA4B;AAC1Bd,IAAAA,UAAU,EAAEe,cAAI,CAACC,UADS;AAE1Bf,IAAAA,IAAI,EAAEgB,gBAFoB;AAG1Bf,IAAAA,SAAS,EAAEgB,mBAAS,CAAC,CACnBH,cADmB,EAEnBI,eAAK,CAAC;AAAEC,MAAAA,OAAO,EAAEC;AAAX,KAAD,CAFc,CAAD,CAAT,CAGRL;AANuB,GAA5B;AASAlB,EAAAA,eAAe,CAACwB,YAAhB,GAA+B;AAC7BrB,IAAAA,IAAI,EAAE;AADuB,GAA/B;AAIA,SAAOH,eAAP;AACD;;;;"}
@@ -55,6 +55,7 @@ var Presentation = function Presentation(_ref) {
55
55
  hashCode: hashCode,
56
56
  hideZoom: true,
57
57
  itemAccessor: itemAccessor,
58
+ mode: "presentation",
58
59
  pages: pages,
59
60
  presentationPage: presentationPage
60
61
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Presentation.js","sources":["../../../../src/components/Presentation/Presentation.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport objectHash from 'object-hash';\nimport { PresentationProvider } from '../../utils/presentationContext';\nimport { BuilderProvider } from '../../utils/builderContext';\nimport { PropProvider } from '../../utils/propContext';\nimport StaticScene from '../Preview/StaticScene';\nimport ReportWrapper from '../ReportWrapper';\nimport PresentationWrapper from './PresentationWrapper';\n\nimport '../../styles/jfReportsBundle.scss';\nimport Print from '../Print';\n\nconst Presentation = ({\n acceptedItems,\n additionalPageItems,\n itemAccessor,\n onAnEventTrigger,\n pages,\n presentationBarActions,\n settings,\n theme,\n useFixedPresentationBar,\n ...otherProps\n}) => {\n const hashCode = objectHash(otherProps);\n\n return (\n <PresentationProvider\n pageCount={pages.length}\n >\n <PropProvider\n acceptedItems={acceptedItems}\n onAnEventTrigger={onAnEventTrigger}\n settings={settings}\n >\n <BuilderProvider>\n <ReportWrapper\n mode=\"presentation\"\n theme={theme}\n >\n <PresentationWrapper\n presentationBarActions={presentationBarActions}\n useFixedPresentationBar={useFixedPresentationBar}\n >\n {(presentationPage, gesture) => (\n <StaticScene\n additionalPageItems={additionalPageItems}\n gesture={gesture}\n hashCode={hashCode}\n hideZoom={true}\n itemAccessor={itemAccessor}\n pages={pages}\n presentationPage={presentationPage}\n />\n )}\n </PresentationWrapper>\n <Print\n additionalPageItems={additionalPageItems}\n itemAccessor={itemAccessor}\n pages={pages}\n settings={settings}\n {...otherProps}\n />\n </ReportWrapper>\n </BuilderProvider>\n </PropProvider>\n </PresentationProvider>\n );\n};\n\nPresentation.propTypes = {\n /** Items for to render in the report */\n acceptedItems: PropTypes.shape({}),\n /** Array of React components to render statically on each page (eg. watermark) */\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n onAnEventTrigger: PropTypes.func,\n /** Array of pages with their settings and items */\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n /** To pass in action definitions that will be rendered as buttons */\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n /** General report settings such as layout size and background color */\n settings: PropTypes.shape({}),\n /** Theme */\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n /** Flag for fixed action bar */\n useFixedPresentationBar: PropTypes.bool,\n};\n\nPresentation.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n itemAccessor: () => {},\n onAnEventTrigger: () => {},\n pages: [],\n presentationBarActions: [],\n settings: {},\n theme: 'lightMode',\n useFixedPresentationBar: false,\n};\n\nexport default Presentation;\n"],"names":["Presentation","acceptedItems","additionalPageItems","itemAccessor","onAnEventTrigger","pages","presentationBarActions","settings","theme","useFixedPresentationBar","otherProps","hashCode","objectHash","_jsx","length","_jsxs","presentationPage","gesture","propTypes","PropTypes","shape","arrayOf","node","func","oneOf","bool","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Presentation.js","sources":["../../../../src/components/Presentation/Presentation.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport objectHash from 'object-hash';\nimport { PresentationProvider } from '../../utils/presentationContext';\nimport { BuilderProvider } from '../../utils/builderContext';\nimport { PropProvider } from '../../utils/propContext';\nimport StaticScene from '../Preview/StaticScene';\nimport ReportWrapper from '../ReportWrapper';\nimport PresentationWrapper from './PresentationWrapper';\n\nimport '../../styles/jfReportsBundle.scss';\nimport Print from '../Print';\n\nconst Presentation = ({\n acceptedItems,\n additionalPageItems,\n itemAccessor,\n onAnEventTrigger,\n pages,\n presentationBarActions,\n settings,\n theme,\n useFixedPresentationBar,\n ...otherProps\n}) => {\n const hashCode = objectHash(otherProps);\n\n return (\n <PresentationProvider\n pageCount={pages.length}\n >\n <PropProvider\n acceptedItems={acceptedItems}\n onAnEventTrigger={onAnEventTrigger}\n settings={settings}\n >\n <BuilderProvider>\n <ReportWrapper\n mode=\"presentation\"\n theme={theme}\n >\n <PresentationWrapper\n presentationBarActions={presentationBarActions}\n useFixedPresentationBar={useFixedPresentationBar}\n >\n {(presentationPage, gesture) => (\n <StaticScene\n additionalPageItems={additionalPageItems}\n gesture={gesture}\n hashCode={hashCode}\n hideZoom={true}\n itemAccessor={itemAccessor}\n mode=\"presentation\"\n pages={pages}\n presentationPage={presentationPage}\n />\n )}\n </PresentationWrapper>\n <Print\n additionalPageItems={additionalPageItems}\n itemAccessor={itemAccessor}\n pages={pages}\n settings={settings}\n {...otherProps}\n />\n </ReportWrapper>\n </BuilderProvider>\n </PropProvider>\n </PresentationProvider>\n );\n};\n\nPresentation.propTypes = {\n /** Items for to render in the report */\n acceptedItems: PropTypes.shape({}),\n /** Array of React components to render statically on each page (eg. watermark) */\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n onAnEventTrigger: PropTypes.func,\n /** Array of pages with their settings and items */\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n /** To pass in action definitions that will be rendered as buttons */\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n /** General report settings such as layout size and background color */\n settings: PropTypes.shape({}),\n /** Theme */\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n /** Flag for fixed action bar */\n useFixedPresentationBar: PropTypes.bool,\n};\n\nPresentation.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n itemAccessor: () => {},\n onAnEventTrigger: () => {},\n pages: [],\n presentationBarActions: [],\n settings: {},\n theme: 'lightMode',\n useFixedPresentationBar: false,\n};\n\nexport default Presentation;\n"],"names":["Presentation","acceptedItems","additionalPageItems","itemAccessor","onAnEventTrigger","pages","presentationBarActions","settings","theme","useFixedPresentationBar","otherProps","hashCode","objectHash","_jsx","length","_jsxs","presentationPage","gesture","propTypes","PropTypes","shape","arrayOf","node","func","oneOf","bool","defaultProps"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { useCallback, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import Modal from 'react-modal';
4
4
  import classNames from 'classnames';
5
- import { useGesture } from 'react-use-gesture';
5
+ import { useDrag } from '@use-gesture/react';
6
6
  import PresentationBar from './PresentationBar/PresentationBar.js';
7
7
  import ProgressBar from './ProgressBar.js';
8
8
  import { useBuilderContext } from '../../utils/builderContext.js';
@@ -112,32 +112,21 @@ var PresentationWrapper = function PresentationWrapper(_ref) {
112
112
  return e.preventDefault();
113
113
  });
114
114
  useFullscreenChange(isFullscreen, setIsFullscreen, fitToScreen);
115
- var gesture = useGesture({
116
- onDragEnd: function onDragEnd(_ref2) {
117
- var axis = _ref2.axis,
118
- _ref2$direction = _slicedToArray(_ref2.direction, 1),
119
- v = _ref2$direction[0],
120
- distance = _ref2.distance,
121
- event = _ref2.event;
122
-
123
- event.preventDefault();
124
-
125
- if (fittedZoom === zoom) {
126
- var clientWidth = event.target.clientWidth;
127
-
128
- if (axis === 'x' && window.innerWidth / 4 < distance && clientWidth * zoom < window.innerWidth) {
129
- return v < 0 ? pageChanger(1)() : pageChanger(-1)();
130
- }
115
+ var gesture = useDrag(function (_ref2) {
116
+ var active = _ref2.active,
117
+ _ref2$movement = _slicedToArray(_ref2.movement, 1),
118
+ mx = _ref2$movement[0],
119
+ _ref2$direction = _slicedToArray(_ref2.direction, 1),
120
+ xDir = _ref2$direction[0],
121
+ cancel = _ref2.cancel;
122
+
123
+ if (fittedZoom === zoom) {
124
+ if (active && Math.abs(mx) > window.innerWidth / 2) {
125
+ var direction = xDir < 0 ? 1 : -1;
126
+ cancel();
127
+ pageChanger(direction)();
131
128
  }
132
- } // onPinchEnd: ({ movement: [d] }) => {
133
- // const zoomStep = Number(parseFloat(d / 1000).toFixed(1));
134
- // const newZoomValue = Number(((Math.round((zoom + zoomStep) * 10)) / 10).toFixed(2));
135
- // if (zoom !== newZoomValue && newZoomValue <= ZOOM_MAX) {
136
- // const minZoom = Math.min(fittedZoom, ZOOM_MIN);
137
- // setZoom(Math.max(newZoomValue, minZoom));
138
- // }
139
- // },
140
-
129
+ }
141
130
  });
142
131
  return /*#__PURE__*/jsx(Fragment, {
143
132
  children: /*#__PURE__*/jsxs(Modal, {
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationWrapper.js","sources":["../../../../src/components/Presentation/PresentationWrapper.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from 'react-modal';\nimport classNames from 'classnames';\nimport { useGesture } from 'react-use-gesture';\nimport PresentationBar from './PresentationBar';\nimport ProgressBar from './ProgressBar';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { useEventListener, useFullscreenChange } from '../../utils/hooks';\nimport {\n changePage,\n throttle,\n zoomHandler,\n} from '../../utils/functions';\nimport { usePresentationContext } from '../../utils/presentationContext';\nimport { usePropContext } from '../../utils/propContext';\n// import { ZOOM_MIN, ZOOM_MAX } from '../../constants/zoom';\n\nconst PresentationWrapper = ({\n children,\n presentationBarActions,\n useFixedPresentationBar,\n}) => {\n const { onAnEventTrigger, settings } = usePropContext();\n const {\n currentPage,\n fittedZoom,\n isFullscreen,\n pageCount,\n setCurrentPage,\n setFittedZoom,\n setIsFullscreen,\n setShowControlsInFullScreen,\n showControlsInFullScreen,\n } = usePresentationContext();\n\n const { setZoom, zoom } = useBuilderContext();\n\n const fitToScreen = useCallback((delay = 0) => setTimeout(() => {\n const newZoom = zoomHandler({\n handler: setZoom,\n isFullscreen,\n isModeCustomize: false,\n limitZoom: false,\n settings,\n useFixedPresentationBar,\n useProgressBar: pageCount > 2,\n });\n setFittedZoom(newZoom);\n }, delay), [settings, isFullscreen, useFixedPresentationBar, pageCount]);\n\n useEffect(() => { fitToScreen(100); }, [isFullscreen]);\n\n useEffect(() => {\n if (isFullscreen) {\n setShowControlsInFullScreen(true);\n setTimeout(() => setShowControlsInFullScreen(false), 1500);\n }\n }, [isFullscreen]);\n\n const pageChanger = action => changePage({\n action,\n currentPage,\n pageCount,\n setCurrentPage,\n });\n\n const handleKeyboardEvent = useCallback(e => {\n if (e.keyCode === 39) {\n pageChanger(1)();\n } else if (e.keyCode === 37) {\n pageChanger(-1)();\n }\n });\n\n const setControlVisibility = e => {\n // TODO :: timeout in n out for better ux\n if (!isFullscreen) return;\n if (showControlsInFullScreen && window.innerHeight - e.clientY >= 200) {\n setShowControlsInFullScreen(false);\n } else if (!showControlsInFullScreen && window.innerHeight - e.clientY < 200) {\n setShowControlsInFullScreen(true);\n }\n };\n\n useEventListener('keydown', handleKeyboardEvent);\n useEventListener('mousemove', throttle(setControlVisibility, 150));\n useEventListener('gesturestart', e => e.preventDefault());\n useEventListener('gesturechange', e => e.preventDefault());\n useFullscreenChange(isFullscreen, setIsFullscreen, fitToScreen);\n\n const gesture = useGesture({\n onDragEnd: ({\n axis, direction: [v], distance, event,\n }) => {\n event.preventDefault();\n if (fittedZoom === zoom) {\n const { clientWidth } = event.target;\n if (axis === 'x'\n && window.innerWidth / 4 < distance\n && clientWidth * zoom < window.innerWidth) {\n return v < 0 ? pageChanger(1)() : pageChanger(-1)();\n }\n }\n },\n // onPinchEnd: ({ movement: [d] }) => {\n // const zoomStep = Number(parseFloat(d / 1000).toFixed(1));\n // const newZoomValue = Number(((Math.round((zoom + zoomStep) * 10)) / 10).toFixed(2));\n // if (zoom !== newZoomValue && newZoomValue <= ZOOM_MAX) {\n // const minZoom = Math.min(fittedZoom, ZOOM_MIN);\n // setZoom(Math.max(newZoomValue, minZoom));\n // }\n // },\n });\n\n return (\n <>\n <Modal\n appElement={document.getElementById('root')}\n className={classNames('jfPresentation jfFields', { black: isFullscreen })}\n closeTimeoutMS={300}\n contentLabel=\"Report Presentation\"\n id=\"presentationModal\"\n isOpen={true}\n overlayClassName={classNames(\n 'jfPresentation-overlay',\n { fixedPresentationBar: useFixedPresentationBar, isFullscreen },\n )}\n portalClassName=\"PresentationModal\"\n shouldCloseOnEsc={false}\n shouldFocusAfterRender={false}\n >\n {children(currentPage - 1, gesture)}\n <PresentationBar\n currentPage={currentPage}\n fittedZoom={fittedZoom}\n fitToScreen={fitToScreen}\n isFullscreen={isFullscreen}\n isVisible={(!isFullscreen || (isFullscreen && showControlsInFullScreen))}\n onAnEventTrigger={onAnEventTrigger}\n pageCount={pageCount}\n presentationBarActions={presentationBarActions}\n setCurrentPage={setCurrentPage}\n setIsFullscreen={setIsFullscreen}\n settings={settings}\n setZoom={setZoom}\n zoom={zoom}\n />\n <ProgressBar\n currentPage={currentPage}\n pageCount={pageCount}\n />\n </Modal>\n </>\n );\n};\n\nPresentationWrapper.propTypes = {\n children: PropTypes.any,\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n useFixedPresentationBar: PropTypes.bool,\n};\n\nPresentationWrapper.defaultProps = {\n children: () => {},\n presentationBarActions: [],\n useFixedPresentationBar: false,\n};\n\nexport default PresentationWrapper;\n"],"names":["PresentationWrapper","children","presentationBarActions","useFixedPresentationBar","usePropContext","onAnEventTrigger","settings","usePresentationContext","currentPage","fittedZoom","isFullscreen","pageCount","setCurrentPage","setFittedZoom","setIsFullscreen","setShowControlsInFullScreen","showControlsInFullScreen","useBuilderContext","setZoom","zoom","fitToScreen","useCallback","delay","setTimeout","newZoom","zoomHandler","handler","isModeCustomize","limitZoom","useProgressBar","useEffect","pageChanger","action","changePage","handleKeyboardEvent","e","keyCode","setControlVisibility","window","innerHeight","clientY","useEventListener","throttle","preventDefault","useFullscreenChange","gesture","useGesture","onDragEnd","axis","direction","v","distance","event","clientWidth","target","innerWidth","_jsx","_jsxs","document","getElementById","classNames","black","fixedPresentationBar","propTypes","PropTypes","any","arrayOf","shape","bool","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"PresentationWrapper.js","sources":["../../../../src/components/Presentation/PresentationWrapper.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from 'react-modal';\nimport classNames from 'classnames';\nimport { useDrag } from '@use-gesture/react';\nimport PresentationBar from './PresentationBar';\nimport ProgressBar from './ProgressBar';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { useEventListener, useFullscreenChange } from '../../utils/hooks';\nimport {\n changePage,\n throttle,\n zoomHandler,\n} from '../../utils/functions';\nimport { usePresentationContext } from '../../utils/presentationContext';\nimport { usePropContext } from '../../utils/propContext';\n// import { ZOOM_MIN, ZOOM_MAX } from '../../constants/zoom';\n\nconst PresentationWrapper = ({\n children,\n presentationBarActions,\n useFixedPresentationBar,\n}) => {\n const { onAnEventTrigger, settings } = usePropContext();\n const {\n currentPage,\n fittedZoom,\n isFullscreen,\n pageCount,\n setCurrentPage,\n setFittedZoom,\n setIsFullscreen,\n setShowControlsInFullScreen,\n showControlsInFullScreen,\n } = usePresentationContext();\n\n const { setZoom, zoom } = useBuilderContext();\n\n const fitToScreen = useCallback((delay = 0) => setTimeout(() => {\n const newZoom = zoomHandler({\n handler: setZoom,\n isFullscreen,\n isModeCustomize: false,\n limitZoom: false,\n settings,\n useFixedPresentationBar,\n useProgressBar: pageCount > 2,\n });\n setFittedZoom(newZoom);\n }, delay), [settings, isFullscreen, useFixedPresentationBar, pageCount]);\n\n useEffect(() => { fitToScreen(100); }, [isFullscreen]);\n\n useEffect(() => {\n if (isFullscreen) {\n setShowControlsInFullScreen(true);\n setTimeout(() => setShowControlsInFullScreen(false), 1500);\n }\n }, [isFullscreen]);\n\n const pageChanger = action => changePage({\n action,\n currentPage,\n pageCount,\n setCurrentPage,\n });\n\n const handleKeyboardEvent = useCallback(e => {\n if (e.keyCode === 39) {\n pageChanger(1)();\n } else if (e.keyCode === 37) {\n pageChanger(-1)();\n }\n });\n\n const setControlVisibility = e => {\n // TODO :: timeout in n out for better ux\n if (!isFullscreen) return;\n if (showControlsInFullScreen && window.innerHeight - e.clientY >= 200) {\n setShowControlsInFullScreen(false);\n } else if (!showControlsInFullScreen && window.innerHeight - e.clientY < 200) {\n setShowControlsInFullScreen(true);\n }\n };\n\n useEventListener('keydown', handleKeyboardEvent);\n useEventListener('mousemove', throttle(setControlVisibility, 150));\n useEventListener('gesturestart', e => e.preventDefault());\n useEventListener('gesturechange', e => e.preventDefault());\n useFullscreenChange(isFullscreen, setIsFullscreen, fitToScreen);\n\n const gesture = useDrag(({\n active, movement: [mx], direction: [xDir], cancel,\n }) => {\n if (fittedZoom === zoom) {\n if (active && Math.abs(mx) > window.innerWidth / 2) {\n const direction = xDir < 0 ? 1 : -1;\n cancel();\n pageChanger(direction)();\n }\n }\n });\n\n return (\n <>\n <Modal\n appElement={document.getElementById('root')}\n className={classNames('jfPresentation jfFields', { black: isFullscreen })}\n closeTimeoutMS={300}\n contentLabel=\"Report Presentation\"\n id=\"presentationModal\"\n isOpen={true}\n overlayClassName={classNames(\n 'jfPresentation-overlay',\n { fixedPresentationBar: useFixedPresentationBar, isFullscreen },\n )}\n portalClassName=\"PresentationModal\"\n shouldCloseOnEsc={false}\n shouldFocusAfterRender={false}\n >\n {children(currentPage - 1, gesture)}\n <PresentationBar\n currentPage={currentPage}\n fittedZoom={fittedZoom}\n fitToScreen={fitToScreen}\n isFullscreen={isFullscreen}\n isVisible={(!isFullscreen || (isFullscreen && showControlsInFullScreen))}\n onAnEventTrigger={onAnEventTrigger}\n pageCount={pageCount}\n presentationBarActions={presentationBarActions}\n setCurrentPage={setCurrentPage}\n setIsFullscreen={setIsFullscreen}\n settings={settings}\n setZoom={setZoom}\n zoom={zoom}\n />\n <ProgressBar\n currentPage={currentPage}\n pageCount={pageCount}\n />\n </Modal>\n </>\n );\n};\n\nPresentationWrapper.propTypes = {\n children: PropTypes.any,\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n useFixedPresentationBar: PropTypes.bool,\n};\n\nPresentationWrapper.defaultProps = {\n children: () => {},\n presentationBarActions: [],\n useFixedPresentationBar: false,\n};\n\nexport default PresentationWrapper;\n"],"names":["PresentationWrapper","children","presentationBarActions","useFixedPresentationBar","usePropContext","onAnEventTrigger","settings","usePresentationContext","currentPage","fittedZoom","isFullscreen","pageCount","setCurrentPage","setFittedZoom","setIsFullscreen","setShowControlsInFullScreen","showControlsInFullScreen","useBuilderContext","setZoom","zoom","fitToScreen","useCallback","delay","setTimeout","newZoom","zoomHandler","handler","isModeCustomize","limitZoom","useProgressBar","useEffect","pageChanger","action","changePage","handleKeyboardEvent","e","keyCode","setControlVisibility","window","innerHeight","clientY","useEventListener","throttle","preventDefault","useFullscreenChange","gesture","useDrag","active","movement","mx","direction","xDir","cancel","Math","abs","innerWidth","_jsx","_jsxs","document","getElementById","classNames","black","fixedPresentationBar","propTypes","PropTypes","any","arrayOf","shape","bool","defaultProps"],"mappings":"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"}
@@ -59,6 +59,7 @@ var Preview = function Preview(_ref) {
59
59
  isExistsZoom: true,
60
60
  itemAccessor: itemAccessor,
61
61
  lastScrollPosition: lastScrollPosition,
62
+ mode: "preview",
62
63
  pages: pages
63
64
  })
64
65
  })
@@ -1 +1 @@
1
- {"version":3,"file":"Preview.js","sources":["../../../../src/components/Preview/Preview.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport objectHash from 'object-hash';\nimport ReportWrapper from '../ReportWrapper';\nimport StaticScene from './StaticScene';\nimport { PropProvider } from '../../utils/propContext';\nimport { BuilderProvider } from '../../utils/builderContext';\n\nconst Preview = ({\n acceptedItems,\n additionalPageItems,\n itemAccessor,\n lastScrollPosition,\n onAnEventTrigger,\n pages,\n settings,\n theme,\n ...otherProps\n}) => {\n/* eslint-disable no-unused-vars */\n const {\n disableInteraction,\n leftPanelConfig,\n onItemAdd,\n onItemChange,\n onItemMove,\n onItemRemove,\n onItemResize,\n onItemsMove,\n onPageAdd,\n onPageChange,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n onSettingChange,\n useExperimentalFeatures,\n ...hashProps\n } = otherProps;\n /* eslint-enable no-unused-vars */\n\n const hashCode = objectHash(hashProps);\n\n return (\n <BuilderProvider>\n <PropProvider\n acceptedItems={acceptedItems}\n onAnEventTrigger={onAnEventTrigger}\n settings={settings}\n >\n <ReportWrapper\n mode=\"preview\"\n theme={theme}\n >\n <StaticScene\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n isExistsZoom\n itemAccessor={itemAccessor}\n lastScrollPosition={lastScrollPosition}\n pages={pages}\n />\n </ReportWrapper>\n </PropProvider>\n </BuilderProvider>\n );\n};\n\nPreview.propTypes = {\n /** Items for to render in the report */\n acceptedItems: PropTypes.shape({}),\n /** Array of React components to render statically on each page (eg. watermark) */\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n onAnEventTrigger: PropTypes.func,\n /** Array of pages with their settings and items */\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n /** General report settings such as layout size and background color */\n settings: PropTypes.shape({}),\n /** Theme */\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n};\n\nPreview.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n itemAccessor: () => {},\n lastScrollPosition: 0,\n onAnEventTrigger: () => {},\n pages: [],\n settings: {},\n theme: 'lightMode',\n};\n\nexport default Preview;\n"],"names":["Preview","acceptedItems","additionalPageItems","itemAccessor","lastScrollPosition","onAnEventTrigger","pages","settings","theme","otherProps","disableInteraction","leftPanelConfig","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onSettingChange","useExperimentalFeatures","hashProps","hashCode","objectHash","_jsx","propTypes","PropTypes","shape","arrayOf","node","func","number","oneOf","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Preview.js","sources":["../../../../src/components/Preview/Preview.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport objectHash from 'object-hash';\nimport ReportWrapper from '../ReportWrapper';\nimport StaticScene from './StaticScene';\nimport { PropProvider } from '../../utils/propContext';\nimport { BuilderProvider } from '../../utils/builderContext';\n\nconst Preview = ({\n acceptedItems,\n additionalPageItems,\n itemAccessor,\n lastScrollPosition,\n onAnEventTrigger,\n pages,\n settings,\n theme,\n ...otherProps\n}) => {\n/* eslint-disable no-unused-vars */\n const {\n disableInteraction,\n leftPanelConfig,\n onItemAdd,\n onItemChange,\n onItemMove,\n onItemRemove,\n onItemResize,\n onItemsMove,\n onPageAdd,\n onPageChange,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n onSettingChange,\n useExperimentalFeatures,\n ...hashProps\n } = otherProps;\n /* eslint-enable no-unused-vars */\n\n const hashCode = objectHash(hashProps);\n\n return (\n <BuilderProvider>\n <PropProvider\n acceptedItems={acceptedItems}\n onAnEventTrigger={onAnEventTrigger}\n settings={settings}\n >\n <ReportWrapper\n mode=\"preview\"\n theme={theme}\n >\n <StaticScene\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n isExistsZoom\n itemAccessor={itemAccessor}\n lastScrollPosition={lastScrollPosition}\n mode=\"preview\"\n pages={pages}\n />\n </ReportWrapper>\n </PropProvider>\n </BuilderProvider>\n );\n};\n\nPreview.propTypes = {\n /** Items for to render in the report */\n acceptedItems: PropTypes.shape({}),\n /** Array of React components to render statically on each page (eg. watermark) */\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n onAnEventTrigger: PropTypes.func,\n /** Array of pages with their settings and items */\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n /** General report settings such as layout size and background color */\n settings: PropTypes.shape({}),\n /** Theme */\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n};\n\nPreview.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n itemAccessor: () => {},\n lastScrollPosition: 0,\n onAnEventTrigger: () => {},\n pages: [],\n settings: {},\n theme: 'lightMode',\n};\n\nexport default Preview;\n"],"names":["Preview","acceptedItems","additionalPageItems","itemAccessor","lastScrollPosition","onAnEventTrigger","pages","settings","theme","otherProps","disableInteraction","leftPanelConfig","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onSettingChange","useExperimentalFeatures","hashProps","hashCode","objectHash","_jsx","propTypes","PropTypes","shape","arrayOf","node","func","number","oneOf","defaultProps"],"mappings":"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"}
@@ -140,7 +140,7 @@ StaticScene.propTypes = {
140
140
  hideZoom: PropTypes.bool,
141
141
  itemAccessor: PropTypes.func,
142
142
  lastScrollPosition: PropTypes.number,
143
- mode: PropTypes.string,
143
+ mode: PropTypes.string.isRequired,
144
144
  pages: PropTypes.arrayOf(PropTypes.shape({})),
145
145
  presentationPage: PropTypes.number
146
146
  };
@@ -151,7 +151,6 @@ StaticScene.defaultProps = {
151
151
  hideZoom: false,
152
152
  itemAccessor: function itemAccessor() {},
153
153
  lastScrollPosition: 0,
154
- mode: 'preview',
155
154
  pages: [],
156
155
  presentationPage: 0
157
156
  };
@@ -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 { usePropContext } from '../../utils/propContext';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { slugify } from '../../utils/string';\nimport { usePageTransition } from '../../utils/hooks';\nimport { usePresentationContext } from '../../utils/presentationContext';\nimport ZoomControls from '../Builder/ZoomControls';\n\nconst StaticScene = ({\n additionalPageItems,\n gesture,\n hashCode,\n hideZoom,\n itemAccessor,\n lastScrollPosition,\n mode,\n pages,\n presentationPage,\n}) => {\n const { isFullscreen, showControlsInFullScreen } = usePresentationContext();\n const { acceptedItems, settings } = usePropContext();\n const { setZoom, zoom } = useBuilderContext();\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\n useEffect(() => {\n if (viewPortRef.current) {\n viewPortRef.current.scrollTop = lastScrollPosition;\n }\n }, []); // set last scroll position after changing mode\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 }, []);\n\n useEffect(() => {\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, isFullscreen, mode]);\n\n return (\n <main\n className={classNames.mainWrapper}\n >\n <div\n ref={viewPortRef}\n className={classNames.viewport}\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 style = {\n ...pageContainerStyles,\n backgroundColor: backgroundColor ? backgroundColor : reportBackgroundColor || '#fff',\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 >\n <StaticPageWithZoomPanPinch\n acceptedItems={acceptedItems}\n additionalPageItems={additionalPageItems}\n handleZoom={handleZoom}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\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 <ZoomControls\n pages={pages}\n showZoom={(!isFullscreen || (isFullscreen && showControlsInFullScreen)) && !hideZoom}\n />\n </main>\n );\n};\n\nStaticScene.propTypes = {\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n gesture: PropTypes.func,\n hashCode: PropTypes.string,\n hideZoom: PropTypes.bool,\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n mode: PropTypes.string,\n pages: PropTypes.arrayOf(PropTypes.shape({})),\n presentationPage: PropTypes.number,\n};\n\nStaticScene.defaultProps = {\n additionalPageItems: [],\n gesture: () => {},\n hashCode: '',\n hideZoom: false,\n itemAccessor: () => {},\n lastScrollPosition: 0,\n mode: 'preview',\n pages: [],\n presentationPage: 0,\n};\n\nexport default StaticScene;\n"],"names":["StaticScene","additionalPageItems","gesture","hashCode","hideZoom","itemAccessor","lastScrollPosition","mode","pages","presentationPage","usePresentationContext","isFullscreen","showControlsInFullScreen","usePropContext","acceptedItems","settings","useBuilderContext","setZoom","zoom","viewPortRef","useRef","transformRefs","reportBackgroundColor","reportLayout","reportLayoutHeight","reportLayoutWidth","reportPageTransition","width","parseInt","height","useEffect","current","scrollTop","slice","length","pageContainerStyles","useMemo","transitionStyle","usePageTransition","handleZoom","useCallback","zoomPanPinch","fixedValue","parseFloat","state","scale","toFixed","roundValue","Math","round","i","centerView","_jsxs","classNames","_jsx","map","page","index","backgroundColor","style","cNames","slugify","items","element","toString","propTypes","PropTypes","arrayOf","node","func","string","bool","number","shape","defaultProps"],"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 { usePropContext } from '../../utils/propContext';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { slugify } from '../../utils/string';\nimport { usePageTransition } from '../../utils/hooks';\nimport { usePresentationContext } from '../../utils/presentationContext';\nimport ZoomControls from '../Builder/ZoomControls';\n\nconst StaticScene = ({\n additionalPageItems,\n gesture,\n hashCode,\n hideZoom,\n itemAccessor,\n lastScrollPosition,\n mode,\n pages,\n presentationPage,\n}) => {\n const { isFullscreen, showControlsInFullScreen } = usePresentationContext();\n const { acceptedItems, settings } = usePropContext();\n const { setZoom, zoom } = useBuilderContext();\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\n useEffect(() => {\n if (viewPortRef.current) {\n viewPortRef.current.scrollTop = lastScrollPosition;\n }\n }, []); // set last scroll position after changing mode\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 }, []);\n\n useEffect(() => {\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, isFullscreen, mode]);\n\n return (\n <main\n className={classNames.mainWrapper}\n >\n <div\n ref={viewPortRef}\n className={classNames.viewport}\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 style = {\n ...pageContainerStyles,\n backgroundColor: backgroundColor ? backgroundColor : reportBackgroundColor || '#fff',\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 >\n <StaticPageWithZoomPanPinch\n acceptedItems={acceptedItems}\n additionalPageItems={additionalPageItems}\n handleZoom={handleZoom}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\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 <ZoomControls\n pages={pages}\n showZoom={(!isFullscreen || (isFullscreen && showControlsInFullScreen)) && !hideZoom}\n />\n </main>\n );\n};\n\nStaticScene.propTypes = {\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n gesture: PropTypes.func,\n hashCode: PropTypes.string,\n hideZoom: PropTypes.bool,\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n mode: PropTypes.string.isRequired,\n pages: PropTypes.arrayOf(PropTypes.shape({})),\n presentationPage: PropTypes.number,\n};\n\nStaticScene.defaultProps = {\n additionalPageItems: [],\n gesture: () => {},\n hashCode: '',\n hideZoom: false,\n itemAccessor: () => {},\n lastScrollPosition: 0,\n pages: [],\n presentationPage: 0,\n};\n\nexport default StaticScene;\n"],"names":["StaticScene","additionalPageItems","gesture","hashCode","hideZoom","itemAccessor","lastScrollPosition","mode","pages","presentationPage","usePresentationContext","isFullscreen","showControlsInFullScreen","usePropContext","acceptedItems","settings","useBuilderContext","setZoom","zoom","viewPortRef","useRef","transformRefs","reportBackgroundColor","reportLayout","reportLayoutHeight","reportLayoutWidth","reportPageTransition","width","parseInt","height","useEffect","current","scrollTop","slice","length","pageContainerStyles","useMemo","transitionStyle","usePageTransition","handleZoom","useCallback","zoomPanPinch","fixedValue","parseFloat","state","scale","toFixed","roundValue","Math","round","i","centerView","_jsxs","classNames","_jsx","map","page","index","backgroundColor","style","cNames","slugify","items","element","toString","propTypes","PropTypes","arrayOf","node","func","string","bool","number","isRequired","shape","defaultProps"],"mappings":"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"}
@@ -24,7 +24,6 @@ var PrintModeWithoutContext = function PrintModeWithoutContext(_ref) {
24
24
  var additionalPageItems = _ref.additionalPageItems,
25
25
  hashCode = _ref.hashCode,
26
26
  itemAccessor = _ref.itemAccessor,
27
- mode = _ref.mode,
28
27
  pages = _ref.pages,
29
28
  settings = _ref.settings,
30
29
  theme = _ref.theme;
@@ -53,7 +52,7 @@ var PrintModeWithoutContext = function PrintModeWithoutContext(_ref) {
53
52
  hashCode: hashCode,
54
53
  hideZoom: true,
55
54
  itemAccessor: itemAccessor,
56
- mode: mode,
55
+ mode: "print",
57
56
  pages: pages
58
57
  })
59
58
  })]
@@ -64,7 +63,6 @@ PrintModeWithoutContext.propTypes = {
64
63
  additionalPageItems: PropTypes.arrayOf(PropTypes.node),
65
64
  hashCode: PropTypes.string,
66
65
  itemAccessor: PropTypes.func,
67
- mode: PropTypes.string,
68
66
  pages: PropTypes.arrayOf(PropTypes.shape({})),
69
67
  settings: PropTypes.shape({
70
68
  reportLayout: PropTypes.string,
@@ -77,7 +75,6 @@ PrintModeWithoutContext.defaultProps = {
77
75
  additionalPageItems: [],
78
76
  hashCode: '',
79
77
  itemAccessor: function itemAccessor() {},
80
- mode: 'print',
81
78
  pages: [],
82
79
  settings: {},
83
80
  theme: 'lightMode'
@@ -1 +1 @@
1
- {"version":3,"file":"PrintModeWithoutContext.js","sources":["../../../../src/components/Print/PrintModeWithoutContext.js"],"sourcesContent":["import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport ReportWrapper from '../ReportWrapper';\nimport StaticScene from '../Preview/StaticScene';\nimport { pageSize } from '../../utils/print';\n\nconst availableFormats = ['A4', 'A5', 'Custom', 'Web'];\n\nconst PrintModeWithoutContext = ({\n additionalPageItems,\n hashCode,\n itemAccessor,\n mode,\n pages,\n settings,\n theme,\n}) => {\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 <ReportWrapper\n mode=\"print\"\n theme={theme}\n >\n <StaticScene\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n hideZoom={true}\n itemAccessor={itemAccessor}\n mode={mode}\n pages={pages}\n />\n </ReportWrapper>\n </>\n );\n};\n\nPrintModeWithoutContext.propTypes = {\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n hashCode: PropTypes.string,\n itemAccessor: PropTypes.func,\n mode: PropTypes.string,\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n settings: PropTypes.shape({\n reportLayout: PropTypes.string,\n reportLayoutHeight: PropTypes.string,\n reportLayoutWidth: PropTypes.string,\n }),\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n};\n\nPrintModeWithoutContext.defaultProps = {\n additionalPageItems: [],\n hashCode: '',\n itemAccessor: () => {},\n mode: 'print',\n pages: [],\n settings: {},\n theme: 'lightMode',\n};\n\nexport default PrintModeWithoutContext;\n"],"names":["availableFormats","PrintModeWithoutContext","additionalPageItems","hashCode","itemAccessor","mode","pages","settings","theme","useState","manipulatePageSize","setManipulatePageSize","reportLayout","indexOf","split","_jsxs","_jsx","__html","pageSize","propTypes","PropTypes","arrayOf","node","string","func","shape","reportLayoutHeight","reportLayoutWidth","oneOf","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,gBAAgB,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,QAAb,EAAuB,KAAvB,CAAzB;;IAEMC,uBAAuB,GAAG,SAA1BA,uBAA0B,OAQ1B;AAAA,MAPJC,mBAOI,QAPJA,mBAOI;AAAA,MANJC,QAMI,QANJA,QAMI;AAAA,MALJC,YAKI,QALJA,YAKI;AAAA,MAJJC,IAII,QAJJA,IAII;AAAA,MAHJC,KAGI,QAHJA,KAGI;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADJC,KACI,QADJA,KACI;;AACJ,kBAAoDC,QAAQ,CAAC,KAAD,CAA5D;AAAA;AAAA,MAAOC,kBAAP;AAAA,MAA2BC,qBAA3B;;AACA,MAAMC,YAAY,GAAGL,QAAQ,CAACK,YAAT,GAAwBL,QAAQ,CAACK,YAAjC,GAAgD,cAArE;;AACA,MAAIZ,gBAAgB,CAACa,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,QAAQ,CAACX,QAAD,CAFZ;AADiB;AAD3B,MAFJ,eAWES,IAAC,aAAD;AACE,MAAA,IAAI,EAAC,OADP;AAEE,MAAA,KAAK,EAAER,KAFT;AAAA,6BAIEQ,IAAC,WAAD;AACE,QAAA,mBAAmB,EAAEd,mBADvB;AAEE,QAAA,QAAQ,EAAEC,QAFZ;AAGE,QAAA,QAAQ,EAAE,IAHZ;AAIE,QAAA,YAAY,EAAEC,YAJhB;AAKE,QAAA,IAAI,EAAEC,IALR;AAME,QAAA,KAAK,EAAEC;AANT;AAJF,MAXF;AAAA,IADF;AA2BD;;AAEDL,uBAAuB,CAACkB,SAAxB,GAAoC;AAClCjB,EAAAA,mBAAmB,EAAEkB,SAAS,CAACC,OAAV,CAAkBD,SAAS,CAACE,IAA5B,CADa;AAElCnB,EAAAA,QAAQ,EAAEiB,SAAS,CAACG,MAFc;AAGlCnB,EAAAA,YAAY,EAAEgB,SAAS,CAACI,IAHU;AAIlCnB,EAAAA,IAAI,EAAEe,SAAS,CAACG,MAJkB;AAKlCjB,EAAAA,KAAK,EAAEc,SAAS,CAACC,OAAV,CACLD,SAAS,CAACK,KAAV,CAAgB,EAAhB,CADK,CAL2B;AAQlClB,EAAAA,QAAQ,EAAEa,SAAS,CAACK,KAAV,CAAgB;AACxBb,IAAAA,YAAY,EAAEQ,SAAS,CAACG,MADA;AAExBG,IAAAA,kBAAkB,EAAEN,SAAS,CAACG,MAFN;AAGxBI,IAAAA,iBAAiB,EAAEP,SAAS,CAACG;AAHL,GAAhB,CARwB;AAalCf,EAAAA,KAAK,EAAEY,SAAS,CAACQ,KAAV,CAAgB,CAAC,WAAD,EAAc,UAAd,CAAhB;AAb2B,CAApC;AAgBA3B,uBAAuB,CAAC4B,YAAxB,GAAuC;AACrC3B,EAAAA,mBAAmB,EAAE,EADgB;AAErCC,EAAAA,QAAQ,EAAE,EAF2B;AAGrCC,EAAAA,YAAY,EAAE,wBAAM,EAHiB;AAIrCC,EAAAA,IAAI,EAAE,OAJ+B;AAKrCC,EAAAA,KAAK,EAAE,EAL8B;AAMrCC,EAAAA,QAAQ,EAAE,EAN2B;AAOrCC,EAAAA,KAAK,EAAE;AAP8B,CAAvC;;;;"}
1
+ {"version":3,"file":"PrintModeWithoutContext.js","sources":["../../../../src/components/Print/PrintModeWithoutContext.js"],"sourcesContent":["import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport ReportWrapper from '../ReportWrapper';\nimport StaticScene from '../Preview/StaticScene';\nimport { pageSize } from '../../utils/print';\n\nconst availableFormats = ['A4', 'A5', 'Custom', 'Web'];\n\nconst PrintModeWithoutContext = ({\n additionalPageItems,\n hashCode,\n itemAccessor,\n pages,\n settings,\n theme,\n}) => {\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 <ReportWrapper\n mode=\"print\"\n theme={theme}\n >\n <StaticScene\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n hideZoom={true}\n itemAccessor={itemAccessor}\n mode=\"print\"\n pages={pages}\n />\n </ReportWrapper>\n </>\n );\n};\n\nPrintModeWithoutContext.propTypes = {\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n hashCode: PropTypes.string,\n itemAccessor: PropTypes.func,\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n settings: PropTypes.shape({\n reportLayout: PropTypes.string,\n reportLayoutHeight: PropTypes.string,\n reportLayoutWidth: PropTypes.string,\n }),\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n};\n\nPrintModeWithoutContext.defaultProps = {\n additionalPageItems: [],\n hashCode: '',\n itemAccessor: () => {},\n pages: [],\n settings: {},\n theme: 'lightMode',\n};\n\nexport default PrintModeWithoutContext;\n"],"names":["availableFormats","PrintModeWithoutContext","additionalPageItems","hashCode","itemAccessor","pages","settings","theme","useState","manipulatePageSize","setManipulatePageSize","reportLayout","indexOf","split","_jsxs","_jsx","__html","pageSize","propTypes","PropTypes","arrayOf","node","string","func","shape","reportLayoutHeight","reportLayoutWidth","oneOf","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,gBAAgB,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,QAAb,EAAuB,KAAvB,CAAzB;;IAEMC,uBAAuB,GAAG,SAA1BA,uBAA0B,OAO1B;AAAA,MANJC,mBAMI,QANJA,mBAMI;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,YAII,QAJJA,YAII;AAAA,MAHJC,KAGI,QAHJA,KAGI;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADJC,KACI,QADJA,KACI;;AACJ,kBAAoDC,QAAQ,CAAC,KAAD,CAA5D;AAAA;AAAA,MAAOC,kBAAP;AAAA,MAA2BC,qBAA3B;;AACA,MAAMC,YAAY,GAAGL,QAAQ,CAACK,YAAT,GAAwBL,QAAQ,CAACK,YAAjC,GAAgD,cAArE;;AACA,MAAIX,gBAAgB,CAACY,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,QAAQ,CAACX,QAAD,CAFZ;AADiB;AAD3B,MAFJ,eAWES,IAAC,aAAD;AACE,MAAA,IAAI,EAAC,OADP;AAEE,MAAA,KAAK,EAAER,KAFT;AAAA,6BAIEQ,IAAC,WAAD;AACE,QAAA,mBAAmB,EAAEb,mBADvB;AAEE,QAAA,QAAQ,EAAEC,QAFZ;AAGE,QAAA,QAAQ,EAAE,IAHZ;AAIE,QAAA,YAAY,EAAEC,YAJhB;AAKE,QAAA,IAAI,EAAC,OALP;AAME,QAAA,KAAK,EAAEC;AANT;AAJF,MAXF;AAAA,IADF;AA2BD;;AAEDJ,uBAAuB,CAACiB,SAAxB,GAAoC;AAClChB,EAAAA,mBAAmB,EAAEiB,SAAS,CAACC,OAAV,CAAkBD,SAAS,CAACE,IAA5B,CADa;AAElClB,EAAAA,QAAQ,EAAEgB,SAAS,CAACG,MAFc;AAGlClB,EAAAA,YAAY,EAAEe,SAAS,CAACI,IAHU;AAIlClB,EAAAA,KAAK,EAAEc,SAAS,CAACC,OAAV,CACLD,SAAS,CAACK,KAAV,CAAgB,EAAhB,CADK,CAJ2B;AAOlClB,EAAAA,QAAQ,EAAEa,SAAS,CAACK,KAAV,CAAgB;AACxBb,IAAAA,YAAY,EAAEQ,SAAS,CAACG,MADA;AAExBG,IAAAA,kBAAkB,EAAEN,SAAS,CAACG,MAFN;AAGxBI,IAAAA,iBAAiB,EAAEP,SAAS,CAACG;AAHL,GAAhB,CAPwB;AAYlCf,EAAAA,KAAK,EAAEY,SAAS,CAACQ,KAAV,CAAgB,CAAC,WAAD,EAAc,UAAd,CAAhB;AAZ2B,CAApC;AAeA1B,uBAAuB,CAAC2B,YAAxB,GAAuC;AACrC1B,EAAAA,mBAAmB,EAAE,EADgB;AAErCC,EAAAA,QAAQ,EAAE,EAF2B;AAGrCC,EAAAA,YAAY,EAAE,wBAAM,EAHiB;AAIrCC,EAAAA,KAAK,EAAE,EAJ8B;AAKrCC,EAAAA,QAAQ,EAAE,EAL2B;AAMrCC,EAAAA,KAAK,EAAE;AAN8B,CAAvC;;;;"}
@@ -22,7 +22,7 @@ var withZoomPanPinchHOC = function withZoomPanPinchHOC(WrappedComponent) {
22
22
  var _usePresentationConte = usePresentationContext(),
23
23
  fittedZoom = _usePresentationConte.fittedZoom;
24
24
 
25
- if (mode === 'print') {
25
+ if (mode !== 'presentation') {
26
26
  return /*#__PURE__*/jsx(WrappedComponent, _objectSpread({}, props));
27
27
  }
28
28
 
@@ -1 +1 @@
1
- {"version":3,"file":"withZoomPanPinchHOC.js","sources":["../../../src/components/withZoomPanPinchHOC.js"],"sourcesContent":["import {\n string, func, any, oneOfType, shape,\n} from 'prop-types';\nimport { TransformWrapper, TransformComponent } from 'react-zoom-pan-pinch';\nimport { useBuilderContext } from '../utils/builderContext';\nimport { usePresentationContext } from '../utils/presentationContext';\n\nconst withZoomPanPinchHOC = WrappedComponent => {\n const ZoomPanPinchHOC = props => {\n const { handleZoom, mode, refSetter } = props;\n\n const { zoom } = useBuilderContext();\n const { fittedZoom } = usePresentationContext();\n\n if (mode === 'print') {\n return <WrappedComponent {...props} />;\n }\n\n return (\n <TransformWrapper\n ref={refSetter}\n centerOnInit={true}\n centerZoomedOut={true}\n disablePadding={true}\n doubleClick={{\n step: 0.2,\n }}\n initialScale={zoom}\n maxScale={2}\n minScale={0.5}\n onZoom={handleZoom}\n panning={{\n disabled: zoom <= fittedZoom,\n }}\n pinch={{\n step: 1,\n }}\n >\n <TransformComponent\n wrapperStyle={{ height: '100%', width: '100%' }}\n >\n <WrappedComponent {...props} />\n </TransformComponent>\n </TransformWrapper>\n );\n };\n\n ZoomPanPinchHOC.propTypes = {\n handleZoom: func.isRequired,\n mode: string,\n refSetter: oneOfType([\n func,\n shape({ current: any }),\n ]).isRequired,\n };\n\n ZoomPanPinchHOC.defaultProps = {\n mode: '',\n };\n\n return ZoomPanPinchHOC;\n};\n\nexport default withZoomPanPinchHOC;\n"],"names":["withZoomPanPinchHOC","WrappedComponent","ZoomPanPinchHOC","props","handleZoom","mode","refSetter","useBuilderContext","zoom","usePresentationContext","fittedZoom","_jsx","step","disabled","height","width","propTypes","func","isRequired","string","oneOfType","shape","current","any","defaultProps"],"mappings":";;;;;;;;;;;;IAOMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAC,gBAAgB,EAAI;AAC9C,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,KAAK,EAAI;AAC/B,QAAQC,UAAR,GAAwCD,KAAxC,CAAQC,UAAR;AAAA,QAAoBC,IAApB,GAAwCF,KAAxC,CAAoBE,IAApB;AAAA,QAA0BC,SAA1B,GAAwCH,KAAxC,CAA0BG,SAA1B;;AAEA,6BAAiBC,iBAAiB,EAAlC;AAAA,QAAQC,IAAR,sBAAQA,IAAR;;AACA,gCAAuBC,sBAAsB,EAA7C;AAAA,QAAQC,UAAR,yBAAQA,UAAR;;AAEA,QAAIL,IAAI,KAAK,OAAb,EAAsB;AACpB,0BAAOM,IAAC,gBAAD,oBAAsBR,KAAtB,EAAP;AACD;;AAED,wBACEQ,IAAC,gBAAD;AACE,MAAA,GAAG,EAAEL,SADP;AAEE,MAAA,YAAY,EAAE,IAFhB;AAGE,MAAA,eAAe,EAAE,IAHnB;AAIE,MAAA,cAAc,EAAE,IAJlB;AAKE,MAAA,WAAW,EAAE;AACXM,QAAAA,IAAI,EAAE;AADK,OALf;AAQE,MAAA,YAAY,EAAEJ,IARhB;AASE,MAAA,QAAQ,EAAE,CATZ;AAUE,MAAA,QAAQ,EAAE,GAVZ;AAWE,MAAA,MAAM,EAAEJ,UAXV;AAYE,MAAA,OAAO,EAAE;AACPS,QAAAA,QAAQ,EAAEL,IAAI,IAAIE;AADX,OAZX;AAeE,MAAA,KAAK,EAAE;AACLE,QAAAA,IAAI,EAAE;AADD,OAfT;AAAA,6BAmBED,IAAC,kBAAD;AACE,QAAA,YAAY,EAAE;AAAEG,UAAAA,MAAM,EAAE,MAAV;AAAkBC,UAAAA,KAAK,EAAE;AAAzB,SADhB;AAAA,+BAGEJ,IAAC,gBAAD,oBAAsBR,KAAtB;AAHF;AAnBF,MADF;AA2BD,GArCD;;AAuCAD,EAAAA,eAAe,CAACc,SAAhB,GAA4B;AAC1BZ,IAAAA,UAAU,EAAEa,IAAI,CAACC,UADS;AAE1Bb,IAAAA,IAAI,EAAEc,MAFoB;AAG1Bb,IAAAA,SAAS,EAAEc,SAAS,CAAC,CACnBH,IADmB,EAEnBI,KAAK,CAAC;AAAEC,MAAAA,OAAO,EAAEC;AAAX,KAAD,CAFc,CAAD,CAAT,CAGRL;AANuB,GAA5B;AASAhB,EAAAA,eAAe,CAACsB,YAAhB,GAA+B;AAC7BnB,IAAAA,IAAI,EAAE;AADuB,GAA/B;AAIA,SAAOH,eAAP;AACD;;;;"}
1
+ {"version":3,"file":"withZoomPanPinchHOC.js","sources":["../../../src/components/withZoomPanPinchHOC.js"],"sourcesContent":["import {\n string, func, any, oneOfType, shape,\n} from 'prop-types';\nimport { TransformWrapper, TransformComponent } from 'react-zoom-pan-pinch';\nimport { useBuilderContext } from '../utils/builderContext';\nimport { usePresentationContext } from '../utils/presentationContext';\n\nconst withZoomPanPinchHOC = WrappedComponent => {\n const ZoomPanPinchHOC = props => {\n const { handleZoom, mode, refSetter } = props;\n\n const { zoom } = useBuilderContext();\n const { fittedZoom } = usePresentationContext();\n\n if (mode !== 'presentation') {\n return <WrappedComponent {...props} />;\n }\n\n return (\n <TransformWrapper\n ref={refSetter}\n centerOnInit={true}\n centerZoomedOut={true}\n disablePadding={true}\n doubleClick={{\n step: 0.2,\n }}\n initialScale={zoom}\n maxScale={2}\n minScale={0.5}\n onZoom={handleZoom}\n panning={{\n disabled: zoom <= fittedZoom,\n }}\n pinch={{\n step: 1,\n }}\n >\n <TransformComponent\n wrapperStyle={{ height: '100%', width: '100%' }}\n >\n <WrappedComponent {...props} />\n </TransformComponent>\n </TransformWrapper>\n );\n };\n\n ZoomPanPinchHOC.propTypes = {\n handleZoom: func.isRequired,\n mode: string,\n refSetter: oneOfType([\n func,\n shape({ current: any }),\n ]).isRequired,\n };\n\n ZoomPanPinchHOC.defaultProps = {\n mode: '',\n };\n\n return ZoomPanPinchHOC;\n};\n\nexport default withZoomPanPinchHOC;\n"],"names":["withZoomPanPinchHOC","WrappedComponent","ZoomPanPinchHOC","props","handleZoom","mode","refSetter","useBuilderContext","zoom","usePresentationContext","fittedZoom","_jsx","step","disabled","height","width","propTypes","func","isRequired","string","oneOfType","shape","current","any","defaultProps"],"mappings":";;;;;;;;;;;;IAOMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAC,gBAAgB,EAAI;AAC9C,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,KAAK,EAAI;AAC/B,QAAQC,UAAR,GAAwCD,KAAxC,CAAQC,UAAR;AAAA,QAAoBC,IAApB,GAAwCF,KAAxC,CAAoBE,IAApB;AAAA,QAA0BC,SAA1B,GAAwCH,KAAxC,CAA0BG,SAA1B;;AAEA,6BAAiBC,iBAAiB,EAAlC;AAAA,QAAQC,IAAR,sBAAQA,IAAR;;AACA,gCAAuBC,sBAAsB,EAA7C;AAAA,QAAQC,UAAR,yBAAQA,UAAR;;AAEA,QAAIL,IAAI,KAAK,cAAb,EAA6B;AAC3B,0BAAOM,IAAC,gBAAD,oBAAsBR,KAAtB,EAAP;AACD;;AAED,wBACEQ,IAAC,gBAAD;AACE,MAAA,GAAG,EAAEL,SADP;AAEE,MAAA,YAAY,EAAE,IAFhB;AAGE,MAAA,eAAe,EAAE,IAHnB;AAIE,MAAA,cAAc,EAAE,IAJlB;AAKE,MAAA,WAAW,EAAE;AACXM,QAAAA,IAAI,EAAE;AADK,OALf;AAQE,MAAA,YAAY,EAAEJ,IARhB;AASE,MAAA,QAAQ,EAAE,CATZ;AAUE,MAAA,QAAQ,EAAE,GAVZ;AAWE,MAAA,MAAM,EAAEJ,UAXV;AAYE,MAAA,OAAO,EAAE;AACPS,QAAAA,QAAQ,EAAEL,IAAI,IAAIE;AADX,OAZX;AAeE,MAAA,KAAK,EAAE;AACLE,QAAAA,IAAI,EAAE;AADD,OAfT;AAAA,6BAmBED,IAAC,kBAAD;AACE,QAAA,YAAY,EAAE;AAAEG,UAAAA,MAAM,EAAE,MAAV;AAAkBC,UAAAA,KAAK,EAAE;AAAzB,SADhB;AAAA,+BAGEJ,IAAC,gBAAD,oBAAsBR,KAAtB;AAHF;AAnBF,MADF;AA2BD,GArCD;;AAuCAD,EAAAA,eAAe,CAACc,SAAhB,GAA4B;AAC1BZ,IAAAA,UAAU,EAAEa,IAAI,CAACC,UADS;AAE1Bb,IAAAA,IAAI,EAAEc,MAFoB;AAG1Bb,IAAAA,SAAS,EAAEc,SAAS,CAAC,CACnBH,IADmB,EAEnBI,KAAK,CAAC;AAAEC,MAAAA,OAAO,EAAEC;AAAX,KAAD,CAFc,CAAD,CAAT,CAGRL;AANuB,GAA5B;AASAhB,EAAAA,eAAe,CAACsB,YAAhB,GAA+B;AAC7BnB,IAAAA,IAAI,EAAE;AADuB,GAA/B;AAIA,SAAOH,eAAP;AACD;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jotforminc/dnd-builder",
3
- "version": "2.5.2",
3
+ "version": "2.5.4",
4
4
  "files": [
5
5
  "lib"
6
6
  ],
@@ -8,6 +8,7 @@
8
8
  "module": "lib/esm/index.js",
9
9
  "sideEffects": false,
10
10
  "dependencies": {
11
+ "@use-gesture/react": "10.2.24",
11
12
  "classnames": "2.2.6",
12
13
  "core-js": "3.9.0",
13
14
  "dompurify": "2.2.8",
@@ -29,9 +30,8 @@
29
30
  "react-modal": "3.12.1",
30
31
  "react-quill": "1.3.5",
31
32
  "react-sortable-hoc": "2.0.0",
32
- "react-use-gesture": "9.0.4",
33
33
  "react-window": "1.8.6",
34
- "react-zoom-pan-pinch": "^3.0.1",
34
+ "react-zoom-pan-pinch": "3.0.1",
35
35
  "recharts": "2.0.7",
36
36
  "regenerator-runtime": "0.13.7"
37
37
  },