@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.
Files changed (109) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/index.d.ts +2 -0
  3. package/lib/cjs/assets/svg/angle_down.svg.js +22 -0
  4. package/lib/cjs/assets/svg/angle_down.svg.js.map +1 -0
  5. package/lib/cjs/assets/svg/angle_left.svg.js +22 -0
  6. package/lib/cjs/assets/svg/angle_left.svg.js.map +1 -0
  7. package/lib/cjs/assets/svg/angle_right.svg.js +22 -0
  8. package/lib/cjs/assets/svg/angle_right.svg.js.map +1 -0
  9. package/lib/cjs/assets/svg/angle_up.svg.js +22 -0
  10. package/lib/cjs/assets/svg/angle_up.svg.js.map +1 -0
  11. package/lib/cjs/assets/svg/contextmenu/moveToBack.svg.js +9 -18
  12. package/lib/cjs/assets/svg/contextmenu/moveToBack.svg.js.map +1 -1
  13. package/lib/cjs/assets/svg/contextmenu/moveToBackward.svg.js +12 -18
  14. package/lib/cjs/assets/svg/contextmenu/moveToBackward.svg.js.map +1 -1
  15. package/lib/cjs/assets/svg/contextmenu/moveToForward.svg.js +12 -18
  16. package/lib/cjs/assets/svg/contextmenu/moveToForward.svg.js.map +1 -1
  17. package/lib/cjs/assets/svg/contextmenu/moveToFront.svg.js +9 -18
  18. package/lib/cjs/assets/svg/contextmenu/moveToFront.svg.js.map +1 -1
  19. package/lib/cjs/components/Builder/Builder.js +3 -0
  20. package/lib/cjs/components/Builder/Builder.js.map +1 -1
  21. package/lib/cjs/components/Builder/ContextMenu.js +1 -1
  22. package/lib/cjs/components/Builder/ContextMenu.js.map +1 -1
  23. package/lib/cjs/components/Builder/PageActions.js +19 -19
  24. package/lib/cjs/components/Builder/PageActions.js.map +1 -1
  25. package/lib/cjs/components/Builder/ZoomControls.js +8 -8
  26. package/lib/cjs/components/Builder/ZoomControls.js.map +1 -1
  27. package/lib/cjs/components/DraggableItem/DraggableItemActions.js +12 -12
  28. package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
  29. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +1 -1
  30. package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  31. package/lib/cjs/components/PageItemResizer.js +1 -1
  32. package/lib/cjs/components/PageItemResizer.js.map +1 -1
  33. package/lib/cjs/components/Panels/RightPanel/RightPanel.js +10 -3
  34. package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
  35. package/lib/cjs/components/TextEditor/QuillEditor.js +8 -10
  36. package/lib/cjs/components/TextEditor/QuillEditor.js.map +1 -1
  37. package/lib/cjs/components/TextEditor/TextEditor.js +2 -10
  38. package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
  39. package/lib/cjs/components/withClickOutside.js +7 -1
  40. package/lib/cjs/components/withClickOutside.js.map +1 -1
  41. package/lib/cjs/constants/eventIgnoredRoles.js +2 -0
  42. package/lib/cjs/constants/eventIgnoredRoles.js.map +1 -1
  43. package/lib/cjs/contexts/BuilderContext.js +1 -0
  44. package/lib/cjs/contexts/BuilderContext.js.map +1 -1
  45. package/lib/cjs/contexts/Providers.js +6 -1
  46. package/lib/cjs/contexts/Providers.js.map +1 -1
  47. package/lib/cjs/styles/_jfReportsFloatings.scss +109 -2
  48. package/lib/cjs/styles/_jfReportsPages.scss +21 -28
  49. package/lib/cjs/styles/_jfReportsReportItem.scss +79 -53
  50. package/lib/cjs/styles/_jfReportsTextEditor.scss +2 -2
  51. package/lib/cjs/styles/_jfReportsViewModes.scss +4 -4
  52. package/lib/cjs/utils/icons.js +8 -0
  53. package/lib/cjs/utils/icons.js.map +1 -1
  54. package/lib/cjs/utils/useKeyboardActions.js +3 -0
  55. package/lib/cjs/utils/useKeyboardActions.js.map +1 -1
  56. package/lib/esm/assets/svg/angle_down.svg.js +20 -0
  57. package/lib/esm/assets/svg/angle_down.svg.js.map +1 -0
  58. package/lib/esm/assets/svg/angle_left.svg.js +20 -0
  59. package/lib/esm/assets/svg/angle_left.svg.js.map +1 -0
  60. package/lib/esm/assets/svg/angle_right.svg.js +20 -0
  61. package/lib/esm/assets/svg/angle_right.svg.js.map +1 -0
  62. package/lib/esm/assets/svg/angle_up.svg.js +20 -0
  63. package/lib/esm/assets/svg/angle_up.svg.js.map +1 -0
  64. package/lib/esm/assets/svg/contextmenu/moveToBack.svg.js +9 -18
  65. package/lib/esm/assets/svg/contextmenu/moveToBack.svg.js.map +1 -1
  66. package/lib/esm/assets/svg/contextmenu/moveToBackward.svg.js +12 -18
  67. package/lib/esm/assets/svg/contextmenu/moveToBackward.svg.js.map +1 -1
  68. package/lib/esm/assets/svg/contextmenu/moveToForward.svg.js +12 -18
  69. package/lib/esm/assets/svg/contextmenu/moveToForward.svg.js.map +1 -1
  70. package/lib/esm/assets/svg/contextmenu/moveToFront.svg.js +9 -18
  71. package/lib/esm/assets/svg/contextmenu/moveToFront.svg.js.map +1 -1
  72. package/lib/esm/components/Builder/Builder.js +3 -0
  73. package/lib/esm/components/Builder/Builder.js.map +1 -1
  74. package/lib/esm/components/Builder/ContextMenu.js +1 -1
  75. package/lib/esm/components/Builder/ContextMenu.js.map +1 -1
  76. package/lib/esm/components/Builder/PageActions.js +19 -19
  77. package/lib/esm/components/Builder/PageActions.js.map +1 -1
  78. package/lib/esm/components/Builder/ZoomControls.js +8 -8
  79. package/lib/esm/components/Builder/ZoomControls.js.map +1 -1
  80. package/lib/esm/components/DraggableItem/DraggableItemActions.js +12 -12
  81. package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
  82. package/lib/esm/components/DraggableItem/DraggableItemLayer.js +1 -1
  83. package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
  84. package/lib/esm/components/PageItemResizer.js +1 -1
  85. package/lib/esm/components/PageItemResizer.js.map +1 -1
  86. package/lib/esm/components/Panels/RightPanel/RightPanel.js +10 -3
  87. package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
  88. package/lib/esm/components/TextEditor/QuillEditor.js +8 -10
  89. package/lib/esm/components/TextEditor/QuillEditor.js.map +1 -1
  90. package/lib/esm/components/TextEditor/TextEditor.js +3 -11
  91. package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
  92. package/lib/esm/components/withClickOutside.js +7 -1
  93. package/lib/esm/components/withClickOutside.js.map +1 -1
  94. package/lib/esm/constants/eventIgnoredRoles.js +2 -1
  95. package/lib/esm/constants/eventIgnoredRoles.js.map +1 -1
  96. package/lib/esm/contexts/BuilderContext.js +1 -0
  97. package/lib/esm/contexts/BuilderContext.js.map +1 -1
  98. package/lib/esm/contexts/Providers.js +6 -1
  99. package/lib/esm/contexts/Providers.js.map +1 -1
  100. package/lib/esm/styles/_jfReportsFloatings.scss +109 -2
  101. package/lib/esm/styles/_jfReportsPages.scss +21 -28
  102. package/lib/esm/styles/_jfReportsReportItem.scss +79 -53
  103. package/lib/esm/styles/_jfReportsTextEditor.scss +2 -2
  104. package/lib/esm/styles/_jfReportsViewModes.scss +4 -4
  105. package/lib/esm/utils/icons.js +4 -0
  106. package/lib/esm/utils/icons.js.map +1 -1
  107. package/lib/esm/utils/useKeyboardActions.js +4 -1
  108. package/lib/esm/utils/useKeyboardActions.js.map +1 -1
  109. package/package.json +1 -1
@@ -74,17 +74,16 @@
74
74
  content: "";
75
75
  position: absolute;
76
76
  display: block;
77
- background-color: #ddefff;
78
- border: 1px solid $blue;
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
- left: 2px;
84
- top: 2px;
85
- right: 2px;
86
- bottom: 2px;
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: 1px;
95
+ top: -0.5px;
97
96
  bottom: 1px;
98
- left: calc(50% - 10px);
99
- width: 18px;
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% - 10px);
106
- left: 1px;
107
- right: 1px;
108
- height: 18px;
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: #B4DCFF;
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: 1px solid $blue;
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: 1px solid $blue;
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
- .reportItemMenu {
219
+ .report-item-toolbar {
220
220
  position: absolute;
221
- top: 0;
221
+ top: 50%;
222
+ transform: translateY(-50%);
222
223
  right: -24px;
223
- background-color: $blue;
224
- border-radius: 4px;
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
- display: inline-block;
231
- padding: 6px 5px;
232
- background-color: transparent;
233
-
234
- svg {
235
- width: 14px;
236
- height: 14px;
237
- backface-visibility: hidden;
238
- transition: .3s ease-in-out;
239
- transform: translateZ(0);
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
- &:not(.forLocked) {
244
- padding: 0 4px;
245
- .reportItemMenu-item {
246
- display: inline-flex;
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
- + .reportItemMenu-item {
256
- margin-top: 4px;
257
- }
268
+ &:hover.primary {
269
+ background-color: #EDF8FF;
258
270
 
259
- &:first-child {
260
- margin-top: 4px;
271
+ .toolbar-icon {
272
+ color: #0075E3;
273
+ fill: #0075E3;
261
274
  }
275
+ }
276
+
277
+ &:hover.error {
278
+ background-color: #FEF2F2;
262
279
 
263
- &:last-child {
264
- margin-bottom: 4px;
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: rgba(255, 255, 255, 0.2);
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: -35px;
306
+ right: -38px;
281
307
  opacity: 1;
282
308
  }
283
309
  }
@@ -291,7 +291,7 @@
291
291
  }
292
292
  }
293
293
 
294
- .reportItemMenu + .ql-toolbar.ql-snow {
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
- .reportItemMenu + .ql-toolbar.ql-snow .ql-button:hover {
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
- .reportItemMenu-item:hover .isWhite {
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: 1px solid transparent;
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: 2px;
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: $blue;
73
+ outline-color: #0099FF;
74
74
  }
75
75
  }
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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 _g;
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
- xmlns: "http://www.w3.org/2000/svg",
10
- viewBox: "0 0 15 14"
11
- }, props), _g || (_g = /*#__PURE__*/createElement("g", {
9
+ viewBox: "0 0 16 16",
12
10
  fill: "none",
13
- fillRule: "evenodd"
14
- }, /*#__PURE__*/createElement("path", {
15
- fill: "#B3C9FF",
16
- d: "M5.356 14a.5.5 0 00.354-.854l-3-3A.5.5 0 002.356 10H.5a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h4.856zm9.144 0a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5h-1.865a.5.5 0 00-.353.146l-3 3a.5.5 0 00.353.854z"
17
- }), /*#__PURE__*/createElement("path", {
18
- fill: "#4277FF",
19
- d: "M.5 4h14a.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"
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 _g;
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
- xmlns: "http://www.w3.org/2000/svg",
10
- viewBox: "0 0 15 14"
11
- }, props), _g || (_g = /*#__PURE__*/createElement("g", {
9
+ viewBox: "0 0 16 16",
12
10
  fill: "none",
13
- fillRule: "evenodd"
14
- }, /*#__PURE__*/createElement("path", {
15
- fill: "#B3C9FF",
16
- d: "M5.356 9a.5.5 0 00.354-.854l-3-3A.5.5 0 002.356 5H.5a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h4.856zM14.5 9a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5h-1.865a.5.5 0 00-.353.146l-3 3A.5.5 0 009.635 9z"
17
- }), /*#__PURE__*/createElement("path", {
18
- fill: "#4277FF",
19
- d: "M.5 4h14a.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"
20
- }), /*#__PURE__*/createElement("path", {
21
- fill: "#7A9FFF",
22
- d: "M.5 14h14a.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 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":";;;;;;;;;;;;;;;;;;;;;;;;"}