@jotforminc/dnd-builder 3.4.2 → 3.4.5
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 +17 -0
- package/index.d.ts +2 -0
- package/lib/cjs/assets/svg/angle_down.svg.js +22 -0
- package/lib/cjs/assets/svg/angle_down.svg.js.map +1 -0
- package/lib/cjs/assets/svg/angle_left.svg.js +22 -0
- package/lib/cjs/assets/svg/angle_left.svg.js.map +1 -0
- package/lib/cjs/assets/svg/angle_right.svg.js +22 -0
- package/lib/cjs/assets/svg/angle_right.svg.js.map +1 -0
- package/lib/cjs/assets/svg/angle_up.svg.js +22 -0
- package/lib/cjs/assets/svg/angle_up.svg.js.map +1 -0
- package/lib/cjs/assets/svg/contextmenu/moveToBack.svg.js +9 -18
- package/lib/cjs/assets/svg/contextmenu/moveToBack.svg.js.map +1 -1
- package/lib/cjs/assets/svg/contextmenu/moveToBackward.svg.js +12 -18
- package/lib/cjs/assets/svg/contextmenu/moveToBackward.svg.js.map +1 -1
- package/lib/cjs/assets/svg/contextmenu/moveToForward.svg.js +12 -18
- package/lib/cjs/assets/svg/contextmenu/moveToForward.svg.js.map +1 -1
- package/lib/cjs/assets/svg/contextmenu/moveToFront.svg.js +9 -18
- package/lib/cjs/assets/svg/contextmenu/moveToFront.svg.js.map +1 -1
- package/lib/cjs/components/Builder/Builder.js +3 -0
- package/lib/cjs/components/Builder/Builder.js.map +1 -1
- package/lib/cjs/components/Builder/ContextMenu.js +1 -1
- package/lib/cjs/components/Builder/ContextMenu.js.map +1 -1
- package/lib/cjs/components/Builder/PageActions.js +19 -19
- package/lib/cjs/components/Builder/PageActions.js.map +1 -1
- package/lib/cjs/components/Builder/ZoomControls.js +8 -8
- package/lib/cjs/components/Builder/ZoomControls.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItemActions.js +12 -12
- package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
- package/lib/cjs/components/PageItemResizer.js +1 -1
- package/lib/cjs/components/PageItemResizer.js.map +1 -1
- package/lib/cjs/components/Panels/RightPanel/RightPanel.js +10 -3
- package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
- package/lib/cjs/components/TextEditor/QuillEditor.js +8 -10
- package/lib/cjs/components/TextEditor/QuillEditor.js.map +1 -1
- package/lib/cjs/components/TextEditor/TextEditor.js +2 -10
- package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
- package/lib/cjs/components/withClickOutside.js +7 -1
- package/lib/cjs/components/withClickOutside.js.map +1 -1
- package/lib/cjs/constants/eventIgnoredRoles.js +2 -0
- package/lib/cjs/constants/eventIgnoredRoles.js.map +1 -1
- package/lib/cjs/contexts/BuilderContext.js +1 -0
- package/lib/cjs/contexts/BuilderContext.js.map +1 -1
- package/lib/cjs/contexts/Providers.js +6 -1
- package/lib/cjs/contexts/Providers.js.map +1 -1
- package/lib/cjs/styles/_jfReportsFloatings.scss +109 -2
- package/lib/cjs/styles/_jfReportsPages.scss +21 -28
- package/lib/cjs/styles/_jfReportsReportItem.scss +79 -53
- package/lib/cjs/styles/_jfReportsTextEditor.scss +2 -2
- package/lib/cjs/styles/_jfReportsViewModes.scss +4 -4
- package/lib/cjs/utils/icons.js +8 -0
- package/lib/cjs/utils/icons.js.map +1 -1
- package/lib/cjs/utils/useKeyboardActions.js +3 -0
- package/lib/cjs/utils/useKeyboardActions.js.map +1 -1
- package/lib/esm/assets/svg/angle_down.svg.js +20 -0
- package/lib/esm/assets/svg/angle_down.svg.js.map +1 -0
- package/lib/esm/assets/svg/angle_left.svg.js +20 -0
- package/lib/esm/assets/svg/angle_left.svg.js.map +1 -0
- package/lib/esm/assets/svg/angle_right.svg.js +20 -0
- package/lib/esm/assets/svg/angle_right.svg.js.map +1 -0
- package/lib/esm/assets/svg/angle_up.svg.js +20 -0
- package/lib/esm/assets/svg/angle_up.svg.js.map +1 -0
- package/lib/esm/assets/svg/contextmenu/moveToBack.svg.js +9 -18
- package/lib/esm/assets/svg/contextmenu/moveToBack.svg.js.map +1 -1
- package/lib/esm/assets/svg/contextmenu/moveToBackward.svg.js +12 -18
- package/lib/esm/assets/svg/contextmenu/moveToBackward.svg.js.map +1 -1
- package/lib/esm/assets/svg/contextmenu/moveToForward.svg.js +12 -18
- package/lib/esm/assets/svg/contextmenu/moveToForward.svg.js.map +1 -1
- package/lib/esm/assets/svg/contextmenu/moveToFront.svg.js +9 -18
- package/lib/esm/assets/svg/contextmenu/moveToFront.svg.js.map +1 -1
- package/lib/esm/components/Builder/Builder.js +3 -0
- package/lib/esm/components/Builder/Builder.js.map +1 -1
- package/lib/esm/components/Builder/ContextMenu.js +1 -1
- package/lib/esm/components/Builder/ContextMenu.js.map +1 -1
- package/lib/esm/components/Builder/PageActions.js +19 -19
- package/lib/esm/components/Builder/PageActions.js.map +1 -1
- package/lib/esm/components/Builder/ZoomControls.js +8 -8
- package/lib/esm/components/Builder/ZoomControls.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItemActions.js +12 -12
- package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItemLayer.js +1 -1
- package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
- package/lib/esm/components/PageItemResizer.js +1 -1
- package/lib/esm/components/PageItemResizer.js.map +1 -1
- package/lib/esm/components/Panels/RightPanel/RightPanel.js +10 -3
- package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
- package/lib/esm/components/TextEditor/QuillEditor.js +8 -10
- package/lib/esm/components/TextEditor/QuillEditor.js.map +1 -1
- package/lib/esm/components/TextEditor/TextEditor.js +3 -11
- package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
- package/lib/esm/components/withClickOutside.js +7 -1
- package/lib/esm/components/withClickOutside.js.map +1 -1
- package/lib/esm/constants/eventIgnoredRoles.js +2 -1
- package/lib/esm/constants/eventIgnoredRoles.js.map +1 -1
- package/lib/esm/contexts/BuilderContext.js +1 -0
- package/lib/esm/contexts/BuilderContext.js.map +1 -1
- package/lib/esm/contexts/Providers.js +6 -1
- package/lib/esm/contexts/Providers.js.map +1 -1
- package/lib/esm/styles/_jfReportsFloatings.scss +109 -2
- package/lib/esm/styles/_jfReportsPages.scss +21 -28
- package/lib/esm/styles/_jfReportsReportItem.scss +79 -53
- package/lib/esm/styles/_jfReportsTextEditor.scss +2 -2
- package/lib/esm/styles/_jfReportsViewModes.scss +4 -4
- package/lib/esm/utils/icons.js +4 -0
- package/lib/esm/utils/icons.js.map +1 -1
- package/lib/esm/utils/useKeyboardActions.js +4 -1
- package/lib/esm/utils/useKeyboardActions.js.map +1 -1
- package/package.json +1 -1
|
@@ -74,17 +74,16 @@
|
|
|
74
74
|
content: "";
|
|
75
75
|
position: absolute;
|
|
76
76
|
display: block;
|
|
77
|
-
background-color: #
|
|
78
|
-
border:
|
|
77
|
+
background-color: #FFFFFF;
|
|
78
|
+
border: 3px solid #0099FF;
|
|
79
79
|
transition: .3s ease-in-out;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
&:not(.forLine):after {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
border-radius: 2px;
|
|
83
|
+
inset: 2px;
|
|
84
|
+
width: 3px;
|
|
85
|
+
height: 3px;
|
|
86
|
+
border-radius: 3px;
|
|
88
87
|
}
|
|
89
88
|
|
|
90
89
|
&.forLine {
|
|
@@ -93,26 +92,28 @@
|
|
|
93
92
|
}
|
|
94
93
|
&:not(.isVertical) {
|
|
95
94
|
&:after {
|
|
96
|
-
top:
|
|
95
|
+
top: -0.5px;
|
|
97
96
|
bottom: 1px;
|
|
98
|
-
left: calc(50% -
|
|
99
|
-
width:
|
|
97
|
+
left: calc(50% - 6px);
|
|
98
|
+
width: 8px;
|
|
99
|
+
height: 4px;
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
&.isVertical {
|
|
104
104
|
&:after {
|
|
105
|
-
top: calc(50% -
|
|
106
|
-
left:
|
|
107
|
-
right:
|
|
108
|
-
height:
|
|
105
|
+
top: calc(50% - 6px);
|
|
106
|
+
left: -0.5px;
|
|
107
|
+
right: -0.5px;
|
|
108
|
+
height: 8px;
|
|
109
|
+
width: 4px;
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
112
|
}
|
|
112
113
|
|
|
113
114
|
&:hover {
|
|
114
115
|
&:after {
|
|
115
|
-
background-color: #
|
|
116
|
+
background-color: #FFFFFF;
|
|
116
117
|
}
|
|
117
118
|
}
|
|
118
119
|
}
|
|
@@ -123,7 +124,7 @@
|
|
|
123
124
|
top: -50px;
|
|
124
125
|
padding: 5px;
|
|
125
126
|
background-color: #ddefff;
|
|
126
|
-
border:
|
|
127
|
+
border: 2px solid #0099FF;
|
|
127
128
|
border-radius: 50%;
|
|
128
129
|
|
|
129
130
|
&:before {
|
|
@@ -148,8 +149,7 @@
|
|
|
148
149
|
}
|
|
149
150
|
|
|
150
151
|
.reportItemResizer {
|
|
151
|
-
border:
|
|
152
|
-
box-shadow: 0 0 0 3px rgba(106, 110, 143, 0.15);
|
|
152
|
+
border: 3px solid #0099FF;
|
|
153
153
|
border-radius: 3px;
|
|
154
154
|
|
|
155
155
|
&.hideVerticalHandle {
|
|
@@ -216,56 +216,82 @@
|
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
.jfReport {
|
|
219
|
-
.
|
|
219
|
+
.report-item-toolbar {
|
|
220
220
|
position: absolute;
|
|
221
|
-
top:
|
|
221
|
+
top: 50%;
|
|
222
|
+
transform: translateY(-50%);
|
|
222
223
|
right: -24px;
|
|
223
|
-
background-color:
|
|
224
|
-
|
|
224
|
+
background-color: #FFFFFF;
|
|
225
|
+
padding: 4px;
|
|
226
|
+
border-radius: 3px;
|
|
227
|
+
display: flex;
|
|
228
|
+
flex-direction: column;
|
|
229
|
+
align-items: center;
|
|
230
|
+
justify-content: center;
|
|
225
231
|
text-align: center;
|
|
226
232
|
pointer-events: all;
|
|
233
|
+
z-index: 2;
|
|
227
234
|
animation: .2s fadeRight forwards;
|
|
235
|
+
gap: 4px;
|
|
236
|
+
box-shadow: 0 4px 8px 0 rgba(84, 95, 111, 0.15), 0 0 2px 0 rgba(37, 45, 91, 0.1);
|
|
228
237
|
|
|
229
238
|
&-item {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
239
|
+
max-width: 24px;
|
|
240
|
+
max-height: 24px;
|
|
241
|
+
min-width: 24px;
|
|
242
|
+
min-height: 24px;
|
|
243
|
+
width: 100%;
|
|
244
|
+
height: 100%;
|
|
245
|
+
display: flex;
|
|
246
|
+
padding: 4px;
|
|
247
|
+
flex-shrink: 0;
|
|
248
|
+
flex-direction: column;
|
|
249
|
+
justify-content: center;
|
|
250
|
+
align-items: center;
|
|
251
|
+
border-radius: 4px;
|
|
252
|
+
background-color: #F9F9FF;
|
|
253
|
+
transition: $transition;
|
|
254
|
+
|
|
255
|
+
.toolbar-icon {
|
|
256
|
+
width: 16px;
|
|
257
|
+
height: 16px;
|
|
258
|
+
color: #0A1551;
|
|
259
|
+
fill: #0A1551;
|
|
260
|
+
transition: $transition;
|
|
240
261
|
}
|
|
241
|
-
}
|
|
242
262
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
align-items: center;
|
|
248
|
-
justify-content: center;
|
|
249
|
-
width: 20px;
|
|
250
|
-
height: 20px;
|
|
251
|
-
padding: 0;
|
|
252
|
-
border-radius: 3px;
|
|
253
|
-
transition: 0.3s ease-in;
|
|
263
|
+
&:where(:hover) {
|
|
264
|
+
background-color: #E3E5F5;
|
|
265
|
+
transition: $transition;
|
|
266
|
+
}
|
|
254
267
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
}
|
|
268
|
+
&:hover.primary {
|
|
269
|
+
background-color: #EDF8FF;
|
|
258
270
|
|
|
259
|
-
|
|
260
|
-
|
|
271
|
+
.toolbar-icon {
|
|
272
|
+
color: #0075E3;
|
|
273
|
+
fill: #0075E3;
|
|
261
274
|
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
&:hover.error {
|
|
278
|
+
background-color: #FEF2F2;
|
|
262
279
|
|
|
263
|
-
|
|
264
|
-
|
|
280
|
+
.toolbar-icon {
|
|
281
|
+
color: #DC2626;
|
|
282
|
+
fill: #DC2626;
|
|
265
283
|
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
&.isLocked.forLocked {
|
|
288
|
+
background-color: #C8CEED;
|
|
289
|
+
|
|
290
|
+
.report-item-toolbar-item {
|
|
291
|
+
background-color: #C8CEED;
|
|
266
292
|
|
|
267
293
|
&:hover {
|
|
268
|
-
background-color:
|
|
294
|
+
background-color: #E3E5F5;
|
|
269
295
|
}
|
|
270
296
|
}
|
|
271
297
|
}
|
|
@@ -277,7 +303,7 @@
|
|
|
277
303
|
opacity: 0;
|
|
278
304
|
}
|
|
279
305
|
100% {
|
|
280
|
-
right: -
|
|
306
|
+
right: -38px;
|
|
281
307
|
opacity: 1;
|
|
282
308
|
}
|
|
283
309
|
}
|
|
@@ -291,7 +291,7 @@
|
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
293
|
|
|
294
|
-
.
|
|
294
|
+
.report-item-toolbar + .ql-toolbar.ql-snow {
|
|
295
295
|
.ql-stroke {
|
|
296
296
|
/* stylelint-disable-next-line declaration-no-important */
|
|
297
297
|
stroke: #6F76A7 !important;
|
|
@@ -304,6 +304,6 @@
|
|
|
304
304
|
}
|
|
305
305
|
}
|
|
306
306
|
|
|
307
|
-
.
|
|
307
|
+
.report-item-toolbar + .ql-toolbar.ql-snow .ql-button:hover {
|
|
308
308
|
background-color: #F3F3FE;
|
|
309
309
|
}
|
|
@@ -44,21 +44,21 @@
|
|
|
44
44
|
fill: $additionalGray;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
.
|
|
47
|
+
.report-item-toolbar-item:hover .isWhite {
|
|
48
48
|
fill: darken($additionalGray, 10);
|
|
49
49
|
opacity: 1;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
.reportItem {
|
|
54
|
-
outline:
|
|
54
|
+
outline: 3px solid transparent;
|
|
55
55
|
outline-offset: -1px;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
[data-zoom="0.5"] .reportItem,
|
|
59
59
|
[data-zoom="0.6"] .reportItem,
|
|
60
60
|
[data-zoom="0.7"] .reportItem {
|
|
61
|
-
outline-width:
|
|
61
|
+
outline-width: 3px;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
.reportItemWrapper.isSelected:hover .isLocked {
|
|
@@ -70,6 +70,6 @@
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
.reportItemWrapper:not(.isSelected) .reportItem:not(.isLocked):hover {
|
|
73
|
-
outline-color:
|
|
73
|
+
outline-color: #0099FF;
|
|
74
74
|
}
|
|
75
75
|
}
|
package/lib/cjs/utils/icons.js
CHANGED
|
@@ -52,6 +52,10 @@ var settings = require('../assets/svg/settings.svg.js');
|
|
|
52
52
|
var arrow_up = require('../assets/svg/arrow_up.svg.js');
|
|
53
53
|
var arrow_left = require('../assets/svg/arrow_left.svg.js');
|
|
54
54
|
var arrow_right = require('../assets/svg/arrow_right.svg.js');
|
|
55
|
+
var angle_down = require('../assets/svg/angle_down.svg.js');
|
|
56
|
+
var angle_up = require('../assets/svg/angle_up.svg.js');
|
|
57
|
+
var angle_left = require('../assets/svg/angle_left.svg.js');
|
|
58
|
+
var angle_right = require('../assets/svg/angle_right.svg.js');
|
|
55
59
|
var duplicate_line = require('../assets/svg/page-actions/duplicate_line.svg.js');
|
|
56
60
|
var plus = require('../assets/svg/plus.svg.js');
|
|
57
61
|
var minus = require('../assets/svg/minus.svg.js');
|
|
@@ -135,6 +139,10 @@ exports.settings = settings;
|
|
|
135
139
|
exports.arrowUp = arrow_up;
|
|
136
140
|
exports.arrowLeft = arrow_left;
|
|
137
141
|
exports.arrowRight = arrow_right;
|
|
142
|
+
exports.angleDown = angle_down;
|
|
143
|
+
exports.angleUp = angle_up;
|
|
144
|
+
exports.angleLeft = angle_left;
|
|
145
|
+
exports.angleRight = angle_right;
|
|
138
146
|
exports.duplicateLine = duplicate_line;
|
|
139
147
|
exports.plus = plus;
|
|
140
148
|
exports.minus = minus;
|
|
@@ -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 allSlides } from '../assets/svg/all_slides.svg';\nexport { default as settingsToggle } from '../assets/svg/settings_toggle.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 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 allSlides } from '../assets/svg/all_slides.svg';\nexport { default as settingsToggle } from '../assets/svg/settings_toggle.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 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -112,6 +112,7 @@ var useKeyboardActions = function useKeyboardActions() {
|
|
|
112
112
|
var onItemRemoveFromPage = function onItemRemoveFromPage(e) {
|
|
113
113
|
// Firefox updates browser history on backspace
|
|
114
114
|
e.preventDefault();
|
|
115
|
+
if (isRightPanelOpen) return;
|
|
115
116
|
if (isMultipleItemSelected) return;
|
|
116
117
|
|
|
117
118
|
if (foundItem.isLocked) {
|
|
@@ -234,6 +235,8 @@ var useKeyboardActions = function useKeyboardActions() {
|
|
|
234
235
|
var shouldSuppressKeyboardEvent = function shouldSuppressKeyboardEvent(e) {
|
|
235
236
|
return eventIgnoredRoles.EVENT_IGNORED_ROLES.some(function (role) {
|
|
236
237
|
return e.target.closest("[role=".concat(role, "]"));
|
|
238
|
+
}) || eventIgnoredRoles.EVENT_IGNORED_FIELDS.some(function (field) {
|
|
239
|
+
return e.target.closest(field);
|
|
237
240
|
});
|
|
238
241
|
};
|
|
239
242
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeyboardActions.js","sources":["../../../src/utils/useKeyboardActions.js"],"sourcesContent":["/* eslint-disable complexity */\nimport { useRef, useState } from 'react';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { usePropStore } from '../contexts/PropContext';\nimport { findItemById, getDimensions, getMostVisiblePage } from './functions';\nimport { useEventListener, useSelectedElements } from './hooks';\nimport { EVENT_IGNORED_ROLES } from '../constants/eventIgnoredRoles';\nimport generateId from './generateId';\n\nconst useKeyboardActions = () => {\n const [itemToPaste, setItemToPaste] = useState(null);\n const keyDownCount = useRef(null);\n\n const activeElements = useBuilderStore(state => state.activeElements);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const setActiveElements = useBuilderStore(state => state.setActiveElements);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n\n const pages = usePropStore(state => state.pages);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const isMultipleItemSelected = activeElements.length > 1;\n\n const foundItem = findItemById(activeElements.length ? activeElements[0] : null, pages);\n\n const selectedItems = useSelectedElements();\n const moveItemWithKeyboard = (event, direction, value) => {\n event.preventDefault();\n selectedItems.forEach(item => {\n if (item.isLocked) {\n return false;\n }\n onItemChange(\n { id: item.id },\n {\n ...getDimensions(item),\n [direction]: item[direction] + value,\n pageID: item.pageID,\n },\n );\n });\n };\n\n const selectNextOrPrevElement = (event, deletedItem) => {\n if (event.preventDefault) event.preventDefault();\n const referenceItem = deletedItem ? deletedItem : foundItem;\n\n const page = pages.find(_page => _page.id === referenceItem.pageID);\n if (!page || (page && !page.items.length)) return resetActiveElements();\n const { items } = page;\n\n const currentIndex = items.findIndex(item => item.id === referenceItem.id);\n\n // Pages are not updated in time so here is an unnecessary check\n if (items.length === 1 && deletedItem) {\n return resetActiveElements();\n }\n\n if (event.shiftKey) {\n if (items[currentIndex - 1]) setActiveElements(items[currentIndex - 1].id);\n else setActiveElements(items[items.length - 1].id);\n } else if (items[currentIndex + 1]) {\n setActiveElements(items[currentIndex + 1].id);\n } else setActiveElements(items[0].id);\n };\n\n const onItemRemoveFromPage = e => {\n // Firefox updates browser history on backspace\n e.preventDefault();\n if (isMultipleItemSelected) return;\n if (foundItem.isLocked) {\n return false;\n }\n resetActiveElements();\n onItemRemove(foundItem);\n selectNextOrPrevElement({ shiftKey: false }, foundItem);\n onAnEventTrigger('removeItem', foundItem.itemType);\n };\n\n const handlePaste = () => {\n if (isMultipleItemSelected) return;\n const itemID = generateId();\n const pageID = getMostVisiblePage(true);\n const offset = itemToPaste.pageID === pageID ? 50 : 0;\n\n const item = {\n ...itemToPaste,\n id: itemID,\n left: itemToPaste.left + offset,\n pageID,\n top: itemToPaste.top + offset,\n };\n\n onItemAdd(item);\n\n onAnEventTrigger('pasteItem', itemToPaste.itemType);\n setActiveElements(itemID);\n // set as last reference to paste\n setItemToPaste(item);\n };\n\n const keyboardActions = event => {\n const {\n key,\n metaKey,\n shiftKey,\n } = event;\n\n if (metaKey) {\n if (key === 'l') {\n // Lock\n if (isMultipleItemSelected) return;\n event.preventDefault(); // Dont focus to URL bar\n onAnEventTrigger(\n foundItem.isLocked ? 'unlockReportItem' : 'lockReportItem',\n foundItem.itemType,\n );\n onItemChange(\n { id: foundItem.id },\n { isLocked: foundItem.isLocked ? false : true },\n );\n return;\n }\n\n if (key === 'c' || key === 'x') {\n if (isMultipleItemSelected) return;\n // Copy or Cut\n if (key === 'x') {\n onItemRemoveFromPage(event);\n onAnEventTrigger('cutItem', foundItem.itemType);\n } else {\n onAnEventTrigger('copyItem', foundItem.itemType);\n }\n\n setItemToPaste(foundItem);\n return;\n }\n\n if (foundItem && key === 'd') {\n if (isMultipleItemSelected) return;\n // Duplicate\n event.preventDefault();\n const itemID = generateId();\n onItemAdd({\n ...foundItem,\n id: itemID,\n left: foundItem.left + 50,\n top: foundItem.top + 50,\n });\n onAnEventTrigger('duplicateItem', foundItem.itemType);\n setActiveElements(itemID);\n if (!isRightPanelOpen) {\n setIsRightPanelOpen(true);\n }\n return;\n }\n }\n\n keyDownCount.current++;\n const movementValue = shiftKey ? 10 : 1 + keyDownCount.current;\n\n // Others\n switch (key) {\n case 'Backspace': return onItemRemoveFromPage(event);\n case 'Delete': return onItemRemoveFromPage(event);\n case 'Escape': return resetActiveElements();\n case 'ArrowLeft': return moveItemWithKeyboard(event, 'left', -movementValue);\n case 'ArrowUp': return moveItemWithKeyboard(event, 'top', -movementValue);\n case 'ArrowRight': return moveItemWithKeyboard(event, 'left', movementValue);\n case 'ArrowDown': return moveItemWithKeyboard(event, 'top', movementValue);\n case 'Tab': return selectNextOrPrevElement(event);\n default:\n }\n };\n\n const shouldSuppressKeyboardEvent = e => (\n EVENT_IGNORED_ROLES.some(role => e.target.closest(`[role=${role}]`))\n );\n\n const handleKeyboardEvent = e => {\n const shouldPaste = itemToPaste && e.key === 'v' && e.metaKey;\n\n if (shouldSuppressKeyboardEvent(e)) {\n return;\n }\n\n if (activeElements.length && !shouldPaste) {\n const arrowKeyCodes = ['ArrowLeft', 'ArrowUp', 'ArrowDown', 'ArrowBottom'];\n if (arrowKeyCodes.includes(e.key)) e.preventDefault();\n keyboardActions(e);\n } else if (shouldPaste) {\n handlePaste();\n }\n };\n\n useEventListener('keydown', handleKeyboardEvent);\n useEventListener('keyup', () => { keyDownCount.current = 0; });\n};\n\nexport default useKeyboardActions;\n"],"names":["useKeyboardActions","useState","itemToPaste","setItemToPaste","keyDownCount","useRef","activeElements","useBuilderStore","state","isRightPanelOpen","setActiveElements","setIsRightPanelOpen","resetActiveElements","pages","usePropStore","onItemAdd","onItemRemove","onItemChange","onAnEventTrigger","isMultipleItemSelected","length","foundItem","findItemById","selectedItems","useSelectedElements","moveItemWithKeyboard","event","direction","value","preventDefault","forEach","item","isLocked","id","getDimensions","pageID","selectNextOrPrevElement","deletedItem","referenceItem","page","find","_page","items","currentIndex","findIndex","shiftKey","onItemRemoveFromPage","e","itemType","handlePaste","itemID","generateId","getMostVisiblePage","offset","left","top","keyboardActions","key","metaKey","current","movementValue","shouldSuppressKeyboardEvent","EVENT_IGNORED_ROLES","some","role","target","closest","handleKeyboardEvent","shouldPaste","arrowKeyCodes","includes","useEventListener"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useKeyboardActions.js","sources":["../../../src/utils/useKeyboardActions.js"],"sourcesContent":["/* eslint-disable complexity */\nimport { useRef, useState } from 'react';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { usePropStore } from '../contexts/PropContext';\nimport { findItemById, getDimensions, getMostVisiblePage } from './functions';\nimport { useEventListener, useSelectedElements } from './hooks';\nimport { EVENT_IGNORED_FIELDS, EVENT_IGNORED_ROLES } from '../constants/eventIgnoredRoles';\nimport generateId from './generateId';\n\nconst useKeyboardActions = () => {\n const [itemToPaste, setItemToPaste] = useState(null);\n const keyDownCount = useRef(null);\n\n const activeElements = useBuilderStore(state => state.activeElements);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const setActiveElements = useBuilderStore(state => state.setActiveElements);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n\n const pages = usePropStore(state => state.pages);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const isMultipleItemSelected = activeElements.length > 1;\n\n const foundItem = findItemById(activeElements.length ? activeElements[0] : null, pages);\n\n const selectedItems = useSelectedElements();\n const moveItemWithKeyboard = (event, direction, value) => {\n event.preventDefault();\n selectedItems.forEach(item => {\n if (item.isLocked) {\n return false;\n }\n onItemChange(\n { id: item.id },\n {\n ...getDimensions(item),\n [direction]: item[direction] + value,\n pageID: item.pageID,\n },\n );\n });\n };\n\n const selectNextOrPrevElement = (event, deletedItem) => {\n if (event.preventDefault) event.preventDefault();\n const referenceItem = deletedItem ? deletedItem : foundItem;\n\n const page = pages.find(_page => _page.id === referenceItem.pageID);\n if (!page || (page && !page.items.length)) return resetActiveElements();\n const { items } = page;\n\n const currentIndex = items.findIndex(item => item.id === referenceItem.id);\n\n // Pages are not updated in time so here is an unnecessary check\n if (items.length === 1 && deletedItem) {\n return resetActiveElements();\n }\n\n if (event.shiftKey) {\n if (items[currentIndex - 1]) setActiveElements(items[currentIndex - 1].id);\n else setActiveElements(items[items.length - 1].id);\n } else if (items[currentIndex + 1]) {\n setActiveElements(items[currentIndex + 1].id);\n } else setActiveElements(items[0].id);\n };\n\n const onItemRemoveFromPage = e => {\n // Firefox updates browser history on backspace\n e.preventDefault();\n if (isRightPanelOpen) return;\n if (isMultipleItemSelected) return;\n if (foundItem.isLocked) {\n return false;\n }\n resetActiveElements();\n onItemRemove(foundItem);\n selectNextOrPrevElement({ shiftKey: false }, foundItem);\n onAnEventTrigger('removeItem', foundItem.itemType);\n };\n\n const handlePaste = () => {\n if (isMultipleItemSelected) return;\n const itemID = generateId();\n const pageID = getMostVisiblePage(true);\n const offset = itemToPaste.pageID === pageID ? 50 : 0;\n\n const item = {\n ...itemToPaste,\n id: itemID,\n left: itemToPaste.left + offset,\n pageID,\n top: itemToPaste.top + offset,\n };\n\n onItemAdd(item);\n\n onAnEventTrigger('pasteItem', itemToPaste.itemType);\n setActiveElements(itemID);\n // set as last reference to paste\n setItemToPaste(item);\n };\n\n const keyboardActions = event => {\n const {\n key,\n metaKey,\n shiftKey,\n } = event;\n\n if (metaKey) {\n if (key === 'l') {\n // Lock\n if (isMultipleItemSelected) return;\n event.preventDefault(); // Dont focus to URL bar\n onAnEventTrigger(\n foundItem.isLocked ? 'unlockReportItem' : 'lockReportItem',\n foundItem.itemType,\n );\n onItemChange(\n { id: foundItem.id },\n { isLocked: foundItem.isLocked ? false : true },\n );\n return;\n }\n\n if (key === 'c' || key === 'x') {\n if (isMultipleItemSelected) return;\n // Copy or Cut\n if (key === 'x') {\n onItemRemoveFromPage(event);\n onAnEventTrigger('cutItem', foundItem.itemType);\n } else {\n onAnEventTrigger('copyItem', foundItem.itemType);\n }\n\n setItemToPaste(foundItem);\n return;\n }\n\n if (foundItem && key === 'd') {\n if (isMultipleItemSelected) return;\n // Duplicate\n event.preventDefault();\n const itemID = generateId();\n onItemAdd({\n ...foundItem,\n id: itemID,\n left: foundItem.left + 50,\n top: foundItem.top + 50,\n });\n onAnEventTrigger('duplicateItem', foundItem.itemType);\n setActiveElements(itemID);\n if (!isRightPanelOpen) {\n setIsRightPanelOpen(true);\n }\n return;\n }\n }\n\n keyDownCount.current++;\n const movementValue = shiftKey ? 10 : 1 + keyDownCount.current;\n\n // Others\n switch (key) {\n case 'Backspace': return onItemRemoveFromPage(event);\n case 'Delete': return onItemRemoveFromPage(event);\n case 'Escape': return resetActiveElements();\n case 'ArrowLeft': return moveItemWithKeyboard(event, 'left', -movementValue);\n case 'ArrowUp': return moveItemWithKeyboard(event, 'top', -movementValue);\n case 'ArrowRight': return moveItemWithKeyboard(event, 'left', movementValue);\n case 'ArrowDown': return moveItemWithKeyboard(event, 'top', movementValue);\n case 'Tab': return selectNextOrPrevElement(event);\n default:\n }\n };\n\n const shouldSuppressKeyboardEvent = e => (\n EVENT_IGNORED_ROLES.some(role => e.target.closest(`[role=${role}]`))\n || EVENT_IGNORED_FIELDS.some(field => e.target.closest(field))\n );\n\n const handleKeyboardEvent = e => {\n const shouldPaste = itemToPaste && e.key === 'v' && e.metaKey;\n\n if (shouldSuppressKeyboardEvent(e)) {\n return;\n }\n\n if (activeElements.length && !shouldPaste) {\n const arrowKeyCodes = ['ArrowLeft', 'ArrowUp', 'ArrowDown', 'ArrowBottom'];\n if (arrowKeyCodes.includes(e.key)) e.preventDefault();\n keyboardActions(e);\n } else if (shouldPaste) {\n handlePaste();\n }\n };\n\n useEventListener('keydown', handleKeyboardEvent);\n useEventListener('keyup', () => { keyDownCount.current = 0; });\n};\n\nexport default useKeyboardActions;\n"],"names":["useKeyboardActions","useState","itemToPaste","setItemToPaste","keyDownCount","useRef","activeElements","useBuilderStore","state","isRightPanelOpen","setActiveElements","setIsRightPanelOpen","resetActiveElements","pages","usePropStore","onItemAdd","onItemRemove","onItemChange","onAnEventTrigger","isMultipleItemSelected","length","foundItem","findItemById","selectedItems","useSelectedElements","moveItemWithKeyboard","event","direction","value","preventDefault","forEach","item","isLocked","id","getDimensions","pageID","selectNextOrPrevElement","deletedItem","referenceItem","page","find","_page","items","currentIndex","findIndex","shiftKey","onItemRemoveFromPage","e","itemType","handlePaste","itemID","generateId","getMostVisiblePage","offset","left","top","keyboardActions","key","metaKey","current","movementValue","shouldSuppressKeyboardEvent","EVENT_IGNORED_ROLES","some","role","target","closest","EVENT_IGNORED_FIELDS","field","handleKeyboardEvent","shouldPaste","arrowKeyCodes","includes","useEventListener"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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 SvgAngleDown(props) {
|
|
8
|
+
return /*#__PURE__*/createElement("svg", _extends({
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
fill: "currentColor",
|
|
11
|
+
viewBox: "0 0 24 24"
|
|
12
|
+
}, props), _path || (_path = /*#__PURE__*/createElement("path", {
|
|
13
|
+
fillRule: "evenodd",
|
|
14
|
+
d: "M7.293 10.293a1 1 0 011.414 0L12 13.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z",
|
|
15
|
+
clipRule: "evenodd"
|
|
16
|
+
})));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default SvgAngleDown;
|
|
20
|
+
//# sourceMappingURL=angle_down.svg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"angle_down.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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 SvgAngleLeft(props) {
|
|
8
|
+
return /*#__PURE__*/createElement("svg", _extends({
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
fill: "currentColor",
|
|
11
|
+
viewBox: "0 0 24 24"
|
|
12
|
+
}, props), _path || (_path = /*#__PURE__*/createElement("path", {
|
|
13
|
+
fillRule: "evenodd",
|
|
14
|
+
d: "M13.707 7.293a1 1 0 010 1.414L10.414 12l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",
|
|
15
|
+
clipRule: "evenodd"
|
|
16
|
+
})));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default SvgAngleLeft;
|
|
20
|
+
//# sourceMappingURL=angle_left.svg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"angle_left.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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 SvgAngleRight(props) {
|
|
8
|
+
return /*#__PURE__*/createElement("svg", _extends({
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
fill: "currentColor",
|
|
11
|
+
viewBox: "0 0 24 24"
|
|
12
|
+
}, props), _path || (_path = /*#__PURE__*/createElement("path", {
|
|
13
|
+
fillRule: "evenodd",
|
|
14
|
+
d: "M10.293 7.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L13.586 12l-3.293-3.293a1 1 0 010-1.414z",
|
|
15
|
+
clipRule: "evenodd"
|
|
16
|
+
})));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default SvgAngleRight;
|
|
20
|
+
//# sourceMappingURL=angle_right.svg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"angle_right.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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 SvgAngleUp(props) {
|
|
8
|
+
return /*#__PURE__*/createElement("svg", _extends({
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
fill: "currentColor",
|
|
11
|
+
viewBox: "0 0 24 24"
|
|
12
|
+
}, props), _path || (_path = /*#__PURE__*/createElement("path", {
|
|
13
|
+
fillRule: "evenodd",
|
|
14
|
+
d: "M11.293 8.293a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L12 10.414l-3.293 3.293a1 1 0 01-1.414-1.414l4-4z",
|
|
15
|
+
clipRule: "evenodd"
|
|
16
|
+
})));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default SvgAngleUp;
|
|
20
|
+
//# sourceMappingURL=angle_up.svg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"angle_up.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,29 +1,20 @@
|
|
|
1
1
|
import { createElement } from 'react';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _path;
|
|
4
4
|
|
|
5
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
6
|
|
|
7
7
|
function SvgMoveToBack(props) {
|
|
8
8
|
return /*#__PURE__*/createElement("svg", _extends({
|
|
9
|
-
|
|
10
|
-
viewBox: "0 0 15 14"
|
|
11
|
-
}, props), _g || (_g = /*#__PURE__*/createElement("g", {
|
|
9
|
+
viewBox: "0 0 16 16",
|
|
12
10
|
fill: "none",
|
|
13
|
-
|
|
14
|
-
}, /*#__PURE__*/createElement("path", {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
fill: "#
|
|
19
|
-
|
|
20
|
-
}), /*#__PURE__*/createElement("path", {
|
|
21
|
-
fill: "#7A9FFF",
|
|
22
|
-
d: "M.5 9h5a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5h-5a.5.5 0 00-.5.5v3a.5.5 0 00.5.5zm9 0h5a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5h-5a.5.5 0 00-.5.5v3a.5.5 0 00.5.5z"
|
|
23
|
-
}), /*#__PURE__*/createElement("path", {
|
|
24
|
-
fill: "#4277FF",
|
|
25
|
-
d: "M7.855 13.148l2.743-2.72a.25.25 0 00-.176-.428H8L8 2H7v8H4.63a.25.25 0 00-.178.426l2.696 2.719a.5.5 0 00.707.003z"
|
|
26
|
-
}))));
|
|
11
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
12
|
+
}, props), _path || (_path = /*#__PURE__*/createElement("path", {
|
|
13
|
+
fillRule: "evenodd",
|
|
14
|
+
clipRule: "evenodd",
|
|
15
|
+
d: "M14.471 12.472A.667.667 0 0014 11.334h-1.333V2a.667.667 0 10-1.334 0v9.334H10a.667.667 0 00-.471 1.138l2 2c.26.26.682.26.942 0l2-2zM7.333 3.333v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zM6 3.333a.667.667 0 00-.667-.666h-2a.667.667 0 00-.666.667v2c0 .368.298.666.666.666h2A.667.667 0 006 5.333v-2zm1.333 7.334a2 2 0 00-2-2h-2a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2v-2z",
|
|
16
|
+
fill: "#fff"
|
|
17
|
+
})));
|
|
27
18
|
}
|
|
28
19
|
|
|
29
20
|
export default SvgMoveToBack;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moveToBack.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"moveToBack.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,29 +1,23 @@
|
|
|
1
1
|
import { createElement } from 'react';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _path, _path2;
|
|
4
4
|
|
|
5
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
6
|
|
|
7
7
|
function SvgMoveToBackward(props) {
|
|
8
8
|
return /*#__PURE__*/createElement("svg", _extends({
|
|
9
|
-
|
|
10
|
-
viewBox: "0 0 15 14"
|
|
11
|
-
}, props), _g || (_g = /*#__PURE__*/createElement("g", {
|
|
9
|
+
viewBox: "0 0 16 16",
|
|
12
10
|
fill: "none",
|
|
13
|
-
|
|
14
|
-
}, /*#__PURE__*/createElement("path", {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
fill: "#
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
fill: "#
|
|
22
|
-
|
|
23
|
-
}), /*#__PURE__*/createElement("path", {
|
|
24
|
-
fill: "#4277FF",
|
|
25
|
-
d: "M7.855 8.148l2.743-2.72A.25.25 0 0010.422 5H8L8 2H7v3H4.63a.25.25 0 00-.178.426l2.696 2.719a.5.5 0 00.707.003z"
|
|
26
|
-
}))));
|
|
11
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
12
|
+
}, props), _path || (_path = /*#__PURE__*/createElement("path", {
|
|
13
|
+
fillRule: "evenodd",
|
|
14
|
+
clipRule: "evenodd",
|
|
15
|
+
d: "M14.471 3.529A.667.667 0 0114 4.667h-1.333V14a.667.667 0 01-1.334 0V4.667H10a.667.667 0 01-.471-1.138l2-2c.26-.26.682-.26.942 0l2 2z",
|
|
16
|
+
fill: "#fff"
|
|
17
|
+
})), _path2 || (_path2 = /*#__PURE__*/createElement("path", {
|
|
18
|
+
d: "M6.5 2.663c0-.736-.597-1.333-1.334-1.333H3.833c-.736 0-1.333.597-1.333 1.333v1.334c0 .736.597 1.333 1.333 1.333h1.333c.737 0 1.334-.597 1.334-1.333V2.663zM5.166 5.997c.736 0 1.334.597 1.334 1.334v1.333c0 .736-.598 1.333-1.334 1.333H3.833A1.333 1.333 0 012.5 8.664V7.33c0-.737.597-1.334 1.333-1.334h1.333zm-1.333.888c-.245 0-.444.2-.444.445v1.334c0 .245.199.444.444.444h1.333c.245 0 .445-.2.445-.444V7.33c0-.246-.2-.445-.445-.445H3.833zM5.166 10.663c.736 0 1.334.597 1.334 1.333v1.334c0 .736-.598 1.333-1.334 1.333H3.833A1.333 1.333 0 012.5 13.33v-1.334c0-.736.597-1.333 1.333-1.333h1.333zm-1.333.89a.445.445 0 00-.444.444v1.333c0 .245.199.444.444.444h1.333a.445.445 0 00.445-.444v-1.333c0-.245-.2-.444-.445-.444H3.833z",
|
|
19
|
+
fill: "#fff"
|
|
20
|
+
})));
|
|
27
21
|
}
|
|
28
22
|
|
|
29
23
|
export default SvgMoveToBackward;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moveToBackward.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"moveToBackward.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
|