@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
@@ -0,0 +1,88 @@
1
+ import { useState } from 'react';
2
+ import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
3
+ import PropTypes from 'prop-types';
4
+ import { useTranslatedTexts } from '../../utils/hooks.js';
5
+ import ErrorFallbackWrapper from './ErrorFallbackWrapper.js';
6
+ import { jsx } from 'react/jsx-runtime';
7
+
8
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+
10
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+
12
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
+
14
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
15
+
16
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
17
+
18
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
+
20
+ function ErrorBoundary(_ref) {
21
+ var children = _ref.children,
22
+ isStatic = _ref.isStatic,
23
+ item = _ref.item,
24
+ level = _ref.level;
25
+
26
+ var _useState = useState(null),
27
+ _useState2 = _slicedToArray(_useState, 2),
28
+ errorInfo = _useState2[0],
29
+ setErrorInfo = _useState2[1];
30
+
31
+ var _useTranslatedTexts = useTranslatedTexts(),
32
+ ERROR_BOUNDARY_DESCRIPTION = _useTranslatedTexts.ERROR_BOUNDARY_DESCRIPTION,
33
+ ERROR_BOUNDARY_ITEM_DESCRIPTION = _useTranslatedTexts.ERROR_BOUNDARY_ITEM_DESCRIPTION,
34
+ ERROR_BOUNDARY_PAGE_DESCRIPTION = _useTranslatedTexts.ERROR_BOUNDARY_PAGE_DESCRIPTION,
35
+ ERROR_BOUNDARY_TITLE = _useTranslatedTexts.ERROR_BOUNDARY_TITLE;
36
+
37
+ var TEXT_CONFIG = {
38
+ item: {
39
+ description: ERROR_BOUNDARY_ITEM_DESCRIPTION,
40
+ title: ERROR_BOUNDARY_TITLE
41
+ },
42
+ page: {
43
+ description: ERROR_BOUNDARY_PAGE_DESCRIPTION,
44
+ title: ERROR_BOUNDARY_TITLE
45
+ },
46
+ settings: {
47
+ description: ERROR_BOUNDARY_DESCRIPTION,
48
+ title: ERROR_BOUNDARY_TITLE
49
+ }
50
+ };
51
+ return /*#__PURE__*/jsx(ErrorBoundary$1, {
52
+ fallbackRender: function fallbackRender(_ref2) {
53
+ var error = _ref2.error;
54
+ return /*#__PURE__*/jsx(ErrorFallbackWrapper, {
55
+ error: error,
56
+ errorInfo: errorInfo,
57
+ isStatic: isStatic,
58
+ item: item,
59
+ level: level,
60
+ textConfig: TEXT_CONFIG
61
+ });
62
+ },
63
+ onError: function onError(error, info) {
64
+ if (error && info) {
65
+ setErrorInfo(info);
66
+ }
67
+ },
68
+ children: children
69
+ });
70
+ }
71
+
72
+ ErrorBoundary.propTypes = {
73
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
74
+ isStatic: PropTypes.bool,
75
+ item: PropTypes.shape({
76
+ id: PropTypes.string,
77
+ itemType: PropTypes.string
78
+ }),
79
+ level: PropTypes.oneOf(['item', 'page'])
80
+ };
81
+ ErrorBoundary.defaultProps = {
82
+ isStatic: false,
83
+ item: null,
84
+ level: 'page'
85
+ };
86
+
87
+ export default ErrorBoundary;
88
+ //# sourceMappingURL=ErrorBoundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorBoundary.js","sources":["../../../../src/components/ErrorBoundary/ErrorBoundary.js"],"sourcesContent":["import { useState } from 'react';\nimport { ErrorBoundary as ReactErrorBoundary } from 'react-error-boundary';\nimport PropTypes from 'prop-types';\nimport { useTranslatedTexts } from '../../utils/hooks';\nimport ErrorFallbackWrapper from './ErrorFallbackWrapper';\n\nfunction ErrorBoundary({\n children, isStatic, item, level,\n}) {\n const [errorInfo, setErrorInfo] = useState(null);\n const {\n ERROR_BOUNDARY_DESCRIPTION,\n ERROR_BOUNDARY_ITEM_DESCRIPTION,\n ERROR_BOUNDARY_PAGE_DESCRIPTION,\n ERROR_BOUNDARY_TITLE,\n } = useTranslatedTexts();\n\n const TEXT_CONFIG = {\n item: {\n description: ERROR_BOUNDARY_ITEM_DESCRIPTION,\n title: ERROR_BOUNDARY_TITLE,\n },\n page: {\n description: ERROR_BOUNDARY_PAGE_DESCRIPTION,\n title: ERROR_BOUNDARY_TITLE,\n },\n settings: {\n description: ERROR_BOUNDARY_DESCRIPTION,\n title: ERROR_BOUNDARY_TITLE,\n },\n };\n return (\n <ReactErrorBoundary\n fallbackRender={({ error }) => (\n <ErrorFallbackWrapper\n error={error}\n errorInfo={errorInfo}\n isStatic={isStatic}\n item={item}\n level={level}\n textConfig={TEXT_CONFIG}\n />\n )}\n onError={(error, info) => {\n if (error && info) {\n setErrorInfo(info);\n }\n }}\n >\n {children}\n </ReactErrorBoundary>\n );\n}\n\nErrorBoundary.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n isStatic: PropTypes.bool,\n item: PropTypes.shape({\n id: PropTypes.string,\n itemType: PropTypes.string,\n }),\n level: PropTypes.oneOf(['item', 'page']),\n};\n\nErrorBoundary.defaultProps = {\n isStatic: false,\n item: null,\n level: 'page',\n};\n\nexport default ErrorBoundary;\n"],"names":["ErrorBoundary","children","isStatic","item","level","useState","errorInfo","setErrorInfo","useTranslatedTexts","ERROR_BOUNDARY_DESCRIPTION","ERROR_BOUNDARY_ITEM_DESCRIPTION","ERROR_BOUNDARY_PAGE_DESCRIPTION","ERROR_BOUNDARY_TITLE","TEXT_CONFIG","description","title","page","settings","_jsx","ReactErrorBoundary","error","info","propTypes","PropTypes","oneOfType","arrayOf","node","isRequired","bool","shape","id","string","itemType","oneOf","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;AAMA,SAASA,aAAT,OAEG;AAAA,MADDC,QACC,QADDA,QACC;AAAA,MADSC,QACT,QADSA,QACT;AAAA,MADmBC,IACnB,QADmBA,IACnB;AAAA,MADyBC,KACzB,QADyBA,KACzB;;AACD,kBAAkCC,QAAQ,CAAC,IAAD,CAA1C;AAAA;AAAA,MAAOC,SAAP;AAAA,MAAkBC,YAAlB;;AACA,4BAKIC,kBAAkB,EALtB;AAAA,MACEC,0BADF,uBACEA,0BADF;AAAA,MAEEC,+BAFF,uBAEEA,+BAFF;AAAA,MAGEC,+BAHF,uBAGEA,+BAHF;AAAA,MAIEC,oBAJF,uBAIEA,oBAJF;;AAOA,MAAMC,WAAW,GAAG;AAClBV,IAAAA,IAAI,EAAE;AACJW,MAAAA,WAAW,EAAEJ,+BADT;AAEJK,MAAAA,KAAK,EAAEH;AAFH,KADY;AAKlBI,IAAAA,IAAI,EAAE;AACJF,MAAAA,WAAW,EAAEH,+BADT;AAEJI,MAAAA,KAAK,EAAEH;AAFH,KALY;AASlBK,IAAAA,QAAQ,EAAE;AACRH,MAAAA,WAAW,EAAEL,0BADL;AAERM,MAAAA,KAAK,EAAEH;AAFC;AATQ,GAApB;AAcA,sBACEM,IAACC,eAAD;AACE,IAAA,cAAc,EAAE;AAAA,UAAGC,KAAH,SAAGA,KAAH;AAAA,0BACdF,IAAC,oBAAD;AACE,QAAA,KAAK,EAAEE,KADT;AAEE,QAAA,SAAS,EAAEd,SAFb;AAGE,QAAA,QAAQ,EAAEJ,QAHZ;AAIE,QAAA,IAAI,EAAEC,IAJR;AAKE,QAAA,KAAK,EAAEC,KALT;AAME,QAAA,UAAU,EAAES;AANd,QADc;AAAA,KADlB;AAWE,IAAA,OAAO,EAAE,iBAACO,KAAD,EAAQC,IAAR,EAAiB;AACxB,UAAID,KAAK,IAAIC,IAAb,EAAmB;AACjBd,QAAAA,YAAY,CAACc,IAAD,CAAZ;AACD;AACF,KAfH;AAAA,cAiBGpB;AAjBH,IADF;AAqBD;;AAEDD,aAAa,CAACsB,SAAd,GAA0B;AACxBrB,EAAAA,QAAQ,EAAEsB,SAAS,CAACC,SAAV,CAAoB,CAC5BD,SAAS,CAACE,OAAV,CAAkBF,SAAS,CAACG,IAA5B,CAD4B,EAE5BH,SAAS,CAACG,IAFkB,CAApB,EAGPC,UAJqB;AAKxBzB,EAAAA,QAAQ,EAAEqB,SAAS,CAACK,IALI;AAMxBzB,EAAAA,IAAI,EAAEoB,SAAS,CAACM,KAAV,CAAgB;AACpBC,IAAAA,EAAE,EAAEP,SAAS,CAACQ,MADM;AAEpBC,IAAAA,QAAQ,EAAET,SAAS,CAACQ;AAFA,GAAhB,CANkB;AAUxB3B,EAAAA,KAAK,EAAEmB,SAAS,CAACU,KAAV,CAAgB,CAAC,MAAD,EAAS,MAAT,CAAhB;AAViB,CAA1B;AAaAjC,aAAa,CAACkC,YAAd,GAA6B;AAC3BhC,EAAAA,QAAQ,EAAE,KADiB;AAE3BC,EAAAA,IAAI,EAAE,IAFqB;AAG3BC,EAAAA,KAAK,EAAE;AAHoB,CAA7B;;;;"}
@@ -0,0 +1,75 @@
1
+ import 'core-js/modules/es.object.to-string.js';
2
+ import 'core-js/modules/es.regexp.to-string.js';
3
+ import PropTypes from 'prop-types';
4
+ import SvgClose from '../../assets/svg/close.svg.js';
5
+ import { jsx, jsxs } from 'react/jsx-runtime';
6
+
7
+ var ErrorDetails = function ErrorDetails(_ref) {
8
+ var _ref$error = _ref.error,
9
+ error = _ref$error === void 0 ? null : _ref$error,
10
+ _ref$errorInfo = _ref.errorInfo,
11
+ errorInfo = _ref$errorInfo === void 0 ? null : _ref$errorInfo,
12
+ _ref$handleCloseDetai = _ref.handleCloseDetails,
13
+ handleCloseDetails = _ref$handleCloseDetai === void 0 ? function () {} : _ref$handleCloseDetai;
14
+ return /*#__PURE__*/jsx("div", {
15
+ className: "errorBoundary-details-overlay",
16
+ onClick: handleCloseDetails,
17
+ role: "presentation",
18
+ children: /*#__PURE__*/jsxs("div", {
19
+ className: "errorBoundary-details-wrapper",
20
+ onClick: function onClick(e) {
21
+ return e.stopPropagation();
22
+ },
23
+ role: "presentation",
24
+ children: [/*#__PURE__*/jsxs("div", {
25
+ className: "errorBoundary-details-header",
26
+ children: [/*#__PURE__*/jsxs("div", {
27
+ style: {
28
+ marginRight: '24px',
29
+ minWidth: '0'
30
+ },
31
+ children: [/*#__PURE__*/jsx("h2", {
32
+ children: "Error Details"
33
+ }), /*#__PURE__*/jsx("p", {
34
+ style: {
35
+ color: '#6C73A8',
36
+ fontSize: '14px',
37
+ lineHeight: '20px',
38
+ marginTop: '8px',
39
+ whiteSpace: 'pre-wrap'
40
+ },
41
+ children: error && error.toString()
42
+ })]
43
+ }), /*#__PURE__*/jsx("button", {
44
+ "aria-label": "Close Button",
45
+ className: "errorBoundary-details-close-button",
46
+ onClick: handleCloseDetails,
47
+ type: "button",
48
+ children: /*#__PURE__*/jsx(SvgClose, {
49
+ style: {
50
+ height: '24px',
51
+ width: '24px'
52
+ }
53
+ })
54
+ })]
55
+ }), /*#__PURE__*/jsx("div", {
56
+ className: "errorBoundary-details-content",
57
+ children: /*#__PURE__*/jsxs("div", {
58
+ className: "errorBoundary-details-content-inner",
59
+ children: [error && error.toString(), errorInfo && (errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.componentStack)]
60
+ })
61
+ })]
62
+ })
63
+ });
64
+ };
65
+
66
+ ErrorDetails.propTypes = {
67
+ error: PropTypes.instanceOf(Error),
68
+ errorInfo: PropTypes.shape({
69
+ componentStack: PropTypes.string
70
+ }),
71
+ handleCloseDetails: PropTypes.func
72
+ };
73
+
74
+ export default ErrorDetails;
75
+ //# sourceMappingURL=ErrorDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorDetails.js","sources":["../../../../src/components/ErrorBoundary/ErrorDetails.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport CrossIcon from '../../assets/svg/close.svg';\n\nconst ErrorDetails = ({\n error = null,\n errorInfo = null,\n handleCloseDetails = () => {},\n}) => {\n return (\n <div\n className=\"errorBoundary-details-overlay\"\n onClick={handleCloseDetails}\n role=\"presentation\"\n >\n <div\n className=\"errorBoundary-details-wrapper\"\n onClick={e => e.stopPropagation()}\n role=\"presentation\"\n >\n <div className=\"errorBoundary-details-header\">\n <div style={{ marginRight: '24px', minWidth: '0' }}>\n <h2>Error Details</h2>\n <p\n style={{\n color: '#6C73A8',\n fontSize: '14px',\n lineHeight: '20px',\n marginTop: '8px',\n whiteSpace: 'pre-wrap',\n }}\n >\n {error && error.toString()}\n </p>\n </div>\n <button\n aria-label=\"Close Button\"\n className=\"errorBoundary-details-close-button\"\n onClick={handleCloseDetails}\n type=\"button\"\n >\n <CrossIcon style={{ height: '24px', width: '24px' }} />\n </button>\n </div>\n <div\n className=\"errorBoundary-details-content\"\n >\n <div className=\"errorBoundary-details-content-inner\">\n {error && error.toString()}\n {errorInfo && errorInfo?.componentStack}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nErrorDetails.propTypes = {\n error: PropTypes.instanceOf(Error),\n errorInfo: PropTypes.shape({\n componentStack: PropTypes.string,\n }),\n handleCloseDetails: PropTypes.func,\n};\n\nexport default ErrorDetails;\n"],"names":["ErrorDetails","error","errorInfo","handleCloseDetails","_jsx","_jsxs","e","stopPropagation","marginRight","minWidth","color","fontSize","lineHeight","marginTop","whiteSpace","toString","CrossIcon","height","width","componentStack","propTypes","PropTypes","instanceOf","Error","shape","string","func"],"mappings":";;;;;;IAGMA,YAAY,GAAG,SAAfA,YAAe,OAIf;AAAA,wBAHJC,KAGI;AAAA,MAHJA,KAGI,2BAHI,IAGJ;AAAA,4BAFJC,SAEI;AAAA,MAFJA,SAEI,+BAFQ,IAER;AAAA,mCADJC,kBACI;AAAA,MADJA,kBACI,sCADiB,YAAM,EACvB;AACJ,sBACEC;AACE,IAAA,SAAS,EAAC,+BADZ;AAEE,IAAA,OAAO,EAAED,kBAFX;AAGE,IAAA,IAAI,EAAC,cAHP;AAAA,2BAKEE;AACE,MAAA,SAAS,EAAC,+BADZ;AAEE,MAAA,OAAO,EAAE,iBAAAC,CAAC;AAAA,eAAIA,CAAC,CAACC,eAAF,EAAJ;AAAA,OAFZ;AAGE,MAAA,IAAI,EAAC,cAHP;AAAA,8BAKEF;AAAK,QAAA,SAAS,EAAC,8BAAf;AAAA,gCACEA;AAAK,UAAA,KAAK,EAAE;AAAEG,YAAAA,WAAW,EAAE,MAAf;AAAuBC,YAAAA,QAAQ,EAAE;AAAjC,WAAZ;AAAA,kCACEL;AAAA;AAAA,YADF,eAEEA;AACE,YAAA,KAAK,EAAE;AACLM,cAAAA,KAAK,EAAE,SADF;AAELC,cAAAA,QAAQ,EAAE,MAFL;AAGLC,cAAAA,UAAU,EAAE,MAHP;AAILC,cAAAA,SAAS,EAAE,KAJN;AAKLC,cAAAA,UAAU,EAAE;AALP,aADT;AAAA,sBASGb,KAAK,IAAIA,KAAK,CAACc,QAAN;AATZ,YAFF;AAAA,UADF,eAeEX;AACE,wBAAW,cADb;AAEE,UAAA,SAAS,EAAC,oCAFZ;AAGE,UAAA,OAAO,EAAED,kBAHX;AAIE,UAAA,IAAI,EAAC,QAJP;AAAA,iCAMEC,IAACY,QAAD;AAAW,YAAA,KAAK,EAAE;AAAEC,cAAAA,MAAM,EAAE,MAAV;AAAkBC,cAAAA,KAAK,EAAE;AAAzB;AAAlB;AANF,UAfF;AAAA,QALF,eA6BEd;AACE,QAAA,SAAS,EAAC,+BADZ;AAAA,+BAGEC;AAAK,UAAA,SAAS,EAAC,qCAAf;AAAA,qBACGJ,KAAK,IAAIA,KAAK,CAACc,QAAN,EADZ,EAEGb,SAAS,KAAIA,SAAJ,aAAIA,SAAJ,uBAAIA,SAAS,CAAEiB,cAAf,CAFZ;AAAA;AAHF,QA7BF;AAAA;AALF,IADF;AA8CD;;AAEDnB,YAAY,CAACoB,SAAb,GAAyB;AACvBnB,EAAAA,KAAK,EAAEoB,SAAS,CAACC,UAAV,CAAqBC,KAArB,CADgB;AAEvBrB,EAAAA,SAAS,EAAEmB,SAAS,CAACG,KAAV,CAAgB;AACzBL,IAAAA,cAAc,EAAEE,SAAS,CAACI;AADD,GAAhB,CAFY;AAKvBtB,EAAAA,kBAAkB,EAAEkB,SAAS,CAACK;AALP,CAAzB;;;;"}
@@ -0,0 +1,123 @@
1
+ import 'core-js/modules/es.symbol.js';
2
+ import 'core-js/modules/es.symbol.description.js';
3
+ import PropTypes from 'prop-types';
4
+ import { createPortal } from 'react-dom';
5
+ import { useState } from 'react';
6
+ import ErrorDetails from './ErrorDetails.js';
7
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
8
+ import SvgExclamation from '../../assets/svg/exclamation.svg.js';
9
+
10
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
+
12
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+
14
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
+
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
17
+
18
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
19
+
20
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
+
22
+ var ErrorFallbackWrapper = function ErrorFallbackWrapper(_ref) {
23
+ var _ref$error = _ref.error,
24
+ error = _ref$error === void 0 ? null : _ref$error,
25
+ _ref$errorInfo = _ref.errorInfo,
26
+ errorInfo = _ref$errorInfo === void 0 ? null : _ref$errorInfo,
27
+ _ref$isStatic = _ref.isStatic,
28
+ isStatic = _ref$isStatic === void 0 ? false : _ref$isStatic,
29
+ _ref$item = _ref.item,
30
+ item = _ref$item === void 0 ? null : _ref$item,
31
+ _ref$level = _ref.level,
32
+ level = _ref$level === void 0 ? 'page' : _ref$level,
33
+ textConfig = _ref.textConfig;
34
+
35
+ var _ref2 = textConfig[level] || textConfig.page || {},
36
+ _ref2$description = _ref2.description,
37
+ description = _ref2$description === void 0 ? '' : _ref2$description,
38
+ _ref2$title = _ref2.title,
39
+ title = _ref2$title === void 0 ? '' : _ref2$title;
40
+
41
+ var _useState = useState(false),
42
+ _useState2 = _slicedToArray(_useState, 2),
43
+ isDetailsOpen = _useState2[0],
44
+ setIsDetailsOpen = _useState2[1];
45
+
46
+ var handleOpenDetails = function handleOpenDetails() {
47
+ setIsDetailsOpen(true);
48
+ };
49
+
50
+ var handleCloseDetails = function handleCloseDetails() {
51
+ setIsDetailsOpen(false);
52
+ };
53
+
54
+ return /*#__PURE__*/jsxs("div", {
55
+ className: "errorBoundary-wrapper",
56
+ children: [/*#__PURE__*/jsx(SvgExclamation, {
57
+ className: isStatic ? 'errorBoundary-icon-static' : 'errorBoundary-icon'
58
+ }), /*#__PURE__*/jsx("strong", {
59
+ style: {
60
+ fontSize: !isStatic ? '20px' : '12px'
61
+ },
62
+ children: title
63
+ }), !isStatic && /*#__PURE__*/jsxs(Fragment, {
64
+ children: [item && /*#__PURE__*/jsxs("span", {
65
+ children: ["Item:", ' ', item.itemType || 'unknown', ' ', item.id ? "(".concat(item.id, ")") : '']
66
+ }), /*#__PURE__*/jsx("span", {
67
+ children: description
68
+ }), /*#__PURE__*/jsx("button", {
69
+ className: "errorBoundary-view-details-button",
70
+ onClick: handleOpenDetails,
71
+ type: "button",
72
+ children: "View"
73
+ }), isDetailsOpen && /*#__PURE__*/createPortal( /*#__PURE__*/jsx(ErrorDetails, {
74
+ error: error,
75
+ errorInfo: errorInfo,
76
+ handleCloseDetails: handleCloseDetails
77
+ }), document.body)]
78
+ })]
79
+ });
80
+ };
81
+
82
+ ErrorFallbackWrapper.propTypes = {
83
+ error: PropTypes.instanceOf(Error),
84
+ errorInfo: PropTypes.shape({
85
+ componentStack: PropTypes.string
86
+ }),
87
+ isStatic: PropTypes.bool,
88
+ item: PropTypes.shape({
89
+ id: PropTypes.string,
90
+ itemType: PropTypes.string
91
+ }),
92
+ level: PropTypes.oneOf(['item', 'page']),
93
+ textConfig: PropTypes.shape({
94
+ item: PropTypes.shape({
95
+ description: PropTypes.string,
96
+ title: PropTypes.string
97
+ }),
98
+ page: PropTypes.shape({
99
+ description: PropTypes.string,
100
+ title: PropTypes.string
101
+ })
102
+ })
103
+ };
104
+ ErrorFallbackWrapper.defaultProps = {
105
+ error: null,
106
+ errorInfo: null,
107
+ isStatic: false,
108
+ item: null,
109
+ level: 'page',
110
+ textConfig: {
111
+ item: {
112
+ description: '',
113
+ title: ''
114
+ },
115
+ page: {
116
+ description: '',
117
+ title: ''
118
+ }
119
+ }
120
+ };
121
+
122
+ export default ErrorFallbackWrapper;
123
+ //# sourceMappingURL=ErrorFallbackWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorFallbackWrapper.js","sources":["../../../../src/components/ErrorBoundary/ErrorFallbackWrapper.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { createPortal } from 'react-dom';\nimport { useState } from 'react';\nimport { exclamationIcon as ExclamationIcon } from '../../utils/icons';\nimport ErrorDetails from './ErrorDetails';\n\nconst ErrorFallbackWrapper = ({\n error = null,\n errorInfo = null,\n isStatic = false,\n item = null,\n level = 'page',\n textConfig,\n}) => {\n const { description = '', title = '' } = textConfig[level] || textConfig.page || {};\n const [isDetailsOpen, setIsDetailsOpen] = useState(false);\n\n const handleOpenDetails = () => {\n setIsDetailsOpen(true);\n };\n\n const handleCloseDetails = () => {\n setIsDetailsOpen(false);\n };\n\n return (\n <div\n className=\"errorBoundary-wrapper\"\n >\n <ExclamationIcon\n className={isStatic ? 'errorBoundary-icon-static' : 'errorBoundary-icon'}\n />\n <strong style={{ fontSize: !isStatic ? '20px' : '12px' }}>{title}</strong>\n {!isStatic && (\n <>\n {item && (\n <span>\n Item:\n {' '}\n {item.itemType || 'unknown'}\n {' '}\n {item.id ? `(${item.id})` : ''}\n </span>\n )}\n <span>{description}</span>\n <button\n className=\"errorBoundary-view-details-button\"\n onClick={handleOpenDetails}\n type=\"button\"\n >\n View\n </button>\n {isDetailsOpen && createPortal(\n <ErrorDetails\n error={error}\n errorInfo={errorInfo}\n handleCloseDetails={handleCloseDetails}\n />,\n document.body,\n )}\n </>\n )}\n </div>\n );\n};\n\nErrorFallbackWrapper.propTypes = {\n error: PropTypes.instanceOf(Error),\n errorInfo: PropTypes.shape({\n componentStack: PropTypes.string,\n }),\n isStatic: PropTypes.bool,\n item: PropTypes.shape({\n id: PropTypes.string,\n itemType: PropTypes.string,\n }),\n level: PropTypes.oneOf(['item', 'page']),\n textConfig: PropTypes.shape({\n item: PropTypes.shape({\n description: PropTypes.string,\n title: PropTypes.string,\n }),\n page: PropTypes.shape({\n description: PropTypes.string,\n title: PropTypes.string,\n }),\n }),\n};\n\nErrorFallbackWrapper.defaultProps = {\n error: null,\n errorInfo: null,\n isStatic: false,\n item: null,\n level: 'page',\n textConfig: {\n item: {\n description: '',\n title: '',\n },\n page: {\n description: '',\n title: '',\n },\n },\n};\n\nexport default ErrorFallbackWrapper;\n"],"names":["ErrorFallbackWrapper","error","errorInfo","isStatic","item","level","textConfig","page","description","title","useState","isDetailsOpen","setIsDetailsOpen","handleOpenDetails","handleCloseDetails","_jsxs","_jsx","ExclamationIcon","fontSize","itemType","id","createPortal","document","body","propTypes","PropTypes","instanceOf","Error","shape","componentStack","string","bool","oneOf","defaultProps"],"mappings":"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"}
@@ -10,7 +10,7 @@ import PropTypes from 'prop-types';
10
10
  import Section from '../../Builder/Section.js';
11
11
  import Element from '../../Builder/Element.js';
12
12
  import { leftPanelConfigPropType } from '../../../constants/propTypes.js';
13
- import LeftPanelCloser from './LeftPanelCloser.js';
13
+ import LeftPanelToggler from './LeftPanelCloser.js';
14
14
  import { useBuilderStore } from '../../../contexts/BuilderContext.js';
15
15
  import Tabs from '../../Builder/Tabs.js';
16
16
  import { getTabsWithElements } from '../../../utils/functions.js';
@@ -88,7 +88,7 @@ var Elements = function Elements() {
88
88
  }, [elementWillBeUsed]);
89
89
  return /*#__PURE__*/jsxs("div", {
90
90
  className: "toolItemWrapper f-height d-flex dir-col o-auto p-relative",
91
- children: [/*#__PURE__*/jsx(LeftPanelCloser, {}), /*#__PURE__*/jsxs(Section, {
91
+ children: [/*#__PURE__*/jsx(LeftPanelToggler, {}), /*#__PURE__*/jsxs(Section, {
92
92
  title: ADD_ELEMENT,
93
93
  children: [/*#__PURE__*/jsx(Tabs, {
94
94
  panel: "left",
@@ -1 +1 @@
1
- {"version":3,"file":"Elements.js","sources":["../../../../../src/components/Panels/LeftPanel/Elements.js"],"sourcesContent":["import {\n memo,\n useState,\n useMemo,\n useCallback,\n useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport Section from '../../Builder/Section';\nimport Element from '../../Builder/Element';\nimport { leftPanelConfigPropType } from '../../../constants/propTypes';\nimport LeftPanelCloser from './LeftPanelCloser';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport Tabs from '../../Builder/Tabs';\nimport { getTabsWithElements } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport SearchInput from '../../Builder/SearchInput';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst Elements = () => {\n const leftPanelConfig = usePropStore(state => state.leftPanelConfig);\n const activeTab = useBuilderStore(state => state.activeTab);\n const { ADD_ELEMENT, NO_RESULT } = useTranslatedTexts();\n\n // Tabs\n const tabDetails = getTabsWithElements(leftPanelConfig);\n const tabs = useMemo(() => {\n return Object.keys(tabDetails);\n }, [tabDetails]);\n\n const {\n elements = {},\n hasSearch = false,\n } = useMemo(() => {\n return tabDetails[tabs[activeTab.left]] || {};\n }, [activeTab.left, tabDetails, tabs]);\n\n const elementWillBeUsed = useMemo(() => {\n return Array.isArray(elements) ? elements : [];\n }, [elements]);\n\n const [searchElements, setSearchElements] = useState(elementWillBeUsed);\n\n useEffect(() => {\n setSearchElements(elementWillBeUsed);\n }, [elementWillBeUsed]);\n\n const filterElementsBySearch = useCallback(value => {\n if (value === '') {\n setSearchElements(elementWillBeUsed);\n return;\n }\n const filteredElements = elementWillBeUsed?.filter(element => element.title.toLowerCase().includes(value.toLowerCase()));\n setSearchElements(filteredElements);\n }, [elementWillBeUsed]);\n\n return (\n <div className=\"toolItemWrapper f-height d-flex dir-col o-auto p-relative\">\n <LeftPanelCloser />\n <Section\n title={ADD_ELEMENT}\n >\n <Tabs\n panel=\"left\"\n tabs={tabs}\n />\n {hasSearch && (\n <SearchInput onSearch={filterElementsBySearch} />\n )}\n <div className=\"toolItem-tabContent\">\n {searchElements.length > 0 ? searchElements.map((element, index) => (\n <Element\n key={index.toString()}\n {...element}\n />\n )) : (\n <div className=\"no-search-result-text\">{NO_RESULT}</div>\n )}\n </div>\n </Section>\n </div>\n );\n};\n\nElements.propTypes = {\n acceptedItems: PropTypes.shape({}),\n leftPanelConfig: leftPanelConfigPropType,\n onAnEventTrigger: PropTypes.func,\n onItemAdd: PropTypes.func,\n};\n\nexport default memo(Elements);\n"],"names":["Elements","leftPanelConfig","usePropStore","state","activeTab","useBuilderStore","useTranslatedTexts","ADD_ELEMENT","NO_RESULT","tabDetails","getTabsWithElements","tabs","useMemo","Object","keys","left","elements","hasSearch","elementWillBeUsed","Array","isArray","useState","searchElements","setSearchElements","useEffect","filterElementsBySearch","useCallback","value","filteredElements","filter","element","title","toLowerCase","includes","_jsxs","_jsx","length","map","index","toString","propTypes","acceptedItems","PropTypes","shape","leftPanelConfigPropType","onAnEventTrigger","func","onItemAdd","memo"],"mappings":"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"}
1
+ {"version":3,"file":"Elements.js","sources":["../../../../../src/components/Panels/LeftPanel/Elements.js"],"sourcesContent":["import {\n memo,\n useState,\n useMemo,\n useCallback,\n useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport Section from '../../Builder/Section';\nimport Element from '../../Builder/Element';\nimport { leftPanelConfigPropType } from '../../../constants/propTypes';\nimport LeftPanelCloser from './LeftPanelCloser';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport Tabs from '../../Builder/Tabs';\nimport { getTabsWithElements } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport SearchInput from '../../Builder/SearchInput';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst Elements = () => {\n const leftPanelConfig = usePropStore(state => state.leftPanelConfig);\n const activeTab = useBuilderStore(state => state.activeTab);\n const { ADD_ELEMENT, NO_RESULT } = useTranslatedTexts();\n\n // Tabs\n const tabDetails = getTabsWithElements(leftPanelConfig);\n const tabs = useMemo(() => {\n return Object.keys(tabDetails);\n }, [tabDetails]);\n\n const {\n elements = {},\n hasSearch = false,\n } = useMemo(() => {\n return tabDetails[tabs[activeTab.left]] || {};\n }, [activeTab.left, tabDetails, tabs]);\n\n const elementWillBeUsed = useMemo(() => {\n return Array.isArray(elements) ? elements : [];\n }, [elements]);\n\n const [searchElements, setSearchElements] = useState(elementWillBeUsed);\n\n useEffect(() => {\n setSearchElements(elementWillBeUsed);\n }, [elementWillBeUsed]);\n\n const filterElementsBySearch = useCallback(value => {\n if (value === '') {\n setSearchElements(elementWillBeUsed);\n return;\n }\n const filteredElements = elementWillBeUsed?.filter(element => element.title.toLowerCase().includes(value.toLowerCase()));\n setSearchElements(filteredElements);\n }, [elementWillBeUsed]);\n\n return (\n <div className=\"toolItemWrapper f-height d-flex dir-col o-auto p-relative\">\n <LeftPanelCloser />\n <Section\n title={ADD_ELEMENT}\n >\n <Tabs\n panel=\"left\"\n tabs={tabs}\n />\n {hasSearch && (\n <SearchInput onSearch={filterElementsBySearch} />\n )}\n <div className=\"toolItem-tabContent\">\n {searchElements.length > 0 ? searchElements.map((element, index) => (\n <Element\n key={index.toString()}\n {...element}\n />\n )) : (\n <div className=\"no-search-result-text\">{NO_RESULT}</div>\n )}\n </div>\n </Section>\n </div>\n );\n};\n\nElements.propTypes = {\n acceptedItems: PropTypes.shape({}),\n leftPanelConfig: leftPanelConfigPropType,\n onAnEventTrigger: PropTypes.func,\n onItemAdd: PropTypes.func,\n};\n\nexport default memo(Elements);\n"],"names":["Elements","leftPanelConfig","usePropStore","state","activeTab","useBuilderStore","useTranslatedTexts","ADD_ELEMENT","NO_RESULT","tabDetails","getTabsWithElements","tabs","useMemo","Object","keys","left","elements","hasSearch","elementWillBeUsed","Array","isArray","useState","searchElements","setSearchElements","useEffect","filterElementsBySearch","useCallback","value","filteredElements","filter","element","title","toLowerCase","includes","_jsxs","_jsx","LeftPanelCloser","length","map","index","toString","propTypes","acceptedItems","PropTypes","shape","leftPanelConfigPropType","onAnEventTrigger","func","onItemAdd","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,MAAMC,eAAe,GAAGC,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,eAAV;AAAA,GAAN,CAApC;AACA,MAAMG,SAAS,GAAGC,eAAe,CAAC,UAAAF,KAAK;AAAA,WAAIA,KAAK,CAACC,SAAV;AAAA,GAAN,CAAjC;;AACA,4BAAmCE,kBAAkB,EAArD;AAAA,MAAQC,WAAR,uBAAQA,WAAR;AAAA,MAAqBC,SAArB,uBAAqBA,SAArB,CAHqB;;;AAMrB,MAAMC,UAAU,GAAGC,mBAAmB,CAACT,eAAD,CAAtC;AACA,MAAMU,IAAI,GAAGC,OAAO,CAAC,YAAM;AACzB,WAAOC,MAAM,CAACC,IAAP,CAAYL,UAAZ,CAAP;AACD,GAFmB,EAEjB,CAACA,UAAD,CAFiB,CAApB;;AAIA,iBAGIG,OAAO,CAAC,YAAM;AAChB,WAAOH,UAAU,CAACE,IAAI,CAACP,SAAS,CAACW,IAAX,CAAL,CAAV,IAAoC,EAA3C;AACD,GAFU,EAER,CAACX,SAAS,CAACW,IAAX,EAAiBN,UAAjB,EAA6BE,IAA7B,CAFQ,CAHX;AAAA,mCACEK,QADF;AAAA,MACEA,QADF,kCACa,EADb;AAAA,oCAEEC,SAFF;AAAA,MAEEA,SAFF,mCAEc,KAFd;;AAOA,MAAMC,iBAAiB,GAAGN,OAAO,CAAC,YAAM;AACtC,WAAOO,KAAK,CAACC,OAAN,CAAcJ,QAAd,IAA0BA,QAA1B,GAAqC,EAA5C;AACD,GAFgC,EAE9B,CAACA,QAAD,CAF8B,CAAjC;;AAIA,kBAA4CK,QAAQ,CAACH,iBAAD,CAApD;AAAA;AAAA,MAAOI,cAAP;AAAA,MAAuBC,iBAAvB;;AAEAC,EAAAA,SAAS,CAAC,YAAM;AACdD,IAAAA,iBAAiB,CAACL,iBAAD,CAAjB;AACD,GAFQ,EAEN,CAACA,iBAAD,CAFM,CAAT;AAIA,MAAMO,sBAAsB,GAAGC,WAAW,CAAC,UAAAC,KAAK,EAAI;AAClD,QAAIA,KAAK,KAAK,EAAd,EAAkB;AAChBJ,MAAAA,iBAAiB,CAACL,iBAAD,CAAjB;AACA;AACD;;AACD,QAAMU,gBAAgB,GAAGV,iBAAH,aAAGA,iBAAH,uBAAGA,iBAAiB,CAAEW,MAAnB,CAA0B,UAAAC,OAAO;AAAA,aAAIA,OAAO,CAACC,KAAR,CAAcC,WAAd,GAA4BC,QAA5B,CAAqCN,KAAK,CAACK,WAAN,EAArC,CAAJ;AAAA,KAAjC,CAAzB;AACAT,IAAAA,iBAAiB,CAACK,gBAAD,CAAjB;AACD,GAPyC,EAOvC,CAACV,iBAAD,CAPuC,CAA1C;AASA,sBACEgB;AAAK,IAAA,SAAS,EAAC,2DAAf;AAAA,4BACEC,IAACC,gBAAD,KADF,eAEEF,KAAC,OAAD;AACE,MAAA,KAAK,EAAE3B,WADT;AAAA,8BAGE4B,IAAC,IAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,IAAI,EAAExB;AAFR,QAHF,EAOGM,SAAS,iBACRkB,IAAC,WAAD;AAAa,QAAA,QAAQ,EAAEV;AAAvB,QARJ,eAUEU;AAAK,QAAA,SAAS,EAAC,qBAAf;AAAA,kBACGb,cAAc,CAACe,MAAf,GAAwB,CAAxB,GAA4Bf,cAAc,CAACgB,GAAf,CAAmB,UAACR,OAAD,EAAUS,KAAV;AAAA,8BAC9CJ,IAAC,OAAD,oBAEML,OAFN,GACOS,KAAK,CAACC,QAAN,EADP,CAD8C;AAAA,SAAnB,CAA5B,gBAMCL;AAAK,UAAA,SAAS,EAAC,uBAAf;AAAA,oBAAwC3B;AAAxC;AAPJ,QAVF;AAAA,MAFF;AAAA,IADF;AA0BD,CA/DD;;AAiEAR,QAAQ,CAACyC,SAAT,GAAqB;AACnBC,EAAAA,aAAa,EAAEC,SAAS,CAACC,KAAV,CAAgB,EAAhB,CADI;AAEnB3C,EAAAA,eAAe,EAAE4C,uBAFE;AAGnBC,EAAAA,gBAAgB,EAAEH,SAAS,CAACI,IAHT;AAInBC,EAAAA,SAAS,EAAEL,SAAS,CAACI;AAJF,CAArB;AAOA,8BAAeE,IAAI,CAACjD,QAAD,CAAnB;;;;"}
@@ -1,4 +1,3 @@
1
- import { memo } from 'react';
2
1
  import { useBuilderStore } from '../../../contexts/BuilderContext.js';
3
2
  import { jsx, Fragment } from 'react/jsx-runtime';
4
3
  import SvgClose from '../../../assets/svg/close.svg.js';
@@ -21,7 +20,5 @@ var LeftPanelToggler = function LeftPanelToggler() {
21
20
  });
22
21
  };
23
22
 
24
- var LeftPanelCloser = /*#__PURE__*/memo(LeftPanelToggler);
25
-
26
- export default LeftPanelCloser;
23
+ export default LeftPanelToggler;
27
24
  //# sourceMappingURL=LeftPanelCloser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LeftPanelCloser.js","sources":["../../../../../src/components/Panels/LeftPanel/LeftPanelCloser.js"],"sourcesContent":["import { memo } from 'react';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport * as icons from '../../../utils/icons';\n\nconst LeftPanelToggler = () => {\n const setIsLeftPanelOpen = useBuilderStore(state => state.setIsLeftPanelOpen);\n return (\n <>\n <button\n className=\"paneClose p-absolute\"\n onClick={() => { setIsLeftPanelOpen(false); }}\n type=\"button\"\n >\n <icons.close className=\"jfReportSVG\" />\n </button>\n </>\n );\n};\n\nexport default memo(LeftPanelToggler);\n"],"names":["LeftPanelToggler","setIsLeftPanelOpen","useBuilderStore","state","_jsx","icons.close","memo"],"mappings":";;;;;AAIA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC7B,MAAMC,kBAAkB,GAAGC,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,kBAAV;AAAA,GAAN,CAA1C;AACA,sBACEG;AAAA,2BACEA;AACE,MAAA,SAAS,EAAC,sBADZ;AAEE,MAAA,OAAO,EAAE,mBAAM;AAAEH,QAAAA,kBAAkB,CAAC,KAAD,CAAlB;AAA4B,OAF/C;AAGE,MAAA,IAAI,EAAC,QAHP;AAAA,6BAKEG,IAACC,QAAD;AAAa,QAAA,SAAS,EAAC;AAAvB;AALF;AADF,IADF;AAWD,CAbD;;AAeA,mCAAeC,IAAI,CAACN,gBAAD,CAAnB;;;;"}
1
+ {"version":3,"file":"LeftPanelCloser.js","sources":["../../../../../src/components/Panels/LeftPanel/LeftPanelCloser.js"],"sourcesContent":["import { useBuilderStore } from '../../../contexts/BuilderContext';\nimport * as icons from '../../../utils/icons';\n\nconst LeftPanelToggler = () => {\n const setIsLeftPanelOpen = useBuilderStore(state => state.setIsLeftPanelOpen);\n return (\n <>\n <button\n className=\"paneClose p-absolute\"\n onClick={() => { setIsLeftPanelOpen(false); }}\n type=\"button\"\n >\n <icons.close className=\"jfReportSVG\" />\n </button>\n </>\n );\n};\n\nexport default LeftPanelToggler;\n"],"names":["LeftPanelToggler","setIsLeftPanelOpen","useBuilderStore","state","_jsx","icons.close"],"mappings":";;;;IAGMA,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC7B,MAAMC,kBAAkB,GAAGC,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,kBAAV;AAAA,GAAN,CAA1C;AACA,sBACEG;AAAA,2BACEA;AACE,MAAA,SAAS,EAAC,sBADZ;AAEE,MAAA,OAAO,EAAE,mBAAM;AAAEH,QAAAA,kBAAkB,CAAC,KAAD,CAAlB;AAA4B,OAF/C;AAGE,MAAA,IAAI,EAAC,QAHP;AAAA,6BAKEG,IAACC,QAAD;AAAa,QAAA,SAAS,EAAC;AAAvB;AALF;AADF,IADF;AAWD;;;;"}
@@ -4,7 +4,7 @@ import 'core-js/modules/es.array.includes.js';
4
4
  import 'core-js/modules/es.array.map.js';
5
5
  import 'core-js/modules/es.object.keys.js';
6
6
  import 'core-js/modules/es.string.iterator.js';
7
- import { memo, useRef, useMemo, useEffect, useCallback } from 'react';
7
+ import { useRef, useMemo, useEffect, useCallback } from 'react';
8
8
  import classNames from 'classnames';
9
9
  import Panel from '../../Builder/Panel.js';
10
10
  import Section from '../../Builder/Section.js';
@@ -223,7 +223,5 @@ var RightPanel = function RightPanel() {
223
223
  });
224
224
  };
225
225
 
226
- var RightPanel$1 = /*#__PURE__*/memo(RightPanel);
227
-
228
- export default RightPanel$1;
226
+ export default RightPanel;
229
227
  //# sourceMappingURL=RightPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RightPanel.js","sources":["../../../../../src/components/Panels/RightPanel/RightPanel.js"],"sourcesContent":["import {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport Section from '../../Builder/Section';\nimport Layout from '../../../constants/reportSettings';\nimport Page from '../../../constants/pageSettings';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { findItemById, getTabsWithSettings } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport {\n REPORT_SETTINGS_ITEM_TYPE, PAGE_SETTINGS_ITEM_TYPE,\n} from '../../../constants/itemTypes';\nimport Tabs from '../../Builder/Tabs';\nimport Settings from './Settings';\nimport RightPanelToggler from './RightPanelToggler';\n\nconst exceptionalClasses = [\n 'pageSettingSideBtn', 'paneClose', 'paneToggler', 'forZoom', 'jSheetContextMenu',\n];\n\nconst RightPanel = () => {\n const activeTab = useBuilderStore(state => state.activeTab);\n const editedElement = useBuilderStore(state => state.editedElement);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setActiveTab = useBuilderStore(state => state.setActiveTab);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const layoutSettings = usePropStore(state => state.settings);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onPageChange = usePropStore(state => state.onPageChange);\n const onSettingChange = usePropStore(state => state.onSettingChange);\n const pages = usePropStore(state => state.pages);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n\n const panelRef = useRef(null);\n const translatedTexts = useTranslatedTexts();\n\n const settingMap = useMemo(() => ({\n i_: {\n details: id => {\n const item = findItemById(id, pages);\n return item;\n },\n settings: item => {\n return acceptedItems[item.itemType];\n },\n title: item => {\n const textKey = `${(acceptedItems[item.itemType].title || item.itemType).toLocaleUpperCase()}_SETTINGS`;\n return translatedTexts[textKey] || acceptedItems[item.itemType].title;\n },\n updater: onItemChange,\n },\n l_: {\n details: () => {\n return {\n ...layoutSettings,\n id: REPORT_SETTINGS_ITEM_TYPE,\n itemType: REPORT_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n return acceptedItems[REPORT_SETTINGS_ITEM_TYPE] || Layout;\n },\n title: () => translatedTexts.LAYOUT_SETTINGS,\n updater: onSettingChange,\n },\n p_: {\n details: id => {\n return {\n backgroundColor: layoutSettings.reportBackgroundColor,\n ...pages.find(page => page.id === id),\n itemType: PAGE_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n const pageItem = acceptedItems[PAGE_SETTINGS_ITEM_TYPE] || Page;\n return {\n ...pageItem,\n settings: pageItem.settings.map(setting => {\n if (setting.key === 'pageLayer') {\n return { ...setting, updater: onItemChange };\n }\n return setting;\n }) || Page.settings,\n };\n },\n title: () => translatedTexts.PAGE_SETTINGS,\n updater: onPageChange,\n },\n }), [\n acceptedItems,\n layoutSettings,\n onItemChange,\n onPageChange,\n onSettingChange,\n translatedTexts,\n pages,\n ]);\n\n const editedEl = useMemo(() => {\n return settingMap[editedElement.substr(0, 2)] || settingMap.l_;\n }, [editedElement, settingMap]);\n\n const {\n element, selectedItem, title, updateFunc,\n } = useMemo(() => {\n const editedElId = editedElement.substr(2);\n const _selectedItem = editedEl.details(editedElId);\n\n if (!_selectedItem) {\n const fallbackEditedEl = settingMap.l_;\n return {\n element: fallbackEditedEl.settings(),\n selectedItem: fallbackEditedEl.details(),\n title: fallbackEditedEl.title(),\n updateFunc: fallbackEditedEl.updater,\n };\n }\n\n return {\n element: editedEl.settings(_selectedItem),\n selectedItem: _selectedItem,\n title: editedEl.title(_selectedItem),\n updateFunc: editedEl.updater,\n };\n }, [editedEl, editedElement, settingMap.l_]);\n\n // Tabs\n const tabsWithSettings = getTabsWithSettings(element, selectedItem, itemAccessor);\n const tabs = Object.keys(tabsWithSettings);\n\n useEffect(() => {\n const currentTab = tabs[activeTab.right];\n if (!tabsWithSettings[currentTab]) {\n // This is due to conditionaly hiding tabs\n setActiveTab('right', 0);\n }\n }, [activeTab, tabs, tabsWithSettings, setActiveTab]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSettings f-height',\n {\n isIdle: !isRightPanelOpen,\n otherOpened: isSlidesPanelOpen,\n },\n );\n\n const onClickOutsideForPanel = useCallback(e => {\n if (editedElement.substr(0, 2) === 'i_'\n || panelRef.current.contains(e.target)\n || panelRef.current.contains(document.activeElement)\n || Array.from(e.target.classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(xClass => e.target.closest(`.${xClass}`))\n ) {\n return;\n }\n setIsRightPanelOpen(false);\n resetActiveElements();\n }, [editedElement, setIsRightPanelOpen, resetActiveElements]);\n\n useEffect(() => {\n if (isRightPanelOpen) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => {\n window.removeEventListener('click', onClickOutsideForPanel, false);\n };\n }, [isRightPanelOpen, onClickOutsideForPanel]);\n\n return (\n <>\n <Panel\n ref={panelRef}\n additionalClassName={panelAdditionalClassName}\n >\n {isSlidesPanelOpen ? null : <RightPanelToggler />}\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section title={title}>\n <Tabs\n panel=\"right\"\n tabs={tabs}\n />\n <Settings\n key={selectedItem.id}\n element={element}\n item={selectedItem}\n onChange={updateFunc}\n settings={tabsWithSettings}\n tabs={tabs}\n />\n </Section>\n </div>\n </Panel>\n </>\n );\n};\n\nexport default memo(RightPanel);\n"],"names":["exceptionalClasses","RightPanel","activeTab","useBuilderStore","state","editedElement","isRightPanelOpen","isSlidesPanelOpen","resetActiveElements","setActiveTab","setIsRightPanelOpen","acceptedItems","usePropStore","layoutSettings","settings","onItemChange","onPageChange","onSettingChange","pages","itemAccessor","panelRef","useRef","translatedTexts","useTranslatedTexts","settingMap","useMemo","i_","details","id","item","findItemById","itemType","title","textKey","toLocaleUpperCase","updater","l_","REPORT_SETTINGS_ITEM_TYPE","Layout","LAYOUT_SETTINGS","p_","backgroundColor","reportBackgroundColor","find","page","PAGE_SETTINGS_ITEM_TYPE","pageItem","Page","map","setting","key","PAGE_SETTINGS","editedEl","substr","editedElId","_selectedItem","fallbackEditedEl","element","selectedItem","updateFunc","tabsWithSettings","getTabsWithSettings","tabs","Object","keys","useEffect","currentTab","right","panelAdditionalClassName","classNames","isIdle","otherOpened","onClickOutsideForPanel","useCallback","e","current","contains","target","document","activeElement","Array","from","classList","some","xClass","includes","closest","window","addEventListener","removeEventListener","_jsx","_jsxs","memo"],"mappings":"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"}
1
+ {"version":3,"file":"RightPanel.js","sources":["../../../../../src/components/Panels/RightPanel/RightPanel.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport Section from '../../Builder/Section';\nimport Layout from '../../../constants/reportSettings';\nimport Page from '../../../constants/pageSettings';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { findItemById, getTabsWithSettings } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport {\n REPORT_SETTINGS_ITEM_TYPE, PAGE_SETTINGS_ITEM_TYPE,\n} from '../../../constants/itemTypes';\nimport Tabs from '../../Builder/Tabs';\nimport Settings from './Settings';\nimport RightPanelToggler from './RightPanelToggler';\n\nconst exceptionalClasses = [\n 'pageSettingSideBtn', 'paneClose', 'paneToggler', 'forZoom', 'jSheetContextMenu',\n];\n\nconst RightPanel = () => {\n const activeTab = useBuilderStore(state => state.activeTab);\n const editedElement = useBuilderStore(state => state.editedElement);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setActiveTab = useBuilderStore(state => state.setActiveTab);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const layoutSettings = usePropStore(state => state.settings);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onPageChange = usePropStore(state => state.onPageChange);\n const onSettingChange = usePropStore(state => state.onSettingChange);\n const pages = usePropStore(state => state.pages);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n\n const panelRef = useRef(null);\n const translatedTexts = useTranslatedTexts();\n\n const settingMap = useMemo(() => ({\n i_: {\n details: id => {\n const item = findItemById(id, pages);\n return item;\n },\n settings: item => {\n return acceptedItems[item.itemType];\n },\n title: item => {\n const textKey = `${(acceptedItems[item.itemType].title || item.itemType).toLocaleUpperCase()}_SETTINGS`;\n return translatedTexts[textKey] || acceptedItems[item.itemType].title;\n },\n updater: onItemChange,\n },\n l_: {\n details: () => {\n return {\n ...layoutSettings,\n id: REPORT_SETTINGS_ITEM_TYPE,\n itemType: REPORT_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n return acceptedItems[REPORT_SETTINGS_ITEM_TYPE] || Layout;\n },\n title: () => translatedTexts.LAYOUT_SETTINGS,\n updater: onSettingChange,\n },\n p_: {\n details: id => {\n return {\n backgroundColor: layoutSettings.reportBackgroundColor,\n ...pages.find(page => page.id === id),\n itemType: PAGE_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n const pageItem = acceptedItems[PAGE_SETTINGS_ITEM_TYPE] || Page;\n return {\n ...pageItem,\n settings: pageItem.settings.map(setting => {\n if (setting.key === 'pageLayer') {\n return { ...setting, updater: onItemChange };\n }\n return setting;\n }) || Page.settings,\n };\n },\n title: () => translatedTexts.PAGE_SETTINGS,\n updater: onPageChange,\n },\n }), [\n acceptedItems,\n layoutSettings,\n onItemChange,\n onPageChange,\n onSettingChange,\n translatedTexts,\n pages,\n ]);\n\n const editedEl = useMemo(() => {\n return settingMap[editedElement.substr(0, 2)] || settingMap.l_;\n }, [editedElement, settingMap]);\n\n const {\n element, selectedItem, title, updateFunc,\n } = useMemo(() => {\n const editedElId = editedElement.substr(2);\n const _selectedItem = editedEl.details(editedElId);\n\n if (!_selectedItem) {\n const fallbackEditedEl = settingMap.l_;\n return {\n element: fallbackEditedEl.settings(),\n selectedItem: fallbackEditedEl.details(),\n title: fallbackEditedEl.title(),\n updateFunc: fallbackEditedEl.updater,\n };\n }\n\n return {\n element: editedEl.settings(_selectedItem),\n selectedItem: _selectedItem,\n title: editedEl.title(_selectedItem),\n updateFunc: editedEl.updater,\n };\n }, [editedEl, editedElement, settingMap.l_]);\n\n // Tabs\n const tabsWithSettings = getTabsWithSettings(element, selectedItem, itemAccessor);\n const tabs = Object.keys(tabsWithSettings);\n\n useEffect(() => {\n const currentTab = tabs[activeTab.right];\n if (!tabsWithSettings[currentTab]) {\n // This is due to conditionaly hiding tabs\n setActiveTab('right', 0);\n }\n }, [activeTab, tabs, tabsWithSettings, setActiveTab]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSettings f-height',\n {\n isIdle: !isRightPanelOpen,\n otherOpened: isSlidesPanelOpen,\n },\n );\n\n const onClickOutsideForPanel = useCallback(e => {\n if (editedElement.substr(0, 2) === 'i_'\n || panelRef.current.contains(e.target)\n || panelRef.current.contains(document.activeElement)\n || Array.from(e.target.classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(xClass => e.target.closest(`.${xClass}`))\n ) {\n return;\n }\n setIsRightPanelOpen(false);\n resetActiveElements();\n }, [editedElement, setIsRightPanelOpen, resetActiveElements]);\n\n useEffect(() => {\n if (isRightPanelOpen) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => {\n window.removeEventListener('click', onClickOutsideForPanel, false);\n };\n }, [isRightPanelOpen, onClickOutsideForPanel]);\n\n return (\n <>\n <Panel\n ref={panelRef}\n additionalClassName={panelAdditionalClassName}\n >\n {isSlidesPanelOpen ? null : <RightPanelToggler />}\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section title={title}>\n <Tabs\n panel=\"right\"\n tabs={tabs}\n />\n <Settings\n key={selectedItem.id}\n element={element}\n item={selectedItem}\n onChange={updateFunc}\n settings={tabsWithSettings}\n tabs={tabs}\n />\n </Section>\n </div>\n </Panel>\n </>\n );\n};\n\nexport default RightPanel;\n"],"names":["exceptionalClasses","RightPanel","activeTab","useBuilderStore","state","editedElement","isRightPanelOpen","isSlidesPanelOpen","resetActiveElements","setActiveTab","setIsRightPanelOpen","acceptedItems","usePropStore","layoutSettings","settings","onItemChange","onPageChange","onSettingChange","pages","itemAccessor","panelRef","useRef","translatedTexts","useTranslatedTexts","settingMap","useMemo","i_","details","id","item","findItemById","itemType","title","textKey","toLocaleUpperCase","updater","l_","REPORT_SETTINGS_ITEM_TYPE","Layout","LAYOUT_SETTINGS","p_","backgroundColor","reportBackgroundColor","find","page","PAGE_SETTINGS_ITEM_TYPE","pageItem","Page","map","setting","key","PAGE_SETTINGS","editedEl","substr","editedElId","_selectedItem","fallbackEditedEl","element","selectedItem","updateFunc","tabsWithSettings","getTabsWithSettings","tabs","Object","keys","useEffect","currentTab","right","panelAdditionalClassName","classNames","isIdle","otherOpened","onClickOutsideForPanel","useCallback","e","current","contains","target","document","activeElement","Array","from","classList","some","xClass","includes","closest","window","addEventListener","removeEventListener","_jsx","_jsxs"],"mappings":"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"}
@@ -9,7 +9,7 @@ import { useBuilderStore } from '../../../contexts/BuilderContext.js';
9
9
  import { usePropStore } from '../../../contexts/PropContext.js';
10
10
  import SettingsItemRenderer from '../../Settings/SettingsItemRenderer.js';
11
11
  import { onChangeFunction } from '../../../utils/functions.js';
12
- import ErrorBoundry from '../../ErrorBoundary.js';
12
+ import ErrorBoundary from '../../ErrorBoundary/ErrorBoundary.js';
13
13
  import { jsx } from 'react/jsx-runtime';
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; }
@@ -61,7 +61,9 @@ var Settings = function Settings(_ref) {
61
61
  setting: setting,
62
62
  settingValue: computedValue,
63
63
  children: function children(SettingItem) {
64
- return /*#__PURE__*/jsx(ErrorBoundry, {
64
+ return /*#__PURE__*/jsx(ErrorBoundary, {
65
+ item: newItem,
66
+ level: "settings",
65
67
  children: /*#__PURE__*/jsx(SettingItem, {
66
68
  config: setting,
67
69
  item: newItem,
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.js","sources":["../../../../../src/components/Panels/RightPanel/Settings.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport SettingsItemRenderer from '../../Settings/SettingsItemRenderer';\nimport { onChangeFunction } from '../../../utils/functions';\nimport ErrorBoundary from '../../ErrorBoundary';\n\nconst Settings = ({\n element = {},\n item = {},\n onChange = () => {},\n settings = {},\n tabs = [],\n}) => {\n const itemAccessor = usePropStore(state => state.itemAccessor);\n const activeTab = useBuilderStore(state => state.activeTab);\n const useExperimentalFeatures = usePropStore(state => state.useExperimentalFeatures);\n\n return (tabs.map((tabKey, index) => {\n return (\n <div\n key={index.toString()}\n className={classNames(\n 'toolItem-tabContent',\n { hidden: index !== activeTab.right },\n { hasInnerScroll: tabKey === 'MY IMAGES' },\n )}\n >\n {settings[tabKey].map((setting, itemIndex) => {\n if (setting.experimental && !useExperimentalFeatures) {\n return null;\n }\n const customUpdaterFunction = setting.onChange ? setting.onChange : false;\n const defaultItem = element.defaultItem || {};\n const value = (item[setting.key] || item[setting.key] === 0)\n ? item[setting.key] : defaultItem[setting.key] || null;\n const computedValue = setting.value ? setting.value(value, item, itemAccessor) : value;\n const newItem = { ...defaultItem, ...item };\n return (\n <SettingsItemRenderer\n key={`${itemIndex.toString()}_${item.id}_${setting.key}_${setting.uniqueId}`}\n setting={setting}\n settingValue={computedValue}\n >\n {SettingItem => {\n return (\n <ErrorBoundary>\n <SettingItem\n config={setting}\n item={newItem}\n itemAccessor={itemAccessor}\n onItemChange={onChangeFunction(\n setting,\n onChange,\n newItem,\n customUpdaterFunction,\n )}\n value={computedValue}\n />\n </ErrorBoundary>\n );\n }}\n </SettingsItemRenderer>\n );\n })}\n </div>\n );\n }));\n};\n\nSettings.propTypes = {\n element: PropTypes.shape({}),\n item: PropTypes.shape({}),\n onChange: PropTypes.func,\n settings: PropTypes.shape({}),\n tabs: PropTypes.arrayOf(PropTypes.string),\n};\n\nexport default memo(Settings);\n"],"names":["Settings","element","item","onChange","settings","tabs","itemAccessor","usePropStore","state","activeTab","useBuilderStore","useExperimentalFeatures","map","tabKey","index","_jsx","classNames","hidden","right","hasInnerScroll","setting","itemIndex","experimental","customUpdaterFunction","defaultItem","value","key","computedValue","newItem","SettingItem","ErrorBoundary","onChangeFunction","toString","id","uniqueId","propTypes","PropTypes","shape","func","arrayOf","string","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;AASA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,OAMX;AAAA,0BALJC,OAKI;AAAA,MALJA,OAKI,6BALM,EAKN;AAAA,uBAJJC,IAII;AAAA,MAJJA,IAII,0BAJG,EAIH;AAAA,2BAHJC,QAGI;AAAA,MAHJA,QAGI,8BAHO,YAAM,EAGb;AAAA,2BAFJC,QAEI;AAAA,MAFJA,QAEI,8BAFO,EAEP;AAAA,uBADJC,IACI;AAAA,MADJA,IACI,0BADG,EACH;AACJ,MAAMC,YAAY,GAAGC,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,YAAV;AAAA,GAAN,CAAjC;AACA,MAAMG,SAAS,GAAGC,eAAe,CAAC,UAAAF,KAAK;AAAA,WAAIA,KAAK,CAACC,SAAV;AAAA,GAAN,CAAjC;AACA,MAAME,uBAAuB,GAAGJ,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACG,uBAAV;AAAA,GAAN,CAA5C;AAEA,SAAQN,IAAI,CAACO,GAAL,CAAS,UAACC,MAAD,EAASC,KAAT,EAAmB;AAClC,wBACEC;AAEE,MAAA,SAAS,EAAEC,UAAU,CACnB,qBADmB,EAEnB;AAAEC,QAAAA,MAAM,EAAEH,KAAK,KAAKL,SAAS,CAACS;AAA9B,OAFmB,EAGnB;AAAEC,QAAAA,cAAc,EAAEN,MAAM,KAAK;AAA7B,OAHmB,CAFvB;AAAA,gBAQGT,QAAQ,CAACS,MAAD,CAAR,CAAiBD,GAAjB,CAAqB,UAACQ,OAAD,EAAUC,SAAV,EAAwB;AAC5C,YAAID,OAAO,CAACE,YAAR,IAAwB,CAACX,uBAA7B,EAAsD;AACpD,iBAAO,IAAP;AACD;;AACD,YAAMY,qBAAqB,GAAGH,OAAO,CAACjB,QAAR,GAAmBiB,OAAO,CAACjB,QAA3B,GAAsC,KAApE;AACA,YAAMqB,WAAW,GAAGvB,OAAO,CAACuB,WAAR,IAAuB,EAA3C;AACA,YAAMC,KAAK,GAAIvB,IAAI,CAACkB,OAAO,CAACM,GAAT,CAAJ,IAAqBxB,IAAI,CAACkB,OAAO,CAACM,GAAT,CAAJ,KAAsB,CAA5C,GACVxB,IAAI,CAACkB,OAAO,CAACM,GAAT,CADM,GACUF,WAAW,CAACJ,OAAO,CAACM,GAAT,CAAX,IAA4B,IADpD;AAEA,YAAMC,aAAa,GAAGP,OAAO,CAACK,KAAR,GAAgBL,OAAO,CAACK,KAAR,CAAcA,KAAd,EAAqBvB,IAArB,EAA2BI,YAA3B,CAAhB,GAA2DmB,KAAjF;;AACA,YAAMG,OAAO,mCAAQJ,WAAR,GAAwBtB,IAAxB,CAAb;;AACA,4BACEa,IAAC,oBAAD;AAEE,UAAA,OAAO,EAAEK,OAFX;AAGE,UAAA,YAAY,EAAEO,aAHhB;AAAA,oBAKG,kBAAAE,WAAW,EAAI;AACd,gCACEd,IAACe,YAAD;AAAA,qCACEf,IAAC,WAAD;AACE,gBAAA,MAAM,EAAEK,OADV;AAEE,gBAAA,IAAI,EAAEQ,OAFR;AAGE,gBAAA,YAAY,EAAEtB,YAHhB;AAIE,gBAAA,YAAY,EAAEyB,gBAAgB,CAC5BX,OAD4B,EAE5BjB,QAF4B,EAG5ByB,OAH4B,EAI5BL,qBAJ4B,CAJhC;AAUE,gBAAA,KAAK,EAAEI;AAVT;AADF,cADF;AAgBD;AAtBH,qBACUN,SAAS,CAACW,QAAV,EADV,cACkC9B,IAAI,CAAC+B,EADvC,cAC6Cb,OAAO,CAACM,GADrD,cAC4DN,OAAO,CAACc,QADpE,EADF;AA0BD,OApCA;AARH,OACOpB,KAAK,CAACkB,QAAN,EADP,CADF;AAgDD,GAjDO,CAAR;AAkDD,CA7DD;;AA+DAhC,QAAQ,CAACmC,SAAT,GAAqB;AACnBlC,EAAAA,OAAO,EAAEmC,SAAS,CAACC,KAAV,CAAgB,EAAhB,CADU;AAEnBnC,EAAAA,IAAI,EAAEkC,SAAS,CAACC,KAAV,CAAgB,EAAhB,CAFa;AAGnBlC,EAAAA,QAAQ,EAAEiC,SAAS,CAACE,IAHD;AAInBlC,EAAAA,QAAQ,EAAEgC,SAAS,CAACC,KAAV,CAAgB,EAAhB,CAJS;AAKnBhC,EAAAA,IAAI,EAAE+B,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACI,MAA5B;AALa,CAArB;AAQA,8BAAeC,IAAI,CAACzC,QAAD,CAAnB;;;;"}
1
+ {"version":3,"file":"Settings.js","sources":["../../../../../src/components/Panels/RightPanel/Settings.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport SettingsItemRenderer from '../../Settings/SettingsItemRenderer';\nimport { onChangeFunction } from '../../../utils/functions';\nimport ErrorBoundary from '../../ErrorBoundary/ErrorBoundary';\n\nconst Settings = ({\n element = {},\n item = {},\n onChange = () => {},\n settings = {},\n tabs = [],\n}) => {\n const itemAccessor = usePropStore(state => state.itemAccessor);\n const activeTab = useBuilderStore(state => state.activeTab);\n const useExperimentalFeatures = usePropStore(state => state.useExperimentalFeatures);\n\n return (tabs.map((tabKey, index) => {\n return (\n <div\n key={index.toString()}\n className={classNames(\n 'toolItem-tabContent',\n { hidden: index !== activeTab.right },\n { hasInnerScroll: tabKey === 'MY IMAGES' },\n )}\n >\n {settings[tabKey].map((setting, itemIndex) => {\n if (setting.experimental && !useExperimentalFeatures) {\n return null;\n }\n const customUpdaterFunction = setting.onChange ? setting.onChange : false;\n const defaultItem = element.defaultItem || {};\n const value = (item[setting.key] || item[setting.key] === 0)\n ? item[setting.key] : defaultItem[setting.key] || null;\n const computedValue = setting.value ? setting.value(value, item, itemAccessor) : value;\n const newItem = { ...defaultItem, ...item };\n return (\n <SettingsItemRenderer\n key={`${itemIndex.toString()}_${item.id}_${setting.key}_${setting.uniqueId}`}\n setting={setting}\n settingValue={computedValue}\n >\n {SettingItem => {\n return (\n <ErrorBoundary\n item={newItem}\n level=\"settings\"\n >\n <SettingItem\n config={setting}\n item={newItem}\n itemAccessor={itemAccessor}\n onItemChange={onChangeFunction(\n setting,\n onChange,\n newItem,\n customUpdaterFunction,\n )}\n value={computedValue}\n />\n </ErrorBoundary>\n );\n }}\n </SettingsItemRenderer>\n );\n })}\n </div>\n );\n }));\n};\n\nSettings.propTypes = {\n element: PropTypes.shape({}),\n item: PropTypes.shape({}),\n onChange: PropTypes.func,\n settings: PropTypes.shape({}),\n tabs: PropTypes.arrayOf(PropTypes.string),\n};\n\nexport default memo(Settings);\n"],"names":["Settings","element","item","onChange","settings","tabs","itemAccessor","usePropStore","state","activeTab","useBuilderStore","useExperimentalFeatures","map","tabKey","index","_jsx","classNames","hidden","right","hasInnerScroll","setting","itemIndex","experimental","customUpdaterFunction","defaultItem","value","key","computedValue","newItem","SettingItem","onChangeFunction","toString","id","uniqueId","propTypes","PropTypes","shape","func","arrayOf","string","memo"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import 'core-js/modules/es.number.constructor.js';
2
2
  import 'core-js/modules/es.number.is-nan.js';
3
- import { memo, useMemo, useRef, useState, useCallback, useEffect } from 'react';
3
+ import { memo, useRef, useState, useMemo, useCallback, useEffect } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import PageAdder from '../../Builder/PageAdder.js';
6
6
  import { scrollToTarget, getScaleForPageThumbnail } from '../../../utils/functions.js';
@@ -27,12 +27,9 @@ var ListWrapper = function ListWrapper(_ref) {
27
27
  onSortEnd = _ref$onSortEnd === void 0 ? function () {} : _ref$onSortEnd,
28
28
  _ref$pageGetter = _ref.pageGetter,
29
29
  pageGetter = _ref$pageGetter === void 0 ? function () {} : _ref$pageGetter;
30
- var pages = usePropStore(function (state) {
31
- return state.pages;
30
+ var pageCount = usePropStore(function (state) {
31
+ return state.pages.length;
32
32
  });
33
- var pageCount = useMemo(function () {
34
- return pages.length;
35
- }, [pages]);
36
33
  var onPageAdd = usePropStore(function (state) {
37
34
  return state.onPageAdd;
38
35
  });
@@ -45,6 +42,9 @@ var ListWrapper = function ListWrapper(_ref) {
45
42
  var reportSettings = usePropStore(function (state) {
46
43
  return state.settings;
47
44
  });
45
+ var onPageVisibilityChanged = usePropStore(function (state) {
46
+ return state.onPageVisibilityChanged;
47
+ });
48
48
  var listRef = useRef(null);
49
49
 
50
50
  var _useState = useState(-1),
@@ -94,7 +94,7 @@ var ListWrapper = function ListWrapper(_ref) {
94
94
  listRef.current = outerRef;
95
95
  }
96
96
  }, []);
97
- usePageVisibility(function (index) {
97
+ var handlePageVisibility = useCallback(function (index) {
98
98
  if (index && !Number.isNaN(index)) {
99
99
  var _listRef$current;
100
100
 
@@ -112,9 +112,11 @@ var ListWrapper = function ListWrapper(_ref) {
112
112
 
113
113
  if (nextSelectedThumbnail) {
114
114
  nextSelectedThumbnail.classList.add('isSelected');
115
+ onPageVisibilityChanged(index);
115
116
  }
116
117
  }
117
- }, pageCount, selectedPageIndex); // TODO: could be better than now. scrollend listener is a choice for some cases
118
+ }, [onPageVisibilityChanged]);
119
+ usePageVisibility(handlePageVisibility, pageCount, selectedPageIndex); // TODO: could be better than now. scrollend listener is a choice for some cases
118
120
 
119
121
  var resetSelectedPageIndex = useCallback(function () {
120
122
  setTimeout(function () {