@jotforminc/dnd-builder 3.7.0 → 3.7.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 (52) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/lib/cjs/assets/svg/angles-left.svg.js +22 -0
  3. package/lib/cjs/assets/svg/angles-left.svg.js.map +1 -0
  4. package/lib/cjs/components/Builder/Scene.js +1 -4
  5. package/lib/cjs/components/Builder/Scene.js.map +1 -1
  6. package/lib/cjs/components/Builder/SlidesNavigatorToggle.js +5 -2
  7. package/lib/cjs/components/Builder/SlidesNavigatorToggle.js.map +1 -1
  8. package/lib/cjs/components/Builder/ZoomControls.js +7 -2
  9. package/lib/cjs/components/Builder/ZoomControls.js.map +1 -1
  10. package/lib/cjs/components/Panels/LeftPanel/Elements.js +30 -5
  11. package/lib/cjs/components/Panels/LeftPanel/Elements.js.map +1 -1
  12. package/lib/cjs/components/Preview/StaticScene.js +33 -8
  13. package/lib/cjs/components/Preview/StaticScene.js.map +1 -1
  14. package/lib/cjs/constants/zoom.js +5 -1
  15. package/lib/cjs/constants/zoom.js.map +1 -1
  16. package/lib/cjs/contexts/BuilderContext.js +2 -3
  17. package/lib/cjs/contexts/BuilderContext.js.map +1 -1
  18. package/lib/cjs/contexts/Providers.js +1 -6
  19. package/lib/cjs/contexts/Providers.js.map +1 -1
  20. package/lib/cjs/styles/_jfDarkTheme.scss +8 -0
  21. package/lib/cjs/styles/_jfLightTheme.scss +8 -0
  22. package/lib/cjs/styles/_jfReportsFloatings.scss +31 -0
  23. package/lib/cjs/styles/_jfReportsPanels.scss +19 -0
  24. package/lib/cjs/styles/_jfReportsViewModes.scss +1 -1
  25. package/lib/cjs/utils/icons.js +2 -0
  26. package/lib/cjs/utils/icons.js.map +1 -1
  27. package/lib/esm/assets/svg/angles-left.svg.js +20 -0
  28. package/lib/esm/assets/svg/angles-left.svg.js.map +1 -0
  29. package/lib/esm/components/Builder/Scene.js +1 -4
  30. package/lib/esm/components/Builder/Scene.js.map +1 -1
  31. package/lib/esm/components/Builder/SlidesNavigatorToggle.js +5 -2
  32. package/lib/esm/components/Builder/SlidesNavigatorToggle.js.map +1 -1
  33. package/lib/esm/components/Builder/ZoomControls.js +9 -4
  34. package/lib/esm/components/Builder/ZoomControls.js.map +1 -1
  35. package/lib/esm/components/Panels/LeftPanel/Elements.js +30 -5
  36. package/lib/esm/components/Panels/LeftPanel/Elements.js.map +1 -1
  37. package/lib/esm/components/Preview/StaticScene.js +33 -8
  38. package/lib/esm/components/Preview/StaticScene.js.map +1 -1
  39. package/lib/esm/constants/zoom.js +4 -2
  40. package/lib/esm/constants/zoom.js.map +1 -1
  41. package/lib/esm/contexts/BuilderContext.js +2 -3
  42. package/lib/esm/contexts/BuilderContext.js.map +1 -1
  43. package/lib/esm/contexts/Providers.js +1 -6
  44. package/lib/esm/contexts/Providers.js.map +1 -1
  45. package/lib/esm/styles/_jfDarkTheme.scss +8 -0
  46. package/lib/esm/styles/_jfLightTheme.scss +8 -0
  47. package/lib/esm/styles/_jfReportsFloatings.scss +31 -0
  48. package/lib/esm/styles/_jfReportsPanels.scss +19 -0
  49. package/lib/esm/styles/_jfReportsViewModes.scss +1 -1
  50. package/lib/esm/utils/icons.js +1 -0
  51. package/lib/esm/utils/icons.js.map +1 -1
  52. package/package.json +1 -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';\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 shouldFitZoomInitially: !!props.defaultZoom,\n shouldShowRightPanelInitially: props.shouldShowRightPanelInitially ?? true,\n shouldShowZoomControls: props.shouldShowZoomControls ?? true,\n slidesListType: props.slidesListType || SLIDES_LIST_TYPE_MAP.PANEL,\n visiblePageOrder: 1,\n zoom: props.defaultZoom ?? 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","shouldFitZoomInitially","defaultZoom","shouldShowRightPanelInitially","shouldShowZoomControls","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAAAC,KAAK,EAAI;AAC5B,SAAOC,mBAAW,CAAC,UAACC,GAAD,EAAMC,GAAN;AAAA;;AAAA,WAAe;AAChCC,MAAAA,cAAc,EAAEJ,KAAK,CAACK,aAAN,IAAuB,EADP;AAEhCC,MAAAA,SAAS,EAAEN,KAAK,CAACM,SAAN,IAAmB;AAAEC,QAAAA,IAAI,EAAE,CAAR;AAAWC,QAAAA,KAAK,EAAE;AAAlB,OAFE;AAGhCC,MAAAA,2BAA2B,EAAET,KAAK,CAACS,2BAAN,IAAqC,EAHlC;AAIhCC,MAAAA,gBAAgB,EAAEV,KAAK,CAACU,gBAAN,IAA0B,KAJZ;AAKhCC,MAAAA,aAAa,EAAEX,KAAK,CAACW,aAAN,IAAuB,UALN;AAMhCC,MAAAA,MAAM,EAAE,EANwB;AAOhCC,MAAAA,eAAe,EAAEb,KAAK,CAACa,eAAN,IAAyB,KAPV;AAQhCC,MAAAA,QAAQ,EAAE,KARsB;AAShCC,MAAAA,gBAAgB,EAAEf,KAAK,CAACe,gBAAN,IAA0B,KATZ;AAUhCC,MAAAA,qBAAqB,EAAEhB,KAAK,CAACgB,qBAAN,IAA+B,KAVtB;AAWhCC,MAAAA,iBAAiB,EAAEjB,KAAK,CAACiB,iBAAN,IAA2B,KAXd;AAYhCC,MAAAA,gBAAgB,EAAElB,KAAK,CAACkB,gBAAN,IAA0B,KAZZ;AAahCC,MAAAA,kBAAkB,EAAEnB,KAAK,CAACmB,kBAAN,IAA4B,CAbhB;AAchCC,MAAAA,OAAO,EAAE,EAduB;AAehCC,MAAAA,oBAAoB,EAAErB,KAAK,CAACqB,oBAAN,IAA+B,YAAM,EAf3B;AAgBhCC,MAAAA,YAAY,EAAEtB,KAAK,CAACuB,YAAN,IAAsB,IAhBJ;AAiBhCC,MAAAA,mBAAmB,EAAExB,KAAK,CAACwB,mBAAN,IAA8B,YAAM;AACvDtB,QAAAA,GAAG,CAAC;AAAEE,UAAAA,cAAc,EAAE,EAAlB;AAAsBO,UAAAA,aAAa,EAAE;AAArC,SAAD,CAAH;AACD,OAnB+B;AAoBhCc,MAAAA,mCAAmC,EAAE,KApBL;AAqBhCC,MAAAA,oCAAoC,EAAE,KArBN;AAsBhCC,MAAAA,iBAAiB,EAAE3B,KAAK,CAAC2B,iBAAN,IAA4B,UAACC,MAAD,EAAyC;AAAA,YAAhCC,IAAgC,uEAAzB,IAAyB;AAAA,YAAnBC,OAAmB,uEAAT,IAAS;;AACtF,mBAA2B3B,GAAG,EAA9B;AAAA,YAAQC,cAAR,QAAQA,cAAR;;AACAF,QAAAA,GAAG;AACDE,UAAAA,cAAc,EAAE0B,OAAO,GAAG,CAACF,MAAD,CAAH,gCAAkBxB,cAAlB,IAAkCwB,MAAlC;AADtB,WAEEC,IAAI,GAAG;AAAElB,UAAAA,aAAa,EAAE,CAACiB,MAAD,GAAU,UAAV,eAA4BA,MAA5B;AAAjB,SAAH,GAA6D,EAFnE,EAAH;AAID,OA5B+B;AA6BhCG,MAAAA,0BAA0B,EAAE/B,KAAK,CAAC+B,0BAAN,IAAqC,UAAAC,OAAO,EAAI;AAC1E,YAAI,CAACA,OAAD,IAAYA,OAAO,CAACC,MAAR,KAAmB,CAAnC,EAAsC;AACpC/B,UAAAA,GAAG,CAAC;AAAEE,YAAAA,cAAc,EAAE,EAAlB;AAAsBO,YAAAA,aAAa,EAAE;AAArC,WAAD,CAAH;AACD,SAFD,MAEO,IAAIqB,OAAO,CAACC,MAAR,KAAmB,CAAvB,EAA0B;AAC/B/B,UAAAA,GAAG,CAAC;AACFE,YAAAA,cAAc,EAAE4B,OADd;AAEFrB,YAAAA,aAAa,cAAOqB,OAAO,CAAC,CAAD,CAAd;AAFX,WAAD,CAAH;AAID,SALM,MAKA;AACL9B,UAAAA,GAAG,CAAC;AAAEE,YAAAA,cAAc,EAAE4B;AAAlB,WAAD,CAAH;AACD;AACF,OAxC+B;AAyChCE,MAAAA,YAAY,EAAElC,KAAK,CAACkC,YAAN,IAAuB,UAACC,KAAD,EAAQC,QAAR,EAAqB;AACxD,oBAAsBjC,GAAG,EAAzB;AAAA,YAAQG,SAAR,SAAQA,SAAR;;AACAJ,QAAAA,GAAG,CAAC;AAAEI,UAAAA,SAAS,kCAAOA,SAAP,2BAAmB6B,KAAnB,EAA2BC,QAA3B;AAAX,SAAD,CAAH;AACD,OA5C+B;AA6ChCC,MAAAA,mBAAmB,EAAE,6BAAAC,MAAM,EAAI;AAC7BpC,QAAAA,GAAG,CAAC;AAAEQ,UAAAA,gBAAgB,EAAE4B;AAApB,SAAD,CAAH;AACD,OA/C+B;AAgDhCC,MAAAA,gBAAgB,EAAE,0BAAAC,EAAE,EAAI;AACtBtC,QAAAA,GAAG,CAAC;AAAES,UAAAA,aAAa,EAAE6B;AAAjB,SAAD,CAAH;AACD,OAlD+B;AAmDhCC,MAAAA,SAAS,EAAE,mBAAA7B,MAAM,EAAI;AACnBV,QAAAA,GAAG,CAAC;AAAEU,UAAAA,MAAM,EAANA;AAAF,SAAD,CAAH;AACD,OArD+B;AAsDhC8B,MAAAA,kBAAkB,EAAE1C,KAAK,CAAC0C,kBAAN,IAA6B,UAAAJ,MAAM,EAAI;AACzD,oBAIInC,GAAG,EAJP;AAAA,YACEwC,kBADF,SACEA,kBADF;AAAA,YAEyBC,6BAFzB,SAEE5B,qBAFF;AAAA,YAGEU,oCAHF,SAGEA,oCAHF;;AAMA,YAAIY,MAAJ,EAAY;AACV,cAAIM,6BAAJ,EAAmC;AACjC1C,YAAAA,GAAG;AACDW,cAAAA,eAAe,EAAE,IADhB;AAEDG,cAAAA,qBAAqB,EAAE,KAFtB;AAGDS,cAAAA,mCAAmC,EAAE,KAHpC;AAIDC,cAAAA,oCAAoC,EAAE;AAJrC,eAKE,CAACiB,kBAAD,IAAuB;AAAE5B,cAAAA,gBAAgB,EAAE;AAApB,aALzB,EAAH;AAOD,WARD,MAQO;AACLb,YAAAA,GAAG;AACDW,cAAAA,eAAe,EAAE,IADhB;AAEDY,cAAAA,mCAAmC,EAAE,KAFpC;AAGDC,cAAAA,oCAAoC,EAAE;AAHrC,eAIE,CAACiB,kBAAD,IAAuB;AAAE5B,cAAAA,gBAAgB,EAAE;AAApB,aAJzB,EAAH;AAMD;;AACD;AACD;;AAED,YAAIW,oCAAJ,EAA0C;AACxCxB,UAAAA,GAAG,CAAC;AACFW,YAAAA,eAAe,EAAE,KADf;AAEFG,YAAAA,qBAAqB,EAAE,IAFrB;AAGFU,YAAAA,oCAAoC,EAAE;AAHpC,WAAD,CAAH;AAKA;AACD;;AAEDxB,QAAAA,GAAG,CAAC;AAAEW,UAAAA,eAAe,EAAE;AAAnB,SAAD,CAAH;AACD,OA3F+B;AA4FhCgC,MAAAA,WAAW,EAAE,qBAAAP,MAAM,EAAI;AACrBpC,QAAAA,GAAG,CAAC;AAAEY,UAAAA,QAAQ,EAAEwB;AAAZ,SAAD,CAAH;AACD,OA9F+B;AA+FhCQ,MAAAA,mBAAmB,EAAE9C,KAAK,CAAC8C,mBAAN,IAA8B,UAAAR,MAAM,EAAI;AAC3D,oBAAqDnC,GAAG,EAAxD;AAAA,YAAQwC,kBAAR,SAAQA,kBAAR;AAAA,YAA4BtB,oBAA5B,SAA4BA,oBAA5B;;AACAnB,QAAAA,GAAG;AACDa,UAAAA,gBAAgB,EAAEuB;AADjB,WAEEA,MAAM,IAAI,CAACK,kBAAX,IAAiC;AAClC9B,UAAAA,eAAe,EAAE,KADiB;AAElCY,UAAAA,mCAAmC,EAAE,KAFH;AAGlCC,UAAAA,oCAAoC,EAAE;AAHJ,SAFnC,GAOEY,MAAM,IAAI;AAAErB,UAAAA,iBAAiB,EAAE;AAArB,SAPZ,EAAH;AASAI,QAAAA,oBAAoB,CAACiB,MAAD,CAApB;AACD,OA3G+B;AA4GhCS,MAAAA,wBAAwB,EAAE,kCAAAT,MAAM,EAAI;AAClC,oBAGInC,GAAG,EAHP;AAAA,YACmB6C,uBADnB,SACEnC,eADF;AAAA,YAEEY,mCAFF,SAEEA,mCAFF;;AAKA,YAAIa,MAAJ,EAAY;AACV,cAAIU,uBAAJ,EAA6B;AAC3B9C,YAAAA,GAAG,CAAC;AACFW,cAAAA,eAAe,EAAE,KADf;AAEFG,cAAAA,qBAAqB,EAAE,IAFrB;AAGFS,cAAAA,mCAAmC,EAAE,IAHnC;AAIFC,cAAAA,oCAAoC,EAAE;AAJpC,aAAD,CAAH;AAMD,WAPD,MAOO;AACLxB,YAAAA,GAAG,CAAC;AACFc,cAAAA,qBAAqB,EAAE,IADrB;AAEFS,cAAAA,mCAAmC,EAAE,KAFnC;AAGFC,cAAAA,oCAAoC,EAAE;AAHpC,aAAD,CAAH;AAKD;;AACD;AACD;;AAED,YAAID,mCAAJ,EAAyC;AACvCvB,UAAAA,GAAG,CAAC;AACFW,YAAAA,eAAe,EAAE,IADf;AAEFG,YAAAA,qBAAqB,EAAE,KAFrB;AAGFS,YAAAA,mCAAmC,EAAE;AAHnC,WAAD,CAAH;AAKA;AACD;;AAEDvB,QAAAA,GAAG,CAAC;AACFc,UAAAA,qBAAqB,EAAE,KADrB;AAEFU,UAAAA,oCAAoC,EAAE;AAFpC,SAAD,CAAH;AAID,OAjJ+B;AAkJhCuB,MAAAA,oBAAoB,EAAEjD,KAAK,CAACiD,oBAAN,IAA+B,UAAAX,MAAM,EAAI;AAC7D,oBAAqDnC,GAAG,EAAxD;AAAA,YAAQwC,kBAAR,SAAQA,kBAAR;AAAA,YAA4BtB,oBAA5B,SAA4BA,oBAA5B;;AACAnB,QAAAA,GAAG;AACDe,UAAAA,iBAAiB,EAAEqB;AADlB,WAEEA,MAAM,IAAI,CAACK,kBAAX,IAAiC;AAClC9B,UAAAA,eAAe,EAAE,KADiB;AAElCY,UAAAA,mCAAmC,EAAE,KAFH;AAGlCC,UAAAA,oCAAoC,EAAE;AAHJ,SAFnC,GAOEY,MAAM,IAAI;AAAEvB,UAAAA,gBAAgB,EAAE;AAApB,SAPZ,EAAH;AASAM,QAAAA,oBAAoB,CAACiB,MAAD,CAApB;AACD,OA9J+B;AA+JhCY,MAAAA,mBAAmB,EAAE,6BAAAZ,MAAM,EAAI;AAC7BpC,QAAAA,GAAG,CAAC;AAAEgB,UAAAA,gBAAgB,EAAEoB;AAApB,SAAD,CAAH;AACD,OAjK+B;AAkKhCa,MAAAA,UAAU,EAAE,oBAAA/B,OAAO,EAAI;AACrBlB,QAAAA,GAAG,CAAC;AAAEkB,UAAAA,OAAO,EAAPA;AAAF,SAAD,CAAH;AACD,OApK+B;AAqKhCgC,MAAAA,UAAU,EAAE,oBAAAC,SAAS,EAAI;AACvBnD,QAAAA,GAAG,CAAC;AAAEoB,UAAAA,YAAY,EAAE+B;AAAhB,SAAD,CAAH;AACD,OAvK+B;AAwKhCC,MAAAA,WAAW,EAAE,qBAAAC,UAAU,EAAI;AACzBrD,QAAAA,GAAG,CAAC;AAAEoB,UAAAA,YAAY,EAAEiC;AAAhB,SAAD,CAAH;AACD,OA1K+B;AA2KhCC,MAAAA,mBAAmB,EAAE,6BAAAC,gBAAgB,EAAI;AACvCvD,QAAAA,GAAG,CAAC;AAAEuD,UAAAA,gBAAgB,EAAhBA;AAAF,SAAD,CAAH;AACD,OA7K+B;AA8KhCC,MAAAA,OAAO,EAAE,iBAACC,IAAD,EAAOC,WAAP,EAAuB;AAC9B1D,QAAAA,GAAG,CAAC;AAAEyD,UAAAA,IAAI,EAAJA;AAAF,SAAD,CAAH;;AACA,YAAIC,WAAJ,EAAiB;AACf,sCAAmCC,QAAQ,CAACC,aAAT,CAAuB,iCAAvB,CAAnC;AAAA,cAAqBC,SAArB,yBAAQC,WAAR;;AACA,cAAMC,UAAU,GAAGC,QAAQ,CAACN,WAAD,EAAc,EAAd,CAAR,GAA4BD,IAA/C;;AACA,cAAIQ,MAAM,CAACC,UAAP,GAAoBH,UAApB,GAAiC,GAAjC,GAAwCF,SAAS,GAAG,CAAxD,EAA4D;AAC1D7D,YAAAA,GAAG,CAAC;AAAEyC,cAAAA,kBAAkB,EAAE;AAAtB,aAAD,CAAH;AACD,WAFD,MAEO;AACLzC,YAAAA,GAAG,CAAC;AACFyC,cAAAA,kBAAkB,EAAE,KADlB;AAEF9B,cAAAA,eAAe,EAAE,KAFf;AAGFY,cAAAA,mCAAmC,EAAE,KAHnC;AAIFC,cAAAA,oCAAoC,EAAE;AAJpC,aAAD,CAAH;AAMD;AACF;AACF,OA9L+B;AA+LhC2C,MAAAA,sBAAsB,EAAE,CAAC,CAACrE,KAAK,CAACsE,WA/LA;AAgMhCC,MAAAA,6BAA6B,2BAAEvE,KAAK,CAACuE,6BAAR,yEAAyC,IAhMtC;AAiMhCC,MAAAA,sBAAsB,2BAAExE,KAAK,CAACwE,sBAAR,yEAAkC,IAjMxB;AAkMhCC,MAAAA,cAAc,EAAEzE,KAAK,CAACyE,cAAN,IAAwBC,0BAAoB,CAACC,KAlM7B;AAmMhClB,MAAAA,gBAAgB,EAAE,CAnMc;AAoMhCE,MAAAA,IAAI,wBAAE3D,KAAK,CAACsE,WAAR,mEAAuB;AApMK,KAAf;AAAA,GAAD,CAAlB;AAsMD,CAvMD;;AAyMA,IAAMM,cAAc,gBAAGC,mBAAa,CAAC,IAAD,CAApC;IAEaC,eAAe,GAAG,SAAlBA,eAAkB,OAAmC;AAAA,MAAhCC,QAAgC,QAAhCA,QAAgC;AAAA,WAAtBC,KAAsB;AAAA,UAAZhF,KAAY;;AAChE,MAAMiF,QAAQ,GAAGC,YAAM,EAAvB;;AACA,MAAI,CAACD,QAAQ,CAACE,OAAd,EAAuB;AACrBF,IAAAA,QAAQ,CAACE,OAAT,GAAmBpF,YAAY,CAACC,KAAD,CAA/B;AACD;;AAED,sBACEoF,eAAC,cAAD,CAAgB,QAAhB;AAAyB,IAAA,KAAK,EAAEH,QAAQ,CAACE,OAAzC;AAAA,cACGJ;AADH,IADF;AAKD;AAEDD,eAAe,CAACO,SAAhB,GAA4B;AAC1BN,EAAAA,QAAQ,EAAEO,6BAAS,CAACC,GADM;AAE1BP,EAAAA,KAAK,EAAEM,6BAAS,CAACE;AAFS,CAA5B;AAK+BZ,cAAc,CAACa;IAEjCC,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,QAAQ,EAAI;AACzC,MAAMC,OAAO,GAAGC,gBAAU,CAACjB,cAAD,CAA1B;;AACA,MAAI,CAACgB,OAAL,EAAc;AACZ,UAAM,IAAIE,KAAJ,CAAU,oDAAV,CAAN;AACD;;AACD,SAAOC,gBAAQ,CAACH,OAAD,EAAUD,QAAV,CAAf;AACD;;;;;"}
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 && get().mode === 'customize') {\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 shouldFitZoomInitially: !!props.defaultZoom,\n shouldShowRightPanelInitially: props.shouldShowRightPanelInitially ?? true,\n slidesListType: props.slidesListType || SLIDES_LIST_TYPE_MAP.PANEL,\n visiblePageOrder: 1,\n zoom: props.defaultZoom ?? 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","mode","document","querySelector","paneWidth","clientWidth","sceneWidth","parseInt","window","innerWidth","shouldFitZoomInitially","defaultZoom","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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"}
@@ -12,7 +12,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
12
12
 
13
13
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
14
14
 
15
- var _excluded = ["children", "clickOutsideIgnoreSelectors", "defaultZoom", "lastScrollPosition", "mode", "onRightPanelsToggled", "presentationBarActions", "shouldShowRightPanelInitially", "shouldShowZoomControls", "slidesListType", "useFixedPresentationBar"];
15
+ var _excluded = ["children", "clickOutsideIgnoreSelectors", "defaultZoom", "lastScrollPosition", "mode", "onRightPanelsToggled", "presentationBarActions", "shouldShowRightPanelInitially", "slidesListType", "useFixedPresentationBar"];
16
16
 
17
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; }
18
18
 
@@ -33,7 +33,6 @@ var Providers = function Providers(_ref) {
33
33
  onRightPanelsToggled = _ref.onRightPanelsToggled,
34
34
  presentationBarActions = _ref.presentationBarActions,
35
35
  shouldShowRightPanelInitially = _ref.shouldShowRightPanelInitially,
36
- shouldShowZoomControls = _ref.shouldShowZoomControls,
37
36
  slidesListType = _ref.slidesListType,
38
37
  useFixedPresentationBar = _ref.useFixedPresentationBar,
39
38
  props = _objectWithoutProperties(_ref, _excluded);
@@ -44,7 +43,6 @@ var Providers = function Providers(_ref) {
44
43
  lastScrollPosition: lastScrollPosition,
45
44
  onRightPanelsToggled: onRightPanelsToggled,
46
45
  shouldShowRightPanelInitially: shouldShowRightPanelInitially,
47
- shouldShowZoomControls: shouldShowZoomControls,
48
46
  slidesListType: slidesListType,
49
47
  children: /*#__PURE__*/jsxRuntime.jsx(PropContext.PropProvider, _objectSpread(_objectSpread({}, props), {}, {
50
48
  children: mode === 'customize' ? children : /*#__PURE__*/jsxRuntime.jsx(PresentationContext.PresentationProvider, {
@@ -83,9 +81,6 @@ Providers.propTypes = {
83
81
  /** Flag for fixed action bar */
84
82
  shouldShowRightPanelInitially: PropTypes__default['default'].bool,
85
83
 
86
- /** Flag for whether to show the zoom controls */
87
- shouldShowZoomControls: PropTypes__default['default'].bool,
88
-
89
84
  /** Flag for whether to show the right panel initially */
90
85
  slidesListType: PropTypes__default['default'].oneOf(Object.values(panel.SLIDES_LIST_TYPE_MAP)),
91
86
 
@@ -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';\nimport { SLIDES_LIST_TYPE_MAP } from '../constants/panel';\n\nconst Providers = ({\n children,\n clickOutsideIgnoreSelectors,\n defaultZoom,\n lastScrollPosition,\n mode,\n onRightPanelsToggled,\n presentationBarActions,\n shouldShowRightPanelInitially,\n shouldShowZoomControls,\n slidesListType,\n useFixedPresentationBar,\n ...props\n}) => {\n return (\n <BuilderProvider\n clickOutsideIgnoreSelectors={clickOutsideIgnoreSelectors}\n defaultZoom={defaultZoom}\n lastScrollPosition={lastScrollPosition}\n onRightPanelsToggled={onRightPanelsToggled}\n shouldShowRightPanelInitially={shouldShowRightPanelInitially}\n shouldShowZoomControls={shouldShowZoomControls}\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 /** Default zoom */\n defaultZoom: PropTypes.number,\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 zoom controls */\n shouldShowZoomControls: 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","defaultZoom","lastScrollPosition","mode","onRightPanelsToggled","presentationBarActions","shouldShowRightPanelInitially","shouldShowZoomControls","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,OAaZ;AAAA,MAZJC,QAYI,QAZJA,QAYI;AAAA,MAXJC,2BAWI,QAXJA,2BAWI;AAAA,MAVJC,WAUI,QAVJA,WAUI;AAAA,MATJC,kBASI,QATJA,kBASI;AAAA,MARJC,IAQI,QARJA,IAQI;AAAA,MAPJC,oBAOI,QAPJA,oBAOI;AAAA,MANJC,sBAMI,QANJA,sBAMI;AAAA,MALJC,6BAKI,QALJA,6BAKI;AAAA,MAJJC,sBAII,QAJJA,sBAII;AAAA,MAHJC,cAGI,QAHJA,cAGI;AAAA,MAFJC,uBAEI,QAFJA,uBAEI;AAAA,MADDC,KACC;;AACJ,sBACEC,eAACC,8BAAD;AACE,IAAA,2BAA2B,EAAEZ,2BAD/B;AAEE,IAAA,WAAW,EAAEC,WAFf;AAGE,IAAA,kBAAkB,EAAEC,kBAHtB;AAIE,IAAA,oBAAoB,EAAEE,oBAJxB;AAKE,IAAA,6BAA6B,EAAEE,6BALjC;AAME,IAAA,sBAAsB,EAAEC,sBAN1B;AAOE,IAAA,cAAc,EAAEC,cAPlB;AAAA,2BASEG,eAACE,wBAAD,kCAAkBH,KAAlB;AAAA,gBACGP,IAAI,KAAK,WAAT,GAAuBJ,QAAvB,gBACCY,eAACG,wCAAD;AACE,QAAA,sBAAsB,EAAET,sBAD1B;AAEE,QAAA,uBAAuB,EAAEI,uBAF3B;AAAA,kBAIGV;AAJH;AAFJ;AATF,IADF;AAsBD;;AAEDD,SAAS,CAACiB,SAAV,GAAsB;AACpBhB,EAAAA,QAAQ,EAAEiB,6BAAS,CAACC,IAAV,CAAeC,UADL;;AAEpB;AACAlB,EAAAA,2BAA2B,EAAEgB,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACI,MAA5B,CAHT;;AAIpB;AACAnB,EAAAA,WAAW,EAAEe,6BAAS,CAACK,MALH;;AAMpB;AACAnB,EAAAA,kBAAkB,EAAEc,6BAAS,CAACK,MAPV;;AAQpB;AACAlB,EAAAA,IAAI,EAAEa,6BAAS,CAACM,KAAV,CAAgB,CAAC,WAAD,EAAc,cAAd,EAA8B,SAA9B,EAAyC,OAAzC,CAAhB,CATc;;AAUpB;AACF;AACA;AACA;AACElB,EAAAA,oBAAoB,EAAEY,6BAAS,CAACO,IAdZ;;AAepB;AACAlB,EAAAA,sBAAsB,EAAEW,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACQ,KAAV,CAAgB,EAAhB,CAAlB,CAhBJ;;AAiBpB;AACAlB,EAAAA,6BAA6B,EAAEU,6BAAS,CAACS,IAlBrB;;AAmBpB;AACAlB,EAAAA,sBAAsB,EAAES,6BAAS,CAACS,IApBd;;AAqBpB;AACAjB,EAAAA,cAAc,EAAEQ,6BAAS,CAACM,KAAV,CAAgBI,MAAM,CAACC,MAAP,CAAcC,0BAAd,CAAhB,CAtBI;;AAuBpB;AACAnB,EAAAA,uBAAuB,EAAEO,6BAAS,CAACS;AAxBf,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 defaultZoom,\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 defaultZoom={defaultZoom}\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 /** Default zoom */\n defaultZoom: PropTypes.number,\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","defaultZoom","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,OAYZ;AAAA,MAXJC,QAWI,QAXJA,QAWI;AAAA,MAVJC,2BAUI,QAVJA,2BAUI;AAAA,MATJC,WASI,QATJA,WASI;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,EAAEX,2BAD/B;AAEE,IAAA,WAAW,EAAEC,WAFf;AAGE,IAAA,kBAAkB,EAAEC,kBAHtB;AAIE,IAAA,oBAAoB,EAAEE,oBAJxB;AAKE,IAAA,6BAA6B,EAAEE,6BALjC;AAME,IAAA,cAAc,EAAEC,cANlB;AAAA,2BAQEG,eAACE,wBAAD,kCAAkBH,KAAlB;AAAA,gBACGN,IAAI,KAAK,WAAT,GAAuBJ,QAAvB,gBACCW,eAACG,wCAAD;AACE,QAAA,sBAAsB,EAAER,sBAD1B;AAEE,QAAA,uBAAuB,EAAEG,uBAF3B;AAAA,kBAIGT;AAJH;AAFJ;AARF,IADF;AAqBD;;AAEDD,SAAS,CAACgB,SAAV,GAAsB;AACpBf,EAAAA,QAAQ,EAAEgB,6BAAS,CAACC,IAAV,CAAeC,UADL;;AAEpB;AACAjB,EAAAA,2BAA2B,EAAEe,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACI,MAA5B,CAHT;;AAIpB;AACAlB,EAAAA,WAAW,EAAEc,6BAAS,CAACK,MALH;;AAMpB;AACAlB,EAAAA,kBAAkB,EAAEa,6BAAS,CAACK,MAPV;;AAQpB;AACAjB,EAAAA,IAAI,EAAEY,6BAAS,CAACM,KAAV,CAAgB,CAAC,WAAD,EAAc,cAAd,EAA8B,SAA9B,EAAyC,OAAzC,CAAhB,CATc;;AAUpB;AACF;AACA;AACA;AACEjB,EAAAA,oBAAoB,EAAEW,6BAAS,CAACO,IAdZ;;AAepB;AACAjB,EAAAA,sBAAsB,EAAEU,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACQ,KAAV,CAAgB,EAAhB,CAAlB,CAhBJ;;AAiBpB;AACAjB,EAAAA,6BAA6B,EAAES,6BAAS,CAACS,IAlBrB;;AAmBpB;AACAjB,EAAAA,cAAc,EAAEQ,6BAAS,CAACM,KAAV,CAAgBI,MAAM,CAACC,MAAP,CAAcC,0BAAd,CAAhB,CApBI;;AAqBpB;AACAnB,EAAAA,uBAAuB,EAAEO,6BAAS,CAACS;AAtBf,CAAtB;;;;"}
@@ -95,6 +95,14 @@
95
95
  background-color: #394049;
96
96
  }
97
97
 
98
+ .toolItem-subSection {
99
+ background-color: #292D3C;
100
+
101
+ &-title {
102
+ color: #A0A6B6;
103
+ }
104
+ }
105
+
98
106
  .toolItem:not(.toolSection) {
99
107
  border-bottom: 1px solid #4C5360;
100
108
  }
@@ -24,6 +24,14 @@
24
24
  background-color: $white;
25
25
  }
26
26
 
27
+ .toolItem-subSection {
28
+ background-color: #e8eaf0;
29
+
30
+ &-title {
31
+ color: #6c7389;
32
+ }
33
+ }
34
+
27
35
  .toolItem:not(.toolSection) {
28
36
  border-bottom: 1px solid #dde0ea;
29
37
  }
@@ -265,6 +265,14 @@
265
265
  color: #0a1551;
266
266
  fill: #0a1551;
267
267
 
268
+ &.angles-left {
269
+ animation: fadeInAnglesLeft 0.3s ease-out;
270
+ }
271
+
272
+ &.slides {
273
+ animation: fadeInSlides 0.3s ease-out;
274
+ }
275
+
268
276
  path {
269
277
  color: #0a1551;
270
278
  fill: #0a1551;
@@ -436,3 +444,26 @@
436
444
  gap: 4px;
437
445
  z-index: 2;
438
446
  }
447
+
448
+
449
+ @keyframes fadeInAnglesLeft {
450
+ from {
451
+ opacity: 0.8;
452
+ transform: scale(0.8) translateX(-20px);
453
+ }
454
+ to {
455
+ opacity: 1;
456
+ transform: scale(1) translateX(0);
457
+ }
458
+ }
459
+
460
+ @keyframes fadeInSlides {
461
+ from {
462
+ opacity: 0.8;
463
+ transform: scale(0.8) translateY(-10px);
464
+ }
465
+ to {
466
+ opacity: 1;
467
+ transform: scale(1) translateY(0);
468
+ }
469
+ }
@@ -96,6 +96,25 @@
96
96
  }
97
97
  }
98
98
 
99
+ &-subSection {
100
+ display: flex;
101
+ flex-direction: column;
102
+
103
+ &-title {
104
+ display: flex;
105
+ align-items: center;
106
+ justify-content: center;
107
+ height: 36px;
108
+ font-size: 0.875rem;
109
+ font-weight: 400;
110
+ line-height: 20px;
111
+ letter-spacing: -0.084px;
112
+ white-space: nowrap;
113
+ user-select: none;
114
+ pointer-events: none;
115
+ }
116
+ }
117
+
99
118
  .note {
100
119
  opacity: .6;
101
120
  font-size: .75rem;
@@ -1,6 +1,6 @@
1
1
  .jfReport.previewMode {
2
2
  .jfReport-canvas {
3
- padding: 0 40px;
3
+ padding: 0 120px;
4
4
  }
5
5
 
6
6
  .jfReport-page {
@@ -52,6 +52,7 @@ var settings = require('../assets/svg/settings.svg.js');
52
52
  var arrow_up = require('../assets/svg/arrow_up.svg.js');
53
53
  var arrow_left = require('../assets/svg/arrow_left.svg.js');
54
54
  var arrow_right = require('../assets/svg/arrow_right.svg.js');
55
+ var anglesLeft = require('../assets/svg/angles-left.svg.js');
55
56
  var angle_down = require('../assets/svg/angle_down.svg.js');
56
57
  var angle_up = require('../assets/svg/angle_up.svg.js');
57
58
  var angle_left = require('../assets/svg/angle_left.svg.js');
@@ -139,6 +140,7 @@ exports.settings = settings;
139
140
  exports.arrowUp = arrow_up;
140
141
  exports.arrowLeft = arrow_left;
141
142
  exports.arrowRight = arrow_right;
143
+ exports.anglesLeft = anglesLeft;
142
144
  exports.angleDown = angle_down;
143
145
  exports.angleUp = angle_up;
144
146
  exports.angleLeft = angle_left;
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sources":["../../../src/utils/icons.js"],"sourcesContent":["// General //\n\nexport { default as down } from '../assets/svg/arrow_down.svg';\nexport { default as drag } from '../assets/svg/settings/drag.svg';\nexport { default as trash } from '../assets/svg/trash.svg';\nexport { default as close } from '../assets/svg/close.svg';\nexport { default as rotate } from '../assets/svg/rotate.svg';\nexport { default as customize } from '../assets/svg/customize.svg';\nexport { default as slides } from '../assets/svg/slides.svg';\nexport { default as settingsToggle } from '../assets/svg/settings_toggle.svg';\nexport { default as ellipsisVertical } from '../assets/svg/ellipsis-vertical.svg';\n\n// Elements //\n\nexport { default as header } from '../assets/svg/toolbox/header.svg';\nexport { default as icon } from '../assets/svg/toolbox/icon.svg';\nexport { default as image } from '../assets/svg/toolbox/image.svg';\nexport { default as label } from '../assets/svg/toolbox/label.svg';\nexport { default as shapes } from '../assets/svg/toolbox/shapes.svg';\nexport { default as table } from '../assets/svg/toolbox/table.svg';\nexport { default as textElement } from '../assets/svg/toolbox/text_element.svg';\nexport { default as text } from '../assets/svg/toolbox/text.svg';\nexport { default as star } from '../assets/svg/toolbox/star.svg';\nexport { default as email } from '../assets/svg/toolbox/email.svg';\nexport { default as singleChoice } from '../assets/svg/toolbox/single_choice.svg';\nexport { default as multipleChoice } from '../assets/svg/toolbox/multiple_choice.svg';\nexport { default as lock } from '../assets/svg/settings/lock.svg';\nexport { default as unlock } from '../assets/svg/settings/unlock.svg';\n\n// Settings //\n\nexport { default as bold } from '../assets/svg/settings/font_bold.svg';\nexport { default as italic } from '../assets/svg/settings/font_italic.svg';\nexport { default as underline } from '../assets/svg/settings/font_underline.svg';\nexport { default as alignLeft } from '../assets/svg/settings/align_left.svg';\nexport { default as alignCenter } from '../assets/svg/settings/align_center.svg';\nexport { default as alignRight } from '../assets/svg/settings/align_right.svg';\n\n// Chart Settings //\n\nexport { default as pie } from '../assets/svg/settings/chart_pie.svg';\nexport { default as bar } from '../assets/svg/settings/chart_bar.svg';\nexport { default as line } from '../assets/svg/settings/chart_line.svg';\nexport { default as basic } from '../assets/svg/settings/chart_basic.svg';\nexport { default as donut } from '../assets/svg/settings/chart_donut.svg';\nexport { default as grid } from '../assets/svg/settings/chart_grid.svg';\nexport { default as textGrid } from '../assets/svg/settings/chart_textGrid.svg';\nexport { default as column } from '../assets/svg/settings/chart_column.svg';\nexport { default as layout } from '../assets/svg/settings/layout.svg';\nexport { default as starRating } from '../assets/svg/star_rating.svg';\nexport { default as heartRating } from '../assets/svg/heart_rating.svg';\n\n// Shape Settings //\n\nexport { default as rectangleIcon } from '../assets/svg/settings/rectangle.svg';\nexport { default as ellipseIcon } from '../assets/svg/settings/ellipse.svg';\nexport { default as triangleIcon } from '../assets/svg/settings/triangle.svg';\nexport { default as starIcon } from '../assets/svg/settings/star.svg';\nexport { default as lineIcon } from '../assets/svg/settings/line.svg';\n\n// Element Menu //\n\nexport { default as duplicate } from '../assets/svg/duplicate.svg';\nexport { default as settings } from '../assets/svg/settings.svg';\n\n// Page Menu //\n\nexport { default as arrowDown } from '../assets/svg/arrow_down.svg';\nexport { default as arrowUp } from '../assets/svg/arrow_up.svg';\nexport { default as arrowLeft } from '../assets/svg/arrow_left.svg';\nexport { default as arrowRight } from '../assets/svg/arrow_right.svg';\nexport { default as angleDown } from '../assets/svg/angle_down.svg';\nexport { default as angleUp } from '../assets/svg/angle_up.svg';\nexport { default as angleLeft } from '../assets/svg/angle_left.svg';\nexport { default as angleRight } from '../assets/svg/angle_right.svg';\nexport { default as duplicateLine } from '../assets/svg/page-actions/duplicate_line.svg';\nexport { default as plus } from '../assets/svg/plus.svg';\nexport { default as minus } from '../assets/svg/minus.svg';\nexport { default as trashLine } from '../assets/svg/page-actions/trash_line.svg';\nexport { default as pageSettings } from '../assets/svg/page_settings.svg';\n\n// Context Menu //\n\nexport { default as moveToFront } from '../assets/svg/contextmenu/moveToFront.svg';\nexport { default as moveToForward } from '../assets/svg/contextmenu/moveToForward.svg';\nexport { default as moveToBackward } from '../assets/svg/contextmenu/moveToBackward.svg';\nexport { default as moveToBack } from '../assets/svg/contextmenu/moveToBack.svg';\n\n// Presentation //\n\nexport { default as print } from '../assets/svg/presentation/print.svg';\nexport { default as download } from '../assets/svg/presentation/download.svg';\nexport { default as play } from '../assets/svg/presentation/play.svg';\nexport { default as enterFullscreen } from '../assets/svg/presentation/enter_fullscreen.svg';\nexport { default as exitFullscreen } from '../assets/svg/presentation/exit_fullscreen.svg';\nexport { default as pause } from '../assets/svg/presentation/pause.svg';\nexport { default as share } from '../assets/svg/presentation/share.svg';\nexport { default as attachment } from '../assets/svg/presentation/attachment.svg';\nexport { default as pen } from '../assets/svg/presentation/pen.svg';\n\n// Password Modal //\n\nexport { default as key } from '../assets/svg/presentation/key.svg';\nexport { default as eye } from '../assets/svg/presentation/eye.svg';\n\n// Placeholder //\n\nexport { default as piePlaceholder } from '../assets/svg/placeholder/pie.svg';\nexport { default as barPlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as linePlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as columnPlaceholder } from '../assets/svg/placeholder/column.svg';\nexport { default as basicPlaceholder } from '../assets/svg/placeholder/basic.svg';\nexport { default as donutPlaceholder } from '../assets/svg/placeholder/donut.svg';\nexport { default as textGridPlaceholder } from '../assets/svg/placeholder/grid.svg';\n\n// Placeholder //\n\n// Zoom //\n\nexport { default as fit } from '../assets/svg/fit_screen.svg';\n\n// Zoom //\n\n// Loading //\nexport { default as loadingCircle } from '../assets/svg/loading_circle.svg';\n\n// Error Boundary //\n\nexport { default as exclamationIcon } from '../assets/svg/exclamation.svg';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"icons.js","sources":["../../../src/utils/icons.js"],"sourcesContent":["// General //\n\nexport { default as down } from '../assets/svg/arrow_down.svg';\nexport { default as drag } from '../assets/svg/settings/drag.svg';\nexport { default as trash } from '../assets/svg/trash.svg';\nexport { default as close } from '../assets/svg/close.svg';\nexport { default as rotate } from '../assets/svg/rotate.svg';\nexport { default as customize } from '../assets/svg/customize.svg';\nexport { default as slides } from '../assets/svg/slides.svg';\nexport { default as settingsToggle } from '../assets/svg/settings_toggle.svg';\nexport { default as ellipsisVertical } from '../assets/svg/ellipsis-vertical.svg';\n\n// Elements //\n\nexport { default as header } from '../assets/svg/toolbox/header.svg';\nexport { default as icon } from '../assets/svg/toolbox/icon.svg';\nexport { default as image } from '../assets/svg/toolbox/image.svg';\nexport { default as label } from '../assets/svg/toolbox/label.svg';\nexport { default as shapes } from '../assets/svg/toolbox/shapes.svg';\nexport { default as table } from '../assets/svg/toolbox/table.svg';\nexport { default as textElement } from '../assets/svg/toolbox/text_element.svg';\nexport { default as text } from '../assets/svg/toolbox/text.svg';\nexport { default as star } from '../assets/svg/toolbox/star.svg';\nexport { default as email } from '../assets/svg/toolbox/email.svg';\nexport { default as singleChoice } from '../assets/svg/toolbox/single_choice.svg';\nexport { default as multipleChoice } from '../assets/svg/toolbox/multiple_choice.svg';\nexport { default as lock } from '../assets/svg/settings/lock.svg';\nexport { default as unlock } from '../assets/svg/settings/unlock.svg';\n\n// Settings //\n\nexport { default as bold } from '../assets/svg/settings/font_bold.svg';\nexport { default as italic } from '../assets/svg/settings/font_italic.svg';\nexport { default as underline } from '../assets/svg/settings/font_underline.svg';\nexport { default as alignLeft } from '../assets/svg/settings/align_left.svg';\nexport { default as alignCenter } from '../assets/svg/settings/align_center.svg';\nexport { default as alignRight } from '../assets/svg/settings/align_right.svg';\n\n// Chart Settings //\n\nexport { default as pie } from '../assets/svg/settings/chart_pie.svg';\nexport { default as bar } from '../assets/svg/settings/chart_bar.svg';\nexport { default as line } from '../assets/svg/settings/chart_line.svg';\nexport { default as basic } from '../assets/svg/settings/chart_basic.svg';\nexport { default as donut } from '../assets/svg/settings/chart_donut.svg';\nexport { default as grid } from '../assets/svg/settings/chart_grid.svg';\nexport { default as textGrid } from '../assets/svg/settings/chart_textGrid.svg';\nexport { default as column } from '../assets/svg/settings/chart_column.svg';\nexport { default as layout } from '../assets/svg/settings/layout.svg';\nexport { default as starRating } from '../assets/svg/star_rating.svg';\nexport { default as heartRating } from '../assets/svg/heart_rating.svg';\n\n// Shape Settings //\n\nexport { default as rectangleIcon } from '../assets/svg/settings/rectangle.svg';\nexport { default as ellipseIcon } from '../assets/svg/settings/ellipse.svg';\nexport { default as triangleIcon } from '../assets/svg/settings/triangle.svg';\nexport { default as starIcon } from '../assets/svg/settings/star.svg';\nexport { default as lineIcon } from '../assets/svg/settings/line.svg';\n\n// Element Menu //\n\nexport { default as duplicate } from '../assets/svg/duplicate.svg';\nexport { default as settings } from '../assets/svg/settings.svg';\n\n// Page Menu //\n\nexport { default as arrowDown } from '../assets/svg/arrow_down.svg';\nexport { default as arrowUp } from '../assets/svg/arrow_up.svg';\nexport { default as arrowLeft } from '../assets/svg/arrow_left.svg';\nexport { default as arrowRight } from '../assets/svg/arrow_right.svg';\nexport { default as anglesLeft } from '../assets/svg/angles-left.svg';\nexport { default as angleDown } from '../assets/svg/angle_down.svg';\nexport { default as angleUp } from '../assets/svg/angle_up.svg';\nexport { default as angleLeft } from '../assets/svg/angle_left.svg';\nexport { default as angleRight } from '../assets/svg/angle_right.svg';\nexport { default as duplicateLine } from '../assets/svg/page-actions/duplicate_line.svg';\nexport { default as plus } from '../assets/svg/plus.svg';\nexport { default as minus } from '../assets/svg/minus.svg';\nexport { default as trashLine } from '../assets/svg/page-actions/trash_line.svg';\nexport { default as pageSettings } from '../assets/svg/page_settings.svg';\n\n// Context Menu //\n\nexport { default as moveToFront } from '../assets/svg/contextmenu/moveToFront.svg';\nexport { default as moveToForward } from '../assets/svg/contextmenu/moveToForward.svg';\nexport { default as moveToBackward } from '../assets/svg/contextmenu/moveToBackward.svg';\nexport { default as moveToBack } from '../assets/svg/contextmenu/moveToBack.svg';\n\n// Presentation //\n\nexport { default as print } from '../assets/svg/presentation/print.svg';\nexport { default as download } from '../assets/svg/presentation/download.svg';\nexport { default as play } from '../assets/svg/presentation/play.svg';\nexport { default as enterFullscreen } from '../assets/svg/presentation/enter_fullscreen.svg';\nexport { default as exitFullscreen } from '../assets/svg/presentation/exit_fullscreen.svg';\nexport { default as pause } from '../assets/svg/presentation/pause.svg';\nexport { default as share } from '../assets/svg/presentation/share.svg';\nexport { default as attachment } from '../assets/svg/presentation/attachment.svg';\nexport { default as pen } from '../assets/svg/presentation/pen.svg';\n\n// Password Modal //\n\nexport { default as key } from '../assets/svg/presentation/key.svg';\nexport { default as eye } from '../assets/svg/presentation/eye.svg';\n\n// Placeholder //\n\nexport { default as piePlaceholder } from '../assets/svg/placeholder/pie.svg';\nexport { default as barPlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as linePlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as columnPlaceholder } from '../assets/svg/placeholder/column.svg';\nexport { default as basicPlaceholder } from '../assets/svg/placeholder/basic.svg';\nexport { default as donutPlaceholder } from '../assets/svg/placeholder/donut.svg';\nexport { default as textGridPlaceholder } from '../assets/svg/placeholder/grid.svg';\n\n// Placeholder //\n\n// Zoom //\n\nexport { default as fit } from '../assets/svg/fit_screen.svg';\n\n// Zoom //\n\n// Loading //\nexport { default as loadingCircle } from '../assets/svg/loading_circle.svg';\n\n// Error Boundary //\n\nexport { default as exclamationIcon } from '../assets/svg/exclamation.svg';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,20 @@
1
+ import { createElement } from 'react';
2
+
3
+ var _path;
4
+
5
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
6
+
7
+ function SvgAnglesLeft(props) {
8
+ return /*#__PURE__*/createElement("svg", _extends({
9
+ xmlns: "http://www.w3.org/2000/svg",
10
+ fill: "currentColor",
11
+ viewBox: "0 0 24 24"
12
+ }, props), _path || (_path = /*#__PURE__*/createElement("path", {
13
+ fillRule: "evenodd",
14
+ d: "M11.707 8.707a1 1 0 00-1.414-1.414l-4 4a1 1 0 000 1.414l4 4a1 1 0 001.414-1.414L8.414 12l3.293-3.293zm6 0a1 1 0 00-1.414-1.414l-4 4a1 1 0 000 1.414l4 4a1 1 0 001.414-1.414L14.414 12l3.293-3.293z",
15
+ clipRule: "evenodd"
16
+ })));
17
+ }
18
+
19
+ export default SvgAnglesLeft;
20
+ //# sourceMappingURL=angles-left.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angles-left.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -59,9 +59,6 @@ var Scene = function Scene() {
59
59
  var setOutPage = useBuilderStore(function (state) {
60
60
  return state.setOutPage;
61
61
  });
62
- var shouldShowZoomControls = useBuilderStore(function (state) {
63
- return state.shouldShowZoomControls;
64
- });
65
62
  var pageStyles = useRef({});
66
63
  var pageContainerStyles = useRef({});
67
64
  var viewPortRef = useRef({});
@@ -201,7 +198,7 @@ var Scene = function Scene() {
201
198
  })
202
199
  }), /*#__PURE__*/jsxs("div", {
203
200
  className: "bottom-actions-container",
204
- children: [isSlidesListType(slidesListType, 'NAVIGATOR') && /*#__PURE__*/jsx(SlidesNavigatorToggle, {}), shouldShowZoomControls && /*#__PURE__*/jsx(ZoomControls, {})]
201
+ children: [isSlidesListType(slidesListType, 'NAVIGATOR') && /*#__PURE__*/jsx(SlidesNavigatorToggle, {}), /*#__PURE__*/jsx(ZoomControls, {})]
205
202
  }), contextMenuProps && /*#__PURE__*/jsx(ContextMenu, {
206
203
  exceptionalClasses: ['contextMenu-button'],
207
204
  height: height,
@@ -1 +1 @@
1
- {"version":3,"file":"Scene.js","sources":["../../../../src/components/Builder/Scene.js"],"sourcesContent":["/* eslint-disable jsx-a11y/mouse-events-have-key-events */\n/* eslint-disable complexity */\nimport {\n createRef,\n useCallback,\n useEffect,\n useRef,\n} from 'react';\nimport * as classNames from '../../constants/classNames';\nimport ContextMenu from './ContextMenu';\nimport PageActions from './PageActions';\nimport PageAdder from './PageAdder';\nimport ZoomControls from './ZoomControls';\nimport SelectionBox from './SelectionBox';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport Page from './Page';\nimport {\n calculateGuidePositions,\n findItemById,\n findItemsOnPage,\n isSlidesListType,\n} from '../../utils/functions';\nimport DraggableLayer from './DraggableLayer';\nimport useKeyboardActions from '../../utils/useKeyboardActions';\nimport useMarqueeSelection from '../../utils/useMarqueeSelection';\nimport SlidesNavigatorToggle from './SlidesNavigatorToggle';\n\nconst Scene = () => {\n const pages = usePropStore(state => state.pages);\n const settings = usePropStore(state => state.settings);\n const contextMenuProps = useBuilderStore(state => state.contextMenuProps);\n const setContextMenuProps = useBuilderStore(state => state.setContextMenuProps);\n const setGuides = useBuilderStore(state => state.setGuides);\n const zoom = useBuilderStore(state => state.zoom);\n const lastScrollPosition = useBuilderStore(state => state.lastScrollPosition);\n const slidesListType = useBuilderStore(state => state.slidesListType);\n const setOverPage = useBuilderStore(state => state.setOverPage);\n const setOutPage = useBuilderStore(state => state.setOutPage);\n const shouldShowZoomControls = useBuilderStore(state => state.shouldShowZoomControls);\n\n const pageStyles = useRef({});\n const pageContainerStyles = useRef({});\n const viewPortRef = useRef({});\n const canvasRef = useRef(null);\n\n /* Page Refs */\n const refs = useRef(pages.reduce((acc, curr) => {\n acc[curr.id] = createRef(null);\n return acc;\n }, {}));\n\n // Custom hooks\n useKeyboardActions();\n const { selectionBox, selectionPageId } = useMarqueeSelection(canvasRef);\n\n // Update refs when new pages are added\n useEffect(() => {\n pages.forEach(page => {\n if (!refs.current[page.id]) {\n refs.current[page.id] = createRef(null);\n }\n });\n }, [pages]);\n\n // Calculate guides for snap functionality\n useEffect(() => {\n setGuides(pages.reduce((acc, page) => {\n const _pageGuides = {};\n const pageRef = refs.current[page.id];\n if (pageRef && pageRef.current) {\n const {\n height, left, top, width,\n } = pageRef.current.getBoundingClientRect();\n const boundingBox = {\n height, left, top, width,\n };\n _pageGuides.boundingBox = {\n x: calculateGuidePositions(boundingBox, 'x').map(value => value - boundingBox.left),\n y: calculateGuidePositions(boundingBox, 'y').map(value => value - boundingBox.top),\n };\n page.items.forEach(item => {\n _pageGuides[item.id] = {\n x: calculateGuidePositions(item, 'x', zoom),\n y: calculateGuidePositions(item, 'y', zoom),\n };\n });\n }\n acc[page.id] = _pageGuides;\n return acc;\n }, {}));\n }, [pages, zoom, setGuides]);\n\n // Restore scroll position after mode change\n useEffect(() => {\n if (viewPortRef.current) {\n viewPortRef.current.scrollTop = lastScrollPosition;\n }\n }, [lastScrollPosition]);\n\n const { reportLayoutHeight = 794, reportLayoutWidth = 1123 } = settings;\n\n // TODO: Some strange shit is going on here on first render\n let width = parseInt(reportLayoutWidth, 10);\n let height = parseInt(reportLayoutHeight, 10);\n width = Number.isNaN(width) ? 1 : width;\n height = Number.isNaN(height) ? 1 : height;\n const zoomToUse = Number.isNaN(zoom) ? 1 : zoom;\n\n pageStyles.current = {\n height: parseFloat((height * zoomToUse).toFixed(1)),\n width: parseFloat((width * zoomToUse).toFixed(1)),\n };\n pageContainerStyles.current = {\n height,\n transform: `scale(${zoomToUse})`,\n transformOrigin: '0 0',\n width,\n };\n\n const pageOverHandler = useCallback(pageId => {\n setOverPage(pageId);\n }, [setOverPage]);\n\n const pageOutHandler = useCallback(() => {\n setOutPage(null);\n }, [setOutPage]);\n\n return (\n <main\n className={classNames.mainWrapper}\n >\n <DraggableLayer\n pageRefs={refs.current}\n />\n <div\n ref={viewPortRef}\n className={classNames.viewport}\n data-zoom={zoom}\n >\n <div\n ref={canvasRef}\n className={classNames.canvas}\n >\n {pages.map((page, index) => (\n <div\n key={page.id}\n onMouseOut={pageOutHandler}\n onMouseOver={() => pageOverHandler(page.id)}\n >\n <PageActions\n order={page.order}\n pageID={page.id}\n />\n <div\n key={`page_${page.id}`}\n ref={refs.current[page.id]}\n className={classNames.page}\n data-id={page.id}\n data-order={page.order}\n id={`presentation-page-${page.id.toString()}`}\n style={{ ...pageStyles.current, position: 'relative' }}\n >\n <Page\n items={page.items}\n page={page}\n pageIndex={index}\n style={pageContainerStyles.current}\n />\n {selectionPageId === page.id && selectionBox && (\n <SelectionBox selectionBox={selectionBox} />\n )}\n </div>\n </div>\n ))}\n <PageAdder />\n </div>\n </div>\n <div className=\"bottom-actions-container\">\n {isSlidesListType(slidesListType, 'NAVIGATOR') && <SlidesNavigatorToggle />}\n {shouldShowZoomControls && <ZoomControls />}\n </div>\n {contextMenuProps\n && (\n <ContextMenu\n exceptionalClasses={['contextMenu-button']}\n height={height}\n item={findItemById(contextMenuProps.id, pages)}\n items={findItemsOnPage(contextMenuProps.pageID, pages)}\n onClickOutside={() => setContextMenuProps(null)}\n position={contextMenuProps.position}\n width={width}\n />\n )}\n </main>\n );\n};\n\nexport default Scene;\n"],"names":["Scene","pages","usePropStore","state","settings","contextMenuProps","useBuilderStore","setContextMenuProps","setGuides","zoom","lastScrollPosition","slidesListType","setOverPage","setOutPage","shouldShowZoomControls","pageStyles","useRef","pageContainerStyles","viewPortRef","canvasRef","refs","reduce","acc","curr","id","createRef","useKeyboardActions","useMarqueeSelection","selectionBox","selectionPageId","useEffect","forEach","page","current","_pageGuides","pageRef","getBoundingClientRect","height","left","top","width","boundingBox","x","calculateGuidePositions","map","value","y","items","item","scrollTop","reportLayoutHeight","reportLayoutWidth","parseInt","Number","isNaN","zoomToUse","parseFloat","toFixed","transform","transformOrigin","pageOverHandler","useCallback","pageId","pageOutHandler","_jsxs","classNames","_jsx","index","order","toString","position","isSlidesListType","findItemById","findItemsOnPage","pageID"],"mappings":"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"}
1
+ {"version":3,"file":"Scene.js","sources":["../../../../src/components/Builder/Scene.js"],"sourcesContent":["/* eslint-disable jsx-a11y/mouse-events-have-key-events */\n/* eslint-disable complexity */\nimport {\n createRef,\n useCallback,\n useEffect,\n useRef,\n} from 'react';\nimport * as classNames from '../../constants/classNames';\nimport ContextMenu from './ContextMenu';\nimport PageActions from './PageActions';\nimport PageAdder from './PageAdder';\nimport ZoomControls from './ZoomControls';\nimport SelectionBox from './SelectionBox';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport Page from './Page';\nimport {\n calculateGuidePositions,\n findItemById,\n findItemsOnPage,\n isSlidesListType,\n} from '../../utils/functions';\nimport DraggableLayer from './DraggableLayer';\nimport useKeyboardActions from '../../utils/useKeyboardActions';\nimport useMarqueeSelection from '../../utils/useMarqueeSelection';\nimport SlidesNavigatorToggle from './SlidesNavigatorToggle';\n\nconst Scene = () => {\n const pages = usePropStore(state => state.pages);\n const settings = usePropStore(state => state.settings);\n const contextMenuProps = useBuilderStore(state => state.contextMenuProps);\n const setContextMenuProps = useBuilderStore(state => state.setContextMenuProps);\n const setGuides = useBuilderStore(state => state.setGuides);\n const zoom = useBuilderStore(state => state.zoom);\n const lastScrollPosition = useBuilderStore(state => state.lastScrollPosition);\n const slidesListType = useBuilderStore(state => state.slidesListType);\n const setOverPage = useBuilderStore(state => state.setOverPage);\n const setOutPage = useBuilderStore(state => state.setOutPage);\n\n const pageStyles = useRef({});\n const pageContainerStyles = useRef({});\n const viewPortRef = useRef({});\n const canvasRef = useRef(null);\n\n /* Page Refs */\n const refs = useRef(pages.reduce((acc, curr) => {\n acc[curr.id] = createRef(null);\n return acc;\n }, {}));\n\n // Custom hooks\n useKeyboardActions();\n const { selectionBox, selectionPageId } = useMarqueeSelection(canvasRef);\n\n // Update refs when new pages are added\n useEffect(() => {\n pages.forEach(page => {\n if (!refs.current[page.id]) {\n refs.current[page.id] = createRef(null);\n }\n });\n }, [pages]);\n\n // Calculate guides for snap functionality\n useEffect(() => {\n setGuides(pages.reduce((acc, page) => {\n const _pageGuides = {};\n const pageRef = refs.current[page.id];\n if (pageRef && pageRef.current) {\n const {\n height, left, top, width,\n } = pageRef.current.getBoundingClientRect();\n const boundingBox = {\n height, left, top, width,\n };\n _pageGuides.boundingBox = {\n x: calculateGuidePositions(boundingBox, 'x').map(value => value - boundingBox.left),\n y: calculateGuidePositions(boundingBox, 'y').map(value => value - boundingBox.top),\n };\n page.items.forEach(item => {\n _pageGuides[item.id] = {\n x: calculateGuidePositions(item, 'x', zoom),\n y: calculateGuidePositions(item, 'y', zoom),\n };\n });\n }\n acc[page.id] = _pageGuides;\n return acc;\n }, {}));\n }, [pages, zoom, setGuides]);\n\n // Restore scroll position after mode change\n useEffect(() => {\n if (viewPortRef.current) {\n viewPortRef.current.scrollTop = lastScrollPosition;\n }\n }, [lastScrollPosition]);\n\n const { reportLayoutHeight = 794, reportLayoutWidth = 1123 } = settings;\n\n // TODO: Some strange shit is going on here on first render\n let width = parseInt(reportLayoutWidth, 10);\n let height = parseInt(reportLayoutHeight, 10);\n width = Number.isNaN(width) ? 1 : width;\n height = Number.isNaN(height) ? 1 : height;\n const zoomToUse = Number.isNaN(zoom) ? 1 : zoom;\n\n pageStyles.current = {\n height: parseFloat((height * zoomToUse).toFixed(1)),\n width: parseFloat((width * zoomToUse).toFixed(1)),\n };\n pageContainerStyles.current = {\n height,\n transform: `scale(${zoomToUse})`,\n transformOrigin: '0 0',\n width,\n };\n\n const pageOverHandler = useCallback(pageId => {\n setOverPage(pageId);\n }, [setOverPage]);\n\n const pageOutHandler = useCallback(() => {\n setOutPage(null);\n }, [setOutPage]);\n\n return (\n <main\n className={classNames.mainWrapper}\n >\n <DraggableLayer\n pageRefs={refs.current}\n />\n <div\n ref={viewPortRef}\n className={classNames.viewport}\n data-zoom={zoom}\n >\n <div\n ref={canvasRef}\n className={classNames.canvas}\n >\n {pages.map((page, index) => (\n <div\n key={page.id}\n onMouseOut={pageOutHandler}\n onMouseOver={() => pageOverHandler(page.id)}\n >\n <PageActions\n order={page.order}\n pageID={page.id}\n />\n <div\n key={`page_${page.id}`}\n ref={refs.current[page.id]}\n className={classNames.page}\n data-id={page.id}\n data-order={page.order}\n id={`presentation-page-${page.id.toString()}`}\n style={{ ...pageStyles.current, position: 'relative' }}\n >\n <Page\n items={page.items}\n page={page}\n pageIndex={index}\n style={pageContainerStyles.current}\n />\n {selectionPageId === page.id && selectionBox && (\n <SelectionBox selectionBox={selectionBox} />\n )}\n </div>\n </div>\n ))}\n <PageAdder />\n </div>\n </div>\n <div className=\"bottom-actions-container\">\n {isSlidesListType(slidesListType, 'NAVIGATOR') && <SlidesNavigatorToggle />}\n <ZoomControls />\n </div>\n {contextMenuProps\n && (\n <ContextMenu\n exceptionalClasses={['contextMenu-button']}\n height={height}\n item={findItemById(contextMenuProps.id, pages)}\n items={findItemsOnPage(contextMenuProps.pageID, pages)}\n onClickOutside={() => setContextMenuProps(null)}\n position={contextMenuProps.position}\n width={width}\n />\n )}\n </main>\n );\n};\n\nexport default Scene;\n"],"names":["Scene","pages","usePropStore","state","settings","contextMenuProps","useBuilderStore","setContextMenuProps","setGuides","zoom","lastScrollPosition","slidesListType","setOverPage","setOutPage","pageStyles","useRef","pageContainerStyles","viewPortRef","canvasRef","refs","reduce","acc","curr","id","createRef","useKeyboardActions","useMarqueeSelection","selectionBox","selectionPageId","useEffect","forEach","page","current","_pageGuides","pageRef","getBoundingClientRect","height","left","top","width","boundingBox","x","calculateGuidePositions","map","value","y","items","item","scrollTop","reportLayoutHeight","reportLayoutWidth","parseInt","Number","isNaN","zoomToUse","parseFloat","toFixed","transform","transformOrigin","pageOverHandler","useCallback","pageId","pageOutHandler","_jsxs","classNames","_jsx","index","order","toString","position","isSlidesListType","findItemById","findItemsOnPage","pageID"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { useBuilderStore } from '../../contexts/BuilderContext.js';
2
2
  import { useTranslatedTexts } from '../../utils/hooks.js';
3
3
  import { jsx } from 'react/jsx-runtime';
4
+ import SvgAnglesLeft from '../../assets/svg/angles-left.svg.js';
4
5
  import SvgSlides from '../../assets/svg/slides.svg.js';
5
6
 
6
7
  var SlidesNavigatorToggle = function SlidesNavigatorToggle() {
@@ -27,8 +28,10 @@ var SlidesNavigatorToggle = function SlidesNavigatorToggle() {
27
28
  onClick: slidesNavigatorToggleHandler,
28
29
  title: SLIDES_NAVIGATOR_TOGGLE,
29
30
  type: "button",
30
- children: /*#__PURE__*/jsx(SvgSlides, {
31
- className: "toolbar-icon"
31
+ children: isSlidesNavigatorOpen ? /*#__PURE__*/jsx(SvgAnglesLeft, {
32
+ className: "toolbar-icon angles-left"
33
+ }) : /*#__PURE__*/jsx(SvgSlides, {
34
+ className: "toolbar-icon slides"
32
35
  })
33
36
  })
34
37
  })
@@ -1 +1 @@
1
- {"version":3,"file":"SlidesNavigatorToggle.js","sources":["../../../../src/components/Builder/SlidesNavigatorToggle.js"],"sourcesContent":["import { useBuilderStore } from '../../contexts/BuilderContext';\nimport { useTranslatedTexts } from '../../utils/hooks';\nimport * as icons from '../../utils/icons';\n\nconst SlidesNavigatorToggle = () => {\n const setIsSlidesNavigatorOpen = useBuilderStore(state => state.setIsSlidesNavigatorOpen);\n const isSlidesNavigatorOpen = useBuilderStore(state => state.isSlidesNavigatorOpen);\n const { SLIDES_NAVIGATOR_TOGGLE } = useTranslatedTexts();\n\n const slidesNavigatorToggleHandler = () => {\n setIsSlidesNavigatorOpen(!isSlidesNavigatorOpen);\n };\n\n return (\n <div className=\"floatingController slides-navigator-toggle\">\n <div className=\"floatingController-container\">\n <button\n className=\"controllerItem\"\n onClick={slidesNavigatorToggleHandler}\n title={SLIDES_NAVIGATOR_TOGGLE}\n type=\"button\"\n >\n <icons.slides className=\"toolbar-icon\" />\n </button>\n </div>\n </div>\n );\n};\n\nexport default SlidesNavigatorToggle;\n"],"names":["SlidesNavigatorToggle","setIsSlidesNavigatorOpen","useBuilderStore","state","isSlidesNavigatorOpen","useTranslatedTexts","SLIDES_NAVIGATOR_TOGGLE","slidesNavigatorToggleHandler","_jsx","icons.slides"],"mappings":";;;;;IAIMA,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM;AAClC,MAAMC,wBAAwB,GAAGC,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,wBAAV;AAAA,GAAN,CAAhD;AACA,MAAMG,qBAAqB,GAAGF,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,qBAAV;AAAA,GAAN,CAA7C;;AACA,4BAAoCC,kBAAkB,EAAtD;AAAA,MAAQC,uBAAR,uBAAQA,uBAAR;;AAEA,MAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,GAAM;AACzCN,IAAAA,wBAAwB,CAAC,CAACG,qBAAF,CAAxB;AACD,GAFD;;AAIA,sBACEI;AAAK,IAAA,SAAS,EAAC,4CAAf;AAAA,2BACEA;AAAK,MAAA,SAAS,EAAC,8BAAf;AAAA,6BACEA;AACE,QAAA,SAAS,EAAC,gBADZ;AAEE,QAAA,OAAO,EAAED,4BAFX;AAGE,QAAA,KAAK,EAAED,uBAHT;AAIE,QAAA,IAAI,EAAC,QAJP;AAAA,+BAMEE,IAACC,SAAD;AAAc,UAAA,SAAS,EAAC;AAAxB;AANF;AADF;AADF,IADF;AAcD;;;;"}
1
+ {"version":3,"file":"SlidesNavigatorToggle.js","sources":["../../../../src/components/Builder/SlidesNavigatorToggle.js"],"sourcesContent":["import { useBuilderStore } from '../../contexts/BuilderContext';\nimport { useTranslatedTexts } from '../../utils/hooks';\nimport * as icons from '../../utils/icons';\n\nconst SlidesNavigatorToggle = () => {\n const setIsSlidesNavigatorOpen = useBuilderStore(state => state.setIsSlidesNavigatorOpen);\n const isSlidesNavigatorOpen = useBuilderStore(state => state.isSlidesNavigatorOpen);\n const { SLIDES_NAVIGATOR_TOGGLE } = useTranslatedTexts();\n\n const slidesNavigatorToggleHandler = () => {\n setIsSlidesNavigatorOpen(!isSlidesNavigatorOpen);\n };\n\n return (\n <div className=\"floatingController slides-navigator-toggle\">\n <div className=\"floatingController-container\">\n <button\n className=\"controllerItem\"\n onClick={slidesNavigatorToggleHandler}\n title={SLIDES_NAVIGATOR_TOGGLE}\n type=\"button\"\n >\n {isSlidesNavigatorOpen ? <icons.anglesLeft className=\"toolbar-icon angles-left\" /> : <icons.slides className=\"toolbar-icon slides\" />}\n </button>\n </div>\n </div>\n );\n};\n\nexport default SlidesNavigatorToggle;\n"],"names":["SlidesNavigatorToggle","setIsSlidesNavigatorOpen","useBuilderStore","state","isSlidesNavigatorOpen","useTranslatedTexts","SLIDES_NAVIGATOR_TOGGLE","slidesNavigatorToggleHandler","_jsx","icons.anglesLeft","icons.slides"],"mappings":";;;;;;IAIMA,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM;AAClC,MAAMC,wBAAwB,GAAGC,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,wBAAV;AAAA,GAAN,CAAhD;AACA,MAAMG,qBAAqB,GAAGF,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,qBAAV;AAAA,GAAN,CAA7C;;AACA,4BAAoCC,kBAAkB,EAAtD;AAAA,MAAQC,uBAAR,uBAAQA,uBAAR;;AAEA,MAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,GAAM;AACzCN,IAAAA,wBAAwB,CAAC,CAACG,qBAAF,CAAxB;AACD,GAFD;;AAIA,sBACEI;AAAK,IAAA,SAAS,EAAC,4CAAf;AAAA,2BACEA;AAAK,MAAA,SAAS,EAAC,8BAAf;AAAA,6BACEA;AACE,QAAA,SAAS,EAAC,gBADZ;AAEE,QAAA,OAAO,EAAED,4BAFX;AAGE,QAAA,KAAK,EAAED,uBAHT;AAIE,QAAA,IAAI,EAAC,QAJP;AAAA,kBAMGF,qBAAqB,gBAAGI,IAACC,aAAD;AAAkB,UAAA,SAAS,EAAC;AAA5B,UAAH,gBAA+DD,IAACE,SAAD;AAAc,UAAA,SAAS,EAAC;AAAxB;AANvF;AADF;AADF,IADF;AAcD;;;;"}
@@ -4,8 +4,8 @@ import 'core-js/modules/es.number.to-fixed.js';
4
4
  import { useMemo } from 'react';
5
5
  import { useBuilderStore } from '../../contexts/BuilderContext.js';
6
6
  import { usePropStore } from '../../contexts/PropContext.js';
7
- import { ZOOM_MULTIPLIER, ZOOM_STEP, ZOOM_MIN, ZOOM_MAX } from '../../constants/zoom.js';
8
- import { useTranslatedTexts } from '../../utils/hooks.js';
7
+ import { ZOOM_MULTIPLIER, ZOOM_MOBILE_MIN, ZOOM_MIN, ZOOM_MOBILE_MAX, ZOOM_MAX, ZOOM_STEP } from '../../constants/zoom.js';
8
+ import { useResizeListener, useTranslatedTexts } from '../../utils/hooks.js';
9
9
  import { jsxs, jsx } from 'react/jsx-runtime';
10
10
  import SvgPlus from '../../assets/svg/plus.svg.js';
11
11
  import SvgMinus from '../../assets/svg/minus.svg.js';
@@ -18,6 +18,9 @@ var ZoomControls = function ZoomControls() {
18
18
  var zoom = useBuilderStore(function (state) {
19
19
  return state.zoom;
20
20
  });
21
+ var resizedWidth = useResizeListener();
22
+ var minZoom = resizedWidth < 768 ? ZOOM_MOBILE_MIN : ZOOM_MIN;
23
+ var maxZoom = resizedWidth < 768 ? ZOOM_MOBILE_MAX : ZOOM_MAX;
21
24
  var onAnEventTrigger = usePropStore(function (state) {
22
25
  return state.onAnEventTrigger;
23
26
  });
@@ -32,7 +35,7 @@ var ZoomControls = function ZoomControls() {
32
35
  var decreaseZoom = function decreaseZoom() {
33
36
  onAnEventTrigger('zoomOut', 'report');
34
37
 
35
- if (zoom > ZOOM_STEP + ZOOM_MIN) {
38
+ if (zoom > minZoom) {
36
39
  setZoom(parseFloat((zoom - ZOOM_STEP).toFixed(1)), reportLayoutWidth);
37
40
  }
38
41
  };
@@ -40,7 +43,7 @@ var ZoomControls = function ZoomControls() {
40
43
  var increaseZoom = function increaseZoom() {
41
44
  onAnEventTrigger('zoomIn', 'report');
42
45
 
43
- if (zoom < ZOOM_MAX) {
46
+ if (zoom < maxZoom) {
44
47
  setZoom(parseFloat((zoom + ZOOM_STEP).toFixed(1)), reportLayoutWidth);
45
48
  }
46
49
  };
@@ -72,6 +75,7 @@ var ZoomControls = function ZoomControls() {
72
75
  className: "floatingController-container",
73
76
  children: [/*#__PURE__*/jsx("button", {
74
77
  className: "controllerItem",
78
+ disabled: zoom === maxZoom,
75
79
  onClick: increaseZoom,
76
80
  title: ZOOM_IN,
77
81
  type: "button",
@@ -83,6 +87,7 @@ var ZoomControls = function ZoomControls() {
83
87
  children: [zoomValue, "%"]
84
88
  }), /*#__PURE__*/jsx("button", {
85
89
  className: "controllerItem",
90
+ disabled: zoom === minZoom,
86
91
  onClick: decreaseZoom,
87
92
  title: ZOOM_OUT,
88
93
  type: "button",
@@ -1 +1 @@
1
- {"version":3,"file":"ZoomControls.js","sources":["../../../../src/components/Builder/ZoomControls.js"],"sourcesContent":["import { useMemo } from 'react';\nimport * as icons from '../../utils/icons';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport {\n ZOOM_STEP,\n ZOOM_MIN,\n ZOOM_MAX,\n ZOOM_MULTIPLIER,\n} from '../../constants/zoom';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst ZoomControls = () => {\n const setZoom = useBuilderStore(state => state.setZoom);\n const zoom = useBuilderStore(state => state.zoom);\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const settings = usePropStore(state => state.settings);\n\n const { reportLayoutHeight = 794, reportLayoutWidth = 1123 } = settings;\n const decreaseZoom = () => {\n onAnEventTrigger('zoomOut', 'report');\n if (zoom > (ZOOM_STEP + ZOOM_MIN)) {\n setZoom(parseFloat((zoom - ZOOM_STEP).toFixed(1)), reportLayoutWidth);\n }\n };\n const increaseZoom = () => {\n onAnEventTrigger('zoomIn', 'report');\n if (zoom < (ZOOM_MAX)) {\n setZoom(parseFloat((zoom + ZOOM_STEP).toFixed(1)), reportLayoutWidth);\n }\n };\n const fitZoom = () => {\n const { innerHeight, innerWidth } = window;\n const newScale = Math.min(\n (innerWidth - 400) / reportLayoutWidth,\n innerHeight / reportLayoutHeight,\n );\n let newZoom = Math.floor(newScale * 10) / 10;\n if (newZoom < 0.5) newZoom = 0.5;\n if (newZoom > 1) newZoom = 1;\n onAnEventTrigger('fitZoom', 'report');\n setZoom(newZoom, reportLayoutWidth);\n };\n\n const zoomValue = useMemo(() => {\n return Number.isNaN(zoom) ? 100 : (zoom * ZOOM_MULTIPLIER).toFixed(0);\n }, [zoom]);\n\n const { FIT_TO_SCENE, ZOOM_IN, ZOOM_OUT } = useTranslatedTexts();\n\n return (\n <div className=\"floatingController zoom-toolbar\">\n <div className=\"floatingController-container\">\n <button\n className=\"controllerItem\"\n onClick={increaseZoom}\n title={ZOOM_IN}\n type=\"button\"\n >\n <icons.plus className=\"toolbar-icon\" />\n </button>\n <div className=\"controllerIndicator\">\n {zoomValue}\n %\n </div>\n <button\n className=\"controllerItem\"\n onClick={decreaseZoom}\n title={ZOOM_OUT}\n type=\"button\"\n >\n <icons.minus className=\"toolbar-icon\" />\n </button>\n </div>\n <div className=\"floatingController-container\">\n <button\n className=\"controllerItem\"\n onClick={fitZoom}\n title={FIT_TO_SCENE}\n type=\"button\"\n >\n <icons.fit className=\"toolbar-icon\" />\n </button>\n </div>\n </div>\n );\n};\n\nexport default ZoomControls;\n"],"names":["ZoomControls","setZoom","useBuilderStore","state","zoom","onAnEventTrigger","usePropStore","settings","reportLayoutHeight","reportLayoutWidth","decreaseZoom","ZOOM_STEP","ZOOM_MIN","parseFloat","toFixed","increaseZoom","ZOOM_MAX","fitZoom","window","innerHeight","innerWidth","newScale","Math","min","newZoom","floor","zoomValue","useMemo","Number","isNaN","ZOOM_MULTIPLIER","useTranslatedTexts","FIT_TO_SCENE","ZOOM_IN","ZOOM_OUT","_jsxs","_jsx","icons.plus","icons.minus","icons.fit"],"mappings":"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"}
1
+ {"version":3,"file":"ZoomControls.js","sources":["../../../../src/components/Builder/ZoomControls.js"],"sourcesContent":["import { useMemo } from 'react';\nimport * as icons from '../../utils/icons';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport {\n ZOOM_STEP,\n ZOOM_MIN,\n ZOOM_MAX,\n ZOOM_MULTIPLIER,\n ZOOM_MOBILE_MIN,\n ZOOM_MOBILE_MAX,\n} from '../../constants/zoom';\nimport { useResizeListener, useTranslatedTexts } from '../../utils/hooks';\n\nconst ZoomControls = () => {\n const setZoom = useBuilderStore(state => state.setZoom);\n const zoom = useBuilderStore(state => state.zoom);\n const resizedWidth = useResizeListener();\n const minZoom = resizedWidth < 768 ? ZOOM_MOBILE_MIN : ZOOM_MIN;\n const maxZoom = resizedWidth < 768 ? ZOOM_MOBILE_MAX : ZOOM_MAX;\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const settings = usePropStore(state => state.settings);\n\n const { reportLayoutHeight = 794, reportLayoutWidth = 1123 } = settings;\n const decreaseZoom = () => {\n onAnEventTrigger('zoomOut', 'report');\n if (zoom > minZoom) {\n setZoom(parseFloat((zoom - ZOOM_STEP).toFixed(1)), reportLayoutWidth);\n }\n };\n const increaseZoom = () => {\n onAnEventTrigger('zoomIn', 'report');\n if (zoom < maxZoom) {\n setZoom(parseFloat((zoom + ZOOM_STEP).toFixed(1)), reportLayoutWidth);\n }\n };\n const fitZoom = () => {\n const { innerHeight, innerWidth } = window;\n const newScale = Math.min(\n (innerWidth - 400) / reportLayoutWidth,\n innerHeight / reportLayoutHeight,\n );\n let newZoom = Math.floor(newScale * 10) / 10;\n if (newZoom < 0.5) newZoom = 0.5;\n if (newZoom > 1) newZoom = 1;\n onAnEventTrigger('fitZoom', 'report');\n setZoom(newZoom, reportLayoutWidth);\n };\n\n const zoomValue = useMemo(() => {\n return Number.isNaN(zoom) ? 100 : (zoom * ZOOM_MULTIPLIER).toFixed(0);\n }, [zoom]);\n\n const { FIT_TO_SCENE, ZOOM_IN, ZOOM_OUT } = useTranslatedTexts();\n\n return (\n <div className=\"floatingController zoom-toolbar\">\n <div className=\"floatingController-container\">\n <button\n className=\"controllerItem\"\n disabled={zoom === maxZoom}\n onClick={increaseZoom}\n title={ZOOM_IN}\n type=\"button\"\n >\n <icons.plus className=\"toolbar-icon\" />\n </button>\n <div className=\"controllerIndicator\">\n {zoomValue}\n %\n </div>\n <button\n className=\"controllerItem\"\n disabled={zoom === minZoom}\n onClick={decreaseZoom}\n title={ZOOM_OUT}\n type=\"button\"\n >\n <icons.minus className=\"toolbar-icon\" />\n </button>\n </div>\n <div className=\"floatingController-container\">\n <button\n className=\"controllerItem\"\n onClick={fitZoom}\n title={FIT_TO_SCENE}\n type=\"button\"\n >\n <icons.fit className=\"toolbar-icon\" />\n </button>\n </div>\n </div>\n );\n};\n\nexport default ZoomControls;\n"],"names":["ZoomControls","setZoom","useBuilderStore","state","zoom","resizedWidth","useResizeListener","minZoom","ZOOM_MOBILE_MIN","ZOOM_MIN","maxZoom","ZOOM_MOBILE_MAX","ZOOM_MAX","onAnEventTrigger","usePropStore","settings","reportLayoutHeight","reportLayoutWidth","decreaseZoom","parseFloat","ZOOM_STEP","toFixed","increaseZoom","fitZoom","window","innerHeight","innerWidth","newScale","Math","min","newZoom","floor","zoomValue","useMemo","Number","isNaN","ZOOM_MULTIPLIER","useTranslatedTexts","FIT_TO_SCENE","ZOOM_IN","ZOOM_OUT","_jsxs","_jsx","icons.plus","icons.minus","icons.fit"],"mappings":"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"}