@jotforminc/dnd-builder 3.2.0 → 3.2.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 +10 -0
- package/lib/cjs/components/Builder/Tabs.js +15 -20
- package/lib/cjs/components/Builder/Tabs.js.map +1 -1
- package/lib/cjs/components/PageItemResizer.js +4 -0
- package/lib/cjs/components/PageItemResizer.js.map +1 -1
- package/lib/cjs/styles/_jfReportsPanels.scss +4 -2
- package/lib/esm/components/Builder/Tabs.js +15 -20
- package/lib/esm/components/Builder/Tabs.js.map +1 -1
- package/lib/esm/components/PageItemResizer.js +4 -0
- package/lib/esm/components/PageItemResizer.js.map +1 -1
- package/lib/esm/styles/_jfReportsPanels.scss +4 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [3.2.1](https://github.com/jotform/dnd-builder/compare/v3.2.0...v3.2.1) (2026-02-10)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* corrects tab indicator positioning ([95c8b59](https://github.com/jotform/dnd-builder/commit/95c8b59480bdc3d189baf2aae15863c9a4419cc4))
|
|
11
|
+
* preventing focus-stayed element ([3999359](https://github.com/jotform/dnd-builder/commit/39993593f34ca4be44a40c38a23313b49f709b7a))
|
|
12
|
+
* tests ([83ab97c](https://github.com/jotform/dnd-builder/commit/83ab97c3a0669a436fb18c66bafef9f98e6fc4dd))
|
|
13
|
+
* unnecessary css line is removed ([485f38d](https://github.com/jotform/dnd-builder/commit/485f38db46a07eb1d440f64478b1ee4b3f24a9ab))
|
|
14
|
+
|
|
5
15
|
## [3.2.0](https://github.com/jotform/dnd-builder/compare/v3.1.1...v3.2.0) (2026-02-06)
|
|
6
16
|
|
|
7
17
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/es.array.concat.js');
|
|
3
4
|
require('core-js/modules/es.array.map.js');
|
|
4
5
|
var React = require('react');
|
|
5
6
|
var PropTypes = require('prop-types');
|
|
@@ -18,46 +19,40 @@ var Tabs = function Tabs(_ref) {
|
|
|
18
19
|
var activeTab = BuilderContext.useBuilderStore(function (state) {
|
|
19
20
|
return state.activeTab;
|
|
20
21
|
});
|
|
21
|
-
var isLeftPanelOpen = BuilderContext.useBuilderStore(function (state) {
|
|
22
|
-
return state.isLeftPanelOpen;
|
|
23
|
-
});
|
|
24
|
-
var isRightPanelOpen = BuilderContext.useBuilderStore(function (state) {
|
|
25
|
-
return state.isRightPanelOpen;
|
|
26
|
-
});
|
|
27
22
|
var setActiveTab = BuilderContext.useBuilderStore(function (state) {
|
|
28
23
|
return state.setActiveTab;
|
|
29
24
|
});
|
|
30
25
|
var onAnEventTrigger = PropContext.usePropStore(function (state) {
|
|
31
26
|
return state.onAnEventTrigger;
|
|
32
27
|
});
|
|
33
|
-
var setCurrentTab = React.useCallback(function (index
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
28
|
+
var setCurrentTab = React.useCallback(function (index) {
|
|
29
|
+
return function () {
|
|
30
|
+
setActiveTab(panel, index);
|
|
31
|
+
onAnEventTrigger('settingTabChanged', tabs[index]);
|
|
32
|
+
};
|
|
33
|
+
}, [setActiveTab, onAnEventTrigger, panel, tabs]);
|
|
37
34
|
return tabs.length > 1 && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
38
35
|
className: "toolTabs d-flex p-relative ".concat(panel),
|
|
39
36
|
"data-tab": tabs.length,
|
|
40
37
|
children: [tabs.map(function (tab, index) {
|
|
41
|
-
var
|
|
38
|
+
var inputId = "tabs-".concat(panel, "-").concat(index);
|
|
42
39
|
return /*#__PURE__*/jsxRuntime.jsxs(React.Fragment, {
|
|
43
40
|
children: [/*#__PURE__*/jsxRuntime.jsx("input", {
|
|
44
|
-
checked:
|
|
45
|
-
className: "toolTabs-tab",
|
|
46
|
-
id:
|
|
47
|
-
name: "tabs",
|
|
48
|
-
onChange:
|
|
49
|
-
return setCurrentTab(index, tab);
|
|
50
|
-
},
|
|
41
|
+
checked: activeTab[panel] === index,
|
|
42
|
+
className: "toolTabs-tab ".concat(panel),
|
|
43
|
+
id: inputId,
|
|
44
|
+
name: "tabs-".concat(panel),
|
|
45
|
+
onChange: setCurrentTab(index),
|
|
51
46
|
"tab-count": index,
|
|
52
47
|
type: "radio"
|
|
53
48
|
}), /*#__PURE__*/jsxRuntime.jsx("label", {
|
|
54
49
|
className: "t-normal js-tabLabel",
|
|
55
|
-
htmlFor:
|
|
50
|
+
htmlFor: inputId,
|
|
56
51
|
children: /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
57
52
|
children: tab
|
|
58
53
|
})
|
|
59
54
|
})]
|
|
60
|
-
},
|
|
55
|
+
}, inputId);
|
|
61
56
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
62
57
|
className: "toolTabs-indicator p-absolute",
|
|
63
58
|
"data-tab": tabs.length
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","sources":["../../../../src/components/Builder/Tabs.js"],"sourcesContent":["import { Fragment, memo, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst Tabs = ({ panel, tabs = [] }) => {\n const activeTab = useBuilderStore(state => state.activeTab);\n const
|
|
1
|
+
{"version":3,"file":"Tabs.js","sources":["../../../../src/components/Builder/Tabs.js"],"sourcesContent":["import { Fragment, memo, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst Tabs = ({ panel, tabs = [] }) => {\n const activeTab = useBuilderStore(state => state.activeTab);\n const setActiveTab = useBuilderStore(state => state.setActiveTab);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const setCurrentTab = useCallback(index => () => {\n setActiveTab(panel, index);\n onAnEventTrigger('settingTabChanged', tabs[index]);\n }, [setActiveTab, onAnEventTrigger, panel, tabs]);\n\n return (\n tabs.length > 1 && (\n <div\n className={`toolTabs d-flex p-relative ${panel}`}\n data-tab={tabs.length}\n >\n {tabs.map((tab, index) => {\n const inputId = `tabs-${panel}-${index}`;\n return (\n <Fragment key={inputId}>\n <input\n checked={activeTab[panel] === index}\n className={`toolTabs-tab ${panel}`}\n id={inputId}\n name={`tabs-${panel}`}\n onChange={setCurrentTab(index)}\n tab-count={index}\n type=\"radio\"\n />\n <label\n className=\"t-normal js-tabLabel\"\n htmlFor={inputId}\n >\n <span>\n {tab}\n </span>\n </label>\n </Fragment>\n );\n })}\n <div\n className=\"toolTabs-indicator p-absolute\"\n data-tab={tabs.length}\n />\n </div>\n )\n );\n};\n\nTabs.propTypes = {\n panel: PropTypes.string.isRequired,\n tabs: PropTypes.arrayOf(PropTypes.string),\n};\n\nexport default memo(Tabs);\n"],"names":["Tabs","panel","tabs","activeTab","useBuilderStore","state","setActiveTab","onAnEventTrigger","usePropStore","setCurrentTab","useCallback","index","length","_jsxs","map","tab","inputId","Fragment","_jsx","propTypes","PropTypes","string","isRequired","arrayOf","memo"],"mappings":";;;;;;;;;;;;;;AAKA,IAAMA,IAAI,GAAG,SAAPA,IAAO,OAA0B;AAAA,MAAvBC,KAAuB,QAAvBA,KAAuB;AAAA,uBAAhBC,IAAgB;AAAA,MAAhBA,IAAgB,0BAAT,EAAS;AACrC,MAAMC,SAAS,GAAGC,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,SAAV;AAAA,GAAN,CAAjC;AACA,MAAMG,YAAY,GAAGF,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,YAAV;AAAA,GAAN,CAApC;AACA,MAAMC,gBAAgB,GAAGC,wBAAY,CAAC,UAAAH,KAAK;AAAA,WAAIA,KAAK,CAACE,gBAAV;AAAA,GAAN,CAArC;AAEA,MAAME,aAAa,GAAGC,iBAAW,CAAC,UAAAC,KAAK;AAAA,WAAI,YAAM;AAC/CL,MAAAA,YAAY,CAACL,KAAD,EAAQU,KAAR,CAAZ;AACAJ,MAAAA,gBAAgB,CAAC,mBAAD,EAAsBL,IAAI,CAACS,KAAD,CAA1B,CAAhB;AACD,KAHsC;AAAA,GAAN,EAG9B,CAACL,YAAD,EAAeC,gBAAf,EAAiCN,KAAjC,EAAwCC,IAAxC,CAH8B,CAAjC;AAKA,SACEA,IAAI,CAACU,MAAL,GAAc,CAAd,iBACEC;AACE,IAAA,SAAS,uCAAgCZ,KAAhC,CADX;AAEE,gBAAUC,IAAI,CAACU,MAFjB;AAAA,eAIGV,IAAI,CAACY,GAAL,CAAS,UAACC,GAAD,EAAMJ,KAAN,EAAgB;AACxB,UAAMK,OAAO,kBAAWf,KAAX,cAAoBU,KAApB,CAAb;AACA,0BACEE,gBAACI,cAAD;AAAA,gCACEC;AACE,UAAA,OAAO,EAAEf,SAAS,CAACF,KAAD,CAAT,KAAqBU,KADhC;AAEE,UAAA,SAAS,yBAAkBV,KAAlB,CAFX;AAGE,UAAA,EAAE,EAAEe,OAHN;AAIE,UAAA,IAAI,iBAAUf,KAAV,CAJN;AAKE,UAAA,QAAQ,EAAEQ,aAAa,CAACE,KAAD,CALzB;AAME,uBAAWA,KANb;AAOE,UAAA,IAAI,EAAC;AAPP,UADF,eAUEO;AACE,UAAA,SAAS,EAAC,sBADZ;AAEE,UAAA,OAAO,EAAEF,OAFX;AAAA,iCAIEE;AAAA,sBACGH;AADH;AAJF,UAVF;AAAA,SAAeC,OAAf,CADF;AAqBD,KAvBA,CAJH,eA4BEE;AACE,MAAA,SAAS,EAAC,+BADZ;AAEE,kBAAUhB,IAAI,CAACU;AAFjB,MA5BF;AAAA,IAFJ;AAqCD,CA/CD;;AAiDAZ,IAAI,CAACmB,SAAL,GAAiB;AACflB,EAAAA,KAAK,EAAEmB,6BAAS,CAACC,MAAV,CAAiBC,UADT;AAEfpB,EAAAA,IAAI,EAAEkB,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACC,MAA5B;AAFS,CAAjB;AAKA,0BAAeG,UAAI,CAACxB,IAAD,CAAnB;;;;"}
|
|
@@ -130,6 +130,10 @@ var PageItemResizer = function PageItemResizer(_ref) {
|
|
|
130
130
|
|
|
131
131
|
setIsRightPanelOpen(false);
|
|
132
132
|
resetActiveElements();
|
|
133
|
+
|
|
134
|
+
if (document.activeElement) {
|
|
135
|
+
document.activeElement.blur();
|
|
136
|
+
}
|
|
133
137
|
};
|
|
134
138
|
|
|
135
139
|
var itemPositionerStyle = React.useMemo(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageItemResizer.js","sources":["../../../src/components/PageItemResizer.js"],"sourcesContent":["import {\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Resizable } from 're-resizable';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport { resizeStaticProps } from '../constants/staticProps';\nimport TextEditorToolbar from './TextEditor/CustomToolbar';\n\nimport DraggableItemActions from './DraggableItem/DraggableItemActions';\nimport ItemPositioner from './ItemPositioner';\nimport withClickOutside from './withClickOutside';\nimport { useBuilderStore } from '../contexts/BuilderContext';\n\nconst exceptionalClassesForClickOutside = ['contextMenu-itemLabel', 'contextMenu-item'];\nconst ResizableWithClickOutside = withClickOutside(Resizable);\n\nconst enableResize = {\n bottom: true,\n bottomLeft: true,\n bottomRight: true,\n left: true,\n right: true,\n top: true,\n topLeft: true,\n topRight: true,\n};\nconst lockAspectRatioTypes = ['image', 'icon'];\nconst exceptionalClasses = [\n 'reportHandle',\n 'reportItemMenu',\n 'jfReport-pane',\n 'pageSettingSideBtn',\n 'reportItemWrapper',\n 'reportRotater',\n 'forZoom',\n 'ql-toolbar',\n 'jSheetContextMenu',\n 'reset-default-contextMenu',\n];\n\nconst PageItemResizer = ({\n item,\n onResize,\n onResizeStop,\n}) => {\n const zoom = useBuilderStore(state => state.zoom);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const isMultipleItemSelected = useBuilderStore(state => state.activeElements.length > 1);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n\n const requestRef = useRef();\n const [lockAspectRatio, setLockAspectRatio] = useState(false);\n\n const handleKeyUp = e => {\n if (!e.shiftKey) setLockAspectRatio(false);\n };\n\n const handleKeyDown = e => {\n if (e.shiftKey) setLockAspectRatio(true);\n };\n\n const seriousResize = (deltaWidth, deltaHeight, direction) => {\n return () => {\n onResize(deltaWidth, deltaHeight, direction);\n requestRef.current = undefined;\n };\n };\n\n const onResizeStart = e => {\n e.preventDefault();\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n };\n\n const onResizeRAF = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n if (!requestRef.current) {\n requestRef.current = global\n .requestAnimationFrame(\n seriousResize(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n ),\n );\n }\n };\n\n const onResizeEnd = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n onResizeStop(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n );\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n\n const onClickOutside = event => {\n // clickoutside should not work for scrollbar\n const viewPort = document.querySelector('.jfReport-viewport');\n const { clientHeight, offsetHeight } = viewPort;\n const headerHeight = window.innerHeight - offsetHeight;\n if (event.clientY - headerHeight >= clientHeight\n || Array.from(event.target.classList)\n .some(xClass => exceptionalClassesForClickOutside.includes(xClass))) {\n return;\n }\n setIsRightPanelOpen(false);\n resetActiveElements();\n };\n\n const itemPositionerStyle = useMemo(() => ({\n height: Math.round(item.height * zoom),\n left: Math.round(item.left * zoom),\n pointerEvents: 'none',\n position: 'absolute',\n top: Math.round(item.top * zoom),\n touchAction: 'none',\n width: Math.round(item.width * zoom),\n }), [item.height, item.left, item.top, item.width, zoom]);\n\n const size = useMemo(() => ({\n height: Math.round(item.height * zoom),\n width: Math.round(item.width * zoom),\n }), [item.height, item.width, zoom]);\n\n const { isLocked } = item;\n\n return createPortal(\n <ItemPositioner\n style={itemPositionerStyle}\n >\n <ResizableWithClickOutside\n className={classNames(\n 'reportItemResizer',\n { hideVerticalHandle: !(item.height > 50) },\n { hideHorizontalHandle: !(item.width > 50) },\n )}\n enable={!item.isLocked && enableResize}\n exceptionalClasses={exceptionalClasses}\n lockAspectRatio={lockAspectRatioTypes.includes(item.itemType) || lockAspectRatio}\n onClickOutside={onClickOutside}\n onResize={onResizeRAF}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeEnd}\n size={size}\n {...resizeStaticProps}\n withClickOutsideWrapperClass={`reportItemResizer-wrapper${isLocked ? ' isLocked' : ''}`}\n />\n {!isMultipleItemSelected && <DraggableItemActions />}\n {isTextEditorOpen && (\n <TextEditorToolbar\n itemWidth={item.width * zoom}\n />\n )}\n </ItemPositioner>,\n document.querySelector(`.jfReport-page[data-id=\"${item.pageID}\"]`),\n );\n};\n\nexport default PageItemResizer;\n"],"names":["exceptionalClassesForClickOutside","ResizableWithClickOutside","withClickOutside","Resizable","enableResize","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","lockAspectRatioTypes","exceptionalClasses","PageItemResizer","item","onResize","onResizeStop","zoom","useBuilderStore","state","setIsRightPanelOpen","resetActiveElements","isMultipleItemSelected","activeElements","length","isTextEditorOpen","requestRef","useRef","useState","lockAspectRatio","setLockAspectRatio","handleKeyUp","e","shiftKey","handleKeyDown","seriousResize","deltaWidth","deltaHeight","direction","current","undefined","onResizeStart","preventDefault","window","addEventListener","onResizeRAF","ref","height","width","global","requestAnimationFrame","Math","round","onResizeEnd","removeEventListener","onClickOutside","event","viewPort","document","querySelector","clientHeight","offsetHeight","headerHeight","innerHeight","clientY","Array","from","target","classList","some","xClass","includes","itemPositionerStyle","useMemo","pointerEvents","position","touchAction","size","isLocked","createPortal","_jsxs","_jsx","classNames","hideVerticalHandle","hideHorizontalHandle","itemType","resizeStaticProps","TextEditorToolbar","pageID"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PageItemResizer.js","sources":["../../../src/components/PageItemResizer.js"],"sourcesContent":["import {\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Resizable } from 're-resizable';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport { resizeStaticProps } from '../constants/staticProps';\nimport TextEditorToolbar from './TextEditor/CustomToolbar';\n\nimport DraggableItemActions from './DraggableItem/DraggableItemActions';\nimport ItemPositioner from './ItemPositioner';\nimport withClickOutside from './withClickOutside';\nimport { useBuilderStore } from '../contexts/BuilderContext';\n\nconst exceptionalClassesForClickOutside = ['contextMenu-itemLabel', 'contextMenu-item'];\nconst ResizableWithClickOutside = withClickOutside(Resizable);\n\nconst enableResize = {\n bottom: true,\n bottomLeft: true,\n bottomRight: true,\n left: true,\n right: true,\n top: true,\n topLeft: true,\n topRight: true,\n};\nconst lockAspectRatioTypes = ['image', 'icon'];\nconst exceptionalClasses = [\n 'reportHandle',\n 'reportItemMenu',\n 'jfReport-pane',\n 'pageSettingSideBtn',\n 'reportItemWrapper',\n 'reportRotater',\n 'forZoom',\n 'ql-toolbar',\n 'jSheetContextMenu',\n 'reset-default-contextMenu',\n];\n\nconst PageItemResizer = ({\n item,\n onResize,\n onResizeStop,\n}) => {\n const zoom = useBuilderStore(state => state.zoom);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const isMultipleItemSelected = useBuilderStore(state => state.activeElements.length > 1);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n\n const requestRef = useRef();\n const [lockAspectRatio, setLockAspectRatio] = useState(false);\n\n const handleKeyUp = e => {\n if (!e.shiftKey) setLockAspectRatio(false);\n };\n\n const handleKeyDown = e => {\n if (e.shiftKey) setLockAspectRatio(true);\n };\n\n const seriousResize = (deltaWidth, deltaHeight, direction) => {\n return () => {\n onResize(deltaWidth, deltaHeight, direction);\n requestRef.current = undefined;\n };\n };\n\n const onResizeStart = e => {\n e.preventDefault();\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n };\n\n const onResizeRAF = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n if (!requestRef.current) {\n requestRef.current = global\n .requestAnimationFrame(\n seriousResize(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n ),\n );\n }\n };\n\n const onResizeEnd = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n onResizeStop(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n );\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n\n const onClickOutside = event => {\n // clickoutside should not work for scrollbar\n const viewPort = document.querySelector('.jfReport-viewport');\n const { clientHeight, offsetHeight } = viewPort;\n const headerHeight = window.innerHeight - offsetHeight;\n if (event.clientY - headerHeight >= clientHeight\n || Array.from(event.target.classList)\n .some(xClass => exceptionalClassesForClickOutside.includes(xClass))) {\n return;\n }\n setIsRightPanelOpen(false);\n resetActiveElements();\n if (document.activeElement) {\n document.activeElement.blur();\n }\n };\n\n const itemPositionerStyle = useMemo(() => ({\n height: Math.round(item.height * zoom),\n left: Math.round(item.left * zoom),\n pointerEvents: 'none',\n position: 'absolute',\n top: Math.round(item.top * zoom),\n touchAction: 'none',\n width: Math.round(item.width * zoom),\n }), [item.height, item.left, item.top, item.width, zoom]);\n\n const size = useMemo(() => ({\n height: Math.round(item.height * zoom),\n width: Math.round(item.width * zoom),\n }), [item.height, item.width, zoom]);\n\n const { isLocked } = item;\n\n return createPortal(\n <ItemPositioner\n style={itemPositionerStyle}\n >\n <ResizableWithClickOutside\n className={classNames(\n 'reportItemResizer',\n { hideVerticalHandle: !(item.height > 50) },\n { hideHorizontalHandle: !(item.width > 50) },\n )}\n enable={!item.isLocked && enableResize}\n exceptionalClasses={exceptionalClasses}\n lockAspectRatio={lockAspectRatioTypes.includes(item.itemType) || lockAspectRatio}\n onClickOutside={onClickOutside}\n onResize={onResizeRAF}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeEnd}\n size={size}\n {...resizeStaticProps}\n withClickOutsideWrapperClass={`reportItemResizer-wrapper${isLocked ? ' isLocked' : ''}`}\n />\n {!isMultipleItemSelected && <DraggableItemActions />}\n {isTextEditorOpen && (\n <TextEditorToolbar\n itemWidth={item.width * zoom}\n />\n )}\n </ItemPositioner>,\n document.querySelector(`.jfReport-page[data-id=\"${item.pageID}\"]`),\n );\n};\n\nexport default PageItemResizer;\n"],"names":["exceptionalClassesForClickOutside","ResizableWithClickOutside","withClickOutside","Resizable","enableResize","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","lockAspectRatioTypes","exceptionalClasses","PageItemResizer","item","onResize","onResizeStop","zoom","useBuilderStore","state","setIsRightPanelOpen","resetActiveElements","isMultipleItemSelected","activeElements","length","isTextEditorOpen","requestRef","useRef","useState","lockAspectRatio","setLockAspectRatio","handleKeyUp","e","shiftKey","handleKeyDown","seriousResize","deltaWidth","deltaHeight","direction","current","undefined","onResizeStart","preventDefault","window","addEventListener","onResizeRAF","ref","height","width","global","requestAnimationFrame","Math","round","onResizeEnd","removeEventListener","onClickOutside","event","viewPort","document","querySelector","clientHeight","offsetHeight","headerHeight","innerHeight","clientY","Array","from","target","classList","some","xClass","includes","activeElement","blur","itemPositionerStyle","useMemo","pointerEvents","position","touchAction","size","isLocked","createPortal","_jsxs","_jsx","classNames","hideVerticalHandle","hideHorizontalHandle","itemType","resizeStaticProps","TextEditorToolbar","pageID"],"mappings":"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"}
|
|
@@ -240,7 +240,8 @@
|
|
|
240
240
|
display: none;
|
|
241
241
|
}
|
|
242
242
|
|
|
243
|
-
|
|
243
|
+
&.left[data-tab="2"],
|
|
244
|
+
&.right[data-tab="2"] {
|
|
244
245
|
.toolTabs-tab[tab-count="0"]:checked ~ .toolTabs-indicator {
|
|
245
246
|
left: 0;
|
|
246
247
|
}
|
|
@@ -249,7 +250,8 @@
|
|
|
249
250
|
}
|
|
250
251
|
}
|
|
251
252
|
|
|
252
|
-
|
|
253
|
+
&.left[data-tab="3"],
|
|
254
|
+
&.right[data-tab="3"] {
|
|
253
255
|
.toolTabs-tab[tab-count="0"]:checked ~ .toolTabs-indicator {
|
|
254
256
|
left: 0;
|
|
255
257
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import 'core-js/modules/es.array.concat.js';
|
|
1
2
|
import 'core-js/modules/es.array.map.js';
|
|
2
3
|
import { memo, useCallback, Fragment } from 'react';
|
|
3
4
|
import PropTypes from 'prop-types';
|
|
@@ -12,46 +13,40 @@ var Tabs = function Tabs(_ref) {
|
|
|
12
13
|
var activeTab = useBuilderStore(function (state) {
|
|
13
14
|
return state.activeTab;
|
|
14
15
|
});
|
|
15
|
-
var isLeftPanelOpen = useBuilderStore(function (state) {
|
|
16
|
-
return state.isLeftPanelOpen;
|
|
17
|
-
});
|
|
18
|
-
var isRightPanelOpen = useBuilderStore(function (state) {
|
|
19
|
-
return state.isRightPanelOpen;
|
|
20
|
-
});
|
|
21
16
|
var setActiveTab = useBuilderStore(function (state) {
|
|
22
17
|
return state.setActiveTab;
|
|
23
18
|
});
|
|
24
19
|
var onAnEventTrigger = usePropStore(function (state) {
|
|
25
20
|
return state.onAnEventTrigger;
|
|
26
21
|
});
|
|
27
|
-
var setCurrentTab = useCallback(function (index
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
var setCurrentTab = useCallback(function (index) {
|
|
23
|
+
return function () {
|
|
24
|
+
setActiveTab(panel, index);
|
|
25
|
+
onAnEventTrigger('settingTabChanged', tabs[index]);
|
|
26
|
+
};
|
|
27
|
+
}, [setActiveTab, onAnEventTrigger, panel, tabs]);
|
|
31
28
|
return tabs.length > 1 && /*#__PURE__*/jsxs("div", {
|
|
32
29
|
className: "toolTabs d-flex p-relative ".concat(panel),
|
|
33
30
|
"data-tab": tabs.length,
|
|
34
31
|
children: [tabs.map(function (tab, index) {
|
|
35
|
-
var
|
|
32
|
+
var inputId = "tabs-".concat(panel, "-").concat(index);
|
|
36
33
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
37
34
|
children: [/*#__PURE__*/jsx("input", {
|
|
38
|
-
checked:
|
|
39
|
-
className: "toolTabs-tab",
|
|
40
|
-
id:
|
|
41
|
-
name: "tabs",
|
|
42
|
-
onChange:
|
|
43
|
-
return setCurrentTab(index, tab);
|
|
44
|
-
},
|
|
35
|
+
checked: activeTab[panel] === index,
|
|
36
|
+
className: "toolTabs-tab ".concat(panel),
|
|
37
|
+
id: inputId,
|
|
38
|
+
name: "tabs-".concat(panel),
|
|
39
|
+
onChange: setCurrentTab(index),
|
|
45
40
|
"tab-count": index,
|
|
46
41
|
type: "radio"
|
|
47
42
|
}), /*#__PURE__*/jsx("label", {
|
|
48
43
|
className: "t-normal js-tabLabel",
|
|
49
|
-
htmlFor:
|
|
44
|
+
htmlFor: inputId,
|
|
50
45
|
children: /*#__PURE__*/jsx("span", {
|
|
51
46
|
children: tab
|
|
52
47
|
})
|
|
53
48
|
})]
|
|
54
|
-
},
|
|
49
|
+
}, inputId);
|
|
55
50
|
}), /*#__PURE__*/jsx("div", {
|
|
56
51
|
className: "toolTabs-indicator p-absolute",
|
|
57
52
|
"data-tab": tabs.length
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","sources":["../../../../src/components/Builder/Tabs.js"],"sourcesContent":["import { Fragment, memo, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst Tabs = ({ panel, tabs = [] }) => {\n const activeTab = useBuilderStore(state => state.activeTab);\n const
|
|
1
|
+
{"version":3,"file":"Tabs.js","sources":["../../../../src/components/Builder/Tabs.js"],"sourcesContent":["import { Fragment, memo, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst Tabs = ({ panel, tabs = [] }) => {\n const activeTab = useBuilderStore(state => state.activeTab);\n const setActiveTab = useBuilderStore(state => state.setActiveTab);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const setCurrentTab = useCallback(index => () => {\n setActiveTab(panel, index);\n onAnEventTrigger('settingTabChanged', tabs[index]);\n }, [setActiveTab, onAnEventTrigger, panel, tabs]);\n\n return (\n tabs.length > 1 && (\n <div\n className={`toolTabs d-flex p-relative ${panel}`}\n data-tab={tabs.length}\n >\n {tabs.map((tab, index) => {\n const inputId = `tabs-${panel}-${index}`;\n return (\n <Fragment key={inputId}>\n <input\n checked={activeTab[panel] === index}\n className={`toolTabs-tab ${panel}`}\n id={inputId}\n name={`tabs-${panel}`}\n onChange={setCurrentTab(index)}\n tab-count={index}\n type=\"radio\"\n />\n <label\n className=\"t-normal js-tabLabel\"\n htmlFor={inputId}\n >\n <span>\n {tab}\n </span>\n </label>\n </Fragment>\n );\n })}\n <div\n className=\"toolTabs-indicator p-absolute\"\n data-tab={tabs.length}\n />\n </div>\n )\n );\n};\n\nTabs.propTypes = {\n panel: PropTypes.string.isRequired,\n tabs: PropTypes.arrayOf(PropTypes.string),\n};\n\nexport default memo(Tabs);\n"],"names":["Tabs","panel","tabs","activeTab","useBuilderStore","state","setActiveTab","onAnEventTrigger","usePropStore","setCurrentTab","useCallback","index","length","_jsxs","map","tab","inputId","_jsx","propTypes","PropTypes","string","isRequired","arrayOf","memo"],"mappings":";;;;;;;;AAKA,IAAMA,IAAI,GAAG,SAAPA,IAAO,OAA0B;AAAA,MAAvBC,KAAuB,QAAvBA,KAAuB;AAAA,uBAAhBC,IAAgB;AAAA,MAAhBA,IAAgB,0BAAT,EAAS;AACrC,MAAMC,SAAS,GAAGC,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,SAAV;AAAA,GAAN,CAAjC;AACA,MAAMG,YAAY,GAAGF,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,YAAV;AAAA,GAAN,CAApC;AACA,MAAMC,gBAAgB,GAAGC,YAAY,CAAC,UAAAH,KAAK;AAAA,WAAIA,KAAK,CAACE,gBAAV;AAAA,GAAN,CAArC;AAEA,MAAME,aAAa,GAAGC,WAAW,CAAC,UAAAC,KAAK;AAAA,WAAI,YAAM;AAC/CL,MAAAA,YAAY,CAACL,KAAD,EAAQU,KAAR,CAAZ;AACAJ,MAAAA,gBAAgB,CAAC,mBAAD,EAAsBL,IAAI,CAACS,KAAD,CAA1B,CAAhB;AACD,KAHsC;AAAA,GAAN,EAG9B,CAACL,YAAD,EAAeC,gBAAf,EAAiCN,KAAjC,EAAwCC,IAAxC,CAH8B,CAAjC;AAKA,SACEA,IAAI,CAACU,MAAL,GAAc,CAAd,iBACEC;AACE,IAAA,SAAS,uCAAgCZ,KAAhC,CADX;AAEE,gBAAUC,IAAI,CAACU,MAFjB;AAAA,eAIGV,IAAI,CAACY,GAAL,CAAS,UAACC,GAAD,EAAMJ,KAAN,EAAgB;AACxB,UAAMK,OAAO,kBAAWf,KAAX,cAAoBU,KAApB,CAAb;AACA,0BACEE,KAAC,QAAD;AAAA,gCACEI;AACE,UAAA,OAAO,EAAEd,SAAS,CAACF,KAAD,CAAT,KAAqBU,KADhC;AAEE,UAAA,SAAS,yBAAkBV,KAAlB,CAFX;AAGE,UAAA,EAAE,EAAEe,OAHN;AAIE,UAAA,IAAI,iBAAUf,KAAV,CAJN;AAKE,UAAA,QAAQ,EAAEQ,aAAa,CAACE,KAAD,CALzB;AAME,uBAAWA,KANb;AAOE,UAAA,IAAI,EAAC;AAPP,UADF,eAUEM;AACE,UAAA,SAAS,EAAC,sBADZ;AAEE,UAAA,OAAO,EAAED,OAFX;AAAA,iCAIEC;AAAA,sBACGF;AADH;AAJF,UAVF;AAAA,SAAeC,OAAf,CADF;AAqBD,KAvBA,CAJH,eA4BEC;AACE,MAAA,SAAS,EAAC,+BADZ;AAEE,kBAAUf,IAAI,CAACU;AAFjB,MA5BF;AAAA,IAFJ;AAqCD,CA/CD;;AAiDAZ,IAAI,CAACkB,SAAL,GAAiB;AACfjB,EAAAA,KAAK,EAAEkB,SAAS,CAACC,MAAV,CAAiBC,UADT;AAEfnB,EAAAA,IAAI,EAAEiB,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACC,MAA5B;AAFS,CAAjB;AAKA,0BAAeG,IAAI,CAACvB,IAAD,CAAnB;;;;"}
|
|
@@ -124,6 +124,10 @@ var PageItemResizer = function PageItemResizer(_ref) {
|
|
|
124
124
|
|
|
125
125
|
setIsRightPanelOpen(false);
|
|
126
126
|
resetActiveElements();
|
|
127
|
+
|
|
128
|
+
if (document.activeElement) {
|
|
129
|
+
document.activeElement.blur();
|
|
130
|
+
}
|
|
127
131
|
};
|
|
128
132
|
|
|
129
133
|
var itemPositionerStyle = useMemo(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageItemResizer.js","sources":["../../../src/components/PageItemResizer.js"],"sourcesContent":["import {\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Resizable } from 're-resizable';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport { resizeStaticProps } from '../constants/staticProps';\nimport TextEditorToolbar from './TextEditor/CustomToolbar';\n\nimport DraggableItemActions from './DraggableItem/DraggableItemActions';\nimport ItemPositioner from './ItemPositioner';\nimport withClickOutside from './withClickOutside';\nimport { useBuilderStore } from '../contexts/BuilderContext';\n\nconst exceptionalClassesForClickOutside = ['contextMenu-itemLabel', 'contextMenu-item'];\nconst ResizableWithClickOutside = withClickOutside(Resizable);\n\nconst enableResize = {\n bottom: true,\n bottomLeft: true,\n bottomRight: true,\n left: true,\n right: true,\n top: true,\n topLeft: true,\n topRight: true,\n};\nconst lockAspectRatioTypes = ['image', 'icon'];\nconst exceptionalClasses = [\n 'reportHandle',\n 'reportItemMenu',\n 'jfReport-pane',\n 'pageSettingSideBtn',\n 'reportItemWrapper',\n 'reportRotater',\n 'forZoom',\n 'ql-toolbar',\n 'jSheetContextMenu',\n 'reset-default-contextMenu',\n];\n\nconst PageItemResizer = ({\n item,\n onResize,\n onResizeStop,\n}) => {\n const zoom = useBuilderStore(state => state.zoom);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const isMultipleItemSelected = useBuilderStore(state => state.activeElements.length > 1);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n\n const requestRef = useRef();\n const [lockAspectRatio, setLockAspectRatio] = useState(false);\n\n const handleKeyUp = e => {\n if (!e.shiftKey) setLockAspectRatio(false);\n };\n\n const handleKeyDown = e => {\n if (e.shiftKey) setLockAspectRatio(true);\n };\n\n const seriousResize = (deltaWidth, deltaHeight, direction) => {\n return () => {\n onResize(deltaWidth, deltaHeight, direction);\n requestRef.current = undefined;\n };\n };\n\n const onResizeStart = e => {\n e.preventDefault();\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n };\n\n const onResizeRAF = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n if (!requestRef.current) {\n requestRef.current = global\n .requestAnimationFrame(\n seriousResize(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n ),\n );\n }\n };\n\n const onResizeEnd = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n onResizeStop(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n );\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n\n const onClickOutside = event => {\n // clickoutside should not work for scrollbar\n const viewPort = document.querySelector('.jfReport-viewport');\n const { clientHeight, offsetHeight } = viewPort;\n const headerHeight = window.innerHeight - offsetHeight;\n if (event.clientY - headerHeight >= clientHeight\n || Array.from(event.target.classList)\n .some(xClass => exceptionalClassesForClickOutside.includes(xClass))) {\n return;\n }\n setIsRightPanelOpen(false);\n resetActiveElements();\n };\n\n const itemPositionerStyle = useMemo(() => ({\n height: Math.round(item.height * zoom),\n left: Math.round(item.left * zoom),\n pointerEvents: 'none',\n position: 'absolute',\n top: Math.round(item.top * zoom),\n touchAction: 'none',\n width: Math.round(item.width * zoom),\n }), [item.height, item.left, item.top, item.width, zoom]);\n\n const size = useMemo(() => ({\n height: Math.round(item.height * zoom),\n width: Math.round(item.width * zoom),\n }), [item.height, item.width, zoom]);\n\n const { isLocked } = item;\n\n return createPortal(\n <ItemPositioner\n style={itemPositionerStyle}\n >\n <ResizableWithClickOutside\n className={classNames(\n 'reportItemResizer',\n { hideVerticalHandle: !(item.height > 50) },\n { hideHorizontalHandle: !(item.width > 50) },\n )}\n enable={!item.isLocked && enableResize}\n exceptionalClasses={exceptionalClasses}\n lockAspectRatio={lockAspectRatioTypes.includes(item.itemType) || lockAspectRatio}\n onClickOutside={onClickOutside}\n onResize={onResizeRAF}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeEnd}\n size={size}\n {...resizeStaticProps}\n withClickOutsideWrapperClass={`reportItemResizer-wrapper${isLocked ? ' isLocked' : ''}`}\n />\n {!isMultipleItemSelected && <DraggableItemActions />}\n {isTextEditorOpen && (\n <TextEditorToolbar\n itemWidth={item.width * zoom}\n />\n )}\n </ItemPositioner>,\n document.querySelector(`.jfReport-page[data-id=\"${item.pageID}\"]`),\n );\n};\n\nexport default PageItemResizer;\n"],"names":["exceptionalClassesForClickOutside","ResizableWithClickOutside","withClickOutside","Resizable","enableResize","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","lockAspectRatioTypes","exceptionalClasses","PageItemResizer","item","onResize","onResizeStop","zoom","useBuilderStore","state","setIsRightPanelOpen","resetActiveElements","isMultipleItemSelected","activeElements","length","isTextEditorOpen","requestRef","useRef","useState","lockAspectRatio","setLockAspectRatio","handleKeyUp","e","shiftKey","handleKeyDown","seriousResize","deltaWidth","deltaHeight","direction","current","undefined","onResizeStart","preventDefault","window","addEventListener","onResizeRAF","ref","height","width","global","requestAnimationFrame","Math","round","onResizeEnd","removeEventListener","onClickOutside","event","viewPort","document","querySelector","clientHeight","offsetHeight","headerHeight","innerHeight","clientY","Array","from","target","classList","some","xClass","includes","itemPositionerStyle","useMemo","pointerEvents","position","touchAction","size","isLocked","createPortal","_jsxs","_jsx","classNames","hideVerticalHandle","hideHorizontalHandle","itemType","resizeStaticProps","TextEditorToolbar","pageID"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PageItemResizer.js","sources":["../../../src/components/PageItemResizer.js"],"sourcesContent":["import {\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Resizable } from 're-resizable';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport { resizeStaticProps } from '../constants/staticProps';\nimport TextEditorToolbar from './TextEditor/CustomToolbar';\n\nimport DraggableItemActions from './DraggableItem/DraggableItemActions';\nimport ItemPositioner from './ItemPositioner';\nimport withClickOutside from './withClickOutside';\nimport { useBuilderStore } from '../contexts/BuilderContext';\n\nconst exceptionalClassesForClickOutside = ['contextMenu-itemLabel', 'contextMenu-item'];\nconst ResizableWithClickOutside = withClickOutside(Resizable);\n\nconst enableResize = {\n bottom: true,\n bottomLeft: true,\n bottomRight: true,\n left: true,\n right: true,\n top: true,\n topLeft: true,\n topRight: true,\n};\nconst lockAspectRatioTypes = ['image', 'icon'];\nconst exceptionalClasses = [\n 'reportHandle',\n 'reportItemMenu',\n 'jfReport-pane',\n 'pageSettingSideBtn',\n 'reportItemWrapper',\n 'reportRotater',\n 'forZoom',\n 'ql-toolbar',\n 'jSheetContextMenu',\n 'reset-default-contextMenu',\n];\n\nconst PageItemResizer = ({\n item,\n onResize,\n onResizeStop,\n}) => {\n const zoom = useBuilderStore(state => state.zoom);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const isMultipleItemSelected = useBuilderStore(state => state.activeElements.length > 1);\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n\n const requestRef = useRef();\n const [lockAspectRatio, setLockAspectRatio] = useState(false);\n\n const handleKeyUp = e => {\n if (!e.shiftKey) setLockAspectRatio(false);\n };\n\n const handleKeyDown = e => {\n if (e.shiftKey) setLockAspectRatio(true);\n };\n\n const seriousResize = (deltaWidth, deltaHeight, direction) => {\n return () => {\n onResize(deltaWidth, deltaHeight, direction);\n requestRef.current = undefined;\n };\n };\n\n const onResizeStart = e => {\n e.preventDefault();\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n };\n\n const onResizeRAF = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n if (!requestRef.current) {\n requestRef.current = global\n .requestAnimationFrame(\n seriousResize(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n ),\n );\n }\n };\n\n const onResizeEnd = (e, direction, ref, { height: deltaHeight, width: deltaWidth }) => {\n onResizeStop(\n Math.round(deltaWidth * (1 / zoom)),\n Math.round(deltaHeight * (1 / zoom)),\n direction,\n );\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n\n const onClickOutside = event => {\n // clickoutside should not work for scrollbar\n const viewPort = document.querySelector('.jfReport-viewport');\n const { clientHeight, offsetHeight } = viewPort;\n const headerHeight = window.innerHeight - offsetHeight;\n if (event.clientY - headerHeight >= clientHeight\n || Array.from(event.target.classList)\n .some(xClass => exceptionalClassesForClickOutside.includes(xClass))) {\n return;\n }\n setIsRightPanelOpen(false);\n resetActiveElements();\n if (document.activeElement) {\n document.activeElement.blur();\n }\n };\n\n const itemPositionerStyle = useMemo(() => ({\n height: Math.round(item.height * zoom),\n left: Math.round(item.left * zoom),\n pointerEvents: 'none',\n position: 'absolute',\n top: Math.round(item.top * zoom),\n touchAction: 'none',\n width: Math.round(item.width * zoom),\n }), [item.height, item.left, item.top, item.width, zoom]);\n\n const size = useMemo(() => ({\n height: Math.round(item.height * zoom),\n width: Math.round(item.width * zoom),\n }), [item.height, item.width, zoom]);\n\n const { isLocked } = item;\n\n return createPortal(\n <ItemPositioner\n style={itemPositionerStyle}\n >\n <ResizableWithClickOutside\n className={classNames(\n 'reportItemResizer',\n { hideVerticalHandle: !(item.height > 50) },\n { hideHorizontalHandle: !(item.width > 50) },\n )}\n enable={!item.isLocked && enableResize}\n exceptionalClasses={exceptionalClasses}\n lockAspectRatio={lockAspectRatioTypes.includes(item.itemType) || lockAspectRatio}\n onClickOutside={onClickOutside}\n onResize={onResizeRAF}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeEnd}\n size={size}\n {...resizeStaticProps}\n withClickOutsideWrapperClass={`reportItemResizer-wrapper${isLocked ? ' isLocked' : ''}`}\n />\n {!isMultipleItemSelected && <DraggableItemActions />}\n {isTextEditorOpen && (\n <TextEditorToolbar\n itemWidth={item.width * zoom}\n />\n )}\n </ItemPositioner>,\n document.querySelector(`.jfReport-page[data-id=\"${item.pageID}\"]`),\n );\n};\n\nexport default PageItemResizer;\n"],"names":["exceptionalClassesForClickOutside","ResizableWithClickOutside","withClickOutside","Resizable","enableResize","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","lockAspectRatioTypes","exceptionalClasses","PageItemResizer","item","onResize","onResizeStop","zoom","useBuilderStore","state","setIsRightPanelOpen","resetActiveElements","isMultipleItemSelected","activeElements","length","isTextEditorOpen","requestRef","useRef","useState","lockAspectRatio","setLockAspectRatio","handleKeyUp","e","shiftKey","handleKeyDown","seriousResize","deltaWidth","deltaHeight","direction","current","undefined","onResizeStart","preventDefault","window","addEventListener","onResizeRAF","ref","height","width","global","requestAnimationFrame","Math","round","onResizeEnd","removeEventListener","onClickOutside","event","viewPort","document","querySelector","clientHeight","offsetHeight","headerHeight","innerHeight","clientY","Array","from","target","classList","some","xClass","includes","activeElement","blur","itemPositionerStyle","useMemo","pointerEvents","position","touchAction","size","isLocked","createPortal","_jsxs","_jsx","classNames","hideVerticalHandle","hideHorizontalHandle","itemType","resizeStaticProps","TextEditorToolbar","pageID"],"mappings":"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"}
|
|
@@ -240,7 +240,8 @@
|
|
|
240
240
|
display: none;
|
|
241
241
|
}
|
|
242
242
|
|
|
243
|
-
|
|
243
|
+
&.left[data-tab="2"],
|
|
244
|
+
&.right[data-tab="2"] {
|
|
244
245
|
.toolTabs-tab[tab-count="0"]:checked ~ .toolTabs-indicator {
|
|
245
246
|
left: 0;
|
|
246
247
|
}
|
|
@@ -249,7 +250,8 @@
|
|
|
249
250
|
}
|
|
250
251
|
}
|
|
251
252
|
|
|
252
|
-
|
|
253
|
+
&.left[data-tab="3"],
|
|
254
|
+
&.right[data-tab="3"] {
|
|
253
255
|
.toolTabs-tab[tab-count="0"]:checked ~ .toolTabs-indicator {
|
|
254
256
|
left: 0;
|
|
255
257
|
}
|