@jotforminc/dnd-builder 2.9.13 → 2.9.16

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 (44) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/lib/cjs/components/Builder/Builder.js +48 -50
  3. package/lib/cjs/components/Builder/Builder.js.map +1 -1
  4. package/lib/cjs/components/Builder/DndWrapper.js +14 -16
  5. package/lib/cjs/components/Builder/DndWrapper.js.map +1 -1
  6. package/lib/cjs/components/Builder/Element.js +19 -15
  7. package/lib/cjs/components/Builder/Element.js.map +1 -1
  8. package/lib/cjs/components/Builder/Page.js +15 -11
  9. package/lib/cjs/components/Builder/Page.js.map +1 -1
  10. package/lib/cjs/components/Builder/Scene.js +2 -2
  11. package/lib/cjs/components/Builder/Scene.js.map +1 -1
  12. package/lib/cjs/components/DraggableItem/DraggableItem.js +44 -31
  13. package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
  14. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +2 -2
  15. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  16. package/lib/cjs/components/Elements/Image.js +4 -3
  17. package/lib/cjs/components/Elements/Image.js.map +1 -1
  18. package/lib/cjs/components/Report.js +10 -9
  19. package/lib/cjs/components/Report.js.map +1 -1
  20. package/lib/cjs/components/ReportWrapper.js +10 -12
  21. package/lib/cjs/components/ReportWrapper.js.map +1 -1
  22. package/lib/cjs/styles/_jfPrint.scss +12 -0
  23. package/lib/esm/components/Builder/Builder.js +48 -50
  24. package/lib/esm/components/Builder/Builder.js.map +1 -1
  25. package/lib/esm/components/Builder/DndWrapper.js +8 -7
  26. package/lib/esm/components/Builder/DndWrapper.js.map +1 -1
  27. package/lib/esm/components/Builder/Element.js +18 -14
  28. package/lib/esm/components/Builder/Element.js.map +1 -1
  29. package/lib/esm/components/Builder/Page.js +16 -12
  30. package/lib/esm/components/Builder/Page.js.map +1 -1
  31. package/lib/esm/components/Builder/Scene.js +2 -2
  32. package/lib/esm/components/Builder/Scene.js.map +1 -1
  33. package/lib/esm/components/DraggableItem/DraggableItem.js +43 -30
  34. package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
  35. package/lib/esm/components/DraggableItem/DraggableItemLayer.js +1 -1
  36. package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  37. package/lib/esm/components/Elements/Image.js +4 -3
  38. package/lib/esm/components/Elements/Image.js.map +1 -1
  39. package/lib/esm/components/Report.js +10 -9
  40. package/lib/esm/components/Report.js.map +1 -1
  41. package/lib/esm/components/ReportWrapper.js +10 -12
  42. package/lib/esm/components/ReportWrapper.js.map +1 -1
  43. package/lib/esm/styles/_jfPrint.scss +12 -0
  44. package/package.json +10 -7
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
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.9.16](https://github.com/jotform/dnd-builder/compare/v2.9.15...v2.9.16) (2026-01-09)
6
+
7
+ ### [2.9.15](https://github.com/jotform/dnd-builder/compare/v2.9.14...v2.9.15) (2025-12-02)
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * **Image:** update image URL handling to use additionalProps for dynamic source ([e65156c](https://github.com/jotform/dnd-builder/commit/e65156c431422eda6cb6f3797dfa4612f1f7b206))
13
+
14
+ ### [2.9.14](https://github.com/jotform/dnd-builder/compare/v2.9.12...v2.9.14) (2025-12-02)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **dnd-builder:** page element id added for selector usage ([6167a48](https://github.com/jotform/dnd-builder/commit/6167a4847f7685e8dc9b3af2670a51c161dfcc8e))
20
+
5
21
  ### [2.9.13](https://github.com/jotform/dnd-builder/compare/v2.9.12...v2.9.13) (2025-11-21)
6
22
 
7
23
 
@@ -28,30 +28,54 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
28
28
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
29
29
 
30
30
  var Builder = function Builder(_ref) {
31
- var acceptedItems = _ref.acceptedItems,
32
- additionalPageItems = _ref.additionalPageItems,
33
- disableInteraction = _ref.disableInteraction,
34
- itemAccessor = _ref.itemAccessor,
35
- lastScrollPosition = _ref.lastScrollPosition,
36
- leftPanelConfig = _ref.leftPanelConfig,
37
- onAnEventTrigger = _ref.onAnEventTrigger,
38
- onItemAdd = _ref.onItemAdd,
39
- onItemChange = _ref.onItemChange,
40
- onItemMove = _ref.onItemMove,
41
- onItemRemove = _ref.onItemRemove,
42
- onItemResize = _ref.onItemResize,
43
- onItemsMove = _ref.onItemsMove,
44
- onPageAdd = _ref.onPageAdd,
45
- onPageChange = _ref.onPageChange,
46
- onPageDuplicate = _ref.onPageDuplicate,
47
- onPageOrdersChange = _ref.onPageOrdersChange,
48
- onPageRemove = _ref.onPageRemove,
49
- onRightPanelsToggled = _ref.onRightPanelsToggled,
50
- onSettingChange = _ref.onSettingChange,
51
- pages = _ref.pages,
52
- settings = _ref.settings,
53
- theme = _ref.theme,
54
- useExperimentalFeatures = _ref.useExperimentalFeatures,
31
+ var _ref$acceptedItems = _ref.acceptedItems,
32
+ acceptedItems = _ref$acceptedItems === void 0 ? {} : _ref$acceptedItems,
33
+ _ref$additionalPageIt = _ref.additionalPageItems,
34
+ additionalPageItems = _ref$additionalPageIt === void 0 ? [] : _ref$additionalPageIt,
35
+ _ref$disableInteracti = _ref.disableInteraction,
36
+ disableInteraction = _ref$disableInteracti === void 0 ? [] : _ref$disableInteracti,
37
+ _ref$itemAccessor = _ref.itemAccessor,
38
+ itemAccessor = _ref$itemAccessor === void 0 ? function () {} : _ref$itemAccessor,
39
+ _ref$lastScrollPositi = _ref.lastScrollPosition,
40
+ lastScrollPosition = _ref$lastScrollPositi === void 0 ? 0 : _ref$lastScrollPositi,
41
+ _ref$leftPanelConfig = _ref.leftPanelConfig,
42
+ leftPanelConfig = _ref$leftPanelConfig === void 0 ? [] : _ref$leftPanelConfig,
43
+ _ref$onAnEventTrigger = _ref.onAnEventTrigger,
44
+ onAnEventTrigger = _ref$onAnEventTrigger === void 0 ? function () {} : _ref$onAnEventTrigger,
45
+ _ref$onItemAdd = _ref.onItemAdd,
46
+ onItemAdd = _ref$onItemAdd === void 0 ? function () {} : _ref$onItemAdd,
47
+ _ref$onItemChange = _ref.onItemChange,
48
+ onItemChange = _ref$onItemChange === void 0 ? function () {} : _ref$onItemChange,
49
+ _ref$onItemMove = _ref.onItemMove,
50
+ onItemMove = _ref$onItemMove === void 0 ? function () {} : _ref$onItemMove,
51
+ _ref$onItemRemove = _ref.onItemRemove,
52
+ onItemRemove = _ref$onItemRemove === void 0 ? function () {} : _ref$onItemRemove,
53
+ _ref$onItemResize = _ref.onItemResize,
54
+ onItemResize = _ref$onItemResize === void 0 ? function () {} : _ref$onItemResize,
55
+ _ref$onItemsMove = _ref.onItemsMove,
56
+ onItemsMove = _ref$onItemsMove === void 0 ? function () {} : _ref$onItemsMove,
57
+ _ref$onPageAdd = _ref.onPageAdd,
58
+ onPageAdd = _ref$onPageAdd === void 0 ? function () {} : _ref$onPageAdd,
59
+ _ref$onPageChange = _ref.onPageChange,
60
+ onPageChange = _ref$onPageChange === void 0 ? function () {} : _ref$onPageChange,
61
+ _ref$onPageDuplicate = _ref.onPageDuplicate,
62
+ onPageDuplicate = _ref$onPageDuplicate === void 0 ? function () {} : _ref$onPageDuplicate,
63
+ _ref$onPageOrdersChan = _ref.onPageOrdersChange,
64
+ onPageOrdersChange = _ref$onPageOrdersChan === void 0 ? function () {} : _ref$onPageOrdersChan,
65
+ _ref$onPageRemove = _ref.onPageRemove,
66
+ onPageRemove = _ref$onPageRemove === void 0 ? function () {} : _ref$onPageRemove,
67
+ _ref$onRightPanelsTog = _ref.onRightPanelsToggled,
68
+ onRightPanelsToggled = _ref$onRightPanelsTog === void 0 ? function () {} : _ref$onRightPanelsTog,
69
+ _ref$onSettingChange = _ref.onSettingChange,
70
+ onSettingChange = _ref$onSettingChange === void 0 ? function () {} : _ref$onSettingChange,
71
+ _ref$pages = _ref.pages,
72
+ pages = _ref$pages === void 0 ? [] : _ref$pages,
73
+ _ref$settings = _ref.settings,
74
+ settings = _ref$settings === void 0 ? {} : _ref$settings,
75
+ _ref$theme = _ref.theme,
76
+ theme = _ref$theme === void 0 ? 'lightMode' : _ref$theme,
77
+ _ref$useExperimentalF = _ref.useExperimentalFeatures,
78
+ useExperimentalFeatures = _ref$useExperimentalF === void 0 ? false : _ref$useExperimentalF,
55
79
  otherProps = _objectWithoutProperties(_ref, _excluded);
56
80
 
57
81
  var hashCode = objectHash__default['default'](otherProps);
@@ -187,32 +211,6 @@ Builder.propTypes = {
187
211
  theme: PropTypes__default['default'].oneOf(['lightMode', 'darkMode']),
188
212
  useExperimentalFeatures: PropTypes__default['default'].bool
189
213
  };
190
- Builder.defaultProps = {
191
- acceptedItems: {},
192
- additionalPageItems: [],
193
- disableInteraction: [],
194
- itemAccessor: function itemAccessor() {},
195
- lastScrollPosition: 0,
196
- leftPanelConfig: [],
197
- onAnEventTrigger: function onAnEventTrigger() {},
198
- onItemAdd: function onItemAdd() {},
199
- onItemChange: function onItemChange() {},
200
- onItemMove: function onItemMove() {},
201
- onItemRemove: function onItemRemove() {},
202
- onItemResize: function onItemResize() {},
203
- onItemsMove: function onItemsMove() {},
204
- onPageAdd: function onPageAdd() {},
205
- onPageChange: function onPageChange() {},
206
- onPageDuplicate: function onPageDuplicate() {},
207
- onPageOrdersChange: function onPageOrdersChange() {},
208
- onPageRemove: function onPageRemove() {},
209
- onRightPanelsToggled: function onRightPanelsToggled() {},
210
- onSettingChange: function onSettingChange() {},
211
- pages: [],
212
- settings: {},
213
- theme: 'lightMode',
214
- useExperimentalFeatures: false
215
- };
216
214
 
217
215
  module.exports = Builder;
218
216
  //# sourceMappingURL=Builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sources":["../../../../src/components/Builder/Builder.js"],"sourcesContent":["import { StrictMode } from 'react';\nimport PropTypes from 'prop-types';\nimport objectHash from 'object-hash';\nimport DndWrapper from './DndWrapper';\nimport { BuilderProvider } from '../../utils/builderContext';\nimport { PropProvider } from '../../utils/propContext';\nimport ReportWrapper from '../ReportWrapper';\nimport Scene from './Scene';\nimport RightPanel from '../Panels/RightPanel';\nimport LeftPanel from '../Panels/LeftPanel';\nimport SlidesPanel from '../Panels/SlidesPanel';\nimport AllSlidesPanel from '../Panels/AllSlidesPanel';\nimport { leftPanelConfigPropType } from '../../constants/propTypes';\n\nimport '../../styles/jfReportsBundle.scss';\n\nconst Builder = ({\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n itemAccessor,\n lastScrollPosition,\n leftPanelConfig,\n onAnEventTrigger,\n onItemAdd,\n onItemChange,\n onItemMove,\n onItemRemove,\n onItemResize,\n onItemsMove,\n onPageAdd,\n onPageChange,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n onRightPanelsToggled,\n onSettingChange,\n pages,\n settings,\n theme,\n useExperimentalFeatures,\n ...otherProps\n}) => {\n const hashCode = objectHash(otherProps);\n\n return (\n <StrictMode>\n <BuilderProvider onRightPanelsToggled={onRightPanelsToggled}>\n <PropProvider\n acceptedItems={acceptedItems}\n disableInteraction={disableInteraction}\n onAnEventTrigger={onAnEventTrigger}\n settings={settings}\n useExperimentalFeatures={useExperimentalFeatures}\n >\n <ReportWrapper\n mode=\"customize\"\n pageCount={pages.length}\n theme={theme}\n >\n <DndWrapper>\n <LeftPanel\n leftPanelConfig={leftPanelConfig}\n onItemAdd={onItemAdd}\n />\n <Scene\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n lastScrollPosition={lastScrollPosition}\n onItemAdd={onItemAdd}\n onItemChange={onItemChange}\n onItemMove={onItemMove}\n onItemRemove={onItemRemove}\n onItemResize={onItemResize}\n onItemsMove={onItemsMove}\n onPageAdd={onPageAdd}\n onPageChange={onPageChange}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n </DndWrapper>\n <RightPanel\n itemAccessor={itemAccessor}\n onItemChange={onItemChange}\n onPageChange={onPageChange}\n onSettingChange={onSettingChange}\n pages={pages}\n />\n <SlidesPanel\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n {useExperimentalFeatures && (\n <AllSlidesPanel\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n )}\n </ReportWrapper>\n </PropProvider>\n </BuilderProvider>\n </StrictMode>\n );\n};\n\nBuilder.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 disableInteraction: PropTypes.arrayOf(PropTypes.string),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n leftPanelConfig: leftPanelConfigPropType,\n /** To track and log user actions */\n onAnEventTrigger: PropTypes.func,\n /** Function called upon adding an item */\n onItemAdd: PropTypes.func,\n /** Function called upon editing an item */\n onItemChange: PropTypes.func,\n /** Function called upon moving an item */\n onItemMove: PropTypes.func,\n /** Function called upon removing an item */\n onItemRemove: PropTypes.func,\n /** Function called upon resizing an item */\n onItemResize: PropTypes.func,\n onItemsMove: PropTypes.func,\n /** Function called upon adding a page */\n onPageAdd: PropTypes.func,\n /** Function called upon editing a page */\n onPageChange: PropTypes.func,\n /** Function called upon duplicating a page */\n onPageDuplicate: PropTypes.func,\n /** Function called upon reordering pages */\n onPageOrdersChange: PropTypes.func,\n /** Function called upon removing a page */\n onPageRemove: PropTypes.func,\n /** Function called when the slides or the right panel is\n * toggled takes a boolean value to indicate whether or\n * not the panel is toggled open.\n */\n onRightPanelsToggled: PropTypes.func,\n /** Function called upon editing a general report setting */\n onSettingChange: 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 useExperimentalFeatures: PropTypes.bool,\n};\n\nBuilder.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n disableInteraction: [],\n itemAccessor: () => { },\n lastScrollPosition: 0,\n leftPanelConfig: [],\n onAnEventTrigger: () => { },\n onItemAdd: () => { },\n onItemChange: () => { },\n onItemMove: () => { },\n onItemRemove: () => { },\n onItemResize: () => { },\n onItemsMove: () => { },\n onPageAdd: () => { },\n onPageChange: () => { },\n onPageDuplicate: () => { },\n onPageOrdersChange: () => { },\n onPageRemove: () => { },\n onRightPanelsToggled: () => { },\n onSettingChange: () => { },\n pages: [],\n settings: {},\n theme: 'lightMode',\n useExperimentalFeatures: false,\n};\n\nexport default Builder;\n"],"names":["Builder","acceptedItems","additionalPageItems","disableInteraction","itemAccessor","lastScrollPosition","leftPanelConfig","onAnEventTrigger","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onRightPanelsToggled","onSettingChange","pages","settings","theme","useExperimentalFeatures","otherProps","hashCode","objectHash","_jsx","StrictMode","BuilderProvider","PropProvider","_jsxs","length","propTypes","PropTypes","shape","arrayOf","node","string","func","number","leftPanelConfigPropType","oneOf","bool","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Builder.js","sources":["../../../../src/components/Builder/Builder.js"],"sourcesContent":["import { StrictMode } from 'react';\nimport PropTypes from 'prop-types';\nimport objectHash from 'object-hash';\nimport DndWrapper from './DndWrapper';\nimport { BuilderProvider } from '../../utils/builderContext';\nimport { PropProvider } from '../../utils/propContext';\nimport ReportWrapper from '../ReportWrapper';\nimport Scene from './Scene';\nimport RightPanel from '../Panels/RightPanel';\nimport LeftPanel from '../Panels/LeftPanel';\nimport SlidesPanel from '../Panels/SlidesPanel';\nimport AllSlidesPanel from '../Panels/AllSlidesPanel';\nimport { leftPanelConfigPropType } from '../../constants/propTypes';\nimport '../../styles/jfReportsBundle.scss';\n\nconst Builder = ({\n acceptedItems = {},\n additionalPageItems = [],\n disableInteraction = [],\n itemAccessor = () => {},\n lastScrollPosition = 0,\n leftPanelConfig = [],\n onAnEventTrigger = () => {},\n onItemAdd = () => {},\n onItemChange = () => {},\n onItemMove = () => {},\n onItemRemove = () => {},\n onItemResize = () => {},\n onItemsMove = () => {},\n onPageAdd = () => {},\n onPageChange = () => {},\n onPageDuplicate = () => {},\n onPageOrdersChange = () => {},\n onPageRemove = () => {},\n onRightPanelsToggled = () => {},\n onSettingChange = () => {},\n pages = [],\n settings = {},\n theme = 'lightMode',\n useExperimentalFeatures = false,\n ...otherProps\n}) => {\n const hashCode = objectHash(otherProps);\n\n return (\n <StrictMode>\n <BuilderProvider onRightPanelsToggled={onRightPanelsToggled}>\n <PropProvider\n acceptedItems={acceptedItems}\n disableInteraction={disableInteraction}\n onAnEventTrigger={onAnEventTrigger}\n settings={settings}\n useExperimentalFeatures={useExperimentalFeatures}\n >\n <ReportWrapper\n mode=\"customize\"\n pageCount={pages.length}\n theme={theme}\n >\n <DndWrapper>\n <LeftPanel\n leftPanelConfig={leftPanelConfig}\n onItemAdd={onItemAdd}\n />\n <Scene\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n lastScrollPosition={lastScrollPosition}\n onItemAdd={onItemAdd}\n onItemChange={onItemChange}\n onItemMove={onItemMove}\n onItemRemove={onItemRemove}\n onItemResize={onItemResize}\n onItemsMove={onItemsMove}\n onPageAdd={onPageAdd}\n onPageChange={onPageChange}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n </DndWrapper>\n <RightPanel\n itemAccessor={itemAccessor}\n onItemChange={onItemChange}\n onPageChange={onPageChange}\n onSettingChange={onSettingChange}\n pages={pages}\n />\n <SlidesPanel\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n {useExperimentalFeatures && (\n <AllSlidesPanel\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n )}\n </ReportWrapper>\n </PropProvider>\n </BuilderProvider>\n </StrictMode>\n );\n};\n\nBuilder.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 disableInteraction: PropTypes.arrayOf(PropTypes.string),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n leftPanelConfig: leftPanelConfigPropType,\n /** To track and log user actions */\n onAnEventTrigger: PropTypes.func,\n /** Function called upon adding an item */\n onItemAdd: PropTypes.func,\n /** Function called upon editing an item */\n onItemChange: PropTypes.func,\n /** Function called upon moving an item */\n onItemMove: PropTypes.func,\n /** Function called upon removing an item */\n onItemRemove: PropTypes.func,\n /** Function called upon resizing an item */\n onItemResize: PropTypes.func,\n onItemsMove: PropTypes.func,\n /** Function called upon adding a page */\n onPageAdd: PropTypes.func,\n /** Function called upon editing a page */\n onPageChange: PropTypes.func,\n /** Function called upon duplicating a page */\n onPageDuplicate: PropTypes.func,\n /** Function called upon reordering pages */\n onPageOrdersChange: PropTypes.func,\n /** Function called upon removing a page */\n onPageRemove: PropTypes.func,\n /** Function called when the slides or the right panel is\n * toggled takes a boolean value to indicate whether or\n * not the panel is toggled open.\n */\n onRightPanelsToggled: PropTypes.func,\n /** Function called upon editing a general report setting */\n onSettingChange: 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 useExperimentalFeatures: PropTypes.bool,\n};\n\nexport default Builder;\n"],"names":["Builder","acceptedItems","additionalPageItems","disableInteraction","itemAccessor","lastScrollPosition","leftPanelConfig","onAnEventTrigger","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onRightPanelsToggled","onSettingChange","pages","settings","theme","useExperimentalFeatures","otherProps","hashCode","objectHash","_jsx","StrictMode","BuilderProvider","PropProvider","_jsxs","length","propTypes","PropTypes","shape","arrayOf","node","string","func","number","leftPanelConfigPropType","oneOf","bool"],"mappings":"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"}
@@ -1,41 +1,39 @@
1
1
  'use strict';
2
2
 
3
3
  var PropTypes = require('prop-types');
4
- var HTML5Backend = require('react-dnd-html5-backend-cjs');
5
- var reactDndCjs = require('react-dnd-cjs');
6
- var MultiBackend = require('react-dnd-multi-backend');
7
- var TouchBackend = require('react-dnd-touch-backend-cjs');
4
+ var reactDnd = require('react-dnd');
5
+ var reactDndHtml5Backend = require('react-dnd-html5-backend');
6
+ var reactDndMultiBackend = require('react-dnd-multi-backend');
7
+ var reactDndTouchBackend = require('react-dnd-touch-backend');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
9
 
10
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
11
 
12
12
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
13
- var HTML5Backend__default = /*#__PURE__*/_interopDefaultLegacy(HTML5Backend);
14
- var MultiBackend__default = /*#__PURE__*/_interopDefaultLegacy(MultiBackend);
15
- var TouchBackend__default = /*#__PURE__*/_interopDefaultLegacy(TouchBackend);
16
13
 
17
- var HTML5toTouch = {
14
+ var MultiBackendOptions = {
18
15
  backends: [{
19
- backend: HTML5Backend__default['default'],
20
- transition: MultiBackend.MouseTransition
16
+ backend: reactDndHtml5Backend.HTML5Backend,
17
+ id: 'html5',
18
+ transition: reactDndMultiBackend.MouseTransition
21
19
  }, {
22
- backend: TouchBackend__default['default'],
20
+ backend: reactDndTouchBackend.TouchBackend,
21
+ id: 'touch',
23
22
  options: {
24
23
  delayTouchStart: 135,
25
24
  enableMouseEvents: true
26
25
  },
27
26
  preview: true,
28
- transition: MultiBackend.TouchTransition
27
+ transition: reactDndMultiBackend.TouchTransition
29
28
  }]
30
29
  };
31
30
 
32
31
  var DndWrapper = function DndWrapper(_ref) {
33
32
  var children = _ref.children;
34
33
  if (!children) return null;
35
- return /*#__PURE__*/jsxRuntime.jsx(reactDndCjs.DndProvider, {
36
- backend: MultiBackend__default['default'],
37
- context: window,
38
- options: HTML5toTouch,
34
+ return /*#__PURE__*/jsxRuntime.jsx(reactDnd.DndProvider, {
35
+ backend: reactDndMultiBackend.MultiBackend,
36
+ options: MultiBackendOptions,
39
37
  children: children
40
38
  });
41
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DndWrapper.js","sources":["../../../../src/components/Builder/DndWrapper.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport HTML5Backend from 'react-dnd-html5-backend-cjs';\nimport { DndProvider } from 'react-dnd-cjs';\nimport MultiBackend, { TouchTransition, MouseTransition } from 'react-dnd-multi-backend';\nimport TouchBackend from 'react-dnd-touch-backend-cjs';\n\nconst HTML5toTouch = {\n backends: [\n {\n backend: HTML5Backend,\n transition: MouseTransition,\n },\n {\n backend: TouchBackend,\n options: {\n delayTouchStart: 135,\n enableMouseEvents: true,\n },\n preview: true,\n transition: TouchTransition,\n },\n ],\n};\n\nconst DndWrapper = ({ children }) => {\n if (!children) return null;\n\n return (\n <DndProvider\n backend={MultiBackend}\n context={window}\n options={HTML5toTouch}\n >\n {children}\n </DndProvider>\n );\n};\n\nDndWrapper.propTypes = {\n children: PropTypes.node,\n};\n\nDndWrapper.defaultProps = {\n children: null,\n};\n\nexport default DndWrapper;\n"],"names":["HTML5toTouch","backends","backend","HTML5Backend","transition","MouseTransition","TouchBackend","options","delayTouchStart","enableMouseEvents","preview","TouchTransition","DndWrapper","children","_jsx","DndProvider","MultiBackend","window","propTypes","PropTypes","node","defaultProps"],"mappings":";;;;;;;;;;;;;;;;AAMA,IAAMA,YAAY,GAAG;AACnBC,EAAAA,QAAQ,EAAE,CACR;AACEC,IAAAA,OAAO,EAAEC,gCADX;AAEEC,IAAAA,UAAU,EAAEC;AAFd,GADQ,EAKR;AACEH,IAAAA,OAAO,EAAEI,gCADX;AAEEC,IAAAA,OAAO,EAAE;AACPC,MAAAA,eAAe,EAAE,GADV;AAEPC,MAAAA,iBAAiB,EAAE;AAFZ,KAFX;AAMEC,IAAAA,OAAO,EAAE,IANX;AAOEN,IAAAA,UAAU,EAAEO;AAPd,GALQ;AADS,CAArB;;IAkBMC,UAAU,GAAG,SAAbA,UAAa,OAAkB;AAAA,MAAfC,QAAe,QAAfA,QAAe;AACnC,MAAI,CAACA,QAAL,EAAe,OAAO,IAAP;AAEf,sBACEC,eAACC,uBAAD;AACE,IAAA,OAAO,EAAEC,gCADX;AAEE,IAAA,OAAO,EAAEC,MAFX;AAGE,IAAA,OAAO,EAAEjB,YAHX;AAAA,cAKGa;AALH,IADF;AASD;;AAEDD,UAAU,CAACM,SAAX,GAAuB;AACrBL,EAAAA,QAAQ,EAAEM,6BAAS,CAACC;AADC,CAAvB;AAIAR,UAAU,CAACS,YAAX,GAA0B;AACxBR,EAAAA,QAAQ,EAAE;AADc,CAA1B;;;;"}
1
+ {"version":3,"file":"DndWrapper.js","sources":["../../../../src/components/Builder/DndWrapper.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { MouseTransition, TouchTransition, MultiBackend } from 'react-dnd-multi-backend';\nimport { TouchBackend } from 'react-dnd-touch-backend';\n\nconst MultiBackendOptions = {\n backends: [\n {\n backend: HTML5Backend,\n id: 'html5',\n transition: MouseTransition,\n },\n {\n backend: TouchBackend,\n id: 'touch',\n options: {\n delayTouchStart: 135,\n enableMouseEvents: true,\n },\n preview: true,\n transition: TouchTransition,\n },\n ],\n};\n\nconst DndWrapper = ({ children }) => {\n if (!children) return null;\n\n return (\n <DndProvider\n backend={MultiBackend}\n options={MultiBackendOptions}\n >\n {children}\n </DndProvider>\n );\n};\n\nDndWrapper.propTypes = {\n children: PropTypes.node,\n};\n\nDndWrapper.defaultProps = {\n children: null,\n};\n\nexport default DndWrapper;\n"],"names":["MultiBackendOptions","backends","backend","HTML5Backend","id","transition","MouseTransition","TouchBackend","options","delayTouchStart","enableMouseEvents","preview","TouchTransition","DndWrapper","children","_jsx","DndProvider","MultiBackend","propTypes","PropTypes","node","defaultProps"],"mappings":";;;;;;;;;;;;;AAMA,IAAMA,mBAAmB,GAAG;AAC1BC,EAAAA,QAAQ,EAAE,CACR;AACEC,IAAAA,OAAO,EAAEC,iCADX;AAEEC,IAAAA,EAAE,EAAE,OAFN;AAGEC,IAAAA,UAAU,EAAEC;AAHd,GADQ,EAMR;AACEJ,IAAAA,OAAO,EAAEK,iCADX;AAEEH,IAAAA,EAAE,EAAE,OAFN;AAGEI,IAAAA,OAAO,EAAE;AACPC,MAAAA,eAAe,EAAE,GADV;AAEPC,MAAAA,iBAAiB,EAAE;AAFZ,KAHX;AAOEC,IAAAA,OAAO,EAAE,IAPX;AAQEN,IAAAA,UAAU,EAAEO;AARd,GANQ;AADgB,CAA5B;;IAoBMC,UAAU,GAAG,SAAbA,UAAa,OAAkB;AAAA,MAAfC,QAAe,QAAfA,QAAe;AACnC,MAAI,CAACA,QAAL,EAAe,OAAO,IAAP;AAEf,sBACEC,eAACC,oBAAD;AACE,IAAA,OAAO,EAAEC,iCADX;AAEE,IAAA,OAAO,EAAEjB,mBAFX;AAAA,cAIGc;AAJH,IADF;AAQD;;AAEDD,UAAU,CAACK,SAAX,GAAuB;AACrBJ,EAAAA,QAAQ,EAAEK,6BAAS,CAACC;AADC,CAAvB;AAIAP,UAAU,CAACQ,YAAX,GAA0B;AACxBP,EAAAA,QAAQ,EAAE;AADc,CAA1B;;;;"}
@@ -2,8 +2,8 @@
2
2
 
3
3
  var React = require('react');
4
4
  var PropTypes = require('prop-types');
5
- var reactDndCjs = require('react-dnd-cjs');
6
- var HTML5Backend = require('react-dnd-html5-backend-cjs');
5
+ var reactDnd = require('react-dnd');
6
+ var reactDndHtml5Backend = require('react-dnd-html5-backend');
7
7
  var itemTypes = require('../../constants/itemTypes.js');
8
8
  var functions = require('../../utils/functions.js');
9
9
  var generateId = require('../../utils/generateId.js');
@@ -52,27 +52,31 @@ var Element = function Element(_ref) {
52
52
  zoom = _ref.zoom,
53
53
  additionalData = _objectWithoutProperties(_ref, _excluded);
54
54
 
55
- var _useDrag = reactDndCjs.useDrag({
56
- collect: function collect(monitor) {
57
- return {
58
- isDragging: monitor.isDragging()
59
- };
60
- },
61
- item: _objectSpread({
62
- itemType: itemType,
63
- type: itemTypes.DROPPABLE_ITEM_TYPE
64
- }, additionalData)
65
- }),
55
+ var _useDrag = reactDnd.useDrag(function () {
56
+ return {
57
+ collect: function collect(monitor) {
58
+ return {
59
+ isDragging: monitor.isDragging()
60
+ };
61
+ },
62
+ item: function item() {
63
+ return _objectSpread({
64
+ itemType: itemType
65
+ }, additionalData);
66
+ },
67
+ type: itemType !== null && itemType !== void 0 ? itemType : itemTypes.DROPPABLE_ITEM_TYPE
68
+ };
69
+ }, [itemType, additionalData]),
66
70
  _useDrag2 = _slicedToArray(_useDrag, 3),
67
71
  isDragging = _useDrag2[0].isDragging,
68
72
  drag = _useDrag2[1],
69
73
  preview = _useDrag2[2];
70
74
 
71
75
  React.useEffect(function () {
72
- preview(HTML5Backend.getEmptyImage(), {
76
+ preview(reactDndHtml5Backend.getEmptyImage(), {
73
77
  captureDraggingState: true
74
78
  });
75
- });
79
+ }, [preview]);
76
80
 
77
81
  var onElementClick = function onElementClick() {
78
82
  var itemID = generateId();
@@ -1 +1 @@
1
- {"version":3,"file":"Element.js","sources":["../../../../src/components/Builder/Element.js"],"sourcesContent":["import { useEffect, memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrag } from 'react-dnd-cjs';\nimport { getEmptyImage } from 'react-dnd-html5-backend-cjs';\nimport { DROPPABLE_ITEM_TYPE } from '../../constants/itemTypes';\nimport {\n getMostVisiblePage, getExactIconType, getAvailableCoordinate,\n} from '../../utils/functions';\nimport generateId from '../../utils/generateId';\nimport * as icons from '../../utils/icons';\n\nconst Element = ({\n acceptedItems,\n icon,\n iconType,\n itemType,\n onAnEventTrigger,\n onItemAdd,\n setActiveElement,\n setIsRightPanelOpen,\n title,\n zoom,\n ...additionalData\n}) => {\n const [{ isDragging }, drag, preview] = useDrag({\n collect: monitor => ({\n isDragging: monitor.isDragging(),\n }),\n item: {\n itemType,\n type: DROPPABLE_ITEM_TYPE,\n ...additionalData,\n },\n });\n\n useEffect(() => {\n preview(getEmptyImage(), { captureDraggingState: true });\n });\n\n const onElementClick = () => {\n const itemID = generateId();\n const page = getMostVisiblePage();\n let left = 0;\n let top = 0;\n if (page) { // for test\n [left, top] = getAvailableCoordinate(page, zoom);\n }\n onItemAdd({\n ...acceptedItems[itemType].details,\n ...additionalData,\n id: itemID,\n left,\n pageID: page.id,\n top,\n });\n onAnEventTrigger('reportItemAdd', itemType);\n setActiveElement(itemID);\n setIsRightPanelOpen(true);\n };\n\n const onElementOtherActions = () => {};\n\n const exactIconType = getExactIconType(iconType);\n const Icon = icons[exactIconType] ? icons[exactIconType] : icons.label;\n return (\n <>\n <div\n ref={drag}\n className=\"toolItem d-flex a-center js-toolItem\"\n onClick={onElementClick}\n onKeyDown={onElementOtherActions}\n style={{ opacity: isDragging ? 0.5 : 1 }}\n title={title}\n >\n <span className=\"toolItem-icon d-flex j-center a-center\">\n {icon ? icon : (\n <Icon className={`jfReportSVG icon-question icon-${iconType}`} />\n )}\n </span>\n <span className=\"js-toolItemName toolItem-name d-flex a-center\">\n { title }\n </span>\n </div>\n </>\n );\n};\n\nElement.propTypes = {\n acceptedItems: PropTypes.shape({}),\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n iconType: PropTypes.string,\n itemType: PropTypes.string,\n onAnEventTrigger: PropTypes.func,\n onItemAdd: PropTypes.func,\n setActiveElement: PropTypes.func,\n setIsRightPanelOpen: PropTypes.func,\n title: PropTypes.string,\n zoom: PropTypes.number,\n};\n\nElement.defaultProps = {\n acceptedItems: {},\n icon: null,\n iconType: '',\n itemType: '',\n onAnEventTrigger: () => {},\n onItemAdd: () => {},\n setActiveElement: () => {},\n setIsRightPanelOpen: () => {},\n title: '',\n zoom: 1,\n};\n\nexport default memo(Element);\n"],"names":["Element","acceptedItems","icon","iconType","itemType","onAnEventTrigger","onItemAdd","setActiveElement","setIsRightPanelOpen","title","zoom","additionalData","useDrag","collect","monitor","isDragging","item","type","DROPPABLE_ITEM_TYPE","drag","preview","useEffect","getEmptyImage","captureDraggingState","onElementClick","itemID","generateId","page","getMostVisiblePage","left","top","getAvailableCoordinate","details","id","pageID","onElementOtherActions","exactIconType","getExactIconType","Icon","icons","_jsx","_jsxs","opacity","propTypes","PropTypes","shape","oneOfType","element","func","string","number","defaultProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"Element.js","sources":["../../../../src/components/Builder/Element.js"],"sourcesContent":["import { useEffect, memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrag } from 'react-dnd';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { DROPPABLE_ITEM_TYPE } from '../../constants/itemTypes';\nimport {\n getMostVisiblePage, getExactIconType, getAvailableCoordinate,\n} from '../../utils/functions';\nimport generateId from '../../utils/generateId';\nimport * as icons from '../../utils/icons';\n\nconst Element = ({\n acceptedItems,\n icon,\n iconType,\n itemType,\n onAnEventTrigger,\n onItemAdd,\n setActiveElement,\n setIsRightPanelOpen,\n title,\n zoom,\n ...additionalData\n}) => {\n const [{ isDragging }, drag, preview] = useDrag(() => ({\n collect: monitor => ({\n isDragging: monitor.isDragging(),\n }),\n\n item: () => ({\n itemType,\n ...additionalData,\n }),\n\n type: itemType ?? DROPPABLE_ITEM_TYPE,\n }), [itemType, additionalData]);\n\n useEffect(() => {\n preview(getEmptyImage(), { captureDraggingState: true });\n }, [preview]);\n\n const onElementClick = () => {\n const itemID = generateId();\n const page = getMostVisiblePage();\n let left = 0;\n let top = 0;\n if (page) { // for test\n [left, top] = getAvailableCoordinate(page, zoom);\n }\n onItemAdd({\n ...acceptedItems[itemType].details,\n ...additionalData,\n id: itemID,\n left,\n pageID: page.id,\n top,\n });\n onAnEventTrigger('reportItemAdd', itemType);\n setActiveElement(itemID);\n setIsRightPanelOpen(true);\n };\n\n const onElementOtherActions = () => {};\n\n const exactIconType = getExactIconType(iconType);\n const Icon = icons[exactIconType] ? icons[exactIconType] : icons.label;\n return (\n <>\n <div\n ref={drag}\n className=\"toolItem d-flex a-center js-toolItem\"\n onClick={onElementClick}\n onKeyDown={onElementOtherActions}\n style={{ opacity: isDragging ? 0.5 : 1 }}\n title={title}\n >\n <span className=\"toolItem-icon d-flex j-center a-center\">\n {icon ? icon : (\n <Icon className={`jfReportSVG icon-question icon-${iconType}`} />\n )}\n </span>\n <span className=\"js-toolItemName toolItem-name d-flex a-center\">\n { title }\n </span>\n </div>\n </>\n );\n};\n\nElement.propTypes = {\n acceptedItems: PropTypes.shape({}),\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n iconType: PropTypes.string,\n itemType: PropTypes.string,\n onAnEventTrigger: PropTypes.func,\n onItemAdd: PropTypes.func,\n setActiveElement: PropTypes.func,\n setIsRightPanelOpen: PropTypes.func,\n title: PropTypes.string,\n zoom: PropTypes.number,\n};\n\nElement.defaultProps = {\n acceptedItems: {},\n icon: null,\n iconType: '',\n itemType: '',\n onAnEventTrigger: () => {},\n onItemAdd: () => {},\n setActiveElement: () => {},\n setIsRightPanelOpen: () => {},\n title: '',\n zoom: 1,\n};\n\nexport default memo(Element);\n"],"names":["Element","acceptedItems","icon","iconType","itemType","onAnEventTrigger","onItemAdd","setActiveElement","setIsRightPanelOpen","title","zoom","additionalData","useDrag","collect","monitor","isDragging","item","type","DROPPABLE_ITEM_TYPE","drag","preview","useEffect","getEmptyImage","captureDraggingState","onElementClick","itemID","generateId","page","getMostVisiblePage","left","top","getAvailableCoordinate","details","id","pageID","onElementOtherActions","exactIconType","getExactIconType","Icon","icons","_jsx","_jsxs","opacity","propTypes","PropTypes","shape","oneOfType","element","func","string","number","defaultProps","memo"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var PropTypes = require('prop-types');
5
- var reactDndCjs = require('react-dnd-cjs');
5
+ var reactDnd = require('react-dnd');
6
6
  var itemTypes = require('../../constants/itemTypes.js');
7
7
  var AlignmentGuides = require('../AlignmentGuides.js');
8
8
  var ReportItemsWrapper = require('../ReportItemsWrapper.js');
@@ -108,16 +108,20 @@ var Page = function Page(_ref) {
108
108
  }
109
109
  };
110
110
 
111
- var _useDrop = reactDndCjs.useDrop({
112
- accept: itemTypes.ACCEPTED_TYPES,
113
- collect: function collect(monitor) {
114
- return {
115
- isOver: monitor.isOver()
116
- };
117
- },
118
- drop: onDrop,
119
- hover: onHover
120
- }),
111
+ var dropConfig = React.useMemo(function () {
112
+ return {
113
+ accept: itemTypes.ACCEPTED_TYPES,
114
+ collect: function collect(monitor) {
115
+ return {
116
+ isOver: monitor.isOver()
117
+ };
118
+ },
119
+ drop: onDrop,
120
+ hover: onHover
121
+ };
122
+ }, [onDrop, onHover]);
123
+
124
+ var _useDrop = reactDnd.useDrop(dropConfig),
121
125
  _useDrop2 = _slicedToArray(_useDrop, 2),
122
126
  isOver = _useDrop2[0].isOver,
123
127
  drop = _useDrop2[1];
@@ -1 +1 @@
1
- {"version":3,"file":"Page.js","sources":["../../../../src/components/Builder/Page.js"],"sourcesContent":["import {\n useState,\n useRef,\n memo,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrop } from 'react-dnd-cjs';\nimport { ACCEPTED_TYPES } from '../../constants/itemTypes';\nimport AlignmentGuides from '../AlignmentGuides';\nimport ReportItemsWrapper from '../ReportItemsWrapper';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { usePropContext } from '../../utils/propContext';\nimport {\n proximityListener,\n calculateGuidePositions,\n getCorrectDroppedOffsetValue,\n} from '../../utils/functions';\nimport * as classNames from '../../constants/classNames';\n\nconst emptyObject = {};\n\nconst Page = ({\n activeElement,\n additionalPageItems,\n guides,\n hashCode,\n itemAccessor,\n items,\n onDrop,\n onItemAdd,\n onItemChange,\n onItemRemove,\n onItemResize,\n page,\n pageRef,\n style,\n}) => {\n const {\n isRightPanelOpen,\n isTextEditorOpen,\n setActiveElement,\n setContextMenuProps,\n setIsRightPanelOpen,\n zoom,\n } = useBuilderContext();\n const { acceptedItems, onAnEventTrigger, settings } = usePropContext();\n const [matches, setMatches] = useState({});\n const [isResize, setIsResize] = useState(false);\n const requestRef = useRef();\n\n const drawAlignmentGuides = (item, monitor) => {\n return () => {\n try {\n if (!monitor || monitor.getSourceClientOffset() === null) {\n requestRef.current = undefined;\n return;\n }\n const coords = getCorrectDroppedOffsetValue(\n monitor,\n pageRef.current.getBoundingClientRect(),\n zoom,\n );\n const activeItem = {\n ...item, ...coords,\n };\n const _guides = {\n ...guides,\n [item.id]: {\n ...guides[item.id],\n x: calculateGuidePositions(activeItem, 'x', zoom),\n y: calculateGuidePositions(activeItem, 'y', zoom),\n },\n };\n const match = proximityListener(item.id, _guides);\n setMatches(match);\n requestRef.current = undefined;\n } catch (error) {\n setMatches({});\n }\n };\n };\n\n const onHover = (item, monitor) => {\n if (!requestRef.current) {\n requestRef.current = global.requestAnimationFrame(drawAlignmentGuides(item, monitor));\n }\n };\n\n const [{ isOver }, drop] = useDrop({\n accept: ACCEPTED_TYPES,\n collect: monitor => {\n return {\n isOver: monitor.isOver(),\n };\n },\n drop: onDrop,\n hover: onHover,\n });\n\n const { reportBackgroundColor } = settings;\n const { backgroundColor } = page;\n const bgColor = backgroundColor ? backgroundColor : reportBackgroundColor || '#fff';\n\n return (\n <>\n <div\n ref={drop}\n className={classNames.pageContainer}\n style={{\n backgroundColor: bgColor,\n ...style,\n }}\n >\n <div className=\"jfReport-hider o-hidden f-all p-relative\">\n <ReportItemsWrapper\n acceptedItems={acceptedItems}\n activeElement={activeElement}\n guides={guides}\n hashCode={hashCode}\n isResize={isResize}\n isRightPanelOpen={isRightPanelOpen}\n isTextEditorOpen={isTextEditorOpen}\n itemAccessor={itemAccessor}\n // if we send matches all the time, DraggableItems are also rendered on dragging\n items={items}\n matches={isResize ? matches : emptyObject}\n onAnEventTrigger={onAnEventTrigger}\n onItemAdd={onItemAdd}\n onItemChange={onItemChange}\n onItemRemove={onItemRemove}\n onItemResize={onItemResize}\n setActiveElement={setActiveElement}\n setContextMenuProps={setContextMenuProps}\n setIsResize={setIsResize}\n setIsRightPanelOpen={setIsRightPanelOpen}\n setMatches={setMatches}\n zoom={zoom}\n />\n {additionalPageItems}\n <AlignmentGuides\n axis=\"x\"\n guides={guides}\n matches={matches}\n show={(isOver || isResize)}\n zoom={zoom}\n />\n <AlignmentGuides\n axis=\"y\"\n guides={guides}\n matches={matches}\n show={(isOver || isResize)}\n zoom={zoom}\n />\n </div>\n </div>\n </>\n );\n};\n\nPage.propTypes = {\n activeElement: PropTypes.arrayOf(PropTypes.string),\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n guides: PropTypes.shape({}),\n hashCode: PropTypes.string,\n itemAccessor: PropTypes.func,\n items: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n onDrop: PropTypes.func,\n onItemAdd: PropTypes.func,\n onItemChange: PropTypes.func,\n onItemRemove: PropTypes.func,\n onItemResize: PropTypes.func,\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n }),\n pageRef: PropTypes.shape({\n current: PropTypes.any,\n }),\n style: PropTypes.shape({}),\n};\n\nPage.defaultProps = {\n activeElement: null,\n additionalPageItems: [],\n guides: {},\n hashCode: '',\n itemAccessor: () => {},\n items: [],\n onDrop: () => {},\n onItemAdd: () => {},\n onItemChange: () => {},\n onItemRemove: () => {},\n onItemResize: () => {},\n page: {},\n pageRef: {},\n style: {},\n};\n\nexport default memo(Page);\n"],"names":["emptyObject","Page","activeElement","additionalPageItems","guides","hashCode","itemAccessor","items","onDrop","onItemAdd","onItemChange","onItemRemove","onItemResize","page","pageRef","style","useBuilderContext","isRightPanelOpen","isTextEditorOpen","setActiveElement","setContextMenuProps","setIsRightPanelOpen","zoom","usePropContext","acceptedItems","onAnEventTrigger","settings","useState","matches","setMatches","isResize","setIsResize","requestRef","useRef","drawAlignmentGuides","item","monitor","getSourceClientOffset","current","undefined","coords","getCorrectDroppedOffsetValue","getBoundingClientRect","activeItem","_guides","id","x","calculateGuidePositions","y","match","proximityListener","error","onHover","global","requestAnimationFrame","useDrop","accept","ACCEPTED_TYPES","collect","isOver","drop","hover","reportBackgroundColor","backgroundColor","bgColor","_jsx","classNames","_jsxs","propTypes","PropTypes","arrayOf","string","node","shape","func","any","defaultProps","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAMA,WAAW,GAAG,EAApB;;AAEA,IAAMC,IAAI,GAAG,SAAPA,IAAO,OAeP;AAAA,MAdJC,aAcI,QAdJA,aAcI;AAAA,MAbJC,mBAaI,QAbJA,mBAaI;AAAA,MAZJC,MAYI,QAZJA,MAYI;AAAA,MAXJC,QAWI,QAXJA,QAWI;AAAA,MAVJC,YAUI,QAVJA,YAUI;AAAA,MATJC,KASI,QATJA,KASI;AAAA,MARJC,MAQI,QARJA,MAQI;AAAA,MAPJC,SAOI,QAPJA,SAOI;AAAA,MANJC,YAMI,QANJA,YAMI;AAAA,MALJC,YAKI,QALJA,YAKI;AAAA,MAJJC,YAII,QAJJA,YAII;AAAA,MAHJC,IAGI,QAHJA,IAGI;AAAA,MAFJC,OAEI,QAFJA,OAEI;AAAA,MADJC,KACI,QADJA,KACI;;AACJ,2BAOIC,gCAAiB,EAPrB;AAAA,MACEC,gBADF,sBACEA,gBADF;AAAA,MAEEC,gBAFF,sBAEEA,gBAFF;AAAA,MAGEC,gBAHF,sBAGEA,gBAHF;AAAA,MAIEC,mBAJF,sBAIEA,mBAJF;AAAA,MAKEC,mBALF,sBAKEA,mBALF;AAAA,MAMEC,IANF,sBAMEA,IANF;;AAQA,wBAAsDC,0BAAc,EAApE;AAAA,MAAQC,aAAR,mBAAQA,aAAR;AAAA,MAAuBC,gBAAvB,mBAAuBA,gBAAvB;AAAA,MAAyCC,QAAzC,mBAAyCA,QAAzC;;AACA,kBAA8BC,cAAQ,CAAC,EAAD,CAAtC;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AACA,mBAAgCF,cAAQ,CAAC,KAAD,CAAxC;AAAA;AAAA,MAAOG,QAAP;AAAA,MAAiBC,WAAjB;;AACA,MAAMC,UAAU,GAAGC,YAAM,EAAzB;;AAEA,MAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,IAAD,EAAOC,OAAP,EAAmB;AAC7C,WAAO,YAAM;AACX,UAAI;AACF,YAAI,CAACA,OAAD,IAAYA,OAAO,CAACC,qBAAR,OAAoC,IAApD,EAA0D;AACxDL,UAAAA,UAAU,CAACM,OAAX,GAAqBC,SAArB;AACA;AACD;;AACD,YAAMC,MAAM,GAAGC,sCAA4B,CACzCL,OADyC,EAEzCtB,OAAO,CAACwB,OAAR,CAAgBI,qBAAhB,EAFyC,EAGzCpB,IAHyC,CAA3C;;AAKA,YAAMqB,UAAU,mCACXR,IADW,GACFK,MADE,CAAhB;;AAGA,YAAMI,OAAO,mCACRxC,MADQ,2BAEV+B,IAAI,CAACU,EAFK,kCAGNzC,MAAM,CAAC+B,IAAI,CAACU,EAAN,CAHA;AAITC,UAAAA,CAAC,EAAEC,iCAAuB,CAACJ,UAAD,EAAa,GAAb,EAAkBrB,IAAlB,CAJjB;AAKT0B,UAAAA,CAAC,EAAED,iCAAuB,CAACJ,UAAD,EAAa,GAAb,EAAkBrB,IAAlB;AALjB,YAAb;;AAQA,YAAM2B,KAAK,GAAGC,2BAAiB,CAACf,IAAI,CAACU,EAAN,EAAUD,OAAV,CAA/B;AACAf,QAAAA,UAAU,CAACoB,KAAD,CAAV;AACAjB,QAAAA,UAAU,CAACM,OAAX,GAAqBC,SAArB;AACD,OAxBD,CAwBE,OAAOY,KAAP,EAAc;AACdtB,QAAAA,UAAU,CAAC,EAAD,CAAV;AACD;AACF,KA5BD;AA6BD,GA9BD;;AAgCA,MAAMuB,OAAO,GAAG,SAAVA,OAAU,CAACjB,IAAD,EAAOC,OAAP,EAAmB;AACjC,QAAI,CAACJ,UAAU,CAACM,OAAhB,EAAyB;AACvBN,MAAAA,UAAU,CAACM,OAAX,GAAqBe,MAAM,CAACC,qBAAP,CAA6BpB,mBAAmB,CAACC,IAAD,EAAOC,OAAP,CAAhD,CAArB;AACD;AACF,GAJD;;AAMA,iBAA2BmB,mBAAO,CAAC;AACjCC,IAAAA,MAAM,EAAEC,wBADyB;AAEjCC,IAAAA,OAAO,EAAE,iBAAAtB,OAAO,EAAI;AAClB,aAAO;AACLuB,QAAAA,MAAM,EAAEvB,OAAO,CAACuB,MAAR;AADH,OAAP;AAGD,KANgC;AAOjCC,IAAAA,IAAI,EAAEpD,MAP2B;AAQjCqD,IAAAA,KAAK,EAAET;AAR0B,GAAD,CAAlC;AAAA;AAAA,MAASO,MAAT,gBAASA,MAAT;AAAA,MAAmBC,IAAnB;;AAWA,MAAQE,qBAAR,GAAkCpC,QAAlC,CAAQoC,qBAAR;AACA,MAAQC,eAAR,GAA4BlD,IAA5B,CAAQkD,eAAR;AACA,MAAMC,OAAO,GAAGD,eAAe,GAAGA,eAAH,GAAqBD,qBAAqB,IAAI,MAA7E;AAEA,sBACEG;AAAA,2BACEA;AACE,MAAA,GAAG,EAAEL,IADP;AAEE,MAAA,SAAS,EAAEM,wBAFb;AAGE,MAAA,KAAK;AACHH,QAAAA,eAAe,EAAEC;AADd,SAEAjD,KAFA,CAHP;AAAA,6BAQEoD;AAAK,QAAA,SAAS,EAAC,0CAAf;AAAA,gCACEF,eAAC,kBAAD;AACE,UAAA,aAAa,EAAEzC,aADjB;AAEE,UAAA,aAAa,EAAEtB,aAFjB;AAGE,UAAA,MAAM,EAAEE,MAHV;AAIE,UAAA,QAAQ,EAAEC,QAJZ;AAKE,UAAA,QAAQ,EAAEyB,QALZ;AAME,UAAA,gBAAgB,EAAEb,gBANpB;AAOE,UAAA,gBAAgB,EAAEC,gBAPpB;AAQE,UAAA,YAAY,EAAEZ,YARhB;AAAA;AAUE,UAAA,KAAK,EAAEC,KAVT;AAWE,UAAA,OAAO,EAAEuB,QAAQ,GAAGF,OAAH,GAAa5B,WAXhC;AAYE,UAAA,gBAAgB,EAAEyB,gBAZpB;AAaE,UAAA,SAAS,EAAEhB,SAbb;AAcE,UAAA,YAAY,EAAEC,YAdhB;AAeE,UAAA,YAAY,EAAEC,YAfhB;AAgBE,UAAA,YAAY,EAAEC,YAhBhB;AAiBE,UAAA,gBAAgB,EAAEO,gBAjBpB;AAkBE,UAAA,mBAAmB,EAAEC,mBAlBvB;AAmBE,UAAA,WAAW,EAAEW,WAnBf;AAoBE,UAAA,mBAAmB,EAAEV,mBApBvB;AAqBE,UAAA,UAAU,EAAEQ,UArBd;AAsBE,UAAA,IAAI,EAAEP;AAtBR,UADF,EAyBGnB,mBAzBH,eA0BE8D,eAAC,eAAD;AACE,UAAA,IAAI,EAAC,GADP;AAEE,UAAA,MAAM,EAAE7D,MAFV;AAGE,UAAA,OAAO,EAAEwB,OAHX;AAIE,UAAA,IAAI,EAAG+B,MAAM,IAAI7B,QAJnB;AAKE,UAAA,IAAI,EAAER;AALR,UA1BF,eAiCE2C,eAAC,eAAD;AACE,UAAA,IAAI,EAAC,GADP;AAEE,UAAA,MAAM,EAAE7D,MAFV;AAGE,UAAA,OAAO,EAAEwB,OAHX;AAIE,UAAA,IAAI,EAAG+B,MAAM,IAAI7B,QAJnB;AAKE,UAAA,IAAI,EAAER;AALR,UAjCF;AAAA;AARF;AADF,IADF;AAsDD,CAxID;;AA0IArB,IAAI,CAACmE,SAAL,GAAiB;AACflE,EAAAA,aAAa,EAAEmE,6BAAS,CAACC,OAAV,CAAkBD,6BAAS,CAACE,MAA5B,CADA;AAEfpE,EAAAA,mBAAmB,EAAEkE,6BAAS,CAACC,OAAV,CAAkBD,6BAAS,CAACG,IAA5B,CAFN;AAGfpE,EAAAA,MAAM,EAAEiE,6BAAS,CAACI,KAAV,CAAgB,EAAhB,CAHO;AAIfpE,EAAAA,QAAQ,EAAEgE,6BAAS,CAACE,MAJL;AAKfjE,EAAAA,YAAY,EAAE+D,6BAAS,CAACK,IALT;AAMfnE,EAAAA,KAAK,EAAE8D,6BAAS,CAACC,OAAV,CACLD,6BAAS,CAACI,KAAV,CAAgB,EAAhB,CADK,CANQ;AASfjE,EAAAA,MAAM,EAAE6D,6BAAS,CAACK,IATH;AAUfjE,EAAAA,SAAS,EAAE4D,6BAAS,CAACK,IAVN;AAWfhE,EAAAA,YAAY,EAAE2D,6BAAS,CAACK,IAXT;AAYf/D,EAAAA,YAAY,EAAE0D,6BAAS,CAACK,IAZT;AAaf9D,EAAAA,YAAY,EAAEyD,6BAAS,CAACK,IAbT;AAcf7D,EAAAA,IAAI,EAAEwD,6BAAS,CAACI,KAAV,CAAgB;AACpBV,IAAAA,eAAe,EAAEM,6BAAS,CAACE;AADP,GAAhB,CAdS;AAiBfzD,EAAAA,OAAO,EAAEuD,6BAAS,CAACI,KAAV,CAAgB;AACvBnC,IAAAA,OAAO,EAAE+B,6BAAS,CAACM;AADI,GAAhB,CAjBM;AAoBf5D,EAAAA,KAAK,EAAEsD,6BAAS,CAACI,KAAV,CAAgB,EAAhB;AApBQ,CAAjB;AAuBAxE,IAAI,CAAC2E,YAAL,GAAoB;AAClB1E,EAAAA,aAAa,EAAE,IADG;AAElBC,EAAAA,mBAAmB,EAAE,EAFH;AAGlBC,EAAAA,MAAM,EAAE,EAHU;AAIlBC,EAAAA,QAAQ,EAAE,EAJQ;AAKlBC,EAAAA,YAAY,EAAE,wBAAM,EALF;AAMlBC,EAAAA,KAAK,EAAE,EANW;AAOlBC,EAAAA,MAAM,EAAE,kBAAM,EAPI;AAQlBC,EAAAA,SAAS,EAAE,qBAAM,EARC;AASlBC,EAAAA,YAAY,EAAE,wBAAM,EATF;AAUlBC,EAAAA,YAAY,EAAE,wBAAM,EAVF;AAWlBC,EAAAA,YAAY,EAAE,wBAAM,EAXF;AAYlBC,EAAAA,IAAI,EAAE,EAZY;AAalBC,EAAAA,OAAO,EAAE,EAbS;AAclBC,EAAAA,KAAK,EAAE;AAdW,CAApB;AAiBA,0BAAe8D,UAAI,CAAC5E,IAAD,CAAnB;;;;"}
1
+ {"version":3,"file":"Page.js","sources":["../../../../src/components/Builder/Page.js"],"sourcesContent":["import {\n useState,\n useRef,\n memo,\n useMemo,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrop } from 'react-dnd';\nimport { ACCEPTED_TYPES } from '../../constants/itemTypes';\nimport AlignmentGuides from '../AlignmentGuides';\nimport ReportItemsWrapper from '../ReportItemsWrapper';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { usePropContext } from '../../utils/propContext';\nimport {\n proximityListener,\n calculateGuidePositions,\n getCorrectDroppedOffsetValue,\n} from '../../utils/functions';\nimport * as classNames from '../../constants/classNames';\n\nconst emptyObject = {};\n\nconst Page = ({\n activeElement,\n additionalPageItems,\n guides,\n hashCode,\n itemAccessor,\n items,\n onDrop,\n onItemAdd,\n onItemChange,\n onItemRemove,\n onItemResize,\n page,\n pageRef,\n style,\n}) => {\n const {\n isRightPanelOpen,\n isTextEditorOpen,\n setActiveElement,\n setContextMenuProps,\n setIsRightPanelOpen,\n zoom,\n } = useBuilderContext();\n const { acceptedItems, onAnEventTrigger, settings } = usePropContext();\n const [matches, setMatches] = useState({});\n const [isResize, setIsResize] = useState(false);\n const requestRef = useRef();\n\n const drawAlignmentGuides = (item, monitor) => {\n return () => {\n try {\n if (!monitor || monitor.getSourceClientOffset() === null) {\n requestRef.current = undefined;\n return;\n }\n const coords = getCorrectDroppedOffsetValue(\n monitor,\n pageRef.current.getBoundingClientRect(),\n zoom,\n );\n const activeItem = {\n ...item, ...coords,\n };\n const _guides = {\n ...guides,\n [item.id]: {\n ...guides[item.id],\n x: calculateGuidePositions(activeItem, 'x', zoom),\n y: calculateGuidePositions(activeItem, 'y', zoom),\n },\n };\n const match = proximityListener(item.id, _guides);\n setMatches(match);\n requestRef.current = undefined;\n } catch (error) {\n setMatches({});\n }\n };\n };\n\n const onHover = (item, monitor) => {\n if (!requestRef.current) {\n requestRef.current = global.requestAnimationFrame(drawAlignmentGuides(item, monitor));\n }\n };\n\n const dropConfig = useMemo(() => ({\n accept: ACCEPTED_TYPES,\n collect: monitor => {\n return {\n isOver: monitor.isOver(),\n };\n },\n drop: onDrop,\n hover: onHover,\n }), [onDrop, onHover]);\n\n const [{ isOver }, drop] = useDrop(dropConfig);\n\n const { reportBackgroundColor } = settings;\n const { backgroundColor } = page;\n const bgColor = backgroundColor ? backgroundColor : reportBackgroundColor || '#fff';\n\n return (\n <>\n <div\n ref={drop}\n className={classNames.pageContainer}\n style={{\n backgroundColor: bgColor,\n ...style,\n }}\n >\n <div className=\"jfReport-hider o-hidden f-all p-relative\">\n <ReportItemsWrapper\n acceptedItems={acceptedItems}\n activeElement={activeElement}\n guides={guides}\n hashCode={hashCode}\n isResize={isResize}\n isRightPanelOpen={isRightPanelOpen}\n isTextEditorOpen={isTextEditorOpen}\n itemAccessor={itemAccessor}\n // if we send matches all the time, DraggableItems are also rendered on dragging\n items={items}\n matches={isResize ? matches : emptyObject}\n onAnEventTrigger={onAnEventTrigger}\n onItemAdd={onItemAdd}\n onItemChange={onItemChange}\n onItemRemove={onItemRemove}\n onItemResize={onItemResize}\n setActiveElement={setActiveElement}\n setContextMenuProps={setContextMenuProps}\n setIsResize={setIsResize}\n setIsRightPanelOpen={setIsRightPanelOpen}\n setMatches={setMatches}\n zoom={zoom}\n />\n {additionalPageItems}\n <AlignmentGuides\n axis=\"x\"\n guides={guides}\n matches={matches}\n show={(isOver || isResize)}\n zoom={zoom}\n />\n <AlignmentGuides\n axis=\"y\"\n guides={guides}\n matches={matches}\n show={(isOver || isResize)}\n zoom={zoom}\n />\n </div>\n </div>\n </>\n );\n};\n\nPage.propTypes = {\n activeElement: PropTypes.arrayOf(PropTypes.string),\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n guides: PropTypes.shape({}),\n hashCode: PropTypes.string,\n itemAccessor: PropTypes.func,\n items: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n onDrop: PropTypes.func,\n onItemAdd: PropTypes.func,\n onItemChange: PropTypes.func,\n onItemRemove: PropTypes.func,\n onItemResize: PropTypes.func,\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n }),\n pageRef: PropTypes.shape({\n current: PropTypes.any,\n }),\n style: PropTypes.shape({}),\n};\n\nPage.defaultProps = {\n activeElement: null,\n additionalPageItems: [],\n guides: {},\n hashCode: '',\n itemAccessor: () => {},\n items: [],\n onDrop: () => {},\n onItemAdd: () => {},\n onItemChange: () => {},\n onItemRemove: () => {},\n onItemResize: () => {},\n page: {},\n pageRef: {},\n style: {},\n};\n\nexport default memo(Page);\n"],"names":["emptyObject","Page","activeElement","additionalPageItems","guides","hashCode","itemAccessor","items","onDrop","onItemAdd","onItemChange","onItemRemove","onItemResize","page","pageRef","style","useBuilderContext","isRightPanelOpen","isTextEditorOpen","setActiveElement","setContextMenuProps","setIsRightPanelOpen","zoom","usePropContext","acceptedItems","onAnEventTrigger","settings","useState","matches","setMatches","isResize","setIsResize","requestRef","useRef","drawAlignmentGuides","item","monitor","getSourceClientOffset","current","undefined","coords","getCorrectDroppedOffsetValue","getBoundingClientRect","activeItem","_guides","id","x","calculateGuidePositions","y","match","proximityListener","error","onHover","global","requestAnimationFrame","dropConfig","useMemo","accept","ACCEPTED_TYPES","collect","isOver","drop","hover","useDrop","reportBackgroundColor","backgroundColor","bgColor","_jsx","classNames","_jsxs","propTypes","PropTypes","arrayOf","string","node","shape","func","any","defaultProps","memo"],"mappings":"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"}
@@ -32,7 +32,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
32
32
 
33
33
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
34
34
 
35
- var _excluded = ["id", "itemType", "type"];
35
+ var _excluded = ["id", "itemType"];
36
36
 
37
37
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
38
38
 
@@ -162,11 +162,11 @@ var Scene = function Scene(_ref) {
162
162
  var dropped = React.useCallback(function (pageID, _ref2, monitor, ref) {
163
163
  var id = _ref2.id,
164
164
  itemType = _ref2.itemType,
165
- type = _ref2.type,
166
165
  additionalData = _objectWithoutProperties(_ref2, _excluded);
167
166
 
168
167
  var pageClient = ref.current.getBoundingClientRect();
169
168
  var coords = functions.getCorrectDroppedOffsetValue(monitor, pageClient, zoom);
169
+ var type = monitor.getItemType();
170
170
 
171
171
  switch (type) {
172
172
  case itemTypes.DROPPABLE_ITEM_TYPE: