@jotforminc/dnd-builder 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/lib/cjs/components/Builder/Page.js +36 -29
  3. package/lib/cjs/components/Builder/Page.js.map +1 -1
  4. package/lib/cjs/components/Builder/Scene.js +9 -24
  5. package/lib/cjs/components/Builder/Scene.js.map +1 -1
  6. package/lib/cjs/components/DraggableItem/DraggableItem.js +33 -80
  7. package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
  8. package/lib/cjs/components/PageItemResizer.js +21 -8
  9. package/lib/cjs/components/PageItemResizer.js.map +1 -1
  10. package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js +1 -3
  11. package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  12. package/lib/cjs/components/ReportItemsWrapper.js +18 -17
  13. package/lib/cjs/components/ReportItemsWrapper.js.map +1 -1
  14. package/lib/cjs/components/Settings/PageLayer/LayerItem.js +1 -1
  15. package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
  16. package/lib/cjs/components/Settings/SizeSettings.js +1 -1
  17. package/lib/cjs/components/Settings/SizeSettings.js.map +1 -1
  18. package/lib/cjs/constants/texts.js +1 -0
  19. package/lib/cjs/constants/texts.js.map +1 -1
  20. package/lib/cjs/contexts/BuilderContext.js +6 -0
  21. package/lib/cjs/contexts/BuilderContext.js.map +1 -1
  22. package/lib/cjs/utils/functions.js +29 -23
  23. package/lib/cjs/utils/functions.js.map +1 -1
  24. package/lib/esm/components/Builder/Page.js +38 -31
  25. package/lib/esm/components/Builder/Page.js.map +1 -1
  26. package/lib/esm/components/Builder/Scene.js +10 -25
  27. package/lib/esm/components/Builder/Scene.js.map +1 -1
  28. package/lib/esm/components/DraggableItem/DraggableItem.js +34 -81
  29. package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
  30. package/lib/esm/components/PageItemResizer.js +21 -8
  31. package/lib/esm/components/PageItemResizer.js.map +1 -1
  32. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js +1 -3
  33. package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
  34. package/lib/esm/components/ReportItemsWrapper.js +15 -18
  35. package/lib/esm/components/ReportItemsWrapper.js.map +1 -1
  36. package/lib/esm/components/Settings/PageLayer/LayerItem.js +1 -1
  37. package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
  38. package/lib/esm/components/Settings/SizeSettings.js +1 -1
  39. package/lib/esm/components/Settings/SizeSettings.js.map +1 -1
  40. package/lib/esm/constants/texts.js +1 -0
  41. package/lib/esm/constants/texts.js.map +1 -1
  42. package/lib/esm/contexts/BuilderContext.js +6 -0
  43. package/lib/esm/contexts/BuilderContext.js.map +1 -1
  44. package/lib/esm/utils/functions.js +27 -23
  45. package/lib/esm/utils/functions.js.map +1 -1
  46. package/package.json +1 -1
@@ -94,7 +94,7 @@ var LayerItem = function LayerItem(_ref) {
94
94
  }
95
95
 
96
96
  return string.capitalize(item.itemType || PAGE_ELEMENT);
97
- }, [item]);
97
+ }, [item.itemType, item.shapeType, item.headerText, item.text, item.value, RECTANGLE, CHART_ELEMENT, CLIK_TO_EDIT_HEADER, CLICK_TO_EDIT_TEXT, PAGE_ELEMENT]);
98
98
  var content = React.useMemo(function () {
99
99
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
100
100
  className: "jfReportSelectOption",
@@ -1 +1 @@
1
- {"version":3,"file":"LayerItem.js","sources":["../../../../../src/components/Settings/PageLayer/LayerItem.js"],"sourcesContent":["import { memo, useCallback, useMemo } from 'react';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { capitalize, stripHTML } from '../../../utils/string';\nimport * as icons from '../../../utils/icons';\nimport { useTranslatedTexts } from '../../../utils/hooks';\n\nconst DragHandle = () => (\n <span className=\"jfReportSelectOption-drag\">\n <icons.drag className=\"jfReportSVG icon-drag\" />\n </span>\n);\n\nconst LayerItem = ({\n icon: Icon,\n id: itemId,\n item,\n onItemChange,\n optionKey,\n setActiveElement,\n}) => {\n const {\n attributes,\n isDragging,\n listeners,\n setNodeRef,\n transform,\n transition,\n } = useSortable({ id: itemId });\n\n const dragStyle = useMemo(() => ({\n opacity: isDragging ? 0.5 : 1,\n transform: CSS.Transform.toString(transform),\n transition: transition,\n }), [transform, transition, isDragging]);\n\n const { id, isVisible } = item;\n const isVisib = isVisible !== undefined ? isVisible : true;\n\n const {\n CHART_ELEMENT,\n CLICK_TO_EDIT_TEXT,\n CLIK_TO_EDIT_HEADER,\n PAGE_ELEMENT,\n RECTANGLE,\n } = useTranslatedTexts();\n\n const handleItemLock = useCallback(({ target }) => {\n onItemChange({ id }, { isVisible: target.checked });\n }, [id, onItemChange]);\n\n const itemText = useMemo(() => {\n if (item.itemType === 'shapes') {\n return capitalize(item.shapeType || RECTANGLE);\n }\n if (item.itemType === 'chart') {\n return item.text || CHART_ELEMENT;\n }\n if (item.itemType === 'header') {\n return item.headerText || CLIK_TO_EDIT_HEADER;\n }\n if (item.itemType === 'text') {\n return item.value ? stripHTML(item.value) : CLICK_TO_EDIT_TEXT;\n }\n return capitalize(item.itemType || PAGE_ELEMENT);\n }, [item]);\n\n const content = useMemo(() => (\n <div className=\"jfReportSelectOption\">\n <div className=\"jfReportSelectOption-icon\">\n <Icon />\n </div>\n <div className=\"jfReportSelectOption-text\">\n {itemText}\n </div>\n </div>\n ), [itemText]);\n\n return (\n <div\n ref={setNodeRef}\n className={classNames('jfReportSelectOption', {\n isSelected: isVisib,\n })}\n onClick={() => setActiveElement(id, false)}\n onKeyDown={() => {}}\n style={dragStyle}\n {...attributes}\n {...listeners}\n >\n <div className=\"jfReportSelectOption-visibility\">\n <label\n className=\"jfReportChoice isLight hasNotText\"\n htmlFor={optionKey}\n >\n <input\n checked={isVisib}\n className=\"jfReportChoice-input\"\n data-option-key={optionKey}\n id={optionKey}\n onChange={handleItemLock}\n type=\"checkbox\"\n />\n <div className=\"jfReportChoice-labelIcon\">\n <div className=\"jfReportChoice-label checkbox\" />\n </div>\n </label>\n </div>\n <div\n className=\"jfReportSelectOption-name\"\n // style={{ backgroundColor: option.color }}\n >\n <DragHandle />\n {content}\n </div>\n </div>\n );\n};\n\nLayerItem.propTypes = {\n icon: PropTypes.elementType,\n id: PropTypes.string,\n item: PropTypes.shape({\n headerText: PropTypes.string,\n id: PropTypes.string,\n isVisible: PropTypes.bool,\n itemType: PropTypes.string,\n shapeType: PropTypes.string,\n text: PropTypes.string,\n value: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n optionKey: PropTypes.string,\n setActiveElement: PropTypes.func,\n};\n\nexport default memo(LayerItem);\n"],"names":["DragHandle","_jsx","icons.drag","LayerItem","Icon","icon","itemId","id","item","onItemChange","optionKey","setActiveElement","useSortable","attributes","isDragging","listeners","setNodeRef","transform","transition","dragStyle","useMemo","opacity","CSS","Transform","toString","isVisible","isVisib","undefined","useTranslatedTexts","CHART_ELEMENT","CLICK_TO_EDIT_TEXT","CLIK_TO_EDIT_HEADER","PAGE_ELEMENT","RECTANGLE","handleItemLock","useCallback","target","checked","itemText","itemType","capitalize","shapeType","text","headerText","value","stripHTML","content","_jsxs","classNames","isSelected","propTypes","PropTypes","elementType","string","shape","bool","func","memo"],"mappings":"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"}
1
+ {"version":3,"file":"LayerItem.js","sources":["../../../../../src/components/Settings/PageLayer/LayerItem.js"],"sourcesContent":["import { memo, useCallback, useMemo } from 'react';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { capitalize, stripHTML } from '../../../utils/string';\nimport * as icons from '../../../utils/icons';\nimport { useTranslatedTexts } from '../../../utils/hooks';\n\nconst DragHandle = () => (\n <span className=\"jfReportSelectOption-drag\">\n <icons.drag className=\"jfReportSVG icon-drag\" />\n </span>\n);\n\nconst LayerItem = ({\n icon: Icon,\n id: itemId,\n item,\n onItemChange,\n optionKey,\n setActiveElement,\n}) => {\n const {\n attributes,\n isDragging,\n listeners,\n setNodeRef,\n transform,\n transition,\n } = useSortable({ id: itemId });\n\n const dragStyle = useMemo(() => ({\n opacity: isDragging ? 0.5 : 1,\n transform: CSS.Transform.toString(transform),\n transition: transition,\n }), [transform, transition, isDragging]);\n\n const { id, isVisible } = item;\n const isVisib = isVisible !== undefined ? isVisible : true;\n\n const {\n CHART_ELEMENT,\n CLICK_TO_EDIT_TEXT,\n CLIK_TO_EDIT_HEADER,\n PAGE_ELEMENT,\n RECTANGLE,\n } = useTranslatedTexts();\n\n const handleItemLock = useCallback(({ target }) => {\n onItemChange({ id }, { isVisible: target.checked });\n }, [id, onItemChange]);\n\n const itemText = useMemo(() => {\n if (item.itemType === 'shapes') {\n return capitalize(item.shapeType || RECTANGLE);\n }\n if (item.itemType === 'chart') {\n return item.text || CHART_ELEMENT;\n }\n if (item.itemType === 'header') {\n return item.headerText || CLIK_TO_EDIT_HEADER;\n }\n if (item.itemType === 'text') {\n return item.value ? stripHTML(item.value) : CLICK_TO_EDIT_TEXT;\n }\n return capitalize(item.itemType || PAGE_ELEMENT);\n }, [\n item.itemType,\n item.shapeType,\n item.headerText,\n item.text,\n item.value,\n RECTANGLE,\n CHART_ELEMENT,\n CLIK_TO_EDIT_HEADER,\n CLICK_TO_EDIT_TEXT,\n PAGE_ELEMENT,\n ]);\n\n const content = useMemo(() => (\n <div className=\"jfReportSelectOption\">\n <div className=\"jfReportSelectOption-icon\">\n <Icon />\n </div>\n <div className=\"jfReportSelectOption-text\">\n {itemText}\n </div>\n </div>\n ), [itemText]);\n\n return (\n <div\n ref={setNodeRef}\n className={classNames('jfReportSelectOption', {\n isSelected: isVisib,\n })}\n onClick={() => setActiveElement(id, false)}\n onKeyDown={() => {}}\n style={dragStyle}\n {...attributes}\n {...listeners}\n >\n <div className=\"jfReportSelectOption-visibility\">\n <label\n className=\"jfReportChoice isLight hasNotText\"\n htmlFor={optionKey}\n >\n <input\n checked={isVisib}\n className=\"jfReportChoice-input\"\n data-option-key={optionKey}\n id={optionKey}\n onChange={handleItemLock}\n type=\"checkbox\"\n />\n <div className=\"jfReportChoice-labelIcon\">\n <div className=\"jfReportChoice-label checkbox\" />\n </div>\n </label>\n </div>\n <div\n className=\"jfReportSelectOption-name\"\n // style={{ backgroundColor: option.color }}\n >\n <DragHandle />\n {content}\n </div>\n </div>\n );\n};\n\nLayerItem.propTypes = {\n icon: PropTypes.elementType,\n id: PropTypes.string,\n item: PropTypes.shape({\n headerText: PropTypes.string,\n id: PropTypes.string,\n isVisible: PropTypes.bool,\n itemType: PropTypes.string,\n shapeType: PropTypes.string,\n text: PropTypes.string,\n value: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n optionKey: PropTypes.string,\n setActiveElement: PropTypes.func,\n};\n\nexport default memo(LayerItem);\n"],"names":["DragHandle","_jsx","icons.drag","LayerItem","Icon","icon","itemId","id","item","onItemChange","optionKey","setActiveElement","useSortable","attributes","isDragging","listeners","setNodeRef","transform","transition","dragStyle","useMemo","opacity","CSS","Transform","toString","isVisible","isVisib","undefined","useTranslatedTexts","CHART_ELEMENT","CLICK_TO_EDIT_TEXT","CLIK_TO_EDIT_HEADER","PAGE_ELEMENT","RECTANGLE","handleItemLock","useCallback","target","checked","itemText","itemType","capitalize","shapeType","text","headerText","value","stripHTML","content","_jsxs","classNames","isSelected","propTypes","PropTypes","elementType","string","shape","bool","func","memo"],"mappings":"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"}
@@ -68,7 +68,7 @@ var SizeSettings = function SizeSettings(_ref) {
68
68
  if (aspectLock) {
69
69
  initialAspect.current = stackSize.width / stackSize.height;
70
70
  }
71
- }, [aspectLock]);
71
+ }, [aspectLock, stackSize.width, stackSize.height]);
72
72
 
73
73
  var sizeSetter = function sizeSetter(_ref2) {
74
74
  var height = _ref2.height,
@@ -1 +1 @@
1
- {"version":3,"file":"SizeSettings.js","sources":["../../../../src/components/Settings/SizeSettings.js"],"sourcesContent":["import { useState, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { getImageSizes, roundForDecimalPart } from '../../utils/functions';\nimport { useTranslatedTexts } from '../../utils/hooks';\nimport * as icons from '../../utils/icons';\n\nconst SizeSettings = ({\n item = {},\n onItemChange = () => {},\n}) => {\n const initialAspect = useRef();\n const [stackSize, setStackSize] = useState({ height: item.height, width: item.width });\n const [aspectLock, setAspectLock] = useState(true);\n const imageRefForMeta = useRef(null);\n const { HEIGHT, ORIGINAL_SIZE, WIDTH } = useTranslatedTexts();\n\n useEffect(() => {\n setStackSize({ height: item.height, width: item.width });\n }, [item.height, item.width]);\n\n useEffect(() => {\n if (aspectLock) {\n initialAspect.current = stackSize.width / stackSize.height;\n }\n }, [aspectLock]);\n\n const sizeSetter = ({ height, width }) => {\n const sizes = { height: Number(height), width: Number(width) };\n setStackSize(sizes);\n onItemChange({ id: item.id }, sizes);\n };\n\n const sizeSetterHelper = ({ height, width }) => {\n let exactWidth = Number(width);\n let exactHeight = Number(height);\n if (aspectLock) {\n if (item.width !== stackSize.width) {\n exactHeight = stackSize.width / initialAspect.current;\n } else {\n exactWidth = stackSize.height * initialAspect.current;\n }\n }\n\n sizeSetter({ height: Math.max(exactHeight, 5), width: Math.max(exactWidth, 5) });\n };\n\n const handleBlur = () => {\n sizeSetterHelper(stackSize);\n };\n\n const handleChangeSize = (type = 'width', prevValue) => e => {\n if (e.stopPropagation) e.stopPropagation();\n\n const { value } = e.target;\n if (Number(value) !== Number(prevValue)) {\n setStackSize({ ...stackSize, [type]: Number(value) || 0 });\n }\n };\n\n const setOriginalSizes = () => {\n // For Shapes\n if (item.shapeType) {\n return sizeSetter({\n height: 200,\n width: 200,\n });\n }\n // For Images\n if (!imageRefForMeta.current) {\n getImageSizes(item.url, (imageWidth, imageHeight) => {\n imageRefForMeta.current = {\n imageHeight,\n imageWidth,\n };\n sizeSetter({\n height: imageHeight,\n width: imageWidth,\n });\n });\n } else {\n const { imageHeight, imageWidth } = imageRefForMeta.current;\n sizeSetter({\n height: imageHeight,\n width: imageWidth,\n });\n }\n };\n\n const handleKeyDown = (type, currValue) => event => {\n event.stopPropagation();\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n event.preventDefault();\n const ref = event.shiftKey ? 10 : 1;\n const diff = event.key === 'ArrowUp' ? ref : -ref;\n handleChangeSize(type, currValue)({\n target: {\n value: Number(currValue) + diff,\n },\n });\n } else if (event.key === 'Tab') {\n event.preventDefault();\n const input = type === 'width' ? 'height-input' : 'width-input';\n document.getElementById(input).focus();\n document.getElementById(input).select();\n } else if (event.key === 'Enter') {\n sizeSetterHelper(stackSize);\n }\n };\n\n return (\n <>\n <div className=\"toolSection-wrapper d-flex\">\n <div className=\"toolSection-subItem\">\n <label\n className=\"d-flex dir-col hasUnit isPixel\"\n htmlFor=\"width-input\"\n >\n <input\n className=\"toolSection-input\"\n id=\"width-input\"\n onBlur={handleBlur}\n onChange={handleChangeSize('width', stackSize.width)}\n onKeyDown={handleKeyDown('width', stackSize.width)}\n pattern=\"[0-9]*\"\n tabIndex={0}\n value={roundForDecimalPart(stackSize.width)}\n />\n <span className=\"toolSection-subLabel\">{WIDTH}</span>\n </label>\n </div>\n <div className=\"toolSection-subItem hasAspect\">\n <button\n className=\"p-relative forAspect\"\n onClick={() => setAspectLock(!aspectLock)}\n type=\"button\"\n >\n {aspectLock\n ? <icons.lock className=\"jfReportSVG icon-aspectLock\" />\n : <icons.unlock className=\"jfReportSVG icon-aspectUnlock\" />}\n </button>\n </div>\n <div className=\"toolSection-subItem\">\n <label\n className=\"d-flex dir-col hasUnit isPixel\"\n htmlFor=\"width-input\"\n >\n <input\n className=\"toolSection-input\"\n id=\"height-input\"\n onBlur={handleBlur}\n onChange={handleChangeSize('height', stackSize.height)}\n onKeyDown={handleKeyDown('height', stackSize.height)}\n pattern=\"[0-9]*\"\n value={roundForDecimalPart(stackSize.height)}\n />\n <span className=\"toolSection-subLabel\">{HEIGHT}</span>\n </label>\n </div>\n </div>\n {(item.url || item.shapeType)\n && (\n <div className=\"toolSection-wrapper\">\n <button\n className=\"jfReportButton forOptions forDimension f-width\"\n onClick={setOriginalSizes}\n type=\"button\"\n >\n {ORIGINAL_SIZE}\n </button>\n </div>\n )}\n </>\n );\n};\n\nSizeSettings.propTypes = {\n item: PropTypes.shape({\n height: PropTypes.number,\n id: PropTypes.string,\n shapeType: PropTypes.string,\n url: PropTypes.string,\n width: PropTypes.number,\n }),\n onItemChange: PropTypes.func,\n};\n\nexport default SizeSettings;\n"],"names":["SizeSettings","item","onItemChange","initialAspect","useRef","useState","height","width","stackSize","setStackSize","aspectLock","setAspectLock","imageRefForMeta","useTranslatedTexts","HEIGHT","ORIGINAL_SIZE","WIDTH","useEffect","current","sizeSetter","sizes","Number","id","sizeSetterHelper","exactWidth","exactHeight","Math","max","handleBlur","handleChangeSize","type","prevValue","e","stopPropagation","value","target","setOriginalSizes","shapeType","getImageSizes","url","imageWidth","imageHeight","handleKeyDown","currValue","event","key","preventDefault","ref","shiftKey","diff","input","document","getElementById","focus","select","_jsxs","_jsx","roundForDecimalPart","icons.lock","icons.unlock","propTypes","PropTypes","shape","number","string","func"],"mappings":"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"}
1
+ {"version":3,"file":"SizeSettings.js","sources":["../../../../src/components/Settings/SizeSettings.js"],"sourcesContent":["import { useState, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { getImageSizes, roundForDecimalPart } from '../../utils/functions';\nimport { useTranslatedTexts } from '../../utils/hooks';\nimport * as icons from '../../utils/icons';\n\nconst SizeSettings = ({\n item = {},\n onItemChange = () => {},\n}) => {\n const initialAspect = useRef();\n const [stackSize, setStackSize] = useState({ height: item.height, width: item.width });\n const [aspectLock, setAspectLock] = useState(true);\n const imageRefForMeta = useRef(null);\n const { HEIGHT, ORIGINAL_SIZE, WIDTH } = useTranslatedTexts();\n\n useEffect(() => {\n setStackSize({ height: item.height, width: item.width });\n }, [item.height, item.width]);\n\n useEffect(() => {\n if (aspectLock) {\n initialAspect.current = stackSize.width / stackSize.height;\n }\n }, [aspectLock, stackSize.width, stackSize.height]);\n\n const sizeSetter = ({ height, width }) => {\n const sizes = { height: Number(height), width: Number(width) };\n setStackSize(sizes);\n onItemChange({ id: item.id }, sizes);\n };\n\n const sizeSetterHelper = ({ height, width }) => {\n let exactWidth = Number(width);\n let exactHeight = Number(height);\n if (aspectLock) {\n if (item.width !== stackSize.width) {\n exactHeight = stackSize.width / initialAspect.current;\n } else {\n exactWidth = stackSize.height * initialAspect.current;\n }\n }\n\n sizeSetter({ height: Math.max(exactHeight, 5), width: Math.max(exactWidth, 5) });\n };\n\n const handleBlur = () => {\n sizeSetterHelper(stackSize);\n };\n\n const handleChangeSize = (type = 'width', prevValue) => e => {\n if (e.stopPropagation) e.stopPropagation();\n\n const { value } = e.target;\n if (Number(value) !== Number(prevValue)) {\n setStackSize({ ...stackSize, [type]: Number(value) || 0 });\n }\n };\n\n const setOriginalSizes = () => {\n // For Shapes\n if (item.shapeType) {\n return sizeSetter({\n height: 200,\n width: 200,\n });\n }\n // For Images\n if (!imageRefForMeta.current) {\n getImageSizes(item.url, (imageWidth, imageHeight) => {\n imageRefForMeta.current = {\n imageHeight,\n imageWidth,\n };\n sizeSetter({\n height: imageHeight,\n width: imageWidth,\n });\n });\n } else {\n const { imageHeight, imageWidth } = imageRefForMeta.current;\n sizeSetter({\n height: imageHeight,\n width: imageWidth,\n });\n }\n };\n\n const handleKeyDown = (type, currValue) => event => {\n event.stopPropagation();\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n event.preventDefault();\n const ref = event.shiftKey ? 10 : 1;\n const diff = event.key === 'ArrowUp' ? ref : -ref;\n handleChangeSize(type, currValue)({\n target: {\n value: Number(currValue) + diff,\n },\n });\n } else if (event.key === 'Tab') {\n event.preventDefault();\n const input = type === 'width' ? 'height-input' : 'width-input';\n document.getElementById(input).focus();\n document.getElementById(input).select();\n } else if (event.key === 'Enter') {\n sizeSetterHelper(stackSize);\n }\n };\n\n return (\n <>\n <div className=\"toolSection-wrapper d-flex\">\n <div className=\"toolSection-subItem\">\n <label\n className=\"d-flex dir-col hasUnit isPixel\"\n htmlFor=\"width-input\"\n >\n <input\n className=\"toolSection-input\"\n id=\"width-input\"\n onBlur={handleBlur}\n onChange={handleChangeSize('width', stackSize.width)}\n onKeyDown={handleKeyDown('width', stackSize.width)}\n pattern=\"[0-9]*\"\n tabIndex={0}\n value={roundForDecimalPart(stackSize.width)}\n />\n <span className=\"toolSection-subLabel\">{WIDTH}</span>\n </label>\n </div>\n <div className=\"toolSection-subItem hasAspect\">\n <button\n className=\"p-relative forAspect\"\n onClick={() => setAspectLock(!aspectLock)}\n type=\"button\"\n >\n {aspectLock\n ? <icons.lock className=\"jfReportSVG icon-aspectLock\" />\n : <icons.unlock className=\"jfReportSVG icon-aspectUnlock\" />}\n </button>\n </div>\n <div className=\"toolSection-subItem\">\n <label\n className=\"d-flex dir-col hasUnit isPixel\"\n htmlFor=\"width-input\"\n >\n <input\n className=\"toolSection-input\"\n id=\"height-input\"\n onBlur={handleBlur}\n onChange={handleChangeSize('height', stackSize.height)}\n onKeyDown={handleKeyDown('height', stackSize.height)}\n pattern=\"[0-9]*\"\n value={roundForDecimalPart(stackSize.height)}\n />\n <span className=\"toolSection-subLabel\">{HEIGHT}</span>\n </label>\n </div>\n </div>\n {(item.url || item.shapeType)\n && (\n <div className=\"toolSection-wrapper\">\n <button\n className=\"jfReportButton forOptions forDimension f-width\"\n onClick={setOriginalSizes}\n type=\"button\"\n >\n {ORIGINAL_SIZE}\n </button>\n </div>\n )}\n </>\n );\n};\n\nSizeSettings.propTypes = {\n item: PropTypes.shape({\n height: PropTypes.number,\n id: PropTypes.string,\n shapeType: PropTypes.string,\n url: PropTypes.string,\n width: PropTypes.number,\n }),\n onItemChange: PropTypes.func,\n};\n\nexport default SizeSettings;\n"],"names":["SizeSettings","item","onItemChange","initialAspect","useRef","useState","height","width","stackSize","setStackSize","aspectLock","setAspectLock","imageRefForMeta","useTranslatedTexts","HEIGHT","ORIGINAL_SIZE","WIDTH","useEffect","current","sizeSetter","sizes","Number","id","sizeSetterHelper","exactWidth","exactHeight","Math","max","handleBlur","handleChangeSize","type","prevValue","e","stopPropagation","value","target","setOriginalSizes","shapeType","getImageSizes","url","imageWidth","imageHeight","handleKeyDown","currValue","event","key","preventDefault","ref","shiftKey","diff","input","document","getElementById","focus","select","_jsxs","_jsx","roundForDecimalPart","icons.lock","icons.unlock","propTypes","PropTypes","shape","number","string","func"],"mappings":"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"}
@@ -18,6 +18,7 @@ var ALL_TEXTS = {
18
18
  CHART_SETTINGS: 'Chart Settings',
19
19
  CLICK_TO_EDIT_HEADER: 'Click to edit header',
20
20
  CLICK_TO_EDIT_TEXT: 'Click to edit text',
21
+ DATACARD_SETTINGS: 'Data Card Settings',
21
22
  DELETE: 'Delete',
22
23
  DELETE_ITEM: 'Delete Item',
23
24
  DUPLICATE_ITEM: 'Duplicate Item',
@@ -1 +1 @@
1
- {"version":3,"file":"texts.js","sources":["../../../src/constants/texts.js"],"sourcesContent":["/* eslint-disable max-len */\nconst ALL_TEXTS = {\n ADD_ELEMENT: 'Add Element',\n ADD_LINK: 'ADD LINK',\n ADD_NEW_PAGE: 'ADD SLIDE',\n BACKGROUND_COLOR: 'Background Color',\n CHART_ELEMENT: 'Chart Element',\n CHART_SETTINGS: 'Chart Settings',\n CLICK_TO_EDIT_HEADER: 'Click to edit header',\n CLICK_TO_EDIT_TEXT: 'Click to edit text',\n DELETE: 'Delete',\n DELETE_ITEM: 'Delete Item',\n DUPLICATE_ITEM: 'Duplicate Item',\n DUPLICATE_PAGE: 'Duplicate Slide',\n ELEMENTS: 'Elements',\n FIT_TO_PAGE: 'Fit to Slide',\n FIT_TO_SCENE: 'Fit to Screen',\n GENERAL: 'GENERAL',\n GRID_SETTINGS: 'Grid Settings',\n HEADER_SETTINGS: 'Header Settings',\n HEIGHT: 'Height',\n ICON_SETTINGS: 'Icon Settings',\n IMAGE_SETTINGS: 'Image Settings',\n ITEM_SETTINGS: 'Item Settings',\n LAYERS: 'Layers',\n LAYOUT_SETTINGS: 'Layout Settings',\n LOCK_ITEM: 'Lock Item',\n MOVE_BACKWARDS: 'Move Backwards',\n MOVE_FORWARDS: 'Move Forwards',\n MOVE_PAGE_DOWNWARDS: 'Move Slide Downwards',\n MOVE_PAGE_UPWARDS: 'Move Slide Upwards',\n MOVE_TO_BACK: 'Move to Back',\n MOVE_TO_FRONT: 'Move to Front',\n NO_ELEMENT_IN_PAGE: 'There is no element on this slide. You can add a new element from side menu.',\n NO_RESULT: 'No result was found',\n ORIGINAL_SIZE: 'Original Size',\n PAGE_ELEMENT: 'Page Element',\n PAGE_SETTINGS: 'Slide Settings',\n PAGE_STYLE: 'Slide Style',\n RECTANGLE: 'Rectangle',\n REMOVE_PAGE: 'Remove Slide',\n SEARCH: 'Search',\n SETTINGS: 'Settings',\n SHOW_ALL: 'Show All',\n SLIDES: 'Slides',\n TEXT_SETTINGS: 'Text Settings',\n TOGGLE_OFF: 'OFF',\n TOGGLE_ON: 'ON',\n UNLOCK_ITEM: 'Unlock Item',\n WIDTH: 'Width',\n ZOOM_IN: 'Zoom In',\n ZOOM_OUT: 'Zoom Out',\n};\n\nclass ModuleTexts {\n constructor(allTexts) {\n this._texts = allTexts;\n }\n\n get Texts() {\n return this._texts;\n }\n\n setTexts(allTexts) {\n this._texts = allTexts;\n }\n}\n\nexport const SharingTextsModule = new ModuleTexts(ALL_TEXTS);\nexport default ALL_TEXTS;\n"],"names":["ALL_TEXTS","ADD_ELEMENT","ADD_LINK","ADD_NEW_PAGE","BACKGROUND_COLOR","CHART_ELEMENT","CHART_SETTINGS","CLICK_TO_EDIT_HEADER","CLICK_TO_EDIT_TEXT","DELETE","DELETE_ITEM","DUPLICATE_ITEM","DUPLICATE_PAGE","ELEMENTS","FIT_TO_PAGE","FIT_TO_SCENE","GENERAL","GRID_SETTINGS","HEADER_SETTINGS","HEIGHT","ICON_SETTINGS","IMAGE_SETTINGS","ITEM_SETTINGS","LAYERS","LAYOUT_SETTINGS","LOCK_ITEM","MOVE_BACKWARDS","MOVE_FORWARDS","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","MOVE_TO_BACK","MOVE_TO_FRONT","NO_ELEMENT_IN_PAGE","NO_RESULT","ORIGINAL_SIZE","PAGE_ELEMENT","PAGE_SETTINGS","PAGE_STYLE","RECTANGLE","REMOVE_PAGE","SEARCH","SETTINGS","SHOW_ALL","SLIDES","TEXT_SETTINGS","TOGGLE_OFF","TOGGLE_ON","UNLOCK_ITEM","WIDTH","ZOOM_IN","ZOOM_OUT","ModuleTexts","allTexts","_texts","SharingTextsModule"],"mappings":";;;;;;;;;;AAAA;IACMA,SAAS,GAAG;AAChBC,EAAAA,WAAW,EAAE,aADG;AAEhBC,EAAAA,QAAQ,EAAE,UAFM;AAGhBC,EAAAA,YAAY,EAAE,WAHE;AAIhBC,EAAAA,gBAAgB,EAAE,kBAJF;AAKhBC,EAAAA,aAAa,EAAE,eALC;AAMhBC,EAAAA,cAAc,EAAE,gBANA;AAOhBC,EAAAA,oBAAoB,EAAE,sBAPN;AAQhBC,EAAAA,kBAAkB,EAAE,oBARJ;AAShBC,EAAAA,MAAM,EAAE,QATQ;AAUhBC,EAAAA,WAAW,EAAE,aAVG;AAWhBC,EAAAA,cAAc,EAAE,gBAXA;AAYhBC,EAAAA,cAAc,EAAE,iBAZA;AAahBC,EAAAA,QAAQ,EAAE,UAbM;AAchBC,EAAAA,WAAW,EAAE,cAdG;AAehBC,EAAAA,YAAY,EAAE,eAfE;AAgBhBC,EAAAA,OAAO,EAAE,SAhBO;AAiBhBC,EAAAA,aAAa,EAAE,eAjBC;AAkBhBC,EAAAA,eAAe,EAAE,iBAlBD;AAmBhBC,EAAAA,MAAM,EAAE,QAnBQ;AAoBhBC,EAAAA,aAAa,EAAE,eApBC;AAqBhBC,EAAAA,cAAc,EAAE,gBArBA;AAsBhBC,EAAAA,aAAa,EAAE,eAtBC;AAuBhBC,EAAAA,MAAM,EAAE,QAvBQ;AAwBhBC,EAAAA,eAAe,EAAE,iBAxBD;AAyBhBC,EAAAA,SAAS,EAAE,WAzBK;AA0BhBC,EAAAA,cAAc,EAAE,gBA1BA;AA2BhBC,EAAAA,aAAa,EAAE,eA3BC;AA4BhBC,EAAAA,mBAAmB,EAAE,sBA5BL;AA6BhBC,EAAAA,iBAAiB,EAAE,oBA7BH;AA8BhBC,EAAAA,YAAY,EAAE,cA9BE;AA+BhBC,EAAAA,aAAa,EAAE,eA/BC;AAgChBC,EAAAA,kBAAkB,EAAE,8EAhCJ;AAiChBC,EAAAA,SAAS,EAAE,qBAjCK;AAkChBC,EAAAA,aAAa,EAAE,eAlCC;AAmChBC,EAAAA,YAAY,EAAE,cAnCE;AAoChBC,EAAAA,aAAa,EAAE,gBApCC;AAqChBC,EAAAA,UAAU,EAAE,aArCI;AAsChBC,EAAAA,SAAS,EAAE,WAtCK;AAuChBC,EAAAA,WAAW,EAAE,cAvCG;AAwChBC,EAAAA,MAAM,EAAE,QAxCQ;AAyChBC,EAAAA,QAAQ,EAAE,UAzCM;AA0ChBC,EAAAA,QAAQ,EAAE,UA1CM;AA2ChBC,EAAAA,MAAM,EAAE,QA3CQ;AA4ChBC,EAAAA,aAAa,EAAE,eA5CC;AA6ChBC,EAAAA,UAAU,EAAE,KA7CI;AA8ChBC,EAAAA,SAAS,EAAE,IA9CK;AA+ChBC,EAAAA,WAAW,EAAE,aA/CG;AAgDhBC,EAAAA,KAAK,EAAE,OAhDS;AAiDhBC,EAAAA,OAAO,EAAE,SAjDO;AAkDhBC,EAAAA,QAAQ,EAAE;AAlDM;;IAqDZC;AACJ,uBAAYC,QAAZ,EAAsB;AAAA;;AACpB,SAAKC,MAAL,GAAcD,QAAd;AACD;;;;SAED,eAAY;AACV,aAAO,KAAKC,MAAZ;AACD;;;WAED,kBAASD,QAAT,EAAmB;AACjB,WAAKC,MAAL,GAAcD,QAAd;AACD;;;;;;IAGUE,kBAAkB,GAAG,IAAIH,WAAJ,CAAgBnD,SAAhB;;;;;"}
1
+ {"version":3,"file":"texts.js","sources":["../../../src/constants/texts.js"],"sourcesContent":["/* eslint-disable max-len */\nconst ALL_TEXTS = {\n ADD_ELEMENT: 'Add Element',\n ADD_LINK: 'ADD LINK',\n ADD_NEW_PAGE: 'ADD SLIDE',\n BACKGROUND_COLOR: 'Background Color',\n CHART_ELEMENT: 'Chart Element',\n CHART_SETTINGS: 'Chart Settings',\n CLICK_TO_EDIT_HEADER: 'Click to edit header',\n CLICK_TO_EDIT_TEXT: 'Click to edit text',\n DATACARD_SETTINGS: 'Data Card Settings',\n DELETE: 'Delete',\n DELETE_ITEM: 'Delete Item',\n DUPLICATE_ITEM: 'Duplicate Item',\n DUPLICATE_PAGE: 'Duplicate Slide',\n ELEMENTS: 'Elements',\n FIT_TO_PAGE: 'Fit to Slide',\n FIT_TO_SCENE: 'Fit to Screen',\n GENERAL: 'GENERAL',\n GRID_SETTINGS: 'Grid Settings',\n HEADER_SETTINGS: 'Header Settings',\n HEIGHT: 'Height',\n ICON_SETTINGS: 'Icon Settings',\n IMAGE_SETTINGS: 'Image Settings',\n ITEM_SETTINGS: 'Item Settings',\n LAYERS: 'Layers',\n LAYOUT_SETTINGS: 'Layout Settings',\n LOCK_ITEM: 'Lock Item',\n MOVE_BACKWARDS: 'Move Backwards',\n MOVE_FORWARDS: 'Move Forwards',\n MOVE_PAGE_DOWNWARDS: 'Move Slide Downwards',\n MOVE_PAGE_UPWARDS: 'Move Slide Upwards',\n MOVE_TO_BACK: 'Move to Back',\n MOVE_TO_FRONT: 'Move to Front',\n NO_ELEMENT_IN_PAGE: 'There is no element on this slide. You can add a new element from side menu.',\n NO_RESULT: 'No result was found',\n ORIGINAL_SIZE: 'Original Size',\n PAGE_ELEMENT: 'Page Element',\n PAGE_SETTINGS: 'Slide Settings',\n PAGE_STYLE: 'Slide Style',\n RECTANGLE: 'Rectangle',\n REMOVE_PAGE: 'Remove Slide',\n SEARCH: 'Search',\n SETTINGS: 'Settings',\n SHOW_ALL: 'Show All',\n SLIDES: 'Slides',\n TEXT_SETTINGS: 'Text Settings',\n TOGGLE_OFF: 'OFF',\n TOGGLE_ON: 'ON',\n UNLOCK_ITEM: 'Unlock Item',\n WIDTH: 'Width',\n ZOOM_IN: 'Zoom In',\n ZOOM_OUT: 'Zoom Out',\n};\n\nclass ModuleTexts {\n constructor(allTexts) {\n this._texts = allTexts;\n }\n\n get Texts() {\n return this._texts;\n }\n\n setTexts(allTexts) {\n this._texts = allTexts;\n }\n}\n\nexport const SharingTextsModule = new ModuleTexts(ALL_TEXTS);\nexport default ALL_TEXTS;\n"],"names":["ALL_TEXTS","ADD_ELEMENT","ADD_LINK","ADD_NEW_PAGE","BACKGROUND_COLOR","CHART_ELEMENT","CHART_SETTINGS","CLICK_TO_EDIT_HEADER","CLICK_TO_EDIT_TEXT","DATACARD_SETTINGS","DELETE","DELETE_ITEM","DUPLICATE_ITEM","DUPLICATE_PAGE","ELEMENTS","FIT_TO_PAGE","FIT_TO_SCENE","GENERAL","GRID_SETTINGS","HEADER_SETTINGS","HEIGHT","ICON_SETTINGS","IMAGE_SETTINGS","ITEM_SETTINGS","LAYERS","LAYOUT_SETTINGS","LOCK_ITEM","MOVE_BACKWARDS","MOVE_FORWARDS","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","MOVE_TO_BACK","MOVE_TO_FRONT","NO_ELEMENT_IN_PAGE","NO_RESULT","ORIGINAL_SIZE","PAGE_ELEMENT","PAGE_SETTINGS","PAGE_STYLE","RECTANGLE","REMOVE_PAGE","SEARCH","SETTINGS","SHOW_ALL","SLIDES","TEXT_SETTINGS","TOGGLE_OFF","TOGGLE_ON","UNLOCK_ITEM","WIDTH","ZOOM_IN","ZOOM_OUT","ModuleTexts","allTexts","_texts","SharingTextsModule"],"mappings":";;;;;;;;;;AAAA;IACMA,SAAS,GAAG;AAChBC,EAAAA,WAAW,EAAE,aADG;AAEhBC,EAAAA,QAAQ,EAAE,UAFM;AAGhBC,EAAAA,YAAY,EAAE,WAHE;AAIhBC,EAAAA,gBAAgB,EAAE,kBAJF;AAKhBC,EAAAA,aAAa,EAAE,eALC;AAMhBC,EAAAA,cAAc,EAAE,gBANA;AAOhBC,EAAAA,oBAAoB,EAAE,sBAPN;AAQhBC,EAAAA,kBAAkB,EAAE,oBARJ;AAShBC,EAAAA,iBAAiB,EAAE,oBATH;AAUhBC,EAAAA,MAAM,EAAE,QAVQ;AAWhBC,EAAAA,WAAW,EAAE,aAXG;AAYhBC,EAAAA,cAAc,EAAE,gBAZA;AAahBC,EAAAA,cAAc,EAAE,iBAbA;AAchBC,EAAAA,QAAQ,EAAE,UAdM;AAehBC,EAAAA,WAAW,EAAE,cAfG;AAgBhBC,EAAAA,YAAY,EAAE,eAhBE;AAiBhBC,EAAAA,OAAO,EAAE,SAjBO;AAkBhBC,EAAAA,aAAa,EAAE,eAlBC;AAmBhBC,EAAAA,eAAe,EAAE,iBAnBD;AAoBhBC,EAAAA,MAAM,EAAE,QApBQ;AAqBhBC,EAAAA,aAAa,EAAE,eArBC;AAsBhBC,EAAAA,cAAc,EAAE,gBAtBA;AAuBhBC,EAAAA,aAAa,EAAE,eAvBC;AAwBhBC,EAAAA,MAAM,EAAE,QAxBQ;AAyBhBC,EAAAA,eAAe,EAAE,iBAzBD;AA0BhBC,EAAAA,SAAS,EAAE,WA1BK;AA2BhBC,EAAAA,cAAc,EAAE,gBA3BA;AA4BhBC,EAAAA,aAAa,EAAE,eA5BC;AA6BhBC,EAAAA,mBAAmB,EAAE,sBA7BL;AA8BhBC,EAAAA,iBAAiB,EAAE,oBA9BH;AA+BhBC,EAAAA,YAAY,EAAE,cA/BE;AAgChBC,EAAAA,aAAa,EAAE,eAhCC;AAiChBC,EAAAA,kBAAkB,EAAE,8EAjCJ;AAkChBC,EAAAA,SAAS,EAAE,qBAlCK;AAmChBC,EAAAA,aAAa,EAAE,eAnCC;AAoChBC,EAAAA,YAAY,EAAE,cApCE;AAqChBC,EAAAA,aAAa,EAAE,gBArCC;AAsChBC,EAAAA,UAAU,EAAE,aAtCI;AAuChBC,EAAAA,SAAS,EAAE,WAvCK;AAwChBC,EAAAA,WAAW,EAAE,cAxCG;AAyChBC,EAAAA,MAAM,EAAE,QAzCQ;AA0ChBC,EAAAA,QAAQ,EAAE,UA1CM;AA2ChBC,EAAAA,QAAQ,EAAE,UA3CM;AA4ChBC,EAAAA,MAAM,EAAE,QA5CQ;AA6ChBC,EAAAA,aAAa,EAAE,eA7CC;AA8ChBC,EAAAA,UAAU,EAAE,KA9CI;AA+ChBC,EAAAA,SAAS,EAAE,IA/CK;AAgDhBC,EAAAA,WAAW,EAAE,aAhDG;AAiDhBC,EAAAA,KAAK,EAAE,OAjDS;AAkDhBC,EAAAA,OAAO,EAAE,SAlDO;AAmDhBC,EAAAA,QAAQ,EAAE;AAnDM;;IAsDZC;AACJ,uBAAYC,QAAZ,EAAsB;AAAA;;AACpB,SAAKC,MAAL,GAAcD,QAAd;AACD;;;;SAED,eAAY;AACV,aAAO,KAAKC,MAAZ;AACD;;;WAED,kBAASD,QAAT,EAAmB;AACjB,WAAKC,MAAL,GAAcD,QAAd;AACD;;;;;;IAGUE,kBAAkB,GAAG,IAAIH,WAAJ,CAAgBpD,SAAhB;;;;;"}
@@ -48,6 +48,7 @@ var builderStore = function builderStore(props) {
48
48
  editedElement: props.editedElement || 'l_layout',
49
49
  isAllSlidesPanelOpen: props.isAllSlidesPanelOpen || false,
50
50
  isLeftPanelOpen: props.isLeftPanelOpen || false,
51
+ isResize: false,
51
52
  isRightPanelOpen: props.isRightPanelOpen || false,
52
53
  isSlidesPanelOpen: props.isSlidesPanelOpen || false,
53
54
  isTextEditorOpen: props.isTextEditorOpen || false,
@@ -110,6 +111,11 @@ var builderStore = function builderStore(props) {
110
111
  isRightPanelOpen: false
111
112
  }));
112
113
  },
114
+ setIsResize: function setIsResize(status) {
115
+ set({
116
+ isResize: status
117
+ });
118
+ },
113
119
  setIsRightPanelOpen: props.setIsRightPanelOpen || function (status) {
114
120
  var _get4 = get(),
115
121
  isEnoughCanvasSize = _get4.isEnoughCanvasSize,
@@ -1 +1 @@
1
- {"version":3,"file":"BuilderContext.js","sources":["../../../src/contexts/BuilderContext.js"],"sourcesContent":["import { createContext, useContext, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createStore, useStore } from 'zustand';\n\nconst builderStore = props => {\n return createStore((set, get) => ({\n activeElement: props.activeElement || null,\n activeTab: props.activeTab || { left: 0, right: 0 },\n contextMenuProps: props.contextMenuProps || false,\n editedElement: props.editedElement || 'l_layout',\n isAllSlidesPanelOpen: props.isAllSlidesPanelOpen || false,\n isLeftPanelOpen: props.isLeftPanelOpen || false,\n isRightPanelOpen: props.isRightPanelOpen || false,\n isSlidesPanelOpen: props.isSlidesPanelOpen || false,\n isTextEditorOpen: props.isTextEditorOpen || false,\n lastScrollPosition: props.lastScrollPosition || 0,\n onRightPanelsToggled: props.onRightPanelsToggled || (() => {}),\n setActiveElement: props.setActiveElement || ((itemID, edit = true, multiple = false) => {\n if (!multiple) {\n const config = {\n activeElement: itemID === null ? null : [itemID],\n };\n if (edit) {\n const editedElement = !itemID ? 'l_layout' : `i_${itemID}`;\n config.editedElement = editedElement;\n }\n set(config);\n } else {\n const { activeElement } = get();\n set({ activeElement: activeElement === null ? [itemID] : [...activeElement, itemID] });\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 setIsAllSlidesPanelOpen: status => {\n set({ isAllSlidesPanelOpen: status });\n },\n setIsLeftPanelOpen: props.setIsLeftPanelOpen || (status => {\n const { isEnoughCanvasSize } = get();\n set({\n isLeftPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n }),\n setIsRightPanelOpen: props.setIsRightPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isRightPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isLeftPanelOpen: false },\n ...status && { isSlidesPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsSlidesPanelOpen: props.setIsSlidesPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isSlidesPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isLeftPanelOpen: false },\n ...status && { isRightPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsTextEditorOpen: status => {\n set({ isTextEditorOpen: status });\n },\n setZoom: (zoom, layoutWidth) => {\n set({ zoom });\n if (layoutWidth) {\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 });\n }\n }\n },\n zoom: 1,\n }));\n};\n\nconst BuilderContext = createContext(null);\n\nexport const BuilderProvider = ({ children, value, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = builderStore(props);\n }\n\n return (\n <BuilderContext.Provider value={storeRef.current}>\n {children}\n </BuilderContext.Provider>\n );\n};\n\nBuilderProvider.propTypes = {\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","activeElement","activeTab","left","right","contextMenuProps","editedElement","isAllSlidesPanelOpen","isLeftPanelOpen","isRightPanelOpen","isSlidesPanelOpen","isTextEditorOpen","lastScrollPosition","onRightPanelsToggled","setActiveElement","itemID","edit","multiple","config","setActiveTab","panel","tabIndex","setContextMenuProps","status","setEditedElement","id","setIsAllSlidesPanelOpen","setIsLeftPanelOpen","isEnoughCanvasSize","setIsRightPanelOpen","setIsSlidesPanelOpen","setIsTextEditorOpen","setZoom","zoom","layoutWidth","document","querySelector","paneWidth","clientWidth","sceneWidth","parseInt","window","innerWidth","BuilderContext","createContext","BuilderProvider","children","value","storeRef","useRef","current","_jsx","propTypes","PropTypes","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":["import { createContext, useContext, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createStore, useStore } from 'zustand';\n\nconst builderStore = props => {\n return createStore((set, get) => ({\n activeElement: props.activeElement || null,\n activeTab: props.activeTab || { left: 0, right: 0 },\n contextMenuProps: props.contextMenuProps || false,\n editedElement: props.editedElement || 'l_layout',\n isAllSlidesPanelOpen: props.isAllSlidesPanelOpen || false,\n isLeftPanelOpen: props.isLeftPanelOpen || false,\n isResize: false,\n isRightPanelOpen: props.isRightPanelOpen || false,\n isSlidesPanelOpen: props.isSlidesPanelOpen || false,\n isTextEditorOpen: props.isTextEditorOpen || false,\n lastScrollPosition: props.lastScrollPosition || 0,\n onRightPanelsToggled: props.onRightPanelsToggled || (() => {}),\n setActiveElement: props.setActiveElement || ((itemID, edit = true, multiple = false) => {\n if (!multiple) {\n const config = {\n activeElement: itemID === null ? null : [itemID],\n };\n if (edit) {\n const editedElement = !itemID ? 'l_layout' : `i_${itemID}`;\n config.editedElement = editedElement;\n }\n set(config);\n } else {\n const { activeElement } = get();\n set({ activeElement: activeElement === null ? [itemID] : [...activeElement, itemID] });\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 setIsAllSlidesPanelOpen: status => {\n set({ isAllSlidesPanelOpen: status });\n },\n setIsLeftPanelOpen: props.setIsLeftPanelOpen || (status => {\n const { isEnoughCanvasSize } = get();\n set({\n isLeftPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isRightPanelOpen: false },\n });\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 && { isLeftPanelOpen: false },\n ...status && { isSlidesPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsSlidesPanelOpen: props.setIsSlidesPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isSlidesPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isLeftPanelOpen: false },\n ...status && { isRightPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsTextEditorOpen: status => {\n set({ isTextEditorOpen: status });\n },\n setZoom: (zoom, layoutWidth) => {\n set({ zoom });\n if (layoutWidth) {\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 });\n }\n }\n },\n zoom: 1,\n }));\n};\n\nconst BuilderContext = createContext(null);\n\nexport const BuilderProvider = ({ children, value, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = builderStore(props);\n }\n\n return (\n <BuilderContext.Provider value={storeRef.current}>\n {children}\n </BuilderContext.Provider>\n );\n};\n\nBuilderProvider.propTypes = {\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","activeElement","activeTab","left","right","contextMenuProps","editedElement","isAllSlidesPanelOpen","isLeftPanelOpen","isResize","isRightPanelOpen","isSlidesPanelOpen","isTextEditorOpen","lastScrollPosition","onRightPanelsToggled","setActiveElement","itemID","edit","multiple","config","setActiveTab","panel","tabIndex","setContextMenuProps","status","setEditedElement","id","setIsAllSlidesPanelOpen","setIsLeftPanelOpen","isEnoughCanvasSize","setIsResize","setIsRightPanelOpen","setIsSlidesPanelOpen","setIsTextEditorOpen","setZoom","zoom","layoutWidth","document","querySelector","paneWidth","clientWidth","sceneWidth","parseInt","window","innerWidth","BuilderContext","createContext","BuilderProvider","children","value","storeRef","useRef","current","_jsx","propTypes","PropTypes","any","object","Consumer","useBuilderStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
@@ -81,7 +81,7 @@ var getStyles = function getStyles(left, top, isDragging) {
81
81
  top: top
82
82
  };
83
83
  };
84
- var isSelected = function isSelected(id, activeElements) {
84
+ var isSelectedItem = function isSelectedItem(id, activeElements) {
85
85
  if (activeElements === null) return id === activeElements;
86
86
  return activeElements.indexOf(id) !== -1;
87
87
  };
@@ -99,12 +99,12 @@ var findItemById = function findItemById(itemID, pages) {
99
99
  var getSelectedItems = function getSelectedItems(selectedItemsIds, pages) {
100
100
  var page = pages.find(function (p) {
101
101
  return p.items.find(function (item) {
102
- return isSelected(item.id, selectedItemsIds);
102
+ return isSelectedItem(item.id, selectedItemsIds);
103
103
  });
104
104
  });
105
105
  if (!page) return null;
106
106
  return page.items.filter(function (item) {
107
- return isSelected(item.id, selectedItemsIds);
107
+ return isSelectedItem(item.id, selectedItemsIds);
108
108
  });
109
109
  };
110
110
 
@@ -276,37 +276,37 @@ var proximityListener = function proximityListener(active, allGuides) {
276
276
 
277
277
  return allMatchedGuides;
278
278
  };
279
- var getCorrectDroppedOffsetValueBySnap = function getCorrectDroppedOffsetValueBySnap(coords, guides, itemID, pages, zoom) {
280
- var newItem = findItemById(itemID, pages);
281
- newItem = _objectSpread(_objectSpread({}, newItem), coords);
282
- var pageGuides = guides[newItem.pageID];
279
+ var getMatchesForItem = function getMatchesForItem(item, guides, zoom) {
280
+ var pageGuides = guides[item.pageID];
283
281
 
284
- var _guides = _objectSpread(_objectSpread({}, pageGuides), {}, _defineProperty({}, itemID, _objectSpread(_objectSpread({}, pageGuides[itemID]), {}, {
285
- x: calculateGuidePositions(newItem, 'x', zoom),
286
- y: calculateGuidePositions(newItem, 'y', zoom)
282
+ var _guides = _objectSpread(_objectSpread({}, pageGuides), {}, _defineProperty({}, item.id, _objectSpread(_objectSpread({}, pageGuides[item.id]), {}, {
283
+ x: calculateGuidePositions(item, 'x', zoom),
284
+ y: calculateGuidePositions(item, 'y', zoom)
287
285
  })));
288
286
 
289
- var match = proximityListener(itemID, _guides);
290
- var newActiveBoxLeft = newItem.left;
291
- var newActiveBoxTop = newItem.top;
292
- Object.keys(match).forEach(function (axis) {
293
- var _match$axis = match[axis],
294
- activeBoxGuides = _match$axis.activeBoxGuides,
295
- matchedArray = _match$axis.matchedArray,
296
- proximity = _match$axis.proximity;
287
+ return proximityListener(item.id, _guides);
288
+ };
289
+ var getCoordinatesFromMatches = function getCoordinatesFromMatches(item, matches) {
290
+ var newActiveBoxLeft = item.left;
291
+ var newActiveBoxTop = item.top;
292
+ Object.keys(matches).forEach(function (axis) {
293
+ var _matches$axis = matches[axis],
294
+ activeBoxGuides = _matches$axis.activeBoxGuides,
295
+ matchedArray = _matches$axis.matchedArray,
296
+ proximity = _matches$axis.proximity;
297
297
  var activeBoxProximityIndex = proximity.activeBoxIndex;
298
298
  var matchedBoxProximityIndex = proximity.matchedBoxIndex;
299
299
 
300
300
  if (axis === 'x') {
301
301
  if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
302
- newActiveBoxLeft = newItem.left - proximity.value;
302
+ newActiveBoxLeft = item.left - proximity.value;
303
303
  } else {
304
- newActiveBoxLeft = newItem.left + proximity.value;
304
+ newActiveBoxLeft = item.left + proximity.value;
305
305
  }
306
306
  } else if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {
307
- newActiveBoxTop = newItem.top - proximity.value;
307
+ newActiveBoxTop = item.top - proximity.value;
308
308
  } else {
309
- newActiveBoxTop = newItem.top + proximity.value;
309
+ newActiveBoxTop = item.top + proximity.value;
310
310
  }
311
311
  });
312
312
  return {
@@ -314,6 +314,10 @@ var getCorrectDroppedOffsetValueBySnap = function getCorrectDroppedOffsetValueBy
314
314
  top: newActiveBoxTop
315
315
  };
316
316
  };
317
+ var getCorrectDroppedOffsetValueBySnap = function getCorrectDroppedOffsetValueBySnap(item, guides, zoom) {
318
+ var matches = getMatchesForItem(item, guides, zoom);
319
+ return getCoordinatesFromMatches(item, matches);
320
+ };
317
321
  var getPosition = function getPosition(e) {
318
322
  var posx = 0;
319
323
  var posy = 0;
@@ -829,11 +833,13 @@ exports.findItemsOnPage = findItemsOnPage;
829
833
  exports.getAllGuidesForGivenAxisExceptActiveBox = getAllGuidesForGivenAxisExceptActiveBox;
830
834
  exports.getAvailableCoordinate = getAvailableCoordinate;
831
835
  exports.getContainerPositions = getContainerPositions;
836
+ exports.getCoordinatesFromMatches = getCoordinatesFromMatches;
832
837
  exports.getCorrectDroppedOffsetValue = getCorrectDroppedOffsetValue;
833
838
  exports.getCorrectDroppedOffsetValueBySnap = getCorrectDroppedOffsetValueBySnap;
834
839
  exports.getExactIconType = getExactIconType;
835
840
  exports.getFileName = getFileName;
836
841
  exports.getImageSizes = getImageSizes;
842
+ exports.getMatchesForItem = getMatchesForItem;
837
843
  exports.getMostVisiblePage = getMostVisiblePage;
838
844
  exports.getPosition = getPosition;
839
845
  exports.getScaleForPageThumbnail = getScaleForPageThumbnail;
@@ -845,7 +851,7 @@ exports.getTabsWithSettings = getTabsWithSettings;
845
851
  exports.getVisibleHeightPx = getVisibleHeightPx;
846
852
  exports.getZoomValue = getZoomValue;
847
853
  exports.imageSizeUpdater = imageSizeUpdater;
848
- exports.isSelected = isSelected;
854
+ exports.isSelectedItem = isSelectedItem;
849
855
  exports.isValidHexColor = isValidHexColor;
850
856
  exports.moveArrayItem = moveArrayItem;
851
857
  exports.moveItemInArrayFromIndexToIndex = moveItemInArrayFromIndexToIndex;