@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
@@ -1 +1 @@
1
- {"version":3,"file":"BuilderContext.js","sources":["../../../src/contexts/BuilderContext.js"],"sourcesContent":["/* eslint-disable complexity */\nimport { createContext, useContext, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createStore, useStore } from 'zustand';\n\nconst builderStore = props => {\n return createStore((set, get) => ({\n activeElements: props.activeElement || [],\n activeTab: props.activeTab || { left: 0, right: 0 },\n clickOutsideIgnoreSelectors: props.clickOutsideIgnoreSelectors || [],\n contextMenuProps: props.contextMenuProps || false,\n editedElement: props.editedElement || 'l_layout',\n guides: {},\n isAllSlidesPanelOpen: props.isAllSlidesPanelOpen || false,\n isLeftPanelOpen: props.isLeftPanelOpen || false,\n isResize: false,\n isRightPanelOpen: props.isRightPanelOpen || false,\n isSlidesPanelOpen: props.isSlidesPanelOpen || false,\n isTextEditorOpen: props.isTextEditorOpen || false,\n lastScrollPosition: props.lastScrollPosition || 0,\n matches: {},\n onRightPanelsToggled: props.onRightPanelsToggled || (() => {}),\n resetActiveElements: props.resetActiveElements || (() => {\n set({ activeElements: [], editedElement: 'l_layout' });\n }),\n setActiveElements: props.setActiveElements || ((itemID, edit = true, replace = true) => {\n const { activeElements } = get();\n set({\n activeElements: replace ? [itemID] : [...activeElements, itemID],\n ...edit ? { editedElement: !itemID ? 'l_layout' : `i_${itemID}` } : {},\n });\n }),\n setActiveElementsSelection: props.setActiveElementsSelection || (itemIDs => {\n if (!itemIDs || itemIDs.length === 0) {\n set({ activeElements: [], editedElement: 'l_layout' });\n } else if (itemIDs.length === 1) {\n set({\n activeElements: itemIDs,\n editedElement: `i_${itemIDs[0]}`,\n });\n } else {\n set({ activeElements: itemIDs });\n }\n }),\n setActiveTab: props.setActiveTab || ((panel, tabIndex) => {\n const { activeTab } = get();\n set({ activeTab: { ...activeTab, [panel]: tabIndex } });\n }),\n setContextMenuProps: status => {\n set({ contextMenuProps: status });\n },\n setEditedElement: id => {\n set({ editedElement: id });\n },\n setGuides: guides => {\n set({ guides });\n },\n setIsAllSlidesPanelOpen: status => {\n set({ isAllSlidesPanelOpen: status });\n },\n setIsLeftPanelOpen: props.setIsLeftPanelOpen || (status => {\n const { isEnoughCanvasSize } = get();\n set({\n isLeftPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n }),\n setIsResize: status => {\n set({ isResize: status });\n },\n setIsRightPanelOpen: props.setIsRightPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isRightPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isLeftPanelOpen: false },\n ...status && { isSlidesPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsSlidesPanelOpen: props.setIsSlidesPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isSlidesPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isLeftPanelOpen: false },\n ...status && { isRightPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsTextEditorOpen: status => {\n set({ isTextEditorOpen: status });\n },\n setMatches: matches => {\n set({ matches });\n },\n setZoom: (zoom, layoutWidth) => {\n set({ zoom });\n if (layoutWidth) {\n const { clientWidth: paneWidth } = document.querySelector('.jfReport-pane .toolItemWrapper');\n const sceneWidth = parseInt(layoutWidth, 10) * zoom;\n if (window.innerWidth - sceneWidth + 100 > (paneWidth * 2)) {\n set({ isEnoughCanvasSize: true });\n } else {\n set({\n isEnoughCanvasSize: false,\n isLeftPanelOpen: false,\n });\n }\n }\n },\n shouldShowRightPanelInitially: props.shouldShowRightPanelInitially ?? true,\n zoom: 1,\n }));\n};\n\nconst BuilderContext = createContext(null);\n\nexport const BuilderProvider = ({ children, value, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = builderStore(props);\n }\n\n return (\n <BuilderContext.Provider value={storeRef.current}>\n {children}\n </BuilderContext.Provider>\n );\n};\n\nBuilderProvider.propTypes = {\n children: PropTypes.any,\n value: PropTypes.object,\n};\n\nexport const BuilderConsumer = BuilderContext.Consumer;\n\nexport const useBuilderStore = selector => {\n const context = useContext(BuilderContext);\n if (!context) {\n throw new Error('useBuilderStore must be used with BuilderProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["builderStore","props","createStore","set","get","activeElements","activeElement","activeTab","left","right","clickOutsideIgnoreSelectors","contextMenuProps","editedElement","guides","isAllSlidesPanelOpen","isLeftPanelOpen","isResize","isRightPanelOpen","isSlidesPanelOpen","isTextEditorOpen","lastScrollPosition","matches","onRightPanelsToggled","resetActiveElements","setActiveElements","itemID","edit","replace","setActiveElementsSelection","itemIDs","length","setActiveTab","panel","tabIndex","setContextMenuProps","status","setEditedElement","id","setGuides","setIsAllSlidesPanelOpen","setIsLeftPanelOpen","isEnoughCanvasSize","setIsResize","setIsRightPanelOpen","setIsSlidesPanelOpen","setIsTextEditorOpen","setMatches","setZoom","zoom","layoutWidth","document","querySelector","paneWidth","clientWidth","sceneWidth","parseInt","window","innerWidth","shouldShowRightPanelInitially","BuilderContext","createContext","BuilderProvider","children","value","storeRef","useRef","current","_jsx","propTypes","PropTypes","any","object","Consumer","useBuilderStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
1
+ {"version":3,"file":"BuilderContext.js","sources":["../../../src/contexts/BuilderContext.js"],"sourcesContent":["/* eslint-disable complexity */\nimport { createContext, useContext, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createStore, useStore } from 'zustand';\nimport { SLIDES_LIST_TYPE_MAP } from '../constants/panel';\n\nconst builderStore = props => {\n return createStore((set, get) => ({\n activeElements: props.activeElement || [],\n activeTab: props.activeTab || { left: 0, right: 0 },\n clickOutsideIgnoreSelectors: props.clickOutsideIgnoreSelectors || [],\n contextMenuProps: props.contextMenuProps || false,\n editedElement: props.editedElement || 'l_layout',\n guides: {},\n isLeftPanelOpen: props.isLeftPanelOpen || false,\n isResize: false,\n isRightPanelOpen: props.isRightPanelOpen || false,\n isSlidesNavigatorOpen: props.isSlidesNavigatorOpen || false,\n isSlidesPanelOpen: props.isSlidesPanelOpen || false,\n isTextEditorOpen: props.isTextEditorOpen || false,\n lastScrollPosition: props.lastScrollPosition || 0,\n matches: {},\n onRightPanelsToggled: props.onRightPanelsToggled || (() => {}),\n overedPageId: props.activePageId || null,\n resetActiveElements: props.resetActiveElements || (() => {\n set({ activeElements: [], editedElement: 'l_layout' });\n }),\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n setActiveElements: props.setActiveElements || ((itemID, edit = true, replace = true) => {\n const { activeElements } = get();\n set({\n activeElements: replace ? [itemID] : [...activeElements, itemID],\n ...edit ? { editedElement: !itemID ? 'l_layout' : `i_${itemID}` } : {},\n });\n }),\n setActiveElementsSelection: props.setActiveElementsSelection || (itemIDs => {\n if (!itemIDs || itemIDs.length === 0) {\n set({ activeElements: [], editedElement: 'l_layout' });\n } else if (itemIDs.length === 1) {\n set({\n activeElements: itemIDs,\n editedElement: `i_${itemIDs[0]}`,\n });\n } else {\n set({ activeElements: itemIDs });\n }\n }),\n setActiveTab: props.setActiveTab || ((panel, tabIndex) => {\n const { activeTab } = get();\n set({ activeTab: { ...activeTab, [panel]: tabIndex } });\n }),\n setContextMenuProps: status => {\n set({ contextMenuProps: status });\n },\n setEditedElement: id => {\n set({ editedElement: id });\n },\n setGuides: guides => {\n set({ guides });\n },\n setIsLeftPanelOpen: props.setIsLeftPanelOpen || (status => {\n const {\n isEnoughCanvasSize,\n isSlidesNavigatorOpen: previousIsSlidesNavigatorOpen,\n restoreSlidesNavigatorWhenLeftCloses,\n } = get();\n\n if (status) {\n if (previousIsSlidesNavigatorOpen) {\n set({\n isLeftPanelOpen: true,\n isSlidesNavigatorOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: true,\n ...!isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n } else {\n set({\n isLeftPanelOpen: true,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n ...!isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n }\n return;\n }\n\n if (restoreSlidesNavigatorWhenLeftCloses) {\n set({\n isLeftPanelOpen: false,\n isSlidesNavigatorOpen: true,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n return;\n }\n\n set({ isLeftPanelOpen: false });\n }),\n setIsResize: status => {\n set({ isResize: status });\n },\n setIsRightPanelOpen: props.setIsRightPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isRightPanelOpen: status,\n ...status && !isEnoughCanvasSize && {\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n },\n ...status && { isSlidesPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsSlidesNavigatorOpen: status => {\n const {\n isLeftPanelOpen: previousIsLeftPanelOpen,\n restoreLeftPanelWhenNavigatorCloses,\n } = get();\n\n if (status) {\n if (previousIsLeftPanelOpen) {\n set({\n isLeftPanelOpen: false,\n isSlidesNavigatorOpen: true,\n restoreLeftPanelWhenNavigatorCloses: true,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n } else {\n set({\n isSlidesNavigatorOpen: true,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n }\n return;\n }\n\n if (restoreLeftPanelWhenNavigatorCloses) {\n set({\n isLeftPanelOpen: true,\n isSlidesNavigatorOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n });\n return;\n }\n\n set({\n isSlidesNavigatorOpen: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n },\n setIsSlidesPanelOpen: props.setIsSlidesPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isSlidesPanelOpen: status,\n ...status && !isEnoughCanvasSize && {\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n },\n ...status && { isRightPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsTextEditorOpen: status => {\n set({ isTextEditorOpen: status });\n },\n setMatches: matches => {\n set({ matches });\n },\n setOutPage: outPageId => {\n set({ overedPageId: outPageId });\n },\n setOverPage: overPageId => {\n set({ overedPageId: overPageId });\n },\n setVisiblePageOrder: visiblePageOrder => {\n set({ visiblePageOrder });\n },\n setZoom: (zoom, layoutWidth) => {\n set({ zoom });\n if (layoutWidth) {\n const { clientWidth: paneWidth } = document.querySelector('.jfReport-pane .toolItemWrapper');\n const sceneWidth = parseInt(layoutWidth, 10) * zoom;\n if (window.innerWidth - sceneWidth + 100 > (paneWidth * 2)) {\n set({ isEnoughCanvasSize: true });\n } else {\n set({\n isEnoughCanvasSize: false,\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n }\n }\n },\n shouldShowRightPanelInitially: props.shouldShowRightPanelInitially ?? true,\n slidesListType: props.slidesListType || SLIDES_LIST_TYPE_MAP.PANEL,\n visiblePageOrder: 1,\n zoom: 0.8,\n }));\n};\n\nconst BuilderContext = createContext(null);\n\nexport const BuilderProvider = ({ children, value, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = builderStore(props);\n }\n\n return (\n <BuilderContext.Provider value={storeRef.current}>\n {children}\n </BuilderContext.Provider>\n );\n};\n\nBuilderProvider.propTypes = {\n children: PropTypes.any,\n value: PropTypes.object,\n};\n\nexport const BuilderConsumer = BuilderContext.Consumer;\n\nexport const useBuilderStore = selector => {\n const context = useContext(BuilderContext);\n if (!context) {\n throw new Error('useBuilderStore must be used with BuilderProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["builderStore","props","createStore","set","get","activeElements","activeElement","activeTab","left","right","clickOutsideIgnoreSelectors","contextMenuProps","editedElement","guides","isLeftPanelOpen","isResize","isRightPanelOpen","isSlidesNavigatorOpen","isSlidesPanelOpen","isTextEditorOpen","lastScrollPosition","matches","onRightPanelsToggled","overedPageId","activePageId","resetActiveElements","restoreLeftPanelWhenNavigatorCloses","restoreSlidesNavigatorWhenLeftCloses","setActiveElements","itemID","edit","replace","setActiveElementsSelection","itemIDs","length","setActiveTab","panel","tabIndex","setContextMenuProps","status","setEditedElement","id","setGuides","setIsLeftPanelOpen","isEnoughCanvasSize","previousIsSlidesNavigatorOpen","setIsResize","setIsRightPanelOpen","setIsSlidesNavigatorOpen","previousIsLeftPanelOpen","setIsSlidesPanelOpen","setIsTextEditorOpen","setMatches","setOutPage","outPageId","setOverPage","overPageId","setVisiblePageOrder","visiblePageOrder","setZoom","zoom","layoutWidth","document","querySelector","paneWidth","clientWidth","sceneWidth","parseInt","window","innerWidth","shouldShowRightPanelInitially","slidesListType","SLIDES_LIST_TYPE_MAP","PANEL","BuilderContext","createContext","BuilderProvider","children","value","storeRef","useRef","current","_jsx","propTypes","PropTypes","any","object","Consumer","useBuilderStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
@@ -1,16 +1,18 @@
1
1
  'use strict';
2
2
 
3
+ require('core-js/modules/es.object.values.js');
3
4
  var PropTypes = require('prop-types');
4
5
  var BuilderContext = require('./BuilderContext.js');
5
6
  var PresentationContext = require('./PresentationContext.js');
6
7
  var PropContext = require('./PropContext.js');
8
+ var panel = require('../constants/panel.js');
7
9
  var jsxRuntime = require('react/jsx-runtime');
8
10
 
9
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
12
 
11
13
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
12
14
 
13
- var _excluded = ["children", "clickOutsideIgnoreSelectors", "lastScrollPosition", "mode", "onRightPanelsToggled", "presentationBarActions", "shouldShowRightPanelInitially", "useFixedPresentationBar"];
15
+ var _excluded = ["children", "clickOutsideIgnoreSelectors", "lastScrollPosition", "mode", "onRightPanelsToggled", "presentationBarActions", "shouldShowRightPanelInitially", "slidesListType", "useFixedPresentationBar"];
14
16
 
15
17
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
16
18
 
@@ -30,6 +32,7 @@ var Providers = function Providers(_ref) {
30
32
  onRightPanelsToggled = _ref.onRightPanelsToggled,
31
33
  presentationBarActions = _ref.presentationBarActions,
32
34
  shouldShowRightPanelInitially = _ref.shouldShowRightPanelInitially,
35
+ slidesListType = _ref.slidesListType,
33
36
  useFixedPresentationBar = _ref.useFixedPresentationBar,
34
37
  props = _objectWithoutProperties(_ref, _excluded);
35
38
 
@@ -38,6 +41,7 @@ var Providers = function Providers(_ref) {
38
41
  lastScrollPosition: lastScrollPosition,
39
42
  onRightPanelsToggled: onRightPanelsToggled,
40
43
  shouldShowRightPanelInitially: shouldShowRightPanelInitially,
44
+ slidesListType: slidesListType,
41
45
  children: /*#__PURE__*/jsxRuntime.jsx(PropContext.PropProvider, _objectSpread(_objectSpread({}, props), {}, {
42
46
  children: mode === 'customize' ? children : /*#__PURE__*/jsxRuntime.jsx(PresentationContext.PresentationProvider, {
43
47
  presentationBarActions: presentationBarActions,
@@ -73,6 +77,9 @@ Providers.propTypes = {
73
77
  shouldShowRightPanelInitially: PropTypes__default['default'].bool,
74
78
 
75
79
  /** Flag for whether to show the right panel initially */
80
+ slidesListType: PropTypes__default['default'].oneOf(Object.values(panel.SLIDES_LIST_TYPE_MAP)),
81
+
82
+ /** Slides list type for the report */
76
83
  useFixedPresentationBar: PropTypes__default['default'].bool
77
84
  };
78
85
 
@@ -1 +1 @@
1
- {"version":3,"file":"Providers.js","sources":["../../../src/contexts/Providers.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { BuilderProvider } from './BuilderContext';\nimport { PresentationProvider } from './PresentationContext';\nimport { PropProvider } from './PropContext';\n\nconst Providers = ({\n children,\n clickOutsideIgnoreSelectors,\n lastScrollPosition,\n mode,\n onRightPanelsToggled,\n presentationBarActions,\n shouldShowRightPanelInitially,\n useFixedPresentationBar,\n ...props\n}) => {\n return (\n <BuilderProvider\n clickOutsideIgnoreSelectors={clickOutsideIgnoreSelectors}\n lastScrollPosition={lastScrollPosition}\n onRightPanelsToggled={onRightPanelsToggled}\n shouldShowRightPanelInitially={shouldShowRightPanelInitially}\n >\n <PropProvider {...props}>\n {mode === 'customize' ? children : (\n <PresentationProvider\n presentationBarActions={presentationBarActions}\n useFixedPresentationBar={useFixedPresentationBar}\n >\n {children}\n </PresentationProvider>\n )}\n </PropProvider>\n </BuilderProvider>\n );\n};\n\nProviders.propTypes = {\n children: PropTypes.node.isRequired,\n /** CSS selectors ignored by right panel click-outside logic */\n clickOutsideIgnoreSelectors: PropTypes.arrayOf(PropTypes.string),\n /** Last scroll position */\n lastScrollPosition: PropTypes.number,\n /** Mode of the report */\n mode: PropTypes.oneOf(['customize', 'presentation', 'preview', 'print']),\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 /** To pass in action definitions that will be rendered as buttons */\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n /** Flag for fixed action bar */\n shouldShowRightPanelInitially: PropTypes.bool,\n /** Flag for whether to show the right panel initially */\n useFixedPresentationBar: PropTypes.bool,\n};\n\nexport default Providers;\n"],"names":["Providers","children","clickOutsideIgnoreSelectors","lastScrollPosition","mode","onRightPanelsToggled","presentationBarActions","shouldShowRightPanelInitially","useFixedPresentationBar","props","_jsx","BuilderProvider","PropProvider","PresentationProvider","propTypes","PropTypes","node","isRequired","arrayOf","string","number","oneOf","func","shape","bool"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;IAKMA,SAAS,GAAG,SAAZA,SAAY,OAUZ;AAAA,MATJC,QASI,QATJA,QASI;AAAA,MARJC,2BAQI,QARJA,2BAQI;AAAA,MAPJC,kBAOI,QAPJA,kBAOI;AAAA,MANJC,IAMI,QANJA,IAMI;AAAA,MALJC,oBAKI,QALJA,oBAKI;AAAA,MAJJC,sBAII,QAJJA,sBAII;AAAA,MAHJC,6BAGI,QAHJA,6BAGI;AAAA,MAFJC,uBAEI,QAFJA,uBAEI;AAAA,MADDC,KACC;;AACJ,sBACEC,eAACC,8BAAD;AACE,IAAA,2BAA2B,EAAET,2BAD/B;AAEE,IAAA,kBAAkB,EAAEC,kBAFtB;AAGE,IAAA,oBAAoB,EAAEE,oBAHxB;AAIE,IAAA,6BAA6B,EAAEE,6BAJjC;AAAA,2BAMEG,eAACE,wBAAD,kCAAkBH,KAAlB;AAAA,gBACGL,IAAI,KAAK,WAAT,GAAuBH,QAAvB,gBACCS,eAACG,wCAAD;AACE,QAAA,sBAAsB,EAAEP,sBAD1B;AAEE,QAAA,uBAAuB,EAAEE,uBAF3B;AAAA,kBAIGP;AAJH;AAFJ;AANF,IADF;AAmBD;;AAEDD,SAAS,CAACc,SAAV,GAAsB;AACpBb,EAAAA,QAAQ,EAAEc,6BAAS,CAACC,IAAV,CAAeC,UADL;;AAEpB;AACAf,EAAAA,2BAA2B,EAAEa,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACI,MAA5B,CAHT;;AAIpB;AACAhB,EAAAA,kBAAkB,EAAEY,6BAAS,CAACK,MALV;;AAMpB;AACAhB,EAAAA,IAAI,EAAEW,6BAAS,CAACM,KAAV,CAAgB,CAAC,WAAD,EAAc,cAAd,EAA8B,SAA9B,EAAyC,OAAzC,CAAhB,CAPc;;AAQpB;AACF;AACA;AACA;AACEhB,EAAAA,oBAAoB,EAAEU,6BAAS,CAACO,IAZZ;;AAapB;AACAhB,EAAAA,sBAAsB,EAAES,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACQ,KAAV,CAAgB,EAAhB,CAAlB,CAdJ;;AAepB;AACAhB,EAAAA,6BAA6B,EAAEQ,6BAAS,CAACS,IAhBrB;;AAiBpB;AACAhB,EAAAA,uBAAuB,EAAEO,6BAAS,CAACS;AAlBf,CAAtB;;;;"}
1
+ {"version":3,"file":"Providers.js","sources":["../../../src/contexts/Providers.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { BuilderProvider } from './BuilderContext';\nimport { PresentationProvider } from './PresentationContext';\nimport { PropProvider } from './PropContext';\nimport { SLIDES_LIST_TYPE_MAP } from '../constants/panel';\n\nconst Providers = ({\n children,\n clickOutsideIgnoreSelectors,\n lastScrollPosition,\n mode,\n onRightPanelsToggled,\n presentationBarActions,\n shouldShowRightPanelInitially,\n slidesListType,\n useFixedPresentationBar,\n ...props\n}) => {\n return (\n <BuilderProvider\n clickOutsideIgnoreSelectors={clickOutsideIgnoreSelectors}\n lastScrollPosition={lastScrollPosition}\n onRightPanelsToggled={onRightPanelsToggled}\n shouldShowRightPanelInitially={shouldShowRightPanelInitially}\n slidesListType={slidesListType}\n >\n <PropProvider {...props}>\n {mode === 'customize' ? children : (\n <PresentationProvider\n presentationBarActions={presentationBarActions}\n useFixedPresentationBar={useFixedPresentationBar}\n >\n {children}\n </PresentationProvider>\n )}\n </PropProvider>\n </BuilderProvider>\n );\n};\n\nProviders.propTypes = {\n children: PropTypes.node.isRequired,\n /** CSS selectors ignored by right panel click-outside logic */\n clickOutsideIgnoreSelectors: PropTypes.arrayOf(PropTypes.string),\n /** Last scroll position */\n lastScrollPosition: PropTypes.number,\n /** Mode of the report */\n mode: PropTypes.oneOf(['customize', 'presentation', 'preview', 'print']),\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 /** To pass in action definitions that will be rendered as buttons */\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n /** Flag for fixed action bar */\n shouldShowRightPanelInitially: PropTypes.bool,\n /** Flag for whether to show the right panel initially */\n slidesListType: PropTypes.oneOf(Object.values(SLIDES_LIST_TYPE_MAP)),\n /** Slides list type for the report */\n useFixedPresentationBar: PropTypes.bool,\n};\n\nexport default Providers;\n"],"names":["Providers","children","clickOutsideIgnoreSelectors","lastScrollPosition","mode","onRightPanelsToggled","presentationBarActions","shouldShowRightPanelInitially","slidesListType","useFixedPresentationBar","props","_jsx","BuilderProvider","PropProvider","PresentationProvider","propTypes","PropTypes","node","isRequired","arrayOf","string","number","oneOf","func","shape","bool","Object","values","SLIDES_LIST_TYPE_MAP"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;IAMMA,SAAS,GAAG,SAAZA,SAAY,OAWZ;AAAA,MAVJC,QAUI,QAVJA,QAUI;AAAA,MATJC,2BASI,QATJA,2BASI;AAAA,MARJC,kBAQI,QARJA,kBAQI;AAAA,MAPJC,IAOI,QAPJA,IAOI;AAAA,MANJC,oBAMI,QANJA,oBAMI;AAAA,MALJC,sBAKI,QALJA,sBAKI;AAAA,MAJJC,6BAII,QAJJA,6BAII;AAAA,MAHJC,cAGI,QAHJA,cAGI;AAAA,MAFJC,uBAEI,QAFJA,uBAEI;AAAA,MADDC,KACC;;AACJ,sBACEC,eAACC,8BAAD;AACE,IAAA,2BAA2B,EAAEV,2BAD/B;AAEE,IAAA,kBAAkB,EAAEC,kBAFtB;AAGE,IAAA,oBAAoB,EAAEE,oBAHxB;AAIE,IAAA,6BAA6B,EAAEE,6BAJjC;AAKE,IAAA,cAAc,EAAEC,cALlB;AAAA,2BAOEG,eAACE,wBAAD,kCAAkBH,KAAlB;AAAA,gBACGN,IAAI,KAAK,WAAT,GAAuBH,QAAvB,gBACCU,eAACG,wCAAD;AACE,QAAA,sBAAsB,EAAER,sBAD1B;AAEE,QAAA,uBAAuB,EAAEG,uBAF3B;AAAA,kBAIGR;AAJH;AAFJ;AAPF,IADF;AAoBD;;AAEDD,SAAS,CAACe,SAAV,GAAsB;AACpBd,EAAAA,QAAQ,EAAEe,6BAAS,CAACC,IAAV,CAAeC,UADL;;AAEpB;AACAhB,EAAAA,2BAA2B,EAAEc,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACI,MAA5B,CAHT;;AAIpB;AACAjB,EAAAA,kBAAkB,EAAEa,6BAAS,CAACK,MALV;;AAMpB;AACAjB,EAAAA,IAAI,EAAEY,6BAAS,CAACM,KAAV,CAAgB,CAAC,WAAD,EAAc,cAAd,EAA8B,SAA9B,EAAyC,OAAzC,CAAhB,CAPc;;AAQpB;AACF;AACA;AACA;AACEjB,EAAAA,oBAAoB,EAAEW,6BAAS,CAACO,IAZZ;;AAapB;AACAjB,EAAAA,sBAAsB,EAAEU,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACQ,KAAV,CAAgB,EAAhB,CAAlB,CAdJ;;AAepB;AACAjB,EAAAA,6BAA6B,EAAES,6BAAS,CAACS,IAhBrB;;AAiBpB;AACAjB,EAAAA,cAAc,EAAEQ,6BAAS,CAACM,KAAV,CAAgBI,MAAM,CAACC,MAAP,CAAcC,0BAAd,CAAhB,CAlBI;;AAmBpB;AACAnB,EAAAA,uBAAuB,EAAEO,6BAAS,CAACS;AApBf,CAAtB;;;;"}
@@ -200,13 +200,13 @@
200
200
  // Page Toolbar new styles //
201
201
  &.page-toolbar {
202
202
  position: absolute;
203
- top: 58px;
203
+ top: 36px;
204
204
  right: -40px;
205
205
  gap: 4px;
206
206
 
207
207
  &.disabled {
208
208
  opacity: 0.25;
209
- pointer-events: none;
209
+ pointer-events: all;
210
210
  cursor: not-allowed;
211
211
  }
212
212
 
@@ -221,15 +221,22 @@
221
221
  height: 16px;
222
222
  }
223
223
  }
224
+
225
+ &.active:not(.disabled) {
226
+ opacity: 1;
227
+ pointer-events: all;
228
+ transition: $transition;
229
+ }
230
+
231
+ &.inactive {
232
+ opacity: 0;
233
+ transition: $transition;
234
+ }
224
235
  }
225
236
 
226
237
  // Zoom Toolbar new styles //
227
238
  &.zoom-toolbar {
228
- position: absolute;
229
- bottom: 20px;
230
- left: 20px;
231
239
  gap: 4px;
232
- z-index: 2;
233
240
 
234
241
  .controllerItem {
235
242
  max-width: 32px;
@@ -244,7 +251,31 @@
244
251
  }
245
252
  }
246
253
 
247
- &.page-toolbar, &.zoom-toolbar {
254
+ // Slides Navigator Toggle new styles //
255
+ &.slides-navigator-toggle {
256
+ .controllerItem {
257
+ max-width: 32px;
258
+ max-height: 32px;
259
+ min-width: 32px;
260
+ min-height: 32px;
261
+
262
+ .toolbar-icon {
263
+ width: 20px;
264
+ height: 20px;
265
+ color: #0a1551;
266
+ fill: #0a1551;
267
+
268
+ path {
269
+ color: #0a1551;
270
+ fill: #0a1551;
271
+ }
272
+ }
273
+ }
274
+ }
275
+
276
+ &.page-toolbar,
277
+ &.zoom-toolbar,
278
+ &.slides-navigator-toggle {
248
279
  display: flex;
249
280
  flex-direction: column;
250
281
  align-items: flex-start;
@@ -385,7 +416,7 @@
385
416
  }
386
417
  }
387
418
 
388
- &:not(.forSlides):not(.forBar) {
419
+ &:not(.forSlides):not(.forBar):not(.zoom-toolbar):not(.slides-navigator-toggle) {
389
420
  position: absolute;
390
421
  }
391
422
 
@@ -393,3 +424,15 @@
393
424
  position: relative;
394
425
  }
395
426
  }
427
+
428
+ .bottom-actions-container {
429
+ display: flex;
430
+ flex-direction: column;
431
+ align-items: center;
432
+ justify-content: center;
433
+ position: absolute;
434
+ bottom: 20px;
435
+ left: 20px;
436
+ gap: 4px;
437
+ z-index: 2;
438
+ }
@@ -44,7 +44,7 @@
44
44
 
45
45
  // Helpers //
46
46
 
47
- .jfReport, .jfPresentation, .jfReportModal, .pageThumbnailHelper {
47
+ .jfReport, .jfPresentation, .jfReportModal, .pageThumbnailHelper, .slides-navigator {
48
48
 
49
49
  .disabled {
50
50
  opacity: .4;
@@ -81,6 +81,14 @@ body {
81
81
  }
82
82
  }
83
83
 
84
+ .slidesNavigatorIsActive {
85
+ &.jfReport {
86
+ left: $slides-navigator-width;
87
+ width: calc(100% - $slides-navigator-width);
88
+ transition: all .3s ease-in;
89
+ }
90
+ }
91
+
84
92
  .errorBoundary-wrapper {
85
93
  display: flex;
86
94
  flex-direction: column;
@@ -304,19 +304,22 @@
304
304
  }
305
305
 
306
306
  &.addElementToggle {
307
- width: 160px;
307
+ width: 54px;
308
308
  background-color: #252D5B;
309
309
  height: 54px;
310
- border-radius: 0;
311
- border-top-right-radius: 100px;
312
- border-bottom-right-radius: 100px;
313
- justify-content: space-between;
314
- padding: 19px 18px;
310
+ border-radius: 100px;
311
+ justify-content: center;
312
+ padding: 14px;
315
313
 
316
314
  span {
317
315
  color: #ffffff;
318
316
  font-size: 15px;
319
317
  }
318
+
319
+ .plus-icon {
320
+ width: 28px;
321
+ height: 28px;
322
+ }
320
323
  }
321
324
 
322
325
  &.settingsToggle {
@@ -426,7 +429,7 @@
426
429
  left: calc(100% + 15px);
427
430
 
428
431
  &.addElementToggle {
429
- left: 100%;
432
+ left: calc(100% + 12px);
430
433
  }
431
434
  }
432
435
  }
@@ -188,7 +188,7 @@
188
188
  }
189
189
  }
190
190
 
191
- .jfReport, .jfPresentation, .pageThumbnailHelper {
191
+ .jfReport, .jfPresentation, .pageThumbnailHelper, .slides-navigator {
192
192
  .reportItem {
193
193
  .fitFor- {
194
194
  width: 100%;
@@ -230,7 +230,7 @@
230
230
  }
231
231
  }
232
232
 
233
- .pageThumbnailHelper {
233
+ .pageThumbnailHelper, .slides-navigator {
234
234
  .reportItemWrapper {
235
235
  width: 100%;
236
236
  height: 100%;
@@ -86,12 +86,12 @@
86
86
  text-align: center;
87
87
  }
88
88
 
89
- .pageThumbnailHelper .thumbnailFrame {
89
+ .pageThumbnailHelper .thumbnailFrame, .slides-navigator .thumbnailFrame {
90
90
  width: 158px;
91
91
  height: 112px;
92
92
  }
93
93
 
94
- .forSlides .thumbnailWrapper, .pageThumbnailHelper {
94
+ .forSlides .thumbnailWrapper, .pageThumbnailHelper, .slides-navigator {
95
95
  min-height: 120px;
96
96
  padding: 4px;
97
97
  border-left: 3px solid transparent;
@@ -40,3 +40,4 @@ $jfReportChoice-bigCheckIcon: url("data:image/svg+xml,%3Csvg width='12' height='
40
40
 
41
41
  $left-pane-width: 310px;
42
42
  $right-pane-width: 360px;
43
+ $slides-navigator-width: 192px;
@@ -25,6 +25,7 @@
25
25
  .jfReport.customizeMode {
26
26
  .jfReport-canvas {
27
27
  padding: 0 120px;
28
+ transition: margin .3s ease-in;
28
29
  }
29
30
 
30
31
  .jfReport-page {
@@ -24,3 +24,4 @@
24
24
  @import "jfSearchInput";
25
25
  @import "jfLightTheme";
26
26
  @import "jfDarkTheme";
27
+ @import "slides-navigator";
@@ -0,0 +1,240 @@
1
+ .slides-navigator {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: start;
5
+ justify-content: start;
6
+ min-width: 192px;
7
+ max-width: 192px;
8
+ width: 100%;
9
+ height: 100%;
10
+ padding: 1rem 1rem 0;
11
+ gap: 12px;
12
+ background: #E7E9F9;
13
+ z-index: 1000;
14
+ border-top: 1px solid #D8DAE9;
15
+ animation: slideInFromLeft .3s ease-out;
16
+ user-select: none;
17
+
18
+ &-toggle {
19
+ width: 40px;
20
+ height: 40px;
21
+ background: #FFFFFF;
22
+ border: none;
23
+ border-radius: 4px;
24
+ cursor: pointer;
25
+ box-shadow: 0 4px 8px 0 rgba(84, 95, 111, 0.16), 0 0 2px 0 rgba(37, 45, 91, 0.04);
26
+ &:hover {
27
+ background: #F5F5F5;
28
+ }
29
+ }
30
+
31
+ &-add-item {
32
+ display: flex;
33
+ align-items: center;
34
+ justify-content: center;
35
+ padding: 0 .5rem;
36
+ width: 100%;
37
+ height: 100%;
38
+ max-height: 32px;
39
+ border-radius: 4px;
40
+ border: 1px solid #C8CEED;
41
+ background: #E7E9F9;
42
+ transition: all 0.3s ease;
43
+ color: #343C6A;
44
+ cursor: pointer;
45
+
46
+ &:hover {
47
+ border-color: #979dc6;
48
+ transition: all 0.3s ease;
49
+ }
50
+
51
+ &-icon {
52
+ width: 1rem;
53
+ height: 1rem;
54
+ color: #343C6A;
55
+ }
56
+
57
+ &-text {
58
+ color: #343C6A;
59
+ text-align: center;
60
+ font-size: .75rem;
61
+ font-weight: 500;
62
+ line-height: 16px;
63
+ padding: 0 4px;
64
+ }
65
+ }
66
+
67
+ &-item-list {
68
+ display: flex;
69
+ align-items: start;
70
+ justify-content: start;
71
+ flex-direction: column;
72
+ width: 100%;
73
+ gap: 8px;
74
+ }
75
+
76
+ &-item {
77
+ $self: &;
78
+
79
+ display: flex;
80
+ flex-direction: row;
81
+ align-items: center;
82
+ justify-content: start;
83
+ width: 100%;
84
+ height: 100%;
85
+ padding: .25rem;
86
+ gap: 8px;
87
+ max-height: 98.5px;
88
+ min-height: 98.5px;
89
+ margin-bottom: .5rem;
90
+
91
+ &-motion {
92
+ display: flex;
93
+ flex-direction: row;
94
+ align-items: center;
95
+ justify-content: start;
96
+ width: 100%;
97
+ height: 100%;
98
+ gap: 8px;
99
+ }
100
+
101
+ &-order {
102
+ max-width: 1rem;
103
+ min-width: 1rem;
104
+ max-height: 1.25rem;
105
+ min-height: 1.25rem;
106
+ width: 100%;
107
+ height: 100%;
108
+ background: transparent;
109
+ color: #6C73A8;
110
+ font-size: .875rem;
111
+ font-weight: 400;
112
+ line-height: 20px;
113
+ overflow: hidden;
114
+ white-space: nowrap;
115
+ text-overflow: ellipsis;
116
+ }
117
+
118
+ &-content {
119
+ overflow: hidden;
120
+ width: 100%;
121
+ height: 100%;
122
+ background: #ffffff30;
123
+ border: 1px solid #ffffff30;
124
+ border-radius: 4px;
125
+ outline: 2px solid transparent;
126
+ transition: all 0.3s ease;
127
+ pointer-events: none;
128
+ }
129
+
130
+ &.selected {
131
+ #{$self}-order {
132
+ color: #0075E3;
133
+ }
134
+
135
+ #{$self}-content {
136
+ outline: 2px solid #0075E3;
137
+ transition: all 0.3s ease;
138
+ }
139
+ }
140
+ }
141
+
142
+ &-item-list[data-report-layout*="landscape"] {
143
+ .slides-navigator-item-content {
144
+ background: #FFFFFF;
145
+ border: 1px solid #FFFFFF;
146
+ }
147
+ }
148
+
149
+ &-context-menu {
150
+ display: flex;
151
+ flex-direction: column;
152
+ align-items: start;
153
+ justify-content: start;
154
+ width: auto;
155
+ height: auto;
156
+ min-width: 14rem;
157
+ max-width: 14rem;
158
+ max-height: 70vh;
159
+ background: #252D5B !important;
160
+ border-radius: 4px;
161
+
162
+ &-items {
163
+ display: flex;
164
+ flex-direction: column;
165
+ align-items: start;
166
+ justify-content: start;
167
+ padding: 0.25rem;
168
+ width: 100%;
169
+ height: 100%;
170
+ }
171
+
172
+ &-item {
173
+ display: flex;
174
+ flex-direction: row;
175
+ align-items: center;
176
+ justify-content: start;
177
+ width: 100%;
178
+ height: 40px;
179
+ text-align: left;
180
+ padding: 0.5rem;
181
+ gap: .25rem;
182
+ transition-duration: 0.3s;
183
+ border-radius: 4px;
184
+ background: #252D5B;
185
+ color: #FFFFFF;
186
+ z-index: 1;
187
+
188
+ &:hover {
189
+ background: #343C6A;
190
+ transition-duration: 0.3s;
191
+ }
192
+ }
193
+
194
+ &-item-icon {
195
+ width: 1rem;
196
+ height: 1rem;
197
+ color: #FFFFFF;
198
+
199
+ &.delete {
200
+ color: #FF0000;
201
+ }
202
+ }
203
+
204
+ &-item-text {
205
+ color: #FFF;
206
+ font-size: 15px;
207
+ font-weight: 400;
208
+ line-height: 18px;
209
+
210
+ &.delete {
211
+ color: #FF0000;
212
+ }
213
+ }
214
+ }
215
+
216
+ &-virtuoso-list {
217
+ > div:last-child {
218
+ padding-bottom: 1rem;
219
+ }
220
+ }
221
+ }
222
+
223
+ @keyframes slideInFromLeft {
224
+ from {
225
+ transform: translateX(-100%);
226
+ opacity: 0;
227
+ }
228
+ to {
229
+ transform: translateX(0);
230
+ opacity: 1;
231
+ }
232
+ }
233
+
234
+ .slidesNavigatorIsActive {
235
+ .floatingController.slides-navigator-toggle {
236
+ .controllerItem {
237
+ background: #E3E5F5;
238
+ }
239
+ }
240
+ }