@jotforminc/dnd-builder 3.5.6 → 3.6.2

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 (157) hide show
  1. package/CHANGELOG.md +30 -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 +30 -5
  5. package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -1
  6. package/lib/cjs/components/Builder/PageActions.js +62 -54
  7. package/lib/cjs/components/Builder/PageActions.js.map +1 -1
  8. package/lib/cjs/components/Builder/Scene.js +43 -29
  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 +140 -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 +238 -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/components/TextEditor/TextEditor.js +2 -2
  35. package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
  36. package/lib/cjs/constants/panel.js +11 -0
  37. package/lib/cjs/constants/panel.js.map +1 -0
  38. package/lib/cjs/constants/texts.js +6 -1
  39. package/lib/cjs/constants/texts.js.map +1 -1
  40. package/lib/cjs/contexts/BuilderContext.js +111 -19
  41. package/lib/cjs/contexts/BuilderContext.js.map +1 -1
  42. package/lib/cjs/contexts/Providers.js +8 -1
  43. package/lib/cjs/contexts/Providers.js.map +1 -1
  44. package/lib/cjs/styles/_jfReportsFloatings.scss +51 -8
  45. package/lib/cjs/styles/_jfReportsHelpers.scss +1 -1
  46. package/lib/cjs/styles/_jfReportsMain.scss +8 -0
  47. package/lib/cjs/styles/_jfReportsPanels.scss +10 -7
  48. package/lib/cjs/styles/_jfReportsReportItem.scss +2 -2
  49. package/lib/cjs/styles/_jfReportsSlides.scss +2 -2
  50. package/lib/cjs/styles/_jfReportsVariables.scss +1 -0
  51. package/lib/cjs/styles/_jfReportsViewModes.scss +1 -0
  52. package/lib/cjs/styles/jfReportsBundle.scss +1 -0
  53. package/lib/cjs/styles/slides-navigator.scss +240 -0
  54. package/lib/cjs/utils/functions.js +9 -28
  55. package/lib/cjs/utils/functions.js.map +1 -1
  56. package/lib/cjs/utils/hooks.js +3 -1
  57. package/lib/cjs/utils/hooks.js.map +1 -1
  58. package/lib/cjs/utils/icons.js +0 -2
  59. package/lib/cjs/utils/icons.js.map +1 -1
  60. package/lib/esm/components/Builder/Builder.js +1 -3
  61. package/lib/esm/components/Builder/Builder.js.map +1 -1
  62. package/lib/esm/components/Builder/BuilderWrapper.js +31 -6
  63. package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -1
  64. package/lib/esm/components/Builder/PageActions.js +65 -57
  65. package/lib/esm/components/Builder/PageActions.js.map +1 -1
  66. package/lib/esm/components/Builder/Scene.js +45 -31
  67. package/lib/esm/components/Builder/Scene.js.map +1 -1
  68. package/lib/esm/components/Builder/SlidesNavigatorToggle.js +39 -0
  69. package/lib/esm/components/Builder/SlidesNavigatorToggle.js.map +1 -0
  70. package/lib/esm/components/PageItemResizer.js +1 -1
  71. package/lib/esm/components/PageItemResizer.js.map +1 -1
  72. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js +5 -7
  73. package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
  74. package/lib/esm/components/Panels/RightPanel/RightPanel.js +1 -1
  75. package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
  76. package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +251 -0
  77. package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -0
  78. package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js +134 -0
  79. package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js.map +1 -0
  80. package/lib/esm/components/Panels/SlidesNavigator/SlideItemDragOverlay.js +61 -0
  81. package/lib/esm/components/Panels/SlidesNavigator/SlideItemDragOverlay.js.map +1 -0
  82. package/lib/esm/components/Panels/SlidesNavigator/SlideItemsList.js +232 -0
  83. package/lib/esm/components/Panels/SlidesNavigator/SlideItemsList.js.map +1 -0
  84. package/lib/esm/components/Panels/SlidesNavigator/SlidesNavigator.js +52 -0
  85. package/lib/esm/components/Panels/SlidesNavigator/SlidesNavigator.js.map +1 -0
  86. package/lib/esm/components/Panels/SlidesNavigator/StaticSlideItem.js +91 -0
  87. package/lib/esm/components/Panels/SlidesNavigator/StaticSlideItem.js.map +1 -0
  88. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +7 -18
  89. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  90. package/lib/esm/components/ReportWrapper.js +4 -4
  91. package/lib/esm/components/ReportWrapper.js.map +1 -1
  92. package/lib/esm/components/TextEditor/TextEditor.js +2 -2
  93. package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
  94. package/lib/esm/constants/panel.js +7 -0
  95. package/lib/esm/constants/panel.js.map +1 -0
  96. package/lib/esm/constants/texts.js +6 -1
  97. package/lib/esm/constants/texts.js.map +1 -1
  98. package/lib/esm/contexts/BuilderContext.js +111 -19
  99. package/lib/esm/contexts/BuilderContext.js.map +1 -1
  100. package/lib/esm/contexts/Providers.js +8 -1
  101. package/lib/esm/contexts/Providers.js.map +1 -1
  102. package/lib/esm/styles/_jfReportsFloatings.scss +51 -8
  103. package/lib/esm/styles/_jfReportsHelpers.scss +1 -1
  104. package/lib/esm/styles/_jfReportsMain.scss +8 -0
  105. package/lib/esm/styles/_jfReportsPanels.scss +10 -7
  106. package/lib/esm/styles/_jfReportsReportItem.scss +2 -2
  107. package/lib/esm/styles/_jfReportsSlides.scss +2 -2
  108. package/lib/esm/styles/_jfReportsVariables.scss +1 -0
  109. package/lib/esm/styles/_jfReportsViewModes.scss +1 -0
  110. package/lib/esm/styles/jfReportsBundle.scss +1 -0
  111. package/lib/esm/styles/slides-navigator.scss +240 -0
  112. package/lib/esm/utils/functions.js +8 -27
  113. package/lib/esm/utils/functions.js.map +1 -1
  114. package/lib/esm/utils/hooks.js +3 -1
  115. package/lib/esm/utils/hooks.js.map +1 -1
  116. package/lib/esm/utils/icons.js +0 -1
  117. package/lib/esm/utils/icons.js.map +1 -1
  118. package/package.json +3 -1
  119. package/lib/cjs/assets/svg/all_slides.svg.js +0 -23
  120. package/lib/cjs/assets/svg/all_slides.svg.js.map +0 -1
  121. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js +0 -148
  122. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +0 -1
  123. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +0 -29
  124. package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +0 -1
  125. package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js +0 -107
  126. package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js.map +0 -1
  127. package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js +0 -102
  128. package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js.map +0 -1
  129. package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +0 -1
  130. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js +0 -178
  131. package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js.map +0 -1
  132. package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js +0 -95
  133. package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +0 -1
  134. package/lib/cjs/components/Panels/AllSlidesPanel/index.js +0 -8
  135. package/lib/cjs/components/Panels/AllSlidesPanel/index.js.map +0 -1
  136. package/lib/cjs/components/Settings/Button.js +0 -44
  137. package/lib/cjs/components/Settings/Button.js.map +0 -1
  138. package/lib/esm/assets/svg/all_slides.svg.js +0 -21
  139. package/lib/esm/assets/svg/all_slides.svg.js.map +0 -1
  140. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js +0 -142
  141. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +0 -1
  142. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +0 -23
  143. package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +0 -1
  144. package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js +0 -101
  145. package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js.map +0 -1
  146. package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js +0 -95
  147. package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js.map +0 -1
  148. package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +0 -48
  149. package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +0 -1
  150. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js +0 -172
  151. package/lib/esm/components/Panels/AllSlidesPanel/PageList.js.map +0 -1
  152. package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js +0 -89
  153. package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +0 -1
  154. package/lib/esm/components/Panels/AllSlidesPanel/index.js +0 -3
  155. package/lib/esm/components/Panels/AllSlidesPanel/index.js.map +0 -1
  156. package/lib/esm/components/Settings/Button.js +0 -38
  157. package/lib/esm/components/Settings/Button.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,36 @@
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.2](https://github.com/jotform/dnd-builder/compare/v3.6.0...v3.6.2) (2026-04-07)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **dnd-builder:** enable text edit in double click ([78c134b](https://github.com/jotform/dnd-builder/commit/78c134b2b9b9c9730114c55001755560272baced))
11
+ * **dnd-builder:** improve panel management and slide item interactions ([b7366f5](https://github.com/jotform/dnd-builder/commit/b7366f5a73e783bfbacf5989678ecabb8506888a))
12
+ * **dnd-builder:** page actions visibility changes ([2ce60e4](https://github.com/jotform/dnd-builder/commit/2ce60e46ad84c9ae37feb244120055943b276cb2))
13
+
14
+ ## [3.6.1](https://github.com/jotform/dnd-builder/compare/v3.6.0...v3.6.1) (2026-04-07)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **dnd-builder:** enable rich text edit in double click ([78c134b](https://github.com/jotform/dnd-builder/commit/78c134b2b9b9c9730114c55001755560272baced))
20
+
21
+ ## [3.6.0](https://github.com/jotform/dnd-builder/compare/v3.5.6...v3.6.0) (2026-04-06)
22
+
23
+
24
+ ### Features
25
+
26
+ * **dnd-builder:** add slide navigator ([c9492c2](https://github.com/jotform/dnd-builder/commit/c9492c2eb5e8a78076025e949297be240c18cfb2))
27
+ * **dnd-builder:** init slide navigator ([95ef9a9](https://github.com/jotform/dnd-builder/commit/95ef9a91ecea8202359fdafa50fc590aee07ae5f))
28
+
29
+
30
+ ### Bug Fixes
31
+
32
+ * **dnd-builder:** add behavioral changes ([59931a4](https://github.com/jotform/dnd-builder/commit/59931a4250574b1e6d268f4cf5ff80c3f2da6d62))
33
+ * **dnd-builder:** integrate motion animations and enhance slide navigator functionality ([6f3bcfc](https://github.com/jotform/dnd-builder/commit/6f3bcfc36eeb59c300ea350c8070f6e676e4f73f))
34
+
5
35
  ## [3.5.6](https://github.com/jotform/dnd-builder/compare/v3.5.5...v3.5.6) (2026-03-26)
6
36
 
7
37
  ## [3.5.4](https://github.com/jotform/dnd-builder/compare/v3.5.3...v3.5.4) (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,9 +66,10 @@ 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);
@@ -66,21 +81,31 @@ var BuilderWrapper = function BuilderWrapper(_ref) {
66
81
  setIsLeftPanelOpen(false);
67
82
  }
68
83
 
84
+ if (functions.slidesAsNavigator(slidesListType)) {
85
+ setIsSlidesNavigatorOpen(true);
86
+ }
87
+
69
88
  setIsSlidesPanelOpen(shouldShowRightPanelInitially);
70
89
  } else {
71
90
  if (isSlidesPanelOpen) {
72
91
  setIsSlidesPanelOpen(false);
73
92
  }
74
93
 
94
+ if (functions.slidesAsNavigator(slidesListType) && isSlidesNavigatorOpen) {
95
+ setIsSlidesNavigatorOpen(false);
96
+ }
97
+
75
98
  setIsLeftPanelOpen(true);
76
99
  }
77
100
 
78
101
  decidedWhichPanelToOpen.current = true;
79
102
  }
80
- }, [pageCount, isLeftPanelOpen, isSlidesPanelOpen, setIsLeftPanelOpen, setIsSlidesPanelOpen, shouldShowRightPanelInitially]);
81
- return /*#__PURE__*/jsxRuntime.jsx(ReportWrapper, {
82
- mode: "customize",
83
- children: children
103
+ }, [pageCount, isLeftPanelOpen, isSlidesPanelOpen, isSlidesNavigatorOpen, setIsLeftPanelOpen, setIsSlidesPanelOpen, setIsSlidesNavigatorOpen, shouldShowRightPanelInitially, slidesListType]);
104
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
105
+ children: [functions.slidesAsNavigator(slidesListType) && /*#__PURE__*/jsxRuntime.jsx(SlidesNavigator, {}), /*#__PURE__*/jsxRuntime.jsx(ReportWrapper, {
106
+ mode: "customize",
107
+ children: children
108
+ })]
84
109
  });
85
110
  };
86
111
 
@@ -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 (!decidedWhichPanelToOpen.current) {\n if (pageCount > 1) {\n if (isLeftPanelOpen) {\n setIsLeftPanelOpen(false);\n }\n if (slidesAsNavigator(slidesListType)) {\n setIsSlidesNavigatorOpen(true);\n }\n setIsSlidesPanelOpen(shouldShowRightPanelInitially);\n } else {\n if (isSlidesPanelOpen) {\n setIsSlidesPanelOpen(false);\n }\n if (slidesAsNavigator(slidesListType) && isSlidesNavigatorOpen) {\n setIsSlidesNavigatorOpen(false);\n }\n setIsLeftPanelOpen(true);\n }\n\n decidedWhichPanelToOpen.current = true;\n }\n }, [pageCount, isLeftPanelOpen, isSlidesPanelOpen, isSlidesNavigatorOpen, setIsLeftPanelOpen, setIsSlidesPanelOpen, setIsSlidesNavigatorOpen, shouldShowRightPanelInitially, slidesListType]);\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","current","slidesAsNavigator","_jsxs","_jsx","propTypes","PropTypes","node","isRequired"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ require('core-js/modules/es.array.concat.js');
3
4
  require('core-js/modules/es.array.find.js');
4
5
  require('core-js/modules/es.array.find-index.js');
5
6
  var PropTypes = require('prop-types');
@@ -12,14 +13,24 @@ var jsxRuntime = require('react/jsx-runtime');
12
13
  var page_settings = require('../../assets/svg/page_settings.svg.js');
13
14
  var duplicate = require('../../assets/svg/duplicate.svg.js');
14
15
  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
16
  var plus = require('../../assets/svg/plus.svg.js');
18
17
 
19
18
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
19
 
21
20
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
22
21
 
22
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
+
24
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
25
+
26
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
27
+
28
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
29
+
30
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
31
+
32
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
+
23
34
  var PageActions = function PageActions(_ref) {
24
35
  var _ref$order = _ref.order,
25
36
  order = _ref$order === void 0 ? 0 : _ref$order,
@@ -28,7 +39,7 @@ var PageActions = function PageActions(_ref) {
28
39
  var pages = PropContext.usePropStore(function (state) {
29
40
  return state.pages;
30
41
  });
31
- var pageCount = pages.length;
42
+ pages.length;
32
43
  var onAnEventTrigger = PropContext.usePropStore(function (state) {
33
44
  return state.onAnEventTrigger;
34
45
  });
@@ -38,7 +49,7 @@ var PageActions = function PageActions(_ref) {
38
49
  var onPageDuplicate = PropContext.usePropStore(function (state) {
39
50
  return state.onPageDuplicate;
40
51
  });
41
- var onPageOrdersChange = PropContext.usePropStore(function (state) {
52
+ PropContext.usePropStore(function (state) {
42
53
  return state.onPageOrdersChange;
43
54
  });
44
55
  var onPageRemove = PropContext.usePropStore(function (state) {
@@ -57,6 +68,24 @@ var PageActions = function PageActions(_ref) {
57
68
  var isSelectedItemExists = React.useMemo(function () {
58
69
  return (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > 0;
59
70
  }, [selectedItems]);
71
+ var setOverPage = BuilderContext.useBuilderStore(function (state) {
72
+ return state.setOverPage;
73
+ });
74
+ var setOutPage = BuilderContext.useBuilderStore(function (state) {
75
+ return state.setOutPage;
76
+ });
77
+ var overPageId = BuilderContext.useBuilderStore(function (state) {
78
+ return state.overedPageId;
79
+ });
80
+
81
+ var _useState = React.useState(isSelectedItemExists),
82
+ _useState2 = _slicedToArray(_useState, 2),
83
+ toolbarDisabled = _useState2[0],
84
+ setToolbarDisabled = _useState2[1];
85
+
86
+ React.useEffect(function () {
87
+ setToolbarDisabled(isSelectedItemExists);
88
+ }, [isSelectedItemExists]);
60
89
 
61
90
  var pageSettings = function pageSettings() {
62
91
  setEditedElement("p_".concat(pageID));
@@ -75,25 +104,6 @@ var PageActions = function PageActions(_ref) {
75
104
  onAnEventTrigger('removePage', pageID);
76
105
  };
77
106
 
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
107
  var onPageDuplicateClick = function onPageDuplicateClick() {
98
108
  var foundPage = pages.find(function (page) {
99
109
  return page.id === pageID;
@@ -103,22 +113,39 @@ var PageActions = function PageActions(_ref) {
103
113
  onAnEventTrigger('duplicatePage', order + 1);
104
114
  };
105
115
 
116
+ var isOverPage = React.useMemo(function () {
117
+ return overPageId === pageID;
118
+ }, [overPageId, pageID]);
119
+ var pageToolbarMouseOver = React.useCallback(function () {
120
+ if (isSelectedItemExists) {
121
+ setToolbarDisabled(false);
122
+ }
123
+
124
+ setOverPage(pageID);
125
+ }, [pageID, setToolbarDisabled, setOverPage, isSelectedItemExists]);
126
+ var pageToolbarMouseOut = React.useCallback(function () {
127
+ if (isSelectedItemExists) {
128
+ setToolbarDisabled(true);
129
+ }
130
+
131
+ setOutPage(null);
132
+ }, [setOutPage, setToolbarDisabled, isSelectedItemExists]);
133
+
106
134
  var _useTranslatedTexts = hooks.useTranslatedTexts(),
107
135
  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,
136
+ DUPLICATE_PAGE = _useTranslatedTexts.DUPLICATE_PAGE;
137
+ _useTranslatedTexts.MOVE_PAGE_DOWNWARDS;
138
+ _useTranslatedTexts.MOVE_PAGE_UPWARDS;
139
+ var PAGE_SETTINGS = _useTranslatedTexts.PAGE_SETTINGS,
112
140
  REMOVE_PAGE = _useTranslatedTexts.REMOVE_PAGE;
113
141
 
114
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
142
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
115
143
  className: "jfReport-pageInfo d-flex j-center",
116
144
  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", {
121
- className: "floatingController page-toolbar".concat(isSelectedItemExists ? ' disabled' : ''),
145
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
146
+ className: "floatingController page-toolbar".concat(toolbarDisabled ? ' disabled' : '').concat(isOverPage ? ' active' : ' inactive'),
147
+ onMouseOut: pageToolbarMouseOut,
148
+ onMouseOver: pageToolbarMouseOver,
122
149
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
123
150
  className: "floatingController-container",
124
151
  children: [/*#__PURE__*/jsxRuntime.jsx("button", {
@@ -148,26 +175,7 @@ var PageActions = function PageActions(_ref) {
148
175
  className: "toolbar-icon"
149
176
  })
150
177
  }, "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", {
178
+ }), false , /*#__PURE__*/jsxRuntime.jsx("div", {
171
179
  className: "floatingController-container",
172
180
  children: /*#__PURE__*/jsxRuntime.jsx("button", {
173
181
  className: "controllerItem primary",
@@ -180,7 +188,7 @@ var PageActions = function PageActions(_ref) {
180
188
  })
181
189
  }, "Add Slide")
182
190
  })]
183
- })]
191
+ })
184
192
  });
185
193
  };
186
194
 
@@ -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":["/* eslint-disable jsx-a11y/mouse-events-have-key-events */\nimport PropTypes from 'prop-types';\nimport {\n useCallback, useEffect, useMemo, useState,\n} 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 setOverPage = useBuilderStore(state => state.setOverPage);\n const setOutPage = useBuilderStore(state => state.setOutPage);\n const overPageId = useBuilderStore(state => state.overedPageId);\n\n const [toolbarDisabled, setToolbarDisabled] = useState(isSelectedItemExists);\n\n useEffect(() => {\n setToolbarDisabled(isSelectedItemExists);\n }, [isSelectedItemExists]);\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 isOverPage = useMemo(() => overPageId === pageID, [overPageId, pageID]);\n\n const pageToolbarMouseOver = useCallback(() => {\n if (isSelectedItemExists) {\n setToolbarDisabled(false);\n }\n setOverPage(pageID);\n }, [pageID, setToolbarDisabled, setOverPage, isSelectedItemExists]);\n\n const pageToolbarMouseOut = useCallback(() => {\n if (isSelectedItemExists) {\n setToolbarDisabled(true);\n }\n setOutPage(null);\n }, [setOutPage, setToolbarDisabled, isSelectedItemExists]);\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\n className={`floatingController page-toolbar${toolbarDisabled ? ' disabled' : ''}${isOverPage ? ' active' : ' inactive'}`}\n onMouseOut={pageToolbarMouseOut}\n onMouseOver={pageToolbarMouseOver}\n >\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","setOverPage","setOutPage","overPageId","overedPageId","useState","toolbarDisabled","setToolbarDisabled","useEffect","pageSettings","onPageAddClick","newPageIndex","scrollToTarget","onPageRemoveClick","onPageDuplicateClick","foundPage","find","page","id","isOverPage","pageToolbarMouseOver","useCallback","pageToolbarMouseOut","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,7 @@ 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');
24
25
  var jsxRuntime = require('react/jsx-runtime');
25
26
 
26
27
  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 +52,15 @@ var Scene = function Scene() {
51
52
  var lastScrollPosition = BuilderContext.useBuilderStore(function (state) {
52
53
  return state.lastScrollPosition;
53
54
  });
55
+ var slidesListType = BuilderContext.useBuilderStore(function (state) {
56
+ return state.slidesListType;
57
+ });
58
+ var setOverPage = BuilderContext.useBuilderStore(function (state) {
59
+ return state.setOverPage;
60
+ });
61
+ var setOutPage = BuilderContext.useBuilderStore(function (state) {
62
+ return state.setOutPage;
63
+ });
54
64
  var pageStyles = React.useRef({});
55
65
  var pageContainerStyles = React.useRef({});
56
66
  var viewPortRef = React.useRef({});
@@ -142,7 +152,6 @@ var Scene = function Scene() {
142
152
  width: width
143
153
  };
144
154
  return /*#__PURE__*/jsxRuntime.jsxs("main", {
145
- // Builder.js
146
155
  className: classNames.mainWrapper,
147
156
  children: [/*#__PURE__*/jsxRuntime.jsx(DraggableLayer, {
148
157
  pageRefs: refs.current
@@ -154,36 +163,41 @@ var Scene = function Scene() {
154
163
  ref: canvasRef,
155
164
  className: classNames.canvas,
156
165
  children: [pages.map(function (page, index) {
157
- return (
158
- /*#__PURE__*/
159
- // TODO: This part can be moved into a different component
160
- jsxRuntime.jsxs(React.Fragment, {
161
- children: [/*#__PURE__*/jsxRuntime.jsx(PageActions, {
162
- order: page.order,
163
- pageID: page.id
164
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
165
- ref: refs.current[page.id],
166
- className: classNames.page,
167
- "data-id": page.id,
168
- "data-order": page.order,
169
- id: "presentation-page-".concat(page.id.toString()),
170
- style: _objectSpread(_objectSpread({}, pageStyles.current), {}, {
171
- position: 'relative'
172
- }),
173
- children: [/*#__PURE__*/jsxRuntime.jsx(Page, {
174
- items: page.items,
175
- page: page,
176
- pageIndex: index,
177
- style: pageContainerStyles.current
178
- }), selectionPageId === page.id && selectionBox && /*#__PURE__*/jsxRuntime.jsx(SelectionBox, {
179
- selectionBox: selectionBox
180
- })]
181
- }, "page_".concat(page.id))]
182
- }, page.id)
183
- );
166
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
167
+ onMouseOut: function onMouseOut() {
168
+ return setOutPage(null);
169
+ },
170
+ onMouseOver: function onMouseOver() {
171
+ return setOverPage(page.id);
172
+ },
173
+ children: [/*#__PURE__*/jsxRuntime.jsx(PageActions, {
174
+ order: page.order,
175
+ pageID: page.id
176
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
177
+ ref: refs.current[page.id],
178
+ className: classNames.page,
179
+ "data-id": page.id,
180
+ "data-order": page.order,
181
+ id: "presentation-page-".concat(page.id.toString()),
182
+ style: _objectSpread(_objectSpread({}, pageStyles.current), {}, {
183
+ position: 'relative'
184
+ }),
185
+ children: [/*#__PURE__*/jsxRuntime.jsx(Page, {
186
+ items: page.items,
187
+ page: page,
188
+ pageIndex: index,
189
+ style: pageContainerStyles.current
190
+ }), selectionPageId === page.id && selectionBox && /*#__PURE__*/jsxRuntime.jsx(SelectionBox, {
191
+ selectionBox: selectionBox
192
+ })]
193
+ }, "page_".concat(page.id))]
194
+ }, page.id);
184
195
  }), /*#__PURE__*/jsxRuntime.jsx(PageAdder, {})]
185
196
  })
186
- }), /*#__PURE__*/jsxRuntime.jsx(ZoomControls, {}), contextMenuProps && /*#__PURE__*/jsxRuntime.jsx(ContextMenu, {
197
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
198
+ className: "bottom-actions-container",
199
+ children: [functions.slidesAsNavigator(slidesListType) && /*#__PURE__*/jsxRuntime.jsx(SlidesNavigatorToggle, {}), /*#__PURE__*/jsxRuntime.jsx(ZoomControls, {})]
200
+ }), contextMenuProps && /*#__PURE__*/jsxRuntime.jsx(ContextMenu, {
187
201
  exceptionalClasses: ['contextMenu-button'],
188
202
  height: height,
189
203
  item: functions.findItemById(contextMenuProps.id, pages),