@jotforminc/dnd-builder 3.3.0 → 3.4.1
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.
- package/CHANGELOG.md +34 -1
- package/lib/cjs/assets/svg/exclamation.svg.js +22 -0
- package/lib/cjs/assets/svg/exclamation.svg.js.map +1 -0
- package/lib/cjs/components/Builder/BuilderWrapper.js +5 -2
- package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/cjs/components/Builder/Element.js +6 -3
- package/lib/cjs/components/Builder/Element.js.map +1 -1
- package/lib/cjs/components/Builder/Page.js +3 -1
- package/lib/cjs/components/Builder/Page.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItem.js +30 -19
- package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
- package/lib/cjs/components/ErrorBoundary/ErrorBoundary.js +92 -0
- package/lib/cjs/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
- package/lib/cjs/components/ErrorBoundary/ErrorDetails.js +81 -0
- package/lib/cjs/components/ErrorBoundary/ErrorDetails.js.map +1 -0
- package/lib/cjs/components/ErrorBoundary/ErrorFallbackWrapper.js +122 -0
- package/lib/cjs/components/ErrorBoundary/ErrorFallbackWrapper.js.map +1 -0
- package/lib/cjs/components/Panels/RightPanel/Settings.js +3 -1
- package/lib/cjs/components/Panels/RightPanel/Settings.js.map +1 -1
- package/lib/cjs/components/Preview/StaticItem.js +10 -7
- package/lib/cjs/components/Preview/StaticItem.js.map +1 -1
- package/lib/cjs/components/Preview/StaticPage.js +26 -21
- package/lib/cjs/components/Preview/StaticPage.js.map +1 -1
- package/lib/cjs/components/TextEditor/QuillEditor.js +10 -8
- package/lib/cjs/components/TextEditor/QuillEditor.js.map +1 -1
- package/lib/cjs/components/TextEditor/TextEditor.js +15 -6
- package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
- package/lib/cjs/constants/texts.js +6 -0
- package/lib/cjs/constants/texts.js.map +1 -1
- package/lib/cjs/contexts/BuilderContext.js +3 -0
- package/lib/cjs/contexts/BuilderContext.js.map +1 -1
- package/lib/cjs/contexts/Providers.js +6 -1
- package/lib/cjs/contexts/Providers.js.map +1 -1
- package/lib/cjs/styles/_jfReportsMain.scss +157 -0
- package/lib/cjs/styles/_jfReportsPanels.scss +0 -1
- package/lib/cjs/utils/hooks.js +26 -0
- package/lib/cjs/utils/hooks.js.map +1 -1
- package/lib/cjs/utils/icons.js +2 -0
- package/lib/cjs/utils/icons.js.map +1 -1
- package/lib/esm/assets/svg/exclamation.svg.js +20 -0
- package/lib/esm/assets/svg/exclamation.svg.js.map +1 -0
- package/lib/esm/components/Builder/BuilderWrapper.js +5 -2
- package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/esm/components/Builder/Element.js +6 -3
- package/lib/esm/components/Builder/Element.js.map +1 -1
- package/lib/esm/components/Builder/Page.js +4 -2
- package/lib/esm/components/Builder/Page.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItem.js +31 -20
- package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/ErrorBoundary.js +86 -0
- package/lib/esm/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
- package/lib/esm/components/ErrorBoundary/ErrorDetails.js +75 -0
- package/lib/esm/components/ErrorBoundary/ErrorDetails.js.map +1 -0
- package/lib/esm/components/ErrorBoundary/ErrorFallbackWrapper.js +116 -0
- package/lib/esm/components/ErrorBoundary/ErrorFallbackWrapper.js.map +1 -0
- package/lib/esm/components/Panels/RightPanel/Settings.js +4 -2
- package/lib/esm/components/Panels/RightPanel/Settings.js.map +1 -1
- package/lib/esm/components/Preview/StaticItem.js +10 -7
- package/lib/esm/components/Preview/StaticItem.js.map +1 -1
- package/lib/esm/components/Preview/StaticPage.js +26 -21
- package/lib/esm/components/Preview/StaticPage.js.map +1 -1
- package/lib/esm/components/TextEditor/QuillEditor.js +10 -8
- package/lib/esm/components/TextEditor/QuillEditor.js.map +1 -1
- package/lib/esm/components/TextEditor/TextEditor.js +16 -7
- package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
- package/lib/esm/constants/texts.js +6 -0
- package/lib/esm/constants/texts.js.map +1 -1
- package/lib/esm/contexts/BuilderContext.js +3 -0
- package/lib/esm/contexts/BuilderContext.js.map +1 -1
- package/lib/esm/contexts/Providers.js +6 -1
- package/lib/esm/contexts/Providers.js.map +1 -1
- package/lib/esm/styles/_jfReportsMain.scss +157 -0
- package/lib/esm/styles/_jfReportsPanels.scss +0 -1
- package/lib/esm/utils/hooks.js +27 -2
- package/lib/esm/utils/hooks.js.map +1 -1
- package/lib/esm/utils/icons.js +1 -0
- package/lib/esm/utils/icons.js.map +1 -1
- package/package.json +4 -3
- package/lib/cjs/components/ErrorBoundary.js +0 -101
- package/lib/cjs/components/ErrorBoundary.js.map +0 -1
- package/lib/esm/components/ErrorBoundary.js +0 -95
- package/lib/esm/components/ErrorBoundary.js.map +0 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('core-js/modules/es.object.to-string.js');
|
|
4
|
+
require('core-js/modules/es.regexp.to-string.js');
|
|
5
|
+
var PropTypes = require('prop-types');
|
|
6
|
+
var close = require('../../assets/svg/close.svg.js');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
|
|
9
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
+
|
|
11
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
12
|
+
|
|
13
|
+
var ErrorDetails = function ErrorDetails(_ref) {
|
|
14
|
+
var _ref$error = _ref.error,
|
|
15
|
+
error = _ref$error === void 0 ? null : _ref$error,
|
|
16
|
+
_ref$errorInfo = _ref.errorInfo,
|
|
17
|
+
errorInfo = _ref$errorInfo === void 0 ? null : _ref$errorInfo,
|
|
18
|
+
_ref$handleCloseDetai = _ref.handleCloseDetails,
|
|
19
|
+
handleCloseDetails = _ref$handleCloseDetai === void 0 ? function () {} : _ref$handleCloseDetai;
|
|
20
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
21
|
+
className: "errorBoundary-details-overlay",
|
|
22
|
+
onClick: handleCloseDetails,
|
|
23
|
+
role: "presentation",
|
|
24
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
25
|
+
className: "errorBoundary-details-wrapper",
|
|
26
|
+
onClick: function onClick(e) {
|
|
27
|
+
return e.stopPropagation();
|
|
28
|
+
},
|
|
29
|
+
role: "presentation",
|
|
30
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
31
|
+
className: "errorBoundary-details-header",
|
|
32
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
33
|
+
style: {
|
|
34
|
+
marginRight: '24px',
|
|
35
|
+
minWidth: '0'
|
|
36
|
+
},
|
|
37
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("h2", {
|
|
38
|
+
children: "Error Details"
|
|
39
|
+
}), /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
40
|
+
style: {
|
|
41
|
+
color: '#6C73A8',
|
|
42
|
+
fontSize: '14px',
|
|
43
|
+
lineHeight: '20px',
|
|
44
|
+
marginTop: '8px',
|
|
45
|
+
whiteSpace: 'pre-wrap'
|
|
46
|
+
},
|
|
47
|
+
children: error && error.toString()
|
|
48
|
+
})]
|
|
49
|
+
}), /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
50
|
+
"aria-label": "Close Button",
|
|
51
|
+
className: "errorBoundary-details-close-button",
|
|
52
|
+
onClick: handleCloseDetails,
|
|
53
|
+
type: "button",
|
|
54
|
+
children: /*#__PURE__*/jsxRuntime.jsx(close, {
|
|
55
|
+
style: {
|
|
56
|
+
height: '24px',
|
|
57
|
+
width: '24px'
|
|
58
|
+
}
|
|
59
|
+
})
|
|
60
|
+
})]
|
|
61
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
62
|
+
className: "errorBoundary-details-content",
|
|
63
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
64
|
+
className: "errorBoundary-details-content-inner",
|
|
65
|
+
children: [error && error.toString(), errorInfo && (errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.componentStack)]
|
|
66
|
+
})
|
|
67
|
+
})]
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
ErrorDetails.propTypes = {
|
|
73
|
+
error: PropTypes__default['default'].instanceOf(Error),
|
|
74
|
+
errorInfo: PropTypes__default['default'].shape({
|
|
75
|
+
componentStack: PropTypes__default['default'].string
|
|
76
|
+
}),
|
|
77
|
+
handleCloseDetails: PropTypes__default['default'].func
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
module.exports = ErrorDetails;
|
|
81
|
+
//# 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,eAACY,KAAD;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,6BAAS,CAACC,UAAV,CAAqBC,KAArB,CADgB;AAEvBrB,EAAAA,SAAS,EAAEmB,6BAAS,CAACG,KAAV,CAAgB;AACzBL,IAAAA,cAAc,EAAEE,6BAAS,CAACI;AADD,GAAhB,CAFY;AAKvBtB,EAAAA,kBAAkB,EAAEkB,6BAAS,CAACK;AALP,CAAzB;;;;"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('core-js/modules/es.symbol.js');
|
|
4
|
+
require('core-js/modules/es.symbol.description.js');
|
|
5
|
+
var PropTypes = require('prop-types');
|
|
6
|
+
var reactDom = require('react-dom');
|
|
7
|
+
var React = require('react');
|
|
8
|
+
var ErrorDetails = require('./ErrorDetails.js');
|
|
9
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
var exclamation = require('../../assets/svg/exclamation.svg.js');
|
|
11
|
+
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
+
|
|
14
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
15
|
+
|
|
16
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
|
+
|
|
18
|
+
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."); }
|
|
19
|
+
|
|
20
|
+
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); }
|
|
21
|
+
|
|
22
|
+
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; }
|
|
23
|
+
|
|
24
|
+
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; }
|
|
25
|
+
|
|
26
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
27
|
+
|
|
28
|
+
var ErrorFallbackWrapper = function ErrorFallbackWrapper(_ref) {
|
|
29
|
+
var _ref$error = _ref.error,
|
|
30
|
+
error = _ref$error === void 0 ? null : _ref$error,
|
|
31
|
+
_ref$errorInfo = _ref.errorInfo,
|
|
32
|
+
errorInfo = _ref$errorInfo === void 0 ? null : _ref$errorInfo,
|
|
33
|
+
_ref$isStatic = _ref.isStatic,
|
|
34
|
+
isStatic = _ref$isStatic === void 0 ? false : _ref$isStatic,
|
|
35
|
+
_ref$item = _ref.item,
|
|
36
|
+
item = _ref$item === void 0 ? null : _ref$item,
|
|
37
|
+
_ref$level = _ref.level,
|
|
38
|
+
level = _ref$level === void 0 ? 'page' : _ref$level,
|
|
39
|
+
_ref$textConfig = _ref.textConfig,
|
|
40
|
+
textConfig = _ref$textConfig === void 0 ? {
|
|
41
|
+
item: {
|
|
42
|
+
description: '',
|
|
43
|
+
title: ''
|
|
44
|
+
},
|
|
45
|
+
page: {
|
|
46
|
+
description: '',
|
|
47
|
+
title: ''
|
|
48
|
+
}
|
|
49
|
+
} : _ref$textConfig;
|
|
50
|
+
|
|
51
|
+
var _ref2 = textConfig[level] || textConfig.page || {},
|
|
52
|
+
_ref2$description = _ref2.description,
|
|
53
|
+
description = _ref2$description === void 0 ? '' : _ref2$description,
|
|
54
|
+
_ref2$title = _ref2.title,
|
|
55
|
+
title = _ref2$title === void 0 ? '' : _ref2$title;
|
|
56
|
+
|
|
57
|
+
var _useState = React.useState(false),
|
|
58
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
59
|
+
isDetailsOpen = _useState2[0],
|
|
60
|
+
setIsDetailsOpen = _useState2[1];
|
|
61
|
+
|
|
62
|
+
var handleOpenDetails = function handleOpenDetails() {
|
|
63
|
+
setIsDetailsOpen(true);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
var handleCloseDetails = function handleCloseDetails() {
|
|
67
|
+
setIsDetailsOpen(false);
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
71
|
+
className: "errorBoundary-wrapper",
|
|
72
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(exclamation, {
|
|
73
|
+
className: isStatic ? 'errorBoundary-icon-static' : 'errorBoundary-icon'
|
|
74
|
+
}), /*#__PURE__*/jsxRuntime.jsx("strong", {
|
|
75
|
+
style: {
|
|
76
|
+
fontSize: !isStatic ? '20px' : '12px'
|
|
77
|
+
},
|
|
78
|
+
children: title
|
|
79
|
+
}), !isStatic && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
80
|
+
children: [item && /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
81
|
+
children: ["Item:", ' ', item.itemType || 'unknown', ' ', item.id ? "(".concat(item.id, ")") : '']
|
|
82
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
83
|
+
children: description
|
|
84
|
+
}), /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
85
|
+
className: "errorBoundary-view-details-button",
|
|
86
|
+
onClick: handleOpenDetails,
|
|
87
|
+
type: "button",
|
|
88
|
+
children: "View"
|
|
89
|
+
}), isDetailsOpen && /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/jsxRuntime.jsx(ErrorDetails, {
|
|
90
|
+
error: error,
|
|
91
|
+
errorInfo: errorInfo,
|
|
92
|
+
handleCloseDetails: handleCloseDetails
|
|
93
|
+
}), document.body)]
|
|
94
|
+
})]
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
ErrorFallbackWrapper.propTypes = {
|
|
99
|
+
error: PropTypes__default['default'].instanceOf(Error),
|
|
100
|
+
errorInfo: PropTypes__default['default'].shape({
|
|
101
|
+
componentStack: PropTypes__default['default'].string
|
|
102
|
+
}),
|
|
103
|
+
isStatic: PropTypes__default['default'].bool,
|
|
104
|
+
item: PropTypes__default['default'].shape({
|
|
105
|
+
id: PropTypes__default['default'].string,
|
|
106
|
+
itemType: PropTypes__default['default'].string
|
|
107
|
+
}),
|
|
108
|
+
level: PropTypes__default['default'].oneOf(['item', 'page']),
|
|
109
|
+
textConfig: PropTypes__default['default'].shape({
|
|
110
|
+
item: PropTypes__default['default'].shape({
|
|
111
|
+
description: PropTypes__default['default'].string,
|
|
112
|
+
title: PropTypes__default['default'].string
|
|
113
|
+
}),
|
|
114
|
+
page: PropTypes__default['default'].shape({
|
|
115
|
+
description: PropTypes__default['default'].string,
|
|
116
|
+
title: PropTypes__default['default'].string
|
|
117
|
+
})
|
|
118
|
+
})
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
module.exports = ErrorFallbackWrapper;
|
|
122
|
+
//# 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 item: {\n description: '',\n title: '',\n },\n page: {\n description: '',\n title: '',\n },\n },\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\nexport default ErrorFallbackWrapper;\n"],"names":["ErrorFallbackWrapper","error","errorInfo","isStatic","item","level","textConfig","description","title","page","useState","isDetailsOpen","setIsDetailsOpen","handleOpenDetails","handleCloseDetails","_jsxs","_jsx","ExclamationIcon","fontSize","itemType","id","createPortal","document","body","propTypes","PropTypes","instanceOf","Error","shape","componentStack","string","bool","oneOf"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ var BuilderContext = require('../../../contexts/BuilderContext.js');
|
|
|
11
11
|
var PropContext = require('../../../contexts/PropContext.js');
|
|
12
12
|
var SettingsItemRenderer = require('../../Settings/SettingsItemRenderer.js');
|
|
13
13
|
var functions = require('../../../utils/functions.js');
|
|
14
|
-
var ErrorBoundary = require('../../ErrorBoundary.js');
|
|
14
|
+
var ErrorBoundary = require('../../ErrorBoundary/ErrorBoundary.js');
|
|
15
15
|
var jsxRuntime = require('react/jsx-runtime');
|
|
16
16
|
|
|
17
17
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -69,6 +69,8 @@ var Settings = function Settings(_ref) {
|
|
|
69
69
|
settingValue: computedValue,
|
|
70
70
|
children: function children(SettingItem) {
|
|
71
71
|
return /*#__PURE__*/jsxRuntime.jsx(ErrorBoundary, {
|
|
72
|
+
item: newItem,
|
|
73
|
+
level: "settings",
|
|
72
74
|
children: /*#__PURE__*/jsxRuntime.jsx(SettingItem, {
|
|
73
75
|
config: setting,
|
|
74
76
|
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","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,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,YAAV;AAAA,GAAN,CAAjC;AACA,MAAMG,SAAS,GAAGC,8BAAe,CAAC,UAAAF,KAAK;AAAA,WAAIA,KAAK,CAACC,SAAV;AAAA,GAAN,CAAjC;AACA,MAAME,uBAAuB,GAAGJ,wBAAY,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,8BAAU,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,eAAC,oBAAD;AAEE,UAAA,OAAO,EAAEK,OAFX;AAGE,UAAA,YAAY,EAAEO,aAHhB;AAAA,oBAKG,kBAAAE,WAAW,EAAI;AACd,gCACEd,eAAC,aAAD;AAAA,
|
|
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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"}
|
|
@@ -6,7 +6,7 @@ var classNames$1 = require('classnames');
|
|
|
6
6
|
var classNames = require('../../constants/classNames.js');
|
|
7
7
|
var functions = require('../../utils/functions.js');
|
|
8
8
|
var ItemPositioner = require('../ItemPositioner.js');
|
|
9
|
-
var ErrorBoundary = require('../ErrorBoundary.js');
|
|
9
|
+
var ErrorBoundary = require('../ErrorBoundary/ErrorBoundary.js');
|
|
10
10
|
var jsxRuntime = require('react/jsx-runtime');
|
|
11
11
|
|
|
12
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -33,12 +33,15 @@ var StaticItem = function StaticItem(_ref) {
|
|
|
33
33
|
left = item.left,
|
|
34
34
|
top = item.top,
|
|
35
35
|
width = item.width;
|
|
36
|
-
return /*#__PURE__*/jsxRuntime.jsx(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
return /*#__PURE__*/jsxRuntime.jsx(ItemPositioner, {
|
|
37
|
+
style: _objectSpread(_objectSpread({}, functions.getStyles(left, top, false)), {}, {
|
|
38
|
+
height: height,
|
|
39
|
+
width: width
|
|
40
|
+
}),
|
|
41
|
+
children: /*#__PURE__*/jsxRuntime.jsx(ErrorBoundary, {
|
|
42
|
+
isStatic: true,
|
|
43
|
+
item: item,
|
|
44
|
+
level: "item",
|
|
42
45
|
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
43
46
|
className: classNames.reportItemWrapper,
|
|
44
47
|
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticItem.js","sources":["../../../../src/components/Preview/StaticItem.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport * as classNames from '../../constants/classNames';\nimport { getStyles } from '../../utils/functions';\nimport ItemPositioner from '../ItemPositioner';\nimport ErrorBoundary from '../ErrorBoundary';\n\nconst elementStyle = {\n height: '100%',\n width: '100%',\n};\n\nconst StaticItem = ({\n children = null,\n item = {},\n}) => {\n const {\n height,\n left,\n top,\n width,\n } = item;\n return (\n <
|
|
1
|
+
{"version":3,"file":"StaticItem.js","sources":["../../../../src/components/Preview/StaticItem.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport * as classNames from '../../constants/classNames';\nimport { getStyles } from '../../utils/functions';\nimport ItemPositioner from '../ItemPositioner';\nimport ErrorBoundary from '../ErrorBoundary/ErrorBoundary';\n\nconst elementStyle = {\n height: '100%',\n width: '100%',\n};\n\nconst StaticItem = ({\n children = null,\n item = {},\n}) => {\n const {\n height,\n left,\n top,\n width,\n } = item;\n return (\n <ItemPositioner\n style={{\n ...getStyles(left, top, false),\n height,\n width,\n }}\n >\n <ErrorBoundary\n isStatic={true}\n item={item}\n level=\"item\"\n >\n <div\n className={classNames.reportItemWrapper}\n >\n <div\n className={cn(\n `${classNames.reportItem}`,\n { hasChart: item.itemType === 'chart' },\n )}\n style={elementStyle}\n >\n {children}\n </div>\n </div>\n </ErrorBoundary>\n </ItemPositioner>\n );\n};\n\nStaticItem.propTypes = {\n children: PropTypes.any,\n item: PropTypes.shape({\n height: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n id: PropTypes.string,\n itemType: PropTypes.string,\n left: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n pageID: PropTypes.string,\n top: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n width: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n};\n\nexport default memo(StaticItem);\n"],"names":["elementStyle","height","width","StaticItem","children","item","left","top","_jsx","getStyles","classNames","cn","hasChart","itemType","propTypes","PropTypes","any","shape","oneOfType","number","string","id","pageID","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,YAAY,GAAG;AACnBC,EAAAA,MAAM,EAAE,MADW;AAEnBC,EAAAA,KAAK,EAAE;AAFY,CAArB;;AAKA,IAAMC,UAAU,GAAG,SAAbA,UAAa,OAGb;AAAA,2BAFJC,QAEI;AAAA,MAFJA,QAEI,8BAFO,IAEP;AAAA,uBADJC,IACI;AAAA,MADJA,IACI,0BADG,EACH;AACJ,MACEJ,MADF,GAKII,IALJ,CACEJ,MADF;AAAA,MAEEK,IAFF,GAKID,IALJ,CAEEC,IAFF;AAAA,MAGEC,GAHF,GAKIF,IALJ,CAGEE,GAHF;AAAA,MAIEL,KAJF,GAKIG,IALJ,CAIEH,KAJF;AAMA,sBACEM,eAAC,cAAD;AACE,IAAA,KAAK,kCACAC,mBAAS,CAACH,IAAD,EAAOC,GAAP,EAAY,KAAZ,CADT;AAEHN,MAAAA,MAAM,EAANA,MAFG;AAGHC,MAAAA,KAAK,EAALA;AAHG,MADP;AAAA,2BAOEM,eAAC,aAAD;AACE,MAAA,QAAQ,EAAE,IADZ;AAEE,MAAA,IAAI,EAAEH,IAFR;AAGE,MAAA,KAAK,EAAC,MAHR;AAAA,6BAKEG;AACE,QAAA,SAAS,EAAEE,4BADb;AAAA,+BAGEF;AACE,UAAA,SAAS,EAAEG,8BAAE,WACRD,qBADQ,GAEX;AAAEE,YAAAA,QAAQ,EAAEP,IAAI,CAACQ,QAAL,KAAkB;AAA9B,WAFW,CADf;AAKE,UAAA,KAAK,EAAEb,YALT;AAAA,oBAOGI;AAPH;AAHF;AALF;AAPF,IADF;AA6BD,CAvCD;;AAyCAD,UAAU,CAACW,SAAX,GAAuB;AACrBV,EAAAA,QAAQ,EAAEW,6BAAS,CAACC,GADC;AAErBX,EAAAA,IAAI,EAAEU,6BAAS,CAACE,KAAV,CAAgB;AACpBhB,IAAAA,MAAM,EAAEc,6BAAS,CAACG,SAAV,CAAoB,CAC1BH,6BAAS,CAACI,MADgB,EAE1BJ,6BAAS,CAACK,MAFgB,CAApB,CADY;AAKpBC,IAAAA,EAAE,EAAEN,6BAAS,CAACK,MALM;AAMpBP,IAAAA,QAAQ,EAAEE,6BAAS,CAACK,MANA;AAOpBd,IAAAA,IAAI,EAAES,6BAAS,CAACG,SAAV,CAAoB,CACxBH,6BAAS,CAACI,MADc,EAExBJ,6BAAS,CAACK,MAFc,CAApB,CAPc;AAWpBE,IAAAA,MAAM,EAAEP,6BAAS,CAACK,MAXE;AAYpBb,IAAAA,GAAG,EAAEQ,6BAAS,CAACG,SAAV,CAAoB,CACvBH,6BAAS,CAACI,MADa,EAEvBJ,6BAAS,CAACK,MAFa,CAApB,CAZe;AAgBpBlB,IAAAA,KAAK,EAAEa,6BAAS,CAACG,SAAV,CAAoB,CACzBH,6BAAS,CAACI,MADe,EAEzBJ,6BAAS,CAACK,MAFe,CAApB;AAhBa,GAAhB;AAFe,CAAvB;AAyBA,gCAAeG,UAAI,CAACpB,UAAD,CAAnB;;;;"}
|
|
@@ -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(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
children: /*#__PURE__*/jsxRuntime.
|
|
37
|
-
className:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
item:
|
|
43
|
-
|
|
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:
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
|
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;;;;;"}
|
|
@@ -58,12 +58,10 @@ var QuillEditor = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
58
58
|
|
|
59
59
|
_this = _super.call(this, props);
|
|
60
60
|
|
|
61
|
-
_defineProperty(_assertThisInitialized(_this), "
|
|
61
|
+
_defineProperty(_assertThisInitialized(_this), "save", function () {
|
|
62
62
|
var _this$props = _this.props,
|
|
63
63
|
content = _this$props.content,
|
|
64
|
-
handleSave = _this$props.handleSave
|
|
65
|
-
setIsTextEditorOpen = _this$props.setIsTextEditorOpen;
|
|
66
|
-
setIsTextEditorOpen(false);
|
|
64
|
+
handleSave = _this$props.handleSave;
|
|
67
65
|
handleSave(content);
|
|
68
66
|
});
|
|
69
67
|
|
|
@@ -71,7 +69,11 @@ var QuillEditor = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
71
69
|
e.stopPropagation();
|
|
72
70
|
|
|
73
71
|
if (e.keyCode === 27) {
|
|
74
|
-
_this.
|
|
72
|
+
var onClose = _this.props.onClose;
|
|
73
|
+
|
|
74
|
+
_this.save();
|
|
75
|
+
|
|
76
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
75
77
|
}
|
|
76
78
|
});
|
|
77
79
|
|
|
@@ -98,7 +100,7 @@ var QuillEditor = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
98
100
|
}, {
|
|
99
101
|
key: "componentWillUnmount",
|
|
100
102
|
value: function componentWillUnmount() {
|
|
101
|
-
this.
|
|
103
|
+
this.save();
|
|
102
104
|
}
|
|
103
105
|
}, {
|
|
104
106
|
key: "render",
|
|
@@ -130,9 +132,9 @@ QuillEditor.formats = textEditorConstants.formats;
|
|
|
130
132
|
QuillEditor.propTypes = {
|
|
131
133
|
content: PropTypes__default['default'].string,
|
|
132
134
|
handleSave: PropTypes__default['default'].func,
|
|
135
|
+
onClose: PropTypes__default['default'].func,
|
|
133
136
|
placeholder: PropTypes__default['default'].string.isRequired,
|
|
134
|
-
setContent: PropTypes__default['default'].func
|
|
135
|
-
setIsTextEditorOpen: PropTypes__default['default'].func
|
|
137
|
+
setContent: PropTypes__default['default'].func
|
|
136
138
|
};
|
|
137
139
|
|
|
138
140
|
module.exports = QuillEditor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuillEditor.js","sources":["../../../../src/components/TextEditor/QuillEditor.js"],"sourcesContent":["import React from 'react';\nimport ReactQuill from 'react-quill';\nimport domPurify from 'dompurify';\nimport PropTypes from 'prop-types';\nimport { formats, modules } from './textEditorConstants';\nimport { fontSizes } from '../../constants/fonts';\nimport 'react-quill/dist/quill.snow.css';\n\nconst Size = ReactQuill.Quill.import('attributors/style/size');\nSize.whitelist = fontSizes.map(s => `${s}px`);\nReactQuill.Quill.register(Size, true);\n\nclass QuillEditor extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.quill = React.createRef();\n }\n\n componentDidMount() {\n if (this.quill.current !== null) {\n const { content } = this.props;\n const editor = this.quill.current.getEditor();\n editor.setSelection(0, content.length);\n }\n }\n\n componentWillUnmount() {\n this.
|
|
1
|
+
{"version":3,"file":"QuillEditor.js","sources":["../../../../src/components/TextEditor/QuillEditor.js"],"sourcesContent":["import React from 'react';\nimport ReactQuill from 'react-quill';\nimport domPurify from 'dompurify';\nimport PropTypes from 'prop-types';\nimport { formats, modules } from './textEditorConstants';\nimport { fontSizes } from '../../constants/fonts';\nimport 'react-quill/dist/quill.snow.css';\n\nconst Size = ReactQuill.Quill.import('attributors/style/size');\nSize.whitelist = fontSizes.map(s => `${s}px`);\nReactQuill.Quill.register(Size, true);\n\nclass QuillEditor extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.quill = React.createRef();\n }\n\n componentDidMount() {\n if (this.quill.current !== null) {\n const { content } = this.props;\n const editor = this.quill.current.getEditor();\n editor.setSelection(0, content.length);\n }\n }\n\n componentWillUnmount() {\n this.save();\n }\n\n save = () => {\n const { content, handleSave } = this.props;\n handleSave(content);\n }\n\n handleKeyDown = e => {\n e.stopPropagation();\n if (e.keyCode === 27) {\n const { onClose } = this.props;\n this.save();\n onClose?.();\n }\n }\n\n handleSetContent = (value, delta, source) => {\n if (source === 'user') {\n const { setContent } = this.props;\n setContent(domPurify.sanitize(value));\n }\n }\n\n render() {\n const { content, placeholder } = this.props;\n\n return (\n <div\n className=\"f-all\"\n onKeyDown={this.handleKeyDown}\n >\n <ReactQuill\n ref={this.quill}\n formats={QuillEditor.formats}\n modules={QuillEditor.modules}\n onChange={this.handleSetContent}\n placeholder={placeholder}\n preserveWhitespace\n value={content}\n />\n </div>\n );\n }\n}\n\nQuillEditor.modules = modules;\nQuillEditor.formats = formats;\n\nQuillEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n onClose: PropTypes.func,\n placeholder: PropTypes.string.isRequired,\n setContent: PropTypes.func,\n};\n\nexport default QuillEditor;\n"],"names":["Size","ReactQuill","Quill","import","whitelist","fontSizes","map","s","register","QuillEditor","props","content","handleSave","e","stopPropagation","keyCode","onClose","save","value","delta","source","setContent","domPurify","sanitize","quill","React","createRef","current","editor","getEditor","setSelection","length","placeholder","_jsx","handleKeyDown","formats","modules","handleSetContent","PureComponent","propTypes","PropTypes","string","func","isRequired"],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ var PropTypes = require('prop-types');
|
|
|
5
5
|
var domPurify = require('dompurify');
|
|
6
6
|
var QuillEditor = require('./QuillEditor.js');
|
|
7
7
|
var BuilderContext = require('../../contexts/BuilderContext.js');
|
|
8
|
+
var hooks = require('../../utils/hooks.js');
|
|
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 }; }
|
|
@@ -35,10 +36,10 @@ var TextEditor = function TextEditor(_ref) {
|
|
|
35
36
|
isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
|
|
36
37
|
placeholder = _ref.placeholder;
|
|
37
38
|
|
|
38
|
-
var
|
|
39
|
-
|
|
40
|
-
_content =
|
|
41
|
-
setContent =
|
|
39
|
+
var _usePropState = hooks.usePropState(content, domPurify__default['default'].sanitize),
|
|
40
|
+
_usePropState2 = _slicedToArray(_usePropState, 2),
|
|
41
|
+
_content = _usePropState2[0],
|
|
42
|
+
setContent = _usePropState2[1];
|
|
42
43
|
|
|
43
44
|
var isTextEditorOpen = BuilderContext.useBuilderStore(function (state) {
|
|
44
45
|
return state.isTextEditorOpen;
|
|
@@ -46,11 +47,19 @@ var TextEditor = function TextEditor(_ref) {
|
|
|
46
47
|
var setIsTextEditorOpen = BuilderContext.useBuilderStore(function (state) {
|
|
47
48
|
return state.setIsTextEditorOpen;
|
|
48
49
|
});
|
|
50
|
+
React.useEffect(function () {
|
|
51
|
+
if (isTextEditorOpen && !isSelected) {
|
|
52
|
+
setIsTextEditorOpen(false);
|
|
53
|
+
}
|
|
54
|
+
}, [isSelected, isTextEditorOpen, setIsTextEditorOpen]);
|
|
49
55
|
var onClick = React.useCallback(function () {
|
|
50
56
|
if (isSelected && !isLocked) {
|
|
51
57
|
setIsTextEditorOpen(true);
|
|
52
58
|
}
|
|
53
59
|
}, [isSelected, isLocked, setIsTextEditorOpen]);
|
|
60
|
+
var onClose = React.useCallback(function () {
|
|
61
|
+
setIsTextEditorOpen(false);
|
|
62
|
+
}, [setIsTextEditorOpen]);
|
|
54
63
|
var isNotEmpty = React.useMemo(function () {
|
|
55
64
|
var el = document.createElement('div');
|
|
56
65
|
el.innerHTML = _content;
|
|
@@ -59,9 +68,9 @@ var TextEditor = function TextEditor(_ref) {
|
|
|
59
68
|
return isSelected && isTextEditorOpen ? /*#__PURE__*/jsxRuntime.jsx(QuillEditor, {
|
|
60
69
|
content: _content,
|
|
61
70
|
handleSave: handleSave,
|
|
71
|
+
onClose: onClose,
|
|
62
72
|
placeholder: placeholder,
|
|
63
|
-
setContent: setContent
|
|
64
|
-
setIsTextEditorOpen: setIsTextEditorOpen
|
|
73
|
+
setContent: setContent
|
|
65
74
|
}) : /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
66
75
|
className: "f-all ql-editor".concat(isNotEmpty ? '' : ' isEmptyTextElement'),
|
|
67
76
|
dangerouslySetInnerHTML: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextEditor.js","sources":["../../../../src/components/TextEditor/TextEditor.js"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"TextEditor.js","sources":["../../../../src/components/TextEditor/TextEditor.js"],"sourcesContent":["import {\n useCallback,\n useMemo,\n useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport QuillEditor from './QuillEditor';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropState } from '../../utils/hooks';\n\nconst TextEditor = ({\n content = '',\n handleSave = () => {},\n isLocked = false,\n isSelected = false,\n placeholder,\n}) => {\n const [_content, setContent] = usePropState(content, domPurify.sanitize);\n\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n const setIsTextEditorOpen = useBuilderStore(state => state.setIsTextEditorOpen);\n\n useEffect(() => {\n if (isTextEditorOpen && !isSelected) {\n setIsTextEditorOpen(false);\n }\n }, [isSelected, isTextEditorOpen, setIsTextEditorOpen]);\n\n const onClick = useCallback(() => {\n if (isSelected && !isLocked) {\n setIsTextEditorOpen(true);\n }\n }, [isSelected, isLocked, setIsTextEditorOpen]);\n\n const onClose = useCallback(() => {\n setIsTextEditorOpen(false);\n }, [setIsTextEditorOpen]);\n\n const isNotEmpty = useMemo(() => {\n const el = document.createElement('div');\n el.innerHTML = _content;\n return !!el.innerText;\n }, [_content]);\n\n return isSelected && isTextEditorOpen ? (\n <QuillEditor\n content={_content}\n handleSave={handleSave}\n onClose={onClose}\n placeholder={placeholder}\n setContent={setContent}\n />\n ) : (\n <div\n className={`f-all ql-editor${isNotEmpty ? '' : ' isEmptyTextElement'}`}\n dangerouslySetInnerHTML={{\n __html: isNotEmpty ? _content : placeholder,\n }}\n onClick={onClick}\n onKeyDown={() => {}}\n />\n );\n};\n\nTextEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n isLocked: PropTypes.bool,\n isSelected: PropTypes.bool,\n placeholder: PropTypes.string.isRequired,\n};\n\nexport default TextEditor;\n"],"names":["TextEditor","content","handleSave","isLocked","isSelected","placeholder","usePropState","domPurify","sanitize","_content","setContent","isTextEditorOpen","useBuilderStore","state","setIsTextEditorOpen","useEffect","onClick","useCallback","onClose","isNotEmpty","useMemo","el","document","createElement","innerHTML","innerText","_jsx","__html","propTypes","PropTypes","string","func","bool","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;IAWMA,UAAU,GAAG,SAAbA,UAAa,OAMb;AAAA,0BALJC,OAKI;AAAA,MALJA,OAKI,6BALM,EAKN;AAAA,6BAJJC,UAII;AAAA,MAJJA,UAII,gCAJS,YAAM,EAIf;AAAA,2BAHJC,QAGI;AAAA,MAHJA,QAGI,8BAHO,KAGP;AAAA,6BAFJC,UAEI;AAAA,MAFJA,UAEI,gCAFS,KAET;AAAA,MADJC,WACI,QADJA,WACI;;AACJ,sBAA+BC,kBAAY,CAACL,OAAD,EAAUM,6BAAS,CAACC,QAApB,CAA3C;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,UAAjB;;AAEA,MAAMC,gBAAgB,GAAGC,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAMG,mBAAmB,GAAGF,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,mBAAV;AAAA,GAAN,CAA3C;AAEAC,EAAAA,eAAS,CAAC,YAAM;AACd,QAAIJ,gBAAgB,IAAI,CAACP,UAAzB,EAAqC;AACnCU,MAAAA,mBAAmB,CAAC,KAAD,CAAnB;AACD;AACF,GAJQ,EAIN,CAACV,UAAD,EAAaO,gBAAb,EAA+BG,mBAA/B,CAJM,CAAT;AAMA,MAAME,OAAO,GAAGC,iBAAW,CAAC,YAAM;AAChC,QAAIb,UAAU,IAAI,CAACD,QAAnB,EAA6B;AAC3BW,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;AACF,GAJ0B,EAIxB,CAACV,UAAD,EAAaD,QAAb,EAAuBW,mBAAvB,CAJwB,CAA3B;AAMA,MAAMI,OAAO,GAAGD,iBAAW,CAAC,YAAM;AAChCH,IAAAA,mBAAmB,CAAC,KAAD,CAAnB;AACD,GAF0B,EAExB,CAACA,mBAAD,CAFwB,CAA3B;AAIA,MAAMK,UAAU,GAAGC,aAAO,CAAC,YAAM;AAC/B,QAAMC,EAAE,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAX;AACAF,IAAAA,EAAE,CAACG,SAAH,GAAef,QAAf;AACA,WAAO,CAAC,CAACY,EAAE,CAACI,SAAZ;AACD,GAJyB,EAIvB,CAAChB,QAAD,CAJuB,CAA1B;AAMA,SAAOL,UAAU,IAAIO,gBAAd,gBACLe,eAAC,WAAD;AACE,IAAA,OAAO,EAAEjB,QADX;AAEE,IAAA,UAAU,EAAEP,UAFd;AAGE,IAAA,OAAO,EAAEgB,OAHX;AAIE,IAAA,WAAW,EAAEb,WAJf;AAKE,IAAA,UAAU,EAAEK;AALd,IADK,gBASLgB;AACE,IAAA,SAAS,2BAAoBP,UAAU,GAAG,EAAH,GAAQ,qBAAtC,CADX;AAEE,IAAA,uBAAuB,EAAE;AACvBQ,MAAAA,MAAM,EAAER,UAAU,GAAGV,QAAH,GAAcJ;AADT,KAF3B;AAKE,IAAA,OAAO,EAAEW,OALX;AAME,IAAA,SAAS,EAAE,qBAAM;AANnB,IATF;AAkBD;;AAEDhB,UAAU,CAAC4B,SAAX,GAAuB;AACrB3B,EAAAA,OAAO,EAAE4B,6BAAS,CAACC,MADE;AAErB5B,EAAAA,UAAU,EAAE2B,6BAAS,CAACE,IAFD;AAGrB5B,EAAAA,QAAQ,EAAE0B,6BAAS,CAACG,IAHC;AAIrB5B,EAAAA,UAAU,EAAEyB,6BAAS,CAACG,IAJD;AAKrB3B,EAAAA,WAAW,EAAEwB,6BAAS,CAACC,MAAV,CAAiBG;AALT,CAAvB;;;;"}
|
|
@@ -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',
|
|
@@ -51,12 +55,14 @@ var ALL_TEXTS = {
|
|
|
51
55
|
REMOVE_PAGE: 'Remove Slide',
|
|
52
56
|
SEARCH: 'Search',
|
|
53
57
|
SETTINGS: 'Settings',
|
|
58
|
+
SHAPES_SETTINGS: 'Shape Settings',
|
|
54
59
|
SHOW_ALL: 'Show All',
|
|
55
60
|
SLIDES: 'Slides',
|
|
56
61
|
TEXT_SETTINGS: 'Text Settings',
|
|
57
62
|
TOGGLE_OFF: 'OFF',
|
|
58
63
|
TOGGLE_ON: 'ON',
|
|
59
64
|
UNLOCK_ITEM: 'Unlock Item',
|
|
65
|
+
VIEW_ERROR_DETAILS: 'View Details',
|
|
60
66
|
WIDTH: 'Width',
|
|
61
67
|
ZOOM_IN: 'Zoom In',
|
|
62
68
|
ZOOM_OUT: 'Zoom Out'
|