@jotforminc/dnd-builder 3.8.1 → 3.9.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.
@@ -1 +1 @@
1
- {"version":3,"file":"BuilderContext.js","sources":["../../../src/contexts/BuilderContext.js"],"sourcesContent":["/* eslint-disable complexity */\nimport {\n createContext,\n useContext,\n useRef,\n useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport { createStore, useStore } from 'zustand';\nimport { SLIDES_LIST_TYPE_MAP } from '../constants/panel';\n\nconst builderStore = props => {\n return createStore((set, get) => ({\n activeElements: props.activeElement || [],\n activeTab: props.activeTab || { left: 0, right: 0 },\n clickOutsideIgnoreSelectors: props.clickOutsideIgnoreSelectors || [],\n contextMenuProps: props.contextMenuProps || false,\n editedElement: props.editedElement || 'l_layout',\n guides: {},\n isLeftPanelOpen: props.isLeftPanelOpen || false,\n isResize: false,\n isRightPanelOpen: props.isRightPanelOpen || false,\n isSlidesNavigatorOpen: props.isSlidesNavigatorOpen || false,\n isSlidesPanelOpen: props.isSlidesPanelOpen || false,\n isTextEditorOpen: props.isTextEditorOpen || false,\n lastScrollPosition: props.lastScrollPosition || 0,\n matches: {},\n onRightPanelsToggled: props.onRightPanelsToggled || (() => {}),\n overedPageId: props.activePageId || null,\n resetActiveElements: props.resetActiveElements || (() => {\n set({ activeElements: [], editedElement: 'l_layout' });\n }),\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n setActiveElements: props.setActiveElements || ((itemID, edit = true, replace = true) => {\n const { activeElements } = get();\n set({\n activeElements: replace ? [itemID] : [...activeElements, itemID],\n ...edit ? { editedElement: !itemID ? 'l_layout' : `i_${itemID}` } : {},\n });\n }),\n setActiveElementsSelection: props.setActiveElementsSelection || (itemIDs => {\n if (!itemIDs || itemIDs.length === 0) {\n set({ activeElements: [], editedElement: 'l_layout' });\n } else if (itemIDs.length === 1) {\n set({\n activeElements: itemIDs,\n editedElement: `i_${itemIDs[0]}`,\n });\n } else {\n set({ activeElements: itemIDs });\n }\n }),\n setActiveTab: props.setActiveTab || ((panel, tabIndex) => {\n const { activeTab } = get();\n set({ activeTab: { ...activeTab, [panel]: tabIndex } });\n }),\n setContextMenuProps: status => {\n set({ contextMenuProps: status });\n },\n setEditedElement: id => {\n set({ editedElement: id });\n },\n setGuides: guides => {\n set({ guides });\n },\n setIsLeftPanelOpen: props.setIsLeftPanelOpen || (status => {\n const {\n isEnoughCanvasSize,\n isSlidesNavigatorOpen: previousIsSlidesNavigatorOpen,\n restoreSlidesNavigatorWhenLeftCloses,\n } = get();\n\n if (status) {\n if (previousIsSlidesNavigatorOpen) {\n set({\n isLeftPanelOpen: true,\n isSlidesNavigatorOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: true,\n ...!isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n } else {\n set({\n isLeftPanelOpen: true,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n ...!isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n }\n return;\n }\n\n if (restoreSlidesNavigatorWhenLeftCloses) {\n set({\n isLeftPanelOpen: false,\n isSlidesNavigatorOpen: true,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n return;\n }\n\n set({ isLeftPanelOpen: false });\n }),\n setIsResize: status => {\n set({ isResize: status });\n },\n setIsRightPanelOpen: props.setIsRightPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isRightPanelOpen: status,\n ...status && !isEnoughCanvasSize && {\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n },\n ...status && { isSlidesPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsSlidesNavigatorOpen: status => {\n const {\n isLeftPanelOpen: previousIsLeftPanelOpen,\n restoreLeftPanelWhenNavigatorCloses,\n } = get();\n\n if (status) {\n if (previousIsLeftPanelOpen) {\n set({\n isLeftPanelOpen: false,\n isSlidesNavigatorOpen: true,\n restoreLeftPanelWhenNavigatorCloses: true,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n } else {\n set({\n isSlidesNavigatorOpen: true,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n }\n return;\n }\n\n if (restoreLeftPanelWhenNavigatorCloses) {\n set({\n isLeftPanelOpen: true,\n isSlidesNavigatorOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n });\n return;\n }\n\n set({\n isSlidesNavigatorOpen: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n },\n setIsSlidesPanelOpen: props.setIsSlidesPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isSlidesPanelOpen: status,\n ...status && !isEnoughCanvasSize && {\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n },\n ...status && { isRightPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsTextEditorOpen: status => {\n set({ isTextEditorOpen: status });\n },\n setMatches: matches => {\n set({ matches });\n },\n setOutPage: outPageId => {\n set({ overedPageId: outPageId });\n },\n setOverPage: overPageId => {\n set({ overedPageId: overPageId });\n },\n setToolbarPosition: ({ itemId, position }) => {\n set({ toolbarPosition: { itemId, position } });\n },\n setVisiblePageOrder: visiblePageOrder => {\n set({ visiblePageOrder });\n },\n setZoom: (zoom, layoutWidth) => {\n set({ zoom });\n if (layoutWidth && get().mode === 'customize') {\n const { clientWidth: paneWidth } = document.querySelector('.jfReport-pane .toolItemWrapper');\n const sceneWidth = parseInt(layoutWidth, 10) * zoom;\n if (window.innerWidth - sceneWidth + 100 > (paneWidth * 2)) {\n set({ isEnoughCanvasSize: true });\n } else {\n set({\n isEnoughCanvasSize: false,\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n }\n }\n },\n shouldFitZoomInitially: !!props.defaultZoom,\n shouldShowRightPanelInitially: props.shouldShowRightPanelInitially ?? true,\n slidesListType: props.slidesListType || SLIDES_LIST_TYPE_MAP.PANEL,\n toolbarPosition: props.toolbarPosition || { itemId: '', position: 'right-align' },\n visiblePageOrder: 1,\n zoom: props.defaultZoom ?? 0.8,\n }));\n};\n\nconst BuilderContext = createContext(null);\n\nexport const BuilderProvider = ({\n activeElement, children, value, ...props\n}) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = builderStore(props);\n }\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!activeElement?.length || isEqual(state.activeElements, activeElement)) return;\n state.setActiveElementsSelection(activeElement);\n }, [activeElement]);\n\n return (\n <BuilderContext.Provider value={storeRef.current}>\n {children}\n </BuilderContext.Provider>\n );\n};\n\nBuilderProvider.propTypes = {\n activeElement: PropTypes.array,\n children: PropTypes.any,\n value: PropTypes.object,\n};\n\nexport const BuilderConsumer = BuilderContext.Consumer;\n\nexport const useBuilderStore = selector => {\n const context = useContext(BuilderContext);\n if (!context) {\n throw new Error('useBuilderStore must be used with BuilderProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["builderStore","props","createStore","set","get","activeElements","activeElement","activeTab","left","right","clickOutsideIgnoreSelectors","contextMenuProps","editedElement","guides","isLeftPanelOpen","isResize","isRightPanelOpen","isSlidesNavigatorOpen","isSlidesPanelOpen","isTextEditorOpen","lastScrollPosition","matches","onRightPanelsToggled","overedPageId","activePageId","resetActiveElements","restoreLeftPanelWhenNavigatorCloses","restoreSlidesNavigatorWhenLeftCloses","setActiveElements","itemID","edit","replace","setActiveElementsSelection","itemIDs","length","setActiveTab","panel","tabIndex","setContextMenuProps","status","setEditedElement","id","setGuides","setIsLeftPanelOpen","isEnoughCanvasSize","previousIsSlidesNavigatorOpen","setIsResize","setIsRightPanelOpen","setIsSlidesNavigatorOpen","previousIsLeftPanelOpen","setIsSlidesPanelOpen","setIsTextEditorOpen","setMatches","setOutPage","outPageId","setOverPage","overPageId","setToolbarPosition","itemId","position","toolbarPosition","setVisiblePageOrder","visiblePageOrder","setZoom","zoom","layoutWidth","mode","document","querySelector","paneWidth","clientWidth","sceneWidth","parseInt","window","innerWidth","shouldFitZoomInitially","defaultZoom","shouldShowRightPanelInitially","slidesListType","SLIDES_LIST_TYPE_MAP","PANEL","BuilderContext","createContext","BuilderProvider","children","value","storeRef","useRef","current","useEffect","state","getState","isEqual","_jsx","propTypes","PropTypes","array","any","object","Consumer","useBuilderStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
1
+ {"version":3,"file":"BuilderContext.js","sources":["../../../src/contexts/BuilderContext.js"],"sourcesContent":["/* eslint-disable complexity */\nimport {\n createContext,\n useContext,\n useRef,\n useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport { createStore, useStore } from 'zustand';\nimport { SLIDES_LIST_TYPE_MAP } from '../constants/panel';\n\nconst builderStore = props => {\n return createStore((set, get) => ({\n activeElements: props.activeElement || [],\n activeTab: props.activeTab || { left: 0, right: 0 },\n clickOutsideIgnoreSelectors: props.clickOutsideIgnoreSelectors || [],\n contextMenuProps: props.contextMenuProps || false,\n editedElement: props.editedElement || 'l_layout',\n guides: {},\n isLeftPanelOpen: props.isLeftPanelOpen || false,\n isResize: false,\n isRightPanelOpen: props.isRightPanelOpen || false,\n isSlidesNavigatorOpen: props.isSlidesNavigatorOpen || false,\n isSlidesPanelOpen: props.isSlidesPanelOpen || false,\n isTextEditorOpen: props.isTextEditorOpen || false,\n lastScrollPosition: props.lastScrollPosition || 0,\n matches: {},\n onRightPanelsToggled: props.onRightPanelsToggled || (() => {}),\n overedPageId: props.activePageId || null,\n resetActiveElements: props.resetActiveElements || (() => {\n set({ activeElements: [], editedElement: 'l_layout' });\n }),\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n setActiveElements: props.setActiveElements || ((itemID, edit = true, replace = true) => {\n const { activeElements } = get();\n set({\n activeElements: replace ? [itemID] : [...activeElements, itemID],\n ...edit ? { editedElement: !itemID ? 'l_layout' : `i_${itemID}` } : {},\n });\n }),\n setActiveElementsSelection: props.setActiveElementsSelection || (itemIDs => {\n if (!itemIDs || itemIDs.length === 0) {\n set({ activeElements: [], editedElement: 'l_layout' });\n } else if (itemIDs.length === 1) {\n set({\n activeElements: itemIDs,\n editedElement: `i_${itemIDs[0]}`,\n });\n } else {\n set({ activeElements: itemIDs });\n }\n }),\n setActiveTab: props.setActiveTab || ((panel, tabIndex) => {\n const { activeTab } = get();\n set({ activeTab: { ...activeTab, [panel]: tabIndex } });\n }),\n setContextMenuProps: status => {\n set({ contextMenuProps: status });\n },\n setEditedElement: id => {\n set({ editedElement: id });\n },\n setGuides: guides => {\n set({ guides });\n },\n setIsLeftPanelOpen: props.setIsLeftPanelOpen || (status => {\n const {\n isEnoughCanvasSize,\n isSlidesNavigatorOpen: previousIsSlidesNavigatorOpen,\n restoreSlidesNavigatorWhenLeftCloses,\n } = get();\n\n if (status) {\n if (previousIsSlidesNavigatorOpen) {\n set({\n isLeftPanelOpen: true,\n isSlidesNavigatorOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: true,\n ...!isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n } else {\n set({\n isLeftPanelOpen: true,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n ...!isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n }\n return;\n }\n\n if (restoreSlidesNavigatorWhenLeftCloses) {\n set({\n isLeftPanelOpen: false,\n isSlidesNavigatorOpen: true,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n return;\n }\n\n set({ isLeftPanelOpen: false });\n }),\n setIsResize: status => {\n set({ isResize: status });\n },\n setIsRightPanelOpen: props.setIsRightPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isRightPanelOpen: status,\n ...status && !isEnoughCanvasSize && {\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n },\n ...status && { isSlidesPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsSlidesNavigatorOpen: status => {\n const {\n isLeftPanelOpen: previousIsLeftPanelOpen,\n restoreLeftPanelWhenNavigatorCloses,\n } = get();\n\n if (status) {\n if (previousIsLeftPanelOpen) {\n set({\n isLeftPanelOpen: false,\n isSlidesNavigatorOpen: true,\n restoreLeftPanelWhenNavigatorCloses: true,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n } else {\n set({\n isSlidesNavigatorOpen: true,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n }\n return;\n }\n\n if (restoreLeftPanelWhenNavigatorCloses) {\n set({\n isLeftPanelOpen: true,\n isSlidesNavigatorOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n });\n return;\n }\n\n set({\n isSlidesNavigatorOpen: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n },\n setIsSlidesPanelOpen: props.setIsSlidesPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isSlidesPanelOpen: status,\n ...status && !isEnoughCanvasSize && {\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n },\n ...status && { isRightPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsTextEditorOpen: status => {\n set({ isTextEditorOpen: status });\n },\n setMatches: matches => {\n set({ matches });\n },\n setOutPage: outPageId => {\n set({ overedPageId: outPageId });\n },\n setOverPage: overPageId => {\n set({ overedPageId: overPageId });\n },\n setToolbarPosition: ({ itemId, position }) => {\n set({ toolbarPosition: { itemId, position } });\n },\n setVisiblePageOrder: visiblePageOrder => {\n set({ visiblePageOrder });\n },\n setZoom: (zoom, layoutWidth) => {\n set({ zoom });\n if (layoutWidth && get().mode === 'customize') {\n const { clientWidth: paneWidth } = document.querySelector('.jfReport-pane .toolItemWrapper');\n const sceneWidth = parseInt(layoutWidth, 10) * zoom;\n if (window.innerWidth - sceneWidth + 100 > (paneWidth * 2)) {\n set({ isEnoughCanvasSize: true });\n } else {\n set({\n isEnoughCanvasSize: false,\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n }\n }\n },\n shouldFitZoomInitially: !!props.defaultZoom,\n shouldShowRightPanelInitially: props.shouldShowRightPanelInitially ?? true,\n slidesListType: props.slidesListType || SLIDES_LIST_TYPE_MAP.PANEL,\n toolbarPosition: props.toolbarPosition || { itemId: '', position: 'right-align' },\n visiblePageOrder: 1,\n zoom: props.defaultZoom ?? 0.8,\n }));\n};\n\nconst BuilderContext = createContext(null);\n\nexport const BuilderProvider = ({\n activeElement, children, value, ...props\n}) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = builderStore(props);\n }\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (isEqual(state.activeElements, activeElement)) return;\n state.setActiveElementsSelection(activeElement);\n }, [activeElement]);\n\n return (\n <BuilderContext.Provider value={storeRef.current}>\n {children}\n </BuilderContext.Provider>\n );\n};\n\nBuilderProvider.propTypes = {\n activeElement: PropTypes.array,\n children: PropTypes.any,\n value: PropTypes.object,\n};\n\nexport const BuilderConsumer = BuilderContext.Consumer;\n\nexport const useBuilderStore = selector => {\n const context = useContext(BuilderContext);\n if (!context) {\n throw new Error('useBuilderStore must be used with BuilderProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["builderStore","props","createStore","set","get","activeElements","activeElement","activeTab","left","right","clickOutsideIgnoreSelectors","contextMenuProps","editedElement","guides","isLeftPanelOpen","isResize","isRightPanelOpen","isSlidesNavigatorOpen","isSlidesPanelOpen","isTextEditorOpen","lastScrollPosition","matches","onRightPanelsToggled","overedPageId","activePageId","resetActiveElements","restoreLeftPanelWhenNavigatorCloses","restoreSlidesNavigatorWhenLeftCloses","setActiveElements","itemID","edit","replace","setActiveElementsSelection","itemIDs","length","setActiveTab","panel","tabIndex","setContextMenuProps","status","setEditedElement","id","setGuides","setIsLeftPanelOpen","isEnoughCanvasSize","previousIsSlidesNavigatorOpen","setIsResize","setIsRightPanelOpen","setIsSlidesNavigatorOpen","previousIsLeftPanelOpen","setIsSlidesPanelOpen","setIsTextEditorOpen","setMatches","setOutPage","outPageId","setOverPage","overPageId","setToolbarPosition","itemId","position","toolbarPosition","setVisiblePageOrder","visiblePageOrder","setZoom","zoom","layoutWidth","mode","document","querySelector","paneWidth","clientWidth","sceneWidth","parseInt","window","innerWidth","shouldFitZoomInitially","defaultZoom","shouldShowRightPanelInitially","slidesListType","SLIDES_LIST_TYPE_MAP","PANEL","BuilderContext","createContext","BuilderProvider","children","value","storeRef","useRef","current","useEffect","state","getState","isEqual","_jsx","propTypes","PropTypes","array","any","object","Consumer","useBuilderStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
@@ -276,12 +276,27 @@ var DraggableItemContent = function DraggableItemContent(_ref) {
276
276
  });
277
277
  };
278
278
 
279
+ var itemAccessor = usePropStore(function (state) {
280
+ return state.itemAccessor;
281
+ });
282
+ var accessorItemData = useMemo(function () {
283
+ return itemAccessor(_item2);
284
+ }, [_item2, itemAccessor]);
285
+ var _accessorItemData$act = accessorItemData.actions,
286
+ actions = _accessorItemData$act === void 0 ? {
287
+ settings: true
288
+ } : _accessorItemData$act;
289
+
279
290
  var onDoubleClick = function onDoubleClick(e) {
280
291
  if (e.target.contentEditable === 'true' || isTextEditorOpen) {
281
292
  // Dont override behaviour on text edits.
282
293
  return;
283
294
  }
284
295
 
296
+ if (!actions.settings) {
297
+ return;
298
+ }
299
+
285
300
  setIsRightPanelOpen(true);
286
301
  };
287
302
 
@@ -1 +1 @@
1
- {"version":3,"file":"DraggableItem.js","sources":["../../../../src/components/DraggableItem/DraggableItem.js"],"sourcesContent":["import {\n useEffect, useLayoutEffect, useState, memo, useMemo,\n} 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, getPosition, isSelectedItem, getMatchesForItem, roundPositionValues,\n} from '../../utils/functions';\nimport PageItemResizer from '../PageItemResizer';\nimport ErrorBoundary from '../ErrorBoundary/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 reportItemStyle = {\n height: '100%',\n width: '100%',\n};\n\nconst DraggableItemContent = ({\n children = null,\n item = {},\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 onItemResize = usePropStore(state => state.onItemResize);\n const pages = usePropStore(state => state.pages);\n const settings = usePropStore(state => state.settings);\n\n const activeElements = useBuilderStore(state => state.activeElements);\n const setActiveElements = useBuilderStore(state => state.setActiveElements);\n const setContextMenuProps = useBuilderStore(state => state.setContextMenuProps);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setIsResize = useBuilderStore(state => state.setIsResize);\n const setMatches = useBuilderStore(state => state.setMatches);\n const guides = useBuilderStore(state => state.guides);\n const zoom = useBuilderStore(state => state.zoom);\n\n const setToolbarPosition = useBuilderStore(state => state.setToolbarPosition);\n\n const isSelected = isSelectedItem(item.id, activeElements);\n\n const select = event => {\n if (!isSelected) {\n if (!event || !event.metaKey) { // Single item selected\n setActiveElements(id, true);\n if (isLocked) {\n setIsRightPanelOpen(false);\n }\n } else {\n // Multiple items selected\n setActiveElements(id, false, false);\n setIsRightPanelOpen(false);\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: () => isSelected,\n item: () => {\n select();\n addEventListenerForSidebar();\n return item;\n },\n type: DRAGGABLE_ITEM_TYPE,\n }), [\n item,\n canDrag,\n id,\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 = () => {\n setIsResize(false);\n setMatches({});\n onItemResize(item, roundPositionValues({\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }));\n };\n\n const onResize = (deltaWidth, deltaHeight, direction) => {\n setIsResize(true);\n\n const isLeft = /left/i.test(direction);\n const isTop = /top/i.test(direction);\n const isRight = /right/i.test(direction);\n const isBottom = /bottom/i.test(direction);\n\n const activeItem = {\n ...item,\n height: item.height + deltaHeight,\n left: isLeft ? item.left - deltaWidth : item.left,\n top: isTop ? item.top - deltaHeight : item.top,\n width: item.width + deltaWidth,\n };\n\n const newMatches = getMatchesForItem(activeItem, guides, zoom, direction);\n setMatches(newMatches);\n\n const snapX = newMatches?.x?.intersection / zoom;\n const snapY = newMatches?.y?.intersection / zoom;\n\n const rightEdge = item.left + item.width;\n const bottomEdge = item.top + item.height;\n\n const getWidth = () => {\n if (!snapX) return activeItem.width;\n return isRight ? snapX - item.left : rightEdge - snapX;\n };\n\n const getHeight = () => {\n if (!snapY) return activeItem.height;\n return isBottom ? snapY - item.top : bottomEdge - snapY;\n };\n\n const getLeft = () => {\n if (snapX && isLeft) return snapX;\n return isLeft ? activeItem.left : item.left;\n };\n\n const getTop = () => {\n if (snapY && isTop) return snapY;\n return isTop ? activeItem.top : item.top;\n };\n\n setResizeSize({\n height: getHeight(),\n left: getLeft(),\n top: getTop(),\n width: getWidth(),\n });\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 modifiedItem = useMemo(() => ({\n ...item,\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }), [item, stateHeight, stateLeft, stateTop, stateWidth]);\n\n useLayoutEffect(() => {\n if (!isSelected) return;\n const THRESHOLD = 80;\n\n const currentPage = pages?.find(p => p.id === pageID);\n\n const pageWidth = parseInt(currentPage?.reportLayoutWidth || settings?.reportLayoutWidth || '1123', 10);\n const pageHeight = parseInt(currentPage?.reportLayoutHeight || settings?.reportLayoutHeight || '794', 10);\n\n const itemRight = stateLeft + stateWidth;\n const itemBottom = stateTop + stateHeight;\n\n const verticalAlignment = stateHeight > stateWidth;\n\n const getVerticalPosition = () => {\n if (stateLeft < THRESHOLD) return 'right-align';\n if (pageWidth - itemRight < THRESHOLD) return 'left-align';\n return 'right-align';\n };\n\n const getHorizontalPosition = () => {\n if (stateTop < THRESHOLD) return 'bottom-align';\n if (pageHeight - itemBottom < THRESHOLD) return 'top-align';\n return 'top-align';\n };\n\n const toolbarPosition = verticalAlignment ? getVerticalPosition() : getHorizontalPosition();\n setToolbarPosition({ itemId: id, position: toolbarPosition });\n }, [id, isSelected, pageID, pages, settings, setToolbarPosition, stateHeight, stateLeft, stateTop, stateWidth]);\n\n return (\n <ItemPositioner\n classNames={`reportItemWrapper${isSelected ? ' isSelected' : ''}`}\n dataItemId={id}\n style={{\n ...getStyles(left, top, isDragging),\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }}\n >\n <ErrorBoundary\n item={item}\n level=\"item\"\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 {!isDragging && isSelected && (\n <PageItemResizer\n item={modifiedItem}\n onResize={onResize}\n onResizeStop={onResizeStop}\n />\n )}\n </ErrorBoundary>\n </ItemPositioner>\n );\n};\n\nconst DraggableItem = ({ children, item }) => (\n <DraggableItemContent item={item}>\n {children}\n </DraggableItemContent>\n);\n\nDraggableItem.propTypes = {\n children: PropTypes.any,\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\nDraggableItemContent.propTypes = DraggableItem.propTypes;\n\nexport default memo(DraggableItem);\n"],"names":["reportItemStyle","height","width","DraggableItemContent","children","item","id","isLocked","left","pageID","top","useState","stateHeight","stateLeft","stateTop","stateWidth","setResizeSize","onAnEventTrigger","usePropStore","state","onItemAdd","onItemResize","pages","settings","activeElements","useBuilderStore","setActiveElements","setContextMenuProps","isTextEditorOpen","setIsRightPanelOpen","setIsResize","setMatches","guides","zoom","setToolbarPosition","isSelected","isSelectedItem","select","event","metaKey","canDrag","useDrag","collect","monitor","isDragging","end","_item","dropResult","getDropResult","dropLeft","dropTop","prev","removeEventListenerForSidebar","addEventListenerForSidebar","type","DRAGGABLE_ITEM_TYPE","drag","preview","useEffect","getEmptyImage","captureDraggingState","onResizeStop","roundPositionValues","onResize","deltaWidth","deltaHeight","direction","isLeft","test","isTop","isRight","isBottom","activeItem","newMatches","getMatchesForItem","snapX","x","intersection","snapY","y","rightEdge","bottomEdge","getWidth","getHeight","getLeft","getTop","onContextMenuClick","e","target","contentEditable","preventDefault","itemType","position","getPosition","onDoubleClick","duplicateWithAltKey","altKey","itemID","generateId","itemToAdd","setTimeout","modifiedItem","useMemo","useLayoutEffect","THRESHOLD","currentPage","find","p","pageWidth","parseInt","reportLayoutWidth","pageHeight","reportLayoutHeight","itemRight","itemBottom","verticalAlignment","getVerticalPosition","getHorizontalPosition","toolbarPosition","itemId","_jsx","getStyles","_jsxs","classNames","DraggableItem","propTypes","PropTypes","any","shape","oneOfType","number","string","bool","memo"],"mappings":"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"}
1
+ {"version":3,"file":"DraggableItem.js","sources":["../../../../src/components/DraggableItem/DraggableItem.js"],"sourcesContent":["import {\n useEffect, useLayoutEffect, useState, memo, useMemo,\n} 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, getPosition, isSelectedItem, getMatchesForItem, roundPositionValues,\n} from '../../utils/functions';\nimport PageItemResizer from '../PageItemResizer';\nimport ErrorBoundary from '../ErrorBoundary/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 reportItemStyle = {\n height: '100%',\n width: '100%',\n};\n\nconst DraggableItemContent = ({\n children = null,\n item = {},\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 onItemResize = usePropStore(state => state.onItemResize);\n const pages = usePropStore(state => state.pages);\n const settings = usePropStore(state => state.settings);\n\n const activeElements = useBuilderStore(state => state.activeElements);\n const setActiveElements = useBuilderStore(state => state.setActiveElements);\n const setContextMenuProps = useBuilderStore(state => state.setContextMenuProps);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setIsResize = useBuilderStore(state => state.setIsResize);\n const setMatches = useBuilderStore(state => state.setMatches);\n const guides = useBuilderStore(state => state.guides);\n const zoom = useBuilderStore(state => state.zoom);\n\n const setToolbarPosition = useBuilderStore(state => state.setToolbarPosition);\n\n const isSelected = isSelectedItem(item.id, activeElements);\n\n const select = event => {\n if (!isSelected) {\n if (!event || !event.metaKey) { // Single item selected\n setActiveElements(id, true);\n if (isLocked) {\n setIsRightPanelOpen(false);\n }\n } else {\n // Multiple items selected\n setActiveElements(id, false, false);\n setIsRightPanelOpen(false);\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: () => isSelected,\n item: () => {\n select();\n addEventListenerForSidebar();\n return item;\n },\n type: DRAGGABLE_ITEM_TYPE,\n }), [\n item,\n canDrag,\n id,\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 = () => {\n setIsResize(false);\n setMatches({});\n onItemResize(item, roundPositionValues({\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }));\n };\n\n const onResize = (deltaWidth, deltaHeight, direction) => {\n setIsResize(true);\n\n const isLeft = /left/i.test(direction);\n const isTop = /top/i.test(direction);\n const isRight = /right/i.test(direction);\n const isBottom = /bottom/i.test(direction);\n\n const activeItem = {\n ...item,\n height: item.height + deltaHeight,\n left: isLeft ? item.left - deltaWidth : item.left,\n top: isTop ? item.top - deltaHeight : item.top,\n width: item.width + deltaWidth,\n };\n\n const newMatches = getMatchesForItem(activeItem, guides, zoom, direction);\n setMatches(newMatches);\n\n const snapX = newMatches?.x?.intersection / zoom;\n const snapY = newMatches?.y?.intersection / zoom;\n\n const rightEdge = item.left + item.width;\n const bottomEdge = item.top + item.height;\n\n const getWidth = () => {\n if (!snapX) return activeItem.width;\n return isRight ? snapX - item.left : rightEdge - snapX;\n };\n\n const getHeight = () => {\n if (!snapY) return activeItem.height;\n return isBottom ? snapY - item.top : bottomEdge - snapY;\n };\n\n const getLeft = () => {\n if (snapX && isLeft) return snapX;\n return isLeft ? activeItem.left : item.left;\n };\n\n const getTop = () => {\n if (snapY && isTop) return snapY;\n return isTop ? activeItem.top : item.top;\n };\n\n setResizeSize({\n height: getHeight(),\n left: getLeft(),\n top: getTop(),\n width: getWidth(),\n });\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 itemAccessor = usePropStore(state => state.itemAccessor);\n const accessorItemData = useMemo(() => {\n return itemAccessor(item);\n }, [item, itemAccessor]);\n\n const { actions = { settings: true } } = accessorItemData;\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 if (!actions.settings) {\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 modifiedItem = useMemo(() => ({\n ...item,\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }), [item, stateHeight, stateLeft, stateTop, stateWidth]);\n\n useLayoutEffect(() => {\n if (!isSelected) return;\n const THRESHOLD = 80;\n\n const currentPage = pages?.find(p => p.id === pageID);\n\n const pageWidth = parseInt(currentPage?.reportLayoutWidth || settings?.reportLayoutWidth || '1123', 10);\n const pageHeight = parseInt(currentPage?.reportLayoutHeight || settings?.reportLayoutHeight || '794', 10);\n\n const itemRight = stateLeft + stateWidth;\n const itemBottom = stateTop + stateHeight;\n\n const verticalAlignment = stateHeight > stateWidth;\n\n const getVerticalPosition = () => {\n if (stateLeft < THRESHOLD) return 'right-align';\n if (pageWidth - itemRight < THRESHOLD) return 'left-align';\n return 'right-align';\n };\n\n const getHorizontalPosition = () => {\n if (stateTop < THRESHOLD) return 'bottom-align';\n if (pageHeight - itemBottom < THRESHOLD) return 'top-align';\n return 'top-align';\n };\n\n const toolbarPosition = verticalAlignment ? getVerticalPosition() : getHorizontalPosition();\n setToolbarPosition({ itemId: id, position: toolbarPosition });\n }, [id, isSelected, pageID, pages, settings, setToolbarPosition, stateHeight, stateLeft, stateTop, stateWidth]);\n\n return (\n <ItemPositioner\n classNames={`reportItemWrapper${isSelected ? ' isSelected' : ''}`}\n dataItemId={id}\n style={{\n ...getStyles(left, top, isDragging),\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }}\n >\n <ErrorBoundary\n item={item}\n level=\"item\"\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 {!isDragging && isSelected && (\n <PageItemResizer\n item={modifiedItem}\n onResize={onResize}\n onResizeStop={onResizeStop}\n />\n )}\n </ErrorBoundary>\n </ItemPositioner>\n );\n};\n\nconst DraggableItem = ({ children, item }) => (\n <DraggableItemContent item={item}>\n {children}\n </DraggableItemContent>\n);\n\nDraggableItem.propTypes = {\n children: PropTypes.any,\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\nDraggableItemContent.propTypes = DraggableItem.propTypes;\n\nexport default memo(DraggableItem);\n"],"names":["reportItemStyle","height","width","DraggableItemContent","children","item","id","isLocked","left","pageID","top","useState","stateHeight","stateLeft","stateTop","stateWidth","setResizeSize","onAnEventTrigger","usePropStore","state","onItemAdd","onItemResize","pages","settings","activeElements","useBuilderStore","setActiveElements","setContextMenuProps","isTextEditorOpen","setIsRightPanelOpen","setIsResize","setMatches","guides","zoom","setToolbarPosition","isSelected","isSelectedItem","select","event","metaKey","canDrag","useDrag","collect","monitor","isDragging","end","_item","dropResult","getDropResult","dropLeft","dropTop","prev","removeEventListenerForSidebar","addEventListenerForSidebar","type","DRAGGABLE_ITEM_TYPE","drag","preview","useEffect","getEmptyImage","captureDraggingState","onResizeStop","roundPositionValues","onResize","deltaWidth","deltaHeight","direction","isLeft","test","isTop","isRight","isBottom","activeItem","newMatches","getMatchesForItem","snapX","x","intersection","snapY","y","rightEdge","bottomEdge","getWidth","getHeight","getLeft","getTop","onContextMenuClick","e","target","contentEditable","preventDefault","itemType","position","getPosition","itemAccessor","accessorItemData","useMemo","actions","onDoubleClick","duplicateWithAltKey","altKey","itemID","generateId","itemToAdd","setTimeout","modifiedItem","useLayoutEffect","THRESHOLD","currentPage","find","p","pageWidth","parseInt","reportLayoutWidth","pageHeight","reportLayoutHeight","itemRight","itemBottom","verticalAlignment","getVerticalPosition","getHorizontalPosition","toolbarPosition","itemId","_jsx","getStyles","_jsxs","classNames","DraggableItem","propTypes","PropTypes","any","shape","oneOfType","number","string","bool","memo"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import PropTypes from 'prop-types';
1
2
  import { useSelectedElements, useTranslatedTexts } from '../../utils/hooks.js';
2
3
  import { usePropStore } from '../../contexts/PropContext.js';
3
4
  import { useBuilderStore } from '../../contexts/BuilderContext.js';
@@ -30,7 +31,15 @@ var toolbarAlignForItem = function toolbarAlignForItem(state, selectedId) {
30
31
  return position !== null && position !== void 0 ? position : DEFAULT_TOOLBAR_ALIGN;
31
32
  };
32
33
 
33
- var DraggableItemActions = function DraggableItemActions() {
34
+ var DraggableItemActions = function DraggableItemActions(_ref2) {
35
+ var _ref2$actions = _ref2.actions,
36
+ actions = _ref2$actions === void 0 ? {
37
+ delete: true,
38
+ duplicate: true,
39
+ lock: true,
40
+ settings: true
41
+ } : _ref2$actions;
42
+
34
43
  var _useTranslatedTexts = useTranslatedTexts(),
35
44
  DELETE_ITEM = _useTranslatedTexts.DELETE_ITEM,
36
45
  DUPLICATE_ITEM = _useTranslatedTexts.DUPLICATE_ITEM,
@@ -119,7 +128,7 @@ var DraggableItemActions = function DraggableItemActions() {
119
128
 
120
129
  return /*#__PURE__*/jsxs("div", {
121
130
  className: "report-item-toolbar ".concat(position),
122
- children: [/*#__PURE__*/jsx("button", {
131
+ children: [actions.settings && /*#__PURE__*/jsx("button", {
123
132
  className: "report-item-toolbar-item",
124
133
  onClick: openSettings,
125
134
  title: ITEM_SETTINGS,
@@ -127,7 +136,7 @@ var DraggableItemActions = function DraggableItemActions() {
127
136
  children: /*#__PURE__*/jsx(SvgSettings, {
128
137
  className: "toolbar-icon"
129
138
  })
130
- }), /*#__PURE__*/jsx("button", {
139
+ }), actions.duplicate && /*#__PURE__*/jsx("button", {
131
140
  className: "report-item-toolbar-item",
132
141
  onClick: duplicateItem,
133
142
  title: DUPLICATE_ITEM,
@@ -135,7 +144,7 @@ var DraggableItemActions = function DraggableItemActions() {
135
144
  children: /*#__PURE__*/jsx(SvgDuplicate, {
136
145
  className: "toolbar-icon"
137
146
  })
138
- }), /*#__PURE__*/jsx("button", {
147
+ }), actions.lock && /*#__PURE__*/jsx("button", {
139
148
  className: "report-item-toolbar-item",
140
149
  onClick: changeLockStatus,
141
150
  title: LOCK_ITEM,
@@ -143,7 +152,7 @@ var DraggableItemActions = function DraggableItemActions() {
143
152
  children: /*#__PURE__*/jsx(SvgUnlock, {
144
153
  className: "toolbar-icon"
145
154
  })
146
- }), /*#__PURE__*/jsx("button", {
155
+ }), actions.delete && /*#__PURE__*/jsx("button", {
147
156
  className: "report-item-toolbar-item error",
148
157
  onClick: deleteItem,
149
158
  title: DELETE_ITEM,
@@ -155,5 +164,14 @@ var DraggableItemActions = function DraggableItemActions() {
155
164
  });
156
165
  };
157
166
 
167
+ DraggableItemActions.propTypes = {
168
+ actions: PropTypes.shape({
169
+ delete: PropTypes.bool,
170
+ duplicate: PropTypes.bool,
171
+ lock: PropTypes.bool,
172
+ settings: PropTypes.bool
173
+ })
174
+ };
175
+
158
176
  export default DraggableItemActions;
159
177
  //# sourceMappingURL=DraggableItemActions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DraggableItemActions.js","sources":["../../../../src/components/DraggableItem/DraggableItemActions.js"],"sourcesContent":["import * as icons from '../../utils/icons';\nimport { useSelectedElements, useTranslatedTexts } from '../../utils/hooks';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport generateId from '../../utils/generateId';\n\nconst DEFAULT_TOOLBAR_ALIGN = 'right-align';\n\nconst toolbarAlignForItem = (state, selectedId) => {\n const { itemId, position } = state.toolbarPosition ?? {};\n if (itemId == null || itemId === '' || String(itemId) !== String(selectedId)) {\n return DEFAULT_TOOLBAR_ALIGN;\n }\n return position ?? DEFAULT_TOOLBAR_ALIGN;\n};\n\nconst DraggableItemActions = () => {\n const {\n DELETE_ITEM,\n DUPLICATE_ITEM,\n ITEM_SETTINGS,\n LOCK_ITEM,\n } = useTranslatedTexts();\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n\n const setActiveElements = useBuilderStore(state => state.setActiveElements);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n\n const selectedElements = useSelectedElements();\n const item = selectedElements[0]; // ACTIONS WORKS ONLY FOR ONE ITEM\n\n const { isLocked } = item;\n\n const itemId = item?.id;\n const position = useBuilderStore(s => toolbarAlignForItem(s, itemId));\n\n const changeLockStatus = () => {\n onAnEventTrigger(isLocked ? 'unlockReportItem' : 'lockReportItem', item.itemType);\n onItemChange({ id: item.id }, { isLocked: isLocked ? false : true });\n if (!isLocked) {\n setIsRightPanelOpen(false);\n }\n };\n\n const deleteItem = () => {\n setIsRightPanelOpen(false);\n resetActiveElements();\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 setActiveElements(itemID, true);\n setIsRightPanelOpen(true);\n };\n\n const openSettings = () => {\n setIsRightPanelOpen(true);\n };\n\n if (isLocked) {\n return (\n <div className={`report-item-toolbar isLocked forLocked ${position}`}>\n <button\n className=\"report-item-toolbar-item\"\n onClick={changeLockStatus}\n type=\"button\"\n >\n <icons.lock className=\"toolbar-icon\" />\n </button>\n </div>\n );\n }\n return (\n <div className={`report-item-toolbar ${position}`}>\n <button\n className=\"report-item-toolbar-item\"\n onClick={openSettings}\n title={ITEM_SETTINGS}\n type=\"button\"\n >\n <icons.settings className=\"toolbar-icon\" />\n </button>\n <button\n className=\"report-item-toolbar-item\"\n onClick={duplicateItem}\n title={DUPLICATE_ITEM}\n type=\"button\"\n >\n <icons.duplicate className=\"toolbar-icon\" />\n </button>\n <button\n className=\"report-item-toolbar-item\"\n onClick={changeLockStatus}\n title={LOCK_ITEM}\n type=\"button\"\n >\n <icons.unlock className=\"toolbar-icon\" />\n </button>\n <button\n className=\"report-item-toolbar-item error\"\n onClick={deleteItem}\n title={DELETE_ITEM}\n type=\"button\"\n >\n <icons.trash className=\"toolbar-icon\" />\n </button>\n </div>\n );\n};\n\nexport default DraggableItemActions;\n"],"names":["DEFAULT_TOOLBAR_ALIGN","toolbarAlignForItem","state","selectedId","toolbarPosition","itemId","position","String","DraggableItemActions","useTranslatedTexts","DELETE_ITEM","DUPLICATE_ITEM","ITEM_SETTINGS","LOCK_ITEM","onAnEventTrigger","usePropStore","onItemChange","onItemRemove","onItemAdd","setActiveElements","useBuilderStore","resetActiveElements","setIsRightPanelOpen","selectedElements","useSelectedElements","item","isLocked","id","s","changeLockStatus","itemType","deleteItem","duplicateItem","itemID","generateId","left","top","openSettings","_jsx","icons.lock","_jsxs","icons.settings","icons.duplicate","icons.unlock","icons.trash"],"mappings":"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"}
1
+ {"version":3,"file":"DraggableItemActions.js","sources":["../../../../src/components/DraggableItem/DraggableItemActions.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport * as icons from '../../utils/icons';\nimport { useSelectedElements, useTranslatedTexts } from '../../utils/hooks';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport generateId from '../../utils/generateId';\n\nconst DEFAULT_TOOLBAR_ALIGN = 'right-align';\n\nconst toolbarAlignForItem = (state, selectedId) => {\n const { itemId, position } = state.toolbarPosition ?? {};\n if (itemId == null || itemId === '' || String(itemId) !== String(selectedId)) {\n return DEFAULT_TOOLBAR_ALIGN;\n }\n return position ?? DEFAULT_TOOLBAR_ALIGN;\n};\n\nconst DraggableItemActions = ({\n actions = {\n delete: true,\n duplicate: true,\n lock: true,\n settings: true,\n },\n}) => {\n const {\n DELETE_ITEM,\n DUPLICATE_ITEM,\n ITEM_SETTINGS,\n LOCK_ITEM,\n } = useTranslatedTexts();\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n\n const setActiveElements = useBuilderStore(state => state.setActiveElements);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n\n const selectedElements = useSelectedElements();\n const item = selectedElements[0]; // ACTIONS WORKS ONLY FOR ONE ITEM\n\n const { isLocked } = item;\n\n const itemId = item?.id;\n const position = useBuilderStore(s => toolbarAlignForItem(s, itemId));\n\n const changeLockStatus = () => {\n onAnEventTrigger(isLocked ? 'unlockReportItem' : 'lockReportItem', item.itemType);\n onItemChange({ id: item.id }, { isLocked: isLocked ? false : true });\n if (!isLocked) {\n setIsRightPanelOpen(false);\n }\n };\n\n const deleteItem = () => {\n setIsRightPanelOpen(false);\n resetActiveElements();\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 setActiveElements(itemID, true);\n setIsRightPanelOpen(true);\n };\n\n const openSettings = () => {\n setIsRightPanelOpen(true);\n };\n\n if (isLocked) {\n return (\n <div className={`report-item-toolbar isLocked forLocked ${position}`}>\n <button\n className=\"report-item-toolbar-item\"\n onClick={changeLockStatus}\n type=\"button\"\n >\n <icons.lock className=\"toolbar-icon\" />\n </button>\n </div>\n );\n }\n return (\n <div className={`report-item-toolbar ${position}`}>\n {actions.settings && (\n <button\n className=\"report-item-toolbar-item\"\n onClick={openSettings}\n title={ITEM_SETTINGS}\n type=\"button\"\n >\n <icons.settings className=\"toolbar-icon\" />\n </button>\n )}\n {actions.duplicate && (\n <button\n className=\"report-item-toolbar-item\"\n onClick={duplicateItem}\n title={DUPLICATE_ITEM}\n type=\"button\"\n >\n <icons.duplicate className=\"toolbar-icon\" />\n </button>\n )}\n {actions.lock && (\n <button\n className=\"report-item-toolbar-item\"\n onClick={changeLockStatus}\n title={LOCK_ITEM}\n type=\"button\"\n >\n <icons.unlock className=\"toolbar-icon\" />\n </button>\n )}\n {actions.delete && (\n <button\n className=\"report-item-toolbar-item error\"\n onClick={deleteItem}\n title={DELETE_ITEM}\n type=\"button\"\n >\n <icons.trash className=\"toolbar-icon\" />\n </button>\n )}\n </div>\n );\n};\n\nDraggableItemActions.propTypes = {\n actions: PropTypes.shape({\n delete: PropTypes.bool,\n duplicate: PropTypes.bool,\n lock: PropTypes.bool,\n settings: PropTypes.bool,\n }),\n};\n\nexport default DraggableItemActions;\n"],"names":["DEFAULT_TOOLBAR_ALIGN","toolbarAlignForItem","state","selectedId","toolbarPosition","itemId","position","String","DraggableItemActions","actions","delete","duplicate","lock","settings","useTranslatedTexts","DELETE_ITEM","DUPLICATE_ITEM","ITEM_SETTINGS","LOCK_ITEM","onAnEventTrigger","usePropStore","onItemChange","onItemRemove","onItemAdd","setActiveElements","useBuilderStore","resetActiveElements","setIsRightPanelOpen","selectedElements","useSelectedElements","item","isLocked","id","s","changeLockStatus","itemType","deleteItem","duplicateItem","itemID","generateId","left","top","openSettings","_jsx","icons.lock","_jsxs","icons.settings","icons.duplicate","icons.unlock","icons.trash","propTypes","PropTypes","shape","bool"],"mappings":"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"}
@@ -11,6 +11,7 @@ import DraggableItemActions from './DraggableItem/DraggableItemActions.js';
11
11
  import ItemPositioner from './ItemPositioner.js';
12
12
  import withClickOutside from './withClickOutside.js';
13
13
  import { useBuilderStore } from '../contexts/BuilderContext.js';
14
+ import { usePropStore } from '../contexts/PropContext.js';
14
15
  import { jsxs, jsx } from 'react/jsx-runtime';
15
16
 
16
17
  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; }
@@ -64,6 +65,9 @@ var PageItemResizer = function PageItemResizer(_ref) {
64
65
  var isTextEditorOpen = useBuilderStore(function (state) {
65
66
  return state.isTextEditorOpen;
66
67
  });
68
+ var itemAccessor = usePropStore(function (state) {
69
+ return state.itemAccessor;
70
+ });
67
71
  var requestRef = useRef();
68
72
 
69
73
  var _useState = useState(false),
@@ -148,6 +152,10 @@ var PageItemResizer = function PageItemResizer(_ref) {
148
152
  };
149
153
  }, [item.height, item.width, zoom]);
150
154
  var isLocked = item.isLocked;
155
+ var accessorItemData = useMemo(function () {
156
+ return itemAccessor(item);
157
+ }, [item, itemAccessor]);
158
+ var actions = accessorItemData.actions;
151
159
  return /*#__PURE__*/createPortal( /*#__PURE__*/jsxs(ItemPositioner, {
152
160
  style: itemPositionerStyle,
153
161
  children: [/*#__PURE__*/jsx(ResizableWithClickOutside, _objectSpread(_objectSpread({
@@ -166,7 +174,9 @@ var PageItemResizer = function PageItemResizer(_ref) {
166
174
  size: size
167
175
  }, resizeStaticProps), {}, {
168
176
  withClickOutsideWrapperClass: "reportItemResizer-wrapper".concat(isLocked ? ' isLocked' : '')
169
- })), !isMultipleItemSelected && /*#__PURE__*/jsx(DraggableItemActions, {}), isTextEditorOpen && /*#__PURE__*/jsx(CustomToolbarWrapper, {
177
+ })), !isMultipleItemSelected && /*#__PURE__*/jsx(DraggableItemActions, {
178
+ actions: actions
179
+ }), isTextEditorOpen && /*#__PURE__*/jsx(CustomToolbarWrapper, {
170
180
  itemWidth: item.width * zoom
171
181
  })]
172
182
  }), document.querySelector(".jfReport-page[data-id=\"".concat(item.pageID, "\"]")));
@@ -1 +1 @@
1
- {"version":3,"file":"PageItemResizer.js","sources":["../../../src/components/PageItemResizer.js"],"sourcesContent":["import {\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';\n\nconst exceptionalClassesForClickOutside = ['contextMenu-itemLabel', 'contextMenu-item'];\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 'report-item-toolbar',\n 'jfReport-pane',\n 'pageSettingSideBtn',\n 'reportItemWrapper',\n 'reportRotater',\n 'forZoom',\n 'ql-toolbar',\n 'jSheetContextMenu',\n 'reset-default-contextMenu',\n 'slides-navigator-toggle',\n 'slides-navigator',\n];\n\nconst PageItemResizer = ({\n item,\n onResize,\n onResizeStop,\n}) => {\n const zoom = useBuilderStore(state => state.zoom);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const isMultipleItemSelected = useBuilderStore(state => state.activeElements.length > 1);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\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 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 resetActiveElements();\n if (document.activeElement) {\n document.activeElement.blur();\n }\n };\n\n const itemPositionerStyle = useMemo(() => ({\n height: Math.round(item.height * zoom),\n left: Math.round(item.left * zoom),\n pointerEvents: 'none',\n position: 'absolute',\n top: Math.round(item.top * zoom),\n touchAction: 'none',\n width: Math.round(item.width * zoom),\n }), [item.height, item.left, item.top, item.width, zoom]);\n\n const size = useMemo(() => ({\n height: Math.round(item.height * zoom),\n width: Math.round(item.width * zoom),\n }), [item.height, item.width, zoom]);\n\n const { isLocked } = item;\n\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 {!isMultipleItemSelected && <DraggableItemActions />}\n {isTextEditorOpen && (\n <TextEditorToolbar\n itemWidth={item.width * zoom}\n />\n )}\n </ItemPositioner>,\n document.querySelector(`.jfReport-page[data-id=\"${item.pageID}\"]`),\n );\n};\n\nexport default PageItemResizer;\n"],"names":["exceptionalClassesForClickOutside","ResizableWithClickOutside","withClickOutside","Resizable","enableResize","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","lockAspectRatioTypes","exceptionalClasses","PageItemResizer","item","onResize","onResizeStop","zoom","useBuilderStore","state","setIsRightPanelOpen","resetActiveElements","isMultipleItemSelected","activeElements","length","isTextEditorOpen","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","onClickOutside","event","viewPort","document","querySelector","clientHeight","offsetHeight","headerHeight","innerHeight","clientY","Array","from","target","classList","some","xClass","includes","activeElement","blur","itemPositionerStyle","useMemo","pointerEvents","position","touchAction","size","isLocked","createPortal","_jsxs","_jsx","classNames","hideVerticalHandle","hideHorizontalHandle","itemType","resizeStaticProps","TextEditorToolbar","pageID"],"mappings":"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"}
1
+ {"version":3,"file":"PageItemResizer.js","sources":["../../../src/components/PageItemResizer.js"],"sourcesContent":["import {\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 { usePropStore } from '../contexts/PropContext';\n\nconst exceptionalClassesForClickOutside = ['contextMenu-itemLabel', 'contextMenu-item'];\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 'report-item-toolbar',\n 'jfReport-pane',\n 'pageSettingSideBtn',\n 'reportItemWrapper',\n 'reportRotater',\n 'forZoom',\n 'ql-toolbar',\n 'jSheetContextMenu',\n 'reset-default-contextMenu',\n 'slides-navigator-toggle',\n 'slides-navigator',\n];\n\nconst PageItemResizer = ({\n item,\n onResize,\n onResizeStop,\n}) => {\n const zoom = useBuilderStore(state => state.zoom);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const isMultipleItemSelected = useBuilderStore(state => state.activeElements.length > 1);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n const itemAccessor = usePropStore(state => state.itemAccessor);\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 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 resetActiveElements();\n if (document.activeElement) {\n document.activeElement.blur();\n }\n };\n\n const itemPositionerStyle = useMemo(() => ({\n height: Math.round(item.height * zoom),\n left: Math.round(item.left * zoom),\n pointerEvents: 'none',\n position: 'absolute',\n top: Math.round(item.top * zoom),\n touchAction: 'none',\n width: Math.round(item.width * zoom),\n }), [item.height, item.left, item.top, item.width, zoom]);\n\n const size = useMemo(() => ({\n height: Math.round(item.height * zoom),\n width: Math.round(item.width * zoom),\n }), [item.height, item.width, zoom]);\n\n const { isLocked } = item;\n const accessorItemData = useMemo(() => itemAccessor(item), [item, itemAccessor]);\n const { actions } = accessorItemData;\n\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 {!isMultipleItemSelected && <DraggableItemActions actions={actions} />}\n {isTextEditorOpen && (\n <TextEditorToolbar\n itemWidth={item.width * zoom}\n />\n )}\n </ItemPositioner>,\n document.querySelector(`.jfReport-page[data-id=\"${item.pageID}\"]`),\n );\n};\n\nexport default PageItemResizer;\n"],"names":["exceptionalClassesForClickOutside","ResizableWithClickOutside","withClickOutside","Resizable","enableResize","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","lockAspectRatioTypes","exceptionalClasses","PageItemResizer","item","onResize","onResizeStop","zoom","useBuilderStore","state","setIsRightPanelOpen","resetActiveElements","isMultipleItemSelected","activeElements","length","isTextEditorOpen","itemAccessor","usePropStore","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","onClickOutside","event","viewPort","document","querySelector","clientHeight","offsetHeight","headerHeight","innerHeight","clientY","Array","from","target","classList","some","xClass","includes","activeElement","blur","itemPositionerStyle","useMemo","pointerEvents","position","touchAction","size","isLocked","accessorItemData","actions","createPortal","_jsxs","_jsx","classNames","hideVerticalHandle","hideHorizontalHandle","itemType","resizeStaticProps","TextEditorToolbar","pageID"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,IAAMA,iCAAiC,GAAG,CAAC,uBAAD,EAA0B,kBAA1B,CAA1C;AACA,IAAMC,yBAAyB,GAAGC,gBAAgB,CAACC,SAAD,CAAlD;AAEA,IAAMC,YAAY,GAAG;AACnBC,EAAAA,MAAM,EAAE,IADW;AAEnBC,EAAAA,UAAU,EAAE,IAFO;AAGnBC,EAAAA,WAAW,EAAE,IAHM;AAInBC,EAAAA,IAAI,EAAE,IAJa;AAKnBC,EAAAA,KAAK,EAAE,IALY;AAMnBC,EAAAA,GAAG,EAAE,IANc;AAOnBC,EAAAA,OAAO,EAAE,IAPU;AAQnBC,EAAAA,QAAQ,EAAE;AARS,CAArB;AAUA,IAAMC,oBAAoB,GAAG,CAAC,OAAD,EAAU,MAAV,CAA7B;AACA,IAAMC,kBAAkB,GAAG,CACzB,cADyB,EAEzB,qBAFyB,EAGzB,eAHyB,EAIzB,oBAJyB,EAKzB,mBALyB,EAMzB,eANyB,EAOzB,SAPyB,EAQzB,YARyB,EASzB,mBATyB,EAUzB,2BAVyB,EAWzB,yBAXyB,EAYzB,kBAZyB,CAA3B;;IAeMC,eAAe,GAAG,SAAlBA,eAAkB,OAIlB;AAAA,MAHJC,IAGI,QAHJA,IAGI;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADJC,YACI,QADJA,YACI;AACJ,MAAMC,IAAI,GAAGC,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,IAAV;AAAA,GAAN,CAA5B;AACA,MAAMG,mBAAmB,GAAGF,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,mBAAV;AAAA,GAAN,CAA3C;AACA,MAAMC,mBAAmB,GAAGH,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACE,mBAAV;AAAA,GAAN,CAA3C;AACA,MAAMC,sBAAsB,GAAGJ,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACI,cAAN,CAAqBC,MAArB,GAA8B,CAAlC;AAAA,GAAN,CAA9C;AACA,MAAMC,gBAAgB,GAAGP,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACM,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAMC,YAAY,GAAGC,YAAY,CAAC,UAAAR,KAAK;AAAA,WAAIA,KAAK,CAACO,YAAV;AAAA,GAAN,CAAjC;AAEA,MAAME,UAAU,GAAGC,MAAM,EAAzB;;AACA,kBAA8CC,QAAQ,CAAC,KAAD,CAAtD;AAAA;AAAA,MAAOC,eAAP;AAAA,MAAwBC,kBAAxB;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAAAC,CAAC,EAAI;AACvB,QAAI,CAACA,CAAC,CAACC,QAAP,EAAiBH,kBAAkB,CAAC,KAAD,CAAlB;AAClB,GAFD;;AAIA,MAAMI,aAAa,GAAG,SAAhBA,aAAgB,CAAAF,CAAC,EAAI;AACzB,QAAIA,CAAC,CAACC,QAAN,EAAgBH,kBAAkB,CAAC,IAAD,CAAlB;AACjB,GAFD;;AAIA,MAAMK,aAAa,GAAG,SAAhBA,aAAgB,CAACC,UAAD,EAAaC,WAAb,EAA0BC,SAA1B,EAAwC;AAC5D,WAAO,YAAM;AACXzB,MAAAA,QAAQ,CAACuB,UAAD,EAAaC,WAAb,EAA0BC,SAA1B,CAAR;AACAZ,MAAAA,UAAU,CAACa,OAAX,GAAqBC,SAArB;AACD,KAHD;AAID,GALD;;AAOA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAT,CAAC,EAAI;AACzBA,IAAAA,CAAC,CAACU,cAAF;AACAC,IAAAA,MAAM,CAACC,gBAAP,CAAwB,SAAxB,EAAmCV,aAAnC;AACAS,IAAAA,MAAM,CAACC,gBAAP,CAAwB,OAAxB,EAAiCb,WAAjC;AACD,GAJD;;AAMA,MAAMc,WAAW,GAAG,SAAdA,WAAc,CAACb,CAAD,EAAIM,SAAJ,EAAeQ,GAAf,SAAmE;AAAA,QAArCT,WAAqC,SAA7CU,MAA6C;AAAA,QAAjBX,UAAiB,SAAxBY,KAAwB;;AACrF,QAAI,CAACtB,UAAU,CAACa,OAAhB,EAAyB;AACvBb,MAAAA,UAAU,CAACa,OAAX,GAAqBU,MAAM,CACxBC,qBADkB,CAEjBf,aAAa,CACXgB,IAAI,CAACC,KAAL,CAAWhB,UAAU,IAAI,IAAIrB,IAAR,CAArB,CADW,EAEXoC,IAAI,CAACC,KAAL,CAAWf,WAAW,IAAI,IAAItB,IAAR,CAAtB,CAFW,EAGXuB,SAHW,CAFI,CAArB;AAQD;AACF,GAXD;;AAaA,MAAMe,WAAW,GAAG,SAAdA,WAAc,CAACrB,CAAD,EAAIM,SAAJ,EAAeQ,GAAf,SAAmE;AAAA,QAArCT,WAAqC,SAA7CU,MAA6C;AAAA,QAAjBX,UAAiB,SAAxBY,KAAwB;AACrFlC,IAAAA,YAAY,CACVqC,IAAI,CAACC,KAAL,CAAWhB,UAAU,IAAI,IAAIrB,IAAR,CAArB,CADU,EAEVoC,IAAI,CAACC,KAAL,CAAWf,WAAW,IAAI,IAAItB,IAAR,CAAtB,CAFU,EAGVuB,SAHU,CAAZ;AAKAK,IAAAA,MAAM,CAACW,mBAAP,CAA2B,SAA3B,EAAsCpB,aAAtC;AACAS,IAAAA,MAAM,CAACW,mBAAP,CAA2B,OAA3B,EAAoCvB,WAApC;AACD,GARD;;AAUA,MAAMwB,cAAc,GAAG,SAAjBA,cAAiB,CAAAC,KAAK,EAAI;AAC9B;AACA,QAAMC,QAAQ,GAAGC,QAAQ,CAACC,aAAT,CAAuB,oBAAvB,CAAjB;AACA,QAAQC,YAAR,GAAuCH,QAAvC,CAAQG,YAAR;AAAA,QAAsBC,YAAtB,GAAuCJ,QAAvC,CAAsBI,YAAtB;AACA,QAAMC,YAAY,GAAGnB,MAAM,CAACoB,WAAP,GAAqBF,YAA1C;;AACA,QAAIL,KAAK,CAACQ,OAAN,GAAgBF,YAAhB,IAAgCF,YAAhC,IACGK,KAAK,CAACC,IAAN,CAAWV,KAAK,CAACW,MAAN,CAAaC,SAAxB,EACAC,IADA,CACK,UAAAC,MAAM;AAAA,aAAI1E,iCAAiC,CAAC2E,QAAlC,CAA2CD,MAA3C,CAAJ;AAAA,KADX,CADP,EAE2E;AACzE;AACD;;AACDpD,IAAAA,mBAAmB,CAAC,KAAD,CAAnB;AACAC,IAAAA,mBAAmB;;AACnB,QAAIuC,QAAQ,CAACc,aAAb,EAA4B;AAC1Bd,MAAAA,QAAQ,CAACc,aAAT,CAAuBC,IAAvB;AACD;AACF,GAfD;;AAiBA,MAAMC,mBAAmB,GAAGC,OAAO,CAAC;AAAA,WAAO;AACzC5B,MAAAA,MAAM,EAAEI,IAAI,CAACC,KAAL,CAAWxC,IAAI,CAACmC,MAAL,GAAchC,IAAzB,CADiC;AAEzCX,MAAAA,IAAI,EAAE+C,IAAI,CAACC,KAAL,CAAWxC,IAAI,CAACR,IAAL,GAAYW,IAAvB,CAFmC;AAGzC6D,MAAAA,aAAa,EAAE,MAH0B;AAIzCC,MAAAA,QAAQ,EAAE,UAJ+B;AAKzCvE,MAAAA,GAAG,EAAE6C,IAAI,CAACC,KAAL,CAAWxC,IAAI,CAACN,GAAL,GAAWS,IAAtB,CALoC;AAMzC+D,MAAAA,WAAW,EAAE,MAN4B;AAOzC9B,MAAAA,KAAK,EAAEG,IAAI,CAACC,KAAL,CAAWxC,IAAI,CAACoC,KAAL,GAAajC,IAAxB;AAPkC,KAAP;AAAA,GAAD,EAQ/B,CAACH,IAAI,CAACmC,MAAN,EAAcnC,IAAI,CAACR,IAAnB,EAAyBQ,IAAI,CAACN,GAA9B,EAAmCM,IAAI,CAACoC,KAAxC,EAA+CjC,IAA/C,CAR+B,CAAnC;AAUA,MAAMgE,IAAI,GAAGJ,OAAO,CAAC;AAAA,WAAO;AAC1B5B,MAAAA,MAAM,EAAEI,IAAI,CAACC,KAAL,CAAWxC,IAAI,CAACmC,MAAL,GAAchC,IAAzB,CADkB;AAE1BiC,MAAAA,KAAK,EAAEG,IAAI,CAACC,KAAL,CAAWxC,IAAI,CAACoC,KAAL,GAAajC,IAAxB;AAFmB,KAAP;AAAA,GAAD,EAGhB,CAACH,IAAI,CAACmC,MAAN,EAAcnC,IAAI,CAACoC,KAAnB,EAA0BjC,IAA1B,CAHgB,CAApB;AAKA,MAAQiE,QAAR,GAAqBpE,IAArB,CAAQoE,QAAR;AACA,MAAMC,gBAAgB,GAAGN,OAAO,CAAC;AAAA,WAAMnD,YAAY,CAACZ,IAAD,CAAlB;AAAA,GAAD,EAA2B,CAACA,IAAD,EAAOY,YAAP,CAA3B,CAAhC;AACA,MAAQ0D,OAAR,GAAoBD,gBAApB,CAAQC,OAAR;AAEA,sBAAOC,YAAY,eACjBC,KAAC,cAAD;AACE,IAAA,KAAK,EAAEV,mBADT;AAAA,4BAGEW,IAAC,yBAAD;AACE,MAAA,SAAS,EAAEC,UAAU,CACnB,mBADmB,EAEnB;AAAEC,QAAAA,kBAAkB,EAAE,EAAE3E,IAAI,CAACmC,MAAL,GAAc,EAAhB;AAAtB,OAFmB,EAGnB;AAAEyC,QAAAA,oBAAoB,EAAE,EAAE5E,IAAI,CAACoC,KAAL,GAAa,EAAf;AAAxB,OAHmB,CADvB;AAME,MAAA,MAAM,EAAE,CAACpC,IAAI,CAACoE,QAAN,IAAkBhF,YAN5B;AAOE,MAAA,kBAAkB,EAAEU,kBAPtB;AAQE,MAAA,eAAe,EAAED,oBAAoB,CAAC8D,QAArB,CAA8B3D,IAAI,CAAC6E,QAAnC,KAAgD5D,eARnE;AASE,MAAA,cAAc,EAAE0B,cATlB;AAUE,MAAA,QAAQ,EAAEV,WAVZ;AAWE,MAAA,aAAa,EAAEJ,aAXjB;AAYE,MAAA,YAAY,EAAEY,WAZhB;AAaE,MAAA,IAAI,EAAE0B;AAbR,OAcMW,iBAdN;AAeE,MAAA,4BAA4B,qCAA8BV,QAAQ,GAAG,WAAH,GAAiB,EAAvD;AAf9B,OAHF,EAoBG,CAAC5D,sBAAD,iBAA2BiE,IAAC,oBAAD;AAAsB,MAAA,OAAO,EAAEH;AAA/B,MApB9B,EAqBG3D,gBAAgB,iBACf8D,IAACM,oBAAD;AACE,MAAA,SAAS,EAAE/E,IAAI,CAACoC,KAAL,GAAajC;AAD1B,MAtBJ;AAAA,IADiB,EA4BjB2C,QAAQ,CAACC,aAAT,oCAAkD/C,IAAI,CAACgF,MAAvD,SA5BiB,CAAnB;AA8BD;;;;"}
@@ -200,6 +200,18 @@ var RightPanel = function RightPanel() {
200
200
 
201
201
  var tabsWithSettings = getTabsWithSettings(element, selectedItem, itemAccessor);
202
202
  var tabs = Object.keys(tabsWithSettings);
203
+ var selectedItemActions = useMemo(function () {
204
+ var _itemAccessor;
205
+
206
+ return ((_itemAccessor = itemAccessor(selectedItem)) === null || _itemAccessor === void 0 ? void 0 : _itemAccessor.actions) || {
207
+ settings: true
208
+ };
209
+ }, [itemAccessor, selectedItem]);
210
+ useEffect(function () {
211
+ if (isRightPanelOpen && editedElement.substr(0, 2) === 'i_' && !(selectedItemActions !== null && selectedItemActions !== void 0 && selectedItemActions.settings)) {
212
+ setIsRightPanelOpen(false);
213
+ }
214
+ }, [editedElement, isRightPanelOpen, selectedItemActions, setIsRightPanelOpen]);
203
215
  useEffect(function () {
204
216
  var currentTab = tabs[activeTab.right];
205
217
 
@@ -1 +1 @@
1
- {"version":3,"file":"RightPanel.js","sources":["../../../../../src/components/Panels/RightPanel/RightPanel.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport Section from '../../Builder/Section';\nimport Layout from '../../../constants/reportSettings';\nimport Page from '../../../constants/pageSettings';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { findItemById, getTabsWithSettings } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport {\n REPORT_SETTINGS_ITEM_TYPE, PAGE_SETTINGS_ITEM_TYPE,\n} from '../../../constants/itemTypes';\nimport Tabs from '../../Builder/Tabs';\nimport Settings from './Settings';\nimport RightPanelToggler from './RightPanelToggler';\n\nconst exceptionalClasses = [\n 'pageSettingSideBtn',\n 'paneClose',\n 'paneToggler',\n 'forZoom',\n 'jSheetContextMenu',\n 'page-toolbar',\n 'report-item-toolbar',\n 'zoom-toolbar',\n 'controllerItem',\n 'slides-navigator-toggle',\n 'slides-navigator',\n];\n\nconst RightPanel = () => {\n const activeTab = useBuilderStore(state => state.activeTab);\n const editedElement = useBuilderStore(state => state.editedElement);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setActiveTab = useBuilderStore(state => state.setActiveTab);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const clickOutsideIgnoreSelectors = useBuilderStore(state => state.clickOutsideIgnoreSelectors);\n const [selectedItemID, setSelectedItemID] = useState(null);\n\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const layoutSettings = usePropStore(state => state.settings);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onPageChange = usePropStore(state => state.onPageChange);\n const onSettingChange = usePropStore(state => state.onSettingChange);\n const pages = usePropStore(state => state.pages);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n\n const panelRef = useRef(null);\n const translatedTexts = useTranslatedTexts();\n\n const settingMap = useMemo(() => ({\n i_: {\n details: id => {\n const item = findItemById(id, pages);\n return item;\n },\n settings: item => {\n return acceptedItems[item.itemType];\n },\n title: item => {\n const textKey = `${(acceptedItems[item.itemType].title || item.itemType).toLocaleUpperCase()}_SETTINGS`;\n return translatedTexts[textKey] || acceptedItems[item.itemType].title;\n },\n updater: onItemChange,\n },\n l_: {\n details: () => {\n return {\n ...layoutSettings,\n id: REPORT_SETTINGS_ITEM_TYPE,\n itemType: REPORT_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n return acceptedItems[REPORT_SETTINGS_ITEM_TYPE] || Layout;\n },\n title: () => translatedTexts.LAYOUT_SETTINGS,\n updater: onSettingChange,\n },\n p_: {\n details: id => {\n return {\n backgroundColor: layoutSettings.reportBackgroundColor,\n ...pages.find(page => page.id === id),\n itemType: PAGE_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n const pageItem = acceptedItems[PAGE_SETTINGS_ITEM_TYPE] || Page;\n return {\n ...pageItem,\n settings: pageItem.settings.map(setting => {\n if (setting.key === 'pageLayer') {\n return { ...setting, updater: onItemChange };\n }\n return setting;\n }) || Page.settings,\n };\n },\n title: () => translatedTexts.PAGE_SETTINGS,\n updater: onPageChange,\n },\n }), [\n acceptedItems,\n layoutSettings,\n onItemChange,\n onPageChange,\n onSettingChange,\n translatedTexts,\n pages,\n ]);\n\n const editedEl = useMemo(() => {\n return settingMap[editedElement.substr(0, 2)] || settingMap.l_;\n }, [editedElement, settingMap]);\n\n const {\n element, selectedItem, title, updateFunc,\n } = useMemo(() => {\n const editedElId = editedElement.substr(2);\n const _selectedItem = editedEl.details(editedElId);\n\n if (!_selectedItem) {\n const fallbackEditedEl = settingMap.l_;\n return {\n element: fallbackEditedEl.settings(),\n selectedItem: fallbackEditedEl.details(),\n title: fallbackEditedEl.title(),\n updateFunc: fallbackEditedEl.updater,\n };\n }\n\n return {\n element: editedEl.settings(_selectedItem),\n selectedItem: _selectedItem,\n title: editedEl.title(_selectedItem),\n updateFunc: editedEl.updater,\n };\n }, [editedEl, editedElement, settingMap.l_]);\n\n useEffect(() => {\n if (selectedItemID !== selectedItem.id) {\n setSelectedItemID(prev => {\n if (prev) {\n setActiveTab('right', 0);\n }\n return selectedItem.id;\n });\n }\n }, [selectedItem, selectedItemID, setActiveTab]);\n\n // Tabs\n const tabsWithSettings = getTabsWithSettings(element, selectedItem, itemAccessor);\n const tabs = Object.keys(tabsWithSettings);\n\n useEffect(() => {\n const currentTab = tabs[activeTab.right];\n if (!tabsWithSettings[currentTab]) {\n // This is due to conditionaly hiding tabs\n setActiveTab('right', 0);\n }\n }, [activeTab, tabs, tabsWithSettings, setActiveTab]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSettings f-height',\n {\n isIdle: !isRightPanelOpen,\n otherOpened: isSlidesPanelOpen,\n },\n );\n\n const onClickOutsideForPanel = useCallback(e => {\n const isIgnoredBySelector = clickOutsideIgnoreSelectors.some(selector => selector && e.target.closest(selector));\n\n if (editedElement.substr(0, 2) === 'i_'\n || panelRef.current.contains(e.target)\n || panelRef.current.contains(document.activeElement)\n || isIgnoredBySelector\n || Array.from(e.target.classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(xClass => e.target.closest(`.${xClass}`))\n ) {\n return;\n }\n setIsRightPanelOpen(false);\n resetActiveElements();\n }, [clickOutsideIgnoreSelectors, editedElement, setIsRightPanelOpen, resetActiveElements]);\n\n useEffect(() => {\n if (isRightPanelOpen) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => {\n window.removeEventListener('click', onClickOutsideForPanel, false);\n };\n }, [isRightPanelOpen, onClickOutsideForPanel]);\n\n return (\n <>\n <Panel\n ref={panelRef}\n additionalClassName={panelAdditionalClassName}\n >\n {isSlidesPanelOpen ? null : <RightPanelToggler />}\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section title={title}>\n <Tabs\n panel=\"right\"\n tabs={tabs}\n />\n <Settings\n key={selectedItem.id}\n element={element}\n item={selectedItem}\n onChange={updateFunc}\n settings={tabsWithSettings}\n tabs={tabs}\n />\n </Section>\n </div>\n </Panel>\n </>\n );\n};\n\nexport default RightPanel;\n"],"names":["exceptionalClasses","RightPanel","activeTab","useBuilderStore","state","editedElement","isRightPanelOpen","isSlidesPanelOpen","resetActiveElements","setActiveTab","setIsRightPanelOpen","clickOutsideIgnoreSelectors","useState","selectedItemID","setSelectedItemID","acceptedItems","usePropStore","layoutSettings","settings","onItemChange","onPageChange","onSettingChange","pages","itemAccessor","panelRef","useRef","translatedTexts","useTranslatedTexts","settingMap","useMemo","i_","details","id","item","findItemById","itemType","title","textKey","toLocaleUpperCase","updater","l_","REPORT_SETTINGS_ITEM_TYPE","Layout","LAYOUT_SETTINGS","p_","backgroundColor","reportBackgroundColor","find","page","PAGE_SETTINGS_ITEM_TYPE","pageItem","Page","map","setting","key","PAGE_SETTINGS","editedEl","substr","editedElId","_selectedItem","fallbackEditedEl","element","selectedItem","updateFunc","useEffect","prev","tabsWithSettings","getTabsWithSettings","tabs","Object","keys","currentTab","right","panelAdditionalClassName","classNames","isIdle","otherOpened","onClickOutsideForPanel","useCallback","e","isIgnoredBySelector","some","selector","target","closest","current","contains","document","activeElement","Array","from","classList","xClass","includes","window","addEventListener","removeEventListener","_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"RightPanel.js","sources":["../../../../../src/components/Panels/RightPanel/RightPanel.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport Section from '../../Builder/Section';\nimport Layout from '../../../constants/reportSettings';\nimport Page from '../../../constants/pageSettings';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { findItemById, getTabsWithSettings } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport {\n REPORT_SETTINGS_ITEM_TYPE, PAGE_SETTINGS_ITEM_TYPE,\n} from '../../../constants/itemTypes';\nimport Tabs from '../../Builder/Tabs';\nimport Settings from './Settings';\nimport RightPanelToggler from './RightPanelToggler';\n\nconst exceptionalClasses = [\n 'pageSettingSideBtn',\n 'paneClose',\n 'paneToggler',\n 'forZoom',\n 'jSheetContextMenu',\n 'page-toolbar',\n 'report-item-toolbar',\n 'zoom-toolbar',\n 'controllerItem',\n 'slides-navigator-toggle',\n 'slides-navigator',\n];\n\nconst RightPanel = () => {\n const activeTab = useBuilderStore(state => state.activeTab);\n const editedElement = useBuilderStore(state => state.editedElement);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setActiveTab = useBuilderStore(state => state.setActiveTab);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const clickOutsideIgnoreSelectors = useBuilderStore(state => state.clickOutsideIgnoreSelectors);\n const [selectedItemID, setSelectedItemID] = useState(null);\n\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const layoutSettings = usePropStore(state => state.settings);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onPageChange = usePropStore(state => state.onPageChange);\n const onSettingChange = usePropStore(state => state.onSettingChange);\n const pages = usePropStore(state => state.pages);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n\n const panelRef = useRef(null);\n const translatedTexts = useTranslatedTexts();\n\n const settingMap = useMemo(() => ({\n i_: {\n details: id => {\n const item = findItemById(id, pages);\n return item;\n },\n settings: item => {\n return acceptedItems[item.itemType];\n },\n title: item => {\n const textKey = `${(acceptedItems[item.itemType].title || item.itemType).toLocaleUpperCase()}_SETTINGS`;\n return translatedTexts[textKey] || acceptedItems[item.itemType].title;\n },\n updater: onItemChange,\n },\n l_: {\n details: () => {\n return {\n ...layoutSettings,\n id: REPORT_SETTINGS_ITEM_TYPE,\n itemType: REPORT_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n return acceptedItems[REPORT_SETTINGS_ITEM_TYPE] || Layout;\n },\n title: () => translatedTexts.LAYOUT_SETTINGS,\n updater: onSettingChange,\n },\n p_: {\n details: id => {\n return {\n backgroundColor: layoutSettings.reportBackgroundColor,\n ...pages.find(page => page.id === id),\n itemType: PAGE_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n const pageItem = acceptedItems[PAGE_SETTINGS_ITEM_TYPE] || Page;\n return {\n ...pageItem,\n settings: pageItem.settings.map(setting => {\n if (setting.key === 'pageLayer') {\n return { ...setting, updater: onItemChange };\n }\n return setting;\n }) || Page.settings,\n };\n },\n title: () => translatedTexts.PAGE_SETTINGS,\n updater: onPageChange,\n },\n }), [\n acceptedItems,\n layoutSettings,\n onItemChange,\n onPageChange,\n onSettingChange,\n translatedTexts,\n pages,\n ]);\n\n const editedEl = useMemo(() => {\n return settingMap[editedElement.substr(0, 2)] || settingMap.l_;\n }, [editedElement, settingMap]);\n\n const {\n element, selectedItem, title, updateFunc,\n } = useMemo(() => {\n const editedElId = editedElement.substr(2);\n const _selectedItem = editedEl.details(editedElId);\n\n if (!_selectedItem) {\n const fallbackEditedEl = settingMap.l_;\n return {\n element: fallbackEditedEl.settings(),\n selectedItem: fallbackEditedEl.details(),\n title: fallbackEditedEl.title(),\n updateFunc: fallbackEditedEl.updater,\n };\n }\n\n return {\n element: editedEl.settings(_selectedItem),\n selectedItem: _selectedItem,\n title: editedEl.title(_selectedItem),\n updateFunc: editedEl.updater,\n };\n }, [editedEl, editedElement, settingMap.l_]);\n\n useEffect(() => {\n if (selectedItemID !== selectedItem.id) {\n setSelectedItemID(prev => {\n if (prev) {\n setActiveTab('right', 0);\n }\n return selectedItem.id;\n });\n }\n }, [selectedItem, selectedItemID, setActiveTab]);\n\n // Tabs\n const tabsWithSettings = getTabsWithSettings(element, selectedItem, itemAccessor);\n const tabs = Object.keys(tabsWithSettings);\n const selectedItemActions = useMemo(() => {\n return itemAccessor(selectedItem)?.actions || { settings: true };\n }, [itemAccessor, selectedItem]);\n\n useEffect(() => {\n if (\n isRightPanelOpen\n && editedElement.substr(0, 2) === 'i_'\n && !selectedItemActions?.settings\n ) {\n setIsRightPanelOpen(false);\n }\n }, [editedElement, isRightPanelOpen, selectedItemActions, setIsRightPanelOpen]);\n\n useEffect(() => {\n const currentTab = tabs[activeTab.right];\n if (!tabsWithSettings[currentTab]) {\n // This is due to conditionaly hiding tabs\n setActiveTab('right', 0);\n }\n }, [activeTab, tabs, tabsWithSettings, setActiveTab]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSettings f-height',\n {\n isIdle: !isRightPanelOpen,\n otherOpened: isSlidesPanelOpen,\n },\n );\n\n const onClickOutsideForPanel = useCallback(e => {\n const isIgnoredBySelector = clickOutsideIgnoreSelectors.some(selector => selector && e.target.closest(selector));\n\n if (editedElement.substr(0, 2) === 'i_'\n || panelRef.current.contains(e.target)\n || panelRef.current.contains(document.activeElement)\n || isIgnoredBySelector\n || Array.from(e.target.classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(xClass => e.target.closest(`.${xClass}`))\n ) {\n return;\n }\n setIsRightPanelOpen(false);\n resetActiveElements();\n }, [clickOutsideIgnoreSelectors, editedElement, setIsRightPanelOpen, resetActiveElements]);\n\n useEffect(() => {\n if (isRightPanelOpen) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => {\n window.removeEventListener('click', onClickOutsideForPanel, false);\n };\n }, [isRightPanelOpen, onClickOutsideForPanel]);\n\n return (\n <>\n <Panel\n ref={panelRef}\n additionalClassName={panelAdditionalClassName}\n >\n {isSlidesPanelOpen ? null : <RightPanelToggler />}\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section title={title}>\n <Tabs\n panel=\"right\"\n tabs={tabs}\n />\n <Settings\n key={selectedItem.id}\n element={element}\n item={selectedItem}\n onChange={updateFunc}\n settings={tabsWithSettings}\n tabs={tabs}\n />\n </Section>\n </div>\n </Panel>\n </>\n );\n};\n\nexport default RightPanel;\n"],"names":["exceptionalClasses","RightPanel","activeTab","useBuilderStore","state","editedElement","isRightPanelOpen","isSlidesPanelOpen","resetActiveElements","setActiveTab","setIsRightPanelOpen","clickOutsideIgnoreSelectors","useState","selectedItemID","setSelectedItemID","acceptedItems","usePropStore","layoutSettings","settings","onItemChange","onPageChange","onSettingChange","pages","itemAccessor","panelRef","useRef","translatedTexts","useTranslatedTexts","settingMap","useMemo","i_","details","id","item","findItemById","itemType","title","textKey","toLocaleUpperCase","updater","l_","REPORT_SETTINGS_ITEM_TYPE","Layout","LAYOUT_SETTINGS","p_","backgroundColor","reportBackgroundColor","find","page","PAGE_SETTINGS_ITEM_TYPE","pageItem","Page","map","setting","key","PAGE_SETTINGS","editedEl","substr","editedElId","_selectedItem","fallbackEditedEl","element","selectedItem","updateFunc","useEffect","prev","tabsWithSettings","getTabsWithSettings","tabs","Object","keys","selectedItemActions","actions","currentTab","right","panelAdditionalClassName","classNames","isIdle","otherOpened","onClickOutsideForPanel","useCallback","e","isIgnoredBySelector","some","selector","target","closest","current","contains","document","activeElement","Array","from","classList","xClass","includes","window","addEventListener","removeEventListener","_jsx","_jsxs"],"mappings":"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"}
@@ -320,7 +320,7 @@ var BuilderProvider = function BuilderProvider(_ref2) {
320
320
 
321
321
  useEffect(function () {
322
322
  var state = storeRef.current.getState();
323
- if (!(activeElement !== null && activeElement !== void 0 && activeElement.length) || isEqual(state.activeElements, activeElement)) return;
323
+ if (isEqual(state.activeElements, activeElement)) return;
324
324
  state.setActiveElementsSelection(activeElement);
325
325
  }, [activeElement]);
326
326
  return /*#__PURE__*/jsx(BuilderContext.Provider, {