@jotforminc/dnd-builder 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/lib/cjs/components/Builder/Page.js +36 -29
  3. package/lib/cjs/components/Builder/Page.js.map +1 -1
  4. package/lib/cjs/components/Builder/Scene.js +9 -24
  5. package/lib/cjs/components/Builder/Scene.js.map +1 -1
  6. package/lib/cjs/components/DraggableItem/DraggableItem.js +33 -80
  7. package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
  8. package/lib/cjs/components/PageItemResizer.js +21 -8
  9. package/lib/cjs/components/PageItemResizer.js.map +1 -1
  10. package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js +1 -3
  11. package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  12. package/lib/cjs/components/ReportItemsWrapper.js +18 -17
  13. package/lib/cjs/components/ReportItemsWrapper.js.map +1 -1
  14. package/lib/cjs/components/Settings/PageLayer/LayerItem.js +1 -1
  15. package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
  16. package/lib/cjs/components/Settings/SizeSettings.js +1 -1
  17. package/lib/cjs/components/Settings/SizeSettings.js.map +1 -1
  18. package/lib/cjs/constants/texts.js +1 -0
  19. package/lib/cjs/constants/texts.js.map +1 -1
  20. package/lib/cjs/contexts/BuilderContext.js +6 -0
  21. package/lib/cjs/contexts/BuilderContext.js.map +1 -1
  22. package/lib/cjs/utils/functions.js +29 -23
  23. package/lib/cjs/utils/functions.js.map +1 -1
  24. package/lib/esm/components/Builder/Page.js +38 -31
  25. package/lib/esm/components/Builder/Page.js.map +1 -1
  26. package/lib/esm/components/Builder/Scene.js +10 -25
  27. package/lib/esm/components/Builder/Scene.js.map +1 -1
  28. package/lib/esm/components/DraggableItem/DraggableItem.js +34 -81
  29. package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
  30. package/lib/esm/components/PageItemResizer.js +21 -8
  31. package/lib/esm/components/PageItemResizer.js.map +1 -1
  32. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js +1 -3
  33. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  34. package/lib/esm/components/ReportItemsWrapper.js +15 -18
  35. package/lib/esm/components/ReportItemsWrapper.js.map +1 -1
  36. package/lib/esm/components/Settings/PageLayer/LayerItem.js +1 -1
  37. package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
  38. package/lib/esm/components/Settings/SizeSettings.js +1 -1
  39. package/lib/esm/components/Settings/SizeSettings.js.map +1 -1
  40. package/lib/esm/constants/texts.js +1 -0
  41. package/lib/esm/constants/texts.js.map +1 -1
  42. package/lib/esm/contexts/BuilderContext.js +6 -0
  43. package/lib/esm/contexts/BuilderContext.js.map +1 -1
  44. package/lib/esm/utils/functions.js +27 -23
  45. package/lib/esm/utils/functions.js.map +1 -1
  46. package/package.json +1 -1
@@ -3,9 +3,7 @@
3
3
  require('core-js/modules/es.array.concat.js');
4
4
  require('core-js/modules/es.array.from.js');
5
5
  require('core-js/modules/es.array.includes.js');
6
- require('core-js/modules/es.object.keys.js');
7
6
  require('core-js/modules/es.string.iterator.js');
8
- require('core-js/modules/web.dom-collections.for-each.js');
9
7
  var React = require('react');
10
8
  var PropTypes = require('prop-types');
11
9
  var reactDnd = require('react-dnd');
@@ -52,22 +50,10 @@ var reportItemStyle = {
52
50
  var DraggableItem = function DraggableItem(_ref) {
53
51
  var _ref$children = _ref.children,
54
52
  children = _ref$children === void 0 ? null : _ref$children,
55
- _ref$guides = _ref.guides,
56
- guides = _ref$guides === void 0 ? {} : _ref$guides,
57
- _ref$isMultipleItemSe = _ref.isMultipleItemSelected,
58
- isMultipleItemSelected = _ref$isMultipleItemSe === void 0 ? false : _ref$isMultipleItemSe,
59
- _ref$isResize = _ref.isResize,
60
- isResize = _ref$isResize === void 0 ? false : _ref$isResize,
61
- _ref$isSelected = _ref.isSelected,
62
- isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
63
53
  _ref$item = _ref.item,
64
54
  _item2 = _ref$item === void 0 ? {} : _ref$item,
65
- _ref$matches = _ref.matches,
66
- matches = _ref$matches === void 0 ? {} : _ref$matches,
67
- _ref$setIsResize = _ref.setIsResize,
68
- setIsResize = _ref$setIsResize === void 0 ? function () {} : _ref$setIsResize,
69
- _ref$setMatches = _ref.setMatches,
70
- setMatches = _ref$setMatches === void 0 ? function () {} : _ref$setMatches;
55
+ handleMatches = _ref.handleMatches,
56
+ getIntersectionsFromMatches = _ref.getIntersectionsFromMatches;
71
57
 
72
58
  var height = _item2.height,
73
59
  id = _item2.id,
@@ -106,15 +92,15 @@ var DraggableItem = function DraggableItem(_ref) {
106
92
  var onItemResize = PropContext.usePropStore(function (state) {
107
93
  return state.onItemResize;
108
94
  });
95
+ var activeElement = BuilderContext.useBuilderStore(function (state) {
96
+ return state.activeElement;
97
+ });
109
98
  var setActiveElement = BuilderContext.useBuilderStore(function (state) {
110
99
  return state.setActiveElement;
111
100
  });
112
101
  var setContextMenuProps = BuilderContext.useBuilderStore(function (state) {
113
102
  return state.setContextMenuProps;
114
103
  });
115
- var zoom = BuilderContext.useBuilderStore(function (state) {
116
- return state.zoom;
117
- });
118
104
  var isTextEditorOpen = BuilderContext.useBuilderStore(function (state) {
119
105
  return state.isTextEditorOpen;
120
106
  });
@@ -124,6 +110,11 @@ var DraggableItem = function DraggableItem(_ref) {
124
110
  var setIsRightPanelOpen = BuilderContext.useBuilderStore(function (state) {
125
111
  return state.setIsRightPanelOpen;
126
112
  });
113
+ var setIsResize = BuilderContext.useBuilderStore(function (state) {
114
+ return state.setIsResize;
115
+ });
116
+ var isSelected = functions.isSelectedItem(_item2.id, activeElement);
117
+ var isMultipleItemSelected = activeElement !== null && activeElement.length > 1;
127
118
 
128
119
  var select = function select(event) {
129
120
  if (!isSelected) {
@@ -195,21 +186,19 @@ var DraggableItem = function DraggableItem(_ref) {
195
186
  }
196
187
  }, [preview]);
197
188
  React.useEffect(function () {
198
- if (!isResize) {
199
- setResizeSize(function (prev) {
200
- if (prev.left !== left || prev.top !== top || prev.width !== width || prev.height !== height) {
201
- return _objectSpread(_objectSpread({}, prev), {}, {
202
- height: height,
203
- left: left,
204
- top: top,
205
- width: width
206
- });
207
- }
189
+ setResizeSize(function (prev) {
190
+ if (prev.left !== left || prev.top !== top || prev.width !== width || prev.height !== height) {
191
+ return _objectSpread(_objectSpread({}, prev), {}, {
192
+ height: height,
193
+ left: left,
194
+ top: top,
195
+ width: width
196
+ });
197
+ }
208
198
 
209
- return prev;
210
- });
211
- }
212
- }, [left, top, width, height, isResize]);
199
+ return prev;
200
+ });
201
+ }, [left, top, width, height]);
213
202
 
214
203
  var onResizeStop = function onResizeStop(deltaWidth, deltaHeight, direction) {
215
204
  var activeItem = _objectSpread(_objectSpread({}, _item2), {}, {
@@ -219,28 +208,11 @@ var DraggableItem = function DraggableItem(_ref) {
219
208
 
220
209
  if (/left/i.test(direction)) activeItem.left = activeItem.left - deltaWidth;
221
210
  if (/top/i.test(direction)) activeItem.top = activeItem.top - deltaHeight;
222
- var newActiveBoxLeft = activeItem.left;
223
- var newActiveBoxTop = activeItem.top;
224
- Object.keys(matches).forEach(function (axis) {
225
- var _matches$axis = matches[axis],
226
- activeBoxGuides = _matches$axis.activeBoxGuides,
227
- matchedArray = _matches$axis.matchedArray,
228
- proximity = _matches$axis.proximity;
229
- var activeBoxProximityIndex = proximity.activeBoxIndex;
230
- var matchedBoxProximityIndex = proximity.matchedBoxIndex;
231
-
232
- if (axis === 'x') {
233
- if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
234
- newActiveBoxLeft = activeItem.left - proximity.value;
235
- } else {
236
- newActiveBoxLeft = activeItem.left + proximity.value;
237
- }
238
- } else if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
239
- newActiveBoxTop = activeItem.top - proximity.value;
240
- } else {
241
- newActiveBoxTop = activeItem.top + proximity.value;
242
- }
243
- });
211
+
212
+ var _getIntersectionsFrom = getIntersectionsFromMatches(activeItem),
213
+ newActiveBoxLeft = _getIntersectionsFrom.newActiveBoxLeft,
214
+ newActiveBoxTop = _getIntersectionsFrom.newActiveBoxTop;
215
+
244
216
  var newResizeSize = {
245
217
  height: activeItem.height,
246
218
  left: activeItem.left,
@@ -268,9 +240,7 @@ var DraggableItem = function DraggableItem(_ref) {
268
240
  };
269
241
 
270
242
  var onResize = function onResize(deltaWidth, deltaHeight, direction) {
271
- if (!isResize) {
272
- setIsResize(true);
273
- }
243
+ setIsResize(true);
274
244
 
275
245
  var activeItem = _objectSpread(_objectSpread({}, _item2), {}, {
276
246
  height: _item2.height + deltaHeight,
@@ -279,13 +249,7 @@ var DraggableItem = function DraggableItem(_ref) {
279
249
 
280
250
  if (/left/i.test(direction)) activeItem.left = activeItem.left - deltaWidth;
281
251
  if (/top/i.test(direction)) activeItem.top = activeItem.top - deltaHeight;
282
-
283
- var _guides = _objectSpread(_objectSpread({}, guides), {}, _defineProperty({}, _item2.id, _objectSpread(_objectSpread({}, guides[_item2.id]), {}, {
284
- x: functions.calculateGuidePositions(activeItem, 'x', zoom),
285
- y: functions.calculateGuidePositions(activeItem, 'y', zoom)
286
- })));
287
-
288
- setMatches(functions.proximityListener(_item2.id, _guides));
252
+ handleMatches(activeItem);
289
253
  setResizeSize({
290
254
  height: activeItem.height,
291
255
  left: activeItem.left,
@@ -410,31 +374,23 @@ var DraggableItem = function DraggableItem(_ref) {
410
374
  deleteItem: deleteItem,
411
375
  duplicateItem: duplicateItem,
412
376
  isDragging: isDragging,
413
- isMultipleItemSelected: isMultipleItemSelected,
414
- isSelectedElement: isSelected,
415
- isTextEditorOpen: isTextEditorOpen,
416
377
  item: _item2,
417
378
  onClickOutside: onClickOutside,
418
379
  onResize: onResize,
419
380
  onResizeStop: onResizeStop,
420
381
  pageID: pageID,
421
- setActiveElement: setActiveElement,
422
- setIsRightPanelOpen: setIsRightPanelOpen,
423
382
  stateHeight: stateHeight,
424
383
  stateLeft: stateLeft,
425
384
  stateTop: stateTop,
426
- stateWidth: stateWidth,
427
- zoom: zoom
385
+ stateWidth: stateWidth
428
386
  })]
429
387
  });
430
388
  };
431
389
 
432
390
  DraggableItem.propTypes = {
433
391
  children: PropTypes__default['default'].any,
434
- guides: PropTypes__default['default'].shape({}),
435
- isMultipleItemSelected: PropTypes__default['default'].bool,
436
- isResize: PropTypes__default['default'].bool,
437
- isSelected: PropTypes__default['default'].bool,
392
+ getIntersectionsFromMatches: PropTypes__default['default'].func,
393
+ handleMatches: PropTypes__default['default'].func,
438
394
  item: PropTypes__default['default'].shape({
439
395
  height: PropTypes__default['default'].oneOfType([PropTypes__default['default'].number, PropTypes__default['default'].string]),
440
396
  id: PropTypes__default['default'].string,
@@ -444,10 +400,7 @@ DraggableItem.propTypes = {
444
400
  pageID: PropTypes__default['default'].string,
445
401
  top: PropTypes__default['default'].oneOfType([PropTypes__default['default'].number, PropTypes__default['default'].string]),
446
402
  width: PropTypes__default['default'].oneOfType([PropTypes__default['default'].number, PropTypes__default['default'].string])
447
- }),
448
- matches: PropTypes__default['default'].shape({}),
449
- setIsResize: PropTypes__default['default'].func,
450
- setMatches: PropTypes__default['default'].func
403
+ })
451
404
  };
452
405
  var DraggableItem$1 = /*#__PURE__*/React.memo(DraggableItem);
453
406
 
@@ -1 +1 @@
1
- {"version":3,"file":"DraggableItem.js","sources":["../../../../src/components/DraggableItem/DraggableItem.js"],"sourcesContent":["import { useEffect, useState, memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrag } from 'react-dnd';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport ItemPositioner from '../ItemPositioner';\nimport { DRAGGABLE_ITEM_TYPE } from '../../constants/itemTypes';\nimport {\n getStyles,\n getPosition, calculateGuidePositions, proximityListener,\n} from '../../utils/functions';\nimport PageItemResizer from '../PageItemResizer';\nimport ErrorBoundary from '../ErrorBoundary';\nimport * as classNames from '../../constants/classNames';\nimport generateId from '../../utils/generateId';\nimport {\n addEventListenerForSidebar,\n removeEventListenerForSidebar,\n} from '../../utils/scrollZoneFunctions';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst exceptionalClassesForClickOutside = ['contextMenu-itemLabel', 'contextMenu-item'];\nconst reportItemStyle = {\n height: '100%',\n width: '100%',\n};\n\nconst DraggableItem = ({\n children = null,\n guides = {},\n isMultipleItemSelected = false,\n isResize = false,\n isSelected = false,\n item = {},\n matches = {},\n setIsResize = () => {},\n setMatches = () => {},\n}) => {\n const {\n height,\n id,\n isLocked,\n left,\n pageID,\n top,\n width,\n } = item;\n\n const [\n {\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n },\n setResizeSize,\n ] = useState({\n height,\n left,\n top,\n width,\n });\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onItemResize = usePropStore(state => state.onItemResize);\n const setActiveElement = useBuilderStore(state => state.setActiveElement);\n const setContextMenuProps = useBuilderStore(state => state.setContextMenuProps);\n const zoom = useBuilderStore(state => state.zoom);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n\n const select = event => {\n if (!isSelected) {\n if (!event || !event.metaKey) {\n if (isLocked) {\n setActiveElement(id, false);\n setIsRightPanelOpen(false);\n } else {\n setActiveElement(id);\n }\n } else {\n setActiveElement(id, undefined, true);\n }\n }\n };\n\n const canDrag = !item.isLocked && !isTextEditorOpen;\n\n const [{ isDragging }, drag, preview] = useDrag(() => ({\n canDrag: () => canDrag,\n collect: monitor => ({\n isDragging: monitor.isDragging(),\n }),\n end: (_item, monitor) => {\n const dropResult = monitor.getDropResult();\n if (dropResult && dropResult[id]) {\n const { left: dropLeft, top: dropTop } = dropResult[id];\n setResizeSize(prev => {\n return {\n height: prev.height,\n left: dropLeft,\n top: dropTop,\n width: prev.width,\n };\n });\n }\n removeEventListenerForSidebar();\n },\n isDragging: () => (isMultipleItemSelected && isSelected) || (!isMultipleItemSelected && isSelected),\n item: () => {\n select();\n addEventListenerForSidebar();\n return item;\n },\n type: DRAGGABLE_ITEM_TYPE,\n }), [\n item,\n canDrag,\n id,\n isMultipleItemSelected,\n isSelected,\n ]);\n\n useEffect(() => {\n if (preview) {\n preview(getEmptyImage(), { captureDraggingState: true });\n }\n }, [preview]);\n\n useEffect(() => {\n if (!isResize) {\n setResizeSize(prev => {\n if (prev.left !== left || prev.top !== top || prev.width !== width || prev.height !== height) {\n return {\n ...prev,\n height,\n left,\n top,\n width,\n };\n }\n\n return prev;\n });\n }\n }, [left, top, width, height, isResize]);\n\n const onResizeStop = (deltaWidth, deltaHeight, direction) => {\n const activeItem = {\n ...item,\n height: item.height + deltaHeight,\n width: item.width + deltaWidth,\n };\n if (/left/i.test(direction)) activeItem.left = activeItem.left - deltaWidth;\n if (/top/i.test(direction)) activeItem.top = activeItem.top - deltaHeight;\n let newActiveBoxLeft = activeItem.left;\n let newActiveBoxTop = activeItem.top;\n Object.keys(matches).forEach(axis => {\n const { activeBoxGuides, matchedArray, proximity } = matches[axis];\n const activeBoxProximityIndex = proximity.activeBoxIndex;\n const matchedBoxProximityIndex = proximity.matchedBoxIndex;\n if (axis === 'x') {\n if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxLeft = activeItem.left - proximity.value;\n } else {\n newActiveBoxLeft = activeItem.left + proximity.value;\n }\n } else if (activeBoxGuides[activeBoxProximityIndex]\n > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxTop = activeItem.top - proximity.value;\n } else {\n newActiveBoxTop = activeItem.top + proximity.value;\n }\n });\n\n let newResizeSize = {\n height: activeItem.height,\n left: activeItem.left,\n top: activeItem.top,\n width: activeItem.width,\n };\n\n if (!(/top/i.test(direction) && /left/i.test(direction))) {\n newResizeSize = {\n ...newResizeSize,\n height: newResizeSize.height + (newActiveBoxTop - activeItem.top),\n width: newResizeSize.width + (newActiveBoxLeft - activeItem.left),\n };\n }\n if (/top/i.test(direction) && newActiveBoxTop !== newResizeSize.top) {\n newResizeSize.top = newActiveBoxTop;\n }\n if (/left/i.test(direction) && newActiveBoxLeft !== newResizeSize.left) {\n newResizeSize.left = newActiveBoxLeft;\n }\n setIsResize(false);\n onItemResize(item, newResizeSize);\n };\n\n const onResize = (deltaWidth, deltaHeight, direction) => {\n if (!isResize) { setIsResize(true); }\n const activeItem = {\n ...item,\n height: item.height + deltaHeight,\n width: item.width + deltaWidth,\n };\n if (/left/i.test(direction)) activeItem.left = activeItem.left - deltaWidth;\n if (/top/i.test(direction)) activeItem.top = activeItem.top - deltaHeight;\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 setMatches(proximityListener(item.id, _guides));\n setResizeSize({\n height: activeItem.height,\n left: activeItem.left,\n top: activeItem.top,\n width: activeItem.width,\n });\n };\n\n const deleteItem = () => {\n setIsRightPanelOpen(false);\n setActiveElement(null);\n onItemRemove(item);\n onAnEventTrigger('removeItem', item.itemType);\n };\n\n const duplicateItem = () => {\n const itemID = generateId();\n onItemAdd({\n ...item,\n id: itemID,\n left: item.left + 50,\n top: item.top + 50,\n });\n onAnEventTrigger('duplicateItem', item.itemType);\n setActiveElement(itemID);\n if (!isRightPanelOpen) {\n setIsRightPanelOpen(true);\n }\n };\n\n const onClickOutside = event => {\n // clickoutside should not work for scrollbar\n const viewPort = document.querySelector('.jfReport-viewport');\n const { clientHeight, offsetHeight } = viewPort;\n const headerHeight = window.innerHeight - offsetHeight;\n if (event.clientY - headerHeight >= clientHeight\n || Array.from(event.target.classList)\n .some(xClass => exceptionalClassesForClickOutside.includes(xClass))) {\n return;\n }\n setIsRightPanelOpen(false);\n setActiveElement(null);\n };\n\n const onContextMenuClick = e => {\n if (\n e.target.contentEditable === 'true'\n || isTextEditorOpen\n ) {\n // Dont override behaviour on text edits.\n return;\n }\n\n e.preventDefault();\n onAnEventTrigger('openContextMenu', item.itemType);\n setContextMenuProps({\n id,\n pageID,\n position: getPosition(e),\n });\n };\n\n const onDoubleClick = e => {\n if (\n e.target.contentEditable === 'true'\n || isTextEditorOpen\n ) {\n // Dont override behaviour on text edits.\n return;\n }\n\n setIsRightPanelOpen(true);\n };\n\n const duplicateWithAltKey = e => {\n if (e.altKey) {\n const itemID = generateId();\n const itemToAdd = item;\n setTimeout(() => {\n onItemAdd({\n ...itemToAdd,\n id: itemID,\n left: itemToAdd.left,\n top: itemToAdd.top,\n });\n onAnEventTrigger('duplicateItem', itemToAdd.itemType);\n });\n }\n };\n\n const changeLockStatus = () => {\n onAnEventTrigger(item.isLocked ? 'unlockReportItem' : 'lockReportItem', item.itemType);\n onItemChange({ id: item.id }, { isLocked: item.isLocked ? false : true });\n if (!item.isLocked) {\n setActiveElement(item.id, false);\n setIsRightPanelOpen(false);\n }\n };\n\n return (\n <ErrorBoundary>\n <ItemPositioner\n classNames={`reportItemWrapper${isSelected ? ' isSelected' : ''}`}\n style={{\n ...getStyles(left, top, isDragging),\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }}\n >\n <div\n ref={drag}\n className={`${classNames.reportItem}${isLocked ? ' isLocked' : ''}`}\n onContextMenu={onContextMenuClick}\n onDoubleClick={onDoubleClick}\n onDragStart={duplicateWithAltKey}\n onMouseDown={select}\n style={reportItemStyle}\n >\n {children}\n </div>\n </ItemPositioner>\n <PageItemResizer\n changeLockStatus={changeLockStatus}\n deleteItem={deleteItem}\n duplicateItem={duplicateItem}\n isDragging={isDragging}\n isMultipleItemSelected={isMultipleItemSelected}\n isSelectedElement={isSelected}\n isTextEditorOpen={isTextEditorOpen}\n item={item}\n onClickOutside={onClickOutside}\n onResize={onResize}\n onResizeStop={onResizeStop}\n pageID={pageID}\n setActiveElement={setActiveElement}\n setIsRightPanelOpen={setIsRightPanelOpen}\n stateHeight={stateHeight}\n stateLeft={stateLeft}\n stateTop={stateTop}\n stateWidth={stateWidth}\n zoom={zoom}\n />\n </ErrorBoundary>\n );\n};\n\nDraggableItem.propTypes = {\n children: PropTypes.any,\n guides: PropTypes.shape({}),\n isMultipleItemSelected: PropTypes.bool,\n isResize: PropTypes.bool,\n isSelected: PropTypes.bool,\n item: PropTypes.shape({\n height: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n id: PropTypes.string,\n isLocked: PropTypes.bool,\n itemType: PropTypes.string,\n left: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n pageID: PropTypes.string,\n top: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n width: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n matches: PropTypes.shape({}),\n setIsResize: PropTypes.func,\n setMatches: PropTypes.func,\n};\n\nexport default memo(DraggableItem);\n"],"names":["exceptionalClassesForClickOutside","reportItemStyle","height","width","DraggableItem","children","guides","isMultipleItemSelected","isResize","isSelected","item","matches","setIsResize","setMatches","id","isLocked","left","pageID","top","useState","stateHeight","stateLeft","stateTop","stateWidth","setResizeSize","onAnEventTrigger","usePropStore","state","onItemAdd","onItemChange","onItemRemove","onItemResize","setActiveElement","useBuilderStore","setContextMenuProps","zoom","isTextEditorOpen","isRightPanelOpen","setIsRightPanelOpen","select","event","metaKey","undefined","canDrag","useDrag","collect","monitor","isDragging","end","_item","dropResult","getDropResult","dropLeft","dropTop","prev","removeEventListenerForSidebar","addEventListenerForSidebar","type","DRAGGABLE_ITEM_TYPE","drag","preview","useEffect","getEmptyImage","captureDraggingState","onResizeStop","deltaWidth","deltaHeight","direction","activeItem","test","newActiveBoxLeft","newActiveBoxTop","Object","keys","forEach","axis","activeBoxGuides","matchedArray","proximity","activeBoxProximityIndex","activeBoxIndex","matchedBoxProximityIndex","matchedBoxIndex","value","newResizeSize","onResize","_guides","x","calculateGuidePositions","y","proximityListener","deleteItem","itemType","duplicateItem","itemID","generateId","onClickOutside","viewPort","document","querySelector","clientHeight","offsetHeight","headerHeight","window","innerHeight","clientY","Array","from","target","classList","some","xClass","includes","onContextMenuClick","e","contentEditable","preventDefault","position","getPosition","onDoubleClick","duplicateWithAltKey","altKey","itemToAdd","setTimeout","changeLockStatus","_jsxs","_jsx","getStyles","classNames","propTypes","PropTypes","any","shape","bool","oneOfType","number","string","func","memo"],"mappings":"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"}
1
+ {"version":3,"file":"DraggableItem.js","sources":["../../../../src/components/DraggableItem/DraggableItem.js"],"sourcesContent":["import { useEffect, useState, memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrag } from 'react-dnd';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport ItemPositioner from '../ItemPositioner';\nimport { DRAGGABLE_ITEM_TYPE } from '../../constants/itemTypes';\nimport { getStyles, getPosition, isSelectedItem } from '../../utils/functions';\nimport PageItemResizer from '../PageItemResizer';\nimport ErrorBoundary from '../ErrorBoundary';\nimport * as classNames from '../../constants/classNames';\nimport generateId from '../../utils/generateId';\nimport {\n addEventListenerForSidebar,\n removeEventListenerForSidebar,\n} from '../../utils/scrollZoneFunctions';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst exceptionalClassesForClickOutside = ['contextMenu-itemLabel', 'contextMenu-item'];\nconst reportItemStyle = {\n height: '100%',\n width: '100%',\n};\n\nconst DraggableItem = ({\n children = null,\n item = {},\n handleMatches,\n getIntersectionsFromMatches,\n}) => {\n const {\n height,\n id,\n isLocked,\n left,\n pageID,\n top,\n width,\n } = item;\n\n const [\n {\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n },\n setResizeSize,\n ] = useState({\n height,\n left,\n top,\n width,\n });\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onItemResize = usePropStore(state => state.onItemResize);\n\n const activeElement = useBuilderStore(state => state.activeElement);\n const setActiveElement = useBuilderStore(state => state.setActiveElement);\n const setContextMenuProps = useBuilderStore(state => state.setContextMenuProps);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setIsResize = useBuilderStore(state => state.setIsResize);\n\n const isSelected = isSelectedItem(item.id, activeElement);\n const isMultipleItemSelected = activeElement !== null && activeElement.length > 1;\n\n const select = event => {\n if (!isSelected) {\n if (!event || !event.metaKey) {\n if (isLocked) {\n setActiveElement(id, false);\n setIsRightPanelOpen(false);\n } else {\n setActiveElement(id);\n }\n } else {\n setActiveElement(id, undefined, true);\n }\n }\n };\n\n const canDrag = !item.isLocked && !isTextEditorOpen;\n\n const [{ isDragging }, drag, preview] = useDrag(() => ({\n canDrag: () => canDrag,\n collect: monitor => ({\n isDragging: monitor.isDragging(),\n }),\n end: (_item, monitor) => {\n const dropResult = monitor.getDropResult();\n if (dropResult && dropResult[id]) {\n const { left: dropLeft, top: dropTop } = dropResult[id];\n setResizeSize(prev => {\n return {\n height: prev.height,\n left: dropLeft,\n top: dropTop,\n width: prev.width,\n };\n });\n }\n removeEventListenerForSidebar();\n },\n isDragging: () => (isMultipleItemSelected && isSelected) || (!isMultipleItemSelected && isSelected),\n item: () => {\n select();\n addEventListenerForSidebar();\n return item;\n },\n type: DRAGGABLE_ITEM_TYPE,\n }), [\n item,\n canDrag,\n id,\n isMultipleItemSelected,\n isSelected,\n ]);\n\n useEffect(() => {\n if (preview) {\n preview(getEmptyImage(), { captureDraggingState: true });\n }\n }, [preview]);\n\n useEffect(() => {\n setResizeSize(prev => {\n if (prev.left !== left || prev.top !== top || prev.width !== width || prev.height !== height) {\n return {\n ...prev,\n height,\n left,\n top,\n width,\n };\n }\n\n return prev;\n });\n }, [left, top, width, height]);\n\n const onResizeStop = (deltaWidth, deltaHeight, direction) => {\n const activeItem = {\n ...item,\n height: item.height + deltaHeight,\n width: item.width + deltaWidth,\n };\n if (/left/i.test(direction)) activeItem.left = activeItem.left - deltaWidth;\n if (/top/i.test(direction)) activeItem.top = activeItem.top - deltaHeight;\n const { newActiveBoxLeft, newActiveBoxTop } = getIntersectionsFromMatches(activeItem);\n let newResizeSize = {\n height: activeItem.height,\n left: activeItem.left,\n top: activeItem.top,\n width: activeItem.width,\n };\n\n if (!(/top/i.test(direction) && /left/i.test(direction))) {\n newResizeSize = {\n ...newResizeSize,\n height: newResizeSize.height + (newActiveBoxTop - activeItem.top),\n width: newResizeSize.width + (newActiveBoxLeft - activeItem.left),\n };\n }\n if (/top/i.test(direction) && newActiveBoxTop !== newResizeSize.top) {\n newResizeSize.top = newActiveBoxTop;\n }\n if (/left/i.test(direction) && newActiveBoxLeft !== newResizeSize.left) {\n newResizeSize.left = newActiveBoxLeft;\n }\n setIsResize(false);\n onItemResize(item, newResizeSize);\n };\n\n const onResize = (deltaWidth, deltaHeight, direction) => {\n setIsResize(true);\n const activeItem = {\n ...item,\n height: item.height + deltaHeight,\n width: item.width + deltaWidth,\n };\n if (/left/i.test(direction)) activeItem.left = activeItem.left - deltaWidth;\n if (/top/i.test(direction)) activeItem.top = activeItem.top - deltaHeight;\n handleMatches(activeItem);\n setResizeSize({\n height: activeItem.height,\n left: activeItem.left,\n top: activeItem.top,\n width: activeItem.width,\n });\n };\n\n const deleteItem = () => {\n setIsRightPanelOpen(false);\n setActiveElement(null);\n onItemRemove(item);\n onAnEventTrigger('removeItem', item.itemType);\n };\n\n const duplicateItem = () => {\n const itemID = generateId();\n onItemAdd({\n ...item,\n id: itemID,\n left: item.left + 50,\n top: item.top + 50,\n });\n onAnEventTrigger('duplicateItem', item.itemType);\n setActiveElement(itemID);\n if (!isRightPanelOpen) {\n setIsRightPanelOpen(true);\n }\n };\n\n const onClickOutside = event => {\n // clickoutside should not work for scrollbar\n const viewPort = document.querySelector('.jfReport-viewport');\n const { clientHeight, offsetHeight } = viewPort;\n const headerHeight = window.innerHeight - offsetHeight;\n if (event.clientY - headerHeight >= clientHeight\n || Array.from(event.target.classList)\n .some(xClass => exceptionalClassesForClickOutside.includes(xClass))) {\n return;\n }\n setIsRightPanelOpen(false);\n setActiveElement(null);\n };\n\n const onContextMenuClick = e => {\n if (\n e.target.contentEditable === 'true'\n || isTextEditorOpen\n ) {\n // Dont override behaviour on text edits.\n return;\n }\n\n e.preventDefault();\n onAnEventTrigger('openContextMenu', item.itemType);\n setContextMenuProps({\n id,\n pageID,\n position: getPosition(e),\n });\n };\n\n const onDoubleClick = e => {\n if (\n e.target.contentEditable === 'true'\n || isTextEditorOpen\n ) {\n // Dont override behaviour on text edits.\n return;\n }\n\n setIsRightPanelOpen(true);\n };\n\n const duplicateWithAltKey = e => {\n if (e.altKey) {\n const itemID = generateId();\n const itemToAdd = item;\n setTimeout(() => {\n onItemAdd({\n ...itemToAdd,\n id: itemID,\n left: itemToAdd.left,\n top: itemToAdd.top,\n });\n onAnEventTrigger('duplicateItem', itemToAdd.itemType);\n });\n }\n };\n\n const changeLockStatus = () => {\n onAnEventTrigger(item.isLocked ? 'unlockReportItem' : 'lockReportItem', item.itemType);\n onItemChange({ id: item.id }, { isLocked: item.isLocked ? false : true });\n if (!item.isLocked) {\n setActiveElement(item.id, false);\n setIsRightPanelOpen(false);\n }\n };\n\n return (\n <ErrorBoundary>\n <ItemPositioner\n classNames={`reportItemWrapper${isSelected ? ' isSelected' : ''}`}\n style={{\n ...getStyles(left, top, isDragging),\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }}\n >\n <div\n ref={drag}\n className={`${classNames.reportItem}${isLocked ? ' isLocked' : ''}`}\n onContextMenu={onContextMenuClick}\n onDoubleClick={onDoubleClick}\n onDragStart={duplicateWithAltKey}\n onMouseDown={select}\n style={reportItemStyle}\n >\n {children}\n </div>\n </ItemPositioner>\n <PageItemResizer\n changeLockStatus={changeLockStatus}\n deleteItem={deleteItem}\n duplicateItem={duplicateItem}\n isDragging={isDragging}\n item={item}\n onClickOutside={onClickOutside}\n onResize={onResize}\n onResizeStop={onResizeStop}\n pageID={pageID}\n stateHeight={stateHeight}\n stateLeft={stateLeft}\n stateTop={stateTop}\n stateWidth={stateWidth}\n />\n </ErrorBoundary>\n );\n};\n\nDraggableItem.propTypes = {\n children: PropTypes.any,\n getIntersectionsFromMatches: PropTypes.func,\n handleMatches: PropTypes.func,\n item: PropTypes.shape({\n height: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n id: PropTypes.string,\n isLocked: PropTypes.bool,\n itemType: PropTypes.string,\n left: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n pageID: PropTypes.string,\n top: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n width: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n};\n\nexport default memo(DraggableItem);\n"],"names":["exceptionalClassesForClickOutside","reportItemStyle","height","width","DraggableItem","children","item","handleMatches","getIntersectionsFromMatches","id","isLocked","left","pageID","top","useState","stateHeight","stateLeft","stateTop","stateWidth","setResizeSize","onAnEventTrigger","usePropStore","state","onItemAdd","onItemChange","onItemRemove","onItemResize","activeElement","useBuilderStore","setActiveElement","setContextMenuProps","isTextEditorOpen","isRightPanelOpen","setIsRightPanelOpen","setIsResize","isSelected","isSelectedItem","isMultipleItemSelected","length","select","event","metaKey","undefined","canDrag","useDrag","collect","monitor","isDragging","end","_item","dropResult","getDropResult","dropLeft","dropTop","prev","removeEventListenerForSidebar","addEventListenerForSidebar","type","DRAGGABLE_ITEM_TYPE","drag","preview","useEffect","getEmptyImage","captureDraggingState","onResizeStop","deltaWidth","deltaHeight","direction","activeItem","test","newActiveBoxLeft","newActiveBoxTop","newResizeSize","onResize","deleteItem","itemType","duplicateItem","itemID","generateId","onClickOutside","viewPort","document","querySelector","clientHeight","offsetHeight","headerHeight","window","innerHeight","clientY","Array","from","target","classList","some","xClass","includes","onContextMenuClick","e","contentEditable","preventDefault","position","getPosition","onDoubleClick","duplicateWithAltKey","altKey","itemToAdd","setTimeout","changeLockStatus","_jsxs","_jsx","getStyles","classNames","propTypes","PropTypes","any","func","shape","oneOfType","number","string","bool","memo"],"mappings":"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"}
@@ -10,6 +10,8 @@ var CustomToolbarWrapper = require('./TextEditor/CustomToolbar/CustomToolbarWrap
10
10
  var DraggableItemActions = require('./DraggableItem/DraggableItemActions.js');
11
11
  var ItemPositioner = require('./ItemPositioner.js');
12
12
  var withClickOutside = require('./withClickOutside.js');
13
+ var BuilderContext = require('../contexts/BuilderContext.js');
14
+ var functions = require('../utils/functions.js');
13
15
  var jsxRuntime = require('react/jsx-runtime');
14
16
 
15
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -52,21 +54,32 @@ var PageItemResizer = function PageItemResizer(_ref) {
52
54
  deleteItem = _ref.deleteItem,
53
55
  duplicateItem = _ref.duplicateItem,
54
56
  isDragging = _ref.isDragging,
55
- isMultipleItemSelected = _ref.isMultipleItemSelected,
56
- isSelectedElement = _ref.isSelectedElement,
57
- isTextEditorOpen = _ref.isTextEditorOpen,
58
57
  item = _ref.item,
59
58
  onClickOutside = _ref.onClickOutside,
60
59
  onResize = _ref.onResize,
61
60
  onResizeStop = _ref.onResizeStop,
62
61
  pageID = _ref.pageID,
63
- setActiveElement = _ref.setActiveElement,
64
- setIsRightPanelOpen = _ref.setIsRightPanelOpen,
65
62
  stateHeight = _ref.stateHeight,
66
63
  stateLeft = _ref.stateLeft,
67
64
  stateTop = _ref.stateTop,
68
- stateWidth = _ref.stateWidth,
69
- zoom = _ref.zoom;
65
+ stateWidth = _ref.stateWidth;
66
+ var zoom = BuilderContext.useBuilderStore(function (state) {
67
+ return state.zoom;
68
+ });
69
+ var setIsRightPanelOpen = BuilderContext.useBuilderStore(function (state) {
70
+ return state.setIsRightPanelOpen;
71
+ });
72
+ var setActiveElement = BuilderContext.useBuilderStore(function (state) {
73
+ return state.setActiveElement;
74
+ });
75
+ var activeElement = BuilderContext.useBuilderStore(function (state) {
76
+ return state.activeElement;
77
+ });
78
+ var isTextEditorOpen = BuilderContext.useBuilderStore(function (state) {
79
+ return state.isTextEditorOpen;
80
+ });
81
+ var isSelected = functions.isSelectedItem(item.id, activeElement);
82
+ var isMultipleItemSelected = activeElement !== null && activeElement.length > 1;
70
83
  var requestRef = React.useRef();
71
84
 
72
85
  var _useState = React.useState(false),
@@ -134,7 +147,7 @@ var PageItemResizer = function PageItemResizer(_ref) {
134
147
  setIsRightPanelOpen(true);
135
148
  }, [item.id, setIsRightPanelOpen, setActiveElement]);
136
149
  var isLocked = item.isLocked;
137
- if (isDragging || !isSelectedElement) return null;
150
+ if (isDragging || !isSelected) return null;
138
151
  return /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/jsxRuntime.jsxs(ItemPositioner, {
139
152
  style: itemPositionerStyle,
140
153
  children: [/*#__PURE__*/jsxRuntime.jsx(ResizableWithClickOutside, _objectSpread(_objectSpread({
@@ -1 +1 @@
1
- {"version":3,"file":"PageItemResizer.js","sources":["../../../src/components/PageItemResizer.js"],"sourcesContent":["import {\n useCallback,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Resizable } from 're-resizable';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport { resizeStaticProps } from '../constants/staticProps';\nimport TextEditorToolbar from './TextEditor/CustomToolbar';\n\nimport DraggableItemActions from './DraggableItem/DraggableItemActions';\nimport ItemPositioner from './ItemPositioner';\nimport withClickOutside from './withClickOutside';\n\nconst ResizableWithClickOutside = withClickOutside(Resizable);\n\nconst enableResize = {\n bottom: true,\n bottomLeft: true,\n bottomRight: true,\n left: true,\n right: true,\n top: true,\n topLeft: true,\n topRight: true,\n};\nconst lockAspectRatioTypes = ['image', 'icon'];\nconst exceptionalClasses = [\n 'reportHandle',\n 'reportItemMenu',\n 'jfReport-pane',\n 'pageSettingSideBtn',\n 'reportItemWrapper',\n 'reportRotater',\n 'forZoom',\n 'ql-toolbar',\n 'jSheetContextMenu',\n 'reset-default-contextMenu',\n];\n\nconst PageItemResizer = ({\n changeLockStatus,\n deleteItem,\n duplicateItem,\n isDragging,\n isMultipleItemSelected,\n isSelectedElement,\n isTextEditorOpen,\n item,\n onClickOutside,\n onResize,\n onResizeStop,\n pageID,\n setActiveElement,\n setIsRightPanelOpen,\n stateHeight,\n stateLeft,\n stateTop,\n stateWidth,\n zoom,\n}) => {\n const requestRef = useRef();\n const [lockAspectRatio, setLockAspectRatio] = useState(false);\n\n const handleKeyUp = e => {\n if (!e.shiftKey) setLockAspectRatio(false);\n };\n\n const handleKeyDown = e => {\n if (e.shiftKey) setLockAspectRatio(true);\n };\n\n const seriousResize = (deltaWidth, deltaHeight, direction) => {\n return () => {\n onResize(deltaWidth, deltaHeight, direction);\n requestRef.current = undefined;\n };\n };\n\n const onResizeStart = e => {\n e.preventDefault();\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n };\n\n const onResizeRAF = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n if (!requestRef.current) {\n requestRef.current = global\n .requestAnimationFrame(\n seriousResize(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n ),\n );\n }\n };\n\n const onResizeEnd = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n onResizeStop(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n );\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n\n const itemPositionerStyle = useMemo(() => ({\n height: Math.round(stateHeight * zoom),\n left: Math.round(stateLeft * zoom),\n pointerEvents: 'none',\n position: 'absolute',\n top: Math.round(stateTop * zoom),\n touchAction: 'none',\n width: Math.round(stateWidth * zoom),\n }), [stateHeight, stateLeft, stateTop, stateWidth, zoom]);\n\n const size = useMemo(() => ({\n height: Math.round(stateHeight * zoom),\n width: Math.round(stateWidth * zoom),\n }), [stateHeight, stateWidth, zoom]);\n\n const openSettings = useCallback(() => {\n setActiveElement(item.id);\n setIsRightPanelOpen(true);\n }, [item.id, setIsRightPanelOpen, setActiveElement]);\n\n const { isLocked } = item;\n\n if (isDragging || !isSelectedElement) return null;\n return createPortal(\n <ItemPositioner\n style={itemPositionerStyle}\n >\n <ResizableWithClickOutside\n className={classNames(\n 'reportItemResizer',\n { hideVerticalHandle: !(item.height > 50) },\n { hideHorizontalHandle: !(item.width > 50) },\n )}\n enable={!item.isLocked && enableResize}\n exceptionalClasses={exceptionalClasses}\n lockAspectRatio={lockAspectRatioTypes.includes(item.itemType) || lockAspectRatio}\n onClickOutside={onClickOutside}\n onResize={onResizeRAF}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeEnd}\n size={size}\n {...resizeStaticProps}\n withClickOutsideWrapperClass={`reportItemResizer-wrapper${isLocked ? ' isLocked' : ''}`}\n />\n <DraggableItemActions\n changeLockStatus={changeLockStatus}\n deleteItem={deleteItem}\n duplicateItem={duplicateItem}\n isLocked={item.isLocked}\n isMultipleItemSelected={isMultipleItemSelected}\n openSettings={openSettings}\n />\n <TextEditorToolbar\n isTextEditorOpen={isTextEditorOpen}\n itemWidth={stateWidth * zoom}\n />\n </ItemPositioner>,\n document.querySelector(`.jfReport-page[data-id=\"${pageID}\"]`),\n );\n};\n\nexport default PageItemResizer;\n"],"names":["ResizableWithClickOutside","withClickOutside","Resizable","enableResize","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","lockAspectRatioTypes","exceptionalClasses","PageItemResizer","changeLockStatus","deleteItem","duplicateItem","isDragging","isMultipleItemSelected","isSelectedElement","isTextEditorOpen","item","onClickOutside","onResize","onResizeStop","pageID","setActiveElement","setIsRightPanelOpen","stateHeight","stateLeft","stateTop","stateWidth","zoom","requestRef","useRef","useState","lockAspectRatio","setLockAspectRatio","handleKeyUp","e","shiftKey","handleKeyDown","seriousResize","deltaWidth","deltaHeight","direction","current","undefined","onResizeStart","preventDefault","window","addEventListener","onResizeRAF","ref","height","width","global","requestAnimationFrame","Math","round","onResizeEnd","removeEventListener","itemPositionerStyle","useMemo","pointerEvents","position","touchAction","size","openSettings","useCallback","id","isLocked","createPortal","_jsxs","_jsx","classNames","hideVerticalHandle","hideHorizontalHandle","includes","itemType","resizeStaticProps","TextEditorToolbar","document","querySelector"],"mappings":"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"}
1
+ {"version":3,"file":"PageItemResizer.js","sources":["../../../src/components/PageItemResizer.js"],"sourcesContent":["import {\n useCallback,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Resizable } from 're-resizable';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport { resizeStaticProps } from '../constants/staticProps';\nimport TextEditorToolbar from './TextEditor/CustomToolbar';\n\nimport DraggableItemActions from './DraggableItem/DraggableItemActions';\nimport ItemPositioner from './ItemPositioner';\nimport withClickOutside from './withClickOutside';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { isSelectedItem } from '../utils/functions';\n\nconst ResizableWithClickOutside = withClickOutside(Resizable);\n\nconst enableResize = {\n bottom: true,\n bottomLeft: true,\n bottomRight: true,\n left: true,\n right: true,\n top: true,\n topLeft: true,\n topRight: true,\n};\nconst lockAspectRatioTypes = ['image', 'icon'];\nconst exceptionalClasses = [\n 'reportHandle',\n 'reportItemMenu',\n 'jfReport-pane',\n 'pageSettingSideBtn',\n 'reportItemWrapper',\n 'reportRotater',\n 'forZoom',\n 'ql-toolbar',\n 'jSheetContextMenu',\n 'reset-default-contextMenu',\n];\n\nconst PageItemResizer = ({\n changeLockStatus,\n deleteItem,\n duplicateItem,\n isDragging,\n item,\n onClickOutside,\n onResize,\n onResizeStop,\n pageID,\n stateHeight,\n stateLeft,\n stateTop,\n stateWidth,\n}) => {\n const zoom = useBuilderStore(state => state.zoom);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setActiveElement = useBuilderStore(state => state.setActiveElement);\n const activeElement = useBuilderStore(state => state.activeElement);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n\n const isSelected = isSelectedItem(item.id, activeElement);\n const isMultipleItemSelected = activeElement !== null && activeElement.length > 1;\n\n const requestRef = useRef();\n const [lockAspectRatio, setLockAspectRatio] = useState(false);\n\n const handleKeyUp = e => {\n if (!e.shiftKey) setLockAspectRatio(false);\n };\n\n const handleKeyDown = e => {\n if (e.shiftKey) setLockAspectRatio(true);\n };\n\n const seriousResize = (deltaWidth, deltaHeight, direction) => {\n return () => {\n onResize(deltaWidth, deltaHeight, direction);\n requestRef.current = undefined;\n };\n };\n\n const onResizeStart = e => {\n e.preventDefault();\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n };\n\n const onResizeRAF = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n if (!requestRef.current) {\n requestRef.current = global\n .requestAnimationFrame(\n seriousResize(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n ),\n );\n }\n };\n\n const onResizeEnd = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n onResizeStop(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n );\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n\n const itemPositionerStyle = useMemo(() => ({\n height: Math.round(stateHeight * zoom),\n left: Math.round(stateLeft * zoom),\n pointerEvents: 'none',\n position: 'absolute',\n top: Math.round(stateTop * zoom),\n touchAction: 'none',\n width: Math.round(stateWidth * zoom),\n }), [stateHeight, stateLeft, stateTop, stateWidth, zoom]);\n\n const size = useMemo(() => ({\n height: Math.round(stateHeight * zoom),\n width: Math.round(stateWidth * zoom),\n }), [stateHeight, stateWidth, zoom]);\n\n const openSettings = useCallback(() => {\n setActiveElement(item.id);\n setIsRightPanelOpen(true);\n }, [item.id, setIsRightPanelOpen, setActiveElement]);\n\n const { isLocked } = item;\n\n if (isDragging || !isSelected) return null;\n return createPortal(\n <ItemPositioner\n style={itemPositionerStyle}\n >\n <ResizableWithClickOutside\n className={classNames(\n 'reportItemResizer',\n { hideVerticalHandle: !(item.height > 50) },\n { hideHorizontalHandle: !(item.width > 50) },\n )}\n enable={!item.isLocked && enableResize}\n exceptionalClasses={exceptionalClasses}\n lockAspectRatio={lockAspectRatioTypes.includes(item.itemType) || lockAspectRatio}\n onClickOutside={onClickOutside}\n onResize={onResizeRAF}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeEnd}\n size={size}\n {...resizeStaticProps}\n withClickOutsideWrapperClass={`reportItemResizer-wrapper${isLocked ? ' isLocked' : ''}`}\n />\n <DraggableItemActions\n changeLockStatus={changeLockStatus}\n deleteItem={deleteItem}\n duplicateItem={duplicateItem}\n isLocked={item.isLocked}\n isMultipleItemSelected={isMultipleItemSelected}\n openSettings={openSettings}\n />\n <TextEditorToolbar\n isTextEditorOpen={isTextEditorOpen}\n itemWidth={stateWidth * zoom}\n />\n </ItemPositioner>,\n document.querySelector(`.jfReport-page[data-id=\"${pageID}\"]`),\n );\n};\n\nexport default PageItemResizer;\n"],"names":["ResizableWithClickOutside","withClickOutside","Resizable","enableResize","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","lockAspectRatioTypes","exceptionalClasses","PageItemResizer","changeLockStatus","deleteItem","duplicateItem","isDragging","item","onClickOutside","onResize","onResizeStop","pageID","stateHeight","stateLeft","stateTop","stateWidth","zoom","useBuilderStore","state","setIsRightPanelOpen","setActiveElement","activeElement","isTextEditorOpen","isSelected","isSelectedItem","id","isMultipleItemSelected","length","requestRef","useRef","useState","lockAspectRatio","setLockAspectRatio","handleKeyUp","e","shiftKey","handleKeyDown","seriousResize","deltaWidth","deltaHeight","direction","current","undefined","onResizeStart","preventDefault","window","addEventListener","onResizeRAF","ref","height","width","global","requestAnimationFrame","Math","round","onResizeEnd","removeEventListener","itemPositionerStyle","useMemo","pointerEvents","position","touchAction","size","openSettings","useCallback","isLocked","createPortal","_jsxs","_jsx","classNames","hideVerticalHandle","hideHorizontalHandle","includes","itemType","resizeStaticProps","TextEditorToolbar","document","querySelector"],"mappings":"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"}
@@ -169,11 +169,9 @@ var SortablePageList = function SortablePageList() {
169
169
  ref: virtuosoRef,
170
170
  fixedItemHeight: 127,
171
171
  itemContent: function itemContent(index) {
172
- var page = pageGetter(index);
173
- if (!page) return null;
174
172
  return /*#__PURE__*/jsxRuntime.jsx(SortablePageItemRenderer, {
175
173
  data: itemData,
176
- id: page.id,
174
+ id: index.toString(),
177
175
  index: index,
178
176
  style: {
179
177
  height: 127
@@ -1 +1 @@
1
- {"version":3,"file":"SortablePageList.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageList.js"],"sourcesContent":["import {\n useRef, useMemo, useCallback, forwardRef, useImperativeHandle, useState,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { SortableContext, verticalListSortingStrategy, sortableKeyboardCoordinates } from '@dnd-kit/sortable';\nimport { Virtuoso } from 'react-virtuoso';\nimport memoize from 'memoize-one';\nimport SortablePageItemRenderer from './SortablePageItemRenderer';\nimport SortableDragOverlay from './SortablePageItemDragOverlay';\n\nconst createItemData = memoize((\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n) => ({\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n}));\n\nconst SortablePageList = () => {\n const VirtuosoList = forwardRef(({\n height,\n onPageAdd = () => {},\n onPageClick = () => {},\n onPageDuplicate = () => {},\n onPageRemove = () => {},\n onSortEnd = () => {},\n pageContainerStyle = {},\n pageCount = 0,\n pageGetter = () => {},\n pages = [],\n width,\n }, ref) => {\n const sortablePageListRef = useRef(null);\n const virtuosoRef = useRef(null);\n const [activeId, setActiveId] = useState(null);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n delay: 200,\n distance: 0,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const itemData = useMemo(() => createItemData(\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n ), [\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n ]);\n\n const scrollToIndex = useCallback((index, align = 'center') => {\n if (virtuosoRef.current) {\n virtuosoRef.current.scrollToIndex({ align, index });\n }\n }, []);\n\n useImperativeHandle(ref, () => ({\n scrollToIndex,\n sortablePageListRef: sortablePageListRef.current,\n virtuosoRef: virtuosoRef.current,\n }), [scrollToIndex]);\n\n const handleDragStart = useCallback(event => {\n setActiveId(event.active.id);\n }, []);\n\n const handleDragEnd = useCallback(event => {\n const { active, over } = event;\n setActiveId(null);\n\n if (over && active.id !== over.id) {\n const oldIndex = parseInt(active.id, 10);\n const newIndex = parseInt(over.id, 10);\n\n onSortEnd({ newIndex, oldIndex });\n }\n }, [onSortEnd]);\n\n const handleDragCancel = useCallback(() => {\n setActiveId(null);\n }, []);\n\n const virtuosoStyle = useMemo(() => {\n const outsideMargin = 75; // box-margin + top padding total value;\n return {\n height: `${(pageCount * 127) + outsideMargin}px`,\n scrollbarWidth: 'none',\n width: '100%',\n };\n }, [pageCount]);\n\n const items = useMemo(() => pages.map((page, index) => index.toString()), [pages]);\n\n const activePageData = useMemo(() => {\n if (!activeId) return null;\n const activeIndex = parseInt(activeId, 10);\n const activePage = pageGetter(activeIndex);\n if (!activePage) return null;\n\n return {\n page: activePage,\n pageContainerLastStyle: {\n ...pageContainerStyle,\n ...activePage.backgroundColor ? { backgroundColor: activePage.backgroundColor } : {},\n },\n };\n }, [activeId, pageGetter, pageContainerStyle]);\n\n return (\n <div\n ref={sortablePageListRef}\n style={{ height, width }}\n >\n <DndContext\n collisionDetection={closestCenter}\n onDragCancel={handleDragCancel}\n onDragEnd={handleDragEnd}\n onDragStart={handleDragStart}\n sensors={sensors}\n >\n <SortableContext\n items={items}\n strategy={verticalListSortingStrategy}\n >\n <Virtuoso\n ref={virtuosoRef}\n fixedItemHeight={127}\n itemContent={index => {\n const page = pageGetter(index);\n if (!page) return null;\n return (\n <SortablePageItemRenderer\n data={itemData}\n id={page.id}\n index={index}\n style={{ height: 127 }}\n />\n );\n }}\n style={virtuosoStyle}\n totalCount={pageCount}\n />\n </SortableContext>\n <SortableDragOverlay\n activePageData={activePageData}\n />\n </DndContext>\n </div>\n );\n });\n\n VirtuosoList.displayName = 'VirtuosoList';\n\n VirtuosoList.propTypes = {\n height: PropTypes.number,\n onPageAdd: PropTypes.func,\n onPageClick: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageRemove: PropTypes.func,\n onSortEnd: PropTypes.func,\n pageContainerStyle: PropTypes.shape({}),\n pageCount: PropTypes.number,\n pageGetter: PropTypes.func,\n pages: PropTypes.arrayOf(PropTypes.shape({})),\n width: PropTypes.number,\n };\n\n return VirtuosoList;\n};\n\nexport default memoize(SortablePageList);\n"],"names":["createItemData","memoize","onPageAdd","onPageClick","onPageDuplicate","onPageRemove","pageContainerStyle","pageGetter","SortablePageList","VirtuosoList","forwardRef","ref","height","onSortEnd","pageCount","pages","width","sortablePageListRef","useRef","virtuosoRef","useState","activeId","setActiveId","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","distance","KeyboardSensor","coordinateGetter","sortableKeyboardCoordinates","itemData","useMemo","scrollToIndex","useCallback","index","align","current","useImperativeHandle","handleDragStart","event","active","id","handleDragEnd","over","oldIndex","parseInt","newIndex","handleDragCancel","virtuosoStyle","outsideMargin","scrollbarWidth","items","map","page","toString","activePageData","activeIndex","activePage","pageContainerLastStyle","backgroundColor","_jsx","_jsxs","DndContext","closestCenter","SortableContext","verticalListSortingStrategy","Virtuoso","SortableDragOverlay","displayName","propTypes","PropTypes","number","func","shape","arrayOf"],"mappings":"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"}
1
+ {"version":3,"file":"SortablePageList.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageList.js"],"sourcesContent":["import {\n useRef, useMemo, useCallback, forwardRef, useImperativeHandle, useState,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { SortableContext, verticalListSortingStrategy, sortableKeyboardCoordinates } from '@dnd-kit/sortable';\nimport { Virtuoso } from 'react-virtuoso';\nimport memoize from 'memoize-one';\nimport SortablePageItemRenderer from './SortablePageItemRenderer';\nimport SortableDragOverlay from './SortablePageItemDragOverlay';\n\nconst createItemData = memoize((\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n) => ({\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n}));\n\nconst SortablePageList = () => {\n const VirtuosoList = forwardRef(({\n height,\n onPageAdd = () => {},\n onPageClick = () => {},\n onPageDuplicate = () => {},\n onPageRemove = () => {},\n onSortEnd = () => {},\n pageContainerStyle = {},\n pageCount = 0,\n pageGetter = () => {},\n pages = [],\n width,\n }, ref) => {\n const sortablePageListRef = useRef(null);\n const virtuosoRef = useRef(null);\n const [activeId, setActiveId] = useState(null);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n delay: 200,\n distance: 0,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const itemData = useMemo(() => createItemData(\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n ), [\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n ]);\n\n const scrollToIndex = useCallback((index, align = 'center') => {\n if (virtuosoRef.current) {\n virtuosoRef.current.scrollToIndex({ align, index });\n }\n }, []);\n\n useImperativeHandle(ref, () => ({\n scrollToIndex,\n sortablePageListRef: sortablePageListRef.current,\n virtuosoRef: virtuosoRef.current,\n }), [scrollToIndex]);\n\n const handleDragStart = useCallback(event => {\n setActiveId(event.active.id);\n }, []);\n\n const handleDragEnd = useCallback(event => {\n const { active, over } = event;\n setActiveId(null);\n\n if (over && active.id !== over.id) {\n const oldIndex = parseInt(active.id, 10);\n const newIndex = parseInt(over.id, 10);\n\n onSortEnd({ newIndex, oldIndex });\n }\n }, [onSortEnd]);\n\n const handleDragCancel = useCallback(() => {\n setActiveId(null);\n }, []);\n\n const virtuosoStyle = useMemo(() => {\n const outsideMargin = 75; // box-margin + top padding total value;\n return {\n height: `${(pageCount * 127) + outsideMargin}px`,\n scrollbarWidth: 'none',\n width: '100%',\n };\n }, [pageCount]);\n\n const items = useMemo(() => pages.map((page, index) => index.toString()), [pages]);\n\n const activePageData = useMemo(() => {\n if (!activeId) return null;\n const activeIndex = parseInt(activeId, 10);\n const activePage = pageGetter(activeIndex);\n if (!activePage) return null;\n\n return {\n page: activePage,\n pageContainerLastStyle: {\n ...pageContainerStyle,\n ...activePage.backgroundColor ? { backgroundColor: activePage.backgroundColor } : {},\n },\n };\n }, [activeId, pageGetter, pageContainerStyle]);\n\n return (\n <div\n ref={sortablePageListRef}\n style={{ height, width }}\n >\n <DndContext\n collisionDetection={closestCenter}\n onDragCancel={handleDragCancel}\n onDragEnd={handleDragEnd}\n onDragStart={handleDragStart}\n sensors={sensors}\n >\n <SortableContext\n items={items}\n strategy={verticalListSortingStrategy}\n >\n <Virtuoso\n ref={virtuosoRef}\n fixedItemHeight={127}\n itemContent={index => {\n return (\n <SortablePageItemRenderer\n data={itemData}\n id={index.toString()}\n index={index}\n style={{ height: 127 }}\n />\n );\n }}\n style={virtuosoStyle}\n totalCount={pageCount}\n />\n </SortableContext>\n <SortableDragOverlay\n activePageData={activePageData}\n />\n </DndContext>\n </div>\n );\n });\n\n VirtuosoList.displayName = 'VirtuosoList';\n\n VirtuosoList.propTypes = {\n height: PropTypes.number,\n onPageAdd: PropTypes.func,\n onPageClick: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageRemove: PropTypes.func,\n onSortEnd: PropTypes.func,\n pageContainerStyle: PropTypes.shape({}),\n pageCount: PropTypes.number,\n pageGetter: PropTypes.func,\n pages: PropTypes.arrayOf(PropTypes.shape({})),\n width: PropTypes.number,\n };\n\n return VirtuosoList;\n};\n\nexport default memoize(SortablePageList);\n"],"names":["createItemData","memoize","onPageAdd","onPageClick","onPageDuplicate","onPageRemove","pageContainerStyle","pageGetter","SortablePageList","VirtuosoList","forwardRef","ref","height","onSortEnd","pageCount","pages","width","sortablePageListRef","useRef","virtuosoRef","useState","activeId","setActiveId","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","distance","KeyboardSensor","coordinateGetter","sortableKeyboardCoordinates","itemData","useMemo","scrollToIndex","useCallback","index","align","current","useImperativeHandle","handleDragStart","event","active","id","handleDragEnd","over","oldIndex","parseInt","newIndex","handleDragCancel","virtuosoStyle","outsideMargin","scrollbarWidth","items","map","page","toString","activePageData","activeIndex","activePage","pageContainerLastStyle","backgroundColor","_jsx","_jsxs","DndContext","closestCenter","SortableContext","verticalListSortingStrategy","Virtuoso","SortableDragOverlay","displayName","propTypes","PropTypes","number","func","shape","arrayOf"],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  require('core-js/modules/es.array.filter.js');
4
4
  require('core-js/modules/es.array.map.js');
5
5
  var React = require('react');
6
+ var PropTypes = require('prop-types');
6
7
  var ReportItemRenderer = require('./Builder/ReportItemRenderer.js');
7
8
  var DraggableItem = require('./DraggableItem/DraggableItem.js');
8
9
  var getMergedItem = require('../utils/getMergedItem.js');
@@ -11,13 +12,14 @@ var functions = require('../utils/functions.js');
11
12
  var PropContext = require('../contexts/PropContext.js');
12
13
  var jsxRuntime = require('react/jsx-runtime');
13
14
 
15
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
+
17
+ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
18
+
14
19
  var ReportItemsWrapper = function ReportItemsWrapper(_ref) {
15
- var guides = _ref.guides,
16
- isResize = _ref.isResize,
17
- items = _ref.items,
18
- matches = _ref.matches,
19
- setIsResize = _ref.setIsResize,
20
- setMatches = _ref.setMatches;
20
+ var getIntersectionsFromMatches = _ref.getIntersectionsFromMatches,
21
+ handleMatches = _ref.handleMatches,
22
+ items = _ref.items;
21
23
  var acceptedItems = PropContext.usePropStore(function (state) {
22
24
  return state.acceptedItems;
23
25
  });
@@ -35,35 +37,34 @@ var ReportItemsWrapper = function ReportItemsWrapper(_ref) {
35
37
  });
36
38
  return items.filter(function (item) {
37
39
  return item.isVisible !== undefined ? item.isVisible : true;
38
- }).map(function (item, index) {
40
+ }).map(function (item) {
39
41
  var mergedItem = getMergedItem(item, acceptedItems);
40
42
  return /*#__PURE__*/jsxRuntime.jsx(DraggableItem, {
41
- guides: guides,
42
- index: index,
43
- isMultipleItemSelected: activeElement !== null && activeElement.length > 1,
44
- isResize: isResize,
45
- isSelected: functions.isSelected(item.id, activeElement),
43
+ getIntersectionsFromMatches: getIntersectionsFromMatches,
44
+ handleMatches: handleMatches,
46
45
  item: item,
47
- matches: matches,
48
- setIsResize: setIsResize,
49
- setMatches: setMatches,
50
46
  children: /*#__PURE__*/jsxRuntime.jsx(ReportItemRenderer, {
51
47
  item: mergedItem,
52
48
  children: function children(ReportItem) {
53
49
  return /*#__PURE__*/jsxRuntime.jsx(ReportItem, {
54
50
  isMultipleItemSelected: activeElement !== null && activeElement.length > 1,
55
- isSelected: functions.isSelected(item.id, activeElement),
51
+ isSelected: functions.isSelectedItem(item.id, activeElement),
56
52
  item: mergedItem,
57
53
  itemAccessor: itemAccessor,
58
54
  onAnEventTrigger: onAnEventTrigger,
59
55
  onItemChange: onItemChange
60
56
  });
61
57
  }
62
- }, item.id)
58
+ })
63
59
  }, item.id);
64
60
  });
65
61
  };
66
62
 
63
+ ReportItemsWrapper.propTypes = {
64
+ getIntersectionsFromMatches: PropTypes__default['default'].func,
65
+ handleMatches: PropTypes__default['default'].func,
66
+ items: PropTypes__default['default'].arrayOf(PropTypes__default['default'].shape({}))
67
+ };
67
68
  var ReportItemsWrapper$1 = /*#__PURE__*/React.memo(ReportItemsWrapper);
68
69
 
69
70
  module.exports = ReportItemsWrapper$1;
@@ -1 +1 @@
1
- {"version":3,"file":"ReportItemsWrapper.js","sources":["../../../src/components/ReportItemsWrapper.js"],"sourcesContent":["import { memo } from 'react';\nimport ReportItemRenderer from './Builder/ReportItemRenderer';\nimport DraggableItem from './DraggableItem/DraggableItem';\nimport getMergedItem from '../utils/getMergedItem';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { isSelected } from '../utils/functions';\nimport { usePropStore } from '../contexts/PropContext';\n\nconst ReportItemsWrapper = ({\n guides,\n isResize,\n items,\n matches,\n setIsResize,\n setMatches,\n}) => {\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const activeElement = useBuilderStore(state => state.activeElement);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemChange = usePropStore(state => state.onItemChange);\n\n return items\n .filter(item => (\n item.isVisible !== undefined\n ? item.isVisible\n : true\n ))\n .map((item, index) => {\n const mergedItem = getMergedItem(item, acceptedItems);\n return (\n <DraggableItem\n key={item.id}\n guides={guides}\n index={index}\n isMultipleItemSelected={activeElement !== null && activeElement.length > 1}\n isResize={isResize}\n isSelected={isSelected(item.id, activeElement)}\n item={item}\n matches={matches}\n setIsResize={setIsResize}\n setMatches={setMatches}\n >\n <ReportItemRenderer\n key={item.id}\n item={mergedItem}\n >\n {ReportItem => (\n <ReportItem\n isMultipleItemSelected={activeElement !== null && activeElement.length > 1}\n isSelected={isSelected(item.id, activeElement)}\n item={mergedItem}\n itemAccessor={itemAccessor}\n onAnEventTrigger={onAnEventTrigger}\n onItemChange={onItemChange}\n />\n )}\n </ReportItemRenderer>\n </DraggableItem>\n );\n });\n};\n\nexport default memo(ReportItemsWrapper);\n"],"names":["ReportItemsWrapper","guides","isResize","items","matches","setIsResize","setMatches","acceptedItems","usePropStore","state","activeElement","useBuilderStore","itemAccessor","onAnEventTrigger","onItemChange","filter","item","isVisible","undefined","map","index","mergedItem","getMergedItem","_jsx","length","isSelected","id","ReportItem","memo"],"mappings":";;;;;;;;;;;;;AAQA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,OAOrB;AAAA,MANJC,MAMI,QANJA,MAMI;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,KAII,QAJJA,KAII;AAAA,MAHJC,OAGI,QAHJA,OAGI;AAAA,MAFJC,WAEI,QAFJA,WAEI;AAAA,MADJC,UACI,QADJA,UACI;AACJ,MAAMC,aAAa,GAAGC,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,aAAV;AAAA,GAAN,CAAlC;AACA,MAAMG,aAAa,GAAGC,8BAAe,CAAC,UAAAF,KAAK;AAAA,WAAIA,KAAK,CAACC,aAAV;AAAA,GAAN,CAArC;AACA,MAAME,YAAY,GAAGJ,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACG,YAAV;AAAA,GAAN,CAAjC;AACA,MAAMC,gBAAgB,GAAGL,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACI,gBAAV;AAAA,GAAN,CAArC;AACA,MAAMC,YAAY,GAAGN,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACK,YAAV;AAAA,GAAN,CAAjC;AAEA,SAAOX,KAAK,CACTY,MADI,CACG,UAAAC,IAAI;AAAA,WACVA,IAAI,CAACC,SAAL,KAAmBC,SAAnB,GACIF,IAAI,CAACC,SADT,GAEI,IAHM;AAAA,GADP,EAMJE,GANI,CAMA,UAACH,IAAD,EAAOI,KAAP,EAAiB;AACpB,QAAMC,UAAU,GAAGC,aAAa,CAACN,IAAD,EAAOT,aAAP,CAAhC;AACA,wBACEgB,eAAC,aAAD;AAEE,MAAA,MAAM,EAAEtB,MAFV;AAGE,MAAA,KAAK,EAAEmB,KAHT;AAIE,MAAA,sBAAsB,EAAEV,aAAa,KAAK,IAAlB,IAA0BA,aAAa,CAACc,MAAd,GAAuB,CAJ3E;AAKE,MAAA,QAAQ,EAAEtB,QALZ;AAME,MAAA,UAAU,EAAEuB,oBAAU,CAACT,IAAI,CAACU,EAAN,EAAUhB,aAAV,CANxB;AAOE,MAAA,IAAI,EAAEM,IAPR;AAQE,MAAA,OAAO,EAAEZ,OARX;AASE,MAAA,WAAW,EAAEC,WATf;AAUE,MAAA,UAAU,EAAEC,UAVd;AAAA,6BAYEiB,eAAC,kBAAD;AAEE,QAAA,IAAI,EAAEF,UAFR;AAAA,kBAIG,kBAAAM,UAAU;AAAA,8BACTJ,eAAC,UAAD;AACE,YAAA,sBAAsB,EAAEb,aAAa,KAAK,IAAlB,IAA0BA,aAAa,CAACc,MAAd,GAAuB,CAD3E;AAEE,YAAA,UAAU,EAAEC,oBAAU,CAACT,IAAI,CAACU,EAAN,EAAUhB,aAAV,CAFxB;AAGE,YAAA,IAAI,EAAEW,UAHR;AAIE,YAAA,YAAY,EAAET,YAJhB;AAKE,YAAA,gBAAgB,EAAEC,gBALpB;AAME,YAAA,YAAY,EAAEC;AANhB,YADS;AAAA;AAJb,SACOE,IAAI,CAACU,EADZ;AAZF,OACOV,IAAI,CAACU,EADZ,CADF;AA8BD,GAtCI,CAAP;AAuCD,CArDD;;AAuDA,wCAAeE,UAAI,CAAC5B,kBAAD,CAAnB;;;;"}
1
+ {"version":3,"file":"ReportItemsWrapper.js","sources":["../../../src/components/ReportItemsWrapper.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport ReportItemRenderer from './Builder/ReportItemRenderer';\nimport DraggableItem from './DraggableItem/DraggableItem';\nimport getMergedItem from '../utils/getMergedItem';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { isSelectedItem } from '../utils/functions';\nimport { usePropStore } from '../contexts/PropContext';\n\nconst ReportItemsWrapper = ({\n getIntersectionsFromMatches,\n handleMatches,\n items,\n}) => {\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const activeElement = useBuilderStore(state => state.activeElement);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemChange = usePropStore(state => state.onItemChange);\n\n return items\n .filter(item => (\n item.isVisible !== undefined\n ? item.isVisible\n : true\n ))\n .map(item => {\n const mergedItem = getMergedItem(item, acceptedItems);\n return (\n <DraggableItem\n key={item.id}\n getIntersectionsFromMatches={getIntersectionsFromMatches}\n handleMatches={handleMatches}\n item={item}\n >\n <ReportItemRenderer\n item={mergedItem}\n >\n {ReportItem => (\n <ReportItem\n isMultipleItemSelected={activeElement !== null && activeElement.length > 1}\n isSelected={isSelectedItem(item.id, activeElement)}\n item={mergedItem}\n itemAccessor={itemAccessor}\n onAnEventTrigger={onAnEventTrigger}\n onItemChange={onItemChange}\n />\n )}\n </ReportItemRenderer>\n </DraggableItem>\n );\n });\n};\n\nReportItemsWrapper.propTypes = {\n getIntersectionsFromMatches: PropTypes.func,\n handleMatches: PropTypes.func,\n items: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n};\n\nexport default memo(ReportItemsWrapper);\n"],"names":["ReportItemsWrapper","getIntersectionsFromMatches","handleMatches","items","acceptedItems","usePropStore","state","activeElement","useBuilderStore","itemAccessor","onAnEventTrigger","onItemChange","filter","item","isVisible","undefined","map","mergedItem","getMergedItem","_jsx","ReportItem","length","isSelectedItem","id","propTypes","PropTypes","func","arrayOf","shape","memo"],"mappings":";;;;;;;;;;;;;;;;;;AASA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,OAIrB;AAAA,MAHJC,2BAGI,QAHJA,2BAGI;AAAA,MAFJC,aAEI,QAFJA,aAEI;AAAA,MADJC,KACI,QADJA,KACI;AACJ,MAAMC,aAAa,GAAGC,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,aAAV;AAAA,GAAN,CAAlC;AACA,MAAMG,aAAa,GAAGC,8BAAe,CAAC,UAAAF,KAAK;AAAA,WAAIA,KAAK,CAACC,aAAV;AAAA,GAAN,CAArC;AACA,MAAME,YAAY,GAAGJ,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACG,YAAV;AAAA,GAAN,CAAjC;AACA,MAAMC,gBAAgB,GAAGL,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACI,gBAAV;AAAA,GAAN,CAArC;AACA,MAAMC,YAAY,GAAGN,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACK,YAAV;AAAA,GAAN,CAAjC;AAEA,SAAOR,KAAK,CACTS,MADI,CACG,UAAAC,IAAI;AAAA,WACVA,IAAI,CAACC,SAAL,KAAmBC,SAAnB,GACIF,IAAI,CAACC,SADT,GAEI,IAHM;AAAA,GADP,EAMJE,GANI,CAMA,UAAAH,IAAI,EAAI;AACX,QAAMI,UAAU,GAAGC,aAAa,CAACL,IAAD,EAAOT,aAAP,CAAhC;AACA,wBACEe,eAAC,aAAD;AAEE,MAAA,2BAA2B,EAAElB,2BAF/B;AAGE,MAAA,aAAa,EAAEC,aAHjB;AAIE,MAAA,IAAI,EAAEW,IAJR;AAAA,6BAMEM,eAAC,kBAAD;AACE,QAAA,IAAI,EAAEF,UADR;AAAA,kBAGG,kBAAAG,UAAU;AAAA,8BACTD,eAAC,UAAD;AACE,YAAA,sBAAsB,EAAEZ,aAAa,KAAK,IAAlB,IAA0BA,aAAa,CAACc,MAAd,GAAuB,CAD3E;AAEE,YAAA,UAAU,EAAEC,wBAAc,CAACT,IAAI,CAACU,EAAN,EAAUhB,aAAV,CAF5B;AAGE,YAAA,IAAI,EAAEU,UAHR;AAIE,YAAA,YAAY,EAAER,YAJhB;AAKE,YAAA,gBAAgB,EAAEC,gBALpB;AAME,YAAA,YAAY,EAAEC;AANhB,YADS;AAAA;AAHb;AANF,OACOE,IAAI,CAACU,EADZ,CADF;AAuBD,GA/BI,CAAP;AAgCD,CA3CD;;AA6CAvB,kBAAkB,CAACwB,SAAnB,GAA+B;AAC7BvB,EAAAA,2BAA2B,EAAEwB,6BAAS,CAACC,IADV;AAE7BxB,EAAAA,aAAa,EAAEuB,6BAAS,CAACC,IAFI;AAG7BvB,EAAAA,KAAK,EAAEsB,6BAAS,CAACE,OAAV,CACLF,6BAAS,CAACG,KAAV,CAAgB,EAAhB,CADK;AAHsB,CAA/B;AAQA,wCAAeC,UAAI,CAAC7B,kBAAD,CAAnB;;;;"}