@jotforminc/dnd-builder 3.7.2 → 3.8.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 +12 -1
- package/lib/cjs/assets/svg/carets_from_center.svg.js +23 -0
- package/lib/cjs/assets/svg/carets_from_center.svg.js.map +1 -0
- package/lib/cjs/assets/svg/carets_to_center.svg.js +23 -0
- package/lib/cjs/assets/svg/carets_to_center.svg.js.map +1 -0
- package/lib/cjs/components/DraggableItem/DraggableItem.js +40 -0
- package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItemActions.js +21 -9
- package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
- package/lib/cjs/contexts/BuilderContext.js +28 -5
- package/lib/cjs/contexts/BuilderContext.js.map +1 -1
- package/lib/cjs/contexts/PropContext.js +0 -1
- package/lib/cjs/contexts/PropContext.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/_jfReportsPanelElements.scss +12 -0
- package/lib/cjs/styles/_jfReportsReportItem.scss +38 -0
- package/lib/cjs/styles/_jfReportsSVG.scss +5 -0
- package/lib/cjs/utils/getDefaultPresentationActions.js +4 -4
- package/lib/cjs/utils/getDefaultPresentationActions.js.map +1 -1
- package/lib/cjs/utils/hooks.js +1 -1
- package/lib/cjs/utils/hooks.js.map +1 -1
- package/lib/cjs/utils/icons.js +4 -0
- package/lib/cjs/utils/icons.js.map +1 -1
- package/lib/esm/assets/svg/carets_from_center.svg.js +21 -0
- package/lib/esm/assets/svg/carets_from_center.svg.js.map +1 -0
- package/lib/esm/assets/svg/carets_to_center.svg.js +21 -0
- package/lib/esm/assets/svg/carets_to_center.svg.js.map +1 -0
- package/lib/esm/components/DraggableItem/DraggableItem.js +41 -1
- package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItemActions.js +21 -9
- package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
- package/lib/esm/contexts/BuilderContext.js +28 -6
- package/lib/esm/contexts/BuilderContext.js.map +1 -1
- package/lib/esm/contexts/PropContext.js +0 -1
- package/lib/esm/contexts/PropContext.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/_jfReportsPanelElements.scss +12 -0
- package/lib/esm/styles/_jfReportsReportItem.scss +38 -0
- package/lib/esm/styles/_jfReportsSVG.scss +5 -0
- package/lib/esm/utils/getDefaultPresentationActions.js +4 -4
- package/lib/esm/utils/getDefaultPresentationActions.js.map +1 -1
- package/lib/esm/utils/hooks.js +1 -1
- package/lib/esm/utils/hooks.js.map +1 -1
- package/lib/esm/utils/icons.js +2 -0
- package/lib/esm/utils/icons.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,7 +12,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
12
12
|
|
|
13
13
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
14
14
|
|
|
15
|
-
var _excluded = ["children", "clickOutsideIgnoreSelectors", "defaultZoom", "lastScrollPosition", "mode", "onRightPanelsToggled", "presentationBarActions", "shouldShowRightPanelInitially", "slidesListType", "useFixedPresentationBar"];
|
|
15
|
+
var _excluded = ["children", "clickOutsideIgnoreSelectors", "defaultZoom", "lastScrollPosition", "mode", "onRightPanelsToggled", "presentationBarActions", "selectedReportItemIDs", "shouldShowRightPanelInitially", "slidesListType", "useFixedPresentationBar"];
|
|
16
16
|
|
|
17
17
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
18
18
|
|
|
@@ -32,12 +32,14 @@ var Providers = function Providers(_ref) {
|
|
|
32
32
|
mode = _ref.mode,
|
|
33
33
|
onRightPanelsToggled = _ref.onRightPanelsToggled,
|
|
34
34
|
presentationBarActions = _ref.presentationBarActions,
|
|
35
|
+
selectedReportItemIDs = _ref.selectedReportItemIDs,
|
|
35
36
|
shouldShowRightPanelInitially = _ref.shouldShowRightPanelInitially,
|
|
36
37
|
slidesListType = _ref.slidesListType,
|
|
37
38
|
useFixedPresentationBar = _ref.useFixedPresentationBar,
|
|
38
39
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
39
40
|
|
|
40
41
|
return /*#__PURE__*/jsxRuntime.jsx(BuilderContext.BuilderProvider, {
|
|
42
|
+
activeElement: selectedReportItemIDs,
|
|
41
43
|
clickOutsideIgnoreSelectors: clickOutsideIgnoreSelectors,
|
|
42
44
|
defaultZoom: defaultZoom,
|
|
43
45
|
lastScrollPosition: lastScrollPosition,
|
|
@@ -78,6 +80,9 @@ Providers.propTypes = {
|
|
|
78
80
|
/** To pass in action definitions that will be rendered as buttons */
|
|
79
81
|
presentationBarActions: PropTypes__default['default'].arrayOf(PropTypes__default['default'].shape({})),
|
|
80
82
|
|
|
83
|
+
/** Selected report item IDs */
|
|
84
|
+
selectedReportItemIDs: PropTypes__default['default'].array,
|
|
85
|
+
|
|
81
86
|
/** Flag for fixed action bar */
|
|
82
87
|
shouldShowRightPanelInitially: PropTypes__default['default'].bool,
|
|
83
88
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Providers.js","sources":["../../../src/contexts/Providers.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { BuilderProvider } from './BuilderContext';\nimport { PresentationProvider } from './PresentationContext';\nimport { PropProvider } from './PropContext';\nimport { SLIDES_LIST_TYPE_MAP } from '../constants/panel';\n\nconst Providers = ({\n children,\n clickOutsideIgnoreSelectors,\n defaultZoom,\n lastScrollPosition,\n mode,\n onRightPanelsToggled,\n presentationBarActions,\n shouldShowRightPanelInitially,\n slidesListType,\n useFixedPresentationBar,\n ...props\n}) => {\n return (\n <BuilderProvider\n clickOutsideIgnoreSelectors={clickOutsideIgnoreSelectors}\n defaultZoom={defaultZoom}\n lastScrollPosition={lastScrollPosition}\n onRightPanelsToggled={onRightPanelsToggled}\n shouldShowRightPanelInitially={shouldShowRightPanelInitially}\n slidesListType={slidesListType}\n >\n <PropProvider {...props}>\n {mode === 'customize' ? children : (\n <PresentationProvider\n presentationBarActions={presentationBarActions}\n useFixedPresentationBar={useFixedPresentationBar}\n >\n {children}\n </PresentationProvider>\n )}\n </PropProvider>\n </BuilderProvider>\n );\n};\n\nProviders.propTypes = {\n children: PropTypes.node.isRequired,\n /** CSS selectors ignored by right panel click-outside logic */\n clickOutsideIgnoreSelectors: PropTypes.arrayOf(PropTypes.string),\n /** Default zoom */\n defaultZoom: PropTypes.number,\n /** Last scroll position */\n lastScrollPosition: PropTypes.number,\n /** Mode of the report */\n mode: PropTypes.oneOf(['customize', 'presentation', 'preview', 'print']),\n /** Function called when the slides or the right panel is\n * toggled takes a boolean value to indicate whether or\n * not the panel is toggled open.\n */\n onRightPanelsToggled: PropTypes.func,\n /** To pass in action definitions that will be rendered as buttons */\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n /** Flag for fixed action bar */\n shouldShowRightPanelInitially: PropTypes.bool,\n /** Flag for whether to show the right panel initially */\n slidesListType: PropTypes.oneOf(Object.values(SLIDES_LIST_TYPE_MAP)),\n /** Slides list type for the report */\n useFixedPresentationBar: PropTypes.bool,\n};\n\nexport default Providers;\n"],"names":["Providers","children","clickOutsideIgnoreSelectors","defaultZoom","lastScrollPosition","mode","onRightPanelsToggled","presentationBarActions","shouldShowRightPanelInitially","slidesListType","useFixedPresentationBar","props","_jsx","BuilderProvider","PropProvider","PresentationProvider","propTypes","PropTypes","node","isRequired","arrayOf","string","number","oneOf","func","shape","bool","Object","values","SLIDES_LIST_TYPE_MAP"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;IAMMA,SAAS,GAAG,SAAZA,SAAY,
|
|
1
|
+
{"version":3,"file":"Providers.js","sources":["../../../src/contexts/Providers.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { BuilderProvider } from './BuilderContext';\nimport { PresentationProvider } from './PresentationContext';\nimport { PropProvider } from './PropContext';\nimport { SLIDES_LIST_TYPE_MAP } from '../constants/panel';\n\nconst Providers = ({\n children,\n clickOutsideIgnoreSelectors,\n defaultZoom,\n lastScrollPosition,\n mode,\n onRightPanelsToggled,\n presentationBarActions,\n selectedReportItemIDs,\n shouldShowRightPanelInitially,\n slidesListType,\n useFixedPresentationBar,\n ...props\n}) => {\n return (\n <BuilderProvider\n activeElement={selectedReportItemIDs}\n clickOutsideIgnoreSelectors={clickOutsideIgnoreSelectors}\n defaultZoom={defaultZoom}\n lastScrollPosition={lastScrollPosition}\n onRightPanelsToggled={onRightPanelsToggled}\n shouldShowRightPanelInitially={shouldShowRightPanelInitially}\n slidesListType={slidesListType}\n >\n <PropProvider {...props}>\n {mode === 'customize' ? children : (\n <PresentationProvider\n presentationBarActions={presentationBarActions}\n useFixedPresentationBar={useFixedPresentationBar}\n >\n {children}\n </PresentationProvider>\n )}\n </PropProvider>\n </BuilderProvider>\n );\n};\n\nProviders.propTypes = {\n children: PropTypes.node.isRequired,\n /** CSS selectors ignored by right panel click-outside logic */\n clickOutsideIgnoreSelectors: PropTypes.arrayOf(PropTypes.string),\n /** Default zoom */\n defaultZoom: PropTypes.number,\n /** Last scroll position */\n lastScrollPosition: PropTypes.number,\n /** Mode of the report */\n mode: PropTypes.oneOf(['customize', 'presentation', 'preview', 'print']),\n /** Function called when the slides or the right panel is\n * toggled takes a boolean value to indicate whether or\n * not the panel is toggled open.\n */\n onRightPanelsToggled: PropTypes.func,\n /** To pass in action definitions that will be rendered as buttons */\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n /** Selected report item IDs */\n selectedReportItemIDs: PropTypes.array,\n /** Flag for fixed action bar */\n shouldShowRightPanelInitially: PropTypes.bool,\n /** Flag for whether to show the right panel initially */\n slidesListType: PropTypes.oneOf(Object.values(SLIDES_LIST_TYPE_MAP)),\n /** Slides list type for the report */\n useFixedPresentationBar: PropTypes.bool,\n};\n\nexport default Providers;\n"],"names":["Providers","children","clickOutsideIgnoreSelectors","defaultZoom","lastScrollPosition","mode","onRightPanelsToggled","presentationBarActions","selectedReportItemIDs","shouldShowRightPanelInitially","slidesListType","useFixedPresentationBar","props","_jsx","BuilderProvider","PropProvider","PresentationProvider","propTypes","PropTypes","node","isRequired","arrayOf","string","number","oneOf","func","shape","array","bool","Object","values","SLIDES_LIST_TYPE_MAP"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;IAMMA,SAAS,GAAG,SAAZA,SAAY,OAaZ;AAAA,MAZJC,QAYI,QAZJA,QAYI;AAAA,MAXJC,2BAWI,QAXJA,2BAWI;AAAA,MAVJC,WAUI,QAVJA,WAUI;AAAA,MATJC,kBASI,QATJA,kBASI;AAAA,MARJC,IAQI,QARJA,IAQI;AAAA,MAPJC,oBAOI,QAPJA,oBAOI;AAAA,MANJC,sBAMI,QANJA,sBAMI;AAAA,MALJC,qBAKI,QALJA,qBAKI;AAAA,MAJJC,6BAII,QAJJA,6BAII;AAAA,MAHJC,cAGI,QAHJA,cAGI;AAAA,MAFJC,uBAEI,QAFJA,uBAEI;AAAA,MADDC,KACC;;AACJ,sBACEC,eAACC,8BAAD;AACE,IAAA,aAAa,EAAEN,qBADjB;AAEE,IAAA,2BAA2B,EAAEN,2BAF/B;AAGE,IAAA,WAAW,EAAEC,WAHf;AAIE,IAAA,kBAAkB,EAAEC,kBAJtB;AAKE,IAAA,oBAAoB,EAAEE,oBALxB;AAME,IAAA,6BAA6B,EAAEG,6BANjC;AAOE,IAAA,cAAc,EAAEC,cAPlB;AAAA,2BASEG,eAACE,wBAAD,kCAAkBH,KAAlB;AAAA,gBACGP,IAAI,KAAK,WAAT,GAAuBJ,QAAvB,gBACCY,eAACG,wCAAD;AACE,QAAA,sBAAsB,EAAET,sBAD1B;AAEE,QAAA,uBAAuB,EAAEI,uBAF3B;AAAA,kBAIGV;AAJH;AAFJ;AATF,IADF;AAsBD;;AAEDD,SAAS,CAACiB,SAAV,GAAsB;AACpBhB,EAAAA,QAAQ,EAAEiB,6BAAS,CAACC,IAAV,CAAeC,UADL;;AAEpB;AACAlB,EAAAA,2BAA2B,EAAEgB,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACI,MAA5B,CAHT;;AAIpB;AACAnB,EAAAA,WAAW,EAAEe,6BAAS,CAACK,MALH;;AAMpB;AACAnB,EAAAA,kBAAkB,EAAEc,6BAAS,CAACK,MAPV;;AAQpB;AACAlB,EAAAA,IAAI,EAAEa,6BAAS,CAACM,KAAV,CAAgB,CAAC,WAAD,EAAc,cAAd,EAA8B,SAA9B,EAAyC,OAAzC,CAAhB,CATc;;AAUpB;AACF;AACA;AACA;AACElB,EAAAA,oBAAoB,EAAEY,6BAAS,CAACO,IAdZ;;AAepB;AACAlB,EAAAA,sBAAsB,EAAEW,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACQ,KAAV,CAAgB,EAAhB,CAAlB,CAhBJ;;AAiBpB;AACAlB,EAAAA,qBAAqB,EAAEU,6BAAS,CAACS,KAlBb;;AAmBpB;AACAlB,EAAAA,6BAA6B,EAAES,6BAAS,CAACU,IApBrB;;AAqBpB;AACAlB,EAAAA,cAAc,EAAEQ,6BAAS,CAACM,KAAV,CAAgBK,MAAM,CAACC,MAAP,CAAcC,0BAAd,CAAhB,CAtBI;;AAuBpB;AACApB,EAAAA,uBAAuB,EAAEO,6BAAS,CAACU;AAxBf,CAAtB;;;;"}
|
|
@@ -603,6 +603,18 @@
|
|
|
603
603
|
max-width: calc(100% - 20px);
|
|
604
604
|
z-index: 3;
|
|
605
605
|
}
|
|
606
|
+
|
|
607
|
+
&[data-position="right"] {
|
|
608
|
+
.sketch-picker {
|
|
609
|
+
right: 0;
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
&[data-position="left"] {
|
|
614
|
+
.sketch-picker {
|
|
615
|
+
left: 0;
|
|
616
|
+
}
|
|
617
|
+
}
|
|
606
618
|
}
|
|
607
619
|
|
|
608
620
|
&-preview {
|
|
@@ -260,6 +260,14 @@
|
|
|
260
260
|
animation: .2s fadeRight forwards;
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
+
&.left-align {
|
|
264
|
+
flex-direction: column;
|
|
265
|
+
top: 50%;
|
|
266
|
+
transform: translateY(-50%);
|
|
267
|
+
left: -24px;
|
|
268
|
+
animation: .2s fadeLeft forwards;
|
|
269
|
+
}
|
|
270
|
+
|
|
263
271
|
&.top-align {
|
|
264
272
|
flex-direction: row;
|
|
265
273
|
top: calc(100% + 8px);
|
|
@@ -268,6 +276,14 @@
|
|
|
268
276
|
animation: .2s fadeTop forwards;
|
|
269
277
|
}
|
|
270
278
|
|
|
279
|
+
&.bottom-align {
|
|
280
|
+
flex-direction: row;
|
|
281
|
+
bottom: -48px;
|
|
282
|
+
transform: translateX(50%);
|
|
283
|
+
right: 50% !important;
|
|
284
|
+
animation: .2s fadeBottom forwards;
|
|
285
|
+
}
|
|
286
|
+
|
|
271
287
|
&-item {
|
|
272
288
|
max-width: 24px;
|
|
273
289
|
max-height: 24px;
|
|
@@ -341,6 +357,17 @@
|
|
|
341
357
|
}
|
|
342
358
|
}
|
|
343
359
|
|
|
360
|
+
@keyframes fadeLeft {
|
|
361
|
+
0% {
|
|
362
|
+
left: -24px;
|
|
363
|
+
opacity: 0;
|
|
364
|
+
}
|
|
365
|
+
100% {
|
|
366
|
+
left: -38px;
|
|
367
|
+
opacity: 1;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
|
|
344
371
|
@keyframes fadeTop {
|
|
345
372
|
0% {
|
|
346
373
|
top: -24px;
|
|
@@ -351,4 +378,15 @@
|
|
|
351
378
|
opacity: 1;
|
|
352
379
|
}
|
|
353
380
|
}
|
|
381
|
+
|
|
382
|
+
@keyframes fadeBottom {
|
|
383
|
+
0% {
|
|
384
|
+
bottom: -24px;
|
|
385
|
+
opacity: 0;
|
|
386
|
+
}
|
|
387
|
+
100% {
|
|
388
|
+
bottom: -38px;
|
|
389
|
+
opacity: 1;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
354
392
|
}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
6
|
+
var carets_to_center = require('../assets/svg/carets_to_center.svg.js');
|
|
7
|
+
var carets_from_center = require('../assets/svg/carets_from_center.svg.js');
|
|
8
8
|
var print = require('../assets/svg/presentation/print.svg.js');
|
|
9
9
|
|
|
10
10
|
var getDefaultPresentationActions = function getDefaultPresentationActions(_ref) {
|
|
@@ -16,9 +16,9 @@ var getDefaultPresentationActions = function getDefaultPresentationActions(_ref)
|
|
|
16
16
|
className: "jfReportButton isAccent",
|
|
17
17
|
onClick: toggleFullscreen,
|
|
18
18
|
type: "button",
|
|
19
|
-
children: isFullscreen ? /*#__PURE__*/jsxRuntime.jsx(
|
|
19
|
+
children: isFullscreen ? /*#__PURE__*/jsxRuntime.jsx(carets_to_center, {
|
|
20
20
|
className: "jfReportSVG icon-fullscreen"
|
|
21
|
-
}) : /*#__PURE__*/jsxRuntime.jsx(
|
|
21
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(carets_from_center, {
|
|
22
22
|
className: "jfReportSVG icon-fullscreen"
|
|
23
23
|
})
|
|
24
24
|
}, "present"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDefaultPresentationActions.js","sources":["../../../src/utils/getDefaultPresentationActions.js"],"sourcesContent":["import * as icons from './icons';\n\nexport const getDefaultPresentationActions = ({\n isFullscreen,\n toggleFullscreen,\n}) => ({\n present: (\n <button\n key=\"present\"\n aria-label={isFullscreen ? 'Exit fullscreen' : 'Enter fullscreen'}\n className=\"jfReportButton isAccent\"\n onClick={toggleFullscreen}\n type=\"button\"\n >\n {isFullscreen ? (\n <icons.
|
|
1
|
+
{"version":3,"file":"getDefaultPresentationActions.js","sources":["../../../src/utils/getDefaultPresentationActions.js"],"sourcesContent":["import * as icons from './icons';\n\nexport const getDefaultPresentationActions = ({\n isFullscreen,\n toggleFullscreen,\n}) => ({\n present: (\n <button\n key=\"present\"\n aria-label={isFullscreen ? 'Exit fullscreen' : 'Enter fullscreen'}\n className=\"jfReportButton isAccent\"\n onClick={toggleFullscreen}\n type=\"button\"\n >\n {isFullscreen ? (\n <icons.collapsePresentation className=\"jfReportSVG icon-fullscreen\" />\n ) : (\n <icons.expandPresentation className=\"jfReportSVG icon-fullscreen\" />\n )}\n </button>\n ),\n print: (\n <button\n key=\"print\"\n aria-label=\"Print\"\n className=\"jfReportButton isAccent print\"\n onClick={() => window.print()}\n type=\"button\"\n >\n <icons.print className=\"jfReportSVG icon-print\" />\n </button>\n ),\n});\n"],"names":["getDefaultPresentationActions","isFullscreen","toggleFullscreen","present","_jsx","icons.collapsePresentation","icons.expandPresentation","print","window","icons.print"],"mappings":";;;;;;;;;IAEaA,6BAA6B,GAAG,SAAhCA,6BAAgC;AAAA,MAC3CC,YAD2C,QAC3CA,YAD2C;AAAA,MAE3CC,gBAF2C,QAE3CA,gBAF2C;AAAA,SAGtC;AACLC,IAAAA,OAAO,eACLC;AAEE,oBAAYH,YAAY,GAAG,iBAAH,GAAuB,kBAFjD;AAGE,MAAA,SAAS,EAAC,yBAHZ;AAIE,MAAA,OAAO,EAAEC,gBAJX;AAKE,MAAA,IAAI,EAAC,QALP;AAAA,gBAOGD,YAAY,gBACXG,eAACC,gBAAD;AAA4B,QAAA,SAAS,EAAC;AAAtC,QADW,gBAGXD,eAACE,kBAAD;AAA0B,QAAA,SAAS,EAAC;AAApC;AAVJ,OACM,SADN,CAFG;AAgBLC,IAAAA,KAAK,eACHH;AAEE,oBAAW,OAFb;AAGE,MAAA,SAAS,EAAC,+BAHZ;AAIE,MAAA,OAAO,EAAE;AAAA,eAAMI,MAAM,CAACD,KAAP,EAAN;AAAA,OAJX;AAKE,MAAA,IAAI,EAAC,QALP;AAAA,6BAOEH,eAACK,KAAD;AAAa,QAAA,SAAS,EAAC;AAAvB;AAPF,OACM,OADN;AAjBG,GAHsC;AAAA;;;;"}
|
package/lib/cjs/utils/hooks.js
CHANGED
|
@@ -266,7 +266,7 @@ var useSelectedElements = function useSelectedElements() {
|
|
|
266
266
|
return React.useMemo(function () {
|
|
267
267
|
if (activeElements.length === 0) return [];
|
|
268
268
|
var items = activeElements.map(function (itemID) {
|
|
269
|
-
var foundItem =
|
|
269
|
+
var foundItem = {};
|
|
270
270
|
pages.forEach(function (page) {
|
|
271
271
|
var item = page.items.find(function (el) {
|
|
272
272
|
return el.id === itemID;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../../../src/utils/hooks.js"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n useMemo,\n useCallback,\n} from 'react';\nimport { getZoomValue } from './functions';\nimport { SharingTextsModule } from '../constants/texts';\nimport { usePropStore } from '../contexts/PropContext';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { usePresentationStore } from '../contexts/PresentationContext';\n\nconst INITIAL_ZOOM_MAX = 0.8;\n\nexport const useStateWithCallback = (initialState, callback) => {\n const [state, setState] = useState(initialState);\n\n useEffect(() => callback(state), [state, callback]);\n\n return [state, setState];\n};\n\nexport const useEventListener = (eventName, handler, element = global) => {\n const savedHandler = useRef();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(\n () => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = event => savedHandler.current(event);\n element.addEventListener(eventName, eventListener);\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n },\n [eventName, element],\n );\n};\n\nexport const useResizeListener = (condition = true) => {\n const [innerWidth, setInnerWidth] = useState(() => (\n typeof window !== 'undefined' ? window.innerWidth : 0\n ));\n\n const handleResize = useCallback(() => {\n if (typeof window !== 'undefined') {\n setInnerWidth(window.innerWidth);\n }\n }, []);\n\n useEffect(() => {\n if (condition && typeof window !== 'undefined') {\n setInnerWidth(window.innerWidth);\n }\n }, [condition]);\n\n const target = condition && typeof window !== 'undefined' ? window : null;\n useEventListener('resize', handleResize, target);\n\n return innerWidth;\n};\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n};\n\nexport const usePrevious = value => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport const usePropState = (propValue, transform = v => v) => {\n const [state, setState] = useState(() => transform(propValue));\n\n useEffect(() => {\n setState(transform(propValue));\n }, [propValue, transform]);\n\n return [state, setState];\n};\n\nexport const useFitZoom = () => {\n const settings = usePropStore(state => state.settings);\n const setZoom = useBuilderStore(state => state.setZoom);\n const shouldFitZoomInitially = useBuilderStore(state => state.shouldFitZoomInitially);\n\n useEffect(() => {\n if (shouldFitZoomInitially) {\n const fitZoom = getZoomValue({\n limitZoom: true,\n settings: {\n reportLayoutHeight: settings.reportLayoutHeight,\n reportLayoutWidth: settings.reportLayoutWidth,\n },\n });\n const newZoom = Math.min(fitZoom, INITIAL_ZOOM_MAX);\n setZoom(newZoom, settings.reportLayoutWidth);\n }\n }, [\n settings.reportLayoutHeight,\n settings.reportLayoutWidth,\n setZoom,\n shouldFitZoomInitially,\n ]);\n};\n\nexport const usePageVisibility = (callback, pageCount, selectedPageIndex) => {\n const ratio = useRef({});\n const prevVisiblePageIndex = useRef(-1);\n const pageRefs = useRef([]);\n const observer = useMemo(() => new window.IntersectionObserver(entries => {\n entries.forEach(entry => {\n const order = entry.target.getAttribute('data-order');\n if (entry.intersectionRatio !== 0) {\n ratio.current[order] = entry.intersectionRatio;\n } else {\n delete ratio.current[order];\n }\n });\n const visiblePageIndex = parseInt(\n Object.keys(ratio.current)\n .find(key => ratio.current[key] === Math.max(...Object.values(ratio.current))),\n 10,\n );\n if (visiblePageIndex !== prevVisiblePageIndex.current) {\n prevVisiblePageIndex.current = visiblePageIndex;\n callback(visiblePageIndex);\n }\n },\n {\n delay: 100,\n root: document.querySelector('.jfReport-viewport'),\n threshold: [0, 0.25, 0.5, 0.75, 1],\n }), [callback]);\n\n useEffect(() => {\n ratio.current = {};\n pageRefs.current = document.querySelectorAll('.jfReport-page');\n }, [pageCount]);\n\n useEffect(() => {\n if (selectedPageIndex === -1) {\n pageRefs.current.forEach(page => {\n observer.observe(page);\n });\n }\n\n return () => {\n pageRefs.current.forEach(page => {\n observer.unobserve(page);\n });\n };\n }, [selectedPageIndex, observer]);\n};\n\nexport const useFullscreenChange = (isFullscreen, fitToScreen) => {\n /**\n * All this is just to cover if the user exits fullscreen via ESC key :(\n */\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const setIsFullscreen = usePresentationStore(state => state.setIsFullscreen);\n\n const onFullscreenChange = useCallback(() => {\n if (!(\n document.fullScreen\n || document.mozFullScreen\n || document.webkitIsFullScreen\n )) {\n onAnEventTrigger('clickedFullscreen');\n setIsFullscreen(false);\n fitToScreen(500);\n } else {\n setIsFullscreen(true);\n fitToScreen(600);\n }\n }, [fitToScreen, setIsFullscreen, onAnEventTrigger]);\n\n useEventListener('fullscreenchange', onFullscreenChange);\n useEventListener('webkitfullscreenchange', onFullscreenChange);\n useEventListener('mozfullscreenchange', onFullscreenChange);\n useEventListener('MSFullscreenChange', onFullscreenChange);\n};\n\nexport const useTranslatedTexts = () => {\n return SharingTextsModule.Texts;\n};\n\nexport const useClickOutsideListener = (classes, conditionValue, onClose) => {\n const onClickOutsideForPanel = useCallback(({ target: { classList } }) => {\n const shouldClose = classes.some(c => classList.contains(c));\n if (shouldClose) {\n onClose();\n }\n }, [classes, onClose]);\n\n useEffect(() => {\n if (conditionValue) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => window.removeEventListener('click', onClickOutsideForPanel, false);\n }, [conditionValue, onClickOutsideForPanel]);\n};\n\nexport const usePageTransition = (style, currentPage) => {\n const finalStyle = useMemo(() => {\n switch (style) {\n case 'verticalSlide':\n return { transform: `translateY(-${(currentPage * 100).toString()}%)` };\n case 'scaleAndFade':\n return {};\n case 'rotate':\n return { '-webkit-perspective': 1000 };\n case 'scaleAndSlide':\n case 'horizontalSlide':\n default:\n return { transform: `translateX(-${(currentPage * 100).toString()}%)` };\n }\n }, [style, currentPage]);\n\n return finalStyle;\n};\n\nexport const useSelectedElements = () => {\n const pages = usePropStore(state => state.pages);\n const activeElements = useBuilderStore(state => state.activeElements);\n const acceptedItems = usePropStore(state => state.acceptedItems);\n\n return useMemo(() => {\n if (activeElements.length === 0) return [];\n const items = activeElements.map(itemID => {\n let foundItem = [];\n pages.forEach(page => {\n const item = page.items.find(el => el.id === itemID);\n if (item) {\n foundItem = item;\n }\n });\n const defItem = (acceptedItems[foundItem.itemType] && acceptedItems[foundItem.itemType].defaultItem) || {};\n return { ...defItem, ...foundItem };\n });\n return items;\n }, [pages, activeElements, acceptedItems]);\n};\n"],"names":["INITIAL_ZOOM_MAX","useEventListener","eventName","handler","element","global","savedHandler","useRef","useEffect","current","isSupported","addEventListener","eventListener","event","removeEventListener","useResizeListener","condition","useState","window","innerWidth","setInnerWidth","handleResize","useCallback","target","usePrevious","value","ref","usePropState","propValue","transform","v","state","setState","useFitZoom","settings","usePropStore","setZoom","useBuilderStore","shouldFitZoomInitially","fitZoom","getZoomValue","limitZoom","reportLayoutHeight","reportLayoutWidth","newZoom","Math","min","usePageVisibility","callback","pageCount","selectedPageIndex","ratio","prevVisiblePageIndex","pageRefs","observer","useMemo","IntersectionObserver","entries","forEach","entry","order","getAttribute","intersectionRatio","visiblePageIndex","parseInt","Object","keys","find","key","max","values","delay","root","document","querySelector","threshold","querySelectorAll","page","observe","unobserve","useFullscreenChange","isFullscreen","fitToScreen","onAnEventTrigger","setIsFullscreen","usePresentationStore","onFullscreenChange","fullScreen","mozFullScreen","webkitIsFullScreen","useTranslatedTexts","SharingTextsModule","Texts","useClickOutsideListener","classes","conditionValue","onClose","onClickOutsideForPanel","classList","shouldClose","some","c","contains","usePageTransition","style","currentPage","finalStyle","toString","useSelectedElements","pages","activeElements","acceptedItems","length","items","map","itemID","foundItem","item","el","id","defItem","itemType","defaultItem"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sources":["../../../src/utils/hooks.js"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n useMemo,\n useCallback,\n} from 'react';\nimport { getZoomValue } from './functions';\nimport { SharingTextsModule } from '../constants/texts';\nimport { usePropStore } from '../contexts/PropContext';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { usePresentationStore } from '../contexts/PresentationContext';\n\nconst INITIAL_ZOOM_MAX = 0.8;\n\nexport const useStateWithCallback = (initialState, callback) => {\n const [state, setState] = useState(initialState);\n\n useEffect(() => callback(state), [state, callback]);\n\n return [state, setState];\n};\n\nexport const useEventListener = (eventName, handler, element = global) => {\n const savedHandler = useRef();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(\n () => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = event => savedHandler.current(event);\n element.addEventListener(eventName, eventListener);\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n },\n [eventName, element],\n );\n};\n\nexport const useResizeListener = (condition = true) => {\n const [innerWidth, setInnerWidth] = useState(() => (\n typeof window !== 'undefined' ? window.innerWidth : 0\n ));\n\n const handleResize = useCallback(() => {\n if (typeof window !== 'undefined') {\n setInnerWidth(window.innerWidth);\n }\n }, []);\n\n useEffect(() => {\n if (condition && typeof window !== 'undefined') {\n setInnerWidth(window.innerWidth);\n }\n }, [condition]);\n\n const target = condition && typeof window !== 'undefined' ? window : null;\n useEventListener('resize', handleResize, target);\n\n return innerWidth;\n};\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n};\n\nexport const usePrevious = value => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport const usePropState = (propValue, transform = v => v) => {\n const [state, setState] = useState(() => transform(propValue));\n\n useEffect(() => {\n setState(transform(propValue));\n }, [propValue, transform]);\n\n return [state, setState];\n};\n\nexport const useFitZoom = () => {\n const settings = usePropStore(state => state.settings);\n const setZoom = useBuilderStore(state => state.setZoom);\n const shouldFitZoomInitially = useBuilderStore(state => state.shouldFitZoomInitially);\n\n useEffect(() => {\n if (shouldFitZoomInitially) {\n const fitZoom = getZoomValue({\n limitZoom: true,\n settings: {\n reportLayoutHeight: settings.reportLayoutHeight,\n reportLayoutWidth: settings.reportLayoutWidth,\n },\n });\n const newZoom = Math.min(fitZoom, INITIAL_ZOOM_MAX);\n setZoom(newZoom, settings.reportLayoutWidth);\n }\n }, [\n settings.reportLayoutHeight,\n settings.reportLayoutWidth,\n setZoom,\n shouldFitZoomInitially,\n ]);\n};\n\nexport const usePageVisibility = (callback, pageCount, selectedPageIndex) => {\n const ratio = useRef({});\n const prevVisiblePageIndex = useRef(-1);\n const pageRefs = useRef([]);\n const observer = useMemo(() => new window.IntersectionObserver(entries => {\n entries.forEach(entry => {\n const order = entry.target.getAttribute('data-order');\n if (entry.intersectionRatio !== 0) {\n ratio.current[order] = entry.intersectionRatio;\n } else {\n delete ratio.current[order];\n }\n });\n const visiblePageIndex = parseInt(\n Object.keys(ratio.current)\n .find(key => ratio.current[key] === Math.max(...Object.values(ratio.current))),\n 10,\n );\n if (visiblePageIndex !== prevVisiblePageIndex.current) {\n prevVisiblePageIndex.current = visiblePageIndex;\n callback(visiblePageIndex);\n }\n },\n {\n delay: 100,\n root: document.querySelector('.jfReport-viewport'),\n threshold: [0, 0.25, 0.5, 0.75, 1],\n }), [callback]);\n\n useEffect(() => {\n ratio.current = {};\n pageRefs.current = document.querySelectorAll('.jfReport-page');\n }, [pageCount]);\n\n useEffect(() => {\n if (selectedPageIndex === -1) {\n pageRefs.current.forEach(page => {\n observer.observe(page);\n });\n }\n\n return () => {\n pageRefs.current.forEach(page => {\n observer.unobserve(page);\n });\n };\n }, [selectedPageIndex, observer]);\n};\n\nexport const useFullscreenChange = (isFullscreen, fitToScreen) => {\n /**\n * All this is just to cover if the user exits fullscreen via ESC key :(\n */\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const setIsFullscreen = usePresentationStore(state => state.setIsFullscreen);\n\n const onFullscreenChange = useCallback(() => {\n if (!(\n document.fullScreen\n || document.mozFullScreen\n || document.webkitIsFullScreen\n )) {\n onAnEventTrigger('clickedFullscreen');\n setIsFullscreen(false);\n fitToScreen(500);\n } else {\n setIsFullscreen(true);\n fitToScreen(600);\n }\n }, [fitToScreen, setIsFullscreen, onAnEventTrigger]);\n\n useEventListener('fullscreenchange', onFullscreenChange);\n useEventListener('webkitfullscreenchange', onFullscreenChange);\n useEventListener('mozfullscreenchange', onFullscreenChange);\n useEventListener('MSFullscreenChange', onFullscreenChange);\n};\n\nexport const useTranslatedTexts = () => {\n return SharingTextsModule.Texts;\n};\n\nexport const useClickOutsideListener = (classes, conditionValue, onClose) => {\n const onClickOutsideForPanel = useCallback(({ target: { classList } }) => {\n const shouldClose = classes.some(c => classList.contains(c));\n if (shouldClose) {\n onClose();\n }\n }, [classes, onClose]);\n\n useEffect(() => {\n if (conditionValue) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => window.removeEventListener('click', onClickOutsideForPanel, false);\n }, [conditionValue, onClickOutsideForPanel]);\n};\n\nexport const usePageTransition = (style, currentPage) => {\n const finalStyle = useMemo(() => {\n switch (style) {\n case 'verticalSlide':\n return { transform: `translateY(-${(currentPage * 100).toString()}%)` };\n case 'scaleAndFade':\n return {};\n case 'rotate':\n return { '-webkit-perspective': 1000 };\n case 'scaleAndSlide':\n case 'horizontalSlide':\n default:\n return { transform: `translateX(-${(currentPage * 100).toString()}%)` };\n }\n }, [style, currentPage]);\n\n return finalStyle;\n};\n\nexport const useSelectedElements = () => {\n const pages = usePropStore(state => state.pages);\n const activeElements = useBuilderStore(state => state.activeElements);\n const acceptedItems = usePropStore(state => state.acceptedItems);\n\n return useMemo(() => {\n if (activeElements.length === 0) return [];\n const items = activeElements.map(itemID => {\n let foundItem = {};\n pages.forEach(page => {\n const item = page.items.find(el => el.id === itemID);\n if (item) {\n foundItem = item;\n }\n });\n const defItem = (acceptedItems[foundItem.itemType] && acceptedItems[foundItem.itemType].defaultItem) || {};\n return { ...defItem, ...foundItem };\n });\n return items;\n }, [pages, activeElements, acceptedItems]);\n};\n"],"names":["INITIAL_ZOOM_MAX","useEventListener","eventName","handler","element","global","savedHandler","useRef","useEffect","current","isSupported","addEventListener","eventListener","event","removeEventListener","useResizeListener","condition","useState","window","innerWidth","setInnerWidth","handleResize","useCallback","target","usePrevious","value","ref","usePropState","propValue","transform","v","state","setState","useFitZoom","settings","usePropStore","setZoom","useBuilderStore","shouldFitZoomInitially","fitZoom","getZoomValue","limitZoom","reportLayoutHeight","reportLayoutWidth","newZoom","Math","min","usePageVisibility","callback","pageCount","selectedPageIndex","ratio","prevVisiblePageIndex","pageRefs","observer","useMemo","IntersectionObserver","entries","forEach","entry","order","getAttribute","intersectionRatio","visiblePageIndex","parseInt","Object","keys","find","key","max","values","delay","root","document","querySelector","threshold","querySelectorAll","page","observe","unobserve","useFullscreenChange","isFullscreen","fitToScreen","onAnEventTrigger","setIsFullscreen","usePresentationStore","onFullscreenChange","fullScreen","mozFullScreen","webkitIsFullScreen","useTranslatedTexts","SharingTextsModule","Texts","useClickOutsideListener","classes","conditionValue","onClose","onClickOutsideForPanel","classList","shouldClose","some","c","contains","usePageTransition","style","currentPage","finalStyle","toString","useSelectedElements","pages","activeElements","acceptedItems","length","items","map","itemID","foundItem","item","el","id","defItem","itemType","defaultItem"],"mappings":"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"}
|
package/lib/cjs/utils/icons.js
CHANGED
|
@@ -84,6 +84,8 @@ var basic = require('../assets/svg/placeholder/basic.svg.js');
|
|
|
84
84
|
var donut = require('../assets/svg/placeholder/donut.svg.js');
|
|
85
85
|
var grid = require('../assets/svg/placeholder/grid.svg.js');
|
|
86
86
|
var fit_screen = require('../assets/svg/fit_screen.svg.js');
|
|
87
|
+
var carets_to_center = require('../assets/svg/carets_to_center.svg.js');
|
|
88
|
+
var carets_from_center = require('../assets/svg/carets_from_center.svg.js');
|
|
87
89
|
var loading_circle = require('../assets/svg/loading_circle.svg.js');
|
|
88
90
|
var exclamation = require('../assets/svg/exclamation.svg.js');
|
|
89
91
|
|
|
@@ -173,6 +175,8 @@ exports.basicPlaceholder = basic;
|
|
|
173
175
|
exports.donutPlaceholder = donut;
|
|
174
176
|
exports.textGridPlaceholder = grid;
|
|
175
177
|
exports.fit = fit_screen;
|
|
178
|
+
exports.collapsePresentation = carets_to_center;
|
|
179
|
+
exports.expandPresentation = carets_from_center;
|
|
176
180
|
exports.loadingCircle = loading_circle;
|
|
177
181
|
exports.exclamationIcon = exclamation;
|
|
178
182
|
//# sourceMappingURL=icons.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sources":["../../../src/utils/icons.js"],"sourcesContent":["// General //\n\nexport { default as down } from '../assets/svg/arrow_down.svg';\nexport { default as drag } from '../assets/svg/settings/drag.svg';\nexport { default as trash } from '../assets/svg/trash.svg';\nexport { default as close } from '../assets/svg/close.svg';\nexport { default as rotate } from '../assets/svg/rotate.svg';\nexport { default as customize } from '../assets/svg/customize.svg';\nexport { default as slides } from '../assets/svg/slides.svg';\nexport { default as settingsToggle } from '../assets/svg/settings_toggle.svg';\nexport { default as ellipsisVertical } from '../assets/svg/ellipsis-vertical.svg';\n\n// Elements //\n\nexport { default as header } from '../assets/svg/toolbox/header.svg';\nexport { default as icon } from '../assets/svg/toolbox/icon.svg';\nexport { default as image } from '../assets/svg/toolbox/image.svg';\nexport { default as label } from '../assets/svg/toolbox/label.svg';\nexport { default as shapes } from '../assets/svg/toolbox/shapes.svg';\nexport { default as table } from '../assets/svg/toolbox/table.svg';\nexport { default as textElement } from '../assets/svg/toolbox/text_element.svg';\nexport { default as text } from '../assets/svg/toolbox/text.svg';\nexport { default as star } from '../assets/svg/toolbox/star.svg';\nexport { default as email } from '../assets/svg/toolbox/email.svg';\nexport { default as singleChoice } from '../assets/svg/toolbox/single_choice.svg';\nexport { default as multipleChoice } from '../assets/svg/toolbox/multiple_choice.svg';\nexport { default as lock } from '../assets/svg/settings/lock.svg';\nexport { default as unlock } from '../assets/svg/settings/unlock.svg';\n\n// Settings //\n\nexport { default as bold } from '../assets/svg/settings/font_bold.svg';\nexport { default as italic } from '../assets/svg/settings/font_italic.svg';\nexport { default as underline } from '../assets/svg/settings/font_underline.svg';\nexport { default as alignLeft } from '../assets/svg/settings/align_left.svg';\nexport { default as alignCenter } from '../assets/svg/settings/align_center.svg';\nexport { default as alignRight } from '../assets/svg/settings/align_right.svg';\n\n// Chart Settings //\n\nexport { default as pie } from '../assets/svg/settings/chart_pie.svg';\nexport { default as bar } from '../assets/svg/settings/chart_bar.svg';\nexport { default as line } from '../assets/svg/settings/chart_line.svg';\nexport { default as basic } from '../assets/svg/settings/chart_basic.svg';\nexport { default as donut } from '../assets/svg/settings/chart_donut.svg';\nexport { default as grid } from '../assets/svg/settings/chart_grid.svg';\nexport { default as textGrid } from '../assets/svg/settings/chart_textGrid.svg';\nexport { default as column } from '../assets/svg/settings/chart_column.svg';\nexport { default as layout } from '../assets/svg/settings/layout.svg';\nexport { default as starRating } from '../assets/svg/star_rating.svg';\nexport { default as heartRating } from '../assets/svg/heart_rating.svg';\n\n// Shape Settings //\n\nexport { default as rectangleIcon } from '../assets/svg/settings/rectangle.svg';\nexport { default as ellipseIcon } from '../assets/svg/settings/ellipse.svg';\nexport { default as triangleIcon } from '../assets/svg/settings/triangle.svg';\nexport { default as starIcon } from '../assets/svg/settings/star.svg';\nexport { default as lineIcon } from '../assets/svg/settings/line.svg';\n\n// Element Menu //\n\nexport { default as duplicate } from '../assets/svg/duplicate.svg';\nexport { default as settings } from '../assets/svg/settings.svg';\n\n// Page Menu //\n\nexport { default as arrowDown } from '../assets/svg/arrow_down.svg';\nexport { default as arrowUp } from '../assets/svg/arrow_up.svg';\nexport { default as arrowLeft } from '../assets/svg/arrow_left.svg';\nexport { default as arrowRight } from '../assets/svg/arrow_right.svg';\nexport { default as anglesLeft } from '../assets/svg/angles-left.svg';\nexport { default as angleDown } from '../assets/svg/angle_down.svg';\nexport { default as angleUp } from '../assets/svg/angle_up.svg';\nexport { default as angleLeft } from '../assets/svg/angle_left.svg';\nexport { default as angleRight } from '../assets/svg/angle_right.svg';\nexport { default as duplicateLine } from '../assets/svg/page-actions/duplicate_line.svg';\nexport { default as plus } from '../assets/svg/plus.svg';\nexport { default as minus } from '../assets/svg/minus.svg';\nexport { default as trashLine } from '../assets/svg/page-actions/trash_line.svg';\nexport { default as pageSettings } from '../assets/svg/page_settings.svg';\n\n// Context Menu //\n\nexport { default as moveToFront } from '../assets/svg/contextmenu/moveToFront.svg';\nexport { default as moveToForward } from '../assets/svg/contextmenu/moveToForward.svg';\nexport { default as moveToBackward } from '../assets/svg/contextmenu/moveToBackward.svg';\nexport { default as moveToBack } from '../assets/svg/contextmenu/moveToBack.svg';\n\n// Presentation //\n\nexport { default as print } from '../assets/svg/presentation/print.svg';\nexport { default as download } from '../assets/svg/presentation/download.svg';\nexport { default as play } from '../assets/svg/presentation/play.svg';\nexport { default as enterFullscreen } from '../assets/svg/presentation/enter_fullscreen.svg';\nexport { default as exitFullscreen } from '../assets/svg/presentation/exit_fullscreen.svg';\nexport { default as pause } from '../assets/svg/presentation/pause.svg';\nexport { default as share } from '../assets/svg/presentation/share.svg';\nexport { default as attachment } from '../assets/svg/presentation/attachment.svg';\nexport { default as pen } from '../assets/svg/presentation/pen.svg';\n\n// Password Modal //\n\nexport { default as key } from '../assets/svg/presentation/key.svg';\nexport { default as eye } from '../assets/svg/presentation/eye.svg';\n\n// Placeholder //\n\nexport { default as piePlaceholder } from '../assets/svg/placeholder/pie.svg';\nexport { default as barPlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as linePlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as columnPlaceholder } from '../assets/svg/placeholder/column.svg';\nexport { default as basicPlaceholder } from '../assets/svg/placeholder/basic.svg';\nexport { default as donutPlaceholder } from '../assets/svg/placeholder/donut.svg';\nexport { default as textGridPlaceholder } from '../assets/svg/placeholder/grid.svg';\n\n// Placeholder //\n\n// Zoom //\n\nexport { default as fit } from '../assets/svg/fit_screen.svg';\n\n// Zoom //\n\n// Loading //\nexport { default as loadingCircle } from '../assets/svg/loading_circle.svg';\n\n// Error Boundary //\n\nexport { default as exclamationIcon } from '../assets/svg/exclamation.svg';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"icons.js","sources":["../../../src/utils/icons.js"],"sourcesContent":["// General //\n\nexport { default as down } from '../assets/svg/arrow_down.svg';\nexport { default as drag } from '../assets/svg/settings/drag.svg';\nexport { default as trash } from '../assets/svg/trash.svg';\nexport { default as close } from '../assets/svg/close.svg';\nexport { default as rotate } from '../assets/svg/rotate.svg';\nexport { default as customize } from '../assets/svg/customize.svg';\nexport { default as slides } from '../assets/svg/slides.svg';\nexport { default as settingsToggle } from '../assets/svg/settings_toggle.svg';\nexport { default as ellipsisVertical } from '../assets/svg/ellipsis-vertical.svg';\n\n// Elements //\n\nexport { default as header } from '../assets/svg/toolbox/header.svg';\nexport { default as icon } from '../assets/svg/toolbox/icon.svg';\nexport { default as image } from '../assets/svg/toolbox/image.svg';\nexport { default as label } from '../assets/svg/toolbox/label.svg';\nexport { default as shapes } from '../assets/svg/toolbox/shapes.svg';\nexport { default as table } from '../assets/svg/toolbox/table.svg';\nexport { default as textElement } from '../assets/svg/toolbox/text_element.svg';\nexport { default as text } from '../assets/svg/toolbox/text.svg';\nexport { default as star } from '../assets/svg/toolbox/star.svg';\nexport { default as email } from '../assets/svg/toolbox/email.svg';\nexport { default as singleChoice } from '../assets/svg/toolbox/single_choice.svg';\nexport { default as multipleChoice } from '../assets/svg/toolbox/multiple_choice.svg';\nexport { default as lock } from '../assets/svg/settings/lock.svg';\nexport { default as unlock } from '../assets/svg/settings/unlock.svg';\n\n// Settings //\n\nexport { default as bold } from '../assets/svg/settings/font_bold.svg';\nexport { default as italic } from '../assets/svg/settings/font_italic.svg';\nexport { default as underline } from '../assets/svg/settings/font_underline.svg';\nexport { default as alignLeft } from '../assets/svg/settings/align_left.svg';\nexport { default as alignCenter } from '../assets/svg/settings/align_center.svg';\nexport { default as alignRight } from '../assets/svg/settings/align_right.svg';\n\n// Chart Settings //\n\nexport { default as pie } from '../assets/svg/settings/chart_pie.svg';\nexport { default as bar } from '../assets/svg/settings/chart_bar.svg';\nexport { default as line } from '../assets/svg/settings/chart_line.svg';\nexport { default as basic } from '../assets/svg/settings/chart_basic.svg';\nexport { default as donut } from '../assets/svg/settings/chart_donut.svg';\nexport { default as grid } from '../assets/svg/settings/chart_grid.svg';\nexport { default as textGrid } from '../assets/svg/settings/chart_textGrid.svg';\nexport { default as column } from '../assets/svg/settings/chart_column.svg';\nexport { default as layout } from '../assets/svg/settings/layout.svg';\nexport { default as starRating } from '../assets/svg/star_rating.svg';\nexport { default as heartRating } from '../assets/svg/heart_rating.svg';\n\n// Shape Settings //\n\nexport { default as rectangleIcon } from '../assets/svg/settings/rectangle.svg';\nexport { default as ellipseIcon } from '../assets/svg/settings/ellipse.svg';\nexport { default as triangleIcon } from '../assets/svg/settings/triangle.svg';\nexport { default as starIcon } from '../assets/svg/settings/star.svg';\nexport { default as lineIcon } from '../assets/svg/settings/line.svg';\n\n// Element Menu //\n\nexport { default as duplicate } from '../assets/svg/duplicate.svg';\nexport { default as settings } from '../assets/svg/settings.svg';\n\n// Page Menu //\n\nexport { default as arrowDown } from '../assets/svg/arrow_down.svg';\nexport { default as arrowUp } from '../assets/svg/arrow_up.svg';\nexport { default as arrowLeft } from '../assets/svg/arrow_left.svg';\nexport { default as arrowRight } from '../assets/svg/arrow_right.svg';\nexport { default as anglesLeft } from '../assets/svg/angles-left.svg';\nexport { default as angleDown } from '../assets/svg/angle_down.svg';\nexport { default as angleUp } from '../assets/svg/angle_up.svg';\nexport { default as angleLeft } from '../assets/svg/angle_left.svg';\nexport { default as angleRight } from '../assets/svg/angle_right.svg';\nexport { default as duplicateLine } from '../assets/svg/page-actions/duplicate_line.svg';\nexport { default as plus } from '../assets/svg/plus.svg';\nexport { default as minus } from '../assets/svg/minus.svg';\nexport { default as trashLine } from '../assets/svg/page-actions/trash_line.svg';\nexport { default as pageSettings } from '../assets/svg/page_settings.svg';\n\n// Context Menu //\n\nexport { default as moveToFront } from '../assets/svg/contextmenu/moveToFront.svg';\nexport { default as moveToForward } from '../assets/svg/contextmenu/moveToForward.svg';\nexport { default as moveToBackward } from '../assets/svg/contextmenu/moveToBackward.svg';\nexport { default as moveToBack } from '../assets/svg/contextmenu/moveToBack.svg';\n\n// Presentation //\n\nexport { default as print } from '../assets/svg/presentation/print.svg';\nexport { default as download } from '../assets/svg/presentation/download.svg';\nexport { default as play } from '../assets/svg/presentation/play.svg';\nexport { default as enterFullscreen } from '../assets/svg/presentation/enter_fullscreen.svg';\nexport { default as exitFullscreen } from '../assets/svg/presentation/exit_fullscreen.svg';\nexport { default as pause } from '../assets/svg/presentation/pause.svg';\nexport { default as share } from '../assets/svg/presentation/share.svg';\nexport { default as attachment } from '../assets/svg/presentation/attachment.svg';\nexport { default as pen } from '../assets/svg/presentation/pen.svg';\n\n// Password Modal //\n\nexport { default as key } from '../assets/svg/presentation/key.svg';\nexport { default as eye } from '../assets/svg/presentation/eye.svg';\n\n// Placeholder //\n\nexport { default as piePlaceholder } from '../assets/svg/placeholder/pie.svg';\nexport { default as barPlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as linePlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as columnPlaceholder } from '../assets/svg/placeholder/column.svg';\nexport { default as basicPlaceholder } from '../assets/svg/placeholder/basic.svg';\nexport { default as donutPlaceholder } from '../assets/svg/placeholder/donut.svg';\nexport { default as textGridPlaceholder } from '../assets/svg/placeholder/grid.svg';\n\n// Placeholder //\n\n// Zoom //\n\nexport { default as fit } from '../assets/svg/fit_screen.svg';\nexport { default as collapsePresentation } from '../assets/svg/carets_to_center.svg';\nexport { default as expandPresentation } from '../assets/svg/carets_from_center.svg';\n\n// Zoom //\n\n// Loading //\nexport { default as loadingCircle } from '../assets/svg/loading_circle.svg';\n\n// Error Boundary //\n\nexport { default as exclamationIcon } from '../assets/svg/exclamation.svg';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createElement } from 'react';
|
|
2
|
+
|
|
3
|
+
var _path;
|
|
4
|
+
|
|
5
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
6
|
+
|
|
7
|
+
function SvgCaretsFromCenter(props) {
|
|
8
|
+
return /*#__PURE__*/createElement("svg", _extends({
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
viewBox: "0 0 32 32",
|
|
11
|
+
fill: "none"
|
|
12
|
+
}, props), _path || (_path = /*#__PURE__*/createElement("path", {
|
|
13
|
+
fillRule: "evenodd",
|
|
14
|
+
clipRule: "evenodd",
|
|
15
|
+
d: "M9.333 2.667H4c-.736 0-1.333.597-1.333 1.333v5.333a1.333 1.333 0 002.276.943l1.724-1.724 4.39 4.39a1.333 1.333 0 101.886-1.885l-4.39-4.39 1.723-1.724a1.333 1.333 0 00-.943-2.276zm13.334 0a1.333 1.333 0 00-.943 2.276l1.724 1.724-4.39 4.39a1.333 1.333 0 101.885 1.886l4.39-4.39 1.724 1.723a1.333 1.333 0 002.276-.943V4c0-.736-.597-1.333-1.333-1.333h-5.333zm-9.724 18.276a1.333 1.333 0 10-1.886-1.886l-4.39 4.39-1.724-1.723a1.333 1.333 0 00-2.276.943V28c0 .736.597 1.334 1.333 1.334h5.333a1.333 1.333 0 00.943-2.277l-1.724-1.724 4.39-4.39zm6.114-1.886c.52-.52 1.365-.52 1.886 0l4.39 4.39 1.724-1.723a1.333 1.333 0 012.276.943V28c0 .736-.597 1.334-1.333 1.334h-5.333a1.333 1.333 0 01-.943-2.277l1.724-1.723-4.39-4.391a1.333 1.333 0 010-1.886z",
|
|
16
|
+
fill: "#000"
|
|
17
|
+
})));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default SvgCaretsFromCenter;
|
|
21
|
+
//# sourceMappingURL=carets_from_center.svg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carets_from_center.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createElement } from 'react';
|
|
2
|
+
|
|
3
|
+
var _path;
|
|
4
|
+
|
|
5
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
6
|
+
|
|
7
|
+
function SvgCaretsToCenter(props) {
|
|
8
|
+
return /*#__PURE__*/createElement("svg", _extends({
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
viewBox: "0 0 32 32",
|
|
11
|
+
fill: "none"
|
|
12
|
+
}, props), _path || (_path = /*#__PURE__*/createElement("path", {
|
|
13
|
+
fillRule: "evenodd",
|
|
14
|
+
clipRule: "evenodd",
|
|
15
|
+
d: "M3.057 3.057c.52-.52 1.365-.52 1.886 0l4.39 4.39 1.724-1.723a1.333 1.333 0 012.276.943V12c0 .736-.597 1.334-1.333 1.334H6.667a1.333 1.333 0 01-.943-2.277l1.724-1.724-4.39-4.39a1.333 1.333 0 010-1.886zm3.61 15.61a1.333 1.333 0 00-.943 2.276l1.724 1.724-4.39 4.39a1.333 1.333 0 101.885 1.886l4.39-4.39 1.724 1.723a1.333 1.333 0 002.276-.943V20c0-.736-.597-1.333-1.333-1.333H6.667zm18.666 0H20c-.736 0-1.333.597-1.333 1.333v5.333a1.333 1.333 0 002.276.943l1.724-1.724 4.39 4.39a1.333 1.333 0 001.886-1.885l-4.39-4.39 1.723-1.724a1.333 1.333 0 00-.943-2.276zM19.49 5.435a1.333 1.333 0 011.453.289l1.724 1.724 4.39-4.39a1.333 1.333 0 011.886 1.885l-4.39 4.39 1.723 1.724a1.333 1.333 0 01-.943 2.277H20A1.333 1.333 0 0118.667 12V6.667c0-.54.324-1.026.823-1.232z",
|
|
16
|
+
fill: "#000"
|
|
17
|
+
})));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default SvgCaretsToCenter;
|
|
21
|
+
//# sourceMappingURL=carets_to_center.svg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carets_to_center.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import 'core-js/modules/es.array.concat.js';
|
|
2
|
-
import
|
|
2
|
+
import 'core-js/modules/es.array.find.js';
|
|
3
|
+
import { memo, useState, useEffect, useMemo, useLayoutEffect } from 'react';
|
|
3
4
|
import PropTypes from 'prop-types';
|
|
4
5
|
import { useDrag } from 'react-dnd';
|
|
5
6
|
import { getEmptyImage } from 'react-dnd-html5-backend';
|
|
@@ -74,6 +75,12 @@ var DraggableItemContent = function DraggableItemContent(_ref) {
|
|
|
74
75
|
var onItemResize = usePropStore(function (state) {
|
|
75
76
|
return state.onItemResize;
|
|
76
77
|
});
|
|
78
|
+
var pages = usePropStore(function (state) {
|
|
79
|
+
return state.pages;
|
|
80
|
+
});
|
|
81
|
+
var settings = usePropStore(function (state) {
|
|
82
|
+
return state.settings;
|
|
83
|
+
});
|
|
77
84
|
var activeElements = useBuilderStore(function (state) {
|
|
78
85
|
return state.activeElements;
|
|
79
86
|
});
|
|
@@ -101,6 +108,9 @@ var DraggableItemContent = function DraggableItemContent(_ref) {
|
|
|
101
108
|
var zoom = useBuilderStore(function (state) {
|
|
102
109
|
return state.zoom;
|
|
103
110
|
});
|
|
111
|
+
var setToolbarPosition = useBuilderStore(function (state) {
|
|
112
|
+
return state.setToolbarPosition;
|
|
113
|
+
});
|
|
104
114
|
var isSelected = isSelectedItem(_item2.id, activeElements);
|
|
105
115
|
|
|
106
116
|
var select = function select(event) {
|
|
@@ -298,6 +308,36 @@ var DraggableItemContent = function DraggableItemContent(_ref) {
|
|
|
298
308
|
width: stateWidth
|
|
299
309
|
});
|
|
300
310
|
}, [_item2, stateHeight, stateLeft, stateTop, stateWidth]);
|
|
311
|
+
useLayoutEffect(function () {
|
|
312
|
+
if (!isSelected) return;
|
|
313
|
+
var THRESHOLD = 80;
|
|
314
|
+
var currentPage = pages === null || pages === void 0 ? void 0 : pages.find(function (p) {
|
|
315
|
+
return p.id === pageID;
|
|
316
|
+
});
|
|
317
|
+
var pageWidth = parseInt((currentPage === null || currentPage === void 0 ? void 0 : currentPage.reportLayoutWidth) || (settings === null || settings === void 0 ? void 0 : settings.reportLayoutWidth) || '1123', 10);
|
|
318
|
+
var pageHeight = parseInt((currentPage === null || currentPage === void 0 ? void 0 : currentPage.reportLayoutHeight) || (settings === null || settings === void 0 ? void 0 : settings.reportLayoutHeight) || '794', 10);
|
|
319
|
+
var itemRight = stateLeft + stateWidth;
|
|
320
|
+
var itemBottom = stateTop + stateHeight;
|
|
321
|
+
var verticalAlignment = stateHeight > stateWidth;
|
|
322
|
+
|
|
323
|
+
var getVerticalPosition = function getVerticalPosition() {
|
|
324
|
+
if (stateLeft < THRESHOLD) return 'right-align';
|
|
325
|
+
if (pageWidth - itemRight < THRESHOLD) return 'left-align';
|
|
326
|
+
return 'right-align';
|
|
327
|
+
};
|
|
328
|
+
|
|
329
|
+
var getHorizontalPosition = function getHorizontalPosition() {
|
|
330
|
+
if (stateTop < THRESHOLD) return 'bottom-align';
|
|
331
|
+
if (pageHeight - itemBottom < THRESHOLD) return 'top-align';
|
|
332
|
+
return 'top-align';
|
|
333
|
+
};
|
|
334
|
+
|
|
335
|
+
var toolbarPosition = verticalAlignment ? getVerticalPosition() : getHorizontalPosition();
|
|
336
|
+
setToolbarPosition({
|
|
337
|
+
itemId: id,
|
|
338
|
+
position: toolbarPosition
|
|
339
|
+
});
|
|
340
|
+
}, [id, isSelected, pageID, pages, settings, setToolbarPosition, stateHeight, stateLeft, stateTop, stateWidth]);
|
|
301
341
|
return /*#__PURE__*/jsx(ItemPositioner, {
|
|
302
342
|
classNames: "reportItemWrapper".concat(isSelected ? ' isSelected' : ''),
|
|
303
343
|
dataItemId: id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DraggableItem.js","sources":["../../../../src/components/DraggableItem/DraggableItem.js"],"sourcesContent":["import {\n useEffect, useState, memo, useMemo,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrag } from 'react-dnd';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport ItemPositioner from '../ItemPositioner';\nimport { DRAGGABLE_ITEM_TYPE } from '../../constants/itemTypes';\nimport {\n getStyles, getPosition, isSelectedItem, getMatchesForItem, roundPositionValues,\n} from '../../utils/functions';\nimport PageItemResizer from '../PageItemResizer';\nimport ErrorBoundary from '../ErrorBoundary/ErrorBoundary';\nimport * as classNames from '../../constants/classNames';\nimport generateId from '../../utils/generateId';\nimport {\n addEventListenerForSidebar,\n removeEventListenerForSidebar,\n} from '../../utils/scrollZoneFunctions';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst reportItemStyle = {\n height: '100%',\n width: '100%',\n};\n\nconst DraggableItemContent = ({\n children = null,\n item = {},\n}) => {\n const {\n height,\n id,\n isLocked,\n left,\n pageID,\n top,\n width,\n } = item;\n\n const [\n {\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n },\n setResizeSize,\n ] = useState({\n height,\n left,\n top,\n width,\n });\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n const onItemResize = usePropStore(state => state.onItemResize);\n\n const activeElements = useBuilderStore(state => state.activeElements);\n const setActiveElements = useBuilderStore(state => state.setActiveElements);\n const setContextMenuProps = useBuilderStore(state => state.setContextMenuProps);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setIsResize = useBuilderStore(state => state.setIsResize);\n const setMatches = useBuilderStore(state => state.setMatches);\n const guides = useBuilderStore(state => state.guides);\n const zoom = useBuilderStore(state => state.zoom);\n\n const isSelected = isSelectedItem(item.id, activeElements);\n\n const select = event => {\n if (!isSelected) {\n if (!event || !event.metaKey) { // Single item selected\n setActiveElements(id, true);\n if (isLocked) {\n setIsRightPanelOpen(false);\n }\n } else {\n // Multiple items selected\n setActiveElements(id, false, false);\n setIsRightPanelOpen(false);\n }\n }\n };\n\n const canDrag = !item.isLocked && !isTextEditorOpen;\n\n const [{ isDragging }, drag, preview] = useDrag(() => ({\n canDrag: () => canDrag,\n collect: monitor => ({\n isDragging: monitor.isDragging(),\n }),\n end: (_item, monitor) => {\n const dropResult = monitor.getDropResult();\n if (dropResult && dropResult[id]) {\n const { left: dropLeft, top: dropTop } = dropResult[id];\n setResizeSize(prev => {\n return {\n height: prev.height,\n left: dropLeft,\n top: dropTop,\n width: prev.width,\n };\n });\n }\n removeEventListenerForSidebar();\n },\n isDragging: () => isSelected,\n item: () => {\n select();\n addEventListenerForSidebar();\n return item;\n },\n type: DRAGGABLE_ITEM_TYPE,\n }), [\n item,\n canDrag,\n id,\n isSelected,\n ]);\n\n useEffect(() => {\n if (preview) {\n preview(getEmptyImage(), { captureDraggingState: true });\n }\n }, [preview]);\n\n useEffect(() => {\n setResizeSize(prev => {\n if (prev.left !== left || prev.top !== top || prev.width !== width || prev.height !== height) {\n return {\n ...prev,\n height,\n left,\n top,\n width,\n };\n }\n\n return prev;\n });\n }, [left, top, width, height]);\n\n const onResizeStop = () => {\n setIsResize(false);\n setMatches({});\n onItemResize(item, roundPositionValues({\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }));\n };\n\n const onResize = (deltaWidth, deltaHeight, direction) => {\n setIsResize(true);\n\n const isLeft = /left/i.test(direction);\n const isTop = /top/i.test(direction);\n const isRight = /right/i.test(direction);\n const isBottom = /bottom/i.test(direction);\n\n const activeItem = {\n ...item,\n height: item.height + deltaHeight,\n left: isLeft ? item.left - deltaWidth : item.left,\n top: isTop ? item.top - deltaHeight : item.top,\n width: item.width + deltaWidth,\n };\n\n const newMatches = getMatchesForItem(activeItem, guides, zoom, direction);\n setMatches(newMatches);\n\n const snapX = newMatches?.x?.intersection / zoom;\n const snapY = newMatches?.y?.intersection / zoom;\n\n const rightEdge = item.left + item.width;\n const bottomEdge = item.top + item.height;\n\n const getWidth = () => {\n if (!snapX) return activeItem.width;\n return isRight ? snapX - item.left : rightEdge - snapX;\n };\n\n const getHeight = () => {\n if (!snapY) return activeItem.height;\n return isBottom ? snapY - item.top : bottomEdge - snapY;\n };\n\n const getLeft = () => {\n if (snapX && isLeft) return snapX;\n return isLeft ? activeItem.left : item.left;\n };\n\n const getTop = () => {\n if (snapY && isTop) return snapY;\n return isTop ? activeItem.top : item.top;\n };\n\n setResizeSize({\n height: getHeight(),\n left: getLeft(),\n top: getTop(),\n width: getWidth(),\n });\n };\n\n const onContextMenuClick = e => {\n if (\n e.target.contentEditable === 'true'\n || isTextEditorOpen\n ) {\n // Dont override behaviour on text edits.\n return;\n }\n\n e.preventDefault();\n onAnEventTrigger('openContextMenu', item.itemType);\n setContextMenuProps({\n id,\n pageID,\n position: getPosition(e),\n });\n };\n\n const onDoubleClick = e => {\n if (\n e.target.contentEditable === 'true'\n || isTextEditorOpen\n ) {\n // Dont override behaviour on text edits.\n return;\n }\n\n setIsRightPanelOpen(true);\n };\n\n const duplicateWithAltKey = e => {\n if (e.altKey) {\n const itemID = generateId();\n const itemToAdd = item;\n setTimeout(() => {\n onItemAdd({\n ...itemToAdd,\n id: itemID,\n left: itemToAdd.left,\n top: itemToAdd.top,\n });\n onAnEventTrigger('duplicateItem', itemToAdd.itemType);\n });\n }\n };\n\n const modifiedItem = useMemo(() => ({\n ...item,\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }), [item, stateHeight, stateLeft, stateTop, stateWidth]);\n\n return (\n <ItemPositioner\n classNames={`reportItemWrapper${isSelected ? ' isSelected' : ''}`}\n dataItemId={id}\n style={{\n ...getStyles(left, top, isDragging),\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }}\n >\n <ErrorBoundary\n item={item}\n level=\"item\"\n >\n <div\n ref={drag}\n className={`${classNames.reportItem}${isLocked ? ' isLocked' : ''}`}\n onContextMenu={onContextMenuClick}\n onDoubleClick={onDoubleClick}\n onDragStart={duplicateWithAltKey}\n onMouseDown={select}\n style={reportItemStyle}\n >\n {children}\n </div>\n {!isDragging && isSelected && (\n <PageItemResizer\n item={modifiedItem}\n onResize={onResize}\n onResizeStop={onResizeStop}\n />\n )}\n </ErrorBoundary>\n </ItemPositioner>\n );\n};\n\nconst DraggableItem = ({ children, item }) => (\n <DraggableItemContent item={item}>\n {children}\n </DraggableItemContent>\n);\n\nDraggableItem.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 isLocked: PropTypes.bool,\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\nDraggableItemContent.propTypes = DraggableItem.propTypes;\n\nexport default memo(DraggableItem);\n"],"names":["reportItemStyle","height","width","DraggableItemContent","children","item","id","isLocked","left","pageID","top","useState","stateHeight","stateLeft","stateTop","stateWidth","setResizeSize","onAnEventTrigger","usePropStore","state","onItemAdd","onItemResize","activeElements","useBuilderStore","setActiveElements","setContextMenuProps","isTextEditorOpen","setIsRightPanelOpen","setIsResize","setMatches","guides","zoom","isSelected","isSelectedItem","select","event","metaKey","canDrag","useDrag","collect","monitor","isDragging","end","_item","dropResult","getDropResult","dropLeft","dropTop","prev","removeEventListenerForSidebar","addEventListenerForSidebar","type","DRAGGABLE_ITEM_TYPE","drag","preview","useEffect","getEmptyImage","captureDraggingState","onResizeStop","roundPositionValues","onResize","deltaWidth","deltaHeight","direction","isLeft","test","isTop","isRight","isBottom","activeItem","newMatches","getMatchesForItem","snapX","x","intersection","snapY","y","rightEdge","bottomEdge","getWidth","getHeight","getLeft","getTop","onContextMenuClick","e","target","contentEditable","preventDefault","itemType","position","getPosition","onDoubleClick","duplicateWithAltKey","altKey","itemID","generateId","itemToAdd","setTimeout","modifiedItem","useMemo","_jsx","getStyles","_jsxs","classNames","DraggableItem","propTypes","PropTypes","any","shape","oneOfType","number","string","bool","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DraggableItem.js","sources":["../../../../src/components/DraggableItem/DraggableItem.js"],"sourcesContent":["import {\n useEffect, useLayoutEffect, useState, memo, useMemo,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrag } from 'react-dnd';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport ItemPositioner from '../ItemPositioner';\nimport { DRAGGABLE_ITEM_TYPE } from '../../constants/itemTypes';\nimport {\n getStyles, getPosition, isSelectedItem, getMatchesForItem, roundPositionValues,\n} from '../../utils/functions';\nimport PageItemResizer from '../PageItemResizer';\nimport ErrorBoundary from '../ErrorBoundary/ErrorBoundary';\nimport * as classNames from '../../constants/classNames';\nimport generateId from '../../utils/generateId';\nimport {\n addEventListenerForSidebar,\n removeEventListenerForSidebar,\n} from '../../utils/scrollZoneFunctions';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst reportItemStyle = {\n height: '100%',\n width: '100%',\n};\n\nconst DraggableItemContent = ({\n children = null,\n item = {},\n}) => {\n const {\n height,\n id,\n isLocked,\n left,\n pageID,\n top,\n width,\n } = item;\n\n const [\n {\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n },\n setResizeSize,\n ] = useState({\n height,\n left,\n top,\n width,\n });\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n const onItemResize = usePropStore(state => state.onItemResize);\n const pages = usePropStore(state => state.pages);\n const settings = usePropStore(state => state.settings);\n\n const activeElements = useBuilderStore(state => state.activeElements);\n const setActiveElements = useBuilderStore(state => state.setActiveElements);\n const setContextMenuProps = useBuilderStore(state => state.setContextMenuProps);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setIsResize = useBuilderStore(state => state.setIsResize);\n const setMatches = useBuilderStore(state => state.setMatches);\n const guides = useBuilderStore(state => state.guides);\n const zoom = useBuilderStore(state => state.zoom);\n\n const setToolbarPosition = useBuilderStore(state => state.setToolbarPosition);\n\n const isSelected = isSelectedItem(item.id, activeElements);\n\n const select = event => {\n if (!isSelected) {\n if (!event || !event.metaKey) { // Single item selected\n setActiveElements(id, true);\n if (isLocked) {\n setIsRightPanelOpen(false);\n }\n } else {\n // Multiple items selected\n setActiveElements(id, false, false);\n setIsRightPanelOpen(false);\n }\n }\n };\n\n const canDrag = !item.isLocked && !isTextEditorOpen;\n\n const [{ isDragging }, drag, preview] = useDrag(() => ({\n canDrag: () => canDrag,\n collect: monitor => ({\n isDragging: monitor.isDragging(),\n }),\n end: (_item, monitor) => {\n const dropResult = monitor.getDropResult();\n if (dropResult && dropResult[id]) {\n const { left: dropLeft, top: dropTop } = dropResult[id];\n setResizeSize(prev => {\n return {\n height: prev.height,\n left: dropLeft,\n top: dropTop,\n width: prev.width,\n };\n });\n }\n removeEventListenerForSidebar();\n },\n isDragging: () => isSelected,\n item: () => {\n select();\n addEventListenerForSidebar();\n return item;\n },\n type: DRAGGABLE_ITEM_TYPE,\n }), [\n item,\n canDrag,\n id,\n isSelected,\n ]);\n\n useEffect(() => {\n if (preview) {\n preview(getEmptyImage(), { captureDraggingState: true });\n }\n }, [preview]);\n\n useEffect(() => {\n setResizeSize(prev => {\n if (prev.left !== left || prev.top !== top || prev.width !== width || prev.height !== height) {\n return {\n ...prev,\n height,\n left,\n top,\n width,\n };\n }\n\n return prev;\n });\n }, [left, top, width, height]);\n\n const onResizeStop = () => {\n setIsResize(false);\n setMatches({});\n onItemResize(item, roundPositionValues({\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }));\n };\n\n const onResize = (deltaWidth, deltaHeight, direction) => {\n setIsResize(true);\n\n const isLeft = /left/i.test(direction);\n const isTop = /top/i.test(direction);\n const isRight = /right/i.test(direction);\n const isBottom = /bottom/i.test(direction);\n\n const activeItem = {\n ...item,\n height: item.height + deltaHeight,\n left: isLeft ? item.left - deltaWidth : item.left,\n top: isTop ? item.top - deltaHeight : item.top,\n width: item.width + deltaWidth,\n };\n\n const newMatches = getMatchesForItem(activeItem, guides, zoom, direction);\n setMatches(newMatches);\n\n const snapX = newMatches?.x?.intersection / zoom;\n const snapY = newMatches?.y?.intersection / zoom;\n\n const rightEdge = item.left + item.width;\n const bottomEdge = item.top + item.height;\n\n const getWidth = () => {\n if (!snapX) return activeItem.width;\n return isRight ? snapX - item.left : rightEdge - snapX;\n };\n\n const getHeight = () => {\n if (!snapY) return activeItem.height;\n return isBottom ? snapY - item.top : bottomEdge - snapY;\n };\n\n const getLeft = () => {\n if (snapX && isLeft) return snapX;\n return isLeft ? activeItem.left : item.left;\n };\n\n const getTop = () => {\n if (snapY && isTop) return snapY;\n return isTop ? activeItem.top : item.top;\n };\n\n setResizeSize({\n height: getHeight(),\n left: getLeft(),\n top: getTop(),\n width: getWidth(),\n });\n };\n\n const onContextMenuClick = e => {\n if (\n e.target.contentEditable === 'true'\n || isTextEditorOpen\n ) {\n // Dont override behaviour on text edits.\n return;\n }\n\n e.preventDefault();\n onAnEventTrigger('openContextMenu', item.itemType);\n setContextMenuProps({\n id,\n pageID,\n position: getPosition(e),\n });\n };\n\n const onDoubleClick = e => {\n if (\n e.target.contentEditable === 'true'\n || isTextEditorOpen\n ) {\n // Dont override behaviour on text edits.\n return;\n }\n\n setIsRightPanelOpen(true);\n };\n\n const duplicateWithAltKey = e => {\n if (e.altKey) {\n const itemID = generateId();\n const itemToAdd = item;\n setTimeout(() => {\n onItemAdd({\n ...itemToAdd,\n id: itemID,\n left: itemToAdd.left,\n top: itemToAdd.top,\n });\n onAnEventTrigger('duplicateItem', itemToAdd.itemType);\n });\n }\n };\n\n const modifiedItem = useMemo(() => ({\n ...item,\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }), [item, stateHeight, stateLeft, stateTop, stateWidth]);\n\n useLayoutEffect(() => {\n if (!isSelected) return;\n const THRESHOLD = 80;\n\n const currentPage = pages?.find(p => p.id === pageID);\n\n const pageWidth = parseInt(currentPage?.reportLayoutWidth || settings?.reportLayoutWidth || '1123', 10);\n const pageHeight = parseInt(currentPage?.reportLayoutHeight || settings?.reportLayoutHeight || '794', 10);\n\n const itemRight = stateLeft + stateWidth;\n const itemBottom = stateTop + stateHeight;\n\n const verticalAlignment = stateHeight > stateWidth;\n\n const getVerticalPosition = () => {\n if (stateLeft < THRESHOLD) return 'right-align';\n if (pageWidth - itemRight < THRESHOLD) return 'left-align';\n return 'right-align';\n };\n\n const getHorizontalPosition = () => {\n if (stateTop < THRESHOLD) return 'bottom-align';\n if (pageHeight - itemBottom < THRESHOLD) return 'top-align';\n return 'top-align';\n };\n\n const toolbarPosition = verticalAlignment ? getVerticalPosition() : getHorizontalPosition();\n setToolbarPosition({ itemId: id, position: toolbarPosition });\n }, [id, isSelected, pageID, pages, settings, setToolbarPosition, stateHeight, stateLeft, stateTop, stateWidth]);\n\n return (\n <ItemPositioner\n classNames={`reportItemWrapper${isSelected ? ' isSelected' : ''}`}\n dataItemId={id}\n style={{\n ...getStyles(left, top, isDragging),\n height: stateHeight,\n left: stateLeft,\n top: stateTop,\n width: stateWidth,\n }}\n >\n <ErrorBoundary\n item={item}\n level=\"item\"\n >\n <div\n ref={drag}\n className={`${classNames.reportItem}${isLocked ? ' isLocked' : ''}`}\n onContextMenu={onContextMenuClick}\n onDoubleClick={onDoubleClick}\n onDragStart={duplicateWithAltKey}\n onMouseDown={select}\n style={reportItemStyle}\n >\n {children}\n </div>\n {!isDragging && isSelected && (\n <PageItemResizer\n item={modifiedItem}\n onResize={onResize}\n onResizeStop={onResizeStop}\n />\n )}\n </ErrorBoundary>\n </ItemPositioner>\n );\n};\n\nconst DraggableItem = ({ children, item }) => (\n <DraggableItemContent item={item}>\n {children}\n </DraggableItemContent>\n);\n\nDraggableItem.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 isLocked: PropTypes.bool,\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\nDraggableItemContent.propTypes = DraggableItem.propTypes;\n\nexport default memo(DraggableItem);\n"],"names":["reportItemStyle","height","width","DraggableItemContent","children","item","id","isLocked","left","pageID","top","useState","stateHeight","stateLeft","stateTop","stateWidth","setResizeSize","onAnEventTrigger","usePropStore","state","onItemAdd","onItemResize","pages","settings","activeElements","useBuilderStore","setActiveElements","setContextMenuProps","isTextEditorOpen","setIsRightPanelOpen","setIsResize","setMatches","guides","zoom","setToolbarPosition","isSelected","isSelectedItem","select","event","metaKey","canDrag","useDrag","collect","monitor","isDragging","end","_item","dropResult","getDropResult","dropLeft","dropTop","prev","removeEventListenerForSidebar","addEventListenerForSidebar","type","DRAGGABLE_ITEM_TYPE","drag","preview","useEffect","getEmptyImage","captureDraggingState","onResizeStop","roundPositionValues","onResize","deltaWidth","deltaHeight","direction","isLeft","test","isTop","isRight","isBottom","activeItem","newMatches","getMatchesForItem","snapX","x","intersection","snapY","y","rightEdge","bottomEdge","getWidth","getHeight","getLeft","getTop","onContextMenuClick","e","target","contentEditable","preventDefault","itemType","position","getPosition","onDoubleClick","duplicateWithAltKey","altKey","itemID","generateId","itemToAdd","setTimeout","modifiedItem","useMemo","useLayoutEffect","THRESHOLD","currentPage","find","p","pageWidth","parseInt","reportLayoutWidth","pageHeight","reportLayoutHeight","itemRight","itemBottom","verticalAlignment","getVerticalPosition","getHorizontalPosition","toolbarPosition","itemId","_jsx","getStyles","_jsxs","classNames","DraggableItem","propTypes","PropTypes","any","shape","oneOfType","number","string","bool","memo"],"mappings":"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"}
|