@jotforminc/dnd-builder 3.5.4 → 3.6.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 (153) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/lib/cjs/components/Builder/Builder.js +1 -3
  3. package/lib/cjs/components/Builder/Builder.js.map +1 -1
  4. package/lib/cjs/components/Builder/BuilderWrapper.js +27 -5
  5. package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -1
  6. package/lib/cjs/components/Builder/PageActions.js +10 -53
  7. package/lib/cjs/components/Builder/PageActions.js.map +1 -1
  8. package/lib/cjs/components/Builder/Scene.js +9 -1
  9. package/lib/cjs/components/Builder/Scene.js.map +1 -1
  10. package/lib/cjs/components/Builder/SlidesNavigatorToggle.js +41 -0
  11. package/lib/cjs/components/Builder/SlidesNavigatorToggle.js.map +1 -0
  12. package/lib/cjs/components/PageItemResizer.js +1 -1
  13. package/lib/cjs/components/PageItemResizer.js.map +1 -1
  14. package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js +4 -6
  15. package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
  16. package/lib/cjs/components/Panels/RightPanel/RightPanel.js +1 -1
  17. package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
  18. package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +257 -0
  19. package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -0
  20. package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js +144 -0
  21. package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js.map +1 -0
  22. package/lib/cjs/components/Panels/{AllSlidesPanel/PageItemDragOverlay.js → SlidesNavigator/SlideItemDragOverlay.js} +29 -16
  23. package/lib/cjs/components/Panels/SlidesNavigator/SlideItemDragOverlay.js.map +1 -0
  24. package/lib/cjs/components/Panels/SlidesNavigator/SlideItemsList.js +232 -0
  25. package/lib/cjs/components/Panels/SlidesNavigator/SlideItemsList.js.map +1 -0
  26. package/lib/cjs/components/Panels/SlidesNavigator/SlidesNavigator.js +54 -0
  27. package/lib/cjs/components/Panels/SlidesNavigator/SlidesNavigator.js.map +1 -0
  28. package/lib/cjs/components/Panels/SlidesNavigator/StaticSlideItem.js +97 -0
  29. package/lib/cjs/components/Panels/SlidesNavigator/StaticSlideItem.js.map +1 -0
  30. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +6 -17
  31. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  32. package/lib/cjs/components/ReportWrapper.js +4 -4
  33. package/lib/cjs/components/ReportWrapper.js.map +1 -1
  34. package/lib/cjs/constants/panel.js +11 -0
  35. package/lib/cjs/constants/panel.js.map +1 -0
  36. package/lib/cjs/constants/texts.js +6 -1
  37. package/lib/cjs/constants/texts.js.map +1 -1
  38. package/lib/cjs/contexts/BuilderContext.js +15 -7
  39. package/lib/cjs/contexts/BuilderContext.js.map +1 -1
  40. package/lib/cjs/contexts/Providers.js +8 -1
  41. package/lib/cjs/contexts/Providers.js.map +1 -1
  42. package/lib/cjs/styles/_jfReportsFloatings.scss +39 -7
  43. package/lib/cjs/styles/_jfReportsHelpers.scss +1 -1
  44. package/lib/cjs/styles/_jfReportsMain.scss +8 -0
  45. package/lib/cjs/styles/_jfReportsPanels.scss +10 -7
  46. package/lib/cjs/styles/_jfReportsReportItem.scss +2 -2
  47. package/lib/cjs/styles/_jfReportsSlides.scss +2 -2
  48. package/lib/cjs/styles/_jfReportsVariables.scss +1 -0
  49. package/lib/cjs/styles/_jfReportsViewModes.scss +1 -0
  50. package/lib/cjs/styles/jfReportsBundle.scss +1 -0
  51. package/lib/cjs/styles/slides-navigator.scss +239 -0
  52. package/lib/cjs/utils/functions.js +9 -28
  53. package/lib/cjs/utils/functions.js.map +1 -1
  54. package/lib/cjs/utils/hooks.js +3 -1
  55. package/lib/cjs/utils/hooks.js.map +1 -1
  56. package/lib/cjs/utils/icons.js +0 -2
  57. package/lib/cjs/utils/icons.js.map +1 -1
  58. package/lib/esm/components/Builder/Builder.js +1 -3
  59. package/lib/esm/components/Builder/Builder.js.map +1 -1
  60. package/lib/esm/components/Builder/BuilderWrapper.js +28 -6
  61. package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -1
  62. package/lib/esm/components/Builder/PageActions.js +12 -55
  63. package/lib/esm/components/Builder/PageActions.js.map +1 -1
  64. package/lib/esm/components/Builder/Scene.js +9 -1
  65. package/lib/esm/components/Builder/Scene.js.map +1 -1
  66. package/lib/esm/components/Builder/SlidesNavigatorToggle.js +39 -0
  67. package/lib/esm/components/Builder/SlidesNavigatorToggle.js.map +1 -0
  68. package/lib/esm/components/PageItemResizer.js +1 -1
  69. package/lib/esm/components/PageItemResizer.js.map +1 -1
  70. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js +5 -7
  71. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
  72. package/lib/esm/components/Panels/RightPanel/RightPanel.js +1 -1
  73. package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
  74. package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +251 -0
  75. package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -0
  76. package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js +138 -0
  77. package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js.map +1 -0
  78. package/lib/esm/components/Panels/SlidesNavigator/SlideItemDragOverlay.js +61 -0
  79. package/lib/esm/components/Panels/SlidesNavigator/SlideItemDragOverlay.js.map +1 -0
  80. package/lib/esm/components/Panels/SlidesNavigator/SlideItemsList.js +226 -0
  81. package/lib/esm/components/Panels/SlidesNavigator/SlideItemsList.js.map +1 -0
  82. package/lib/esm/components/Panels/SlidesNavigator/SlidesNavigator.js +52 -0
  83. package/lib/esm/components/Panels/SlidesNavigator/SlidesNavigator.js.map +1 -0
  84. package/lib/esm/components/Panels/SlidesNavigator/StaticSlideItem.js +91 -0
  85. package/lib/esm/components/Panels/SlidesNavigator/StaticSlideItem.js.map +1 -0
  86. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +7 -18
  87. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  88. package/lib/esm/components/ReportWrapper.js +4 -4
  89. package/lib/esm/components/ReportWrapper.js.map +1 -1
  90. package/lib/esm/constants/panel.js +7 -0
  91. package/lib/esm/constants/panel.js.map +1 -0
  92. package/lib/esm/constants/texts.js +6 -1
  93. package/lib/esm/constants/texts.js.map +1 -1
  94. package/lib/esm/contexts/BuilderContext.js +15 -7
  95. package/lib/esm/contexts/BuilderContext.js.map +1 -1
  96. package/lib/esm/contexts/Providers.js +8 -1
  97. package/lib/esm/contexts/Providers.js.map +1 -1
  98. package/lib/esm/styles/_jfReportsFloatings.scss +39 -7
  99. package/lib/esm/styles/_jfReportsHelpers.scss +1 -1
  100. package/lib/esm/styles/_jfReportsMain.scss +8 -0
  101. package/lib/esm/styles/_jfReportsPanels.scss +10 -7
  102. package/lib/esm/styles/_jfReportsReportItem.scss +2 -2
  103. package/lib/esm/styles/_jfReportsSlides.scss +2 -2
  104. package/lib/esm/styles/_jfReportsVariables.scss +1 -0
  105. package/lib/esm/styles/_jfReportsViewModes.scss +1 -0
  106. package/lib/esm/styles/jfReportsBundle.scss +1 -0
  107. package/lib/esm/styles/slides-navigator.scss +239 -0
  108. package/lib/esm/utils/functions.js +8 -27
  109. package/lib/esm/utils/functions.js.map +1 -1
  110. package/lib/esm/utils/hooks.js +3 -1
  111. package/lib/esm/utils/hooks.js.map +1 -1
  112. package/lib/esm/utils/icons.js +0 -1
  113. package/lib/esm/utils/icons.js.map +1 -1
  114. package/package.json +3 -1
  115. package/lib/cjs/assets/svg/all_slides.svg.js +0 -23
  116. package/lib/cjs/assets/svg/all_slides.svg.js.map +0 -1
  117. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js +0 -148
  118. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +0 -1
  119. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +0 -29
  120. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +0 -1
  121. package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js +0 -107
  122. package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js.map +0 -1
  123. package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js +0 -102
  124. package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js.map +0 -1
  125. package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +0 -1
  126. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js +0 -178
  127. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js.map +0 -1
  128. package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js +0 -95
  129. package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +0 -1
  130. package/lib/cjs/components/Panels/AllSlidesPanel/index.js +0 -8
  131. package/lib/cjs/components/Panels/AllSlidesPanel/index.js.map +0 -1
  132. package/lib/cjs/components/Settings/Button.js +0 -44
  133. package/lib/cjs/components/Settings/Button.js.map +0 -1
  134. package/lib/esm/assets/svg/all_slides.svg.js +0 -21
  135. package/lib/esm/assets/svg/all_slides.svg.js.map +0 -1
  136. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js +0 -142
  137. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +0 -1
  138. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +0 -23
  139. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +0 -1
  140. package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js +0 -101
  141. package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js.map +0 -1
  142. package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js +0 -95
  143. package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js.map +0 -1
  144. package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +0 -48
  145. package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +0 -1
  146. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js +0 -172
  147. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js.map +0 -1
  148. package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js +0 -89
  149. package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +0 -1
  150. package/lib/esm/components/Panels/AllSlidesPanel/index.js +0 -3
  151. package/lib/esm/components/Panels/AllSlidesPanel/index.js.map +0 -1
  152. package/lib/esm/components/Settings/Button.js +0 -38
  153. package/lib/esm/components/Settings/Button.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [3.6.0](https://github.com/jotform/dnd-builder/compare/v3.5.6...v3.6.0) (2026-04-06)
6
+
7
+
8
+ ### Features
9
+
10
+ * **dnd-builder:** add slide navigator ([c9492c2](https://github.com/jotform/dnd-builder/commit/c9492c2eb5e8a78076025e949297be240c18cfb2))
11
+ * **dnd-builder:** init slide navigator ([95ef9a9](https://github.com/jotform/dnd-builder/commit/95ef9a91ecea8202359fdafa50fc590aee07ae5f))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * **dnd-builder:** add behavioral changes ([59931a4](https://github.com/jotform/dnd-builder/commit/59931a4250574b1e6d268f4cf5ff80c3f2da6d62))
17
+ * **dnd-builder:** integrate motion animations and enhance slide navigator functionality ([6f3bcfc](https://github.com/jotform/dnd-builder/commit/6f3bcfc36eeb59c300ea350c8070f6e676e4f73f))
18
+
19
+ ## [3.5.6](https://github.com/jotform/dnd-builder/compare/v3.5.5...v3.5.6) (2026-03-26)
20
+
5
21
  ## [3.5.4](https://github.com/jotform/dnd-builder/compare/v3.5.3...v3.5.4) (2026-03-26)
6
22
 
7
23
  ## [3.5.3](https://github.com/jotform/dnd-builder/compare/v3.5.2...v3.5.3) (2026-03-26)
@@ -6,7 +6,6 @@ var Scene = require('./Scene.js');
6
6
  var RightPanel = require('../Panels/RightPanel/RightPanel.js');
7
7
  var LeftPanel = require('../Panels/LeftPanel/LeftPanel.js');
8
8
  var SlidesPanel = require('../Panels/SlidesPanel/SlidesPanel.js');
9
- var AllSlidesPanel = require('../Panels/AllSlidesPanel/AllSlidesPanel.js');
10
9
  var propTypes = require('../../constants/propTypes.js');
11
10
  require('../../styles/jfReportsBundle.scss');
12
11
  var BuilderWrapper = require('./BuilderWrapper.js');
@@ -24,14 +23,13 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
24
23
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
24
 
26
25
  var Builder = function Builder(props) {
27
- var useExperimentalFeatures = props.useExperimentalFeatures;
28
26
  return /*#__PURE__*/jsxRuntime.jsx(Providers, _objectSpread(_objectSpread({
29
27
  mode: "customize"
30
28
  }, props), {}, {
31
29
  children: /*#__PURE__*/jsxRuntime.jsxs(BuilderWrapper, {
32
30
  children: [/*#__PURE__*/jsxRuntime.jsxs(DndWrapper, {
33
31
  children: [/*#__PURE__*/jsxRuntime.jsx(LeftPanel, {}), /*#__PURE__*/jsxRuntime.jsx(Scene, {})]
34
- }), /*#__PURE__*/jsxRuntime.jsx(RightPanel, {}), /*#__PURE__*/jsxRuntime.jsx(SlidesPanel, {}), useExperimentalFeatures && /*#__PURE__*/jsxRuntime.jsx(AllSlidesPanel, {})]
32
+ }), /*#__PURE__*/jsxRuntime.jsx(RightPanel, {}), /*#__PURE__*/jsxRuntime.jsx(SlidesPanel, {})]
35
33
  })
36
34
  }));
37
35
  };
@@ -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 /** 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,eAAC,SAAD;AACE,IAAA,IAAI,EAAC;AADP,KAEMF,KAFN;AAAA,2BAIEG,gBAAC,cAAD;AAAA,8BACEA,gBAAC,UAAD;AAAA,gCACED,eAAC,SAAD,KADF,eAEEA,eAAC,KAAD,KAFF;AAAA,QADF,eAKEA,eAAC,UAAD,KALF,eAMEA,eAAC,WAAD,KANF,EAOGD,uBAAuB,iBACtBC,eAAC,cAAD,KARJ;AAAA;AAJF,KADF;AAmBD;;AAEDH,OAAO,CAACK,SAAR,GAAoB;AAClB;AACAC,EAAAA,aAAa,EAAEC,6BAAS,CAACC,KAAV,CAAgB,EAAhB,CAFG;;AAGlB;AACAC,EAAAA,mBAAmB,EAAEF,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACI,IAA5B,CAJH;;AAKlB;AACAC,EAAAA,2BAA2B,EAAEL,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACM,MAA5B,CANX;AAOlBC,EAAAA,kBAAkB,EAAEP,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACM,MAA5B,CAPF;;AAQlB;AACAE,EAAAA,YAAY,EAAER,6BAAS,CAACS,IATN;;AAUlB;AACAC,EAAAA,kBAAkB,EAAEV,6BAAS,CAACW,MAXZ;AAYlBC,EAAAA,eAAe,EAAEC,iCAZC;;AAalB;AACAC,EAAAA,gBAAgB,EAAEd,6BAAS,CAACS,IAdV;;AAelB;AACAM,EAAAA,SAAS,EAAEf,6BAAS,CAACS,IAhBH;;AAiBlB;AACAO,EAAAA,YAAY,EAAEhB,6BAAS,CAACS,IAlBN;;AAmBlB;AACAQ,EAAAA,UAAU,EAAEjB,6BAAS,CAACS,IApBJ;;AAqBlB;AACAS,EAAAA,YAAY,EAAElB,6BAAS,CAACS,IAtBN;;AAuBlB;AACAU,EAAAA,YAAY,EAAEnB,6BAAS,CAACS,IAxBN;AAyBlBW,EAAAA,WAAW,EAAEpB,6BAAS,CAACS,IAzBL;;AA0BlB;AACAY,EAAAA,SAAS,EAAErB,6BAAS,CAACS,IA3BH;;AA4BlB;AACAa,EAAAA,YAAY,EAAEtB,6BAAS,CAACS,IA7BN;;AA8BlB;AACAc,EAAAA,eAAe,EAAEvB,6BAAS,CAACS,IA/BT;;AAgClB;AACAe,EAAAA,kBAAkB,EAAExB,6BAAS,CAACS,IAjCZ;;AAkClB;AACAgB,EAAAA,YAAY,EAAEzB,6BAAS,CAACS,IAnCN;;AAoClB;AACAiB,EAAAA,uBAAuB,EAAE1B,6BAAS,CAACS,IArCjB;;AAsClB;AACF;AACA;AACA;AACEkB,EAAAA,oBAAoB,EAAE3B,6BAAS,CAACS,IA1Cd;;AA2ClB;AACAmB,EAAAA,sBAAsB,EAAE5B,6BAAS,CAACS,IA5ChB;;AA6ClB;AACAoB,EAAAA,eAAe,EAAE7B,6BAAS,CAACS,IA9CT;;AA+ClB;AACAqB,EAAAA,KAAK,EAAE9B,6BAAS,CAACG,OAAV,CACLH,6BAAS,CAACC,KAAV,CAAgB,EAAhB,CADK,CAhDW;;AAmDlB;AACA8B,EAAAA,QAAQ,EAAE/B,6BAAS,CAACC,KAAV,CAAgB,EAAhB,CApDQ;;AAqDlB;AACA+B,EAAAA,KAAK,EAAEhC,6BAAS,CAACiC,KAAV,CAAgB,CAAC,WAAD,EAAc,UAAd,CAAhB,CAtDW;AAuDlBtC,EAAAA,uBAAuB,EAAEK,6BAAS,CAACkC;AAvDjB,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 { leftPanelConfigPropType } from '../../constants/propTypes';\nimport '../../styles/jfReportsBundle.scss';\nimport BuilderWrapper from './BuilderWrapper';\nimport Providers from '../../contexts/Providers';\n\nconst Builder = 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 </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","_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","useExperimentalFeatures","bool"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;IAWMA,OAAO,GAAG,SAAVA,OAAU,CAAAC,KAAK,EAAI;AACvB,sBACEC,eAAC,SAAD;AACE,IAAA,IAAI,EAAC;AADP,KAEMD,KAFN;AAAA,2BAIEE,gBAAC,cAAD;AAAA,8BACEA,gBAAC,UAAD;AAAA,gCACED,eAAC,SAAD,KADF,eAEEA,eAAC,KAAD,KAFF;AAAA,QADF,eAKEA,eAAC,UAAD,KALF,eAMEA,eAAC,WAAD,KANF;AAAA;AAJF,KADF;AAgBD;;AAEDF,OAAO,CAACI,SAAR,GAAoB;AAClB;AACAC,EAAAA,aAAa,EAAEC,6BAAS,CAACC,KAAV,CAAgB,EAAhB,CAFG;;AAGlB;AACAC,EAAAA,mBAAmB,EAAEF,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACI,IAA5B,CAJH;;AAKlB;AACAC,EAAAA,2BAA2B,EAAEL,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACM,MAA5B,CANX;AAOlBC,EAAAA,kBAAkB,EAAEP,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACM,MAA5B,CAPF;;AAQlB;AACAE,EAAAA,YAAY,EAAER,6BAAS,CAACS,IATN;;AAUlB;AACAC,EAAAA,kBAAkB,EAAEV,6BAAS,CAACW,MAXZ;AAYlBC,EAAAA,eAAe,EAAEC,iCAZC;;AAalB;AACAC,EAAAA,gBAAgB,EAAEd,6BAAS,CAACS,IAdV;;AAelB;AACAM,EAAAA,SAAS,EAAEf,6BAAS,CAACS,IAhBH;;AAiBlB;AACAO,EAAAA,YAAY,EAAEhB,6BAAS,CAACS,IAlBN;;AAmBlB;AACAQ,EAAAA,UAAU,EAAEjB,6BAAS,CAACS,IApBJ;;AAqBlB;AACAS,EAAAA,YAAY,EAAElB,6BAAS,CAACS,IAtBN;;AAuBlB;AACAU,EAAAA,YAAY,EAAEnB,6BAAS,CAACS,IAxBN;AAyBlBW,EAAAA,WAAW,EAAEpB,6BAAS,CAACS,IAzBL;;AA0BlB;AACAY,EAAAA,SAAS,EAAErB,6BAAS,CAACS,IA3BH;;AA4BlB;AACAa,EAAAA,YAAY,EAAEtB,6BAAS,CAACS,IA7BN;;AA8BlB;AACAc,EAAAA,eAAe,EAAEvB,6BAAS,CAACS,IA/BT;;AAgClB;AACAe,EAAAA,kBAAkB,EAAExB,6BAAS,CAACS,IAjCZ;;AAkClB;AACAgB,EAAAA,YAAY,EAAEzB,6BAAS,CAACS,IAnCN;;AAoClB;AACAiB,EAAAA,uBAAuB,EAAE1B,6BAAS,CAACS,IArCjB;;AAsClB;AACF;AACA;AACA;AACEkB,EAAAA,oBAAoB,EAAE3B,6BAAS,CAACS,IA1Cd;;AA2ClB;AACAmB,EAAAA,sBAAsB,EAAE5B,6BAAS,CAACS,IA5ChB;;AA6ClB;AACAoB,EAAAA,eAAe,EAAE7B,6BAAS,CAACS,IA9CT;;AA+ClB;AACAqB,EAAAA,KAAK,EAAE9B,6BAAS,CAACG,OAAV,CACLH,6BAAS,CAACC,KAAV,CAAgB,EAAhB,CADK,CAhDW;;AAmDlB;AACA8B,EAAAA,QAAQ,EAAE/B,6BAAS,CAACC,KAAV,CAAgB,EAAhB,CApDQ;;AAqDlB;AACA+B,EAAAA,KAAK,EAAEhC,6BAAS,CAACiC,KAAV,CAAgB,CAAC,WAAD,EAAc,UAAd,CAAhB,CAtDW;AAuDlBC,EAAAA,uBAAuB,EAAElC,6BAAS,CAACmC;AAvDjB,CAApB;;;;"}
@@ -9,6 +9,8 @@ var ReportWrapper = require('../ReportWrapper.js');
9
9
  var PropContext = require('../../contexts/PropContext.js');
10
10
  var BuilderContext = require('../../contexts/BuilderContext.js');
11
11
  var hooks = require('../../utils/hooks.js');
12
+ var SlidesNavigator = require('../Panels/SlidesNavigator/SlidesNavigator.js');
13
+ var functions = require('../../utils/functions.js');
12
14
  var jsxRuntime = require('react/jsx-runtime');
13
15
 
14
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -28,12 +30,18 @@ var BuilderWrapper = function BuilderWrapper(_ref) {
28
30
  var isSlidesPanelOpen = BuilderContext.useBuilderStore(function (state) {
29
31
  return state.isSlidesPanelOpen;
30
32
  });
33
+ var isSlidesNavigatorOpen = BuilderContext.useBuilderStore(function (state) {
34
+ return state.isSlidesNavigatorOpen;
35
+ });
31
36
  var setIsLeftPanelOpen = BuilderContext.useBuilderStore(function (state) {
32
37
  return state.setIsLeftPanelOpen;
33
38
  });
34
39
  var setIsSlidesPanelOpen = BuilderContext.useBuilderStore(function (state) {
35
40
  return state.setIsSlidesPanelOpen;
36
41
  });
42
+ var setIsSlidesNavigatorOpen = BuilderContext.useBuilderStore(function (state) {
43
+ return state.setIsSlidesNavigatorOpen;
44
+ });
37
45
  var shouldShowRightPanelInitially = BuilderContext.useBuilderStore(function (state) {
38
46
  return state.shouldShowRightPanelInitially;
39
47
  });
@@ -43,6 +51,12 @@ var BuilderWrapper = function BuilderWrapper(_ref) {
43
51
  var onPageVisibilityChanged = PropContext.usePropStore(function (state) {
44
52
  return state.onPageVisibilityChanged;
45
53
  });
54
+ var setVisiblePageOrder = BuilderContext.useBuilderStore(function (state) {
55
+ return state.setVisiblePageOrder;
56
+ });
57
+ var slidesListType = BuilderContext.useBuilderStore(function (state) {
58
+ return state.slidesListType;
59
+ });
46
60
  var selectedItems = hooks.useSelectedElements();
47
61
  var prevSelectedItems = hooks.usePrevious(selectedItems);
48
62
  React.useEffect(function () {
@@ -52,13 +66,19 @@ var BuilderWrapper = function BuilderWrapper(_ref) {
52
66
  }, [selectedItems, onSelectedItemsChanged, prevSelectedItems]);
53
67
  var handlePageVisibility = React.useCallback(function (index) {
54
68
  if (index && !Number.isNaN(index)) {
69
+ setVisiblePageOrder(index);
55
70
  onPageVisibilityChanged(index);
56
71
  }
57
- }, [onPageVisibilityChanged]); // for initial page visibility check and slides panel visibility usage
72
+ }, [setVisiblePageOrder, onPageVisibilityChanged]); // for initial page visibility check and slides panel visibility usage
58
73
 
59
74
  var selectedPageIndexReference = isSlidesPanelOpen ? 0 : -1;
60
75
  hooks.usePageVisibility(handlePageVisibility, pageCount, selectedPageIndexReference);
61
76
  hooks.useFitZoom();
77
+ React.useEffect(function () {
78
+ if (functions.slidesAsNavigator(slidesListType)) {
79
+ setIsSlidesNavigatorOpen(true);
80
+ }
81
+ }, [slidesListType, setIsSlidesNavigatorOpen]);
62
82
  React.useEffect(function () {
63
83
  if (!decidedWhichPanelToOpen.current) {
64
84
  if (pageCount > 1) {
@@ -77,10 +97,12 @@ var BuilderWrapper = function BuilderWrapper(_ref) {
77
97
 
78
98
  decidedWhichPanelToOpen.current = true;
79
99
  }
80
- }, [pageCount, isLeftPanelOpen, isSlidesPanelOpen, setIsLeftPanelOpen, setIsSlidesPanelOpen, shouldShowRightPanelInitially]);
81
- return /*#__PURE__*/jsxRuntime.jsx(ReportWrapper, {
82
- mode: "customize",
83
- children: children
100
+ }, [pageCount, isLeftPanelOpen, isSlidesPanelOpen, isSlidesNavigatorOpen, setIsLeftPanelOpen, setIsSlidesPanelOpen, setIsSlidesNavigatorOpen, shouldShowRightPanelInitially]);
101
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
102
+ children: [functions.slidesAsNavigator(slidesListType) && /*#__PURE__*/jsxRuntime.jsx(SlidesNavigator, {}), /*#__PURE__*/jsxRuntime.jsx(ReportWrapper, {
103
+ mode: "customize",
104
+ children: children
105
+ })]
84
106
  });
85
107
  };
86
108
 
@@ -1 +1 @@
1
- {"version":3,"file":"BuilderWrapper.js","sources":["../../../../src/components/Builder/BuilderWrapper.js"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport ReportWrapper from '../ReportWrapper';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport {\n useFitZoom, usePageVisibility, usePrevious, useSelectedElements,\n} from '../../utils/hooks';\n\nconst BuilderWrapper = ({ children }) => {\n const decidedWhichPanelToOpen = useRef(false);\n\n const pageCount = usePropStore(state => state.pages.length);\n const isLeftPanelOpen = useBuilderStore(state => state.isLeftPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const setIsLeftPanelOpen = useBuilderStore(state => state.setIsLeftPanelOpen);\n const setIsSlidesPanelOpen = useBuilderStore(state => state.setIsSlidesPanelOpen);\n const shouldShowRightPanelInitially = useBuilderStore(state => state.shouldShowRightPanelInitially);\n const onSelectedItemsChanged = usePropStore(state => state.onSelectedItemsChanged);\n const onPageVisibilityChanged = usePropStore(state => state.onPageVisibilityChanged);\n const selectedItems = useSelectedElements();\n const prevSelectedItems = usePrevious(selectedItems);\n\n useEffect(() => {\n if (prevSelectedItems && !isEqual(prevSelectedItems, selectedItems)) {\n onSelectedItemsChanged(selectedItems);\n }\n }, [\n selectedItems,\n onSelectedItemsChanged,\n prevSelectedItems,\n ]);\n\n const handlePageVisibility = useCallback(index => {\n if (index && !Number.isNaN(index)) {\n onPageVisibilityChanged(index);\n }\n }, [onPageVisibilityChanged]);\n\n // for initial page visibility check and slides panel visibility usage\n const selectedPageIndexReference = isSlidesPanelOpen ? 0 : -1;\n usePageVisibility(handlePageVisibility, pageCount, selectedPageIndexReference);\n\n useFitZoom();\n\n useEffect(() => {\n if (!decidedWhichPanelToOpen.current) {\n if (pageCount > 1) {\n if (isLeftPanelOpen) {\n setIsLeftPanelOpen(false);\n }\n setIsSlidesPanelOpen(shouldShowRightPanelInitially);\n } else {\n if (isSlidesPanelOpen) {\n setIsSlidesPanelOpen(false);\n }\n setIsLeftPanelOpen(true);\n }\n\n decidedWhichPanelToOpen.current = true;\n }\n }, [\n pageCount,\n isLeftPanelOpen,\n isSlidesPanelOpen,\n setIsLeftPanelOpen,\n setIsSlidesPanelOpen,\n shouldShowRightPanelInitially,\n ]);\n\n return (\n <ReportWrapper mode=\"customize\">\n {children}\n </ReportWrapper>\n );\n};\n\nBuilderWrapper.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default BuilderWrapper;\n"],"names":["BuilderWrapper","children","decidedWhichPanelToOpen","useRef","pageCount","usePropStore","state","pages","length","isLeftPanelOpen","useBuilderStore","isSlidesPanelOpen","setIsLeftPanelOpen","setIsSlidesPanelOpen","shouldShowRightPanelInitially","onSelectedItemsChanged","onPageVisibilityChanged","selectedItems","useSelectedElements","prevSelectedItems","usePrevious","useEffect","isEqual","handlePageVisibility","useCallback","index","Number","isNaN","selectedPageIndexReference","usePageVisibility","useFitZoom","current","_jsx","propTypes","PropTypes","node","isRequired"],"mappings":"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"}
1
+ {"version":3,"file":"BuilderWrapper.js","sources":["../../../../src/components/Builder/BuilderWrapper.js"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport ReportWrapper from '../ReportWrapper';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport {\n useFitZoom, usePageVisibility, usePrevious, useSelectedElements,\n} from '../../utils/hooks';\nimport SlidesNavigator from '../Panels/SlidesNavigator/SlidesNavigator';\nimport { slidesAsNavigator } from '../../utils/functions';\n\nconst BuilderWrapper = ({ children }) => {\n const decidedWhichPanelToOpen = useRef(false);\n\n const pageCount = usePropStore(state => state.pages.length);\n const isLeftPanelOpen = useBuilderStore(state => state.isLeftPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const isSlidesNavigatorOpen = useBuilderStore(state => state.isSlidesNavigatorOpen);\n const setIsLeftPanelOpen = useBuilderStore(state => state.setIsLeftPanelOpen);\n const setIsSlidesPanelOpen = useBuilderStore(state => state.setIsSlidesPanelOpen);\n const setIsSlidesNavigatorOpen = useBuilderStore(state => state.setIsSlidesNavigatorOpen);\n const shouldShowRightPanelInitially = useBuilderStore(state => state.shouldShowRightPanelInitially);\n const onSelectedItemsChanged = usePropStore(state => state.onSelectedItemsChanged);\n const onPageVisibilityChanged = usePropStore(state => state.onPageVisibilityChanged);\n const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n const slidesListType = useBuilderStore(state => state.slidesListType);\n const selectedItems = useSelectedElements();\n const prevSelectedItems = usePrevious(selectedItems);\n\n useEffect(() => {\n if (prevSelectedItems && !isEqual(prevSelectedItems, selectedItems)) {\n onSelectedItemsChanged(selectedItems);\n }\n }, [\n selectedItems,\n onSelectedItemsChanged,\n prevSelectedItems,\n ]);\n\n const handlePageVisibility = useCallback(index => {\n if (index && !Number.isNaN(index)) {\n setVisiblePageOrder(index);\n onPageVisibilityChanged(index);\n }\n }, [setVisiblePageOrder, onPageVisibilityChanged]);\n\n // for initial page visibility check and slides panel visibility usage\n const selectedPageIndexReference = isSlidesPanelOpen ? 0 : -1;\n usePageVisibility(handlePageVisibility, pageCount, selectedPageIndexReference);\n\n useFitZoom();\n\n useEffect(() => {\n if (slidesAsNavigator(slidesListType)) {\n setIsSlidesNavigatorOpen(true);\n }\n }, [slidesListType, setIsSlidesNavigatorOpen]);\n\n useEffect(() => {\n if (!decidedWhichPanelToOpen.current) {\n if (pageCount > 1) {\n if (isLeftPanelOpen) {\n setIsLeftPanelOpen(false);\n }\n setIsSlidesPanelOpen(shouldShowRightPanelInitially);\n } else {\n if (isSlidesPanelOpen) {\n setIsSlidesPanelOpen(false);\n }\n setIsLeftPanelOpen(true);\n }\n\n decidedWhichPanelToOpen.current = true;\n }\n }, [\n pageCount,\n isLeftPanelOpen,\n isSlidesPanelOpen,\n isSlidesNavigatorOpen,\n setIsLeftPanelOpen,\n setIsSlidesPanelOpen,\n setIsSlidesNavigatorOpen,\n shouldShowRightPanelInitially,\n ]);\n\n return (\n <>\n {slidesAsNavigator(slidesListType) && <SlidesNavigator />}\n <ReportWrapper mode=\"customize\">\n {children}\n </ReportWrapper>\n </>\n );\n};\n\nBuilderWrapper.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default BuilderWrapper;\n"],"names":["BuilderWrapper","children","decidedWhichPanelToOpen","useRef","pageCount","usePropStore","state","pages","length","isLeftPanelOpen","useBuilderStore","isSlidesPanelOpen","isSlidesNavigatorOpen","setIsLeftPanelOpen","setIsSlidesPanelOpen","setIsSlidesNavigatorOpen","shouldShowRightPanelInitially","onSelectedItemsChanged","onPageVisibilityChanged","setVisiblePageOrder","slidesListType","selectedItems","useSelectedElements","prevSelectedItems","usePrevious","useEffect","isEqual","handlePageVisibility","useCallback","index","Number","isNaN","selectedPageIndexReference","usePageVisibility","useFitZoom","slidesAsNavigator","current","_jsxs","_jsx","propTypes","PropTypes","node","isRequired"],"mappings":"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"}
@@ -12,8 +12,6 @@ var jsxRuntime = require('react/jsx-runtime');
12
12
  var page_settings = require('../../assets/svg/page_settings.svg.js');
13
13
  var duplicate = require('../../assets/svg/duplicate.svg.js');
14
14
  var trash = require('../../assets/svg/trash.svg.js');
15
- var angle_up = require('../../assets/svg/angle_up.svg.js');
16
- var angle_down = require('../../assets/svg/angle_down.svg.js');
17
15
  var plus = require('../../assets/svg/plus.svg.js');
18
16
 
19
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -28,7 +26,7 @@ var PageActions = function PageActions(_ref) {
28
26
  var pages = PropContext.usePropStore(function (state) {
29
27
  return state.pages;
30
28
  });
31
- var pageCount = pages.length;
29
+ pages.length;
32
30
  var onAnEventTrigger = PropContext.usePropStore(function (state) {
33
31
  return state.onAnEventTrigger;
34
32
  });
@@ -38,7 +36,7 @@ var PageActions = function PageActions(_ref) {
38
36
  var onPageDuplicate = PropContext.usePropStore(function (state) {
39
37
  return state.onPageDuplicate;
40
38
  });
41
- var onPageOrdersChange = PropContext.usePropStore(function (state) {
39
+ PropContext.usePropStore(function (state) {
42
40
  return state.onPageOrdersChange;
43
41
  });
44
42
  var onPageRemove = PropContext.usePropStore(function (state) {
@@ -75,25 +73,6 @@ var PageActions = function PageActions(_ref) {
75
73
  onAnEventTrigger('removePage', pageID);
76
74
  };
77
75
 
78
- var changeOrder = function changeOrder(direction) {
79
- return function () {
80
- var pageIndex = pages.findIndex(function (page) {
81
- return page.id === pageID;
82
- });
83
- var editedPages = functions.moveItemInArrayFromIndexToIndex(pages, pageIndex, pageIndex + direction);
84
- var pageOrders = editedPages.reduce(function (acc, page, index) {
85
- var newOrder = index + 1;
86
- acc[page.id] = {
87
- order: newOrder
88
- };
89
- return acc;
90
- }, {});
91
- onPageOrdersChange(pageOrders);
92
- functions.scrollToTarget("pageActions-id-".concat(order + direction));
93
- onAnEventTrigger('changePageOrder', direction);
94
- };
95
- };
96
-
97
76
  var onPageDuplicateClick = function onPageDuplicateClick() {
98
77
  var foundPage = pages.find(function (page) {
99
78
  return page.id === pageID;
@@ -105,19 +84,16 @@ var PageActions = function PageActions(_ref) {
105
84
 
106
85
  var _useTranslatedTexts = hooks.useTranslatedTexts(),
107
86
  ADD_NEW_PAGE = _useTranslatedTexts.ADD_NEW_PAGE,
108
- DUPLICATE_PAGE = _useTranslatedTexts.DUPLICATE_PAGE,
109
- MOVE_PAGE_DOWNWARDS = _useTranslatedTexts.MOVE_PAGE_DOWNWARDS,
110
- MOVE_PAGE_UPWARDS = _useTranslatedTexts.MOVE_PAGE_UPWARDS,
111
- PAGE_SETTINGS = _useTranslatedTexts.PAGE_SETTINGS,
87
+ DUPLICATE_PAGE = _useTranslatedTexts.DUPLICATE_PAGE;
88
+ _useTranslatedTexts.MOVE_PAGE_DOWNWARDS;
89
+ _useTranslatedTexts.MOVE_PAGE_UPWARDS;
90
+ var PAGE_SETTINGS = _useTranslatedTexts.PAGE_SETTINGS,
112
91
  REMOVE_PAGE = _useTranslatedTexts.REMOVE_PAGE;
113
92
 
114
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
93
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
115
94
  className: "jfReport-pageInfo d-flex j-center",
116
95
  id: "pageActions-id-".concat(order),
117
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
118
- className: "pageCounter p-relative d-flex",
119
- children: "".concat(order)
120
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
96
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
121
97
  className: "floatingController page-toolbar".concat(isSelectedItemExists ? ' disabled' : ''),
122
98
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
123
99
  className: "floatingController-container",
@@ -148,26 +124,7 @@ var PageActions = function PageActions(_ref) {
148
124
  className: "toolbar-icon"
149
125
  })
150
126
  }, "Remove Slide")]
151
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
152
- className: "floatingController-container",
153
- children: [/*#__PURE__*/jsxRuntime.jsx("button", {
154
- className: "controllerItem".concat(order === 1 ? ' disabled' : ''),
155
- onClick: changeOrder(-1),
156
- title: MOVE_PAGE_UPWARDS,
157
- type: "button",
158
- children: /*#__PURE__*/jsxRuntime.jsx(angle_up, {
159
- className: "toolbar-icon"
160
- })
161
- }, "Move Page Upwards"), /*#__PURE__*/jsxRuntime.jsx("button", {
162
- className: "controllerItem".concat(order === pageCount ? ' disabled' : ''),
163
- onClick: changeOrder(1),
164
- title: MOVE_PAGE_DOWNWARDS,
165
- type: "button",
166
- children: /*#__PURE__*/jsxRuntime.jsx(angle_down, {
167
- className: "toolbar-icon"
168
- })
169
- }, "Move Page Downwards")]
170
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
127
+ }), false , /*#__PURE__*/jsxRuntime.jsx("div", {
171
128
  className: "floatingController-container",
172
129
  children: /*#__PURE__*/jsxRuntime.jsx("button", {
173
130
  className: "controllerItem primary",
@@ -180,7 +137,7 @@ var PageActions = function PageActions(_ref) {
180
137
  })
181
138
  }, "Add Slide")
182
139
  })]
183
- })]
140
+ })
184
141
  });
185
142
  };
186
143
 
@@ -1 +1 @@
1
- {"version":3,"file":"PageActions.js","sources":["../../../../src/components/Builder/PageActions.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useMemo } from 'react';\nimport * as icons from '../../utils/icons';\nimport { moveItemInArrayFromIndexToIndex, scrollToTarget } from '../../utils/functions';\nimport { useSelectedElements, 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 selectedItems = useSelectedElements();\n const isSelectedItemExists = useMemo(() => selectedItems?.length > 0, [selectedItems]);\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${isSelectedItemExists ? ' disabled' : ''}`}>\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","selectedItems","useSelectedElements","isSelectedItemExists","useMemo","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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"}
1
+ {"version":3,"file":"PageActions.js","sources":["../../../../src/components/Builder/PageActions.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useMemo } from 'react';\nimport * as icons from '../../utils/icons';\nimport { moveItemInArrayFromIndexToIndex, scrollToTarget } from '../../utils/functions';\nimport { useSelectedElements, 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 selectedItems = useSelectedElements();\n const isSelectedItemExists = useMemo(() => selectedItems?.length > 0, [selectedItems]);\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={`floatingController page-toolbar${isSelectedItemExists ? ' disabled' : ''}`}>\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 {false && (\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 )}\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","length","onAnEventTrigger","onPageAdd","onPageDuplicate","onPageOrdersChange","onPageRemove","disableInteraction","setIsRightPanelOpen","useBuilderStore","setEditedElement","selectedItems","useSelectedElements","isSelectedItemExists","useMemo","pageSettings","onPageAddClick","newPageIndex","scrollToTarget","onPageRemoveClick","onPageDuplicateClick","foundPage","find","page","id","useTranslatedTexts","ADD_NEW_PAGE","DUPLICATE_PAGE","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","PAGE_SETTINGS","REMOVE_PAGE","_jsx","_jsxs","icons.pageSettings","indexOf","icons.duplicate","icons.trash","icons.plus","propTypes","PropTypes","number","string"],"mappings":"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"}
@@ -21,6 +21,8 @@ var functions = require('../../utils/functions.js');
21
21
  var DraggableLayer = require('./DraggableLayer.js');
22
22
  var useKeyboardActions = require('../../utils/useKeyboardActions.js');
23
23
  var useMarqueeSelection = require('../../utils/useMarqueeSelection.js');
24
+ var SlidesNavigatorToggle = require('./SlidesNavigatorToggle.js');
25
+ var panel = require('../../constants/panel.js');
24
26
  var jsxRuntime = require('react/jsx-runtime');
25
27
 
26
28
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -51,6 +53,9 @@ var Scene = function Scene() {
51
53
  var lastScrollPosition = BuilderContext.useBuilderStore(function (state) {
52
54
  return state.lastScrollPosition;
53
55
  });
56
+ var slidesListType = BuilderContext.useBuilderStore(function (state) {
57
+ return state.slidesListType;
58
+ });
54
59
  var pageStyles = React.useRef({});
55
60
  var pageContainerStyles = React.useRef({});
56
61
  var viewPortRef = React.useRef({});
@@ -183,7 +188,10 @@ var Scene = function Scene() {
183
188
  );
184
189
  }), /*#__PURE__*/jsxRuntime.jsx(PageAdder, {})]
185
190
  })
186
- }), /*#__PURE__*/jsxRuntime.jsx(ZoomControls, {}), contextMenuProps && /*#__PURE__*/jsxRuntime.jsx(ContextMenu, {
191
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
192
+ className: "bottom-actions-container",
193
+ children: [slidesListType === panel.SLIDES_LIST_TYPE_MAP.NAVIGATOR && /*#__PURE__*/jsxRuntime.jsx(SlidesNavigatorToggle, {}), /*#__PURE__*/jsxRuntime.jsx(ZoomControls, {})]
194
+ }), contextMenuProps && /*#__PURE__*/jsxRuntime.jsx(ContextMenu, {
187
195
  exceptionalClasses: ['contextMenu-button'],
188
196
  height: height,
189
197
  item: functions.findItemById(contextMenuProps.id, pages),
@@ -1 +1 @@
1
- {"version":3,"file":"Scene.js","sources":["../../../../src/components/Builder/Scene.js"],"sourcesContent":["/* eslint-disable complexity */\nimport {\n createRef,\n Fragment,\n useEffect,\n useRef,\n} from 'react';\nimport * as classNames from '../../constants/classNames';\nimport ContextMenu from './ContextMenu';\nimport PageActions from './PageActions';\nimport PageAdder from './PageAdder';\nimport ZoomControls from './ZoomControls';\nimport SelectionBox from './SelectionBox';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport Page from './Page';\nimport {\n calculateGuidePositions,\n findItemById,\n findItemsOnPage,\n} from '../../utils/functions';\nimport DraggableLayer from './DraggableLayer';\nimport useKeyboardActions from '../../utils/useKeyboardActions';\nimport useMarqueeSelection from '../../utils/useMarqueeSelection';\n\nconst Scene = () => {\n const pages = usePropStore(state => state.pages);\n const settings = usePropStore(state => state.settings);\n const contextMenuProps = useBuilderStore(state => state.contextMenuProps);\n const setContextMenuProps = useBuilderStore(state => state.setContextMenuProps);\n const setGuides = useBuilderStore(state => state.setGuides);\n const zoom = useBuilderStore(state => state.zoom);\n const lastScrollPosition = useBuilderStore(state => state.lastScrollPosition);\n\n const pageStyles = useRef({});\n const pageContainerStyles = useRef({});\n const viewPortRef = useRef({});\n const canvasRef = useRef(null);\n\n /* Page Refs */\n const refs = useRef(pages.reduce((acc, curr) => {\n acc[curr.id] = createRef(null);\n return acc;\n }, {}));\n\n // Custom hooks\n useKeyboardActions();\n const { selectionBox, selectionPageId } = useMarqueeSelection(canvasRef);\n\n // Update refs when new pages are added\n useEffect(() => {\n pages.forEach(page => {\n if (!refs.current[page.id]) {\n refs.current[page.id] = createRef(null);\n }\n });\n }, [pages]);\n\n // Calculate guides for snap functionality\n useEffect(() => {\n setGuides(pages.reduce((acc, page) => {\n const _pageGuides = {};\n const pageRef = refs.current[page.id];\n if (pageRef && pageRef.current) {\n const {\n height, left, top, width,\n } = pageRef.current.getBoundingClientRect();\n const boundingBox = {\n height, left, top, width,\n };\n _pageGuides.boundingBox = {\n x: calculateGuidePositions(boundingBox, 'x').map(value => value - boundingBox.left),\n y: calculateGuidePositions(boundingBox, 'y').map(value => value - boundingBox.top),\n };\n page.items.forEach(item => {\n _pageGuides[item.id] = {\n x: calculateGuidePositions(item, 'x', zoom),\n y: calculateGuidePositions(item, 'y', zoom),\n };\n });\n }\n acc[page.id] = _pageGuides;\n return acc;\n }, {}));\n }, [pages, zoom, setGuides]);\n\n // Restore scroll position after mode change\n useEffect(() => {\n if (viewPortRef.current) {\n viewPortRef.current.scrollTop = lastScrollPosition;\n }\n }, [lastScrollPosition]);\n\n const { reportLayoutHeight = 794, reportLayoutWidth = 1123 } = settings;\n\n // TODO: Some strange shit is going on here on first render\n let width = parseInt(reportLayoutWidth, 10);\n let height = parseInt(reportLayoutHeight, 10);\n width = Number.isNaN(width) ? 1 : width;\n height = Number.isNaN(height) ? 1 : height;\n const zoomToUse = Number.isNaN(zoom) ? 1 : zoom;\n\n pageStyles.current = {\n height: parseFloat((height * zoomToUse).toFixed(1)),\n width: parseFloat((width * zoomToUse).toFixed(1)),\n };\n pageContainerStyles.current = {\n height,\n transform: `scale(${zoomToUse})`,\n transformOrigin: '0 0',\n width,\n };\n\n return (\n <main // Builder.js\n className={classNames.mainWrapper}\n >\n <DraggableLayer\n pageRefs={refs.current}\n />\n <div\n ref={viewPortRef}\n className={classNames.viewport}\n data-zoom={zoom}\n >\n <div\n ref={canvasRef}\n className={classNames.canvas}\n >\n {pages.map((page, index) => (\n // TODO: This part can be moved into a different component\n <Fragment key={page.id}>\n <PageActions\n order={page.order}\n pageID={page.id}\n />\n <div\n key={`page_${page.id}`}\n ref={refs.current[page.id]}\n className={classNames.page}\n data-id={page.id}\n data-order={page.order}\n id={`presentation-page-${page.id.toString()}`}\n style={{ ...pageStyles.current, position: 'relative' }}\n >\n <Page\n items={page.items}\n page={page}\n pageIndex={index}\n style={pageContainerStyles.current}\n />\n {selectionPageId === page.id && selectionBox && (\n <SelectionBox selectionBox={selectionBox} />\n )}\n </div>\n </Fragment>\n ))}\n <PageAdder />\n </div>\n </div>\n <ZoomControls />\n {contextMenuProps\n && (\n <ContextMenu\n exceptionalClasses={['contextMenu-button']}\n height={height}\n item={findItemById(contextMenuProps.id, pages)}\n items={findItemsOnPage(contextMenuProps.pageID, pages)}\n onClickOutside={() => setContextMenuProps(null)}\n position={contextMenuProps.position}\n width={width}\n />\n )}\n </main>\n );\n};\n\nexport default Scene;\n"],"names":["Scene","pages","usePropStore","state","settings","contextMenuProps","useBuilderStore","setContextMenuProps","setGuides","zoom","lastScrollPosition","pageStyles","useRef","pageContainerStyles","viewPortRef","canvasRef","refs","reduce","acc","curr","id","createRef","useKeyboardActions","useMarqueeSelection","selectionBox","selectionPageId","useEffect","forEach","page","current","_pageGuides","pageRef","getBoundingClientRect","height","left","top","width","boundingBox","x","calculateGuidePositions","map","value","y","items","item","scrollTop","reportLayoutHeight","reportLayoutWidth","parseInt","Number","isNaN","zoomToUse","parseFloat","toFixed","transform","transformOrigin","_jsxs","classNames","_jsx","index","Fragment","order","toString","position","findItemById","findItemsOnPage","pageID"],"mappings":"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"}
1
+ {"version":3,"file":"Scene.js","sources":["../../../../src/components/Builder/Scene.js"],"sourcesContent":["/* eslint-disable complexity */\nimport {\n createRef,\n Fragment,\n useEffect,\n useRef,\n} from 'react';\nimport * as classNames from '../../constants/classNames';\nimport ContextMenu from './ContextMenu';\nimport PageActions from './PageActions';\nimport PageAdder from './PageAdder';\nimport ZoomControls from './ZoomControls';\nimport SelectionBox from './SelectionBox';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport Page from './Page';\nimport {\n calculateGuidePositions,\n findItemById,\n findItemsOnPage,\n} from '../../utils/functions';\nimport DraggableLayer from './DraggableLayer';\nimport useKeyboardActions from '../../utils/useKeyboardActions';\nimport useMarqueeSelection from '../../utils/useMarqueeSelection';\nimport SlidesNavigatorToggle from './SlidesNavigatorToggle';\nimport { SLIDES_LIST_TYPE_MAP } from '../../constants/panel';\n\nconst Scene = () => {\n const pages = usePropStore(state => state.pages);\n const settings = usePropStore(state => state.settings);\n const contextMenuProps = useBuilderStore(state => state.contextMenuProps);\n const setContextMenuProps = useBuilderStore(state => state.setContextMenuProps);\n const setGuides = useBuilderStore(state => state.setGuides);\n const zoom = useBuilderStore(state => state.zoom);\n const lastScrollPosition = useBuilderStore(state => state.lastScrollPosition);\n const slidesListType = useBuilderStore(state => state.slidesListType);\n\n const pageStyles = useRef({});\n const pageContainerStyles = useRef({});\n const viewPortRef = useRef({});\n const canvasRef = useRef(null);\n\n /* Page Refs */\n const refs = useRef(pages.reduce((acc, curr) => {\n acc[curr.id] = createRef(null);\n return acc;\n }, {}));\n\n // Custom hooks\n useKeyboardActions();\n const { selectionBox, selectionPageId } = useMarqueeSelection(canvasRef);\n\n // Update refs when new pages are added\n useEffect(() => {\n pages.forEach(page => {\n if (!refs.current[page.id]) {\n refs.current[page.id] = createRef(null);\n }\n });\n }, [pages]);\n\n // Calculate guides for snap functionality\n useEffect(() => {\n setGuides(pages.reduce((acc, page) => {\n const _pageGuides = {};\n const pageRef = refs.current[page.id];\n if (pageRef && pageRef.current) {\n const {\n height, left, top, width,\n } = pageRef.current.getBoundingClientRect();\n const boundingBox = {\n height, left, top, width,\n };\n _pageGuides.boundingBox = {\n x: calculateGuidePositions(boundingBox, 'x').map(value => value - boundingBox.left),\n y: calculateGuidePositions(boundingBox, 'y').map(value => value - boundingBox.top),\n };\n page.items.forEach(item => {\n _pageGuides[item.id] = {\n x: calculateGuidePositions(item, 'x', zoom),\n y: calculateGuidePositions(item, 'y', zoom),\n };\n });\n }\n acc[page.id] = _pageGuides;\n return acc;\n }, {}));\n }, [pages, zoom, setGuides]);\n\n // Restore scroll position after mode change\n useEffect(() => {\n if (viewPortRef.current) {\n viewPortRef.current.scrollTop = lastScrollPosition;\n }\n }, [lastScrollPosition]);\n\n const { reportLayoutHeight = 794, reportLayoutWidth = 1123 } = settings;\n\n // TODO: Some strange shit is going on here on first render\n let width = parseInt(reportLayoutWidth, 10);\n let height = parseInt(reportLayoutHeight, 10);\n width = Number.isNaN(width) ? 1 : width;\n height = Number.isNaN(height) ? 1 : height;\n const zoomToUse = Number.isNaN(zoom) ? 1 : zoom;\n\n pageStyles.current = {\n height: parseFloat((height * zoomToUse).toFixed(1)),\n width: parseFloat((width * zoomToUse).toFixed(1)),\n };\n pageContainerStyles.current = {\n height,\n transform: `scale(${zoomToUse})`,\n transformOrigin: '0 0',\n width,\n };\n\n return (\n <main // Builder.js\n className={classNames.mainWrapper}\n >\n <DraggableLayer\n pageRefs={refs.current}\n />\n <div\n ref={viewPortRef}\n className={classNames.viewport}\n data-zoom={zoom}\n >\n <div\n ref={canvasRef}\n className={classNames.canvas}\n >\n {pages.map((page, index) => (\n // TODO: This part can be moved into a different component\n <Fragment key={page.id}>\n <PageActions\n order={page.order}\n pageID={page.id}\n />\n <div\n key={`page_${page.id}`}\n ref={refs.current[page.id]}\n className={classNames.page}\n data-id={page.id}\n data-order={page.order}\n id={`presentation-page-${page.id.toString()}`}\n style={{ ...pageStyles.current, position: 'relative' }}\n >\n <Page\n items={page.items}\n page={page}\n pageIndex={index}\n style={pageContainerStyles.current}\n />\n {selectionPageId === page.id && selectionBox && (\n <SelectionBox selectionBox={selectionBox} />\n )}\n </div>\n </Fragment>\n ))}\n <PageAdder />\n </div>\n </div>\n <div className=\"bottom-actions-container\">\n {slidesListType === SLIDES_LIST_TYPE_MAP.NAVIGATOR && <SlidesNavigatorToggle />}\n <ZoomControls />\n </div>\n {contextMenuProps\n && (\n <ContextMenu\n exceptionalClasses={['contextMenu-button']}\n height={height}\n item={findItemById(contextMenuProps.id, pages)}\n items={findItemsOnPage(contextMenuProps.pageID, pages)}\n onClickOutside={() => setContextMenuProps(null)}\n position={contextMenuProps.position}\n width={width}\n />\n )}\n </main>\n );\n};\n\nexport default Scene;\n"],"names":["Scene","pages","usePropStore","state","settings","contextMenuProps","useBuilderStore","setContextMenuProps","setGuides","zoom","lastScrollPosition","slidesListType","pageStyles","useRef","pageContainerStyles","viewPortRef","canvasRef","refs","reduce","acc","curr","id","createRef","useKeyboardActions","useMarqueeSelection","selectionBox","selectionPageId","useEffect","forEach","page","current","_pageGuides","pageRef","getBoundingClientRect","height","left","top","width","boundingBox","x","calculateGuidePositions","map","value","y","items","item","scrollTop","reportLayoutHeight","reportLayoutWidth","parseInt","Number","isNaN","zoomToUse","parseFloat","toFixed","transform","transformOrigin","_jsxs","classNames","_jsx","index","Fragment","order","toString","position","SLIDES_LIST_TYPE_MAP","NAVIGATOR","findItemById","findItemsOnPage","pageID"],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ var BuilderContext = require('../../contexts/BuilderContext.js');
4
+ var hooks = require('../../utils/hooks.js');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var slides = require('../../assets/svg/slides.svg.js');
7
+
8
+ var SlidesNavigatorToggle = function SlidesNavigatorToggle() {
9
+ var setIsSlidesNavigatorOpen = BuilderContext.useBuilderStore(function (state) {
10
+ return state.setIsSlidesNavigatorOpen;
11
+ });
12
+ var isSlidesNavigatorOpen = BuilderContext.useBuilderStore(function (state) {
13
+ return state.isSlidesNavigatorOpen;
14
+ });
15
+
16
+ var _useTranslatedTexts = hooks.useTranslatedTexts(),
17
+ SLIDES_NAVIGATOR_TOGGLE = _useTranslatedTexts.SLIDES_NAVIGATOR_TOGGLE;
18
+
19
+ var slidesNavigatorToggleHandler = function slidesNavigatorToggleHandler() {
20
+ setIsSlidesNavigatorOpen(!isSlidesNavigatorOpen);
21
+ };
22
+
23
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
24
+ className: "floatingController slides-navigator-toggle",
25
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
26
+ className: "floatingController-container",
27
+ children: /*#__PURE__*/jsxRuntime.jsx("button", {
28
+ className: "controllerItem",
29
+ onClick: slidesNavigatorToggleHandler,
30
+ title: SLIDES_NAVIGATOR_TOGGLE,
31
+ type: "button",
32
+ children: /*#__PURE__*/jsxRuntime.jsx(slides, {
33
+ className: "toolbar-icon"
34
+ })
35
+ })
36
+ })
37
+ });
38
+ };
39
+
40
+ module.exports = SlidesNavigatorToggle;
41
+ //# sourceMappingURL=SlidesNavigatorToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlidesNavigatorToggle.js","sources":["../../../../src/components/Builder/SlidesNavigatorToggle.js"],"sourcesContent":["import { useBuilderStore } from '../../contexts/BuilderContext';\nimport { useTranslatedTexts } from '../../utils/hooks';\nimport * as icons from '../../utils/icons';\n\nconst SlidesNavigatorToggle = () => {\n const setIsSlidesNavigatorOpen = useBuilderStore(state => state.setIsSlidesNavigatorOpen);\n const isSlidesNavigatorOpen = useBuilderStore(state => state.isSlidesNavigatorOpen);\n const { SLIDES_NAVIGATOR_TOGGLE } = useTranslatedTexts();\n\n const slidesNavigatorToggleHandler = () => {\n setIsSlidesNavigatorOpen(!isSlidesNavigatorOpen);\n };\n\n return (\n <div className=\"floatingController slides-navigator-toggle\">\n <div className=\"floatingController-container\">\n <button\n className=\"controllerItem\"\n onClick={slidesNavigatorToggleHandler}\n title={SLIDES_NAVIGATOR_TOGGLE}\n type=\"button\"\n >\n <icons.slides className=\"toolbar-icon\" />\n </button>\n </div>\n </div>\n );\n};\n\nexport default SlidesNavigatorToggle;\n"],"names":["SlidesNavigatorToggle","setIsSlidesNavigatorOpen","useBuilderStore","state","isSlidesNavigatorOpen","useTranslatedTexts","SLIDES_NAVIGATOR_TOGGLE","slidesNavigatorToggleHandler","_jsx","icons.slides"],"mappings":";;;;;;;IAIMA,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM;AAClC,MAAMC,wBAAwB,GAAGC,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,wBAAV;AAAA,GAAN,CAAhD;AACA,MAAMG,qBAAqB,GAAGF,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,qBAAV;AAAA,GAAN,CAA7C;;AACA,4BAAoCC,wBAAkB,EAAtD;AAAA,MAAQC,uBAAR,uBAAQA,uBAAR;;AAEA,MAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,GAAM;AACzCN,IAAAA,wBAAwB,CAAC,CAACG,qBAAF,CAAxB;AACD,GAFD;;AAIA,sBACEI;AAAK,IAAA,SAAS,EAAC,4CAAf;AAAA,2BACEA;AAAK,MAAA,SAAS,EAAC,8BAAf;AAAA,6BACEA;AACE,QAAA,SAAS,EAAC,gBADZ;AAEE,QAAA,OAAO,EAAED,4BAFX;AAGE,QAAA,KAAK,EAAED,uBAHT;AAIE,QAAA,IAAI,EAAC,QAJP;AAAA,+BAMEE,eAACC,MAAD;AAAc,UAAA,SAAS,EAAC;AAAxB;AANF;AADF;AADF,IADF;AAcD;;;;"}
@@ -49,7 +49,7 @@ var enableResize = {
49
49
  topRight: true
50
50
  };
51
51
  var lockAspectRatioTypes = ['image', 'icon'];
52
- var exceptionalClasses = ['reportHandle', 'report-item-toolbar', 'jfReport-pane', 'pageSettingSideBtn', 'reportItemWrapper', 'reportRotater', 'forZoom', 'ql-toolbar', 'jSheetContextMenu', 'reset-default-contextMenu'];
52
+ var exceptionalClasses = ['reportHandle', 'report-item-toolbar', 'jfReport-pane', 'pageSettingSideBtn', 'reportItemWrapper', 'reportRotater', 'forZoom', 'ql-toolbar', 'jSheetContextMenu', 'reset-default-contextMenu', 'slides-navigator-toggle', 'slides-navigator'];
53
53
 
54
54
  var PageItemResizer = function PageItemResizer(_ref) {
55
55
  var item = _ref.item,
@@ -1 +1 @@
1
- {"version":3,"file":"PageItemResizer.js","sources":["../../../src/components/PageItemResizer.js"],"sourcesContent":["import {\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Resizable } from 're-resizable';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport { resizeStaticProps } from '../constants/staticProps';\nimport TextEditorToolbar from './TextEditor/CustomToolbar';\n\nimport DraggableItemActions from './DraggableItem/DraggableItemActions';\nimport ItemPositioner from './ItemPositioner';\nimport withClickOutside from './withClickOutside';\nimport { useBuilderStore } from '../contexts/BuilderContext';\n\nconst exceptionalClassesForClickOutside = ['contextMenu-itemLabel', 'contextMenu-item'];\nconst ResizableWithClickOutside = withClickOutside(Resizable);\n\nconst enableResize = {\n bottom: true,\n bottomLeft: true,\n bottomRight: true,\n left: true,\n right: true,\n top: true,\n topLeft: true,\n topRight: true,\n};\nconst lockAspectRatioTypes = ['image', 'icon'];\nconst exceptionalClasses = [\n 'reportHandle',\n 'report-item-toolbar',\n 'jfReport-pane',\n 'pageSettingSideBtn',\n 'reportItemWrapper',\n 'reportRotater',\n 'forZoom',\n 'ql-toolbar',\n 'jSheetContextMenu',\n 'reset-default-contextMenu',\n];\n\nconst PageItemResizer = ({\n item,\n onResize,\n onResizeStop,\n}) => {\n const zoom = useBuilderStore(state => state.zoom);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const isMultipleItemSelected = useBuilderStore(state => state.activeElements.length > 1);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n\n const requestRef = useRef();\n const [lockAspectRatio, setLockAspectRatio] = useState(false);\n\n const handleKeyUp = e => {\n if (!e.shiftKey) setLockAspectRatio(false);\n };\n\n const handleKeyDown = e => {\n if (e.shiftKey) setLockAspectRatio(true);\n };\n\n const seriousResize = (deltaWidth, deltaHeight, direction) => {\n return () => {\n onResize(deltaWidth, deltaHeight, direction);\n requestRef.current = undefined;\n };\n };\n\n const onResizeStart = e => {\n e.preventDefault();\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n };\n\n const onResizeRAF = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n if (!requestRef.current) {\n requestRef.current = global\n .requestAnimationFrame(\n seriousResize(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n ),\n );\n }\n };\n\n const onResizeEnd = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n onResizeStop(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n );\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n\n const onClickOutside = event => {\n // clickoutside should not work for scrollbar\n const viewPort = document.querySelector('.jfReport-viewport');\n const { clientHeight, offsetHeight } = viewPort;\n const headerHeight = window.innerHeight - offsetHeight;\n if (event.clientY - headerHeight >= clientHeight\n || Array.from(event.target.classList)\n .some(xClass => exceptionalClassesForClickOutside.includes(xClass))) {\n return;\n }\n setIsRightPanelOpen(false);\n resetActiveElements();\n if (document.activeElement) {\n document.activeElement.blur();\n }\n };\n\n const itemPositionerStyle = useMemo(() => ({\n height: Math.round(item.height * zoom),\n left: Math.round(item.left * zoom),\n pointerEvents: 'none',\n position: 'absolute',\n top: Math.round(item.top * zoom),\n touchAction: 'none',\n width: Math.round(item.width * zoom),\n }), [item.height, item.left, item.top, item.width, zoom]);\n\n const size = useMemo(() => ({\n height: Math.round(item.height * zoom),\n width: Math.round(item.width * zoom),\n }), [item.height, item.width, zoom]);\n\n const { isLocked } = item;\n\n return createPortal(\n <ItemPositioner\n style={itemPositionerStyle}\n >\n <ResizableWithClickOutside\n className={classNames(\n 'reportItemResizer',\n { hideVerticalHandle: !(item.height > 50) },\n { hideHorizontalHandle: !(item.width > 50) },\n )}\n enable={!item.isLocked && enableResize}\n exceptionalClasses={exceptionalClasses}\n lockAspectRatio={lockAspectRatioTypes.includes(item.itemType) || lockAspectRatio}\n onClickOutside={onClickOutside}\n onResize={onResizeRAF}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeEnd}\n size={size}\n {...resizeStaticProps}\n withClickOutsideWrapperClass={`reportItemResizer-wrapper${isLocked ? ' isLocked' : ''}`}\n />\n {!isMultipleItemSelected && <DraggableItemActions />}\n {isTextEditorOpen && (\n <TextEditorToolbar\n itemWidth={item.width * zoom}\n />\n )}\n </ItemPositioner>,\n document.querySelector(`.jfReport-page[data-id=\"${item.pageID}\"]`),\n );\n};\n\nexport default PageItemResizer;\n"],"names":["exceptionalClassesForClickOutside","ResizableWithClickOutside","withClickOutside","Resizable","enableResize","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","lockAspectRatioTypes","exceptionalClasses","PageItemResizer","item","onResize","onResizeStop","zoom","useBuilderStore","state","setIsRightPanelOpen","resetActiveElements","isMultipleItemSelected","activeElements","length","isTextEditorOpen","requestRef","useRef","useState","lockAspectRatio","setLockAspectRatio","handleKeyUp","e","shiftKey","handleKeyDown","seriousResize","deltaWidth","deltaHeight","direction","current","undefined","onResizeStart","preventDefault","window","addEventListener","onResizeRAF","ref","height","width","global","requestAnimationFrame","Math","round","onResizeEnd","removeEventListener","onClickOutside","event","viewPort","document","querySelector","clientHeight","offsetHeight","headerHeight","innerHeight","clientY","Array","from","target","classList","some","xClass","includes","activeElement","blur","itemPositionerStyle","useMemo","pointerEvents","position","touchAction","size","isLocked","createPortal","_jsxs","_jsx","classNames","hideVerticalHandle","hideHorizontalHandle","itemType","resizeStaticProps","TextEditorToolbar","pageID"],"mappings":"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"}
1
+ {"version":3,"file":"PageItemResizer.js","sources":["../../../src/components/PageItemResizer.js"],"sourcesContent":["import {\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Resizable } from 're-resizable';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport { resizeStaticProps } from '../constants/staticProps';\nimport TextEditorToolbar from './TextEditor/CustomToolbar';\n\nimport DraggableItemActions from './DraggableItem/DraggableItemActions';\nimport ItemPositioner from './ItemPositioner';\nimport withClickOutside from './withClickOutside';\nimport { useBuilderStore } from '../contexts/BuilderContext';\n\nconst exceptionalClassesForClickOutside = ['contextMenu-itemLabel', 'contextMenu-item'];\nconst ResizableWithClickOutside = withClickOutside(Resizable);\n\nconst enableResize = {\n bottom: true,\n bottomLeft: true,\n bottomRight: true,\n left: true,\n right: true,\n top: true,\n topLeft: true,\n topRight: true,\n};\nconst lockAspectRatioTypes = ['image', 'icon'];\nconst exceptionalClasses = [\n 'reportHandle',\n 'report-item-toolbar',\n 'jfReport-pane',\n 'pageSettingSideBtn',\n 'reportItemWrapper',\n 'reportRotater',\n 'forZoom',\n 'ql-toolbar',\n 'jSheetContextMenu',\n 'reset-default-contextMenu',\n 'slides-navigator-toggle',\n 'slides-navigator',\n];\n\nconst PageItemResizer = ({\n item,\n onResize,\n onResizeStop,\n}) => {\n const zoom = useBuilderStore(state => state.zoom);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const isMultipleItemSelected = useBuilderStore(state => state.activeElements.length > 1);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n\n const requestRef = useRef();\n const [lockAspectRatio, setLockAspectRatio] = useState(false);\n\n const handleKeyUp = e => {\n if (!e.shiftKey) setLockAspectRatio(false);\n };\n\n const handleKeyDown = e => {\n if (e.shiftKey) setLockAspectRatio(true);\n };\n\n const seriousResize = (deltaWidth, deltaHeight, direction) => {\n return () => {\n onResize(deltaWidth, deltaHeight, direction);\n requestRef.current = undefined;\n };\n };\n\n const onResizeStart = e => {\n e.preventDefault();\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n };\n\n const onResizeRAF = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n if (!requestRef.current) {\n requestRef.current = global\n .requestAnimationFrame(\n seriousResize(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n ),\n );\n }\n };\n\n const onResizeEnd = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n onResizeStop(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n );\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n\n const onClickOutside = event => {\n // clickoutside should not work for scrollbar\n const viewPort = document.querySelector('.jfReport-viewport');\n const { clientHeight, offsetHeight } = viewPort;\n const headerHeight = window.innerHeight - offsetHeight;\n if (event.clientY - headerHeight >= clientHeight\n || Array.from(event.target.classList)\n .some(xClass => exceptionalClassesForClickOutside.includes(xClass))) {\n return;\n }\n setIsRightPanelOpen(false);\n resetActiveElements();\n if (document.activeElement) {\n document.activeElement.blur();\n }\n };\n\n const itemPositionerStyle = useMemo(() => ({\n height: Math.round(item.height * zoom),\n left: Math.round(item.left * zoom),\n pointerEvents: 'none',\n position: 'absolute',\n top: Math.round(item.top * zoom),\n touchAction: 'none',\n width: Math.round(item.width * zoom),\n }), [item.height, item.left, item.top, item.width, zoom]);\n\n const size = useMemo(() => ({\n height: Math.round(item.height * zoom),\n width: Math.round(item.width * zoom),\n }), [item.height, item.width, zoom]);\n\n const { isLocked } = item;\n\n return createPortal(\n <ItemPositioner\n style={itemPositionerStyle}\n >\n <ResizableWithClickOutside\n className={classNames(\n 'reportItemResizer',\n { hideVerticalHandle: !(item.height > 50) },\n { hideHorizontalHandle: !(item.width > 50) },\n )}\n enable={!item.isLocked && enableResize}\n exceptionalClasses={exceptionalClasses}\n lockAspectRatio={lockAspectRatioTypes.includes(item.itemType) || lockAspectRatio}\n onClickOutside={onClickOutside}\n onResize={onResizeRAF}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeEnd}\n size={size}\n {...resizeStaticProps}\n withClickOutsideWrapperClass={`reportItemResizer-wrapper${isLocked ? ' isLocked' : ''}`}\n />\n {!isMultipleItemSelected && <DraggableItemActions />}\n {isTextEditorOpen && (\n <TextEditorToolbar\n itemWidth={item.width * zoom}\n />\n )}\n </ItemPositioner>,\n document.querySelector(`.jfReport-page[data-id=\"${item.pageID}\"]`),\n );\n};\n\nexport default PageItemResizer;\n"],"names":["exceptionalClassesForClickOutside","ResizableWithClickOutside","withClickOutside","Resizable","enableResize","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","lockAspectRatioTypes","exceptionalClasses","PageItemResizer","item","onResize","onResizeStop","zoom","useBuilderStore","state","setIsRightPanelOpen","resetActiveElements","isMultipleItemSelected","activeElements","length","isTextEditorOpen","requestRef","useRef","useState","lockAspectRatio","setLockAspectRatio","handleKeyUp","e","shiftKey","handleKeyDown","seriousResize","deltaWidth","deltaHeight","direction","current","undefined","onResizeStart","preventDefault","window","addEventListener","onResizeRAF","ref","height","width","global","requestAnimationFrame","Math","round","onResizeEnd","removeEventListener","onClickOutside","event","viewPort","document","querySelector","clientHeight","offsetHeight","headerHeight","innerHeight","clientY","Array","from","target","classList","some","xClass","includes","activeElement","blur","itemPositionerStyle","useMemo","pointerEvents","position","touchAction","size","isLocked","createPortal","_jsxs","_jsx","classNames","hideVerticalHandle","hideHorizontalHandle","itemType","resizeStaticProps","TextEditorToolbar","pageID"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,IAAMA,iCAAiC,GAAG,CAAC,uBAAD,EAA0B,kBAA1B,CAA1C;AACA,IAAMC,yBAAyB,GAAGC,gBAAgB,CAACC,qBAAD,CAAlD;AAEA,IAAMC,YAAY,GAAG;AACnBC,EAAAA,MAAM,EAAE,IADW;AAEnBC,EAAAA,UAAU,EAAE,IAFO;AAGnBC,EAAAA,WAAW,EAAE,IAHM;AAInBC,EAAAA,IAAI,EAAE,IAJa;AAKnBC,EAAAA,KAAK,EAAE,IALY;AAMnBC,EAAAA,GAAG,EAAE,IANc;AAOnBC,EAAAA,OAAO,EAAE,IAPU;AAQnBC,EAAAA,QAAQ,EAAE;AARS,CAArB;AAUA,IAAMC,oBAAoB,GAAG,CAAC,OAAD,EAAU,MAAV,CAA7B;AACA,IAAMC,kBAAkB,GAAG,CACzB,cADyB,EAEzB,qBAFyB,EAGzB,eAHyB,EAIzB,oBAJyB,EAKzB,mBALyB,EAMzB,eANyB,EAOzB,SAPyB,EAQzB,YARyB,EASzB,mBATyB,EAUzB,2BAVyB,EAWzB,yBAXyB,EAYzB,kBAZyB,CAA3B;;IAeMC,eAAe,GAAG,SAAlBA,eAAkB,OAIlB;AAAA,MAHJC,IAGI,QAHJA,IAGI;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADJC,YACI,QADJA,YACI;AACJ,MAAMC,IAAI,GAAGC,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,IAAV;AAAA,GAAN,CAA5B;AACA,MAAMG,mBAAmB,GAAGF,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,mBAAV;AAAA,GAAN,CAA3C;AACA,MAAMC,mBAAmB,GAAGH,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACE,mBAAV;AAAA,GAAN,CAA3C;AACA,MAAMC,sBAAsB,GAAGJ,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACI,cAAN,CAAqBC,MAArB,GAA8B,CAAlC;AAAA,GAAN,CAA9C;AACA,MAAMC,gBAAgB,GAAGP,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACM,gBAAV;AAAA,GAAN,CAAxC;AAEA,MAAMC,UAAU,GAAGC,YAAM,EAAzB;;AACA,kBAA8CC,cAAQ,CAAC,KAAD,CAAtD;AAAA;AAAA,MAAOC,eAAP;AAAA,MAAwBC,kBAAxB;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAAAC,CAAC,EAAI;AACvB,QAAI,CAACA,CAAC,CAACC,QAAP,EAAiBH,kBAAkB,CAAC,KAAD,CAAlB;AAClB,GAFD;;AAIA,MAAMI,aAAa,GAAG,SAAhBA,aAAgB,CAAAF,CAAC,EAAI;AACzB,QAAIA,CAAC,CAACC,QAAN,EAAgBH,kBAAkB,CAAC,IAAD,CAAlB;AACjB,GAFD;;AAIA,MAAMK,aAAa,GAAG,SAAhBA,aAAgB,CAACC,UAAD,EAAaC,WAAb,EAA0BC,SAA1B,EAAwC;AAC5D,WAAO,YAAM;AACXvB,MAAAA,QAAQ,CAACqB,UAAD,EAAaC,WAAb,EAA0BC,SAA1B,CAAR;AACAZ,MAAAA,UAAU,CAACa,OAAX,GAAqBC,SAArB;AACD,KAHD;AAID,GALD;;AAOA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAT,CAAC,EAAI;AACzBA,IAAAA,CAAC,CAACU,cAAF;AACAC,IAAAA,MAAM,CAACC,gBAAP,CAAwB,SAAxB,EAAmCV,aAAnC;AACAS,IAAAA,MAAM,CAACC,gBAAP,CAAwB,OAAxB,EAAiCb,WAAjC;AACD,GAJD;;AAMA,MAAMc,WAAW,GAAG,SAAdA,WAAc,CAACb,CAAD,EAAIM,SAAJ,EAAeQ,GAAf,SAAmE;AAAA,QAArCT,WAAqC,SAA7CU,MAA6C;AAAA,QAAjBX,UAAiB,SAAxBY,KAAwB;;AACrF,QAAI,CAACtB,UAAU,CAACa,OAAhB,EAAyB;AACvBb,MAAAA,UAAU,CAACa,OAAX,GAAqBU,MAAM,CACxBC,qBADkB,CAEjBf,aAAa,CACXgB,IAAI,CAACC,KAAL,CAAWhB,UAAU,IAAI,IAAInB,IAAR,CAArB,CADW,EAEXkC,IAAI,CAACC,KAAL,CAAWf,WAAW,IAAI,IAAIpB,IAAR,CAAtB,CAFW,EAGXqB,SAHW,CAFI,CAArB;AAQD;AACF,GAXD;;AAaA,MAAMe,WAAW,GAAG,SAAdA,WAAc,CAACrB,CAAD,EAAIM,SAAJ,EAAeQ,GAAf,SAAmE;AAAA,QAArCT,WAAqC,SAA7CU,MAA6C;AAAA,QAAjBX,UAAiB,SAAxBY,KAAwB;AACrFhC,IAAAA,YAAY,CACVmC,IAAI,CAACC,KAAL,CAAWhB,UAAU,IAAI,IAAInB,IAAR,CAArB,CADU,EAEVkC,IAAI,CAACC,KAAL,CAAWf,WAAW,IAAI,IAAIpB,IAAR,CAAtB,CAFU,EAGVqB,SAHU,CAAZ;AAKAK,IAAAA,MAAM,CAACW,mBAAP,CAA2B,SAA3B,EAAsCpB,aAAtC;AACAS,IAAAA,MAAM,CAACW,mBAAP,CAA2B,OAA3B,EAAoCvB,WAApC;AACD,GARD;;AAUA,MAAMwB,cAAc,GAAG,SAAjBA,cAAiB,CAAAC,KAAK,EAAI;AAC9B;AACA,QAAMC,QAAQ,GAAGC,QAAQ,CAACC,aAAT,CAAuB,oBAAvB,CAAjB;AACA,QAAQC,YAAR,GAAuCH,QAAvC,CAAQG,YAAR;AAAA,QAAsBC,YAAtB,GAAuCJ,QAAvC,CAAsBI,YAAtB;AACA,QAAMC,YAAY,GAAGnB,MAAM,CAACoB,WAAP,GAAqBF,YAA1C;;AACA,QAAIL,KAAK,CAACQ,OAAN,GAAgBF,YAAhB,IAAgCF,YAAhC,IACGK,KAAK,CAACC,IAAN,CAAWV,KAAK,CAACW,MAAN,CAAaC,SAAxB,EACAC,IADA,CACK,UAAAC,MAAM;AAAA,aAAIxE,iCAAiC,CAACyE,QAAlC,CAA2CD,MAA3C,CAAJ;AAAA,KADX,CADP,EAE2E;AACzE;AACD;;AACDlD,IAAAA,mBAAmB,CAAC,KAAD,CAAnB;AACAC,IAAAA,mBAAmB;;AACnB,QAAIqC,QAAQ,CAACc,aAAb,EAA4B;AAC1Bd,MAAAA,QAAQ,CAACc,aAAT,CAAuBC,IAAvB;AACD;AACF,GAfD;;AAiBA,MAAMC,mBAAmB,GAAGC,aAAO,CAAC;AAAA,WAAO;AACzC5B,MAAAA,MAAM,EAAEI,IAAI,CAACC,KAAL,CAAWtC,IAAI,CAACiC,MAAL,GAAc9B,IAAzB,CADiC;AAEzCX,MAAAA,IAAI,EAAE6C,IAAI,CAACC,KAAL,CAAWtC,IAAI,CAACR,IAAL,GAAYW,IAAvB,CAFmC;AAGzC2D,MAAAA,aAAa,EAAE,MAH0B;AAIzCC,MAAAA,QAAQ,EAAE,UAJ+B;AAKzCrE,MAAAA,GAAG,EAAE2C,IAAI,CAACC,KAAL,CAAWtC,IAAI,CAACN,GAAL,GAAWS,IAAtB,CALoC;AAMzC6D,MAAAA,WAAW,EAAE,MAN4B;AAOzC9B,MAAAA,KAAK,EAAEG,IAAI,CAACC,KAAL,CAAWtC,IAAI,CAACkC,KAAL,GAAa/B,IAAxB;AAPkC,KAAP;AAAA,GAAD,EAQ/B,CAACH,IAAI,CAACiC,MAAN,EAAcjC,IAAI,CAACR,IAAnB,EAAyBQ,IAAI,CAACN,GAA9B,EAAmCM,IAAI,CAACkC,KAAxC,EAA+C/B,IAA/C,CAR+B,CAAnC;AAUA,MAAM8D,IAAI,GAAGJ,aAAO,CAAC;AAAA,WAAO;AAC1B5B,MAAAA,MAAM,EAAEI,IAAI,CAACC,KAAL,CAAWtC,IAAI,CAACiC,MAAL,GAAc9B,IAAzB,CADkB;AAE1B+B,MAAAA,KAAK,EAAEG,IAAI,CAACC,KAAL,CAAWtC,IAAI,CAACkC,KAAL,GAAa/B,IAAxB;AAFmB,KAAP;AAAA,GAAD,EAGhB,CAACH,IAAI,CAACiC,MAAN,EAAcjC,IAAI,CAACkC,KAAnB,EAA0B/B,IAA1B,CAHgB,CAApB;AAKA,MAAQ+D,QAAR,GAAqBlE,IAArB,CAAQkE,QAAR;AAEA,sBAAOC,qBAAY,eACjBC,gBAAC,cAAD;AACE,IAAA,KAAK,EAAER,mBADT;AAAA,4BAGES,eAAC,yBAAD;AACE,MAAA,SAAS,EAAEC,8BAAU,CACnB,mBADmB,EAEnB;AAAEC,QAAAA,kBAAkB,EAAE,EAAEvE,IAAI,CAACiC,MAAL,GAAc,EAAhB;AAAtB,OAFmB,EAGnB;AAAEuC,QAAAA,oBAAoB,EAAE,EAAExE,IAAI,CAACkC,KAAL,GAAa,EAAf;AAAxB,OAHmB,CADvB;AAME,MAAA,MAAM,EAAE,CAAClC,IAAI,CAACkE,QAAN,IAAkB9E,YAN5B;AAOE,MAAA,kBAAkB,EAAEU,kBAPtB;AAQE,MAAA,eAAe,EAAED,oBAAoB,CAAC4D,QAArB,CAA8BzD,IAAI,CAACyE,QAAnC,KAAgD1D,eARnE;AASE,MAAA,cAAc,EAAE0B,cATlB;AAUE,MAAA,QAAQ,EAAEV,WAVZ;AAWE,MAAA,aAAa,EAAEJ,aAXjB;AAYE,MAAA,YAAY,EAAEY,WAZhB;AAaE,MAAA,IAAI,EAAE0B;AAbR,OAcMS,6BAdN;AAeE,MAAA,4BAA4B,qCAA8BR,QAAQ,GAAG,WAAH,GAAiB,EAAvD;AAf9B,OAHF,EAoBG,CAAC1D,sBAAD,iBAA2B6D,eAAC,oBAAD,KApB9B,EAqBG1D,gBAAgB,iBACf0D,eAACM,oBAAD;AACE,MAAA,SAAS,EAAE3E,IAAI,CAACkC,KAAL,GAAa/B;AAD1B,MAtBJ;AAAA,IADiB,EA4BjByC,QAAQ,CAACC,aAAT,oCAAkD7C,IAAI,CAAC4E,MAAvD,SA5BiB,CAAnB;AA8BD;;;;"}
@@ -18,16 +18,14 @@ var LeftPanelToggler = function LeftPanelToggler() {
18
18
  };
19
19
 
20
20
  return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
21
- children: /*#__PURE__*/jsxRuntime.jsxs("button", {
21
+ children: /*#__PURE__*/jsxRuntime.jsx("button", {
22
22
  className: "paneToggler addElementToggle",
23
23
  onClick: onOpenLeftPanel,
24
24
  title: ADD_ELEMENT,
25
25
  type: "button",
26
- children: [/*#__PURE__*/jsxRuntime.jsx("span", {
27
- children: ADD_ELEMENT
28
- }), /*#__PURE__*/jsxRuntime.jsx(plus, {
29
- className: "jfReportSVG isWhite"
30
- })]
26
+ children: /*#__PURE__*/jsxRuntime.jsx(plus, {
27
+ className: "jfReportSVG isWhite plus-icon"
28
+ })
31
29
  })
32
30
  });
33
31
  };