@jotforminc/dnd-builder 3.4.2 → 3.4.5

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 (109) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/index.d.ts +2 -0
  3. package/lib/cjs/assets/svg/angle_down.svg.js +22 -0
  4. package/lib/cjs/assets/svg/angle_down.svg.js.map +1 -0
  5. package/lib/cjs/assets/svg/angle_left.svg.js +22 -0
  6. package/lib/cjs/assets/svg/angle_left.svg.js.map +1 -0
  7. package/lib/cjs/assets/svg/angle_right.svg.js +22 -0
  8. package/lib/cjs/assets/svg/angle_right.svg.js.map +1 -0
  9. package/lib/cjs/assets/svg/angle_up.svg.js +22 -0
  10. package/lib/cjs/assets/svg/angle_up.svg.js.map +1 -0
  11. package/lib/cjs/assets/svg/contextmenu/moveToBack.svg.js +9 -18
  12. package/lib/cjs/assets/svg/contextmenu/moveToBack.svg.js.map +1 -1
  13. package/lib/cjs/assets/svg/contextmenu/moveToBackward.svg.js +12 -18
  14. package/lib/cjs/assets/svg/contextmenu/moveToBackward.svg.js.map +1 -1
  15. package/lib/cjs/assets/svg/contextmenu/moveToForward.svg.js +12 -18
  16. package/lib/cjs/assets/svg/contextmenu/moveToForward.svg.js.map +1 -1
  17. package/lib/cjs/assets/svg/contextmenu/moveToFront.svg.js +9 -18
  18. package/lib/cjs/assets/svg/contextmenu/moveToFront.svg.js.map +1 -1
  19. package/lib/cjs/components/Builder/Builder.js +3 -0
  20. package/lib/cjs/components/Builder/Builder.js.map +1 -1
  21. package/lib/cjs/components/Builder/ContextMenu.js +1 -1
  22. package/lib/cjs/components/Builder/ContextMenu.js.map +1 -1
  23. package/lib/cjs/components/Builder/PageActions.js +19 -19
  24. package/lib/cjs/components/Builder/PageActions.js.map +1 -1
  25. package/lib/cjs/components/Builder/ZoomControls.js +8 -8
  26. package/lib/cjs/components/Builder/ZoomControls.js.map +1 -1
  27. package/lib/cjs/components/DraggableItem/DraggableItemActions.js +12 -12
  28. package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
  29. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +1 -1
  30. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  31. package/lib/cjs/components/PageItemResizer.js +1 -1
  32. package/lib/cjs/components/PageItemResizer.js.map +1 -1
  33. package/lib/cjs/components/Panels/RightPanel/RightPanel.js +10 -3
  34. package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
  35. package/lib/cjs/components/TextEditor/QuillEditor.js +8 -10
  36. package/lib/cjs/components/TextEditor/QuillEditor.js.map +1 -1
  37. package/lib/cjs/components/TextEditor/TextEditor.js +2 -10
  38. package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
  39. package/lib/cjs/components/withClickOutside.js +7 -1
  40. package/lib/cjs/components/withClickOutside.js.map +1 -1
  41. package/lib/cjs/constants/eventIgnoredRoles.js +2 -0
  42. package/lib/cjs/constants/eventIgnoredRoles.js.map +1 -1
  43. package/lib/cjs/contexts/BuilderContext.js +1 -0
  44. package/lib/cjs/contexts/BuilderContext.js.map +1 -1
  45. package/lib/cjs/contexts/Providers.js +6 -1
  46. package/lib/cjs/contexts/Providers.js.map +1 -1
  47. package/lib/cjs/styles/_jfReportsFloatings.scss +109 -2
  48. package/lib/cjs/styles/_jfReportsPages.scss +21 -28
  49. package/lib/cjs/styles/_jfReportsReportItem.scss +79 -53
  50. package/lib/cjs/styles/_jfReportsTextEditor.scss +2 -2
  51. package/lib/cjs/styles/_jfReportsViewModes.scss +4 -4
  52. package/lib/cjs/utils/icons.js +8 -0
  53. package/lib/cjs/utils/icons.js.map +1 -1
  54. package/lib/cjs/utils/useKeyboardActions.js +3 -0
  55. package/lib/cjs/utils/useKeyboardActions.js.map +1 -1
  56. package/lib/esm/assets/svg/angle_down.svg.js +20 -0
  57. package/lib/esm/assets/svg/angle_down.svg.js.map +1 -0
  58. package/lib/esm/assets/svg/angle_left.svg.js +20 -0
  59. package/lib/esm/assets/svg/angle_left.svg.js.map +1 -0
  60. package/lib/esm/assets/svg/angle_right.svg.js +20 -0
  61. package/lib/esm/assets/svg/angle_right.svg.js.map +1 -0
  62. package/lib/esm/assets/svg/angle_up.svg.js +20 -0
  63. package/lib/esm/assets/svg/angle_up.svg.js.map +1 -0
  64. package/lib/esm/assets/svg/contextmenu/moveToBack.svg.js +9 -18
  65. package/lib/esm/assets/svg/contextmenu/moveToBack.svg.js.map +1 -1
  66. package/lib/esm/assets/svg/contextmenu/moveToBackward.svg.js +12 -18
  67. package/lib/esm/assets/svg/contextmenu/moveToBackward.svg.js.map +1 -1
  68. package/lib/esm/assets/svg/contextmenu/moveToForward.svg.js +12 -18
  69. package/lib/esm/assets/svg/contextmenu/moveToForward.svg.js.map +1 -1
  70. package/lib/esm/assets/svg/contextmenu/moveToFront.svg.js +9 -18
  71. package/lib/esm/assets/svg/contextmenu/moveToFront.svg.js.map +1 -1
  72. package/lib/esm/components/Builder/Builder.js +3 -0
  73. package/lib/esm/components/Builder/Builder.js.map +1 -1
  74. package/lib/esm/components/Builder/ContextMenu.js +1 -1
  75. package/lib/esm/components/Builder/ContextMenu.js.map +1 -1
  76. package/lib/esm/components/Builder/PageActions.js +19 -19
  77. package/lib/esm/components/Builder/PageActions.js.map +1 -1
  78. package/lib/esm/components/Builder/ZoomControls.js +8 -8
  79. package/lib/esm/components/Builder/ZoomControls.js.map +1 -1
  80. package/lib/esm/components/DraggableItem/DraggableItemActions.js +12 -12
  81. package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
  82. package/lib/esm/components/DraggableItem/DraggableItemLayer.js +1 -1
  83. package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  84. package/lib/esm/components/PageItemResizer.js +1 -1
  85. package/lib/esm/components/PageItemResizer.js.map +1 -1
  86. package/lib/esm/components/Panels/RightPanel/RightPanel.js +10 -3
  87. package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
  88. package/lib/esm/components/TextEditor/QuillEditor.js +8 -10
  89. package/lib/esm/components/TextEditor/QuillEditor.js.map +1 -1
  90. package/lib/esm/components/TextEditor/TextEditor.js +3 -11
  91. package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
  92. package/lib/esm/components/withClickOutside.js +7 -1
  93. package/lib/esm/components/withClickOutside.js.map +1 -1
  94. package/lib/esm/constants/eventIgnoredRoles.js +2 -1
  95. package/lib/esm/constants/eventIgnoredRoles.js.map +1 -1
  96. package/lib/esm/contexts/BuilderContext.js +1 -0
  97. package/lib/esm/contexts/BuilderContext.js.map +1 -1
  98. package/lib/esm/contexts/Providers.js +6 -1
  99. package/lib/esm/contexts/Providers.js.map +1 -1
  100. package/lib/esm/styles/_jfReportsFloatings.scss +109 -2
  101. package/lib/esm/styles/_jfReportsPages.scss +21 -28
  102. package/lib/esm/styles/_jfReportsReportItem.scss +79 -53
  103. package/lib/esm/styles/_jfReportsTextEditor.scss +2 -2
  104. package/lib/esm/styles/_jfReportsViewModes.scss +4 -4
  105. package/lib/esm/utils/icons.js +4 -0
  106. package/lib/esm/utils/icons.js.map +1 -1
  107. package/lib/esm/utils/useKeyboardActions.js +4 -1
  108. package/lib/esm/utils/useKeyboardActions.js.map +1 -1
  109. package/package.json +1 -1
@@ -1,29 +1,23 @@
1
1
  import { createElement } from 'react';
2
2
 
3
- var _g;
3
+ var _path, _path2;
4
4
 
5
5
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
6
6
 
7
7
  function SvgMoveToForward(props) {
8
8
  return /*#__PURE__*/createElement("svg", _extends({
9
- xmlns: "http://www.w3.org/2000/svg",
10
- viewBox: "0 0 15 14"
11
- }, props), _g || (_g = /*#__PURE__*/createElement("g", {
9
+ viewBox: "0 0 16 16",
12
10
  fill: "none",
13
- fillRule: "evenodd"
14
- }, /*#__PURE__*/createElement("path", {
15
- fill: "#B3C9FF",
16
- d: "M5.356 5a.5.5 0 01.354.854l-3 3A.5.5 0 012.356 9H.5a.5.5 0 01-.5-.5v-3A.5.5 0 01.5 5h4.856zM14.5 5a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-1.865a.5.5 0 01-.353-.146l-3-3A.5.5 0 019.635 5z"
17
- }), /*#__PURE__*/createElement("path", {
18
- fill: "#4277FF",
19
- d: "M.5 10h14a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H.5a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5z"
20
- }), /*#__PURE__*/createElement("path", {
21
- fill: "#7A9FFF",
22
- d: "M.5 0h14a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H.5a.5.5 0 01-.5-.5v-3A.5.5 0 01.5 0z"
23
- }), /*#__PURE__*/createElement("path", {
24
- fill: "#4277FF",
25
- d: "M7.855 5.852l2.743 2.72a.25.25 0 01-.176.428H8L8 12H7V9H4.63a.25.25 0 01-.178-.426l2.696-2.719a.5.5 0 01.707-.003z"
26
- }))));
11
+ xmlns: "http://www.w3.org/2000/svg"
12
+ }, props), _path || (_path = /*#__PURE__*/createElement("path", {
13
+ fillRule: "evenodd",
14
+ clipRule: "evenodd",
15
+ d: "M14.471 12.472A.667.667 0 0014 11.334h-1.333V2a.667.667 0 00-1.334 0v9.334H10a.667.667 0 00-.471 1.138l2 2c.26.26.682.26.942 0l2-2z",
16
+ fill: "#fff"
17
+ })), _path2 || (_path2 = /*#__PURE__*/createElement("path", {
18
+ d: "M5.167 1.33c.736 0 1.333.597 1.333 1.333v1.333c0 .736-.597 1.334-1.333 1.334H3.833A1.334 1.334 0 012.5 3.996V2.663c0-.736.597-1.333 1.333-1.333h1.334zm-1.334.889c-.245 0-.444.199-.444.444v1.333c0 .245.199.445.444.445h1.334c.245 0 .444-.2.444-.445V2.663a.445.445 0 00-.444-.444H3.833zM5.167 5.997c.736 0 1.333.596 1.333 1.333v1.334c0 .736-.597 1.332-1.333 1.333H3.833A1.333 1.333 0 012.5 8.664V7.33c0-.737.597-1.333 1.333-1.333h1.334zm-1.334.888c-.245 0-.444.2-.444.445v1.334c0 .245.199.444.444.444h1.334c.245 0 .444-.2.444-.444V7.33c0-.246-.199-.445-.444-.445H3.833zM6.5 11.997c0-.736-.597-1.333-1.333-1.333H3.833c-.736 0-1.333.597-1.333 1.333v1.333c0 .737.597 1.334 1.333 1.334h1.334c.736 0 1.333-.597 1.333-1.334v-1.333z",
19
+ fill: "#fff"
20
+ })));
27
21
  }
28
22
 
29
23
  export default SvgMoveToForward;
@@ -1 +1 @@
1
- {"version":3,"file":"moveToForward.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"moveToForward.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,29 +1,20 @@
1
1
  import { createElement } from 'react';
2
2
 
3
- var _g;
3
+ var _path;
4
4
 
5
5
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
6
6
 
7
7
  function SvgMoveToFront(props) {
8
8
  return /*#__PURE__*/createElement("svg", _extends({
9
- xmlns: "http://www.w3.org/2000/svg",
10
- viewBox: "0 0 15 14"
11
- }, props), _g || (_g = /*#__PURE__*/createElement("g", {
9
+ viewBox: "0 0 16 16",
12
10
  fill: "none",
13
- fillRule: "evenodd"
14
- }, /*#__PURE__*/createElement("path", {
15
- fill: "#B3C9FF",
16
- d: "M5.356 0a.5.5 0 01.354.854l-3 3A.5.5 0 012.356 4H.5a.5.5 0 01-.5-.5v-3A.5.5 0 01.5 0h4.856zM14.5 0a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-1.865a.5.5 0 01-.353-.146l-3-3A.5.5 0 019.635 0z"
17
- }), /*#__PURE__*/createElement("path", {
18
- fill: "#4277FF",
19
- d: "M.5 10h14a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H.5a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5z"
20
- }), /*#__PURE__*/createElement("path", {
21
- fill: "#7A9FFF",
22
- d: "M.5 5h5a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-5a.5.5 0 01-.5-.5v-3A.5.5 0 01.5 5zm9 0h5a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-5a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5z"
23
- }), /*#__PURE__*/createElement("path", {
24
- fill: "#4277FF",
25
- d: "M7.855.852l2.743 2.72a.25.25 0 01-.176.428H8L8 12H7V4H4.63a.25.25 0 01-.178-.426L7.148.855a.5.5 0 01.707-.003z"
26
- }))));
11
+ xmlns: "http://www.w3.org/2000/svg"
12
+ }, props), _path || (_path = /*#__PURE__*/createElement("path", {
13
+ fillRule: "evenodd",
14
+ clipRule: "evenodd",
15
+ d: "M14.471 3.529A.667.667 0 0114 4.667h-1.333V14a.667.667 0 11-1.334 0V4.667H10a.667.667 0 01-.471-1.138l2-2c.26-.26.682-.26.942 0l2 2zm-7.138 9.138v-2a2 2 0 00-2-2h-2a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2zm-1.333 0a.667.667 0 01-.667.667h-2a.667.667 0 01-.666-.667v-2c0-.368.298-.667.666-.667h2c.369 0 .667.299.667.667v2zm1.333-7.333a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2v2z",
16
+ fill: "#fff"
17
+ })));
27
18
  }
28
19
 
29
20
  export default SvgMoveToFront;
@@ -1 +1 @@
1
- {"version":3,"file":"moveToFront.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"moveToFront.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
@@ -36,6 +36,9 @@ Builder.propTypes = {
36
36
 
37
37
  /** Array of React components to render statically on each page (eg. watermark) */
38
38
  additionalPageItems: PropTypes.arrayOf(PropTypes.node),
39
+
40
+ /** CSS selectors ignored by right panel click-outside logic */
41
+ clickOutsideIgnoreSelectors: PropTypes.arrayOf(PropTypes.string),
39
42
  disableInteraction: PropTypes.arrayOf(PropTypes.string),
40
43
 
41
44
  /** To pass in extra props to items selectively */
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sources":["../../../../src/components/Builder/Builder.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport DndWrapper from './DndWrapper';\nimport Scene from './Scene';\nimport RightPanel from '../Panels/RightPanel';\nimport LeftPanel from '../Panels/LeftPanel';\nimport SlidesPanel from '../Panels/SlidesPanel';\nimport AllSlidesPanel from '../Panels/AllSlidesPanel';\nimport { leftPanelConfigPropType } from '../../constants/propTypes';\nimport '../../styles/jfReportsBundle.scss';\nimport BuilderWrapper from './BuilderWrapper';\nimport Providers from '../../contexts/Providers';\n\nconst Builder = props => {\n const { useExperimentalFeatures } = props;\n return (\n <Providers\n mode=\"customize\"\n {...props}\n >\n <BuilderWrapper>\n <DndWrapper>\n <LeftPanel />\n <Scene />\n </DndWrapper>\n <RightPanel />\n <SlidesPanel />\n {useExperimentalFeatures && (\n <AllSlidesPanel />\n )}\n </BuilderWrapper>\n </Providers>\n\n );\n};\n\nBuilder.propTypes = {\n /** Items for to render in the report */\n acceptedItems: PropTypes.shape({}),\n /** Array of React components to render statically on each page (eg. watermark) */\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n disableInteraction: PropTypes.arrayOf(PropTypes.string),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n /** Last scroll position */\n lastScrollPosition: PropTypes.number,\n leftPanelConfig: leftPanelConfigPropType,\n /** To track and log user actions */\n onAnEventTrigger: PropTypes.func,\n /** Function called upon adding an item */\n onItemAdd: PropTypes.func,\n /** Function called upon editing an item */\n onItemChange: PropTypes.func,\n /** Function called upon moving an item */\n onItemMove: PropTypes.func,\n /** Function called upon removing an item */\n onItemRemove: PropTypes.func,\n /** Function called upon resizing an item */\n onItemResize: PropTypes.func,\n onItemsMove: PropTypes.func,\n /** Function called upon adding a page */\n onPageAdd: PropTypes.func,\n /** Function called upon editing a page */\n onPageChange: PropTypes.func,\n /** Function called upon duplicating a page */\n onPageDuplicate: PropTypes.func,\n /** Function called upon reordering pages */\n onPageOrdersChange: PropTypes.func,\n /** Function called upon removing a page */\n onPageRemove: PropTypes.func,\n /** Function called upon page visibility changed */\n onPageVisibilityChanged: PropTypes.func,\n /** Function called when the slides or the right panel is\n * toggled takes a boolean value to indicate whether or\n * not the panel is toggled open.\n */\n onRightPanelsToggled: PropTypes.func,\n /** Function called upon selecting items */\n onSelectedItemsChanged: PropTypes.func,\n /** Function called upon editing a general report setting */\n onSettingChange: PropTypes.func,\n /** Array of pages with their settings and items */\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n /** General report settings such as layout size and background color */\n settings: PropTypes.shape({}),\n /** Theme */\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n useExperimentalFeatures: PropTypes.bool,\n};\n\nexport default Builder;\n"],"names":["Builder","props","useExperimentalFeatures","_jsx","_jsxs","propTypes","acceptedItems","PropTypes","shape","additionalPageItems","arrayOf","node","disableInteraction","string","itemAccessor","func","lastScrollPosition","number","leftPanelConfig","leftPanelConfigPropType","onAnEventTrigger","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onPageVisibilityChanged","onRightPanelsToggled","onSelectedItemsChanged","onSettingChange","pages","settings","theme","oneOf","bool"],"mappings":";;;;;;;;;;;;;;;;;;;IAYMA,OAAO,GAAG,SAAVA,OAAU,CAAAC,KAAK,EAAI;AACvB,MAAQC,uBAAR,GAAoCD,KAApC,CAAQC,uBAAR;AACA,sBACEC,IAAC,SAAD;AACE,IAAA,IAAI,EAAC;AADP,KAEMF,KAFN;AAAA,2BAIEG,KAAC,cAAD;AAAA,8BACEA,KAAC,UAAD;AAAA,gCACED,IAAC,SAAD,KADF,eAEEA,IAAC,KAAD,KAFF;AAAA,QADF,eAKEA,IAAC,UAAD,KALF,eAMEA,IAAC,WAAD,KANF,EAOGD,uBAAuB,iBACtBC,IAAC,cAAD,KARJ;AAAA;AAJF,KADF;AAmBD;;AAEDH,OAAO,CAACK,SAAR,GAAoB;AAClB;AACAC,EAAAA,aAAa,EAAEC,SAAS,CAACC,KAAV,CAAgB,EAAhB,CAFG;;AAGlB;AACAC,EAAAA,mBAAmB,EAAEF,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACI,IAA5B,CAJH;AAKlBC,EAAAA,kBAAkB,EAAEL,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACM,MAA5B,CALF;;AAMlB;AACAC,EAAAA,YAAY,EAAEP,SAAS,CAACQ,IAPN;;AAQlB;AACAC,EAAAA,kBAAkB,EAAET,SAAS,CAACU,MATZ;AAUlBC,EAAAA,eAAe,EAAEC,uBAVC;;AAWlB;AACAC,EAAAA,gBAAgB,EAAEb,SAAS,CAACQ,IAZV;;AAalB;AACAM,EAAAA,SAAS,EAAEd,SAAS,CAACQ,IAdH;;AAelB;AACAO,EAAAA,YAAY,EAAEf,SAAS,CAACQ,IAhBN;;AAiBlB;AACAQ,EAAAA,UAAU,EAAEhB,SAAS,CAACQ,IAlBJ;;AAmBlB;AACAS,EAAAA,YAAY,EAAEjB,SAAS,CAACQ,IApBN;;AAqBlB;AACAU,EAAAA,YAAY,EAAElB,SAAS,CAACQ,IAtBN;AAuBlBW,EAAAA,WAAW,EAAEnB,SAAS,CAACQ,IAvBL;;AAwBlB;AACAY,EAAAA,SAAS,EAAEpB,SAAS,CAACQ,IAzBH;;AA0BlB;AACAa,EAAAA,YAAY,EAAErB,SAAS,CAACQ,IA3BN;;AA4BlB;AACAc,EAAAA,eAAe,EAAEtB,SAAS,CAACQ,IA7BT;;AA8BlB;AACAe,EAAAA,kBAAkB,EAAEvB,SAAS,CAACQ,IA/BZ;;AAgClB;AACAgB,EAAAA,YAAY,EAAExB,SAAS,CAACQ,IAjCN;;AAkClB;AACAiB,EAAAA,uBAAuB,EAAEzB,SAAS,CAACQ,IAnCjB;;AAoClB;AACF;AACA;AACA;AACEkB,EAAAA,oBAAoB,EAAE1B,SAAS,CAACQ,IAxCd;;AAyClB;AACAmB,EAAAA,sBAAsB,EAAE3B,SAAS,CAACQ,IA1ChB;;AA2ClB;AACAoB,EAAAA,eAAe,EAAE5B,SAAS,CAACQ,IA5CT;;AA6ClB;AACAqB,EAAAA,KAAK,EAAE7B,SAAS,CAACG,OAAV,CACLH,SAAS,CAACC,KAAV,CAAgB,EAAhB,CADK,CA9CW;;AAiDlB;AACA6B,EAAAA,QAAQ,EAAE9B,SAAS,CAACC,KAAV,CAAgB,EAAhB,CAlDQ;;AAmDlB;AACA8B,EAAAA,KAAK,EAAE/B,SAAS,CAACgC,KAAV,CAAgB,CAAC,WAAD,EAAc,UAAd,CAAhB,CApDW;AAqDlBrC,EAAAA,uBAAuB,EAAEK,SAAS,CAACiC;AArDjB,CAApB;;;;"}
1
+ {"version":3,"file":"Builder.js","sources":["../../../../src/components/Builder/Builder.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport DndWrapper from './DndWrapper';\nimport Scene from './Scene';\nimport RightPanel from '../Panels/RightPanel';\nimport LeftPanel from '../Panels/LeftPanel';\nimport SlidesPanel from '../Panels/SlidesPanel';\nimport AllSlidesPanel from '../Panels/AllSlidesPanel';\nimport { leftPanelConfigPropType } from '../../constants/propTypes';\nimport '../../styles/jfReportsBundle.scss';\nimport BuilderWrapper from './BuilderWrapper';\nimport Providers from '../../contexts/Providers';\n\nconst Builder = props => {\n const { useExperimentalFeatures } = props;\n return (\n <Providers\n mode=\"customize\"\n {...props}\n >\n <BuilderWrapper>\n <DndWrapper>\n <LeftPanel />\n <Scene />\n </DndWrapper>\n <RightPanel />\n <SlidesPanel />\n {useExperimentalFeatures && (\n <AllSlidesPanel />\n )}\n </BuilderWrapper>\n </Providers>\n\n );\n};\n\nBuilder.propTypes = {\n /** Items for to render in the report */\n acceptedItems: PropTypes.shape({}),\n /** Array of React components to render statically on each page (eg. watermark) */\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n /** CSS selectors ignored by right panel click-outside logic */\n clickOutsideIgnoreSelectors: PropTypes.arrayOf(PropTypes.string),\n disableInteraction: PropTypes.arrayOf(PropTypes.string),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n /** Last scroll position */\n lastScrollPosition: PropTypes.number,\n leftPanelConfig: leftPanelConfigPropType,\n /** To track and log user actions */\n onAnEventTrigger: PropTypes.func,\n /** Function called upon adding an item */\n onItemAdd: PropTypes.func,\n /** Function called upon editing an item */\n onItemChange: PropTypes.func,\n /** Function called upon moving an item */\n onItemMove: PropTypes.func,\n /** Function called upon removing an item */\n onItemRemove: PropTypes.func,\n /** Function called upon resizing an item */\n onItemResize: PropTypes.func,\n onItemsMove: PropTypes.func,\n /** Function called upon adding a page */\n onPageAdd: PropTypes.func,\n /** Function called upon editing a page */\n onPageChange: PropTypes.func,\n /** Function called upon duplicating a page */\n onPageDuplicate: PropTypes.func,\n /** Function called upon reordering pages */\n onPageOrdersChange: PropTypes.func,\n /** Function called upon removing a page */\n onPageRemove: PropTypes.func,\n /** Function called upon page visibility changed */\n onPageVisibilityChanged: PropTypes.func,\n /** Function called when the slides or the right panel is\n * toggled takes a boolean value to indicate whether or\n * not the panel is toggled open.\n */\n onRightPanelsToggled: PropTypes.func,\n /** Function called upon selecting items */\n onSelectedItemsChanged: PropTypes.func,\n /** Function called upon editing a general report setting */\n onSettingChange: PropTypes.func,\n /** Array of pages with their settings and items */\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n /** General report settings such as layout size and background color */\n settings: PropTypes.shape({}),\n /** Theme */\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n useExperimentalFeatures: PropTypes.bool,\n};\n\nexport default Builder;\n"],"names":["Builder","props","useExperimentalFeatures","_jsx","_jsxs","propTypes","acceptedItems","PropTypes","shape","additionalPageItems","arrayOf","node","clickOutsideIgnoreSelectors","string","disableInteraction","itemAccessor","func","lastScrollPosition","number","leftPanelConfig","leftPanelConfigPropType","onAnEventTrigger","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onPageVisibilityChanged","onRightPanelsToggled","onSelectedItemsChanged","onSettingChange","pages","settings","theme","oneOf","bool"],"mappings":";;;;;;;;;;;;;;;;;;;IAYMA,OAAO,GAAG,SAAVA,OAAU,CAAAC,KAAK,EAAI;AACvB,MAAQC,uBAAR,GAAoCD,KAApC,CAAQC,uBAAR;AACA,sBACEC,IAAC,SAAD;AACE,IAAA,IAAI,EAAC;AADP,KAEMF,KAFN;AAAA,2BAIEG,KAAC,cAAD;AAAA,8BACEA,KAAC,UAAD;AAAA,gCACED,IAAC,SAAD,KADF,eAEEA,IAAC,KAAD,KAFF;AAAA,QADF,eAKEA,IAAC,UAAD,KALF,eAMEA,IAAC,WAAD,KANF,EAOGD,uBAAuB,iBACtBC,IAAC,cAAD,KARJ;AAAA;AAJF,KADF;AAmBD;;AAEDH,OAAO,CAACK,SAAR,GAAoB;AAClB;AACAC,EAAAA,aAAa,EAAEC,SAAS,CAACC,KAAV,CAAgB,EAAhB,CAFG;;AAGlB;AACAC,EAAAA,mBAAmB,EAAEF,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACI,IAA5B,CAJH;;AAKlB;AACAC,EAAAA,2BAA2B,EAAEL,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACM,MAA5B,CANX;AAOlBC,EAAAA,kBAAkB,EAAEP,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACM,MAA5B,CAPF;;AAQlB;AACAE,EAAAA,YAAY,EAAER,SAAS,CAACS,IATN;;AAUlB;AACAC,EAAAA,kBAAkB,EAAEV,SAAS,CAACW,MAXZ;AAYlBC,EAAAA,eAAe,EAAEC,uBAZC;;AAalB;AACAC,EAAAA,gBAAgB,EAAEd,SAAS,CAACS,IAdV;;AAelB;AACAM,EAAAA,SAAS,EAAEf,SAAS,CAACS,IAhBH;;AAiBlB;AACAO,EAAAA,YAAY,EAAEhB,SAAS,CAACS,IAlBN;;AAmBlB;AACAQ,EAAAA,UAAU,EAAEjB,SAAS,CAACS,IApBJ;;AAqBlB;AACAS,EAAAA,YAAY,EAAElB,SAAS,CAACS,IAtBN;;AAuBlB;AACAU,EAAAA,YAAY,EAAEnB,SAAS,CAACS,IAxBN;AAyBlBW,EAAAA,WAAW,EAAEpB,SAAS,CAACS,IAzBL;;AA0BlB;AACAY,EAAAA,SAAS,EAAErB,SAAS,CAACS,IA3BH;;AA4BlB;AACAa,EAAAA,YAAY,EAAEtB,SAAS,CAACS,IA7BN;;AA8BlB;AACAc,EAAAA,eAAe,EAAEvB,SAAS,CAACS,IA/BT;;AAgClB;AACAe,EAAAA,kBAAkB,EAAExB,SAAS,CAACS,IAjCZ;;AAkClB;AACAgB,EAAAA,YAAY,EAAEzB,SAAS,CAACS,IAnCN;;AAoClB;AACAiB,EAAAA,uBAAuB,EAAE1B,SAAS,CAACS,IArCjB;;AAsClB;AACF;AACA;AACA;AACEkB,EAAAA,oBAAoB,EAAE3B,SAAS,CAACS,IA1Cd;;AA2ClB;AACAmB,EAAAA,sBAAsB,EAAE5B,SAAS,CAACS,IA5ChB;;AA6ClB;AACAoB,EAAAA,eAAe,EAAE7B,SAAS,CAACS,IA9CT;;AA+ClB;AACAqB,EAAAA,KAAK,EAAE9B,SAAS,CAACG,OAAV,CACLH,SAAS,CAACC,KAAV,CAAgB,EAAhB,CADK,CAhDW;;AAmDlB;AACA8B,EAAAA,QAAQ,EAAE/B,SAAS,CAACC,KAAV,CAAgB,EAAhB,CApDQ;;AAqDlB;AACA+B,EAAAA,KAAK,EAAEhC,SAAS,CAACiC,KAAV,CAAgB,CAAC,WAAD,EAAc,UAAd,CAAhB,CAtDW;AAuDlBtC,EAAAA,uBAAuB,EAAEK,SAAS,CAACkC;AAvDjB,CAApB;;;;"}
@@ -250,7 +250,7 @@ var ContextMenu = function ContextMenu(_ref) {
250
250
  top: positions.y
251
251
  },
252
252
  children: menuItems.map(function (menuItem) {
253
- var btnClass = "contextMenu-button jfReportButton".concat(menuItem.class ? menuItem.class : '');
253
+ var btnClass = "contextMenu-button ".concat(menuItem.class ? menuItem.class : '');
254
254
  return /*#__PURE__*/jsxs("button", {
255
255
  className: btnClass,
256
256
  onClick: menuItem.func,
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.js","sources":["../../../../src/components/Builder/ContextMenu.js"],"sourcesContent":["import {\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { useEventListener, useTranslatedTexts } from '../../utils/hooks';\nimport {\n collisionCheck,\n getContainerPositions,\n moveArrayItem,\n} from '../../utils/functions';\nimport * as icons from '../../utils/icons';\n\nimport withClickOutside from '../withClickOutside';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst ContextMenu = ({\n height = 1,\n item = {},\n items = [],\n onClickOutside = () => {},\n position = {},\n width = 1,\n}) => {\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onPageChange = usePropStore(state => state.onPageChange);\n const [positions, setPositions] = useState(position);\n const container = useRef(null);\n const itemIndex = items.findIndex(_item => _item.id === item.id);\n // Will be mutated.\n const orderArray = items.map(_item => _item.id);\n\n const removeFunc = () => {\n // TODO :: should listen to scroll event, not wheel\n onClickOutside();\n };\n\n useEventListener('wheel', removeFunc);\n\n useLayoutEffect(() => {\n setPositions(prev => {\n const newPosition = getContainerPositions(container.current, prev);\n return {\n ...prev,\n x: newPosition.x,\n y: newPosition.y,\n };\n });\n }, []);\n\n const moveToFront = () => {\n if (items.length !== itemIndex + 1) {\n moveArrayItem(orderArray, itemIndex, items.length - 1);\n onPageChange({\n id: item.pageID,\n }, { items: JSON.stringify(orderArray) });\n }\n onClickOutside();\n };\n\n const moveToBack = () => {\n if (itemIndex !== 0) {\n moveArrayItem(orderArray, itemIndex, 0);\n onPageChange({\n id: item.pageID,\n }, { items: JSON.stringify(orderArray) });\n }\n onClickOutside();\n };\n\n const moveForward = () => {\n if (items.length !== itemIndex + 1) {\n const colluddedItemIndex = collisionCheck(item, items, itemIndex, 1);\n if (colluddedItemIndex !== null) {\n moveArrayItem(orderArray, itemIndex, colluddedItemIndex);\n } else {\n moveArrayItem(orderArray, itemIndex, itemIndex + 1);\n }\n onPageChange({\n id: item.pageID,\n }, { items: JSON.stringify(orderArray) });\n }\n onClickOutside();\n };\n\n const moveBackward = () => {\n if (itemIndex !== 0) {\n const colluddedItemIndex = collisionCheck(item, items, itemIndex, -1);\n if (colluddedItemIndex) {\n moveArrayItem(orderArray, itemIndex, colluddedItemIndex);\n } else {\n moveArrayItem(orderArray, itemIndex, itemIndex - 1);\n }\n onPageChange({\n id: item.pageID,\n }, { items: JSON.stringify(orderArray) });\n }\n\n onClickOutside();\n };\n\n const deleteItem = () => {\n onItemRemove(item);\n onClickOutside();\n onAnEventTrigger('removeItem', item.itemType);\n };\n\n const lockOrUnlockItem = () => {\n onItemChange({ id: item.id }, { isLocked: item.isLocked ? false : true });\n onClickOutside();\n };\n\n const fitToPage = () => {\n let _height = height;\n let _width = width;\n // Keep image ratio on fit\n if (item.itemType === 'image') {\n if (item.height > item.width) {\n _width = (item.width * _height) / item.height;\n } else if (item.width > item.height) {\n _height = (item.height * _width) / item.width;\n }\n }\n\n onItemChange({ id: item.id }, {\n height: _height,\n left: 0,\n top: 0,\n width: _width,\n });\n\n onClickOutside();\n onAnEventTrigger('fitToPage', item.itemType);\n };\n\n const {\n DELETE, FIT_TO_PAGE, LOCK_ITEM,\n MOVE_BACKWARDS, MOVE_FORWARDS,\n MOVE_TO_BACK, MOVE_TO_FRONT, UNLOCK_ITEM,\n } = useTranslatedTexts();\n\n const menuItems = [\n { func: moveToFront, icon: <icons.moveToFront />, text: MOVE_TO_FRONT },\n { func: moveForward, icon: <icons.moveToForward />, text: MOVE_FORWARDS },\n { func: moveBackward, icon: <icons.moveToBackward />, text: MOVE_BACKWARDS },\n { func: moveToBack, icon: <icons.moveToBack />, text: MOVE_TO_BACK },\n {\n func: lockOrUnlockItem,\n icon: item.isLocked ? (\n <icons.unlock className=\"icon-lock\" />\n ) : (\n <icons.lock className=\"icon-lock\" />\n ),\n text: item.isLocked ? UNLOCK_ITEM : LOCK_ITEM,\n },\n {\n func: fitToPage, icon: <icons.enterFullscreen className=\"icon-lock\" />, text: FIT_TO_PAGE,\n },\n {\n class: ' isDanger', func: deleteItem, icon: <icons.trash />, text: DELETE,\n },\n ];\n\n return (\n <div\n ref={container}\n className=\"contextMenu-wrapper\"\n style={{\n left: positions.x,\n top: positions.y,\n }}\n >\n {menuItems.map(menuItem => {\n const btnClass = `contextMenu-button jfReportButton${menuItem.class ? menuItem.class : ''}`;\n return (\n <button\n key={menuItem.text}\n className={btnClass}\n onClick={menuItem.func}\n type=\"button\"\n >\n <span className=\"contextMenu-icon\">\n {menuItem.icon}\n </span>\n <span className=\"contextMenu-text\">\n {menuItem.text}\n </span>\n </button>\n );\n })}\n </div>\n );\n};\n\nContextMenu.propTypes = {\n height: PropTypes.number,\n item: PropTypes.shape({\n height: PropTypes.number,\n id: PropTypes.string,\n isLocked: PropTypes.bool,\n itemType: PropTypes.string,\n left: PropTypes.number,\n pageID: PropTypes.string,\n top: PropTypes.number,\n width: PropTypes.number,\n }),\n items: PropTypes.arrayOf(PropTypes.shape({\n height: PropTypes.number,\n // id: PropTypes.string,\n left: PropTypes.number,\n top: PropTypes.number,\n width: PropTypes.number,\n })),\n onClickOutside: PropTypes.func,\n position: PropTypes.shape({}),\n width: PropTypes.number,\n};\n\nconst PortalContext = props => createPortal(<ContextMenu {...props} />, document.body);\n\nexport default withClickOutside(PortalContext);\n"],"names":["ContextMenu","height","item","items","onClickOutside","position","width","onAnEventTrigger","usePropStore","state","onItemChange","onItemRemove","onPageChange","useState","positions","setPositions","container","useRef","itemIndex","findIndex","_item","id","orderArray","map","removeFunc","useEventListener","useLayoutEffect","prev","newPosition","getContainerPositions","current","x","y","moveToFront","length","moveArrayItem","pageID","JSON","stringify","moveToBack","moveForward","colluddedItemIndex","collisionCheck","moveBackward","deleteItem","itemType","lockOrUnlockItem","isLocked","fitToPage","_height","_width","left","top","useTranslatedTexts","DELETE","FIT_TO_PAGE","LOCK_ITEM","MOVE_BACKWARDS","MOVE_FORWARDS","MOVE_TO_BACK","MOVE_TO_FRONT","UNLOCK_ITEM","menuItems","func","icon","_jsx","icons.moveToFront","text","icons.moveToForward","icons.moveToBackward","icons.moveToBack","icons.unlock","icons.lock","icons.enterFullscreen","class","icons.trash","menuItem","btnClass","_jsxs","propTypes","PropTypes","number","shape","string","bool","arrayOf","PortalContext","props","createPortal","document","body","withClickOutside"],"mappings":"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"}
1
+ {"version":3,"file":"ContextMenu.js","sources":["../../../../src/components/Builder/ContextMenu.js"],"sourcesContent":["import {\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { useEventListener, useTranslatedTexts } from '../../utils/hooks';\nimport {\n collisionCheck,\n getContainerPositions,\n moveArrayItem,\n} from '../../utils/functions';\nimport * as icons from '../../utils/icons';\n\nimport withClickOutside from '../withClickOutside';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst ContextMenu = ({\n height = 1,\n item = {},\n items = [],\n onClickOutside = () => {},\n position = {},\n width = 1,\n}) => {\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onPageChange = usePropStore(state => state.onPageChange);\n const [positions, setPositions] = useState(position);\n const container = useRef(null);\n const itemIndex = items.findIndex(_item => _item.id === item.id);\n // Will be mutated.\n const orderArray = items.map(_item => _item.id);\n\n const removeFunc = () => {\n // TODO :: should listen to scroll event, not wheel\n onClickOutside();\n };\n\n useEventListener('wheel', removeFunc);\n\n useLayoutEffect(() => {\n setPositions(prev => {\n const newPosition = getContainerPositions(container.current, prev);\n return {\n ...prev,\n x: newPosition.x,\n y: newPosition.y,\n };\n });\n }, []);\n\n const moveToFront = () => {\n if (items.length !== itemIndex + 1) {\n moveArrayItem(orderArray, itemIndex, items.length - 1);\n onPageChange({\n id: item.pageID,\n }, { items: JSON.stringify(orderArray) });\n }\n onClickOutside();\n };\n\n const moveToBack = () => {\n if (itemIndex !== 0) {\n moveArrayItem(orderArray, itemIndex, 0);\n onPageChange({\n id: item.pageID,\n }, { items: JSON.stringify(orderArray) });\n }\n onClickOutside();\n };\n\n const moveForward = () => {\n if (items.length !== itemIndex + 1) {\n const colluddedItemIndex = collisionCheck(item, items, itemIndex, 1);\n if (colluddedItemIndex !== null) {\n moveArrayItem(orderArray, itemIndex, colluddedItemIndex);\n } else {\n moveArrayItem(orderArray, itemIndex, itemIndex + 1);\n }\n onPageChange({\n id: item.pageID,\n }, { items: JSON.stringify(orderArray) });\n }\n onClickOutside();\n };\n\n const moveBackward = () => {\n if (itemIndex !== 0) {\n const colluddedItemIndex = collisionCheck(item, items, itemIndex, -1);\n if (colluddedItemIndex) {\n moveArrayItem(orderArray, itemIndex, colluddedItemIndex);\n } else {\n moveArrayItem(orderArray, itemIndex, itemIndex - 1);\n }\n onPageChange({\n id: item.pageID,\n }, { items: JSON.stringify(orderArray) });\n }\n\n onClickOutside();\n };\n\n const deleteItem = () => {\n onItemRemove(item);\n onClickOutside();\n onAnEventTrigger('removeItem', item.itemType);\n };\n\n const lockOrUnlockItem = () => {\n onItemChange({ id: item.id }, { isLocked: item.isLocked ? false : true });\n onClickOutside();\n };\n\n const fitToPage = () => {\n let _height = height;\n let _width = width;\n // Keep image ratio on fit\n if (item.itemType === 'image') {\n if (item.height > item.width) {\n _width = (item.width * _height) / item.height;\n } else if (item.width > item.height) {\n _height = (item.height * _width) / item.width;\n }\n }\n\n onItemChange({ id: item.id }, {\n height: _height,\n left: 0,\n top: 0,\n width: _width,\n });\n\n onClickOutside();\n onAnEventTrigger('fitToPage', item.itemType);\n };\n\n const {\n DELETE, FIT_TO_PAGE, LOCK_ITEM,\n MOVE_BACKWARDS, MOVE_FORWARDS,\n MOVE_TO_BACK, MOVE_TO_FRONT, UNLOCK_ITEM,\n } = useTranslatedTexts();\n\n const menuItems = [\n { func: moveToFront, icon: <icons.moveToFront />, text: MOVE_TO_FRONT },\n { func: moveForward, icon: <icons.moveToForward />, text: MOVE_FORWARDS },\n { func: moveBackward, icon: <icons.moveToBackward />, text: MOVE_BACKWARDS },\n { func: moveToBack, icon: <icons.moveToBack />, text: MOVE_TO_BACK },\n {\n func: lockOrUnlockItem,\n icon: item.isLocked ? (\n <icons.unlock className=\"icon-lock\" />\n ) : (\n <icons.lock className=\"icon-lock\" />\n ),\n text: item.isLocked ? UNLOCK_ITEM : LOCK_ITEM,\n },\n {\n func: fitToPage, icon: <icons.enterFullscreen className=\"icon-lock\" />, text: FIT_TO_PAGE,\n },\n {\n class: ' isDanger', func: deleteItem, icon: <icons.trash />, text: DELETE,\n },\n ];\n\n return (\n <div\n ref={container}\n className=\"contextMenu-wrapper\"\n style={{\n left: positions.x,\n top: positions.y,\n }}\n >\n {menuItems.map(menuItem => {\n const btnClass = `contextMenu-button ${menuItem.class ? menuItem.class : ''}`;\n return (\n <button\n key={menuItem.text}\n className={btnClass}\n onClick={menuItem.func}\n type=\"button\"\n >\n <span className=\"contextMenu-icon\">\n {menuItem.icon}\n </span>\n <span className=\"contextMenu-text\">\n {menuItem.text}\n </span>\n </button>\n );\n })}\n </div>\n );\n};\n\nContextMenu.propTypes = {\n height: PropTypes.number,\n item: PropTypes.shape({\n height: PropTypes.number,\n id: PropTypes.string,\n isLocked: PropTypes.bool,\n itemType: PropTypes.string,\n left: PropTypes.number,\n pageID: PropTypes.string,\n top: PropTypes.number,\n width: PropTypes.number,\n }),\n items: PropTypes.arrayOf(PropTypes.shape({\n height: PropTypes.number,\n // id: PropTypes.string,\n left: PropTypes.number,\n top: PropTypes.number,\n width: PropTypes.number,\n })),\n onClickOutside: PropTypes.func,\n position: PropTypes.shape({}),\n width: PropTypes.number,\n};\n\nconst PortalContext = props => createPortal(<ContextMenu {...props} />, document.body);\n\nexport default withClickOutside(PortalContext);\n"],"names":["ContextMenu","height","item","items","onClickOutside","position","width","onAnEventTrigger","usePropStore","state","onItemChange","onItemRemove","onPageChange","useState","positions","setPositions","container","useRef","itemIndex","findIndex","_item","id","orderArray","map","removeFunc","useEventListener","useLayoutEffect","prev","newPosition","getContainerPositions","current","x","y","moveToFront","length","moveArrayItem","pageID","JSON","stringify","moveToBack","moveForward","colluddedItemIndex","collisionCheck","moveBackward","deleteItem","itemType","lockOrUnlockItem","isLocked","fitToPage","_height","_width","left","top","useTranslatedTexts","DELETE","FIT_TO_PAGE","LOCK_ITEM","MOVE_BACKWARDS","MOVE_FORWARDS","MOVE_TO_BACK","MOVE_TO_FRONT","UNLOCK_ITEM","menuItems","func","icon","_jsx","icons.moveToFront","text","icons.moveToForward","icons.moveToBackward","icons.moveToBack","icons.unlock","icons.lock","icons.enterFullscreen","class","icons.trash","menuItem","btnClass","_jsxs","propTypes","PropTypes","number","shape","string","bool","arrayOf","PortalContext","props","createPortal","document","body","withClickOutside"],"mappings":"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"}
@@ -9,8 +9,8 @@ import { jsxs, jsx } from 'react/jsx-runtime';
9
9
  import SvgPageSettings from '../../assets/svg/page_settings.svg.js';
10
10
  import SvgDuplicate from '../../assets/svg/duplicate.svg.js';
11
11
  import SvgTrash from '../../assets/svg/trash.svg.js';
12
- import SvgArrowUp from '../../assets/svg/arrow_up.svg.js';
13
- import SvgArrowDown from '../../assets/svg/arrow_down.svg.js';
12
+ import SvgAngleUp from '../../assets/svg/angle_up.svg.js';
13
+ import SvgAngleDown from '../../assets/svg/angle_down.svg.js';
14
14
  import SvgPlus from '../../assets/svg/plus.svg.js';
15
15
 
16
16
  var PageActions = function PageActions(_ref) {
@@ -107,65 +107,65 @@ var PageActions = function PageActions(_ref) {
107
107
  className: "pageCounter p-relative d-flex",
108
108
  children: "".concat(order)
109
109
  }), /*#__PURE__*/jsxs("div", {
110
- className: "floatingController forPageAction",
110
+ className: "floatingController page-toolbar",
111
111
  children: [/*#__PURE__*/jsxs("div", {
112
- className: "floatingController-container hasGroup",
112
+ className: "floatingController-container",
113
113
  children: [/*#__PURE__*/jsx("button", {
114
- className: "controllerItem pageSettingSideBtn js-pageSetting",
114
+ className: "controllerItem",
115
115
  onClick: pageSettings,
116
116
  title: PAGE_SETTINGS,
117
117
  type: "button",
118
118
  children: /*#__PURE__*/jsx(SvgPageSettings, {
119
- className: "jfReportSVG icon-pageSettings"
119
+ className: "toolbar-icon"
120
120
  })
121
121
  }, "Slide Settings"), /*#__PURE__*/jsx("button", {
122
- className: "controllerItem js-duplicatePage",
122
+ className: "controllerItem",
123
123
  disabled: disableInteraction.indexOf('duplicate') > -1,
124
124
  onClick: onPageDuplicateClick,
125
125
  title: DUPLICATE_PAGE,
126
126
  type: "button",
127
127
  children: /*#__PURE__*/jsx(SvgDuplicate, {
128
- className: "jfReportSVG icon-duplicateLine"
128
+ className: "toolbar-icon"
129
129
  })
130
130
  }, "Duplicate Page"), /*#__PURE__*/jsx("button", {
131
- className: "controllerItem isDanger js-removePage",
131
+ className: "controllerItem error",
132
132
  disabled: disableInteraction.indexOf('remove') > -1,
133
133
  onClick: onPageRemoveClick,
134
134
  title: REMOVE_PAGE,
135
135
  type: "button",
136
136
  children: /*#__PURE__*/jsx(SvgTrash, {
137
- className: "jfReportSVG icon-trashLine"
137
+ className: "toolbar-icon"
138
138
  })
139
139
  }, "Remove Slide")]
140
140
  }), /*#__PURE__*/jsxs("div", {
141
- className: "floatingController-container hasGroup",
141
+ className: "floatingController-container",
142
142
  children: [/*#__PURE__*/jsx("button", {
143
- className: "js-changeOrderUp controllerItem".concat(order === 1 ? ' disabled' : ''),
143
+ className: "controllerItem".concat(order === 1 ? ' disabled' : ''),
144
144
  onClick: changeOrder(-1),
145
145
  title: MOVE_PAGE_UPWARDS,
146
146
  type: "button",
147
- children: /*#__PURE__*/jsx(SvgArrowUp, {
148
- className: "jfReportSVG icon-arrow isTick"
147
+ children: /*#__PURE__*/jsx(SvgAngleUp, {
148
+ className: "toolbar-icon"
149
149
  })
150
150
  }, "Move Page Upwards"), /*#__PURE__*/jsx("button", {
151
- className: "js-changeOrderDown controllerItem".concat(order === pageCount ? ' disabled' : ''),
151
+ className: "controllerItem".concat(order === pageCount ? ' disabled' : ''),
152
152
  onClick: changeOrder(1),
153
153
  title: MOVE_PAGE_DOWNWARDS,
154
154
  type: "button",
155
- children: /*#__PURE__*/jsx(SvgArrowDown, {
156
- className: "jfReportSVG icon-arrow isTick"
155
+ children: /*#__PURE__*/jsx(SvgAngleDown, {
156
+ className: "toolbar-icon"
157
157
  })
158
158
  }, "Move Page Downwards")]
159
159
  }), /*#__PURE__*/jsx("div", {
160
160
  className: "floatingController-container",
161
161
  children: /*#__PURE__*/jsx("button", {
162
- className: "js-addNewPage controllerItem",
162
+ className: "controllerItem primary",
163
163
  disabled: disableInteraction.indexOf('add') > -1,
164
164
  onClick: onPageAddClick,
165
165
  title: ADD_NEW_PAGE,
166
166
  type: "button",
167
167
  children: /*#__PURE__*/jsx(SvgPlus, {
168
- className: "jfReportSVG icon-plus"
168
+ className: "toolbar-icon"
169
169
  })
170
170
  }, "Add Slide")
171
171
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"PageActions.js","sources":["../../../../src/components/Builder/PageActions.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport * as icons from '../../utils/icons';\nimport { moveItemInArrayFromIndexToIndex, scrollToTarget } from '../../utils/functions';\nimport { useTranslatedTexts } from '../../utils/hooks';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst PageActions = ({\n order = 0,\n pageID = '',\n}) => {\n const pages = usePropStore(state => state.pages);\n const pageCount = pages.length;\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onPageAdd = usePropStore(state => state.onPageAdd);\n const onPageDuplicate = usePropStore(state => state.onPageDuplicate);\n const onPageOrdersChange = usePropStore(state => state.onPageOrdersChange);\n const onPageRemove = usePropStore(state => state.onPageRemove);\n const disableInteraction = usePropStore(state => state.disableInteraction);\n\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setEditedElement = useBuilderStore(state => state.setEditedElement);\n\n const pageSettings = () => {\n setEditedElement(`p_${pageID}`);\n setIsRightPanelOpen(true);\n };\n\n const onPageAddClick = () => {\n const newPageIndex = order + 1;\n onPageAdd(newPageIndex);\n scrollToTarget(`pageActions-id-${newPageIndex}`, 350);\n onAnEventTrigger('addNewPage', newPageIndex);\n };\n\n const onPageRemoveClick = () => {\n onPageRemove(pageID);\n onAnEventTrigger('removePage', pageID);\n };\n\n const changeOrder = direction => {\n return () => {\n const pageIndex = pages.findIndex(page => page.id === pageID);\n const editedPages = moveItemInArrayFromIndexToIndex(\n pages,\n pageIndex,\n pageIndex + direction,\n );\n const pageOrders = editedPages.reduce((acc, page, index) => {\n const newOrder = index + 1;\n acc[page.id] = {\n order: newOrder,\n };\n return acc;\n }, {});\n onPageOrdersChange(pageOrders);\n scrollToTarget(`pageActions-id-${order + direction}`);\n onAnEventTrigger('changePageOrder', direction);\n };\n };\n\n const onPageDuplicateClick = () => {\n const foundPage = pages.find(page => page.id === pageID);\n onPageDuplicate(foundPage);\n scrollToTarget(`pageActions-id-${order + 1}`, 350);\n onAnEventTrigger('duplicatePage', order + 1);\n };\n\n const {\n ADD_NEW_PAGE, DUPLICATE_PAGE, MOVE_PAGE_DOWNWARDS,\n MOVE_PAGE_UPWARDS, PAGE_SETTINGS, REMOVE_PAGE,\n } = useTranslatedTexts();\n return (\n <div\n className=\"jfReport-pageInfo d-flex j-center\"\n id={`pageActions-id-${order}`}\n >\n <div className=\"pageCounter p-relative d-flex\">\n {`${order}`}\n </div>\n <div className=\"floatingController forPageAction\">\n <div className=\"floatingController-container hasGroup\">\n <button\n key=\"Slide Settings\"\n className=\"controllerItem pageSettingSideBtn js-pageSetting\"\n onClick={pageSettings}\n title={PAGE_SETTINGS}\n type=\"button\"\n >\n <icons.pageSettings className=\"jfReportSVG icon-pageSettings\" />\n </button>\n <button\n key=\"Duplicate Page\"\n className=\"controllerItem js-duplicatePage\"\n disabled={disableInteraction.indexOf('duplicate') > -1}\n onClick={onPageDuplicateClick}\n title={DUPLICATE_PAGE}\n type=\"button\"\n >\n <icons.duplicate className=\"jfReportSVG icon-duplicateLine\" />\n </button>\n <button\n key=\"Remove Slide\"\n className=\"controllerItem isDanger js-removePage\"\n disabled={disableInteraction.indexOf('remove') > -1}\n onClick={onPageRemoveClick}\n title={REMOVE_PAGE}\n type=\"button\"\n >\n <icons.trash className=\"jfReportSVG icon-trashLine\" />\n </button>\n </div>\n <div className=\"floatingController-container hasGroup\">\n <button\n key=\"Move Page Upwards\"\n className={`js-changeOrderUp controllerItem${order === 1 ? ' disabled' : ''}`}\n onClick={changeOrder(-1)}\n title={MOVE_PAGE_UPWARDS}\n type=\"button\"\n >\n <icons.arrowUp className=\"jfReportSVG icon-arrow isTick\" />\n </button>\n <button\n key=\"Move Page Downwards\"\n className={`js-changeOrderDown controllerItem${order === pageCount ? ' disabled' : ''}`}\n onClick={changeOrder(1)}\n title={MOVE_PAGE_DOWNWARDS}\n type=\"button\"\n >\n <icons.arrowDown className=\"jfReportSVG icon-arrow isTick\" />\n </button>\n </div>\n <div className=\"floatingController-container\">\n <button\n key=\"Add Slide\"\n className=\"js-addNewPage controllerItem\"\n disabled={disableInteraction.indexOf('add') > -1}\n onClick={onPageAddClick}\n title={ADD_NEW_PAGE}\n type=\"button\"\n >\n <icons.plus className=\"jfReportSVG icon-plus\" />\n </button>\n </div>\n </div>\n </div>\n );\n};\n\nPageActions.propTypes = {\n order: PropTypes.number,\n pageID: PropTypes.string,\n};\n\nexport default PageActions;\n"],"names":["PageActions","order","pageID","pages","usePropStore","state","pageCount","length","onAnEventTrigger","onPageAdd","onPageDuplicate","onPageOrdersChange","onPageRemove","disableInteraction","setIsRightPanelOpen","useBuilderStore","setEditedElement","pageSettings","onPageAddClick","newPageIndex","scrollToTarget","onPageRemoveClick","changeOrder","direction","pageIndex","findIndex","page","id","editedPages","moveItemInArrayFromIndexToIndex","pageOrders","reduce","acc","index","newOrder","onPageDuplicateClick","foundPage","find","useTranslatedTexts","ADD_NEW_PAGE","DUPLICATE_PAGE","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","PAGE_SETTINGS","REMOVE_PAGE","_jsxs","_jsx","icons.pageSettings","indexOf","icons.duplicate","icons.trash","icons.arrowUp","icons.arrowDown","icons.plus","propTypes","PropTypes","number","string"],"mappings":"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"}
1
+ {"version":3,"file":"PageActions.js","sources":["../../../../src/components/Builder/PageActions.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport * as icons from '../../utils/icons';\nimport { moveItemInArrayFromIndexToIndex, scrollToTarget } from '../../utils/functions';\nimport { useTranslatedTexts } from '../../utils/hooks';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst PageActions = ({\n order = 0,\n pageID = '',\n}) => {\n const pages = usePropStore(state => state.pages);\n const pageCount = pages.length;\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onPageAdd = usePropStore(state => state.onPageAdd);\n const onPageDuplicate = usePropStore(state => state.onPageDuplicate);\n const onPageOrdersChange = usePropStore(state => state.onPageOrdersChange);\n const onPageRemove = usePropStore(state => state.onPageRemove);\n const disableInteraction = usePropStore(state => state.disableInteraction);\n\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setEditedElement = useBuilderStore(state => state.setEditedElement);\n\n const pageSettings = () => {\n setEditedElement(`p_${pageID}`);\n setIsRightPanelOpen(true);\n };\n\n const onPageAddClick = () => {\n const newPageIndex = order + 1;\n onPageAdd(newPageIndex);\n scrollToTarget(`pageActions-id-${newPageIndex}`, 350);\n onAnEventTrigger('addNewPage', newPageIndex);\n };\n\n const onPageRemoveClick = () => {\n onPageRemove(pageID);\n onAnEventTrigger('removePage', pageID);\n };\n\n const changeOrder = direction => {\n return () => {\n const pageIndex = pages.findIndex(page => page.id === pageID);\n const editedPages = moveItemInArrayFromIndexToIndex(\n pages,\n pageIndex,\n pageIndex + direction,\n );\n const pageOrders = editedPages.reduce((acc, page, index) => {\n const newOrder = index + 1;\n acc[page.id] = {\n order: newOrder,\n };\n return acc;\n }, {});\n onPageOrdersChange(pageOrders);\n scrollToTarget(`pageActions-id-${order + direction}`);\n onAnEventTrigger('changePageOrder', direction);\n };\n };\n\n const onPageDuplicateClick = () => {\n const foundPage = pages.find(page => page.id === pageID);\n onPageDuplicate(foundPage);\n scrollToTarget(`pageActions-id-${order + 1}`, 350);\n onAnEventTrigger('duplicatePage', order + 1);\n };\n\n const {\n ADD_NEW_PAGE, DUPLICATE_PAGE, MOVE_PAGE_DOWNWARDS,\n MOVE_PAGE_UPWARDS, PAGE_SETTINGS, REMOVE_PAGE,\n } = useTranslatedTexts();\n return (\n <div\n className=\"jfReport-pageInfo d-flex j-center\"\n id={`pageActions-id-${order}`}\n >\n <div className=\"pageCounter p-relative d-flex\">\n {`${order}`}\n </div>\n <div className=\"floatingController page-toolbar\">\n <div className=\"floatingController-container\">\n <button\n key=\"Slide Settings\"\n className=\"controllerItem\"\n onClick={pageSettings}\n title={PAGE_SETTINGS}\n type=\"button\"\n >\n <icons.pageSettings className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Duplicate Page\"\n className=\"controllerItem\"\n disabled={disableInteraction.indexOf('duplicate') > -1}\n onClick={onPageDuplicateClick}\n title={DUPLICATE_PAGE}\n type=\"button\"\n >\n <icons.duplicate className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Remove Slide\"\n className=\"controllerItem error\"\n disabled={disableInteraction.indexOf('remove') > -1}\n onClick={onPageRemoveClick}\n title={REMOVE_PAGE}\n type=\"button\"\n >\n <icons.trash className=\"toolbar-icon\" />\n </button>\n </div>\n <div className=\"floatingController-container\">\n <button\n key=\"Move Page Upwards\"\n className={`controllerItem${order === 1 ? ' disabled' : ''}`}\n onClick={changeOrder(-1)}\n title={MOVE_PAGE_UPWARDS}\n type=\"button\"\n >\n <icons.angleUp className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Move Page Downwards\"\n className={`controllerItem${order === pageCount ? ' disabled' : ''}`}\n onClick={changeOrder(1)}\n title={MOVE_PAGE_DOWNWARDS}\n type=\"button\"\n >\n <icons.angleDown className=\"toolbar-icon\" />\n </button>\n </div>\n <div className=\"floatingController-container\">\n <button\n key=\"Add Slide\"\n className=\"controllerItem primary\"\n disabled={disableInteraction.indexOf('add') > -1}\n onClick={onPageAddClick}\n title={ADD_NEW_PAGE}\n type=\"button\"\n >\n <icons.plus className=\"toolbar-icon\" />\n </button>\n </div>\n </div>\n </div>\n );\n};\n\nPageActions.propTypes = {\n order: PropTypes.number,\n pageID: PropTypes.string,\n};\n\nexport default PageActions;\n"],"names":["PageActions","order","pageID","pages","usePropStore","state","pageCount","length","onAnEventTrigger","onPageAdd","onPageDuplicate","onPageOrdersChange","onPageRemove","disableInteraction","setIsRightPanelOpen","useBuilderStore","setEditedElement","pageSettings","onPageAddClick","newPageIndex","scrollToTarget","onPageRemoveClick","changeOrder","direction","pageIndex","findIndex","page","id","editedPages","moveItemInArrayFromIndexToIndex","pageOrders","reduce","acc","index","newOrder","onPageDuplicateClick","foundPage","find","useTranslatedTexts","ADD_NEW_PAGE","DUPLICATE_PAGE","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","PAGE_SETTINGS","REMOVE_PAGE","_jsxs","_jsx","icons.pageSettings","indexOf","icons.duplicate","icons.trash","icons.angleUp","icons.angleDown","icons.plus","propTypes","PropTypes","number","string"],"mappings":"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"}
@@ -67,38 +67,38 @@ var ZoomControls = function ZoomControls() {
67
67
  ZOOM_OUT = _useTranslatedTexts.ZOOM_OUT;
68
68
 
69
69
  return /*#__PURE__*/jsxs("div", {
70
- className: "floatingController forZoom",
70
+ className: "floatingController zoom-toolbar",
71
71
  children: [/*#__PURE__*/jsxs("div", {
72
- className: "floatingController-container isGray",
72
+ className: "floatingController-container",
73
73
  children: [/*#__PURE__*/jsx("button", {
74
- className: "controllerItem isWhite",
74
+ className: "controllerItem",
75
75
  onClick: increaseZoom,
76
76
  title: ZOOM_IN,
77
77
  type: "button",
78
78
  children: /*#__PURE__*/jsx(SvgPlus, {
79
- className: "jfReportSVG controllerItem-icon"
79
+ className: "toolbar-icon"
80
80
  })
81
81
  }), /*#__PURE__*/jsxs("div", {
82
82
  className: "controllerIndicator",
83
83
  children: [zoomValue, "%"]
84
84
  }), /*#__PURE__*/jsx("button", {
85
- className: "controllerItem isWhite",
85
+ className: "controllerItem",
86
86
  onClick: decreaseZoom,
87
87
  title: ZOOM_OUT,
88
88
  type: "button",
89
89
  children: /*#__PURE__*/jsx(SvgMinus, {
90
- className: "jfReportSVG controllerItem-icon"
90
+ className: "toolbar-icon"
91
91
  })
92
92
  })]
93
93
  }), /*#__PURE__*/jsx("div", {
94
94
  className: "floatingController-container",
95
95
  children: /*#__PURE__*/jsx("button", {
96
- className: "controllerItem isSingle",
96
+ className: "controllerItem",
97
97
  onClick: fitZoom,
98
98
  title: FIT_TO_SCENE,
99
99
  type: "button",
100
100
  children: /*#__PURE__*/jsx(SvgFitScreen, {
101
- className: "jfReportSVG icon-fit"
101
+ className: "toolbar-icon"
102
102
  })
103
103
  })
104
104
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"ZoomControls.js","sources":["../../../../src/components/Builder/ZoomControls.js"],"sourcesContent":["import { useMemo } from 'react';\nimport * as icons from '../../utils/icons';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport {\n ZOOM_STEP,\n ZOOM_MIN,\n ZOOM_MAX,\n ZOOM_MULTIPLIER,\n} from '../../constants/zoom';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst ZoomControls = () => {\n const setZoom = useBuilderStore(state => state.setZoom);\n const zoom = useBuilderStore(state => state.zoom);\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const settings = usePropStore(state => state.settings);\n\n const { reportLayoutHeight = 794, reportLayoutWidth = 1123 } = settings;\n const decreaseZoom = () => {\n onAnEventTrigger('zoomOut', 'report');\n if (zoom > (ZOOM_STEP + ZOOM_MIN)) {\n setZoom(parseFloat((zoom - ZOOM_STEP).toFixed(1)), reportLayoutWidth);\n }\n };\n const increaseZoom = () => {\n onAnEventTrigger('zoomIn', 'report');\n if (zoom < (ZOOM_MAX)) {\n setZoom(parseFloat((zoom + ZOOM_STEP).toFixed(1)), reportLayoutWidth);\n }\n };\n const fitZoom = () => {\n const { innerHeight, innerWidth } = window;\n const newScale = Math.min(\n (innerWidth - 400) / reportLayoutWidth,\n innerHeight / reportLayoutHeight,\n );\n let newZoom = Math.floor(newScale * 10) / 10;\n if (newZoom < 0.5) newZoom = 0.5;\n if (newZoom > 1) newZoom = 1;\n onAnEventTrigger('fitZoom', 'report');\n setZoom(newZoom, reportLayoutWidth);\n };\n\n const zoomValue = useMemo(() => {\n return Number.isNaN(zoom) ? 100 : (zoom * ZOOM_MULTIPLIER).toFixed(0);\n }, [zoom]);\n\n const { FIT_TO_SCENE, ZOOM_IN, ZOOM_OUT } = useTranslatedTexts();\n\n return (\n <div className=\"floatingController forZoom\">\n <div className=\"floatingController-container isGray\">\n <button\n className=\"controllerItem isWhite\"\n onClick={increaseZoom}\n title={ZOOM_IN}\n type=\"button\"\n >\n <icons.plus className=\"jfReportSVG controllerItem-icon\" />\n </button>\n <div className=\"controllerIndicator\">\n {zoomValue}\n %\n </div>\n <button\n className=\"controllerItem isWhite\"\n onClick={decreaseZoom}\n title={ZOOM_OUT}\n type=\"button\"\n >\n <icons.minus className=\"jfReportSVG controllerItem-icon\" />\n </button>\n </div>\n <div className=\"floatingController-container\">\n <button\n className=\"controllerItem isSingle\"\n onClick={fitZoom}\n title={FIT_TO_SCENE}\n type=\"button\"\n >\n <icons.fit className=\"jfReportSVG icon-fit\" />\n </button>\n </div>\n </div>\n );\n};\n\nexport default ZoomControls;\n"],"names":["ZoomControls","setZoom","useBuilderStore","state","zoom","onAnEventTrigger","usePropStore","settings","reportLayoutHeight","reportLayoutWidth","decreaseZoom","ZOOM_STEP","ZOOM_MIN","parseFloat","toFixed","increaseZoom","ZOOM_MAX","fitZoom","window","innerHeight","innerWidth","newScale","Math","min","newZoom","floor","zoomValue","useMemo","Number","isNaN","ZOOM_MULTIPLIER","useTranslatedTexts","FIT_TO_SCENE","ZOOM_IN","ZOOM_OUT","_jsxs","_jsx","icons.plus","icons.minus","icons.fit"],"mappings":"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"}
1
+ {"version":3,"file":"ZoomControls.js","sources":["../../../../src/components/Builder/ZoomControls.js"],"sourcesContent":["import { useMemo } from 'react';\nimport * as icons from '../../utils/icons';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport {\n ZOOM_STEP,\n ZOOM_MIN,\n ZOOM_MAX,\n ZOOM_MULTIPLIER,\n} from '../../constants/zoom';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst ZoomControls = () => {\n const setZoom = useBuilderStore(state => state.setZoom);\n const zoom = useBuilderStore(state => state.zoom);\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const settings = usePropStore(state => state.settings);\n\n const { reportLayoutHeight = 794, reportLayoutWidth = 1123 } = settings;\n const decreaseZoom = () => {\n onAnEventTrigger('zoomOut', 'report');\n if (zoom > (ZOOM_STEP + ZOOM_MIN)) {\n setZoom(parseFloat((zoom - ZOOM_STEP).toFixed(1)), reportLayoutWidth);\n }\n };\n const increaseZoom = () => {\n onAnEventTrigger('zoomIn', 'report');\n if (zoom < (ZOOM_MAX)) {\n setZoom(parseFloat((zoom + ZOOM_STEP).toFixed(1)), reportLayoutWidth);\n }\n };\n const fitZoom = () => {\n const { innerHeight, innerWidth } = window;\n const newScale = Math.min(\n (innerWidth - 400) / reportLayoutWidth,\n innerHeight / reportLayoutHeight,\n );\n let newZoom = Math.floor(newScale * 10) / 10;\n if (newZoom < 0.5) newZoom = 0.5;\n if (newZoom > 1) newZoom = 1;\n onAnEventTrigger('fitZoom', 'report');\n setZoom(newZoom, reportLayoutWidth);\n };\n\n const zoomValue = useMemo(() => {\n return Number.isNaN(zoom) ? 100 : (zoom * ZOOM_MULTIPLIER).toFixed(0);\n }, [zoom]);\n\n const { FIT_TO_SCENE, ZOOM_IN, ZOOM_OUT } = useTranslatedTexts();\n\n return (\n <div className=\"floatingController zoom-toolbar\">\n <div className=\"floatingController-container\">\n <button\n className=\"controllerItem\"\n onClick={increaseZoom}\n title={ZOOM_IN}\n type=\"button\"\n >\n <icons.plus className=\"toolbar-icon\" />\n </button>\n <div className=\"controllerIndicator\">\n {zoomValue}\n %\n </div>\n <button\n className=\"controllerItem\"\n onClick={decreaseZoom}\n title={ZOOM_OUT}\n type=\"button\"\n >\n <icons.minus className=\"toolbar-icon\" />\n </button>\n </div>\n <div className=\"floatingController-container\">\n <button\n className=\"controllerItem\"\n onClick={fitZoom}\n title={FIT_TO_SCENE}\n type=\"button\"\n >\n <icons.fit className=\"toolbar-icon\" />\n </button>\n </div>\n </div>\n );\n};\n\nexport default ZoomControls;\n"],"names":["ZoomControls","setZoom","useBuilderStore","state","zoom","onAnEventTrigger","usePropStore","settings","reportLayoutHeight","reportLayoutWidth","decreaseZoom","ZOOM_STEP","ZOOM_MIN","parseFloat","toFixed","increaseZoom","ZOOM_MAX","fitZoom","window","innerHeight","innerWidth","newScale","Math","min","newZoom","floor","zoomValue","useMemo","Number","isNaN","ZOOM_MULTIPLIER","useTranslatedTexts","FIT_TO_SCENE","ZOOM_IN","ZOOM_OUT","_jsxs","_jsx","icons.plus","icons.minus","icons.fit"],"mappings":"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"}
@@ -86,51 +86,51 @@ var DraggableItemActions = function DraggableItemActions() {
86
86
 
87
87
  if (isLocked) {
88
88
  return /*#__PURE__*/jsx("div", {
89
- className: "reportItemMenu d-flex dir-col a-center forLocked",
89
+ className: "report-item-toolbar isLocked forLocked",
90
90
  children: /*#__PURE__*/jsx("button", {
91
- className: "reportItemMenu-item js-locked",
91
+ className: "report-item-toolbar-item",
92
92
  onClick: changeLockStatus,
93
93
  type: "button",
94
94
  children: /*#__PURE__*/jsx(SvgLock, {
95
- className: "jfReportSVG icon-lock isWhite"
95
+ className: "toolbar-icon"
96
96
  })
97
97
  })
98
98
  });
99
99
  }
100
100
 
101
101
  return /*#__PURE__*/jsxs("div", {
102
- className: "reportItemMenu d-flex dir-col a-center",
102
+ className: "report-item-toolbar",
103
103
  children: [/*#__PURE__*/jsx("button", {
104
- className: "reportItemMenu-item js-itemSettings",
104
+ className: "report-item-toolbar-item",
105
105
  onClick: openSettings,
106
106
  title: ITEM_SETTINGS,
107
107
  type: "button",
108
108
  children: /*#__PURE__*/jsx(SvgSettings, {
109
- className: "jfReportSVG icon-settings isWhite"
109
+ className: "toolbar-icon"
110
110
  })
111
111
  }), /*#__PURE__*/jsx("button", {
112
- className: "reportItemMenu-item js-duplicateItem",
112
+ className: "report-item-toolbar-item",
113
113
  onClick: duplicateItem,
114
114
  title: DUPLICATE_ITEM,
115
115
  type: "button",
116
116
  children: /*#__PURE__*/jsx(SvgDuplicate, {
117
- className: "jfReportSVG icon-duplicate isWhite"
117
+ className: "toolbar-icon"
118
118
  })
119
119
  }), /*#__PURE__*/jsx("button", {
120
- className: "reportItemMenu-item js-lockItem",
120
+ className: "report-item-toolbar-item",
121
121
  onClick: changeLockStatus,
122
122
  title: LOCK_ITEM,
123
123
  type: "button",
124
124
  children: /*#__PURE__*/jsx(SvgUnlock, {
125
- className: "jfReportSVG icon-lock isWhite"
125
+ className: "toolbar-icon"
126
126
  })
127
127
  }), /*#__PURE__*/jsx("button", {
128
- className: "reportItemMenu-item js-deleteItem",
128
+ className: "report-item-toolbar-item error",
129
129
  onClick: deleteItem,
130
130
  title: DELETE_ITEM,
131
131
  type: "button",
132
132
  children: /*#__PURE__*/jsx(SvgTrash, {
133
- className: "jfReportSVG icon-trash isWhite"
133
+ className: "toolbar-icon"
134
134
  })
135
135
  })]
136
136
  });
@@ -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 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 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=\"reportItemMenu d-flex dir-col a-center forLocked\">\n <button\n className=\"reportItemMenu-item js-locked\"\n onClick={changeLockStatus}\n type=\"button\"\n >\n <icons.lock\n className=\"jfReportSVG icon-lock isWhite\"\n />\n </button>\n </div>\n );\n }\n return (\n <div className=\"reportItemMenu d-flex dir-col a-center\">\n <button\n className=\"reportItemMenu-item js-itemSettings\"\n onClick={openSettings}\n title={ITEM_SETTINGS}\n type=\"button\"\n >\n <icons.settings className=\"jfReportSVG icon-settings isWhite\" />\n </button>\n <button\n className=\"reportItemMenu-item js-duplicateItem\"\n onClick={duplicateItem}\n title={DUPLICATE_ITEM}\n type=\"button\"\n >\n <icons.duplicate className=\"jfReportSVG icon-duplicate isWhite\" />\n </button>\n <button\n className=\"reportItemMenu-item js-lockItem\"\n onClick={changeLockStatus}\n title={LOCK_ITEM}\n type=\"button\"\n >\n <icons.unlock\n className=\"jfReportSVG icon-lock isWhite\"\n />\n </button>\n <button\n className=\"reportItemMenu-item js-deleteItem\"\n onClick={deleteItem}\n title={DELETE_ITEM}\n type=\"button\"\n >\n <icons.trash className=\"jfReportSVG icon-trash isWhite\" />\n </button>\n </div>\n );\n};\n\nexport default DraggableItemActions;\n"],"names":["DraggableItemActions","useTranslatedTexts","DELETE_ITEM","DUPLICATE_ITEM","ITEM_SETTINGS","LOCK_ITEM","onAnEventTrigger","usePropStore","state","onItemChange","onItemRemove","onItemAdd","setActiveElements","useBuilderStore","resetActiveElements","setIsRightPanelOpen","selectedElements","useSelectedElements","item","isLocked","changeLockStatus","itemType","id","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 * 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 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 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\">\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\">\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":["DraggableItemActions","useTranslatedTexts","DELETE_ITEM","DUPLICATE_ITEM","ITEM_SETTINGS","LOCK_ITEM","onAnEventTrigger","usePropStore","state","onItemChange","onItemRemove","onItemAdd","setActiveElements","useBuilderStore","resetActiveElements","setIsRightPanelOpen","selectedElements","useSelectedElements","item","isLocked","changeLockStatus","itemType","id","deleteItem","duplicateItem","itemID","generateId","left","top","openSettings","_jsx","icons.lock","_jsxs","icons.settings","icons.duplicate","icons.unlock","icons.trash"],"mappings":"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"}
@@ -97,7 +97,7 @@ var DraggableItemLayer = function DraggableItemLayer(_ref2) {
97
97
  cursor: 'grabbing',
98
98
  height: height,
99
99
  left: x,
100
- outlineColor: '#4277ff',
100
+ outlineColor: '#0099FF',
101
101
  pointerEvents: 'none',
102
102
  position: 'fixed',
103
103
  top: y,