@jotforminc/dnd-builder 3.2.1 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/lib/cjs/assets/svg/exclamation.svg.js +22 -0
  3. package/lib/cjs/assets/svg/exclamation.svg.js.map +1 -0
  4. package/lib/cjs/components/Builder/Builder.js +6 -0
  5. package/lib/cjs/components/Builder/Builder.js.map +1 -1
  6. package/lib/cjs/components/Builder/BuilderWrapper.js +17 -2
  7. package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -1
  8. package/lib/cjs/components/Builder/Page.js +3 -1
  9. package/lib/cjs/components/Builder/Page.js.map +1 -1
  10. package/lib/cjs/components/DraggableItem/DraggableItem.js +30 -19
  11. package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
  12. package/lib/cjs/components/ErrorBoundary/ErrorBoundary.js +94 -0
  13. package/lib/cjs/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
  14. package/lib/cjs/components/ErrorBoundary/ErrorDetails.js +81 -0
  15. package/lib/cjs/components/ErrorBoundary/ErrorDetails.js.map +1 -0
  16. package/lib/cjs/components/ErrorBoundary/ErrorFallbackWrapper.js +129 -0
  17. package/lib/cjs/components/ErrorBoundary/ErrorFallbackWrapper.js.map +1 -0
  18. package/lib/cjs/components/Panels/LeftPanel/LeftPanelCloser.js +1 -4
  19. package/lib/cjs/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
  20. package/lib/cjs/components/Panels/RightPanel/RightPanel.js +1 -3
  21. package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
  22. package/lib/cjs/components/Panels/RightPanel/Settings.js +3 -1
  23. package/lib/cjs/components/Panels/RightPanel/Settings.js.map +1 -1
  24. package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js +9 -7
  25. package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
  26. package/lib/cjs/components/Preview/StaticItem.js +10 -7
  27. package/lib/cjs/components/Preview/StaticItem.js.map +1 -1
  28. package/lib/cjs/components/Preview/StaticPage.js +26 -21
  29. package/lib/cjs/components/Preview/StaticPage.js.map +1 -1
  30. package/lib/cjs/constants/texts.js +5 -0
  31. package/lib/cjs/constants/texts.js.map +1 -1
  32. package/lib/cjs/contexts/BuilderContext.js +3 -0
  33. package/lib/cjs/contexts/BuilderContext.js.map +1 -1
  34. package/lib/cjs/contexts/PropContext.js +15 -20
  35. package/lib/cjs/contexts/PropContext.js.map +1 -1
  36. package/lib/cjs/contexts/Providers.js +6 -1
  37. package/lib/cjs/contexts/Providers.js.map +1 -1
  38. package/lib/cjs/styles/_jfReportsMain.scss +150 -0
  39. package/lib/cjs/utils/hooks.js +17 -3
  40. package/lib/cjs/utils/hooks.js.map +1 -1
  41. package/lib/cjs/utils/icons.js +2 -0
  42. package/lib/cjs/utils/icons.js.map +1 -1
  43. package/lib/esm/assets/svg/exclamation.svg.js +20 -0
  44. package/lib/esm/assets/svg/exclamation.svg.js.map +1 -0
  45. package/lib/esm/components/Builder/Builder.js +6 -0
  46. package/lib/esm/components/Builder/Builder.js.map +1 -1
  47. package/lib/esm/components/Builder/BuilderWrapper.js +17 -3
  48. package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -1
  49. package/lib/esm/components/Builder/Page.js +4 -2
  50. package/lib/esm/components/Builder/Page.js.map +1 -1
  51. package/lib/esm/components/DraggableItem/DraggableItem.js +31 -20
  52. package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
  53. package/lib/esm/components/ErrorBoundary/ErrorBoundary.js +88 -0
  54. package/lib/esm/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
  55. package/lib/esm/components/ErrorBoundary/ErrorDetails.js +75 -0
  56. package/lib/esm/components/ErrorBoundary/ErrorDetails.js.map +1 -0
  57. package/lib/esm/components/ErrorBoundary/ErrorFallbackWrapper.js +123 -0
  58. package/lib/esm/components/ErrorBoundary/ErrorFallbackWrapper.js.map +1 -0
  59. package/lib/esm/components/Panels/LeftPanel/Elements.js +2 -2
  60. package/lib/esm/components/Panels/LeftPanel/Elements.js.map +1 -1
  61. package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js +1 -4
  62. package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
  63. package/lib/esm/components/Panels/RightPanel/RightPanel.js +2 -4
  64. package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
  65. package/lib/esm/components/Panels/RightPanel/Settings.js +4 -2
  66. package/lib/esm/components/Panels/RightPanel/Settings.js.map +1 -1
  67. package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js +10 -8
  68. package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
  69. package/lib/esm/components/Preview/StaticItem.js +10 -7
  70. package/lib/esm/components/Preview/StaticItem.js.map +1 -1
  71. package/lib/esm/components/Preview/StaticPage.js +26 -21
  72. package/lib/esm/components/Preview/StaticPage.js.map +1 -1
  73. package/lib/esm/constants/texts.js +5 -0
  74. package/lib/esm/constants/texts.js.map +1 -1
  75. package/lib/esm/contexts/BuilderContext.js +3 -0
  76. package/lib/esm/contexts/BuilderContext.js.map +1 -1
  77. package/lib/esm/contexts/PropContext.js +14 -20
  78. package/lib/esm/contexts/PropContext.js.map +1 -1
  79. package/lib/esm/contexts/Providers.js +6 -1
  80. package/lib/esm/contexts/Providers.js.map +1 -1
  81. package/lib/esm/styles/_jfReportsMain.scss +150 -0
  82. package/lib/esm/utils/hooks.js +17 -4
  83. package/lib/esm/utils/hooks.js.map +1 -1
  84. package/lib/esm/utils/icons.js +1 -0
  85. package/lib/esm/utils/icons.js.map +1 -1
  86. package/package.json +2 -1
  87. package/lib/cjs/components/ErrorBoundary.js +0 -101
  88. package/lib/cjs/components/ErrorBoundary.js.map +0 -1
  89. package/lib/esm/components/ErrorBoundary.js +0 -95
  90. package/lib/esm/components/ErrorBoundary.js.map +0 -1
@@ -9,6 +9,7 @@ var PropTypes = require('prop-types');
9
9
  var classNames = require('../../constants/classNames.js');
10
10
  var ReportItemRenderer = require('../Builder/ReportItemRenderer.js');
11
11
  var StaticItem = require('./StaticItem.js');
12
+ var ErrorBoundary = require('../ErrorBoundary/ErrorBoundary.js');
12
13
  var withZoomPanPinchHOC = require('../withZoomPanPinchHOC.js');
13
14
  var PropContext = require('../../contexts/PropContext.js');
14
15
  var jsxRuntime = require('react/jsx-runtime');
@@ -30,28 +31,32 @@ var StaticPage = function StaticPage(_ref) {
30
31
  var additionalPageItems = PropContext.usePropStore(function (state) {
31
32
  return state.additionalPageItems;
32
33
  });
33
- return /*#__PURE__*/jsxRuntime.jsx("div", {
34
- className: classNames.pageContainer,
35
- style: style,
36
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
37
- className: "jfReport-hider o-hidden f-all p-relative",
38
- children: [items.filter(function (item) {
39
- return item.isVisible !== undefined ? item.isVisible : true;
40
- }).map(function (item) {
41
- return /*#__PURE__*/jsxRuntime.jsx(StaticItem, {
42
- item: item,
43
- children: /*#__PURE__*/jsxRuntime.jsx(ReportItemRenderer, {
34
+ return /*#__PURE__*/jsxRuntime.jsx(ErrorBoundary, {
35
+ isStatic: true,
36
+ level: "page",
37
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
38
+ className: classNames.pageContainer,
39
+ style: style,
40
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
41
+ className: "jfReport-hider o-hidden f-all p-relative",
42
+ children: [items.filter(function (item) {
43
+ return item.isVisible !== undefined ? item.isVisible : true;
44
+ }).map(function (item) {
45
+ return /*#__PURE__*/jsxRuntime.jsx(StaticItem, {
44
46
  item: item,
45
- children: function children(ReportItem, mergedItem) {
46
- return /*#__PURE__*/jsxRuntime.jsx(ReportItem, {
47
- isThumbnail: isThumbnail,
48
- item: mergedItem,
49
- itemAccessor: itemAccessor
50
- });
51
- }
52
- })
53
- }, item.id);
54
- }), additionalPageItems]
47
+ children: /*#__PURE__*/jsxRuntime.jsx(ReportItemRenderer, {
48
+ item: item,
49
+ children: function children(ReportItem, mergedItem) {
50
+ return /*#__PURE__*/jsxRuntime.jsx(ReportItem, {
51
+ isThumbnail: isThumbnail,
52
+ item: mergedItem,
53
+ itemAccessor: itemAccessor
54
+ });
55
+ }
56
+ })
57
+ }, item.id);
58
+ }), additionalPageItems]
59
+ })
55
60
  })
56
61
  });
57
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"StaticPage.js","sources":["../../../../src/components/Preview/StaticPage.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport * as classNames from '../../constants/classNames';\nimport ReportItemRenderer from '../Builder/ReportItemRenderer';\nimport StaticItem from './StaticItem';\nimport withZoomPanPinchHOC from '../withZoomPanPinchHOC';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst StaticPage = ({\n isThumbnail = false,\n items = [],\n style = {},\n}) => {\n const itemAccessor = usePropStore(state => state.itemAccessor);\n const additionalPageItems = usePropStore(state => state.additionalPageItems);\n return (\n <div\n className={classNames.pageContainer}\n style={style}\n >\n <div className=\"jfReport-hider o-hidden f-all p-relative\">\n {items.filter(item => (\n item.isVisible !== undefined\n ? item.isVisible\n : true\n )).map(item => {\n return (\n <StaticItem\n key={item.id}\n item={item}\n >\n <ReportItemRenderer\n item={item}\n >\n {(ReportItem, mergedItem) => (\n <ReportItem\n isThumbnail={isThumbnail}\n item={mergedItem}\n itemAccessor={itemAccessor}\n />\n )}\n </ReportItemRenderer>\n </StaticItem>\n );\n })}\n {additionalPageItems}\n </div>\n </div>\n );\n};\n\nStaticPage.propTypes = {\n isThumbnail: PropTypes.bool,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n style: PropTypes.shape({}),\n};\n\nexport default memo(StaticPage);\nexport const StaticPageWithZoomPanPinch = withZoomPanPinchHOC(StaticPage);\n"],"names":["StaticPage","isThumbnail","items","style","itemAccessor","usePropStore","state","additionalPageItems","_jsx","classNames","_jsxs","filter","item","isVisible","undefined","map","ReportItem","mergedItem","id","propTypes","PropTypes","bool","arrayOf","shape","memo","StaticPageWithZoomPanPinch","withZoomPanPinchHOC"],"mappings":";;;;;;;;;;;;;;;;;;;AAQA,IAAMA,UAAU,GAAG,SAAbA,UAAa,OAIb;AAAA,8BAHJC,WAGI;AAAA,MAHJA,WAGI,iCAHU,KAGV;AAAA,wBAFJC,KAEI;AAAA,MAFJA,KAEI,2BAFI,EAEJ;AAAA,wBADJC,KACI;AAAA,MADJA,KACI,2BADI,EACJ;AACJ,MAAMC,YAAY,GAAGC,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,YAAV;AAAA,GAAN,CAAjC;AACA,MAAMG,mBAAmB,GAAGF,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,mBAAV;AAAA,GAAN,CAAxC;AACA,sBACEC;AACE,IAAA,SAAS,EAAEC,wBADb;AAEE,IAAA,KAAK,EAAEN,KAFT;AAAA,2BAIEO;AAAK,MAAA,SAAS,EAAC,0CAAf;AAAA,iBACGR,KAAK,CAACS,MAAN,CAAa,UAAAC,IAAI;AAAA,eAChBA,IAAI,CAACC,SAAL,KAAmBC,SAAnB,GACIF,IAAI,CAACC,SADT,GAEI,IAHY;AAAA,OAAjB,EAIEE,GAJF,CAIM,UAAAH,IAAI,EAAI;AACb,4BACEJ,eAAC,UAAD;AAEE,UAAA,IAAI,EAAEI,IAFR;AAAA,iCAIEJ,eAAC,kBAAD;AACE,YAAA,IAAI,EAAEI,IADR;AAAA,sBAGG,kBAACI,UAAD,EAAaC,UAAb;AAAA,kCACCT,eAAC,UAAD;AACE,gBAAA,WAAW,EAAEP,WADf;AAEE,gBAAA,IAAI,EAAEgB,UAFR;AAGE,gBAAA,YAAY,EAAEb;AAHhB,gBADD;AAAA;AAHH;AAJF,WACOQ,IAAI,CAACM,EADZ,CADF;AAkBD,OAvBA,CADH,EAyBGX,mBAzBH;AAAA;AAJF,IADF;AAkCD,CAzCD;;AA2CAP,UAAU,CAACmB,SAAX,GAAuB;AACrBlB,EAAAA,WAAW,EAAEmB,6BAAS,CAACC,IADF;AAErBnB,EAAAA,KAAK,EAAEkB,6BAAS,CAACE,OAAV,CAAkBF,6BAAS,CAACG,KAAV,CAAgB,EAAhB,CAAlB,CAFc;AAGrBpB,EAAAA,KAAK,EAAEiB,6BAAS,CAACG,KAAV,CAAgB,EAAhB;AAHc,CAAvB;AAMA,gCAAeC,UAAI,CAACxB,UAAD,CAAnB;IACayB,0BAA0B,GAAGC,mBAAmB,CAAC1B,UAAD;;;;;"}
1
+ {"version":3,"file":"StaticPage.js","sources":["../../../../src/components/Preview/StaticPage.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport * as classNames from '../../constants/classNames';\nimport ReportItemRenderer from '../Builder/ReportItemRenderer';\nimport StaticItem from './StaticItem';\nimport ErrorBoundary from '../ErrorBoundary/ErrorBoundary';\nimport withZoomPanPinchHOC from '../withZoomPanPinchHOC';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst StaticPage = ({\n isThumbnail = false,\n items = [],\n style = {},\n}) => {\n const itemAccessor = usePropStore(state => state.itemAccessor);\n const additionalPageItems = usePropStore(state => state.additionalPageItems);\n return (\n <ErrorBoundary\n isStatic={true}\n level=\"page\"\n >\n <div\n className={classNames.pageContainer}\n style={style}\n >\n <div className=\"jfReport-hider o-hidden f-all p-relative\">\n {items.filter(item => (\n item.isVisible !== undefined\n ? item.isVisible\n : true\n )).map(item => {\n return (\n <StaticItem\n key={item.id}\n item={item}\n >\n <ReportItemRenderer\n item={item}\n >\n {(ReportItem, mergedItem) => (\n <ReportItem\n isThumbnail={isThumbnail}\n item={mergedItem}\n itemAccessor={itemAccessor}\n />\n )}\n </ReportItemRenderer>\n </StaticItem>\n );\n })}\n {additionalPageItems}\n </div>\n </div>\n </ErrorBoundary>\n );\n};\n\nStaticPage.propTypes = {\n isThumbnail: PropTypes.bool,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n style: PropTypes.shape({}),\n};\n\nexport default memo(StaticPage);\nexport const StaticPageWithZoomPanPinch = withZoomPanPinchHOC(StaticPage);\n"],"names":["StaticPage","isThumbnail","items","style","itemAccessor","usePropStore","state","additionalPageItems","_jsx","classNames","_jsxs","filter","item","isVisible","undefined","map","ReportItem","mergedItem","id","propTypes","PropTypes","bool","arrayOf","shape","memo","StaticPageWithZoomPanPinch","withZoomPanPinchHOC"],"mappings":";;;;;;;;;;;;;;;;;;;;AASA,IAAMA,UAAU,GAAG,SAAbA,UAAa,OAIb;AAAA,8BAHJC,WAGI;AAAA,MAHJA,WAGI,iCAHU,KAGV;AAAA,wBAFJC,KAEI;AAAA,MAFJA,KAEI,2BAFI,EAEJ;AAAA,wBADJC,KACI;AAAA,MADJA,KACI,2BADI,EACJ;AACJ,MAAMC,YAAY,GAAGC,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,YAAV;AAAA,GAAN,CAAjC;AACA,MAAMG,mBAAmB,GAAGF,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,mBAAV;AAAA,GAAN,CAAxC;AACA,sBACEC,eAAC,aAAD;AACE,IAAA,QAAQ,EAAE,IADZ;AAEE,IAAA,KAAK,EAAC,MAFR;AAAA,2BAIEA;AACE,MAAA,SAAS,EAAEC,wBADb;AAEE,MAAA,KAAK,EAAEN,KAFT;AAAA,6BAIEO;AAAK,QAAA,SAAS,EAAC,0CAAf;AAAA,mBACGR,KAAK,CAACS,MAAN,CAAa,UAAAC,IAAI;AAAA,iBAChBA,IAAI,CAACC,SAAL,KAAmBC,SAAnB,GACIF,IAAI,CAACC,SADT,GAEI,IAHY;AAAA,SAAjB,EAIEE,GAJF,CAIM,UAAAH,IAAI,EAAI;AACb,8BACEJ,eAAC,UAAD;AAEE,YAAA,IAAI,EAAEI,IAFR;AAAA,mCAIEJ,eAAC,kBAAD;AACE,cAAA,IAAI,EAAEI,IADR;AAAA,wBAGG,kBAACI,UAAD,EAAaC,UAAb;AAAA,oCACCT,eAAC,UAAD;AACE,kBAAA,WAAW,EAAEP,WADf;AAEE,kBAAA,IAAI,EAAEgB,UAFR;AAGE,kBAAA,YAAY,EAAEb;AAHhB,kBADD;AAAA;AAHH;AAJF,aACOQ,IAAI,CAACM,EADZ,CADF;AAkBD,SAvBA,CADH,EAyBGX,mBAzBH;AAAA;AAJF;AAJF,IADF;AAuCD,CA9CD;;AAgDAP,UAAU,CAACmB,SAAX,GAAuB;AACrBlB,EAAAA,WAAW,EAAEmB,6BAAS,CAACC,IADF;AAErBnB,EAAAA,KAAK,EAAEkB,6BAAS,CAACE,OAAV,CAAkBF,6BAAS,CAACG,KAAV,CAAgB,EAAhB,CAAlB,CAFc;AAGrBpB,EAAAA,KAAK,EAAEiB,6BAAS,CAACG,KAAV,CAAgB,EAAhB;AAHc,CAAvB;AAMA,gCAAeC,UAAI,CAACxB,UAAD,CAAnB;IACayB,0BAA0B,GAAGC,mBAAmB,CAAC1B,UAAD;;;;;"}
@@ -23,6 +23,10 @@ var ALL_TEXTS = {
23
23
  DUPLICATE_ITEM: 'Duplicate Item',
24
24
  DUPLICATE_PAGE: 'Duplicate Slide',
25
25
  ELEMENTS: 'Elements',
26
+ ERROR_BOUNDARY_DESCRIPTION: 'We\'ve been notified of the issue and aim to fix it shortly. Please try again later.',
27
+ ERROR_BOUNDARY_ITEM_DESCRIPTION: 'Please try removing and re-adding the item.',
28
+ ERROR_BOUNDARY_PAGE_DESCRIPTION: 'An unexpected error occurred on this page.',
29
+ ERROR_BOUNDARY_TITLE: 'Something went wrong!.',
26
30
  FIT_TO_PAGE: 'Fit to Slide',
27
31
  FIT_TO_SCENE: 'Fit to Screen',
28
32
  GENERAL: 'GENERAL',
@@ -57,6 +61,7 @@ var ALL_TEXTS = {
57
61
  TOGGLE_OFF: 'OFF',
58
62
  TOGGLE_ON: 'ON',
59
63
  UNLOCK_ITEM: 'Unlock Item',
64
+ VIEW_ERROR_DETAILS: 'View Details',
60
65
  WIDTH: 'Width',
61
66
  ZOOM_IN: 'Zoom In',
62
67
  ZOOM_OUT: 'Zoom Out'
@@ -1 +1 @@
1
- {"version":3,"file":"texts.js","sources":["../../../src/constants/texts.js"],"sourcesContent":["/* eslint-disable max-len */\nconst ALL_TEXTS = {\n ADD_ELEMENT: 'Add Element',\n ADD_LINK: 'ADD LINK',\n ADD_NEW_PAGE: 'ADD SLIDE',\n BACKGROUND_COLOR: 'Background Color',\n CHART_ELEMENT: 'Chart Element',\n CHART_SETTINGS: 'Chart Settings',\n CLICK_TO_EDIT_HEADER: 'Click to edit header',\n CLICK_TO_EDIT_TEXT: 'Click to edit text',\n DELETE: 'Delete',\n DELETE_ITEM: 'Delete Item',\n DUPLICATE_ITEM: 'Duplicate Item',\n DUPLICATE_PAGE: 'Duplicate Slide',\n ELEMENTS: 'Elements',\n FIT_TO_PAGE: 'Fit to Slide',\n FIT_TO_SCENE: 'Fit to Screen',\n GENERAL: 'GENERAL',\n GRID_SETTINGS: 'Grid Settings',\n HEADER_SETTINGS: 'Header Settings',\n HEIGHT: 'Height',\n ICON_SETTINGS: 'Icon Settings',\n IMAGE_SETTINGS: 'Image Settings',\n ITEM_SETTINGS: 'Item Settings',\n LAYERS: 'Layers',\n LAYOUT_SETTINGS: 'Layout Settings',\n LOCK_ITEM: 'Lock Item',\n MOVE_BACKWARDS: 'Move Backwards',\n MOVE_FORWARDS: 'Move Forwards',\n MOVE_PAGE_DOWNWARDS: 'Move Slide Downwards',\n MOVE_PAGE_UPWARDS: 'Move Slide Upwards',\n MOVE_TO_BACK: 'Move to Back',\n MOVE_TO_FRONT: 'Move to Front',\n NO_ELEMENT_IN_PAGE: 'There is no element on this slide. You can add a new element from side menu.',\n NO_RESULT: 'No result was found',\n ORIGINAL_SIZE: 'Original Size',\n PAGE_ELEMENT: 'Page Element',\n PAGE_SETTINGS: 'Slide Settings',\n PAGE_STYLE: 'Slide Style',\n RECTANGLE: 'Rectangle',\n REMOVE_PAGE: 'Remove Slide',\n SEARCH: 'Search',\n SETTINGS: 'Settings',\n SHOW_ALL: 'Show All',\n SLIDES: 'Slides',\n TEXT_SETTINGS: 'Text Settings',\n TOGGLE_OFF: 'OFF',\n TOGGLE_ON: 'ON',\n UNLOCK_ITEM: 'Unlock Item',\n WIDTH: 'Width',\n ZOOM_IN: 'Zoom In',\n ZOOM_OUT: 'Zoom Out',\n};\n\nclass ModuleTexts {\n constructor(allTexts) {\n this._texts = allTexts;\n }\n\n get Texts() {\n return this._texts;\n }\n\n setTexts(allTexts) {\n this._texts = allTexts;\n }\n}\n\nexport const SharingTextsModule = new ModuleTexts(ALL_TEXTS);\nexport default ALL_TEXTS;\n"],"names":["ALL_TEXTS","ADD_ELEMENT","ADD_LINK","ADD_NEW_PAGE","BACKGROUND_COLOR","CHART_ELEMENT","CHART_SETTINGS","CLICK_TO_EDIT_HEADER","CLICK_TO_EDIT_TEXT","DELETE","DELETE_ITEM","DUPLICATE_ITEM","DUPLICATE_PAGE","ELEMENTS","FIT_TO_PAGE","FIT_TO_SCENE","GENERAL","GRID_SETTINGS","HEADER_SETTINGS","HEIGHT","ICON_SETTINGS","IMAGE_SETTINGS","ITEM_SETTINGS","LAYERS","LAYOUT_SETTINGS","LOCK_ITEM","MOVE_BACKWARDS","MOVE_FORWARDS","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","MOVE_TO_BACK","MOVE_TO_FRONT","NO_ELEMENT_IN_PAGE","NO_RESULT","ORIGINAL_SIZE","PAGE_ELEMENT","PAGE_SETTINGS","PAGE_STYLE","RECTANGLE","REMOVE_PAGE","SEARCH","SETTINGS","SHOW_ALL","SLIDES","TEXT_SETTINGS","TOGGLE_OFF","TOGGLE_ON","UNLOCK_ITEM","WIDTH","ZOOM_IN","ZOOM_OUT","ModuleTexts","allTexts","_texts","SharingTextsModule"],"mappings":";;;;;;;;;;AAAA;IACMA,SAAS,GAAG;AAChBC,EAAAA,WAAW,EAAE,aADG;AAEhBC,EAAAA,QAAQ,EAAE,UAFM;AAGhBC,EAAAA,YAAY,EAAE,WAHE;AAIhBC,EAAAA,gBAAgB,EAAE,kBAJF;AAKhBC,EAAAA,aAAa,EAAE,eALC;AAMhBC,EAAAA,cAAc,EAAE,gBANA;AAOhBC,EAAAA,oBAAoB,EAAE,sBAPN;AAQhBC,EAAAA,kBAAkB,EAAE,oBARJ;AAShBC,EAAAA,MAAM,EAAE,QATQ;AAUhBC,EAAAA,WAAW,EAAE,aAVG;AAWhBC,EAAAA,cAAc,EAAE,gBAXA;AAYhBC,EAAAA,cAAc,EAAE,iBAZA;AAahBC,EAAAA,QAAQ,EAAE,UAbM;AAchBC,EAAAA,WAAW,EAAE,cAdG;AAehBC,EAAAA,YAAY,EAAE,eAfE;AAgBhBC,EAAAA,OAAO,EAAE,SAhBO;AAiBhBC,EAAAA,aAAa,EAAE,eAjBC;AAkBhBC,EAAAA,eAAe,EAAE,iBAlBD;AAmBhBC,EAAAA,MAAM,EAAE,QAnBQ;AAoBhBC,EAAAA,aAAa,EAAE,eApBC;AAqBhBC,EAAAA,cAAc,EAAE,gBArBA;AAsBhBC,EAAAA,aAAa,EAAE,eAtBC;AAuBhBC,EAAAA,MAAM,EAAE,QAvBQ;AAwBhBC,EAAAA,eAAe,EAAE,iBAxBD;AAyBhBC,EAAAA,SAAS,EAAE,WAzBK;AA0BhBC,EAAAA,cAAc,EAAE,gBA1BA;AA2BhBC,EAAAA,aAAa,EAAE,eA3BC;AA4BhBC,EAAAA,mBAAmB,EAAE,sBA5BL;AA6BhBC,EAAAA,iBAAiB,EAAE,oBA7BH;AA8BhBC,EAAAA,YAAY,EAAE,cA9BE;AA+BhBC,EAAAA,aAAa,EAAE,eA/BC;AAgChBC,EAAAA,kBAAkB,EAAE,8EAhCJ;AAiChBC,EAAAA,SAAS,EAAE,qBAjCK;AAkChBC,EAAAA,aAAa,EAAE,eAlCC;AAmChBC,EAAAA,YAAY,EAAE,cAnCE;AAoChBC,EAAAA,aAAa,EAAE,gBApCC;AAqChBC,EAAAA,UAAU,EAAE,aArCI;AAsChBC,EAAAA,SAAS,EAAE,WAtCK;AAuChBC,EAAAA,WAAW,EAAE,cAvCG;AAwChBC,EAAAA,MAAM,EAAE,QAxCQ;AAyChBC,EAAAA,QAAQ,EAAE,UAzCM;AA0ChBC,EAAAA,QAAQ,EAAE,UA1CM;AA2ChBC,EAAAA,MAAM,EAAE,QA3CQ;AA4ChBC,EAAAA,aAAa,EAAE,eA5CC;AA6ChBC,EAAAA,UAAU,EAAE,KA7CI;AA8ChBC,EAAAA,SAAS,EAAE,IA9CK;AA+ChBC,EAAAA,WAAW,EAAE,aA/CG;AAgDhBC,EAAAA,KAAK,EAAE,OAhDS;AAiDhBC,EAAAA,OAAO,EAAE,SAjDO;AAkDhBC,EAAAA,QAAQ,EAAE;AAlDM;;IAqDZC;AACJ,uBAAYC,QAAZ,EAAsB;AAAA;;AACpB,SAAKC,MAAL,GAAcD,QAAd;AACD;;;;SAED,eAAY;AACV,aAAO,KAAKC,MAAZ;AACD;;;WAED,kBAASD,QAAT,EAAmB;AACjB,WAAKC,MAAL,GAAcD,QAAd;AACD;;;;;;IAGUE,kBAAkB,GAAG,IAAIH,WAAJ,CAAgBnD,SAAhB;;;;;"}
1
+ {"version":3,"file":"texts.js","sources":["../../../src/constants/texts.js"],"sourcesContent":["/* eslint-disable max-len */\nconst ALL_TEXTS = {\n ADD_ELEMENT: 'Add Element',\n ADD_LINK: 'ADD LINK',\n ADD_NEW_PAGE: 'ADD SLIDE',\n BACKGROUND_COLOR: 'Background Color',\n CHART_ELEMENT: 'Chart Element',\n CHART_SETTINGS: 'Chart Settings',\n CLICK_TO_EDIT_HEADER: 'Click to edit header',\n CLICK_TO_EDIT_TEXT: 'Click to edit text',\n DELETE: 'Delete',\n DELETE_ITEM: 'Delete Item',\n DUPLICATE_ITEM: 'Duplicate Item',\n DUPLICATE_PAGE: 'Duplicate Slide',\n ELEMENTS: 'Elements',\n ERROR_BOUNDARY_DESCRIPTION: 'We\\'ve been notified of the issue and aim to fix it shortly. Please try again later.',\n ERROR_BOUNDARY_ITEM_DESCRIPTION: 'Please try removing and re-adding the item.',\n ERROR_BOUNDARY_PAGE_DESCRIPTION: 'An unexpected error occurred on this page.',\n ERROR_BOUNDARY_TITLE: 'Something went wrong!.',\n FIT_TO_PAGE: 'Fit to Slide',\n FIT_TO_SCENE: 'Fit to Screen',\n GENERAL: 'GENERAL',\n GRID_SETTINGS: 'Grid Settings',\n HEADER_SETTINGS: 'Header Settings',\n HEIGHT: 'Height',\n ICON_SETTINGS: 'Icon Settings',\n IMAGE_SETTINGS: 'Image Settings',\n ITEM_SETTINGS: 'Item Settings',\n LAYERS: 'Layers',\n LAYOUT_SETTINGS: 'Layout Settings',\n LOCK_ITEM: 'Lock Item',\n MOVE_BACKWARDS: 'Move Backwards',\n MOVE_FORWARDS: 'Move Forwards',\n MOVE_PAGE_DOWNWARDS: 'Move Slide Downwards',\n MOVE_PAGE_UPWARDS: 'Move Slide Upwards',\n MOVE_TO_BACK: 'Move to Back',\n MOVE_TO_FRONT: 'Move to Front',\n NO_ELEMENT_IN_PAGE: 'There is no element on this slide. You can add a new element from side menu.',\n NO_RESULT: 'No result was found',\n ORIGINAL_SIZE: 'Original Size',\n PAGE_ELEMENT: 'Page Element',\n PAGE_SETTINGS: 'Slide Settings',\n PAGE_STYLE: 'Slide Style',\n RECTANGLE: 'Rectangle',\n REMOVE_PAGE: 'Remove Slide',\n SEARCH: 'Search',\n SETTINGS: 'Settings',\n SHOW_ALL: 'Show All',\n SLIDES: 'Slides',\n TEXT_SETTINGS: 'Text Settings',\n TOGGLE_OFF: 'OFF',\n TOGGLE_ON: 'ON',\n UNLOCK_ITEM: 'Unlock Item',\n VIEW_ERROR_DETAILS: 'View Details',\n WIDTH: 'Width',\n ZOOM_IN: 'Zoom In',\n ZOOM_OUT: 'Zoom Out',\n};\n\nclass ModuleTexts {\n constructor(allTexts) {\n this._texts = allTexts;\n }\n\n get Texts() {\n return this._texts;\n }\n\n setTexts(allTexts) {\n this._texts = allTexts;\n }\n}\n\nexport const SharingTextsModule = new ModuleTexts(ALL_TEXTS);\nexport default ALL_TEXTS;\n"],"names":["ALL_TEXTS","ADD_ELEMENT","ADD_LINK","ADD_NEW_PAGE","BACKGROUND_COLOR","CHART_ELEMENT","CHART_SETTINGS","CLICK_TO_EDIT_HEADER","CLICK_TO_EDIT_TEXT","DELETE","DELETE_ITEM","DUPLICATE_ITEM","DUPLICATE_PAGE","ELEMENTS","ERROR_BOUNDARY_DESCRIPTION","ERROR_BOUNDARY_ITEM_DESCRIPTION","ERROR_BOUNDARY_PAGE_DESCRIPTION","ERROR_BOUNDARY_TITLE","FIT_TO_PAGE","FIT_TO_SCENE","GENERAL","GRID_SETTINGS","HEADER_SETTINGS","HEIGHT","ICON_SETTINGS","IMAGE_SETTINGS","ITEM_SETTINGS","LAYERS","LAYOUT_SETTINGS","LOCK_ITEM","MOVE_BACKWARDS","MOVE_FORWARDS","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","MOVE_TO_BACK","MOVE_TO_FRONT","NO_ELEMENT_IN_PAGE","NO_RESULT","ORIGINAL_SIZE","PAGE_ELEMENT","PAGE_SETTINGS","PAGE_STYLE","RECTANGLE","REMOVE_PAGE","SEARCH","SETTINGS","SHOW_ALL","SLIDES","TEXT_SETTINGS","TOGGLE_OFF","TOGGLE_ON","UNLOCK_ITEM","VIEW_ERROR_DETAILS","WIDTH","ZOOM_IN","ZOOM_OUT","ModuleTexts","allTexts","_texts","SharingTextsModule"],"mappings":";;;;;;;;;;AAAA;IACMA,SAAS,GAAG;AAChBC,EAAAA,WAAW,EAAE,aADG;AAEhBC,EAAAA,QAAQ,EAAE,UAFM;AAGhBC,EAAAA,YAAY,EAAE,WAHE;AAIhBC,EAAAA,gBAAgB,EAAE,kBAJF;AAKhBC,EAAAA,aAAa,EAAE,eALC;AAMhBC,EAAAA,cAAc,EAAE,gBANA;AAOhBC,EAAAA,oBAAoB,EAAE,sBAPN;AAQhBC,EAAAA,kBAAkB,EAAE,oBARJ;AAShBC,EAAAA,MAAM,EAAE,QATQ;AAUhBC,EAAAA,WAAW,EAAE,aAVG;AAWhBC,EAAAA,cAAc,EAAE,gBAXA;AAYhBC,EAAAA,cAAc,EAAE,iBAZA;AAahBC,EAAAA,QAAQ,EAAE,UAbM;AAchBC,EAAAA,0BAA0B,EAAE,sFAdZ;AAehBC,EAAAA,+BAA+B,EAAE,6CAfjB;AAgBhBC,EAAAA,+BAA+B,EAAE,4CAhBjB;AAiBhBC,EAAAA,oBAAoB,EAAE,wBAjBN;AAkBhBC,EAAAA,WAAW,EAAE,cAlBG;AAmBhBC,EAAAA,YAAY,EAAE,eAnBE;AAoBhBC,EAAAA,OAAO,EAAE,SApBO;AAqBhBC,EAAAA,aAAa,EAAE,eArBC;AAsBhBC,EAAAA,eAAe,EAAE,iBAtBD;AAuBhBC,EAAAA,MAAM,EAAE,QAvBQ;AAwBhBC,EAAAA,aAAa,EAAE,eAxBC;AAyBhBC,EAAAA,cAAc,EAAE,gBAzBA;AA0BhBC,EAAAA,aAAa,EAAE,eA1BC;AA2BhBC,EAAAA,MAAM,EAAE,QA3BQ;AA4BhBC,EAAAA,eAAe,EAAE,iBA5BD;AA6BhBC,EAAAA,SAAS,EAAE,WA7BK;AA8BhBC,EAAAA,cAAc,EAAE,gBA9BA;AA+BhBC,EAAAA,aAAa,EAAE,eA/BC;AAgChBC,EAAAA,mBAAmB,EAAE,sBAhCL;AAiChBC,EAAAA,iBAAiB,EAAE,oBAjCH;AAkChBC,EAAAA,YAAY,EAAE,cAlCE;AAmChBC,EAAAA,aAAa,EAAE,eAnCC;AAoChBC,EAAAA,kBAAkB,EAAE,8EApCJ;AAqChBC,EAAAA,SAAS,EAAE,qBArCK;AAsChBC,EAAAA,aAAa,EAAE,eAtCC;AAuChBC,EAAAA,YAAY,EAAE,cAvCE;AAwChBC,EAAAA,aAAa,EAAE,gBAxCC;AAyChBC,EAAAA,UAAU,EAAE,aAzCI;AA0ChBC,EAAAA,SAAS,EAAE,WA1CK;AA2ChBC,EAAAA,WAAW,EAAE,cA3CG;AA4ChBC,EAAAA,MAAM,EAAE,QA5CQ;AA6ChBC,EAAAA,QAAQ,EAAE,UA7CM;AA8ChBC,EAAAA,QAAQ,EAAE,UA9CM;AA+ChBC,EAAAA,MAAM,EAAE,QA/CQ;AAgDhBC,EAAAA,aAAa,EAAE,eAhDC;AAiDhBC,EAAAA,UAAU,EAAE,KAjDI;AAkDhBC,EAAAA,SAAS,EAAE,IAlDK;AAmDhBC,EAAAA,WAAW,EAAE,aAnDG;AAoDhBC,EAAAA,kBAAkB,EAAE,cApDJ;AAqDhBC,EAAAA,KAAK,EAAE,OArDS;AAsDhBC,EAAAA,OAAO,EAAE,SAtDO;AAuDhBC,EAAAA,QAAQ,EAAE;AAvDM;;IA0DZC;AACJ,uBAAYC,QAAZ,EAAsB;AAAA;;AACpB,SAAKC,MAAL,GAAcD,QAAd;AACD;;;;SAED,eAAY;AACV,aAAO,KAAKC,MAAZ;AACD;;;WAED,kBAASD,QAAT,EAAmB;AACjB,WAAKC,MAAL,GAAcD,QAAd;AACD;;;;;;IAGUE,kBAAkB,GAAG,IAAIH,WAAJ,CAAgBxD,SAAhB;;;;;"}
@@ -38,6 +38,8 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
38
38
 
39
39
  var builderStore = function builderStore(props) {
40
40
  return zustand.createStore(function (set, get) {
41
+ var _props$shouldShowRigh;
42
+
41
43
  return {
42
44
  activeElements: props.activeElement || [],
43
45
  activeTab: props.activeTab || {
@@ -196,6 +198,7 @@ var builderStore = function builderStore(props) {
196
198
  }
197
199
  }
198
200
  },
201
+ shouldShowRightPanelInitially: (_props$shouldShowRigh = props.shouldShowRightPanelInitially) !== null && _props$shouldShowRigh !== void 0 ? _props$shouldShowRigh : true,
199
202
  zoom: 1
200
203
  };
201
204
  });
@@ -1 +1 @@
1
- {"version":3,"file":"BuilderContext.js","sources":["../../../src/contexts/BuilderContext.js"],"sourcesContent":["import { 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 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 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","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","BuilderContext","createContext","BuilderProvider","children","value","storeRef","useRef","current","_jsx","propTypes","PropTypes","any","object","Consumer","useBuilderStore","selector","context","useContext","Error","useStore"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAAAC,KAAK,EAAI;AAC5B,SAAOC,mBAAW,CAAC,UAACC,GAAD,EAAMC,GAAN;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,gBAAgB,EAAET,KAAK,CAACS,gBAAN,IAA0B,KAHZ;AAIhCC,MAAAA,aAAa,EAAEV,KAAK,CAACU,aAAN,IAAuB,UAJN;AAKhCC,MAAAA,MAAM,EAAE,EALwB;AAMhCC,MAAAA,oBAAoB,EAAEZ,KAAK,CAACY,oBAAN,IAA8B,KANpB;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,iBAAiB,EAAEhB,KAAK,CAACgB,iBAAN,IAA2B,KAVd;AAWhCC,MAAAA,gBAAgB,EAAEjB,KAAK,CAACiB,gBAAN,IAA0B,KAXZ;AAYhCC,MAAAA,kBAAkB,EAAElB,KAAK,CAACkB,kBAAN,IAA4B,CAZhB;AAahCC,MAAAA,OAAO,EAAE,EAbuB;AAchCC,MAAAA,oBAAoB,EAAEpB,KAAK,CAACoB,oBAAN,IAA+B,YAAM,EAd3B;AAehCC,MAAAA,mBAAmB,EAAErB,KAAK,CAACqB,mBAAN,IAA8B,YAAM;AACvDnB,QAAAA,GAAG,CAAC;AAAEE,UAAAA,cAAc,EAAE,EAAlB;AAAsBM,UAAAA,aAAa,EAAE;AAArC,SAAD,CAAH;AACD,OAjB+B;AAkBhCY,MAAAA,iBAAiB,EAAEtB,KAAK,CAACsB,iBAAN,IAA4B,UAACC,MAAD,EAAyC;AAAA,YAAhCC,IAAgC,uEAAzB,IAAyB;AAAA,YAAnBC,OAAmB,uEAAT,IAAS;;AACtF,mBAA2BtB,GAAG,EAA9B;AAAA,YAAQC,cAAR,QAAQA,cAAR;;AACAF,QAAAA,GAAG;AACDE,UAAAA,cAAc,EAAEqB,OAAO,GAAG,CAACF,MAAD,CAAH,gCAAkBnB,cAAlB,IAAkCmB,MAAlC;AADtB,WAEEC,IAAI,GAAG;AAAEd,UAAAA,aAAa,EAAE,CAACa,MAAD,GAAU,UAAV,eAA4BA,MAA5B;AAAjB,SAAH,GAA6D,EAFnE,EAAH;AAID,OAxB+B;AAyBhCG,MAAAA,0BAA0B,EAAE1B,KAAK,CAAC0B,0BAAN,IAAqC,UAAAC,OAAO,EAAI;AAC1E,YAAI,CAACA,OAAD,IAAYA,OAAO,CAACC,MAAR,KAAmB,CAAnC,EAAsC;AACpC1B,UAAAA,GAAG,CAAC;AAAEE,YAAAA,cAAc,EAAE,EAAlB;AAAsBM,YAAAA,aAAa,EAAE;AAArC,WAAD,CAAH;AACD,SAFD,MAEO,IAAIiB,OAAO,CAACC,MAAR,KAAmB,CAAvB,EAA0B;AAC/B1B,UAAAA,GAAG,CAAC;AACFE,YAAAA,cAAc,EAAEuB,OADd;AAEFjB,YAAAA,aAAa,cAAOiB,OAAO,CAAC,CAAD,CAAd;AAFX,WAAD,CAAH;AAID,SALM,MAKA;AACLzB,UAAAA,GAAG,CAAC;AAAEE,YAAAA,cAAc,EAAEuB;AAAlB,WAAD,CAAH;AACD;AACF,OApC+B;AAqChCE,MAAAA,YAAY,EAAE7B,KAAK,CAAC6B,YAAN,IAAuB,UAACC,KAAD,EAAQC,QAAR,EAAqB;AACxD,oBAAsB5B,GAAG,EAAzB;AAAA,YAAQG,SAAR,SAAQA,SAAR;;AACAJ,QAAAA,GAAG,CAAC;AAAEI,UAAAA,SAAS,kCAAOA,SAAP,2BAAmBwB,KAAnB,EAA2BC,QAA3B;AAAX,SAAD,CAAH;AACD,OAxC+B;AAyChCC,MAAAA,mBAAmB,EAAE,6BAAAC,MAAM,EAAI;AAC7B/B,QAAAA,GAAG,CAAC;AAAEO,UAAAA,gBAAgB,EAAEwB;AAApB,SAAD,CAAH;AACD,OA3C+B;AA4ChCC,MAAAA,gBAAgB,EAAE,0BAAAC,EAAE,EAAI;AACtBjC,QAAAA,GAAG,CAAC;AAAEQ,UAAAA,aAAa,EAAEyB;AAAjB,SAAD,CAAH;AACD,OA9C+B;AA+ChCC,MAAAA,SAAS,EAAE,mBAAAzB,MAAM,EAAI;AACnBT,QAAAA,GAAG,CAAC;AAAES,UAAAA,MAAM,EAANA;AAAF,SAAD,CAAH;AACD,OAjD+B;AAkDhC0B,MAAAA,uBAAuB,EAAE,iCAAAJ,MAAM,EAAI;AACjC/B,QAAAA,GAAG,CAAC;AAAEU,UAAAA,oBAAoB,EAAEqB;AAAxB,SAAD,CAAH;AACD,OApD+B;AAqDhCK,MAAAA,kBAAkB,EAAEtC,KAAK,CAACsC,kBAAN,IAA6B,UAAAL,MAAM,EAAI;AACzD,oBAA+B9B,GAAG,EAAlC;AAAA,YAAQoC,kBAAR,SAAQA,kBAAR;;AACArC,QAAAA,GAAG;AACDW,UAAAA,eAAe,EAAEoB;AADhB,WAEEA,MAAM,IAAI,CAACM,kBAAX,IAAiC;AAAExB,UAAAA,gBAAgB,EAAE;AAApB,SAFnC,EAAH;AAID,OA3D+B;AA4DhCyB,MAAAA,WAAW,EAAE,qBAAAP,MAAM,EAAI;AACrB/B,QAAAA,GAAG,CAAC;AAAEY,UAAAA,QAAQ,EAAEmB;AAAZ,SAAD,CAAH;AACD,OA9D+B;AA+DhCQ,MAAAA,mBAAmB,EAAEzC,KAAK,CAACyC,mBAAN,IAA8B,UAAAR,MAAM,EAAI;AAC3D,oBAAqD9B,GAAG,EAAxD;AAAA,YAAQoC,kBAAR,SAAQA,kBAAR;AAAA,YAA4BnB,oBAA5B,SAA4BA,oBAA5B;;AACAlB,QAAAA,GAAG;AACDa,UAAAA,gBAAgB,EAAEkB;AADjB,WAEEA,MAAM,IAAI,CAACM,kBAAX,IAAiC;AAAE1B,UAAAA,eAAe,EAAE;AAAnB,SAFnC,GAGEoB,MAAM,IAAI;AAAEjB,UAAAA,iBAAiB,EAAE;AAArB,SAHZ,EAAH;AAKAI,QAAAA,oBAAoB,CAACa,MAAD,CAApB;AACD,OAvE+B;AAwEhCS,MAAAA,oBAAoB,EAAE1C,KAAK,CAAC0C,oBAAN,IAA+B,UAAAT,MAAM,EAAI;AAC7D,oBAAqD9B,GAAG,EAAxD;AAAA,YAAQoC,kBAAR,SAAQA,kBAAR;AAAA,YAA4BnB,oBAA5B,SAA4BA,oBAA5B;;AACAlB,QAAAA,GAAG;AACDc,UAAAA,iBAAiB,EAAEiB;AADlB,WAEEA,MAAM,IAAI,CAACM,kBAAX,IAAiC;AAAE1B,UAAAA,eAAe,EAAE;AAAnB,SAFnC,GAGEoB,MAAM,IAAI;AAAElB,UAAAA,gBAAgB,EAAE;AAApB,SAHZ,EAAH;AAKAK,QAAAA,oBAAoB,CAACa,MAAD,CAApB;AACD,OAhF+B;AAiFhCU,MAAAA,mBAAmB,EAAE,6BAAAV,MAAM,EAAI;AAC7B/B,QAAAA,GAAG,CAAC;AAAEe,UAAAA,gBAAgB,EAAEgB;AAApB,SAAD,CAAH;AACD,OAnF+B;AAoFhCW,MAAAA,UAAU,EAAE,oBAAAzB,OAAO,EAAI;AACrBjB,QAAAA,GAAG,CAAC;AAAEiB,UAAAA,OAAO,EAAPA;AAAF,SAAD,CAAH;AACD,OAtF+B;AAuFhC0B,MAAAA,OAAO,EAAE,iBAACC,IAAD,EAAOC,WAAP,EAAuB;AAC9B7C,QAAAA,GAAG,CAAC;AAAE4C,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;AAC1DhD,YAAAA,GAAG,CAAC;AAAEqC,cAAAA,kBAAkB,EAAE;AAAtB,aAAD,CAAH;AACD,WAFD,MAEO;AACLrC,YAAAA,GAAG,CAAC;AACFqC,cAAAA,kBAAkB,EAAE,KADlB;AAEF1B,cAAAA,eAAe,EAAE;AAFf,aAAD,CAAH;AAID;AACF;AACF,OArG+B;AAsGhCiC,MAAAA,IAAI,EAAE;AAtG0B,KAAf;AAAA,GAAD,CAAlB;AAwGD,CAzGD;;AA2GA,IAAMU,cAAc,gBAAGC,mBAAa,CAAC,IAAD,CAApC;IAEaC,eAAe,GAAG,SAAlBA,eAAkB,OAAmC;AAAA,MAAhCC,QAAgC,QAAhCA,QAAgC;AAAA,WAAtBC,KAAsB;AAAA,UAAZ5D,KAAY;;AAChE,MAAM6D,QAAQ,GAAGC,YAAM,EAAvB;;AACA,MAAI,CAACD,QAAQ,CAACE,OAAd,EAAuB;AACrBF,IAAAA,QAAQ,CAACE,OAAT,GAAmBhE,YAAY,CAACC,KAAD,CAA/B;AACD;;AAED,sBACEgE,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":["import { 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 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","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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"}
@@ -4,12 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var PropTypes = require('prop-types');
7
+ var isEqual = require('lodash.isequal');
7
8
  var zustand = require('zustand');
8
9
  var jsxRuntime = require('react/jsx-runtime');
9
10
 
10
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
12
 
12
13
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
14
+ var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
13
15
 
14
16
  var _excluded = ["children"];
15
17
 
@@ -40,6 +42,8 @@ var propStore = function propStore(props) {
40
42
  onPageDuplicate: props.onPageDuplicate || fn,
41
43
  onPageOrdersChange: props.onPageOrdersChange || fn,
42
44
  onPageRemove: props.onPageRemove || fn,
45
+ onPageVisibilityChanged: props.onPageVisibilityChanged || fn,
46
+ onSelectedItemsChanged: props.onSelectedItemsChanged || fn,
43
47
  onSettingChange: props.onSettingChange || fn,
44
48
  pages: props.pages || [],
45
49
  setAcceptedItems: function setAcceptedItems(acceptedItems) {
@@ -87,34 +91,25 @@ var PropProvider = function PropProvider(_ref) {
87
91
  pages = props.pages,
88
92
  settings = props.settings;
89
93
  React.useEffect(function () {
90
- var _storeRef$current$get = storeRef.current.getState(),
91
- setPages = _storeRef$current$get.setPages;
92
-
93
- if (pages) {
94
- setPages(pages);
95
- }
94
+ var state = storeRef.current.getState();
95
+ if (!pages || isEqual__default['default'](state.pages, pages)) return;
96
+ state.setPages(pages);
96
97
  }, [pages]);
97
98
  React.useEffect(function () {
98
- var _storeRef$current$get2 = storeRef.current.getState(),
99
- setItemAccessor = _storeRef$current$get2.setItemAccessor;
99
+ var _storeRef$current$get = storeRef.current.getState(),
100
+ setItemAccessor = _storeRef$current$get.setItemAccessor;
100
101
 
101
102
  setItemAccessor(itemAccessor);
102
103
  }, [itemAccessor]);
103
104
  React.useEffect(function () {
104
- var _storeRef$current$get3 = storeRef.current.getState(),
105
- setAcceptedItems = _storeRef$current$get3.setAcceptedItems;
106
-
107
- if (acceptedItems) {
108
- setAcceptedItems(acceptedItems);
109
- }
105
+ var state = storeRef.current.getState();
106
+ if (!acceptedItems || isEqual__default['default'](state.acceptedItems, acceptedItems)) return;
107
+ state.setAcceptedItems(acceptedItems);
110
108
  }, [acceptedItems]);
111
109
  React.useEffect(function () {
112
- var _storeRef$current$get4 = storeRef.current.getState(),
113
- setSettings = _storeRef$current$get4.setSettings;
114
-
115
- if (settings) {
116
- setSettings(settings);
117
- }
110
+ var state = storeRef.current.getState();
111
+ if (!settings || isEqual__default['default'](state.settings, settings)) return;
112
+ state.setSettings(settings);
118
113
  }, [settings]);
119
114
  return /*#__PURE__*/jsxRuntime.jsx(PropContext.Provider, {
120
115
  value: storeRef.current,
@@ -1 +1 @@
1
- {"version":3,"file":"PropContext.js","sources":["../../../src/contexts/PropContext.js"],"sourcesContent":["import {\n createContext, useContext, useEffect, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { createStore, useStore } from 'zustand';\n\nconst fn = () => {};\n\nconst propStore = props => {\n // eslint-disable-next-line complexity\n return createStore(set => ({\n acceptedItems: props.acceptedItems || {},\n additionalPageItems: props.additionalPageItems || [],\n disableInteraction: props.disableInteraction || [],\n itemAccessor: props.itemAccessor || fn,\n leftPanelConfig: props.leftPanelConfig || [],\n onAnEventTrigger: props.onAnEventTrigger || (() => {}),\n onItemAdd: props.onItemAdd || fn,\n onItemChange: props.onItemChange || fn,\n onItemMove: props.onItemMove || fn,\n onItemRemove: props.onItemRemove || fn,\n onItemResize: props.onItemResize || fn,\n onItemsMove: props.onItemsMove || fn,\n onPageAdd: props.onPageAdd || fn,\n onPageChange: props.onPageChange || fn,\n onPageDuplicate: props.onPageDuplicate || fn,\n onPageOrdersChange: props.onPageOrdersChange || fn,\n onPageRemove: props.onPageRemove || fn,\n onSettingChange: props.onSettingChange || fn,\n pages: props.pages || [],\n setAcceptedItems: acceptedItems => { set({ acceptedItems }); },\n setItemAccessor: itemAccessor => { set({ itemAccessor }); },\n setPages: pages => { set({ pages }); },\n setSettings: settings => { set({ settings }); },\n settings: props.settings || {\n reportLayout: 'A4 Landscape',\n },\n theme: props.theme || 'lightMode',\n useExperimentalFeatures: props.useExperimentalFeatures || false,\n }));\n};\n\nconst PropContext = createContext(null);\n\nexport const PropProvider = ({ children, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = propStore(props);\n }\n\n const {\n acceptedItems, itemAccessor, pages, settings,\n } = props;\n\n useEffect(() => {\n const { setPages } = storeRef.current.getState();\n if (pages) {\n setPages(pages);\n }\n }, [pages]);\n\n useEffect(() => {\n const { setItemAccessor } = storeRef.current.getState();\n setItemAccessor(itemAccessor);\n }, [itemAccessor]);\n\n useEffect(() => {\n const { setAcceptedItems } = storeRef.current.getState();\n if (acceptedItems) {\n setAcceptedItems(acceptedItems);\n }\n }, [acceptedItems]);\n\n useEffect(() => {\n const { setSettings } = storeRef.current.getState();\n if (settings) {\n setSettings(settings);\n }\n }, [settings]);\n\n return (\n <PropContext.Provider value={storeRef.current}>\n {children}\n </PropContext.Provider>\n );\n};\n\nPropProvider.propTypes = {\n acceptedItems: PropTypes.shape({}),\n children: PropTypes.any,\n itemAccessor: PropTypes.func,\n pages: PropTypes.arrayOf(PropTypes.object),\n settings: PropTypes.shape({}),\n};\n\nexport const PropConsumer = PropContext.Consumer;\n\nexport const usePropStore = selector => {\n const context = useContext(PropContext);\n if (!context) {\n throw new Error('usePropStore must be used with PropProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["fn","propStore","props","createStore","set","acceptedItems","additionalPageItems","disableInteraction","itemAccessor","leftPanelConfig","onAnEventTrigger","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onSettingChange","pages","setAcceptedItems","setItemAccessor","setPages","setSettings","settings","reportLayout","theme","useExperimentalFeatures","PropContext","createContext","PropProvider","children","storeRef","useRef","current","useEffect","getState","_jsx","propTypes","PropTypes","shape","any","func","arrayOf","object","Consumer","usePropStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
1
+ {"version":3,"file":"PropContext.js","sources":["../../../src/contexts/PropContext.js"],"sourcesContent":["import {\n createContext, useContext, useEffect, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport { createStore, useStore } from 'zustand';\n\nconst fn = () => {};\n\nconst propStore = props => {\n // eslint-disable-next-line complexity\n return createStore(set => ({\n acceptedItems: props.acceptedItems || {},\n additionalPageItems: props.additionalPageItems || [],\n disableInteraction: props.disableInteraction || [],\n itemAccessor: props.itemAccessor || fn,\n leftPanelConfig: props.leftPanelConfig || [],\n onAnEventTrigger: props.onAnEventTrigger || (() => {}),\n onItemAdd: props.onItemAdd || fn,\n onItemChange: props.onItemChange || fn,\n onItemMove: props.onItemMove || fn,\n onItemRemove: props.onItemRemove || fn,\n onItemResize: props.onItemResize || fn,\n onItemsMove: props.onItemsMove || fn,\n onPageAdd: props.onPageAdd || fn,\n onPageChange: props.onPageChange || fn,\n onPageDuplicate: props.onPageDuplicate || fn,\n onPageOrdersChange: props.onPageOrdersChange || fn,\n onPageRemove: props.onPageRemove || fn,\n onPageVisibilityChanged: props.onPageVisibilityChanged || fn,\n onSelectedItemsChanged: props.onSelectedItemsChanged || fn,\n onSettingChange: props.onSettingChange || fn,\n pages: props.pages || [],\n setAcceptedItems: acceptedItems => { set({ acceptedItems }); },\n setItemAccessor: itemAccessor => { set({ itemAccessor }); },\n setPages: pages => { set({ pages }); },\n setSettings: settings => { set({ settings }); },\n settings: props.settings || {\n reportLayout: 'A4 Landscape',\n },\n theme: props.theme || 'lightMode',\n useExperimentalFeatures: props.useExperimentalFeatures || false,\n }));\n};\n\nconst PropContext = createContext(null);\n\nexport const PropProvider = ({ children, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = propStore(props);\n }\n\n const {\n acceptedItems, itemAccessor, pages, settings,\n } = props;\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!pages || isEqual(state.pages, pages)) return;\n state.setPages(pages);\n }, [pages]);\n\n useEffect(() => {\n const { setItemAccessor } = storeRef.current.getState();\n setItemAccessor(itemAccessor);\n }, [itemAccessor]);\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!acceptedItems || isEqual(state.acceptedItems, acceptedItems)) return;\n state.setAcceptedItems(acceptedItems);\n }, [acceptedItems]);\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!settings || isEqual(state.settings, settings)) return;\n state.setSettings(settings);\n }, [settings]);\n\n return (\n <PropContext.Provider value={storeRef.current}>\n {children}\n </PropContext.Provider>\n );\n};\n\nPropProvider.propTypes = {\n acceptedItems: PropTypes.shape({}),\n children: PropTypes.any,\n itemAccessor: PropTypes.func,\n pages: PropTypes.arrayOf(PropTypes.object),\n settings: PropTypes.shape({}),\n};\n\nexport const PropConsumer = PropContext.Consumer;\n\nexport const usePropStore = selector => {\n const context = useContext(PropContext);\n if (!context) {\n throw new Error('usePropStore must be used with PropProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["fn","propStore","props","createStore","set","acceptedItems","additionalPageItems","disableInteraction","itemAccessor","leftPanelConfig","onAnEventTrigger","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onPageVisibilityChanged","onSelectedItemsChanged","onSettingChange","pages","setAcceptedItems","setItemAccessor","setPages","setSettings","settings","reportLayout","theme","useExperimentalFeatures","PropContext","createContext","PropProvider","children","storeRef","useRef","current","useEffect","state","getState","isEqual","_jsx","propTypes","PropTypes","shape","any","func","arrayOf","object","Consumer","usePropStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
@@ -10,7 +10,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
10
 
11
11
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
12
12
 
13
- var _excluded = ["children", "lastScrollPosition", "mode", "onRightPanelsToggled", "presentationBarActions", "useFixedPresentationBar"];
13
+ var _excluded = ["children", "lastScrollPosition", "mode", "onRightPanelsToggled", "presentationBarActions", "shouldShowRightPanelInitially", "useFixedPresentationBar"];
14
14
 
15
15
  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
16
 
@@ -28,12 +28,14 @@ var Providers = function Providers(_ref) {
28
28
  mode = _ref.mode,
29
29
  onRightPanelsToggled = _ref.onRightPanelsToggled,
30
30
  presentationBarActions = _ref.presentationBarActions,
31
+ shouldShowRightPanelInitially = _ref.shouldShowRightPanelInitially,
31
32
  useFixedPresentationBar = _ref.useFixedPresentationBar,
32
33
  props = _objectWithoutProperties(_ref, _excluded);
33
34
 
34
35
  return /*#__PURE__*/jsxRuntime.jsx(BuilderContext.BuilderProvider, {
35
36
  lastScrollPosition: lastScrollPosition,
36
37
  onRightPanelsToggled: onRightPanelsToggled,
38
+ shouldShowRightPanelInitially: shouldShowRightPanelInitially,
37
39
  children: /*#__PURE__*/jsxRuntime.jsx(PropContext.PropProvider, _objectSpread(_objectSpread({}, props), {}, {
38
40
  children: mode === 'customize' ? children : /*#__PURE__*/jsxRuntime.jsx(PresentationContext.PresentationProvider, {
39
41
  presentationBarActions: presentationBarActions,
@@ -63,6 +65,9 @@ Providers.propTypes = {
63
65
  presentationBarActions: PropTypes__default['default'].arrayOf(PropTypes__default['default'].shape({})),
64
66
 
65
67
  /** Flag for fixed action bar */
68
+ shouldShowRightPanelInitially: PropTypes__default['default'].bool,
69
+
70
+ /** Flag for whether to show the right panel initially */
66
71
  useFixedPresentationBar: PropTypes__default['default'].bool
67
72
  };
68
73
 
@@ -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 lastScrollPosition,\n mode,\n onRightPanelsToggled,\n presentationBarActions,\n useFixedPresentationBar,\n ...props\n}) => {\n return (\n <BuilderProvider\n lastScrollPosition={lastScrollPosition}\n onRightPanelsToggled={onRightPanelsToggled}\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 /** 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 useFixedPresentationBar: PropTypes.bool,\n};\n\nexport default Providers;\n"],"names":["Providers","children","lastScrollPosition","mode","onRightPanelsToggled","presentationBarActions","useFixedPresentationBar","props","_jsx","BuilderProvider","PropProvider","PresentationProvider","propTypes","PropTypes","node","isRequired","number","oneOf","func","arrayOf","shape","bool"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;IAKMA,SAAS,GAAG,SAAZA,SAAY,OAQZ;AAAA,MAPJC,QAOI,QAPJA,QAOI;AAAA,MANJC,kBAMI,QANJA,kBAMI;AAAA,MALJC,IAKI,QALJA,IAKI;AAAA,MAJJC,oBAII,QAJJA,oBAII;AAAA,MAHJC,sBAGI,QAHJA,sBAGI;AAAA,MAFJC,uBAEI,QAFJA,uBAEI;AAAA,MADDC,KACC;;AACJ,sBACEC,eAACC,8BAAD;AACE,IAAA,kBAAkB,EAAEP,kBADtB;AAEE,IAAA,oBAAoB,EAAEE,oBAFxB;AAAA,2BAIEI,eAACE,wBAAD,kCAAkBH,KAAlB;AAAA,gBACGJ,IAAI,KAAK,WAAT,GAAuBF,QAAvB,gBACCO,eAACG,wCAAD;AACE,QAAA,sBAAsB,EAAEN,sBAD1B;AAEE,QAAA,uBAAuB,EAAEC,uBAF3B;AAAA,kBAIGL;AAJH;AAFJ;AAJF,IADF;AAiBD;;AAEDD,SAAS,CAACY,SAAV,GAAsB;AACpBX,EAAAA,QAAQ,EAAEY,6BAAS,CAACC,IAAV,CAAeC,UADL;;AAEpB;AACAb,EAAAA,kBAAkB,EAAEW,6BAAS,CAACG,MAHV;;AAIpB;AACAb,EAAAA,IAAI,EAAEU,6BAAS,CAACI,KAAV,CAAgB,CAAC,WAAD,EAAc,cAAd,EAA8B,SAA9B,EAAyC,OAAzC,CAAhB,CALc;;AAMpB;AACF;AACA;AACA;AACEb,EAAAA,oBAAoB,EAAES,6BAAS,CAACK,IAVZ;;AAWpB;AACAb,EAAAA,sBAAsB,EAAEQ,6BAAS,CAACM,OAAV,CAAkBN,6BAAS,CAACO,KAAV,CAAgB,EAAhB,CAAlB,CAZJ;;AAapB;AACAd,EAAAA,uBAAuB,EAAEO,6BAAS,CAACQ;AAdf,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';\n\nconst Providers = ({\n children,\n lastScrollPosition,\n mode,\n onRightPanelsToggled,\n presentationBarActions,\n shouldShowRightPanelInitially,\n useFixedPresentationBar,\n ...props\n}) => {\n return (\n <BuilderProvider\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 /** 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","lastScrollPosition","mode","onRightPanelsToggled","presentationBarActions","shouldShowRightPanelInitially","useFixedPresentationBar","props","_jsx","BuilderProvider","PropProvider","PresentationProvider","propTypes","PropTypes","node","isRequired","number","oneOf","func","arrayOf","shape","bool"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;IAKMA,SAAS,GAAG,SAAZA,SAAY,OASZ;AAAA,MARJC,QAQI,QARJA,QAQI;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,kBAAkB,EAAER,kBADtB;AAEE,IAAA,oBAAoB,EAAEE,oBAFxB;AAGE,IAAA,6BAA6B,EAAEE,6BAHjC;AAAA,2BAKEG,eAACE,wBAAD,kCAAkBH,KAAlB;AAAA,gBACGL,IAAI,KAAK,WAAT,GAAuBF,QAAvB,gBACCQ,eAACG,wCAAD;AACE,QAAA,sBAAsB,EAAEP,sBAD1B;AAEE,QAAA,uBAAuB,EAAEE,uBAF3B;AAAA,kBAIGN;AAJH;AAFJ;AALF,IADF;AAkBD;;AAEDD,SAAS,CAACa,SAAV,GAAsB;AACpBZ,EAAAA,QAAQ,EAAEa,6BAAS,CAACC,IAAV,CAAeC,UADL;;AAEpB;AACAd,EAAAA,kBAAkB,EAAEY,6BAAS,CAACG,MAHV;;AAIpB;AACAd,EAAAA,IAAI,EAAEW,6BAAS,CAACI,KAAV,CAAgB,CAAC,WAAD,EAAc,cAAd,EAA8B,SAA9B,EAAyC,OAAzC,CAAhB,CALc;;AAMpB;AACF;AACA;AACA;AACEd,EAAAA,oBAAoB,EAAEU,6BAAS,CAACK,IAVZ;;AAWpB;AACAd,EAAAA,sBAAsB,EAAES,6BAAS,CAACM,OAAV,CAAkBN,6BAAS,CAACO,KAAV,CAAgB,EAAhB,CAAlB,CAZJ;;AAapB;AACAf,EAAAA,6BAA6B,EAAEQ,6BAAS,CAACQ,IAdrB;;AAepB;AACAf,EAAAA,uBAAuB,EAAEO,6BAAS,CAACQ;AAhBf,CAAtB;;;;"}
@@ -80,3 +80,153 @@ body {
80
80
  right: calc(#{$right-pane-width} + 15px);
81
81
  }
82
82
  }
83
+
84
+ .errorBoundary-wrapper {
85
+ display: flex;
86
+ flex-direction: column;
87
+ align-items: center;
88
+ justify-content: center;
89
+ gap: 16px;
90
+ padding: 20px;
91
+ border: 1px solid #e74c3c;
92
+ border-radius: 4px;
93
+ height: 100%;
94
+ width: 100%;
95
+ position: relative;
96
+ background-color: transparent;
97
+
98
+ * {
99
+ z-index: 10;
100
+ }
101
+
102
+ &:before {
103
+ content: "";
104
+ position: absolute;
105
+ top: 0;
106
+ left: 0;
107
+ width: 100%;
108
+ border-radius: 8px;
109
+ height: 100%;
110
+ z-index: 9;
111
+ background-color: #F3F3FE;
112
+ background-image: repeating-linear-gradient(
113
+ -45deg,
114
+ #F3F3FE 0,
115
+ #F3F3FE 20px,
116
+ #FFF 20px,
117
+ #FFF 40px
118
+ );
119
+ }
120
+ }
121
+
122
+ .errorBoundary-icon {
123
+ width: 40px;
124
+ height: 40px;
125
+ color: #e74c3c;
126
+ fill: #e74c3c;
127
+ }
128
+
129
+ .errorBoundary-icon-static {
130
+ width: 24px;
131
+ height: 24px;
132
+ color: #e74c3c;
133
+ fill: #e74c3c;
134
+ }
135
+
136
+ .errorBoundary-view-details-button {
137
+ background-color: #343C6A !important;
138
+ height: auto;
139
+ width: auto;
140
+ border-radius: 4px;
141
+ padding: 12px 24px;
142
+ display: flex !important;
143
+ flex-direction: column !important;
144
+ align-items: center;
145
+ justify-content: center;
146
+ color: #FFFFFF;
147
+ }
148
+
149
+ .errorBoundary-details-overlay {
150
+ position: fixed;
151
+ top: 0;
152
+ left: 0;
153
+ width: 100%;
154
+ height: 100%;
155
+ background-color: rgba(0, 0, 0, 0.7);
156
+ z-index: 9999;
157
+ }
158
+
159
+ .errorBoundary-details-wrapper {
160
+ background: #FFFFFF;
161
+ border-radius: 8px;
162
+ color: #0A1551;
163
+ top: 50%;
164
+ left: 50%;
165
+ position: absolute;
166
+ max-height: 70vh;
167
+ max-width: 60vw;
168
+ overflow: auto;
169
+ transform: translate(-50%, -50%);
170
+ width: 100%;
171
+ display: flex;
172
+ flex-direction: column;
173
+ align-items: start;
174
+ justify-content: start;
175
+ }
176
+
177
+ .errorBoundary-details-header {
178
+ display: flex;
179
+ flex-direction: row;
180
+ align-items: start;
181
+ justify-content: start;
182
+ width: 100%;
183
+ padding: 24px 32px;
184
+ border-bottom: 1px solid #E5E5F5;
185
+ }
186
+
187
+ .errorBoundary-details-content {
188
+ display: flex;
189
+ flex-direction: column;
190
+ justify-content: start;
191
+ align-items: start;
192
+ width: 100%;
193
+ height: auto;
194
+ overflow: hidden;
195
+ padding: 32px;
196
+ }
197
+
198
+ .errorBoundary-details-content-inner {
199
+ display: flex;
200
+ flex-direction: column;
201
+ justify-content: start;
202
+ align-items: start;
203
+ width: 100%;
204
+ height: auto;
205
+ overflow: auto;
206
+ padding: 24px;
207
+ background: #F3F3FE;
208
+ border-radius: 8px;
209
+ white-space: pre-wrap;
210
+ color: #6C73A8;
211
+ font-size: 14px;
212
+ line-height: 20px;
213
+ }
214
+
215
+ .errorBoundary-details-close-button {
216
+ background: #DADEF3;
217
+ height: 40px;
218
+ margin-left: auto;
219
+ width: 40px;
220
+ border-radius: 100%;
221
+
222
+ svg {
223
+ height: 20px;
224
+ width: 20px;
225
+ color: #343C6A;
226
+ fill: #343C6A;
227
+
228
+ path {
229
+ fill: #343C6A;
230
+ }
231
+ }
232
+ }
@@ -53,6 +53,13 @@ var useEventListener = function useEventListener(eventName, handler) {
53
53
  };
54
54
  }, [eventName, element]);
55
55
  };
56
+ var usePrevious = function usePrevious(value) {
57
+ var ref = React.useRef();
58
+ React.useEffect(function () {
59
+ ref.current = value;
60
+ });
61
+ return ref.current;
62
+ };
56
63
  var useFitZoom = function useFitZoom() {
57
64
  var settings = PropContext.usePropStore(function (state) {
58
65
  return state.settings;
@@ -73,6 +80,7 @@ var useFitZoom = function useFitZoom() {
73
80
  };
74
81
  var usePageVisibility = function usePageVisibility(callback, pageCount, selectedPageIndex) {
75
82
  var ratio = React.useRef({});
83
+ var prevVisiblePageIndex = React.useRef(-1);
76
84
  var pageRefs = React.useRef([]);
77
85
  var observer = React.useMemo(function () {
78
86
  return new window.IntersectionObserver(function (entries) {
@@ -85,13 +93,18 @@ var usePageVisibility = function usePageVisibility(callback, pageCount, selected
85
93
  delete ratio.current[order];
86
94
  }
87
95
  });
88
- callback(parseInt(Object.keys(ratio.current).find(function (key) {
96
+ var visiblePageIndex = parseInt(Object.keys(ratio.current).find(function (key) {
89
97
  return ratio.current[key] === Math.max.apply(Math, _toConsumableArray(Object.values(ratio.current)));
90
- }), 10));
98
+ }), 10);
99
+
100
+ if (visiblePageIndex !== prevVisiblePageIndex.current) {
101
+ prevVisiblePageIndex.current = visiblePageIndex;
102
+ callback(visiblePageIndex);
103
+ }
91
104
  }, {
92
105
  delay: 100,
93
106
  root: document.querySelector('.jfReport-viewport'),
94
- threshold: [0, 0.5, 1]
107
+ threshold: [0, 0.25, 0.5, 0.75, 1]
95
108
  });
96
109
  }, [callback]);
97
110
  React.useEffect(function () {
@@ -222,6 +235,7 @@ exports.useFitZoom = useFitZoom;
222
235
  exports.useFullscreenChange = useFullscreenChange;
223
236
  exports.usePageTransition = usePageTransition;
224
237
  exports.usePageVisibility = usePageVisibility;
238
+ exports.usePrevious = usePrevious;
225
239
  exports.useSelectedElements = useSelectedElements;
226
240
  exports.useTranslatedTexts = useTranslatedTexts;
227
241
  //# sourceMappingURL=hooks.js.map